From 05ed0fb059a261c43ff20d6b513f0813db86f7e4 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 29 Sep 2022 11:27:51 -0700 Subject: [PATCH] Release v1.44.108 (2022-09-29) (#4573) Release v1.44.108 (2022-09-29) === ### Service Client Updates * `service/acm`: Updates service API and documentation * This update returns additional certificate details such as certificate SANs and allows sorting in the ListCertificates API. * `service/ec2`: Updates service API * u-3tb1 instances are powered by Intel Xeon Platinum 8176M (Skylake) processors and are purpose-built to run large in-memory databases. * `service/emr-serverless`: Updates service API and documentation * `service/fsx`: Updates service API, documentation, and paginators * `service/migrationhuborchestrator`: Adds new service * `service/polly`: Updates service API * Added support for the new Cantonese voice - Hiujin. Hiujin is available as a Neural voice only. * `service/proton`: Updates service API and documentation * `service/sagemaker`: Updates service API and documentation * SageMaker Training Managed Warm Pools let you retain provisioned infrastructure to reduce latency for repetitive training workloads. * `service/secretsmanager`: Updates service documentation * Documentation updates for Secrets Manager * `service/translate`: Updates service API and documentation * `service/workspaces`: Updates service API and documentation * This release includes diagnostic log uploading feature. If it is enabled, the log files of WorkSpaces Windows client will be sent to Amazon WorkSpaces automatically for troubleshooting. You can use modifyClientProperty api to enable/disable this feature. --- CHANGELOG.md | 22 + aws/endpoints/defaults.go | 32 + aws/version.go | 2 +- models/apis/acm/2015-12-08/api-2.json | 51 +- models/apis/acm/2015-12-08/docs-2.json | 81 +- models/apis/ec2/2016-11-15/api-2.json | 3 +- .../apis/emr-serverless/2021-07-13/api-2.json | 52 +- .../emr-serverless/2021-07-13/docs-2.json | 19 + models/apis/fsx/2018-03-01/api-2.json | 393 +- models/apis/fsx/2018-03-01/docs-2.json | 335 +- models/apis/fsx/2018-03-01/paginators-1.json | 5 + .../2021-08-28/api-2.json | 1946 ++++ .../2021-08-28/docs-2.json | 1124 ++ .../2021-08-28/examples-1.json | 5 + .../2021-08-28/paginators-1.json | 46 + .../2021-08-28/smoke.json | 6 + .../2021-08-28/waiters-2.json | 5 + models/apis/polly/2016-06-10/api-2.json | 6 +- models/apis/proton/2020-07-20/api-2.json | 5 + models/apis/proton/2020-07-20/docs-2.json | 204 +- models/apis/sagemaker/2017-07-24/api-2.json | 49 +- models/apis/sagemaker/2017-07-24/docs-2.json | 38 +- .../secretsmanager/2017-10-17/docs-2.json | 44 +- models/apis/translate/2017-07-01/api-2.json | 147 +- models/apis/translate/2017-07-01/docs-2.json | 82 + models/apis/workspaces/2015-04-08/api-2.json | 10 +- models/apis/workspaces/2015-04-08/docs-2.json | 8 +- models/endpoints/endpoints.json | 16 + service/acm/api.go | 319 +- service/acm/doc.go | 7 +- service/ec2/api.go | 4 + service/emrserverless/api.go | 182 + .../emrserverlessiface/interface.go | 4 + service/fsx/api.go | 9348 +++++++++++------ service/fsx/errors.go | 14 + service/fsx/fsxiface/interface.go | 19 + service/migrationhuborchestrator/api.go | 8943 ++++++++++++++++ service/migrationhuborchestrator/doc.go | 32 + service/migrationhuborchestrator/errors.go | 48 + .../interface.go | 197 + service/migrationhuborchestrator/service.go | 106 + service/polly/api.go | 8 + service/proton/api.go | 461 +- service/proton/doc.go | 6 +- service/proton/errors.go | 4 +- service/sagemaker/api.go | 195 +- service/secretsmanager/api.go | 124 +- service/translate/api.go | 691 ++ service/translate/errors.go | 5 + service/translate/translateiface/interface.go | 12 + service/workspaces/api.go | 30 +- 51 files changed, 21529 insertions(+), 3966 deletions(-) create mode 100644 models/apis/migrationhuborchestrator/2021-08-28/api-2.json create mode 100644 models/apis/migrationhuborchestrator/2021-08-28/docs-2.json create mode 100644 models/apis/migrationhuborchestrator/2021-08-28/examples-1.json create mode 100644 models/apis/migrationhuborchestrator/2021-08-28/paginators-1.json create mode 100644 models/apis/migrationhuborchestrator/2021-08-28/smoke.json create mode 100644 models/apis/migrationhuborchestrator/2021-08-28/waiters-2.json create mode 100644 service/migrationhuborchestrator/api.go create mode 100644 service/migrationhuborchestrator/doc.go create mode 100644 service/migrationhuborchestrator/errors.go create mode 100644 service/migrationhuborchestrator/migrationhuborchestratoriface/interface.go create mode 100644 service/migrationhuborchestrator/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index f42d7b2b75..08fd649b14 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +Release v1.44.108 (2022-09-29) +=== + +### Service Client Updates +* `service/acm`: Updates service API and documentation + * This update returns additional certificate details such as certificate SANs and allows sorting in the ListCertificates API. +* `service/ec2`: Updates service API + * u-3tb1 instances are powered by Intel Xeon Platinum 8176M (Skylake) processors and are purpose-built to run large in-memory databases. +* `service/emr-serverless`: Updates service API and documentation +* `service/fsx`: Updates service API, documentation, and paginators +* `service/migrationhuborchestrator`: Adds new service +* `service/polly`: Updates service API + * Added support for the new Cantonese voice - Hiujin. Hiujin is available as a Neural voice only. +* `service/proton`: Updates service API and documentation +* `service/sagemaker`: Updates service API and documentation + * SageMaker Training Managed Warm Pools let you retain provisioned infrastructure to reduce latency for repetitive training workloads. +* `service/secretsmanager`: Updates service documentation + * Documentation updates for Secrets Manager +* `service/translate`: Updates service API and documentation +* `service/workspaces`: Updates service API and documentation + * This release includes diagnostic log uploading feature. If it is enabled, the log files of WorkSpaces Windows client will be sent to Amazon WorkSpaces automatically for troubleshooting. You can use modifyClientProperty api to enable/disable this feature. + Release v1.44.107 (2022-09-27) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index c2d2462dc3..cddbe1bb00 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -15675,6 +15675,31 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "migrationhub-orchestrator": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "migrationhub-strategy": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -33827,6 +33852,13 @@ var awsisobPartition = partition{ }: endpoint{}, }, }, + "resource-groups": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-isob-east-1", + }: endpoint{}, + }, + }, "route53": service{ PartitionEndpoint: "aws-iso-b-global", IsRegionalized: boxedFalse, diff --git a/aws/version.go b/aws/version.go index d85f3e8987..5b66e4f423 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.107" +const SDKVersion = "1.44.108" diff --git a/models/apis/acm/2015-12-08/api-2.json b/models/apis/acm/2015-12-08/api-2.json index 2602c2ac34..55d62fb732 100644 --- a/models/apis/acm/2015-12-08/api-2.json +++ b/models/apis/acm/2015-12-08/api-2.json @@ -334,7 +334,32 @@ "type":"structure", "members":{ "CertificateArn":{"shape":"Arn"}, - "DomainName":{"shape":"DomainNameString"} + "DomainName":{"shape":"DomainNameString"}, + "SubjectAlternativeNameSummaries":{"shape":"DomainList"}, + "HasAdditionalSubjectAlternativeNames":{ + "shape":"NullableBoolean", + "box":true + }, + "Status":{"shape":"CertificateStatus"}, + "Type":{"shape":"CertificateType"}, + "KeyAlgorithm":{"shape":"KeyAlgorithm"}, + "KeyUsages":{"shape":"KeyUsageNames"}, + "ExtendedKeyUsages":{"shape":"ExtendedKeyUsageNames"}, + "InUse":{ + "shape":"NullableBoolean", + "box":true + }, + "Exported":{ + "shape":"NullableBoolean", + "box":true + }, + "RenewalEligibility":{"shape":"RenewalEligibility"}, + "NotBefore":{"shape":"TStamp"}, + "NotAfter":{"shape":"TStamp"}, + "CreatedAt":{"shape":"TStamp"}, + "IssuedAt":{"shape":"TStamp"}, + "ImportedAt":{"shape":"TStamp"}, + "RevokedAt":{"shape":"TStamp"} } }, "CertificateSummaryList":{ @@ -495,6 +520,10 @@ "CUSTOM" ] }, + "ExtendedKeyUsageNames":{ + "type":"list", + "member":{"shape":"ExtendedKeyUsageName"} + }, "FailureReason":{ "type":"string", "enum":[ @@ -663,6 +692,10 @@ "CUSTOM" ] }, + "KeyUsageNames":{ + "type":"list", + "member":{"shape":"KeyUsageName"} + }, "LimitExceededException":{ "type":"structure", "members":{ @@ -676,7 +709,9 @@ "CertificateStatuses":{"shape":"CertificateStatuses"}, "Includes":{"shape":"Filters"}, "NextToken":{"shape":"NextToken"}, - "MaxItems":{"shape":"MaxItems"} + "MaxItems":{"shape":"MaxItems"}, + "SortBy":{"shape":"SortBy"}, + "SortOrder":{"shape":"SortOrder"} } }, "ListCertificatesResponse":{ @@ -710,6 +745,7 @@ "min":1, "pattern":"[\\u0009\\u000A\\u000D\\u0020-\\u00FF]*" }, + "NullableBoolean":{"type":"boolean"}, "PassphraseBlob":{ "type":"blob", "max":128, @@ -876,6 +912,17 @@ ] }, "ServiceErrorMessage":{"type":"string"}, + "SortBy":{ + "type":"string", + "enum":["CREATED_AT"] + }, + "SortOrder":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, "String":{"type":"string"}, "TStamp":{"type":"timestamp"}, "Tag":{ diff --git a/models/apis/acm/2015-12-08/docs-2.json b/models/apis/acm/2015-12-08/docs-2.json index 1e89a61ea1..e8571b6e4a 100644 --- a/models/apis/acm/2015-12-08/docs-2.json +++ b/models/apis/acm/2015-12-08/docs-2.json @@ -1,20 +1,20 @@ { "version": "2.0", - "service": "Amazon Web Services Certificate Manager

You can use Amazon Web Services Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites and applications. For more information about using ACM, see the Amazon Web Services Certificate Manager User Guide.

", + "service": "Certificate Manager

You can use Certificate Manager (ACM) to manage SSL/TLS certificates for your Amazon Web Services-based websites and applications. For more information about using ACM, see the Certificate Manager User Guide.

", "operations": { "AddTagsToCertificate": "

Adds one or more tags to an ACM certificate. Tags are labels that you can use to identify and organize your Amazon Web Services resources. Each tag consists of a key and an optional value. You specify the certificate on input by its Amazon Resource Name (ARN). You specify the tag by using a key-value pair.

You can apply a tag to just one certificate if you want to identify a specific characteristic of that certificate, or you can apply the same tag to multiple certificates if you want to filter for a common relationship among those certificates. Similarly, you can apply the same tag to multiple resources if you want to specify a relationship among those resources. For example, you can add the same tag to an ACM certificate and an Elastic Load Balancing load balancer to indicate that they are both used by the same website. For more information, see Tagging ACM certificates.

To remove one or more tags, use the RemoveTagsFromCertificate action. To view all of the tags that have been applied to the certificate, use the ListTagsForCertificate action.

", "DeleteCertificate": "

Deletes a certificate and its associated private key. If this action succeeds, the certificate no longer appears in the list that can be displayed by calling the ListCertificates action or be retrieved by calling the GetCertificate action. The certificate will not be available for use by Amazon Web Services services integrated with ACM.

You cannot delete an ACM certificate that is being used by another Amazon Web Services service. To delete a certificate that is in use, the certificate association must first be removed.

", - "DescribeCertificate": "

Returns detailed metadata about the specified ACM certificate.

", + "DescribeCertificate": "

Returns detailed metadata about the specified ACM certificate.

If you have just created a certificate using the RequestCertificate action, there is a delay of several seconds before you can retrieve information about it.

", "ExportCertificate": "

Exports a private certificate issued by a private certificate authority (CA) for use anywhere. The exported file contains the certificate, the certificate chain, and the encrypted private 2048-bit RSA key associated with the public key that is embedded in the certificate. For security, you must assign a passphrase for the private key when exporting it.

For information about exporting and formatting a certificate using the ACM console or CLI, see Export a Private Certificate.

", "GetAccountConfiguration": "

Returns the account configuration options associated with an Amazon Web Services account.

", "GetCertificate": "

Retrieves an Amazon-issued certificate and its certificate chain. The chain consists of the certificate of the issuing CA and the intermediate certificates of any other subordinate CAs. All of the certificates are base64 encoded. You can use OpenSSL to decode the certificates and inspect individual fields.

", - "ImportCertificate": "

Imports a certificate into Amazon Web Services Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the Amazon Web Services Certificate Manager User Guide.

ACM does not provide managed renewal for certificates that you import.

Note the following guidelines when importing third party certificates:

This operation returns the Amazon Resource Name (ARN) of the imported certificate.

", + "ImportCertificate": "

Imports a certificate into Certificate Manager (ACM) to use with services that are integrated with ACM. Note that integrated services allow only certificate types and keys they support to be associated with their resources. Further, their support differs depending on whether the certificate is imported into IAM or into ACM. For more information, see the documentation for each service. For more information about importing certificates into ACM, see Importing Certificates in the Certificate Manager User Guide.

ACM does not provide managed renewal for certificates that you import.

Note the following guidelines when importing third party certificates:

This operation returns the Amazon Resource Name (ARN) of the imported certificate.

", "ListCertificates": "

Retrieves a list of certificate ARNs and domain names. You can request that only certificates that match a specific status be listed. You can also filter by specific attributes of the certificate. Default filtering returns only RSA_2048 certificates. For more information, see Filters.

", "ListTagsForCertificate": "

Lists the tags that have been applied to the ACM certificate. Use the certificate's Amazon Resource Name (ARN) to specify the certificate. To add a tag to an ACM certificate, use the AddTagsToCertificate action. To delete a tag, use the RemoveTagsFromCertificate action.

", "PutAccountConfiguration": "

Adds or modifies account-level configurations in ACM.

The supported configuration option is DaysBeforeExpiry. This option specifies the number of days prior to certificate expiration when ACM starts generating EventBridge events. ACM sends one event per day per certificate until the certificate expires. By default, accounts receive events starting 45 days before certificate expiration.

", "RemoveTagsFromCertificate": "

Remove one or more tags from an ACM certificate. A tag consists of a key-value pair. If you do not specify the value portion of the tag when calling this function, 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 certificate, use the AddTagsToCertificate action. To view all of the tags that have been applied to a specific ACM certificate, use the ListTagsForCertificate action.

", - "RenewCertificate": "

Renews an eligible ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your ACM PCA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

", - "RequestCertificate": "

Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

ACM behavior differs from the https://tools.ietf.org/html/rfc6125#appendix-B.2RFC 6125 specification of the certificate validation process. first checks for a subject alternative name, and, if it finds one, ignores the common name (CN)

", + "RenewCertificate": "

Renews an eligible ACM certificate. At this time, only exported private certificates can be renewed with this operation. In order to renew your ACM Private CA certificates with ACM, you must first grant the ACM service principal permission to do so. For more information, see Testing Managed Renewal in the ACM User Guide.

", + "RequestCertificate": "

Requests an ACM certificate for use with other Amazon Web Services services. To request an ACM certificate, you must specify a fully qualified domain name (FQDN) in the DomainName parameter. You can also specify additional FQDNs in the SubjectAlternativeNames parameter.

If you are requesting a private certificate, domain validation is not required. If you are requesting a public certificate, each domain name that you specify must be validated to verify that you own or control the domain. You can use DNS validation or email validation. We recommend that you use DNS validation. ACM issues public certificates after receiving approval from the domain owner.

ACM behavior differs from the RFC 6125 specification of the certificate validation process. ACM first checks for a Subject Alternative Name, and, if it finds one, ignores the common name (CN).

After successful completion of the RequestCertificate action, there is a delay of several seconds before you can retrieve information about the new certificate.

", "ResendValidationEmail": "

Resends the email that requests domain ownership validation. The domain owner or an authorized representative must approve the ACM certificate before it can be issued. The certificate can be approved by clicking a link in the mail to navigate to the Amazon certificate approval website and then clicking I Approve. However, the validation email can be blocked by spam filters. Therefore, if you do not receive the original mail, you can request that the mail be resent within 72 hours of requesting the ACM certificate. If more than 72 hours have elapsed since your original request or since your last attempt to resend validation mail, you must request a new certificate. For more information about setting up your contact email addresses, see Configure Email for your Domain.

", "UpdateCertificateOptions": "

Updates a certificate. Currently, you can use this function to specify whether to opt in to or out of recording your certificate in a certificate transparency log. For more information, see Opting Out of Certificate Transparency Logging.

" }, @@ -34,7 +34,7 @@ "refs": { "AddTagsToCertificateRequest$CertificateArn": "

String that contains the ARN of the ACM certificate to which the tag is to be applied. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", "CertificateDetail$CertificateArn": "

The Amazon Resource Name (ARN) of the certificate. For more information about ARNs, see Amazon Resource Names (ARNs) in the Amazon Web Services General Reference.

", - "CertificateDetail$CertificateAuthorityArn": "

The Amazon Resource Name (ARN) of the ACM PCA private certificate authority (CA) that issued the certificate. This has the following format:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

", + "CertificateDetail$CertificateAuthorityArn": "

The Amazon Resource Name (ARN) of the private certificate authority (CA) that issued the certificate. This has the following format:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

", "CertificateSummary$CertificateArn": "

Amazon Resource Name (ARN) of the certificate. This is of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", "DeleteCertificateRequest$CertificateArn": "

String that contains the ARN of the ACM certificate to be deleted. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", "DescribeCertificateRequest$CertificateArn": "

The Amazon Resource Name (ARN) of the ACM certificate. The ARN must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", @@ -45,7 +45,7 @@ "ListTagsForCertificateRequest$CertificateArn": "

String that contains the ARN of the ACM certificate for which you want to list the tags. This must have the following form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", "RemoveTagsFromCertificateRequest$CertificateArn": "

String that contains the ARN of the ACM Certificate with one or more tags that you want to remove. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", "RenewCertificateRequest$CertificateArn": "

String that contains the ARN of the ACM certificate to be renewed. This must be of the form:

arn:aws:acm:region:123456789012:certificate/12345678-1234-1234-1234-123456789012

For more information about ARNs, see Amazon Resource Names (ARNs).

", - "RequestCertificateRequest$CertificateAuthorityArn": "

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the Amazon Web Services Certificate Manager Private Certificate Authority (PCA) user guide. The ARN must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

", + "RequestCertificateRequest$CertificateAuthorityArn": "

The Amazon Resource Name (ARN) of the private certificate authority (CA) that will be used to issue the certificate. If you do not provide an ARN and you are trying to request a private certificate, ACM will attempt to issue a public certificate. For more information about private CAs, see the Certificate Manager Private Certificate Authority user guide. The ARN must have the following form:

arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012

", "RequestCertificateResponse$CertificateArn": "

String that contains the ARN of the issued certificate. This must be of the form:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

", "ResendValidationEmailRequest$CertificateArn": "

String that contains the ARN of the requested certificate. The certificate ARN is generated and returned by the RequestCertificate action as soon as the request is made. By default, using this parameter causes email to be sent to all top-level domains you specified in the certificate request. The ARN must be of the form:

arn:aws:acm:us-east-1:123456789012:certificate/12345678-1234-1234-1234-123456789012

", "UpdateCertificateOptionsRequest$CertificateArn": "

ARN of the requested certificate to update. This must be of the form:

arn:aws:acm:us-east-1:account:certificate/12345678-1234-1234-1234-123456789012

" @@ -100,8 +100,9 @@ "CertificateStatus": { "base": null, "refs": { - "CertificateDetail$Status": "

The status of the certificate.

", - "CertificateStatuses$member": null + "CertificateDetail$Status": "

The status of the certificate.

A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic Certificate request fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try again. If validation succeeds, the certificate enters status ISSUED.

", + "CertificateStatuses$member": null, + "CertificateSummary$Status": "

The status of the certificate.

A certificate enters status PENDING_VALIDATION upon being requested, unless it fails for any of the reasons given in the troubleshooting topic Certificate request fails. ACM makes repeated attempts to validate a certificate for 72 hours and then times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, delete the request, correct the issue with DNS validation or Email validation, and try again. If validation succeeds, the certificate enters status ISSUED.

" } }, "CertificateStatuses": { @@ -131,7 +132,8 @@ "CertificateType": { "base": null, "refs": { - "CertificateDetail$Type": "

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Amazon Web Services Certificate Manager User Guide.

" + "CertificateDetail$Type": "

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Certificate Manager User Guide.

", + "CertificateSummary$Type": "

The source of the certificate. For certificates provided by ACM, this value is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, this value is IMPORTED. ACM does not provide managed renewal for imported certificates. For more information about the differences between certificates that you import and those that ACM provides, see Importing Certificates in the Certificate Manager User Guide.

" } }, "ConflictException": { @@ -158,6 +160,7 @@ "base": null, "refs": { "CertificateDetail$SubjectAlternativeNames": "

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

", + "CertificateSummary$SubjectAlternativeNameSummaries": "

One or more domain names (subject alternative names) included in the certificate. This list contains the domain names that are bound to the public key that is contained in the certificate. The subject alternative names include the canonical domain name (CN) of the certificate and additional domain names that can be used to connect to the website.

When called by ListCertificates, this parameter will only return the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

", "RequestCertificateRequest$SubjectAlternativeNames": "

Additional FQDNs to be included in the Subject Alternative Name extension of the ACM certificate. For example, add the name www.example.net to a certificate for which the DomainName field is www.example.com if users can reach your site by using either name. The maximum number of domain names that you can add to an ACM certificate is 100. However, the initial quota is 10 domain names. If you need more than 10 names, you must request a quota increase. For more information, see Quotas.

The maximum length of a SAN DNS name is 253 octets. The name is made up of multiple labels separated by periods. No label can be longer than 63 octets. Consider the following examples:

" } }, @@ -171,7 +174,7 @@ "DomainValidation$ValidationDomain": "

The domain name that ACM used to send domain validation emails.

", "DomainValidationOption$DomainName": "

A fully qualified domain name (FQDN) in the certificate request.

", "DomainValidationOption$ValidationDomain": "

The domain name that you want ACM to use to send you validation emails. This domain name is the suffix of the email addresses that you want ACM to use. This must be the same as the DomainName value or a superdomain of the DomainName value. For example, if you request a certificate for testing.example.com, you can specify example.com for this value. In that case, ACM sends domain validation emails to the following five addresses:

", - "RequestCertificateRequest$DomainName": "

Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com.

The first domain name you enter cannot exceed 64 octets, including periods. Each subsequent Subject Alternative Name (SAN), however, can be up to 253 octets in length.

", + "RequestCertificateRequest$DomainName": "

Fully qualified domain name (FQDN), such as www.example.com, that you want to secure with an ACM certificate. Use an asterisk (*) to create a wildcard certificate that protects several sites in the same domain. For example, *.example.com protects www.example.com, site.example.com, and images.example.com.

In compliance with RFC 5280, the length of the domain name (technically, the Common Name) that you provide cannot exceed 64 octets (characters), including periods. To add a longer domain name, specify it in the Subject Alternative Name field, which supports names up to 253 octets in length.

", "ResendValidationEmailRequest$Domain": "

The fully qualified domain name (FQDN) of the certificate that needs to be validated.

", "ResendValidationEmailRequest$ValidationDomain": "

The base validation domain that will act as the suffix of the email addresses that are used to send the emails. This must be the same as the Domain value or a superdomain of the Domain value. For example, if you requested a certificate for site.subdomain.example.com and specify a ValidationDomain of subdomain.example.com, ACM sends email to the domain registrant, technical contact, and administrative contact in WHOIS and the following five addresses:

" } @@ -246,13 +249,20 @@ "base": null, "refs": { "ExtendedKeyUsage$Name": "

The name of an Extended Key Usage value.

", - "ExtendedKeyUsageFilterList$member": null + "ExtendedKeyUsageFilterList$member": null, + "ExtendedKeyUsageNames$member": null + } + }, + "ExtendedKeyUsageNames": { + "base": null, + "refs": { + "CertificateSummary$ExtendedKeyUsages": "

Contains a list of Extended Key Usage X.509 v3 extension objects. Each object specifies a purpose for which the certificate public key can be used and consists of a name and an object identifier (OID).

" } }, "FailureReason": { "base": null, "refs": { - "CertificateDetail$FailureReason": "

The reason the certificate request failed. This value exists only when the certificate status is FAILED. For more information, see Certificate Request Failed in the Amazon Web Services Certificate Manager User Guide.

", + "CertificateDetail$FailureReason": "

The reason the certificate request failed. This value exists only when the certificate status is FAILED. For more information, see Certificate Request Failed in the Certificate Manager User Guide.

", "RenewalSummary$RenewalStatusReason": "

The reason that a renewal request was unsuccessful.

" } }, @@ -334,13 +344,14 @@ "base": null, "refs": { "CertificateDetail$KeyAlgorithm": "

The algorithm that was used to generate the public-private key pair.

", + "CertificateSummary$KeyAlgorithm": "

The algorithm that was used to generate the public-private key pair.

", "KeyAlgorithmList$member": null } }, "KeyAlgorithmList": { "base": null, "refs": { - "Filters$keyTypes": "

Specify one or more algorithms that can be used to generate key pairs.

Default filtering returns only RSA_1024 and RSA_2048 certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, \"keyTypes\": [\"RSA_2048,RSA_4096\"] returns both RSA_2048 and RSA_4096 certificates.

" + "Filters$keyTypes": "

Specify one or more algorithms that can be used to generate key pairs.

Default filtering returns only RSA_1024 and RSA_2048 certificates that have at least one domain. To return other certificate types, provide the desired type signatures in a comma-separated list. For example, \"keyTypes\": [\"RSA_2048\",\"RSA_4096\"] returns both RSA_2048 and RSA_4096 certificates.

" } }, "KeyUsage": { @@ -365,7 +376,14 @@ "base": null, "refs": { "KeyUsage$Name": "

A string value that contains a Key Usage extension name.

", - "KeyUsageFilterList$member": null + "KeyUsageFilterList$member": null, + "KeyUsageNames$member": null + } + }, + "KeyUsageNames": { + "base": null, + "refs": { + "CertificateSummary$KeyUsages": "

A list of Key Usage X.509 v3 extension objects. Each object is a string value that identifies the purpose of the public key contained in the certificate. Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, and more.

" } }, "LimitExceededException": { @@ -406,10 +424,18 @@ "ListCertificatesResponse$NextToken": "

When the list is truncated, this value is present and contains the value to use for the NextToken parameter in a subsequent pagination request.

" } }, + "NullableBoolean": { + "base": null, + "refs": { + "CertificateSummary$HasAdditionalSubjectAlternativeNames": "

When called by ListCertificates, indicates whether the full list of subject alternative names has been included in the response. If false, the response includes all of the subject alternative names included in the certificate. If true, the response only includes the first 100 subject alternative names included in the certificate. To display the full list of subject alternative names, use DescribeCertificate.

", + "CertificateSummary$InUse": "

Indicates whether the certificate is currently in use by any Amazon Web Services resources.

", + "CertificateSummary$Exported": "

Indicates whether the certificate has been exported. This value exists only when the certificate type is PRIVATE.

" + } + }, "PassphraseBlob": { "base": null, "refs": { - "ExportCertificateRequest$Passphrase": "

Passphrase to associate with the encrypted exported private key. If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key:

openssl rsa -in encrypted_key.pem -out decrypted_key.pem

" + "ExportCertificateRequest$Passphrase": "

Passphrase to associate with the encrypted exported private key.

When creating your passphrase, you can use any ASCII character except #, $, or %.

If you want to later decrypt the private key, you must have the passphrase. You can use the following OpenSSL command to decrypt a private key. After entering the command, you are prompted for the passphrase.

openssl rsa -in encrypted_key.pem -out decrypted_key.pem

" } }, "PositiveInteger": { @@ -454,7 +480,8 @@ "RenewalEligibility": { "base": null, "refs": { - "CertificateDetail$RenewalEligibility": "

Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

" + "CertificateDetail$RenewalEligibility": "

Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

", + "CertificateSummary$RenewalEligibility": "

Specifies whether the certificate is eligible for renewal. At this time, only exported private certificates can be renewed with the RenewCertificate command.

" } }, "RenewalStatus": { @@ -517,6 +544,18 @@ "AccessDeniedException$Message": null } }, + "SortBy": { + "base": null, + "refs": { + "ListCertificatesRequest$SortBy": "

Specifies the field to sort results by. If you specify SortBy, you must also specify SortOrder.

" + } + }, + "SortOrder": { + "base": null, + "refs": { + "ListCertificatesRequest$SortOrder": "

Specifies the order of sorted results. If you specify SortOrder, you must also specify SortBy.

" + } + }, "String": { "base": null, "refs": { @@ -549,10 +588,16 @@ "refs": { "CertificateDetail$CreatedAt": "

The time at which the certificate was requested.

", "CertificateDetail$IssuedAt": "

The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED.

", - "CertificateDetail$ImportedAt": "

The date and time at which the certificate was imported. This value exists only when the certificate type is IMPORTED.

", + "CertificateDetail$ImportedAt": "

The date and time when the certificate was imported. This value exists only when the certificate type is IMPORTED.

", "CertificateDetail$RevokedAt": "

The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

", "CertificateDetail$NotBefore": "

The time before which the certificate is not valid.

", "CertificateDetail$NotAfter": "

The time after which the certificate is not valid.

", + "CertificateSummary$NotBefore": "

The time before which the certificate is not valid.

", + "CertificateSummary$NotAfter": "

The time after which the certificate is not valid.

", + "CertificateSummary$CreatedAt": "

The time at which the certificate was requested.

", + "CertificateSummary$IssuedAt": "

The time at which the certificate was issued. This value exists only when the certificate type is AMAZON_ISSUED.

", + "CertificateSummary$ImportedAt": "

The date and time when the certificate was imported. This value exists only when the certificate type is IMPORTED.

", + "CertificateSummary$RevokedAt": "

The time at which the certificate was revoked. This value exists only when the certificate status is REVOKED.

", "RenewalSummary$UpdatedAt": "

The time at which the renewal summary was last updated.

" } }, diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 9df32a1056..0c6ee22660 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -25018,7 +25018,8 @@ "r6a.32xlarge", "r6a.48xlarge", "r6a.metal", - "p4de.24xlarge" + "p4de.24xlarge", + "u-3tb1.56xlarge" ] }, "InstanceTypeHypervisor":{ diff --git a/models/apis/emr-serverless/2021-07-13/api-2.json b/models/apis/emr-serverless/2021-07-13/api-2.json index f35de7c139..4a780f54e9 100644 --- a/models/apis/emr-serverless/2021-07-13/api-2.json +++ b/models/apis/emr-serverless/2021-07-13/api-2.json @@ -75,6 +75,21 @@ {"shape":"InternalServerException"} ] }, + "GetDashboardForJobRun":{ + "name":"GetDashboardForJobRun", + "http":{ + "method":"GET", + "requestUri":"/applications/{applicationId}/jobruns/{jobRunId}/dashboard", + "responseCode":200 + }, + "input":{"shape":"GetDashboardForJobRunRequest"}, + "output":{"shape":"GetDashboardForJobRunResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "GetJobRun":{ "name":"GetJobRun", "http":{ @@ -333,10 +348,7 @@ "type":"structure", "members":{ "enabled":{"shape":"Boolean"}, - "idleTimeoutMinutes":{ - "shape":"AutoStopConfigIdleTimeoutMinutesInteger", - "box":true - } + "idleTimeoutMinutes":{"shape":"AutoStopConfigIdleTimeoutMinutesInteger"} } }, "AutoStopConfigIdleTimeoutMinutesInteger":{ @@ -539,6 +551,31 @@ "application":{"shape":"Application"} } }, + "GetDashboardForJobRunRequest":{ + "type":"structure", + "required":[ + "applicationId", + "jobRunId" + ], + "members":{ + "applicationId":{ + "shape":"ApplicationId", + "location":"uri", + "locationName":"applicationId" + }, + "jobRunId":{ + "shape":"JobRunId", + "location":"uri", + "locationName":"jobRunId" + } + } + }, + "GetDashboardForJobRunResponse":{ + "type":"structure", + "members":{ + "url":{"shape":"Url"} + } + }, "GetJobRunRequest":{ "type":"structure", "required":[ @@ -741,7 +778,6 @@ }, "maxResults":{ "shape":"ListApplicationsRequestMaxResultsInteger", - "box":true, "location":"querystring", "locationName":"maxResults" }, @@ -782,7 +818,6 @@ }, "maxResults":{ "shape":"ListJobRunsRequestMaxResultsInteger", - "box":true, "location":"querystring", "locationName":"maxResults" }, @@ -1181,6 +1216,11 @@ "min":1, "pattern":".*[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\r\\n\\t]*.*" }, + "Url":{ + "type":"string", + "max":2048, + "min":1 + }, "ValidationException":{ "type":"structure", "required":["message"], diff --git a/models/apis/emr-serverless/2021-07-13/docs-2.json b/models/apis/emr-serverless/2021-07-13/docs-2.json index df3a69f70d..8fb0eb9c50 100644 --- a/models/apis/emr-serverless/2021-07-13/docs-2.json +++ b/models/apis/emr-serverless/2021-07-13/docs-2.json @@ -6,6 +6,7 @@ "CreateApplication": "

Creates an application.

", "DeleteApplication": "

Deletes an application. An application has to be in a stopped or created state in order to be deleted.

", "GetApplication": "

Displays detailed information about a specified application.

", + "GetDashboardForJobRun": "

Returns a URL to access the job run dashboard.

", "GetJobRun": "

Displays detailed information about a job run.

", "ListApplications": "

Lists applications based on a set of parameters.

", "ListJobRuns": "

Lists job runs based on a set of parameters.

", @@ -43,6 +44,7 @@ "CreateApplicationResponse$applicationId": "

The output contains the application ID.

", "DeleteApplicationRequest$applicationId": "

The ID of the application that will be deleted.

", "GetApplicationRequest$applicationId": "

The ID of the application that will be described.

", + "GetDashboardForJobRunRequest$applicationId": "

The ID of the application.

", "GetJobRunRequest$applicationId": "

The ID of the application on which the job run is submitted.

", "JobRun$applicationId": "

The ID of the application the job is running on.

", "JobRunSummary$applicationId": "

The ID of the application the job is running on.

", @@ -268,6 +270,16 @@ "refs": { } }, + "GetDashboardForJobRunRequest": { + "base": null, + "refs": { + } + }, + "GetDashboardForJobRunResponse": { + "base": null, + "refs": { + } + }, "GetJobRunRequest": { "base": null, "refs": { @@ -355,6 +367,7 @@ "refs": { "CancelJobRunRequest$jobRunId": "

The ID of the job run to cancel.

", "CancelJobRunResponse$jobRunId": "

The output contains the ID of the cancelled job run.

", + "GetDashboardForJobRunRequest$jobRunId": "

The ID of the job run.

", "GetJobRunRequest$jobRunId": "

The ID of the job run.

", "JobRun$jobRunId": "

The ID of the job run.

", "JobRunSummary$id": "

The ID of the job run.

", @@ -696,6 +709,12 @@ "S3MonitoringConfiguration$logUri": "

The Amazon S3 destination URI for log publishing.

" } }, + "Url": { + "base": null, + "refs": { + "GetDashboardForJobRunResponse$url": "

The URL to view job run's dashboard.

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

The input fails to satisfy the constraints specified by an AWS service.

", "refs": { diff --git a/models/apis/fsx/2018-03-01/api-2.json b/models/apis/fsx/2018-03-01/api-2.json index 4568a51f0b..a475be484c 100644 --- a/models/apis/fsx/2018-03-01/api-2.json +++ b/models/apis/fsx/2018-03-01/api-2.json @@ -124,6 +124,25 @@ ], "idempotent":true }, + "CreateFileCache":{ + "name":"CreateFileCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateFileCacheRequest"}, + "output":{"shape":"CreateFileCacheResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InvalidNetworkSettings"}, + {"shape":"InvalidPerUnitStorageThroughput"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"}, + {"shape":"MissingFileCacheConfiguration"} + ], + "idempotent":true + }, "CreateFileSystem":{ "name":"CreateFileSystem", "http":{ @@ -273,6 +292,23 @@ ], "idempotent":true }, + "DeleteFileCache":{ + "name":"DeleteFileCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteFileCacheRequest"}, + "output":{"shape":"DeleteFileCacheResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"FileCacheNotFound"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "DeleteFileSystem":{ "name":"DeleteFileSystem", "http":{ @@ -383,6 +419,21 @@ {"shape":"InternalServerError"} ] }, + "DescribeFileCaches":{ + "name":"DescribeFileCaches", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeFileCachesRequest"}, + "output":{"shape":"DescribeFileCachesResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileCacheNotFound"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "DescribeFileSystemAliases":{ "name":"DescribeFileSystemAliases", "http":{ @@ -566,6 +617,25 @@ ], "idempotent":true }, + "UpdateFileCache":{ + "name":"UpdateFileCache", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateFileCacheRequest"}, + "output":{"shape":"UpdateFileCacheResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"UnsupportedOperation"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"InternalServerError"}, + {"shape":"FileCacheNotFound"}, + {"shape":"MissingFileCacheConfiguration"}, + {"shape":"ServiceLimitExceeded"} + ], + "idempotent":true + }, "UpdateFileSystem":{ "name":"UpdateFileSystem", "http":{ @@ -923,6 +993,11 @@ "TaskId":{"shape":"TaskId"} } }, + "CapacityToRelease":{ + "type":"long", + "max":2147483647, + "min":1 + }, "ClientRequestToken":{ "type":"string", "max":63, @@ -965,6 +1040,7 @@ "Backup":{"shape":"Backup"} } }, + "CopyTagsToDataRepositoryAssociations":{"type":"boolean"}, "CreateBackupRequest":{ "type":"structure", "members":{ @@ -987,7 +1063,6 @@ "type":"structure", "required":[ "FileSystemId", - "FileSystemPath", "DataRepositoryPath" ], "members":{ @@ -1026,7 +1101,8 @@ "shape":"ClientRequestToken", "idempotencyToken":true }, - "Tags":{"shape":"Tags"} + "Tags":{"shape":"Tags"}, + "CapacityToRelease":{"shape":"CapacityToRelease"} } }, "CreateDataRepositoryTaskResponse":{ @@ -1035,6 +1111,56 @@ "DataRepositoryTask":{"shape":"DataRepositoryTask"} } }, + "CreateFileCacheDataRepositoryAssociations":{ + "type":"list", + "member":{"shape":"FileCacheDataRepositoryAssociation"}, + "max":8 + }, + "CreateFileCacheLustreConfiguration":{ + "type":"structure", + "required":[ + "PerUnitStorageThroughput", + "DeploymentType", + "MetadataConfiguration" + ], + "members":{ + "PerUnitStorageThroughput":{"shape":"PerUnitStorageThroughput"}, + "DeploymentType":{"shape":"FileCacheLustreDeploymentType"}, + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "MetadataConfiguration":{"shape":"FileCacheLustreMetadataConfiguration"} + } + }, + "CreateFileCacheRequest":{ + "type":"structure", + "required":[ + "FileCacheType", + "FileCacheTypeVersion", + "StorageCapacity", + "SubnetIds" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "FileCacheType":{"shape":"FileCacheType"}, + "FileCacheTypeVersion":{"shape":"FileSystemTypeVersion"}, + "StorageCapacity":{"shape":"StorageCapacity"}, + "SubnetIds":{"shape":"SubnetIds"}, + "SecurityGroupIds":{"shape":"SecurityGroupIds"}, + "Tags":{"shape":"Tags"}, + "CopyTagsToDataRepositoryAssociations":{"shape":"CopyTagsToDataRepositoryAssociations"}, + "KmsKeyId":{"shape":"KmsKeyId"}, + "LustreConfiguration":{"shape":"CreateFileCacheLustreConfiguration"}, + "DataRepositoryAssociations":{"shape":"CreateFileCacheDataRepositoryAssociations"} + } + }, + "CreateFileCacheResponse":{ + "type":"structure", + "members":{ + "FileCache":{"shape":"FileCacheCreating"} + } + }, "CreateFileSystemFromBackupRequest":{ "type":"structure", "required":[ @@ -1055,7 +1181,8 @@ "StorageType":{"shape":"StorageType"}, "KmsKeyId":{"shape":"KmsKeyId"}, "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"}, - "OpenZFSConfiguration":{"shape":"CreateFileSystemOpenZFSConfiguration"} + "OpenZFSConfiguration":{"shape":"CreateFileSystemOpenZFSConfiguration"}, + "StorageCapacity":{"shape":"StorageCapacity"} } }, "CreateFileSystemFromBackupResponse":{ @@ -1320,7 +1447,7 @@ "type":"string", "max":275, "min":16, - "pattern":"^(fsi?-[0-9a-f]{8,}\\..{4,253})$" + "pattern":"^((fs|fc)i?-[0-9a-f]{8,}\\..{4,253})$" }, "DailyTime":{ "type":"string", @@ -1349,7 +1476,11 @@ "ImportedFileChunkSize":{"shape":"Megabytes"}, "S3":{"shape":"S3DataRepositoryConfiguration"}, "Tags":{"shape":"Tags"}, - "CreationTime":{"shape":"CreationTime"} + "CreationTime":{"shape":"CreationTime"}, + "FileCacheId":{"shape":"FileCacheId"}, + "FileCachePath":{"shape":"Namespace"}, + "DataRepositorySubdirectories":{"shape":"SubDirectoriesPaths"}, + "NFS":{"shape":"NFSDataRepositoryConfiguration"} } }, "DataRepositoryAssociationId":{ @@ -1409,8 +1540,7 @@ "TaskId", "Lifecycle", "Type", - "CreationTime", - "FileSystemId" + "CreationTime" ], "members":{ "TaskId":{"shape":"TaskId"}, @@ -1425,7 +1555,9 @@ "Paths":{"shape":"DataRepositoryTaskPaths"}, "FailureDetails":{"shape":"DataRepositoryTaskFailureDetails"}, "Status":{"shape":"DataRepositoryTaskStatus"}, - "Report":{"shape":"CompletionReport"} + "Report":{"shape":"CompletionReport"}, + "CapacityToRelease":{"shape":"CapacityToRelease"}, + "FileCacheId":{"shape":"FileCacheId"} } }, "DataRepositoryTaskEnded":{ @@ -1460,7 +1592,8 @@ "enum":[ "file-system-id", "task-lifecycle", - "data-repository-association-id" + "data-repository-association-id", + "file-cache-id" ] }, "DataRepositoryTaskFilterValue":{ @@ -1514,14 +1647,17 @@ "TotalCount":{"shape":"TotalCount"}, "SucceededCount":{"shape":"SucceededCount"}, "FailedCount":{"shape":"FailedCount"}, - "LastUpdatedTime":{"shape":"LastUpdatedTime"} + "LastUpdatedTime":{"shape":"LastUpdatedTime"}, + "ReleasedCapacity":{"shape":"ReleasedCapacity"} } }, "DataRepositoryTaskType":{ "type":"string", "enum":[ "EXPORT_TO_REPOSITORY", - "IMPORT_METADATA_FROM_REPOSITORY" + "IMPORT_METADATA_FROM_REPOSITORY", + "RELEASE_DATA_FROM_FILESYSTEM", + "AUTO_RELEASE_DATA" ] }, "DataRepositoryTasks":{ @@ -1550,10 +1686,7 @@ "DeleteDataInFileSystem":{"type":"boolean"}, "DeleteDataRepositoryAssociationRequest":{ "type":"structure", - "required":[ - "AssociationId", - "DeleteDataInFileSystem" - ], + "required":["AssociationId"], "members":{ "AssociationId":{"shape":"DataRepositoryAssociationId"}, "ClientRequestToken":{ @@ -1571,6 +1704,24 @@ "DeleteDataInFileSystem":{"shape":"DeleteDataInFileSystem"} } }, + "DeleteFileCacheRequest":{ + "type":"structure", + "required":["FileCacheId"], + "members":{ + "FileCacheId":{"shape":"FileCacheId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "DeleteFileCacheResponse":{ + "type":"structure", + "members":{ + "FileCacheId":{"shape":"FileCacheId"}, + "Lifecycle":{"shape":"FileCacheLifecycle"} + } + }, "DeleteFileSystemLustreConfiguration":{ "type":"structure", "members":{ @@ -1781,6 +1932,21 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeFileCachesRequest":{ + "type":"structure", + "members":{ + "FileCacheIds":{"shape":"FileCacheIds"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeFileCachesResponse":{ + "type":"structure", + "members":{ + "FileCaches":{"shape":"FileCaches"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeFileSystemAliasesRequest":{ "type":"structure", "required":["FileSystemId"], @@ -1951,6 +2117,136 @@ "max":3 }, "FailedCount":{"type":"long"}, + "FileCache":{ + "type":"structure", + "members":{ + "OwnerId":{"shape":"AWSAccountId"}, + "CreationTime":{"shape":"CreationTime"}, + "FileCacheId":{"shape":"FileCacheId"}, + "FileCacheType":{"shape":"FileCacheType"}, + "FileCacheTypeVersion":{"shape":"FileSystemTypeVersion"}, + "Lifecycle":{"shape":"FileCacheLifecycle"}, + "FailureDetails":{"shape":"FileCacheFailureDetails"}, + "StorageCapacity":{"shape":"StorageCapacity"}, + "VpcId":{"shape":"VpcId"}, + "SubnetIds":{"shape":"SubnetIds"}, + "NetworkInterfaceIds":{"shape":"NetworkInterfaceIds"}, + "DNSName":{"shape":"DNSName"}, + "KmsKeyId":{"shape":"KmsKeyId"}, + "ResourceARN":{"shape":"ResourceARN"}, + "LustreConfiguration":{"shape":"FileCacheLustreConfiguration"}, + "DataRepositoryAssociationIds":{"shape":"DataRepositoryAssociationIds"} + } + }, + "FileCacheCreating":{ + "type":"structure", + "members":{ + "OwnerId":{"shape":"AWSAccountId"}, + "CreationTime":{"shape":"CreationTime"}, + "FileCacheId":{"shape":"FileCacheId"}, + "FileCacheType":{"shape":"FileCacheType"}, + "FileCacheTypeVersion":{"shape":"FileSystemTypeVersion"}, + "Lifecycle":{"shape":"FileCacheLifecycle"}, + "FailureDetails":{"shape":"FileCacheFailureDetails"}, + "StorageCapacity":{"shape":"StorageCapacity"}, + "VpcId":{"shape":"VpcId"}, + "SubnetIds":{"shape":"SubnetIds"}, + "NetworkInterfaceIds":{"shape":"NetworkInterfaceIds"}, + "DNSName":{"shape":"DNSName"}, + "KmsKeyId":{"shape":"KmsKeyId"}, + "ResourceARN":{"shape":"ResourceARN"}, + "Tags":{"shape":"Tags"}, + "CopyTagsToDataRepositoryAssociations":{"shape":"CopyTagsToDataRepositoryAssociations"}, + "LustreConfiguration":{"shape":"FileCacheLustreConfiguration"}, + "DataRepositoryAssociationIds":{"shape":"DataRepositoryAssociationIds"} + } + }, + "FileCacheDataRepositoryAssociation":{ + "type":"structure", + "required":[ + "FileCachePath", + "DataRepositoryPath" + ], + "members":{ + "FileCachePath":{"shape":"Namespace"}, + "DataRepositoryPath":{"shape":"ArchivePath"}, + "DataRepositorySubdirectories":{"shape":"SubDirectoriesPaths"}, + "NFS":{"shape":"FileCacheNFSConfiguration"} + } + }, + "FileCacheFailureDetails":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + } + }, + "FileCacheId":{ + "type":"string", + "max":21, + "min":11, + "pattern":"^(fc-[0-9a-f]{8,})$" + }, + "FileCacheIds":{ + "type":"list", + "member":{"shape":"FileCacheId"}, + "max":50 + }, + "FileCacheLifecycle":{ + "type":"string", + "enum":[ + "AVAILABLE", + "CREATING", + "DELETING", + "UPDATING", + "FAILED" + ] + }, + "FileCacheLustreConfiguration":{ + "type":"structure", + "members":{ + "PerUnitStorageThroughput":{"shape":"PerUnitStorageThroughput"}, + "DeploymentType":{"shape":"FileCacheLustreDeploymentType"}, + "MountName":{"shape":"LustreFileSystemMountName"}, + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "MetadataConfiguration":{"shape":"FileCacheLustreMetadataConfiguration"}, + "LogConfiguration":{"shape":"LustreLogConfiguration"} + } + }, + "FileCacheLustreDeploymentType":{ + "type":"string", + "enum":["CACHE_1"] + }, + "FileCacheLustreMetadataConfiguration":{ + "type":"structure", + "required":["StorageCapacity"], + "members":{ + "StorageCapacity":{"shape":"MetadataStorageCapacity"} + } + }, + "FileCacheNFSConfiguration":{ + "type":"structure", + "required":["Version"], + "members":{ + "Version":{"shape":"NfsVersion"}, + "DnsIps":{"shape":"RepositoryDnsIps"} + } + }, + "FileCacheNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "FileCacheType":{ + "type":"string", + "enum":["LUSTRE"] + }, + "FileCaches":{ + "type":"list", + "member":{"shape":"FileCache"}, + "max":50 + }, "FileSystem":{ "type":"structure", "members":{ @@ -2079,7 +2375,9 @@ "backup-type", "file-system-type", "volume-id", - "data-repository-type" + "data-repository-type", + "file-cache-id", + "file-cache-type" ] }, "FilterValue":{ @@ -2364,6 +2662,18 @@ "max":4096, "min":8 }, + "MetadataStorageCapacity":{ + "type":"integer", + "max":2147483647, + "min":0 + }, + "MissingFileCacheConfiguration":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "MissingFileSystemConfiguration":{ "type":"structure", "members":{ @@ -2378,6 +2688,15 @@ }, "exception":true }, + "NFSDataRepositoryConfiguration":{ + "type":"structure", + "required":["Version"], + "members":{ + "Version":{"shape":"NfsVersion"}, + "DnsIps":{"shape":"RepositoryDnsIps"}, + "AutoExportPolicy":{"shape":"AutoExportPolicy"} + } + }, "Namespace":{ "type":"string", "max":4096, @@ -2407,6 +2726,10 @@ "min":1, "pattern":"^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=)?$" }, + "NfsVersion":{ + "type":"string", + "enum":["NFS3"] + }, "NotServiceResourceError":{ "type":"structure", "required":["ResourceARN"], @@ -2649,6 +2972,7 @@ "FileSystem":{"shape":"FileSystem"} } }, + "ReleasedCapacity":{"type":"long"}, "ReportFormat":{ "type":"string", "enum":["REPORT_CSV_20191124"] @@ -2657,6 +2981,11 @@ "type":"string", "enum":["FAILED_FILES_ONLY"] }, + "RepositoryDnsIps":{ + "type":"list", + "member":{"shape":"IpAddress"}, + "max":10 + }, "RequestTime":{"type":"timestamp"}, "ResourceARN":{ "type":"string", @@ -2807,7 +3136,8 @@ "TOTAL_IN_PROGRESS_COPY_BACKUPS", "STORAGE_VIRTUAL_MACHINES_PER_FILE_SYSTEM", "VOLUMES_PER_FILE_SYSTEM", - "TOTAL_SSD_IOPS" + "TOTAL_SSD_IOPS", + "FILE_CACHE_COUNT" ] }, "ServiceLimitExceeded":{ @@ -3040,6 +3370,11 @@ "member":{"shape":"StorageVirtualMachine"}, "max":50 }, + "SubDirectoriesPaths":{ + "type":"list", + "member":{"shape":"Namespace"}, + "max":500 + }, "SubnetId":{ "type":"string", "max":24, @@ -3201,6 +3536,30 @@ "Association":{"shape":"DataRepositoryAssociation"} } }, + "UpdateFileCacheLustreConfiguration":{ + "type":"structure", + "members":{ + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"} + } + }, + "UpdateFileCacheRequest":{ + "type":"structure", + "required":["FileCacheId"], + "members":{ + "FileCacheId":{"shape":"FileCacheId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "LustreConfiguration":{"shape":"UpdateFileCacheLustreConfiguration"} + } + }, + "UpdateFileCacheResponse":{ + "type":"structure", + "members":{ + "FileCache":{"shape":"FileCache"} + } + }, "UpdateFileSystemLustreConfiguration":{ "type":"structure", "members":{ diff --git a/models/apis/fsx/2018-03-01/docs-2.json b/models/apis/fsx/2018-03-01/docs-2.json index e6e2fde1fb..c9ddb7b58e 100644 --- a/models/apis/fsx/2018-03-01/docs-2.json +++ b/models/apis/fsx/2018-03-01/docs-2.json @@ -6,9 +6,10 @@ "CancelDataRepositoryTask": "

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

", "CopyBackup": "

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

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

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

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

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

", "CreateBackup": "

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

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

For more information about backups, see the following:

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

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

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

", - "CreateDataRepositoryAssociation": "

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

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

", + "CreateDataRepositoryAssociation": "

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

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

CreateDataRepositoryAssociation isn't supported on Amazon File Cache resources. To create a DRA on Amazon File Cache, use the CreateFileCache operation.

", "CreateDataRepositoryTask": "

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

", - "CreateFileSystem": "

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

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

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

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

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

", + "CreateFileCache": "

Creates a new Amazon File Cache resource.

You can use this operation with a client request token in the request that Amazon File Cache uses to ensure idempotent creation. If a cache with the specified client request token exists and the parameters match, CreateFileCache returns the description of the existing cache. If a cache with the specified client request token exists and the parameters don't match, this call returns IncompatibleParameterError. If a file cache with the specified client request token doesn't exist, CreateFileCache does the following:

The CreateFileCache call returns while the cache's lifecycle state is still CREATING. You can check the cache creation status by calling the DescribeFileCaches operation, which returns the cache state along with other information.

", + "CreateFileSystem": "

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

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

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

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

", "CreateFileSystemFromBackup": "

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

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

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

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

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

", "CreateSnapshot": "

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

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

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

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

", "CreateStorageVirtualMachine": "

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

", @@ -16,13 +17,15 @@ "CreateVolumeFromBackup": "

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

", "DeleteBackup": "

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

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

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

", "DeleteDataRepositoryAssociation": "

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

", + "DeleteFileCache": "

Deletes an Amazon File Cache resource. After deletion, the cache no longer exists, and its data is gone.

The DeleteFileCache operation returns while the cache has the DELETING status. You can check the cache deletion status by calling the DescribeFileCaches operation, which returns a list of caches in your account. If you pass the cache ID for a deleted cache, the DescribeFileCaches operation returns a FileCacheNotFound error.

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

", "DeleteFileSystem": "

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

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

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

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

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

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

", "DeleteSnapshot": "

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

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

", "DeleteStorageVirtualMachine": "

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

", "DeleteVolume": "

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

", "DescribeBackups": "

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

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

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

When using this operation, keep the following in mind:

", - "DescribeDataRepositoryAssociations": "

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

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

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

", - "DescribeDataRepositoryTasks": "

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

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

", + "DescribeDataRepositoryAssociations": "

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

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

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

", + "DescribeDataRepositoryTasks": "

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

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

", + "DescribeFileCaches": "

Returns the description of a specific Amazon File Cache resource, if a FileCacheIds value is provided for that cache. Otherwise, it returns descriptions of all caches owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

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

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

When using this operation, keep the following in mind:

", "DescribeFileSystemAliases": "

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

", "DescribeFileSystems": "

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

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

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

When using this operation, keep the following in mind:

", "DescribeSnapshots": "

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

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

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

When using this operation, keep the following in mind:

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

Tags an Amazon FSx resource.

", "UntagResource": "

This action removes a tag from an Amazon FSx resource.

", "UpdateDataRepositoryAssociation": "

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

", + "UpdateFileCache": "

Updates the configuration of an existing Amazon File Cache resource. You can update multiple properties in a single request.

", "UpdateFileSystem": "

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

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

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

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

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

", "UpdateSnapshot": "

Updates the name of an Amazon FSx for OpenZFS snapshot.

", "UpdateStorageVirtualMachine": "

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

", @@ -45,6 +49,8 @@ "base": "

An Amazon Web Services account ID. This ID is a 12-digit number that you use to construct Amazon Resource Names (ARNs) for resources.

", "refs": { "Backup$OwnerId": null, + "FileCache$OwnerId": null, + "FileCacheCreating$OwnerId": null, "FileSystem$OwnerId": "

The Amazon Web Services account that created the file system. If the file system was created by an Identity and Access Management (IAM) user, the Amazon Web Services account to which the IAM user belongs is the owner.

" } }, @@ -151,9 +157,10 @@ "CreateDataRepositoryAssociationRequest$DataRepositoryPath": "

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

", "CreateFileSystemLustreConfiguration$ImportPath": "

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

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

", "CreateFileSystemLustreConfiguration$ExportPath": "

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

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

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

", - "DataRepositoryAssociation$DataRepositoryPath": "

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

", + "DataRepositoryAssociation$DataRepositoryPath": "

The path to the data repository that will be linked to the cache or file system.

", "DataRepositoryConfiguration$ImportPath": "

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

", - "DataRepositoryConfiguration$ExportPath": "

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

" + "DataRepositoryConfiguration$ExportPath": "

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

", + "FileCacheDataRepositoryAssociation$DataRepositoryPath": "

The path to the S3 or NFS data repository that links to the cache. You must provide one of the following paths:

" } }, "AssociateFileSystemAliasesRequest": { @@ -167,13 +174,14 @@ } }, "AutoExportPolicy": { - "base": "

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

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

", + "base": "

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

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

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

This parameter is not supported for Amazon File Cache.

", "S3DataRepositoryConfiguration$AutoExportPolicy": "

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

" } }, "AutoImportPolicy": { - "base": "

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

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

", + "base": "

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

The AutoImportPolicy is supported only for Amazon FSx for Lustre file systems with the Persistent_2 deployment type.

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

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

" } @@ -289,7 +297,7 @@ "base": null, "refs": { "CreateDataRepositoryAssociationRequest$BatchImportMetaDataOnCreate": "

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

", - "DataRepositoryAssociation$BatchImportMetaDataOnCreate": "

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

" + "DataRepositoryAssociation$BatchImportMetaDataOnCreate": "

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

BatchImportMetaDataOnCreate is not supported for data repositories linked to an Amazon File Cache resource.

" } }, "CancelDataRepositoryTaskRequest": { @@ -302,6 +310,13 @@ "refs": { } }, + "CapacityToRelease": { + "base": null, + "refs": { + "CreateDataRepositoryTaskRequest$CapacityToRelease": "

Specifies the amount of data to release, in GiB, by an Amazon File Cache AUTO_RELEASE_DATA task that automatically releases files from the cache.

", + "DataRepositoryTask$CapacityToRelease": "

Specifies the amount of data to release, in GiB, by an Amazon File Cache AUTO_RELEASE_DATA task that automatically releases files from the cache.

" + } + }, "ClientRequestToken": { "base": "

(Optional) An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

", "refs": { @@ -310,6 +325,7 @@ "CreateBackupRequest$ClientRequestToken": "

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

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

An idempotency token for resource creation, in a string of up to 64 ASCII characters. This token is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

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

", "CreateFileSystemFromBackupRequest$ClientRequestToken": "

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

", "CreateFileSystemRequest$ClientRequestToken": "

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

", "CreateSnapshotRequest$ClientRequestToken": null, @@ -318,6 +334,7 @@ "CreateVolumeRequest$ClientRequestToken": null, "DeleteBackupRequest$ClientRequestToken": "

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

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

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

", "DeleteSnapshotRequest$ClientRequestToken": null, "DeleteStorageVirtualMachineRequest$ClientRequestToken": null, @@ -327,6 +344,7 @@ "ReleaseFileSystemNfsV3LocksRequest$ClientRequestToken": null, "RestoreVolumeFromSnapshotRequest$ClientRequestToken": null, "UpdateDataRepositoryAssociationRequest$ClientRequestToken": null, + "UpdateFileCacheRequest$ClientRequestToken": null, "UpdateFileSystemRequest$ClientRequestToken": "

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

", "UpdateSnapshotRequest$ClientRequestToken": null, "UpdateStorageVirtualMachineRequest$ClientRequestToken": null, @@ -356,6 +374,13 @@ "refs": { } }, + "CopyTagsToDataRepositoryAssociations": { + "base": null, + "refs": { + "CreateFileCacheRequest$CopyTagsToDataRepositoryAssociations": "

A boolean flag indicating whether tags for the cache should be copied to data repository associations. This value defaults to false.

", + "FileCacheCreating$CopyTagsToDataRepositoryAssociations": "

A boolean flag indicating whether tags for the cache should be copied to data repository associations.

" + } + }, "CreateBackupRequest": { "base": "

The request object for the CreateBackup operation.

", "refs": { @@ -386,6 +411,28 @@ "refs": { } }, + "CreateFileCacheDataRepositoryAssociations": { + "base": null, + "refs": { + "CreateFileCacheRequest$DataRepositoryAssociations": "

A list of up to 8 configurations for data repository associations (DRAs) to be created during the cache creation. The DRAs link the cache to either an Amazon S3 data repository or a Network File System (NFS) data repository that supports the NFSv3 protocol.

The DRA configurations must meet the following requirements:

DRA automatic import and automatic export is not supported.

" + } + }, + "CreateFileCacheLustreConfiguration": { + "base": "

The Amazon File Cache configuration for the cache that you are creating.

", + "refs": { + "CreateFileCacheRequest$LustreConfiguration": "

The configuration for the Amazon File Cache resource being created.

" + } + }, + "CreateFileCacheRequest": { + "base": null, + "refs": { + } + }, + "CreateFileCacheResponse": { + "base": null, + "refs": { + } + }, "CreateFileSystemFromBackupRequest": { "base": "

The request object for the CreateFileSystemFromBackup operation.

", "refs": { @@ -504,6 +551,8 @@ "Backup$CreationTime": "

The time when a particular backup was created.

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

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

", "Snapshot$CreationTime": null, "StorageVirtualMachine$CreationTime": null, @@ -513,6 +562,8 @@ "DNSName": { "base": "

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

", "refs": { + "FileCache$DNSName": "

The Domain Name System (DNS) name for the cache.

", + "FileCacheCreating$DNSName": "

The Domain Name System (DNS) name for the cache.

", "FileSystem$DNSName": "

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

", "FileSystemEndpoint$DNSName": null, "SvmEndpoint$DNSName": null, @@ -545,7 +596,7 @@ } }, "DataRepositoryAssociation": { - "base": "

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

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

", + "base": "

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

Data repository associations are supported only for an Amazon FSx for Lustre file system with the Persistent_2 deployment type and for an Amazon File Cache resource.

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

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

", "DataRepositoryAssociations$member": null, @@ -565,7 +616,9 @@ "DataRepositoryAssociationIds": { "base": null, "refs": { - "DescribeDataRepositoryAssociationsRequest$AssociationIds": "

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

" + "DescribeDataRepositoryAssociationsRequest$AssociationIds": "

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

", + "FileCache$DataRepositoryAssociationIds": "

A list of IDs of data repository associations that are associated with this cache.

", + "FileCacheCreating$DataRepositoryAssociationIds": "

A list of IDs of data repository associations that are associated with this cache.

" } }, "DataRepositoryAssociationNotFound": { @@ -576,7 +629,7 @@ "DataRepositoryAssociations": { "base": null, "refs": { - "DescribeDataRepositoryAssociationsResponse$Associations": "

An array of one ore more data repository association descriptions.

" + "DescribeDataRepositoryAssociationsResponse$Associations": "

An array of one or more data repository association descriptions.

" } }, "DataRepositoryConfiguration": { @@ -595,13 +648,13 @@ "DataRepositoryLifecycle": { "base": null, "refs": { - "DataRepositoryAssociation$Lifecycle": "

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

", + "DataRepositoryAssociation$Lifecycle": "

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

", "DataRepositoryConfiguration$Lifecycle": "

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

", "DeleteDataRepositoryAssociationResponse$Lifecycle": "

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

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

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

", + "base": "

A description of the data repository task. You use data repository tasks to perform bulk transfer operations between an Amazon FSx for Lustre file system and a linked data repository. An Amazon File Cache resource uses a task to automatically release files from the cache.

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

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

", "DataRepositoryTasks$member": null @@ -657,7 +710,7 @@ "base": null, "refs": { "CancelDataRepositoryTaskResponse$Lifecycle": "

The lifecycle status of the data repository task, as follows:

", - "DataRepositoryTask$Lifecycle": "

The lifecycle status of the data repository task, as follows:

You cannot delete an FSx for Lustre file system if there are data repository tasks for the file system in the PENDING or EXECUTING states. Please retry when the data repository task is finished (with a status of CANCELED, SUCCEEDED, or FAILED). You can use the DescribeDataRepositoryTask action to monitor the task status. Contact the FSx team if you need to delete your file system immediately.

" + "DataRepositoryTask$Lifecycle": "

The lifecycle status of the data repository task, as follows:

You cannot delete an FSx for Lustre file system if there are data repository tasks for the file system in the PENDING or EXECUTING states. Please retry when the data repository task is finished (with a status of CANCELED, SUCCEEDED, or FAILED). You can use the DescribeDataRepositoryTask action to monitor the task status. Contact the FSx team if you need to delete your file system immediately.

" } }, "DataRepositoryTaskNotFound": { @@ -675,7 +728,7 @@ "base": null, "refs": { "CreateDataRepositoryTaskRequest$Paths": "

A list of paths for the data repository task to use when the task is processed. If a path that you provide isn't valid, the task fails.

", - "DataRepositoryTask$Paths": "

An array of paths on the Amazon FSx for Lustre file system that specify the data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository.

(Default) If Paths is not specified, Amazon FSx uses the file system root directory.

" + "DataRepositoryTask$Paths": "

An array of paths that specify the data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data to export to the linked data repository.

(Default) If Paths is not specified, Amazon FSx uses the file system root directory.

" } }, "DataRepositoryTaskStatus": { @@ -688,7 +741,7 @@ "base": null, "refs": { "CreateDataRepositoryTaskRequest$Type": "

Specifies the type of data repository task to create.

", - "DataRepositoryTask$Type": "

The type of data repository task.

" + "DataRepositoryTask$Type": "

The type of data repository task.

" } }, "DataRepositoryTasks": { @@ -724,6 +777,16 @@ "refs": { } }, + "DeleteFileCacheRequest": { + "base": null, + "refs": { + } + }, + "DeleteFileCacheResponse": { + "base": null, + "refs": { + } + }, "DeleteFileSystemLustreConfiguration": { "base": "

The configuration object for the Amazon FSx for Lustre file system being deleted in the DeleteFileSystem operation.

", "refs": { @@ -872,6 +935,16 @@ "refs": { } }, + "DescribeFileCachesRequest": { + "base": null, + "refs": { + } + }, + "DescribeFileCachesResponse": { + "base": null, + "refs": { + } + }, "DescribeFileSystemAliasesRequest": { "base": "

The request object for DescribeFileSystemAliases operation.

", "refs": { @@ -991,7 +1064,7 @@ "EndTime": { "base": null, "refs": { - "DataRepositoryTask$EndTime": "

The time that Amazon FSx completed processing the task, populated after the task is complete.

" + "DataRepositoryTask$EndTime": "

The time the system completed processing the task, populated after the task is complete.

" } }, "ErrorMessage": { @@ -1011,6 +1084,8 @@ "DataRepositoryTaskExecuting$Message": null, "DataRepositoryTaskFailureDetails$Message": null, "DataRepositoryTaskNotFound$Message": null, + "FileCacheFailureDetails$Message": "

A message describing any failures that occurred.

", + "FileCacheNotFound$Message": null, "FileSystemFailureDetails$Message": "

A message describing any failures that occurred.

", "FileSystemNotFound$Message": null, "IncompatibleParameterError$Message": null, @@ -1025,6 +1100,7 @@ "InvalidRegion$Message": null, "InvalidSourceKmsKey$Message": null, "LifecycleTransitionReason$Message": null, + "MissingFileCacheConfiguration$Message": null, "MissingFileSystemConfiguration$Message": null, "MissingVolumeConfiguration$Message": null, "NotServiceResourceError$Message": null, @@ -1047,7 +1123,7 @@ "EventTypes": { "base": null, "refs": { - "AutoExportPolicy$Events": "

The AutoExportPolicy can have the following event values:

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

", + "AutoExportPolicy$Events": "

The AutoExportPolicy can have the following event values:

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

", "AutoImportPolicy$Events": "

The AutoImportPolicy can have the following event values:

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

" } }, @@ -1057,6 +1133,105 @@ "DataRepositoryTaskStatus$FailedCount": "

A running total of the number of files that the task failed to process.

" } }, + "FileCache": { + "base": "

A description of a specific Amazon File Cache resource, which is a response object from the DescribeFileCaches operation.

", + "refs": { + "FileCaches$member": null, + "UpdateFileCacheResponse$FileCache": "

A description of the cache that was updated.

" + } + }, + "FileCacheCreating": { + "base": "

The response object for the Amazon File Cache resource being created in the CreateFileCache operation.

", + "refs": { + "CreateFileCacheResponse$FileCache": "

A description of the cache that was created.

" + } + }, + "FileCacheDataRepositoryAssociation": { + "base": "

The configuration for a data repository association (DRA) to be created during the Amazon File Cache resource creation. The DRA links the cache to either an Amazon S3 bucket or prefix, or a Network File System (NFS) data repository that supports the NFSv3 protocol.

The DRA does not support automatic import or automatic export.

", + "refs": { + "CreateFileCacheDataRepositoryAssociations$member": null + } + }, + "FileCacheFailureDetails": { + "base": "

A structure providing details of any failures that occurred.

", + "refs": { + "FileCache$FailureDetails": "

A structure providing details of any failures that occurred.

", + "FileCacheCreating$FailureDetails": "

A structure providing details of any failures that occurred.

" + } + }, + "FileCacheId": { + "base": null, + "refs": { + "DataRepositoryAssociation$FileCacheId": "

The globally unique ID of the Amazon File Cache resource.

", + "DataRepositoryTask$FileCacheId": "

The system-generated, unique ID of the cache.

", + "DeleteFileCacheRequest$FileCacheId": "

The ID of the cache that's being deleted.

", + "DeleteFileCacheResponse$FileCacheId": "

The ID of the cache that's being deleted.

", + "FileCache$FileCacheId": "

The system-generated, unique ID of the cache.

", + "FileCacheCreating$FileCacheId": "

The system-generated, unique ID of the cache.

", + "FileCacheIds$member": null, + "UpdateFileCacheRequest$FileCacheId": "

The ID of the cache that you are updating.

" + } + }, + "FileCacheIds": { + "base": null, + "refs": { + "DescribeFileCachesRequest$FileCacheIds": "

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

" + } + }, + "FileCacheLifecycle": { + "base": null, + "refs": { + "DeleteFileCacheResponse$Lifecycle": "

The cache lifecycle for the deletion request. If the DeleteFileCache operation is successful, this status is DELETING.

", + "FileCache$Lifecycle": "

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

", + "FileCacheCreating$Lifecycle": "

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

" + } + }, + "FileCacheLustreConfiguration": { + "base": "

The configuration for the Amazon File Cache resource.

", + "refs": { + "FileCache$LustreConfiguration": "

The configuration for the Amazon File Cache resource.

", + "FileCacheCreating$LustreConfiguration": "

The configuration for the Amazon File Cache resource.

" + } + }, + "FileCacheLustreDeploymentType": { + "base": null, + "refs": { + "CreateFileCacheLustreConfiguration$DeploymentType": "

Specifies the cache deployment type, which must be CACHE_1.

", + "FileCacheLustreConfiguration$DeploymentType": "

The deployment type of the Amazon File Cache resource, which must be CACHE_1.

" + } + }, + "FileCacheLustreMetadataConfiguration": { + "base": "

The configuration for a Lustre MDT (Metadata Target) storage volume. The metadata on Amazon File Cache is managed by a Lustre Metadata Server (MDS) while the actual metadata is persisted on an MDT.

", + "refs": { + "CreateFileCacheLustreConfiguration$MetadataConfiguration": "

The configuration for a Lustre MDT (Metadata Target) storage volume.

", + "FileCacheLustreConfiguration$MetadataConfiguration": "

The configuration for a Lustre MDT (Metadata Target) storage volume.

" + } + }, + "FileCacheNFSConfiguration": { + "base": "

The configuration for an NFS data repository association (DRA) created during the creation of the Amazon File Cache resource.

", + "refs": { + "FileCacheDataRepositoryAssociation$NFS": "

The configuration for a data repository association that links an Amazon File Cache resource to an NFS data repository.

" + } + }, + "FileCacheNotFound": { + "base": "

No caches were found based upon supplied parameters.

", + "refs": { + } + }, + "FileCacheType": { + "base": null, + "refs": { + "CreateFileCacheRequest$FileCacheType": "

The type of cache that you're creating, which must be LUSTRE.

", + "FileCache$FileCacheType": "

The type of cache, which must be LUSTRE.

", + "FileCacheCreating$FileCacheType": "

The type of cache, which must be LUSTRE.

" + } + }, + "FileCaches": { + "base": null, + "refs": { + "DescribeFileCachesResponse$FileCaches": "

The response object for the DescribeFileCaches operation.

" + } + }, "FileSystem": { "base": "

A description of a specific Amazon FSx file system.

", "refs": { @@ -1105,7 +1280,7 @@ "CreateDataRepositoryTaskRequest$FileSystemId": null, "CreateStorageVirtualMachineRequest$FileSystemId": null, "DataRepositoryAssociation$FileSystemId": null, - "DataRepositoryTask$FileSystemId": null, + "DataRepositoryTask$FileSystemId": "

The globally unique ID of the file system.

", "DeleteFileSystemRequest$FileSystemId": "

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

", "DeleteFileSystemResponse$FileSystemId": "

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

", "DescribeFileSystemAliasesRequest$FileSystemId": "

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

", @@ -1158,8 +1333,11 @@ "FileSystemTypeVersion": { "base": null, "refs": { + "CreateFileCacheRequest$FileCacheTypeVersion": "

Sets the Lustre version for the cache that you're creating, which must be 2.12.

", "CreateFileSystemFromBackupRequest$FileSystemTypeVersion": "

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

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

", "CreateFileSystemRequest$FileSystemTypeVersion": "

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

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

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

", + "FileCache$FileCacheTypeVersion": "

The Lustre version of the cache, which must be 2.12.

", + "FileCacheCreating$FileCacheTypeVersion": "

The Lustre version of the cache, which must be 2.12.

", "FileSystem$FileSystemTypeVersion": "

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

" } }, @@ -1238,7 +1416,7 @@ "base": null, "refs": { "LustreLogConfiguration$Destination": "

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

", - "LustreLogCreateConfiguration$Destination": "

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

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

", + "LustreLogCreateConfiguration$Destination": "

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

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

", "WindowsAuditLogConfiguration$AuditLogDestination": "

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

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

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

", "WindowsAuditLogCreateConfiguration$AuditLogDestination": "

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

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

" } @@ -1336,6 +1514,7 @@ "refs": { "DnsIps$member": null, "OntapEndpointIpAddresses$member": null, + "RepositoryDnsIps$member": null, "WindowsFileSystemConfiguration$PreferredFileServerIp": "

For MULTI_AZ_1 deployment types, the IP address of the primary, or preferred, file server.

Use this IP address when mounting the file system on Linux SMB clients or Windows SMB clients that are not joined to a Microsoft Active Directory. Applicable for all Windows file system deployment types. This IP address is temporarily unavailable when the file system is undergoing maintenance. For Linux and Windows SMB clients that are joined to an Active Directory, use the file system's DNSName instead. For more information on mapping and mounting file shares, see Accessing File Shares.

" } }, @@ -1359,8 +1538,11 @@ "refs": { "Backup$KmsKeyId": "

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

", "CopyBackupRequest$KmsKeyId": null, + "CreateFileCacheRequest$KmsKeyId": "

Specifies the ID of the Key Management Service (KMS) key to use for encrypting data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed KMS key for your account is used. For more information, see Encrypt in the Key Management Service API Reference.

", "CreateFileSystemFromBackupRequest$KmsKeyId": null, "CreateFileSystemRequest$KmsKeyId": null, + "FileCache$KmsKeyId": "

Specifies the ID of the Key Management Service (KMS) key to use for encrypting data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed KMS key for your account is used. For more information, see Encrypt in the Key Management Service API Reference.

", + "FileCacheCreating$KmsKeyId": "

Specifies the ID of the Key Management Service (KMS) key to use for encrypting data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed KMS key for your account is used. For more information, see Encrypt in the Key Management Service API Reference.

", "FileSystem$KmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt Amazon FSx file system data. Used as follows with Amazon FSx file system types:

" } }, @@ -1397,7 +1579,7 @@ "LustreAccessAuditLogLevel": { "base": null, "refs": { - "LustreLogConfiguration$Level": "

The data repository events that are logged by Amazon FSx.

", + "LustreLogConfiguration$Level": "

The data repository events that are logged by Amazon FSx.

Note that Amazon File Cache uses a default setting of WARN_ERROR, which can't be changed.

", "LustreLogCreateConfiguration$Level": "

Sets which data repository events are logged by Amazon FSx.

" } }, @@ -1417,17 +1599,19 @@ "LustreFileSystemMountName": { "base": null, "refs": { + "FileCacheLustreConfiguration$MountName": "

You use the MountName value when mounting the cache. If you pass a cache ID to the DescribeFileCaches operation, it returns the the MountName value as part of the cache's description.

", "LustreFileSystemConfiguration$MountName": "

You use the MountName value when mounting the file system.

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

" } }, "LustreLogConfiguration": { - "base": "

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

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

", + "base": "

The configuration for Lustre logging used to write the enabled logging events for your Amazon FSx for Lustre file system or Amazon File Cache resource to Amazon CloudWatch Logs.

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

The configuration for Lustre logging used to write the enabled logging events for your Amazon File Cache resource to Amazon CloudWatch Logs.

", "LustreFileSystemConfiguration$LogConfiguration": "

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

" } }, "LustreLogCreateConfiguration": { - "base": "

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

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

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

", + "base": "

The Lustre logging configuration used when creating or updating an Amazon FSx for Lustre file system. An Amazon File Cache is created with Lustre logging enabled by default, with a setting of WARN_ERROR for the logging events. which can't be changed.

Lustre logging writes the enabled logging events for your file system or cache to Amazon CloudWatch Logs.

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

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

", "UpdateFileSystemLustreConfiguration$LogConfiguration": "

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

" @@ -1464,6 +1648,7 @@ "refs": { "DescribeBackupsRequest$MaxResults": "

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

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

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

", "DescribeFileSystemsRequest$MaxResults": "

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

", "DescribeSnapshotsRequest$MaxResults": null, @@ -1477,7 +1662,7 @@ "refs": { "CreateDataRepositoryAssociationRequest$ImportedFileChunkSize": "

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

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

", "CreateFileSystemLustreConfiguration$ImportedFileChunkSize": "

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

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

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

", - "DataRepositoryAssociation$ImportedFileChunkSize": "

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

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

", + "DataRepositoryAssociation$ImportedFileChunkSize": "

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

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

", "DataRepositoryConfiguration$ImportedFileChunkSize": "

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

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

", "UpdateDataRepositoryAssociationRequest$ImportedFileChunkSize": "

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

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

" } @@ -1496,6 +1681,17 @@ "WindowsFileSystemConfiguration$ThroughputCapacity": "

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

" } }, + "MetadataStorageCapacity": { + "base": null, + "refs": { + "FileCacheLustreMetadataConfiguration$StorageCapacity": "

The storage capacity of the Lustre MDT (Metadata Target) storage volume in gibibytes (GiB). The only supported value is 2400 GiB.

" + } + }, + "MissingFileCacheConfiguration": { + "base": "

A cache configuration is required for this operation.

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

A file system configuration is required for this operation.

", "refs": { @@ -1506,11 +1702,20 @@ "refs": { } }, + "NFSDataRepositoryConfiguration": { + "base": "

The configuration for a data repository association that links an Amazon File Cache resource to an NFS data repository.

", + "refs": { + "DataRepositoryAssociation$NFS": "

The configuration for an NFS data repository linked to an Amazon File Cache resource with a data repository association.

" + } + }, "Namespace": { "base": null, "refs": { - "CreateDataRepositoryAssociationRequest$FileSystemPath": "

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

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

If you specify only a forward slash (/) as the file system path, you can link only 1 data repository to the file system. You can only specify \"/\" as the file system path for the first data repository associated with a file system.

", - "DataRepositoryAssociation$FileSystemPath": "

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

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

If you specify only a forward slash (/) as the file system path, you can link only 1 data repository to the file system. You can only specify \"/\" as the file system path for the first data repository associated with a file system.

" + "CreateDataRepositoryAssociationRequest$FileSystemPath": "

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

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

If you specify only a forward slash (/) as the file system path, you can link only one data repository to the file system. You can only specify \"/\" as the file system path for the first data repository associated with a file system.

", + "DataRepositoryAssociation$FileSystemPath": "

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

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

If you specify only a forward slash (/) as the file system path, you can link only one data repository to the file system. You can only specify \"/\" as the file system path for the first data repository associated with a file system.

", + "DataRepositoryAssociation$FileCachePath": "

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

This path specifies the directory in your cache where files will be exported from. This cache directory can be linked to only one data repository (S3 or NFS) and no other data repository can be linked to the directory.

The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories is specified. If you specify root (/) as the cache path, you can create only one DRA on the cache.

The cache path cannot be set to root (/) for an S3 DRA.

", + "FileCacheDataRepositoryAssociation$FileCachePath": "

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

This path specifies where in your cache files will be exported from. This cache directory can be linked to only one data repository, and no data repository other can be linked to the directory.

The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories is specified. If you specify root (/) as the cache path, you can create only one DRA on the cache.

The cache path cannot be set to root (/) for an S3 DRA.

", + "SubDirectoriesPaths$member": null } }, "NetBiosAlias": { @@ -1529,6 +1734,8 @@ "NetworkInterfaceIds": { "base": "

A list of network interface IDs.

", "refs": { + "FileCache$NetworkInterfaceIds": null, + "FileCacheCreating$NetworkInterfaceIds": null, "FileSystem$NetworkInterfaceIds": "

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

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

" } }, @@ -1541,6 +1748,8 @@ "DescribeDataRepositoryAssociationsResponse$NextToken": null, "DescribeDataRepositoryTasksRequest$NextToken": null, "DescribeDataRepositoryTasksResponse$NextToken": null, + "DescribeFileCachesRequest$NextToken": null, + "DescribeFileCachesResponse$NextToken": null, "DescribeFileSystemAliasesRequest$NextToken": "

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

", "DescribeFileSystemAliasesResponse$NextToken": "

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

", "DescribeFileSystemsRequest$NextToken": "

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

", @@ -1555,6 +1764,13 @@ "ListTagsForResourceResponse$NextToken": "

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

" } }, + "NfsVersion": { + "base": null, + "refs": { + "FileCacheNFSConfiguration$Version": "

The version of the NFS (Network File System) protocol of the NFS data repository. The only supported value is NFS3, which indicates that the data repository must support the NFSv3 protocol.

", + "NFSDataRepositoryConfiguration$Version": "

The version of the NFS (Network File System) protocol of the NFS data repository. Currently, the only supported value is NFS3, which indicates that the data repository must support the NFSv3 protocol.

" + } + }, "NotServiceResourceError": { "base": "

The resource specified for the tagging operation is not a resource type owned by Amazon FSx. Use the API of the relevant service to perform the operation.

", "refs": { @@ -1721,7 +1937,9 @@ "PerUnitStorageThroughput": { "base": null, "refs": { + "CreateFileCacheLustreConfiguration$PerUnitStorageThroughput": "

Provisions the amount of read and write throughput for each 1 tebibyte (TiB) of cache storage capacity, in MB/s/TiB. The only supported value is 1000.

", "CreateFileSystemLustreConfiguration$PerUnitStorageThroughput": "

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

Valid values:

", + "FileCacheLustreConfiguration$PerUnitStorageThroughput": "

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. Cache throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). The only supported value is 1000.

", "LustreFileSystemConfiguration$PerUnitStorageThroughput": "

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

Valid values:

" } }, @@ -1758,6 +1976,12 @@ "refs": { } }, + "ReleasedCapacity": { + "base": null, + "refs": { + "DataRepositoryTaskStatus$ReleasedCapacity": "

The total amount of data, in GiB, released by an Amazon File Cache AUTO_RELEASE_DATA task that automatically releases files from the cache.

" + } + }, "ReportFormat": { "base": null, "refs": { @@ -1770,6 +1994,13 @@ "CompletionReport$Scope": "

Required if Enabled is set to true. Specifies the scope of the CompletionReport; FAILED_FILES_ONLY is the only scope currently supported. When Scope is set to FAILED_FILES_ONLY, the CompletionReport only contains information about files that the data repository task failed to process.

" } }, + "RepositoryDnsIps": { + "base": null, + "refs": { + "FileCacheNFSConfiguration$DnsIps": "

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file system domain name. The provided IP addresses can either be the IP addresses of a DNS forwarder or resolver that the customer manages and runs inside the customer VPC, or the IP addresses of the on-premises DNS servers.

", + "NFSDataRepositoryConfiguration$DnsIps": "

A list of up to 2 IP addresses of DNS servers used to resolve the NFS file system domain name. The provided IP addresses can either be the IP addresses of a DNS forwarder or resolver that the customer manages and runs inside the customer VPC, or the IP addresses of the on-premises DNS servers.

" + } + }, "RequestTime": { "base": null, "refs": { @@ -1784,6 +2015,8 @@ "CreateOpenZFSOriginSnapshotConfiguration$SnapshotARN": null, "DataRepositoryAssociation$ResourceARN": null, "DataRepositoryTask$ResourceARN": null, + "FileCache$ResourceARN": null, + "FileCacheCreating$ResourceARN": null, "FileSystem$ResourceARN": "

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

", "ListTagsForResourceRequest$ResourceARN": "

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

", "NotServiceResourceError$ResourceARN": "

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

", @@ -1850,10 +2083,10 @@ } }, "S3DataRepositoryConfiguration": { - "base": "

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

", + "base": "

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

Data repository associations on Amazon File Cache don't use S3DataRepositoryConfiguration because they don't support automatic import or automatic export.

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

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

", - "DataRepositoryAssociation$S3": "

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

", + "DataRepositoryAssociation$S3": "

The configuration for an Amazon S3 data repository linked to an Amazon FSx for Lustre file system with a data repository association.

", "UpdateDataRepositoryAssociationRequest$S3": "

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

" } }, @@ -1865,8 +2098,9 @@ } }, "SecurityGroupIds": { - "base": "

A list of security group IDs.

", + "base": "

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

", "refs": { + "CreateFileCacheRequest$SecurityGroupIds": "

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

", "CreateFileSystemFromBackupRequest$SecurityGroupIds": "

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

", "CreateFileSystemRequest$SecurityGroupIds": "

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

" } @@ -2007,7 +2241,7 @@ "StartTime": { "base": null, "refs": { - "DataRepositoryTask$StartTime": "

The time that Amazon FSx began processing the task.

" + "DataRepositoryTask$StartTime": "

The time the system began processing the task.

" } }, "Status": { @@ -2019,7 +2253,11 @@ "StorageCapacity": { "base": "

The storage capacity for your Amazon FSx file system, in gibibytes.

", "refs": { + "CreateFileCacheRequest$StorageCapacity": "

The storage capacity of the cache in gibibytes (GiB). Valid values are 1200 GiB, 2400 GiB, and increments of 2400 GiB.

", + "CreateFileSystemFromBackupRequest$StorageCapacity": "

Sets the storage capacity of the OpenZFS file system that you're creating from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 GiB (512 TiB). However, the value that you specify must be equal to or greater than the backup's storage capacity value. If you don't use the StorageCapacity parameter, the default is the backup's StorageCapacity value.

If used to create a file system other than OpenZFS, you must provide a value that matches the backup's StorageCapacity value. If you provide any other value, Amazon FSx responds with a 400 Bad Request.

", "CreateFileSystemRequest$StorageCapacity": "

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

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

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

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

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

", + "FileCache$StorageCapacity": "

The storage capacity of the cache in gibibytes (GiB).

", + "FileCacheCreating$StorageCapacity": "

The storage capacity of the cache in gibibytes (GiB).

", "FileSystem$StorageCapacity": "

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

", "UpdateFileSystemRequest$StorageCapacity": "

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

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

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

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

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

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

" } @@ -2126,6 +2364,13 @@ "DescribeStorageVirtualMachinesResponse$StorageVirtualMachines": "

Returned after a successful DescribeStorageVirtualMachines operation, describing each SVM.

" } }, + "SubDirectoriesPaths": { + "base": null, + "refs": { + "DataRepositoryAssociation$DataRepositorySubdirectories": "

For Amazon File Cache, a list of NFS Exports that will be linked with an NFS data repository association. All the subdirectories must be on a single NFS file system. The Export paths are in the format /exportpath1. To use this parameter, you must configure DataRepositoryPath as the domain name of the NFS file system. The NFS file system domain name in effect is the root of the subdirectories. Note that DataRepositorySubdirectories is not supported for S3 data repositories.

", + "FileCacheDataRepositoryAssociation$DataRepositorySubdirectories": "

A list of NFS Exports that will be linked with this data repository association. The Export paths are in the format /exportpath1. To use this parameter, you must configure DataRepositoryPath as the domain name of the NFS file system. The NFS file system domain name in effect is the root of the subdirectories. Note that DataRepositorySubdirectories is not supported for S3 data repositories.

" + } + }, "SubnetId": { "base": "

The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and subnets in the Amazon VPC User Guide.

", "refs": { @@ -2138,10 +2383,13 @@ } }, "SubnetIds": { - "base": "

A list of subnet IDs. Currently, you can specify only one subnet ID in a call to the CreateFileSystem operation.

", + "base": "

A list of subnet IDs that the cache will be accessible from. You can specify only one subnet ID in a call to the CreateFileCache operation.

", "refs": { + "CreateFileCacheRequest$SubnetIds": null, "CreateFileSystemFromBackupRequest$SubnetIds": "

Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types, Lustre file systems, and OpenZFS file systems provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

", "CreateFileSystemRequest$SubnetIds": "

Specifies the IDs of the subnets that the file system will be accessible from. For Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID properties. For more information about Multi-AZ file system configuration, see Availability and durability: Single-AZ and Multi-AZ file systems in the Amazon FSx for Windows User Guide and Availability and durability in the Amazon FSx for ONTAP User Guide.

For Windows SINGLE_AZ_1 and SINGLE_AZ_2 and all Lustre deployment types, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

", + "FileCache$SubnetIds": null, + "FileCacheCreating$SubnetIds": null, "FileSystem$SubnetIds": "

Specifies the IDs of the subnets that the file system is accessible from. For the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby file server. The preferred file server subnet identified in the PreferredSubnetID property. All other file systems have only one subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the file system's endpoint. For MULTI_AZ_1 Windows and ONTAP file systems, the file system endpoint is available in the PreferredSubnetID.

" } }, @@ -2215,6 +2463,7 @@ "CreateBackupRequest$Tags": "

(Optional) The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup operation, no existing file system tags are copied from the file system to the backup.

", "CreateDataRepositoryAssociationRequest$Tags": null, "CreateDataRepositoryTaskRequest$Tags": null, + "CreateFileCacheRequest$Tags": null, "CreateFileSystemFromBackupRequest$Tags": "

The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

", "CreateFileSystemRequest$Tags": "

The tags to apply to the file system that's being created. The key value of the Name tag appears in the console as the file system name.

", "CreateSnapshotRequest$Tags": null, @@ -2231,6 +2480,7 @@ "DeleteFileSystemWindowsResponse$FinalBackupTags": "

The set of tags applied to the final backup.

", "DeleteVolumeOntapConfiguration$FinalBackupTags": null, "DeleteVolumeOntapResponse$FinalBackupTags": null, + "FileCacheCreating$Tags": null, "FileSystem$Tags": "

The tags to associate with the file system. For more information, see Tagging your Amazon EC2 resources in the Amazon EC2 User Guide.

", "ListTagsForResourceResponse$Tags": "

A list of tags on the resource.

", "Snapshot$Tags": null, @@ -2306,6 +2556,22 @@ "refs": { } }, + "UpdateFileCacheLustreConfiguration": { + "base": "

The configuration update for an Amazon File Cache resource.

", + "refs": { + "UpdateFileCacheRequest$LustreConfiguration": "

The configuration updates for an Amazon File Cache resource.

" + } + }, + "UpdateFileCacheRequest": { + "base": null, + "refs": { + } + }, + "UpdateFileCacheResponse": { + "base": null, + "refs": { + } + }, "UpdateFileSystemLustreConfiguration": { "base": "

The configuration object for Amazon FSx for Lustre file systems used in the UpdateFileSystem operation.

", "refs": { @@ -2505,19 +2771,24 @@ "VpcId": { "base": "

The ID of your virtual private cloud (VPC). For more information, see VPC and subnets in the Amazon VPC User Guide.

", "refs": { + "FileCache$VpcId": null, + "FileCacheCreating$VpcId": null, "FileSystem$VpcId": "

The ID of the primary virtual private cloud (VPC) for the file system.

" } }, "WeeklyTime": { "base": "

A recurring weekly time, in the format D:HH:MM.

D is the day of the week, for which 1 represents Monday and 7 represents Sunday. For further details, see the ISO-8601 spec as described on Wikipedia.

HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute of the hour.

For example, 1:05:00 specifies maintenance at 5 AM Monday.

", "refs": { + "CreateFileCacheLustreConfiguration$WeeklyMaintenanceStartTime": null, "CreateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

(Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "CreateFileSystemOntapConfiguration$WeeklyMaintenanceStartTime": null, "CreateFileSystemOpenZFSConfiguration$WeeklyMaintenanceStartTime": null, "CreateFileSystemWindowsConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", + "FileCacheLustreConfiguration$WeeklyMaintenanceStartTime": null, "LustreFileSystemConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Here, d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "OntapFileSystemConfiguration$WeeklyMaintenanceStartTime": null, "OpenZFSFileSystemConfiguration$WeeklyMaintenanceStartTime": null, + "UpdateFileCacheLustreConfiguration$WeeklyMaintenanceStartTime": null, "UpdateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

(Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "UpdateFileSystemOntapConfiguration$WeeklyMaintenanceStartTime": null, "UpdateFileSystemOpenZFSConfiguration$WeeklyMaintenanceStartTime": null, diff --git a/models/apis/fsx/2018-03-01/paginators-1.json b/models/apis/fsx/2018-03-01/paginators-1.json index e2d6ecfb0b..b1aad50819 100644 --- a/models/apis/fsx/2018-03-01/paginators-1.json +++ b/models/apis/fsx/2018-03-01/paginators-1.json @@ -15,6 +15,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "DescribeFileCaches": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "DescribeFileSystemAliases": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/migrationhuborchestrator/2021-08-28/api-2.json b/models/apis/migrationhuborchestrator/2021-08-28/api-2.json new file mode 100644 index 0000000000..fe09da7d27 --- /dev/null +++ b/models/apis/migrationhuborchestrator/2021-08-28/api-2.json @@ -0,0 +1,1946 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-08-28", + "endpointPrefix":"migrationhub-orchestrator", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS Migration Hub Orchestrator", + "serviceId":"MigrationHubOrchestrator", + "signatureVersion":"v4", + "signingName":"migrationhub-orchestrator", + "uid":"migrationhuborchestrator-2021-08-28" + }, + "operations":{ + "CreateWorkflow":{ + "name":"CreateWorkflow", + "http":{ + "method":"POST", + "requestUri":"/migrationworkflow/", + "responseCode":200 + }, + "input":{"shape":"CreateMigrationWorkflowRequest"}, + "output":{"shape":"CreateMigrationWorkflowResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, + "CreateWorkflowStep":{ + "name":"CreateWorkflowStep", + "http":{ + "method":"POST", + "requestUri":"/workflowstep", + "responseCode":200 + }, + "input":{"shape":"CreateWorkflowStepRequest"}, + "output":{"shape":"CreateWorkflowStepResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, + "CreateWorkflowStepGroup":{ + "name":"CreateWorkflowStepGroup", + "http":{ + "method":"POST", + "requestUri":"/workflowstepgroups", + "responseCode":200 + }, + "input":{"shape":"CreateWorkflowStepGroupRequest"}, + "output":{"shape":"CreateWorkflowStepGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, + "DeleteWorkflow":{ + "name":"DeleteWorkflow", + "http":{ + "method":"DELETE", + "requestUri":"/migrationworkflow/{id}", + "responseCode":202 + }, + "input":{"shape":"DeleteMigrationWorkflowRequest"}, + "output":{"shape":"DeleteMigrationWorkflowResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteWorkflowStep":{ + "name":"DeleteWorkflowStep", + "http":{ + "method":"DELETE", + "requestUri":"/workflowstep/{id}", + "responseCode":200 + }, + "input":{"shape":"DeleteWorkflowStepRequest"}, + "output":{"shape":"DeleteWorkflowStepResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteWorkflowStepGroup":{ + "name":"DeleteWorkflowStepGroup", + "http":{ + "method":"DELETE", + "requestUri":"/workflowstepgroup/{id}", + "responseCode":202 + }, + "input":{"shape":"DeleteWorkflowStepGroupRequest"}, + "output":{"shape":"DeleteWorkflowStepGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "GetTemplate":{ + "name":"GetTemplate", + "http":{ + "method":"GET", + "requestUri":"/migrationworkflowtemplate/{id}", + "responseCode":200 + }, + "input":{"shape":"GetMigrationWorkflowTemplateRequest"}, + "output":{"shape":"GetMigrationWorkflowTemplateResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetTemplateStep":{ + "name":"GetTemplateStep", + "http":{ + "method":"GET", + "requestUri":"/templatestep/{id}", + "responseCode":200 + }, + "input":{"shape":"GetTemplateStepRequest"}, + "output":{"shape":"GetTemplateStepResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetTemplateStepGroup":{ + "name":"GetTemplateStepGroup", + "http":{ + "method":"GET", + "requestUri":"/templates/{templateId}/stepgroups/{id}", + "responseCode":200 + }, + "input":{"shape":"GetTemplateStepGroupRequest"}, + "output":{"shape":"GetTemplateStepGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetWorkflow":{ + "name":"GetWorkflow", + "http":{ + "method":"GET", + "requestUri":"/migrationworkflow/{id}", + "responseCode":200 + }, + "input":{"shape":"GetMigrationWorkflowRequest"}, + "output":{"shape":"GetMigrationWorkflowResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetWorkflowStep":{ + "name":"GetWorkflowStep", + "http":{ + "method":"GET", + "requestUri":"/workflowstep/{id}", + "responseCode":200 + }, + "input":{"shape":"GetWorkflowStepRequest"}, + "output":{"shape":"GetWorkflowStepResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetWorkflowStepGroup":{ + "name":"GetWorkflowStepGroup", + "http":{ + "method":"GET", + "requestUri":"/workflowstepgroup/{id}", + "responseCode":200 + }, + "input":{"shape":"GetWorkflowStepGroupRequest"}, + "output":{"shape":"GetWorkflowStepGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListPlugins":{ + "name":"ListPlugins", + "http":{ + "method":"GET", + "requestUri":"/plugins", + "responseCode":200 + }, + "input":{"shape":"ListPluginsRequest"}, + "output":{"shape":"ListPluginsResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTemplateStepGroups":{ + "name":"ListTemplateStepGroups", + "http":{ + "method":"GET", + "requestUri":"/templatestepgroups/{templateId}", + "responseCode":200 + }, + "input":{"shape":"ListTemplateStepGroupsRequest"}, + "output":{"shape":"ListTemplateStepGroupsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTemplateSteps":{ + "name":"ListTemplateSteps", + "http":{ + "method":"GET", + "requestUri":"/templatesteps", + "responseCode":200 + }, + "input":{"shape":"ListTemplateStepsRequest"}, + "output":{"shape":"ListTemplateStepsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTemplates":{ + "name":"ListTemplates", + "http":{ + "method":"GET", + "requestUri":"/migrationworkflowtemplates", + "responseCode":200 + }, + "input":{"shape":"ListMigrationWorkflowTemplatesRequest"}, + "output":{"shape":"ListMigrationWorkflowTemplatesResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"} + ] + }, + "ListWorkflowStepGroups":{ + "name":"ListWorkflowStepGroups", + "http":{ + "method":"GET", + "requestUri":"/workflowstepgroups", + "responseCode":200 + }, + "input":{"shape":"ListWorkflowStepGroupsRequest"}, + "output":{"shape":"ListWorkflowStepGroupsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListWorkflowSteps":{ + "name":"ListWorkflowSteps", + "http":{ + "method":"GET", + "requestUri":"/workflow/{workflowId}/workflowstepgroups/{stepGroupId}/workflowsteps", + "responseCode":200 + }, + "input":{"shape":"ListWorkflowStepsRequest"}, + "output":{"shape":"ListWorkflowStepsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, + "ListWorkflows":{ + "name":"ListWorkflows", + "http":{ + "method":"GET", + "requestUri":"/migrationworkflows", + "responseCode":200 + }, + "input":{"shape":"ListMigrationWorkflowsRequest"}, + "output":{"shape":"ListMigrationWorkflowsResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "RetryWorkflowStep":{ + "name":"RetryWorkflowStep", + "http":{ + "method":"POST", + "requestUri":"/retryworkflowstep/{id}", + "responseCode":200 + }, + "input":{"shape":"RetryWorkflowStepRequest"}, + "output":{"shape":"RetryWorkflowStepResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "StartWorkflow":{ + "name":"StartWorkflow", + "http":{ + "method":"POST", + "requestUri":"/migrationworkflow/{id}/start", + "responseCode":200 + }, + "input":{"shape":"StartMigrationWorkflowRequest"}, + "output":{"shape":"StartMigrationWorkflowResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "StopWorkflow":{ + "name":"StopWorkflow", + "http":{ + "method":"POST", + "requestUri":"/migrationworkflow/{id}/stop", + "responseCode":200 + }, + "input":{"shape":"StopMigrationWorkflowRequest"}, + "output":{"shape":"StopMigrationWorkflowResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UpdateWorkflow":{ + "name":"UpdateWorkflow", + "http":{ + "method":"POST", + "requestUri":"/migrationworkflow/{id}", + "responseCode":200 + }, + "input":{"shape":"UpdateMigrationWorkflowRequest"}, + "output":{"shape":"UpdateMigrationWorkflowResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateWorkflowStep":{ + "name":"UpdateWorkflowStep", + "http":{ + "method":"POST", + "requestUri":"/workflowstep/{id}", + "responseCode":200 + }, + "input":{"shape":"UpdateWorkflowStepRequest"}, + "output":{"shape":"UpdateWorkflowStepResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"} + ] + }, + "UpdateWorkflowStepGroup":{ + "name":"UpdateWorkflowStepGroup", + "http":{ + "method":"POST", + "requestUri":"/workflowstepgroup/{id}", + "responseCode":202 + }, + "input":{"shape":"UpdateWorkflowStepGroupRequest"}, + "output":{"shape":"UpdateWorkflowStepGroupResponse"}, + "errors":[ + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "ApplicationConfigurationName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "CreateMigrationWorkflowRequest":{ + "type":"structure", + "required":[ + "name", + "templateId", + "applicationConfigurationId", + "inputParameters" + ], + "members":{ + "name":{"shape":"CreateMigrationWorkflowRequestNameString"}, + "description":{"shape":"CreateMigrationWorkflowRequestDescriptionString"}, + "templateId":{"shape":"CreateMigrationWorkflowRequestTemplateIdString"}, + "applicationConfigurationId":{"shape":"CreateMigrationWorkflowRequestApplicationConfigurationIdString"}, + "inputParameters":{"shape":"StepInputParameters"}, + "stepTargets":{"shape":"StringList"}, + "tags":{"shape":"StringMap"} + } + }, + "CreateMigrationWorkflowRequestApplicationConfigurationIdString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "CreateMigrationWorkflowRequestDescriptionString":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[-a-zA-Z0-9_.+, ]*" + }, + "CreateMigrationWorkflowRequestNameString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "CreateMigrationWorkflowRequestTemplateIdString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "CreateMigrationWorkflowResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "arn":{"shape":"String"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "templateId":{"shape":"String"}, + "adsApplicationConfigurationId":{"shape":"String"}, + "workflowInputs":{"shape":"StepInputParameters"}, + "stepTargets":{"shape":"StringList"}, + "status":{"shape":"MigrationWorkflowStatusEnum"}, + "creationTime":{"shape":"Timestamp"}, + "tags":{"shape":"StringMap"} + } + }, + "CreateWorkflowStepGroupRequest":{ + "type":"structure", + "required":[ + "workflowId", + "name" + ], + "members":{ + "workflowId":{"shape":"MigrationWorkflowId"}, + "name":{"shape":"StepGroupName"}, + "description":{"shape":"StepGroupDescription"}, + "next":{"shape":"StringList"}, + "previous":{"shape":"StringList"} + } + }, + "CreateWorkflowStepGroupResponse":{ + "type":"structure", + "members":{ + "workflowId":{"shape":"String"}, + "name":{"shape":"String"}, + "id":{"shape":"String"}, + "description":{"shape":"String"}, + "tools":{"shape":"ToolsList"}, + "next":{"shape":"StringList"}, + "previous":{"shape":"StringList"}, + "creationTime":{"shape":"Timestamp"} + } + }, + "CreateWorkflowStepRequest":{ + "type":"structure", + "required":[ + "name", + "stepGroupId", + "workflowId", + "stepActionType" + ], + "members":{ + "name":{"shape":"MigrationWorkflowName"}, + "stepGroupId":{"shape":"StepGroupId"}, + "workflowId":{"shape":"MigrationWorkflowId"}, + "stepActionType":{"shape":"StepActionType"}, + "description":{"shape":"MigrationWorkflowDescription"}, + "workflowStepAutomationConfiguration":{"shape":"WorkflowStepAutomationConfiguration"}, + "stepTarget":{"shape":"StringList"}, + "outputs":{"shape":"WorkflowStepOutputList"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"} + } + }, + "CreateWorkflowStepResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "stepGroupId":{"shape":"String"}, + "workflowId":{"shape":"String"}, + "name":{"shape":"String"} + } + }, + "DataType":{ + "type":"string", + "enum":[ + "STRING", + "INTEGER", + "STRINGLIST", + "STRINGMAP" + ] + }, + "DeleteMigrationWorkflowRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"MigrationWorkflowId", + "location":"uri", + "locationName":"id" + } + } + }, + "DeleteMigrationWorkflowResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "arn":{"shape":"String"}, + "status":{"shape":"MigrationWorkflowStatusEnum"} + } + }, + "DeleteWorkflowStepGroupRequest":{ + "type":"structure", + "required":[ + "workflowId", + "id" + ], + "members":{ + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + }, + "id":{ + "shape":"StepGroupId", + "location":"uri", + "locationName":"id" + } + } + }, + "DeleteWorkflowStepGroupResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWorkflowStepRequest":{ + "type":"structure", + "required":[ + "id", + "stepGroupId", + "workflowId" + ], + "members":{ + "id":{ + "shape":"StepId", + "location":"uri", + "locationName":"id" + }, + "stepGroupId":{ + "shape":"StepGroupId", + "location":"querystring", + "locationName":"stepGroupId" + }, + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + } + } + }, + "DeleteWorkflowStepResponse":{ + "type":"structure", + "members":{ + } + }, + "GetMigrationWorkflowRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"MigrationWorkflowId", + "location":"uri", + "locationName":"id" + } + } + }, + "GetMigrationWorkflowResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "arn":{"shape":"String"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "templateId":{"shape":"String"}, + "adsApplicationConfigurationId":{"shape":"String"}, + "adsApplicationName":{"shape":"String"}, + "status":{"shape":"MigrationWorkflowStatusEnum"}, + "statusMessage":{"shape":"String"}, + "creationTime":{"shape":"Timestamp"}, + "lastStartTime":{"shape":"Timestamp"}, + "lastStopTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "tools":{"shape":"ToolsList"}, + "totalSteps":{"shape":"Integer"}, + "completedSteps":{"shape":"Integer"}, + "workflowInputs":{"shape":"StepInputParameters"}, + "tags":{"shape":"StringMap"}, + "workflowBucket":{"shape":"String"} + } + }, + "GetMigrationWorkflowTemplateRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"TemplateId", + "location":"uri", + "locationName":"id" + } + } + }, + "GetMigrationWorkflowTemplateResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "inputs":{"shape":"TemplateInputList"}, + "tools":{"shape":"ToolsList"}, + "status":{"shape":"TemplateStatus"}, + "creationTime":{"shape":"Timestamp"} + } + }, + "GetTemplateStepGroupRequest":{ + "type":"structure", + "required":[ + "templateId", + "id" + ], + "members":{ + "templateId":{ + "shape":"TemplateId", + "location":"uri", + "locationName":"templateId" + }, + "id":{ + "shape":"StepGroupId", + "location":"uri", + "locationName":"id" + } + } + }, + "GetTemplateStepGroupResponse":{ + "type":"structure", + "members":{ + "templateId":{"shape":"String"}, + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "status":{"shape":"StepGroupStatus"}, + "creationTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "tools":{"shape":"ToolsList"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"} + } + }, + "GetTemplateStepRequest":{ + "type":"structure", + "required":[ + "id", + "templateId", + "stepGroupId" + ], + "members":{ + "id":{ + "shape":"StepId", + "location":"uri", + "locationName":"id" + }, + "templateId":{ + "shape":"TemplateId", + "location":"querystring", + "locationName":"templateId" + }, + "stepGroupId":{ + "shape":"StepGroupId", + "location":"querystring", + "locationName":"stepGroupId" + } + } + }, + "GetTemplateStepResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"StepId"}, + "stepGroupId":{"shape":"StepGroupId"}, + "templateId":{"shape":"TemplateId"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "stepActionType":{"shape":"StepActionType"}, + "creationTime":{"shape":"String"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"}, + "outputs":{"shape":"StepOutputList"}, + "stepAutomationConfiguration":{"shape":"StepAutomationConfiguration"} + } + }, + "GetWorkflowStepGroupRequest":{ + "type":"structure", + "required":[ + "id", + "workflowId" + ], + "members":{ + "id":{ + "shape":"StepGroupId", + "location":"uri", + "locationName":"id" + }, + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + } + } + }, + "GetWorkflowStepGroupResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"StepGroupId"}, + "workflowId":{"shape":"String"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "status":{"shape":"StepGroupStatus"}, + "owner":{"shape":"Owner"}, + "creationTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "tools":{"shape":"ToolsList"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"} + } + }, + "GetWorkflowStepRequest":{ + "type":"structure", + "required":[ + "workflowId", + "stepGroupId", + "id" + ], + "members":{ + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + }, + "stepGroupId":{ + "shape":"StepGroupId", + "location":"querystring", + "locationName":"stepGroupId" + }, + "id":{ + "shape":"StepId", + "location":"uri", + "locationName":"id" + } + } + }, + "GetWorkflowStepResponse":{ + "type":"structure", + "members":{ + "name":{"shape":"String"}, + "stepGroupId":{"shape":"String"}, + "workflowId":{"shape":"String"}, + "stepId":{"shape":"String"}, + "description":{"shape":"String"}, + "stepActionType":{"shape":"StepActionType"}, + "owner":{"shape":"Owner"}, + "workflowStepAutomationConfiguration":{"shape":"WorkflowStepAutomationConfiguration"}, + "stepTarget":{"shape":"StringList"}, + "outputs":{"shape":"GetWorkflowStepResponseOutputsList"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"}, + "status":{"shape":"StepStatus"}, + "statusMessage":{"shape":"String"}, + "scriptOutputLocation":{"shape":"String"}, + "creationTime":{"shape":"Timestamp"}, + "lastStartTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "noOfSrvCompleted":{"shape":"Integer"}, + "noOfSrvFailed":{"shape":"Integer"}, + "totalNoOfSrv":{"shape":"Integer"} + } + }, + "GetWorkflowStepResponseOutputsList":{ + "type":"list", + "member":{"shape":"WorkflowStepOutput"}, + "max":5, + "min":0 + }, + "IPAddress":{ + "type":"string", + "max":15, + "min":0, + "pattern":"(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListMigrationWorkflowTemplatesRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "name":{ + "shape":"TemplateName", + "location":"querystring", + "locationName":"name" + } + } + }, + "ListMigrationWorkflowTemplatesResponse":{ + "type":"structure", + "required":["templateSummary"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "templateSummary":{"shape":"TemplateSummaryList"} + } + }, + "ListMigrationWorkflowsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "templateId":{ + "shape":"TemplateId", + "location":"querystring", + "locationName":"templateId" + }, + "adsApplicationConfigurationName":{ + "shape":"ApplicationConfigurationName", + "location":"querystring", + "locationName":"adsApplicationConfigurationName" + }, + "status":{ + "shape":"MigrationWorkflowStatusEnum", + "location":"querystring", + "locationName":"status" + }, + "name":{ + "shape":"String", + "location":"querystring", + "locationName":"name" + } + } + }, + "ListMigrationWorkflowsResponse":{ + "type":"structure", + "required":["migrationWorkflowSummary"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "migrationWorkflowSummary":{"shape":"MigrationWorkflowSummaryList"} + } + }, + "ListPluginsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListPluginsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "plugins":{"shape":"PluginSummaries"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "ListTemplateStepGroupsRequest":{ + "type":"structure", + "required":["templateId"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "templateId":{ + "shape":"TemplateId", + "location":"uri", + "locationName":"templateId" + } + } + }, + "ListTemplateStepGroupsResponse":{ + "type":"structure", + "required":["templateStepGroupSummary"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "templateStepGroupSummary":{"shape":"TemplateStepGroupSummaryList"} + } + }, + "ListTemplateStepsRequest":{ + "type":"structure", + "required":[ + "templateId", + "stepGroupId" + ], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "templateId":{ + "shape":"TemplateId", + "location":"querystring", + "locationName":"templateId" + }, + "stepGroupId":{ + "shape":"StepGroupId", + "location":"querystring", + "locationName":"stepGroupId" + } + } + }, + "ListTemplateStepsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "templateStepSummaryList":{"shape":"TemplateStepSummaryList"} + } + }, + "ListWorkflowStepGroupsRequest":{ + "type":"structure", + "required":["workflowId"], + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + } + } + }, + "ListWorkflowStepGroupsResponse":{ + "type":"structure", + "required":["workflowStepGroupsSummary"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "workflowStepGroupsSummary":{"shape":"WorkflowStepGroupsSummaryList"} + } + }, + "ListWorkflowStepsRequest":{ + "type":"structure", + "required":[ + "workflowId", + "stepGroupId" + ], + "members":{ + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"uri", + "locationName":"workflowId" + }, + "stepGroupId":{ + "shape":"StepGroupId", + "location":"uri", + "locationName":"stepGroupId" + } + } + }, + "ListWorkflowStepsResponse":{ + "type":"structure", + "required":["workflowStepsSummary"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "workflowStepsSummary":{"shape":"WorkflowStepsSummaryList"} + } + }, + "MaxResults":{ + "type":"integer", + "max":100, + "min":0 + }, + "MigrationWorkflowDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[-a-zA-Z0-9_.+, ]*" + }, + "MigrationWorkflowId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "MigrationWorkflowName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "MigrationWorkflowStatusEnum":{ + "type":"string", + "enum":[ + "CREATING", + "NOT_STARTED", + "CREATION_FAILED", + "STARTING", + "IN_PROGRESS", + "WORKFLOW_FAILED", + "PAUSED", + "PAUSING", + "PAUSING_FAILED", + "USER_ATTENTION_REQUIRED", + "DELETING", + "DELETION_FAILED", + "DELETED", + "COMPLETED" + ] + }, + "MigrationWorkflowSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "name":{"shape":"String"}, + "templateId":{"shape":"String"}, + "adsApplicationConfigurationName":{"shape":"String"}, + "status":{"shape":"MigrationWorkflowStatusEnum"}, + "creationTime":{"shape":"Timestamp"}, + "endTime":{"shape":"Timestamp"}, + "statusMessage":{"shape":"String"}, + "completedSteps":{"shape":"Integer"}, + "totalSteps":{"shape":"Integer"} + } + }, + "MigrationWorkflowSummaryList":{ + "type":"list", + "member":{"shape":"MigrationWorkflowSummary"} + }, + "NextToken":{ + "type":"string", + "max":2048, + "min":0, + "pattern":".*\\S.*" + }, + "Owner":{ + "type":"string", + "enum":[ + "AWS_MANAGED", + "CUSTOM" + ] + }, + "PlatformCommand":{ + "type":"structure", + "members":{ + "linux":{"shape":"String"}, + "windows":{"shape":"String"} + } + }, + "PlatformScriptKey":{ + "type":"structure", + "members":{ + "linux":{"shape":"S3Key"}, + "windows":{"shape":"S3Key"} + } + }, + "PluginHealth":{ + "type":"string", + "enum":[ + "HEALTHY", + "UNHEALTHY" + ] + }, + "PluginId":{ + "type":"string", + "max":60, + "min":1, + "pattern":".*\\S.*" + }, + "PluginSummaries":{ + "type":"list", + "member":{"shape":"PluginSummary"} + }, + "PluginSummary":{ + "type":"structure", + "members":{ + "pluginId":{"shape":"PluginId"}, + "hostname":{"shape":"String"}, + "status":{"shape":"PluginHealth"}, + "ipAddress":{"shape":"IPAddress"}, + "version":{"shape":"PluginVersion"}, + "registeredTime":{"shape":"String"} + } + }, + "PluginVersion":{ + "type":"string", + "max":1024, + "min":0, + "pattern":".*" + }, + "ResourceArn":{ + "type":"string", + "pattern":"arn:aws:migrationhub-orchestrator:[a-z0-9-]+:[0-9]+:workflow/[.]*" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RetryWorkflowStepRequest":{ + "type":"structure", + "required":[ + "workflowId", + "stepGroupId", + "id" + ], + "members":{ + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + }, + "stepGroupId":{ + "shape":"StepGroupId", + "location":"querystring", + "locationName":"stepGroupId" + }, + "id":{ + "shape":"StepId", + "location":"uri", + "locationName":"id" + } + } + }, + "RetryWorkflowStepResponse":{ + "type":"structure", + "members":{ + "stepGroupId":{"shape":"String"}, + "workflowId":{"shape":"String"}, + "id":{"shape":"String"}, + "status":{"shape":"StepStatus"} + } + }, + "RunEnvironment":{ + "type":"string", + "enum":[ + "AWS", + "ONPREMISE" + ] + }, + "S3Bucket":{ + "type":"string", + "max":63, + "min":0, + "pattern":"[0-9a-z]+[0-9a-z\\.\\-]*[0-9a-z]+" + }, + "S3Key":{ + "type":"string", + "max":1024, + "min":0 + }, + "StartMigrationWorkflowRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"MigrationWorkflowId", + "location":"uri", + "locationName":"id" + } + } + }, + "StartMigrationWorkflowResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "arn":{"shape":"String"}, + "status":{"shape":"MigrationWorkflowStatusEnum"}, + "statusMessage":{"shape":"String"}, + "lastStartTime":{"shape":"Timestamp"} + } + }, + "StepActionType":{ + "type":"string", + "enum":[ + "MANUAL", + "AUTOMATED" + ] + }, + "StepAutomationConfiguration":{ + "type":"structure", + "members":{ + "scriptLocationS3Bucket":{"shape":"String"}, + "scriptLocationS3Key":{"shape":"PlatformScriptKey"}, + "command":{"shape":"PlatformCommand"}, + "runEnvironment":{"shape":"RunEnvironment"}, + "targetType":{"shape":"TargetType"} + } + }, + "StepDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[-a-zA-Z0-9_.+, ]*" + }, + "StepGroupDescription":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[-a-zA-Z0-9_.+, ]*" + }, + "StepGroupId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "StepGroupName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "StepGroupStatus":{ + "type":"string", + "enum":[ + "AWAITING_DEPENDENCIES", + "READY", + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "PAUSED", + "PAUSING", + "USER_ATTENTION_REQUIRED" + ] + }, + "StepId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9-]+" + }, + "StepInput":{ + "type":"structure", + "members":{ + "integerValue":{ + "shape":"Integer", + "box":true + }, + "stringValue":{"shape":"StringValue"}, + "listOfStringsValue":{"shape":"StringList"}, + "mapOfStringValue":{"shape":"StringMap"} + }, + "union":true + }, + "StepInputParameters":{ + "type":"map", + "key":{"shape":"StepInputParametersKey"}, + "value":{"shape":"StepInput"}, + "sensitive":true + }, + "StepInputParametersKey":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9-_ ()]+" + }, + "StepName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "StepOutput":{ + "type":"structure", + "members":{ + "name":{"shape":"String"}, + "dataType":{"shape":"DataType"}, + "required":{"shape":"Boolean"} + } + }, + "StepOutputList":{ + "type":"list", + "member":{"shape":"StepOutput"} + }, + "StepStatus":{ + "type":"string", + "enum":[ + "AWAITING_DEPENDENCIES", + "READY", + "IN_PROGRESS", + "COMPLETED", + "FAILED", + "PAUSED", + "USER_ATTENTION_REQUIRED" + ] + }, + "StopMigrationWorkflowRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"MigrationWorkflowId", + "location":"uri", + "locationName":"id" + } + } + }, + "StopMigrationWorkflowResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "arn":{"shape":"String"}, + "status":{"shape":"MigrationWorkflowStatusEnum"}, + "statusMessage":{"shape":"String"}, + "lastStopTime":{"shape":"Timestamp"} + } + }, + "String":{"type":"string"}, + "StringList":{ + "type":"list", + "member":{"shape":"StringListMember"} + }, + "StringListMember":{ + "type":"string", + "max":100, + "min":0 + }, + "StringMap":{ + "type":"map", + "key":{"shape":"StringMapKey"}, + "value":{"shape":"StringMapValue"} + }, + "StringMapKey":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[a-zA-Z0-9-_ ()]+" + }, + "StringMapValue":{ + "type":"string", + "max":100, + "min":0 + }, + "StringValue":{ + "type":"string", + "max":100, + "min":0 + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"(?!aws:)[a-zA-Z+-=._:/]+" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"} + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TargetType":{ + "type":"string", + "enum":[ + "SINGLE", + "ALL", + "NONE" + ] + }, + "TemplateId":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "TemplateInput":{ + "type":"structure", + "members":{ + "inputName":{"shape":"TemplateInputName"}, + "dataType":{"shape":"DataType"}, + "required":{"shape":"Boolean"} + } + }, + "TemplateInputList":{ + "type":"list", + "member":{"shape":"TemplateInput"} + }, + "TemplateInputName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "TemplateName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "TemplateStatus":{ + "type":"string", + "enum":["CREATED"] + }, + "TemplateStepGroupSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"} + } + }, + "TemplateStepGroupSummaryList":{ + "type":"list", + "member":{"shape":"TemplateStepGroupSummary"} + }, + "TemplateStepSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "stepGroupId":{"shape":"String"}, + "templateId":{"shape":"String"}, + "name":{"shape":"String"}, + "stepActionType":{"shape":"StepActionType"}, + "targetType":{"shape":"TargetType"}, + "owner":{"shape":"Owner"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"} + } + }, + "TemplateStepSummaryList":{ + "type":"list", + "member":{"shape":"TemplateStepSummary"} + }, + "TemplateSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "arn":{"shape":"String"}, + "description":{"shape":"String"} + } + }, + "TemplateSummaryList":{ + "type":"list", + "member":{"shape":"TemplateSummary"} + }, + "ThrottlingException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "Tool":{ + "type":"structure", + "members":{ + "name":{"shape":"String"}, + "url":{"shape":"String"} + } + }, + "ToolsList":{ + "type":"list", + "member":{"shape":"Tool"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ResourceArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateMigrationWorkflowRequest":{ + "type":"structure", + "required":["id"], + "members":{ + "id":{ + "shape":"MigrationWorkflowId", + "location":"uri", + "locationName":"id" + }, + "name":{"shape":"UpdateMigrationWorkflowRequestNameString"}, + "description":{"shape":"UpdateMigrationWorkflowRequestDescriptionString"}, + "inputParameters":{"shape":"StepInputParameters"}, + "stepTargets":{"shape":"StringList"} + } + }, + "UpdateMigrationWorkflowRequestDescriptionString":{ + "type":"string", + "max":500, + "min":0, + "pattern":"[-a-zA-Z0-9_.+, ]*" + }, + "UpdateMigrationWorkflowRequestNameString":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "UpdateMigrationWorkflowResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"MigrationWorkflowId"}, + "arn":{"shape":"String"}, + "name":{"shape":"String"}, + "description":{"shape":"String"}, + "templateId":{"shape":"String"}, + "adsApplicationConfigurationId":{"shape":"String"}, + "workflowInputs":{"shape":"StepInputParameters"}, + "stepTargets":{"shape":"StringList"}, + "status":{"shape":"MigrationWorkflowStatusEnum"}, + "creationTime":{"shape":"Timestamp"}, + "lastModifiedTime":{"shape":"Timestamp"}, + "tags":{"shape":"StringMap"} + } + }, + "UpdateWorkflowStepGroupRequest":{ + "type":"structure", + "required":[ + "workflowId", + "id" + ], + "members":{ + "workflowId":{ + "shape":"MigrationWorkflowId", + "location":"querystring", + "locationName":"workflowId" + }, + "id":{ + "shape":"StepGroupId", + "location":"uri", + "locationName":"id" + }, + "name":{"shape":"StepGroupName"}, + "description":{"shape":"StepGroupDescription"}, + "next":{"shape":"StringList"}, + "previous":{"shape":"StringList"} + } + }, + "UpdateWorkflowStepGroupResponse":{ + "type":"structure", + "members":{ + "workflowId":{"shape":"String"}, + "name":{"shape":"String"}, + "id":{"shape":"String"}, + "description":{"shape":"String"}, + "tools":{"shape":"ToolsList"}, + "next":{"shape":"StringList"}, + "previous":{"shape":"StringList"}, + "lastModifiedTime":{"shape":"Timestamp"} + } + }, + "UpdateWorkflowStepRequest":{ + "type":"structure", + "required":[ + "id", + "stepGroupId", + "workflowId" + ], + "members":{ + "id":{ + "shape":"StepId", + "location":"uri", + "locationName":"id" + }, + "stepGroupId":{"shape":"StepGroupId"}, + "workflowId":{"shape":"MigrationWorkflowId"}, + "name":{"shape":"StepName"}, + "description":{"shape":"StepDescription"}, + "stepActionType":{"shape":"StepActionType"}, + "workflowStepAutomationConfiguration":{"shape":"WorkflowStepAutomationConfiguration"}, + "stepTarget":{"shape":"StringList"}, + "outputs":{"shape":"WorkflowStepOutputList"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"}, + "status":{"shape":"StepStatus"} + } + }, + "UpdateWorkflowStepResponse":{ + "type":"structure", + "members":{ + "id":{"shape":"StepId"}, + "stepGroupId":{"shape":"String"}, + "workflowId":{"shape":"String"}, + "name":{"shape":"String"} + } + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":false} + }, + "WorkflowStepAutomationConfiguration":{ + "type":"structure", + "members":{ + "scriptLocationS3Bucket":{"shape":"S3Bucket"}, + "scriptLocationS3Key":{"shape":"PlatformScriptKey"}, + "command":{"shape":"PlatformCommand"}, + "runEnvironment":{"shape":"RunEnvironment"}, + "targetType":{"shape":"TargetType"} + } + }, + "WorkflowStepGroupSummary":{ + "type":"structure", + "members":{ + "id":{"shape":"String"}, + "name":{"shape":"String"}, + "owner":{"shape":"Owner"}, + "status":{"shape":"StepGroupStatus"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"} + } + }, + "WorkflowStepGroupsSummaryList":{ + "type":"list", + "member":{"shape":"WorkflowStepGroupSummary"} + }, + "WorkflowStepOutput":{ + "type":"structure", + "members":{ + "name":{"shape":"WorkflowStepOutputName"}, + "dataType":{"shape":"DataType"}, + "required":{"shape":"Boolean"}, + "value":{"shape":"WorkflowStepOutputUnion"} + } + }, + "WorkflowStepOutputList":{ + "type":"list", + "member":{"shape":"WorkflowStepOutput"} + }, + "WorkflowStepOutputName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"[-a-zA-Z0-9_.+]+[-a-zA-Z0-9_.+ ]*" + }, + "WorkflowStepOutputUnion":{ + "type":"structure", + "members":{ + "integerValue":{ + "shape":"Integer", + "box":true + }, + "stringValue":{"shape":"StringValue"}, + "listOfStringValue":{"shape":"StringList"} + }, + "union":true + }, + "WorkflowStepSummary":{ + "type":"structure", + "members":{ + "stepId":{"shape":"String"}, + "name":{"shape":"String"}, + "stepActionType":{"shape":"StepActionType"}, + "owner":{"shape":"Owner"}, + "previous":{"shape":"StringList"}, + "next":{"shape":"StringList"}, + "status":{"shape":"StepStatus"}, + "statusMessage":{"shape":"String"}, + "noOfSrvCompleted":{"shape":"Integer"}, + "noOfSrvFailed":{"shape":"Integer"}, + "totalNoOfSrv":{"shape":"Integer"}, + "description":{"shape":"String"}, + "scriptLocation":{"shape":"String"} + } + }, + "WorkflowStepsSummaryList":{ + "type":"list", + "member":{"shape":"WorkflowStepSummary"} + } + } +} diff --git a/models/apis/migrationhuborchestrator/2021-08-28/docs-2.json b/models/apis/migrationhuborchestrator/2021-08-28/docs-2.json new file mode 100644 index 0000000000..498a5f968d --- /dev/null +++ b/models/apis/migrationhuborchestrator/2021-08-28/docs-2.json @@ -0,0 +1,1124 @@ +{ + "version": "2.0", + "service": "

This API reference provides descriptions, syntax, and other details about each of the actions and data types for AWS Migration Hub Orchestrator. he topic for each action shows the API request parameters and the response. Alternatively, you can use one of the AWS SDKs to access an API that is tailored to the programming language or platform that you're using.

", + "operations": { + "CreateWorkflow": "

Create a workflow to orchestrate your migrations.

", + "CreateWorkflowStep": "

Create a step in the migration workflow.

", + "CreateWorkflowStepGroup": "

Create a step group in a migration workflow.

", + "DeleteWorkflow": "

Delete a migration workflow. You must pause a running workflow in Migration Hub Orchestrator console to delete it.

", + "DeleteWorkflowStep": "

Delete a step in a migration workflow. Pause the workflow to delete a running step.

", + "DeleteWorkflowStepGroup": "

Delete a step group in a migration workflow.

", + "GetTemplate": "

Get the template you want to use for creating a migration workflow.

", + "GetTemplateStep": "

Get a specific step in a template.

", + "GetTemplateStepGroup": "

Get a step group in a template.

", + "GetWorkflow": "

Get migration workflow.

", + "GetWorkflowStep": "

Get a step in the migration workflow.

", + "GetWorkflowStepGroup": "

Get the step group of a migration workflow.

", + "ListPlugins": "

List AWS Migration Hub Orchestrator plugins.

", + "ListTagsForResource": "

List the tags added to a resource.

", + "ListTemplateStepGroups": "

List the step groups in a template.

", + "ListTemplateSteps": "

List the steps in a template.

", + "ListTemplates": "

List the templates available in Migration Hub Orchestrator to create a migration workflow.

", + "ListWorkflowStepGroups": "

List the step groups in a migration workflow.

", + "ListWorkflowSteps": "

List the steps in a workflow.

", + "ListWorkflows": "

List the migration workflows.

", + "RetryWorkflowStep": "

Retry a failed step in a migration workflow.

", + "StartWorkflow": "

Start a migration workflow.

", + "StopWorkflow": "

Stop an ongoing migration workflow.

", + "TagResource": "

Tag a resource by specifying its Amazon Resource Name (ARN).

", + "UntagResource": "

Deletes the tags for a resource.

", + "UpdateWorkflow": "

Update a migration workflow.

", + "UpdateWorkflowStep": "

Update a step in a migration workflow.

", + "UpdateWorkflowStepGroup": "

Update the step group in a migration workflow.

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

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "ApplicationConfigurationName": { + "base": null, + "refs": { + "ListMigrationWorkflowsRequest$adsApplicationConfigurationName": "

The name of the application configured in Application Discovery Service.

" + } + }, + "Boolean": { + "base": null, + "refs": { + "StepOutput$required": "

Determine if an output is required from a step.

", + "TemplateInput$required": "

Determine if an input is required from the template.

", + "WorkflowStepOutput$required": "

Determine if an output is required from a step.

" + } + }, + "CreateMigrationWorkflowRequest": { + "base": null, + "refs": { + } + }, + "CreateMigrationWorkflowRequestApplicationConfigurationIdString": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$applicationConfigurationId": "

The configuration ID of the application configured in Application Discovery Service.

" + } + }, + "CreateMigrationWorkflowRequestDescriptionString": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$description": "

The description of the migration workflow.

" + } + }, + "CreateMigrationWorkflowRequestNameString": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$name": "

The name of the migration workflow.

" + } + }, + "CreateMigrationWorkflowRequestTemplateIdString": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$templateId": "

The ID of the template.

" + } + }, + "CreateMigrationWorkflowResponse": { + "base": null, + "refs": { + } + }, + "CreateWorkflowStepGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateWorkflowStepGroupResponse": { + "base": null, + "refs": { + } + }, + "CreateWorkflowStepRequest": { + "base": null, + "refs": { + } + }, + "CreateWorkflowStepResponse": { + "base": null, + "refs": { + } + }, + "DataType": { + "base": null, + "refs": { + "StepOutput$dataType": "

The data type of the step output.

", + "TemplateInput$dataType": "

The data type of the template input.

", + "WorkflowStepOutput$dataType": "

The data type of the output.

" + } + }, + "DeleteMigrationWorkflowRequest": { + "base": null, + "refs": { + } + }, + "DeleteMigrationWorkflowResponse": { + "base": null, + "refs": { + } + }, + "DeleteWorkflowStepGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteWorkflowStepGroupResponse": { + "base": null, + "refs": { + } + }, + "DeleteWorkflowStepRequest": { + "base": null, + "refs": { + } + }, + "DeleteWorkflowStepResponse": { + "base": null, + "refs": { + } + }, + "GetMigrationWorkflowRequest": { + "base": null, + "refs": { + } + }, + "GetMigrationWorkflowResponse": { + "base": null, + "refs": { + } + }, + "GetMigrationWorkflowTemplateRequest": { + "base": null, + "refs": { + } + }, + "GetMigrationWorkflowTemplateResponse": { + "base": null, + "refs": { + } + }, + "GetTemplateStepGroupRequest": { + "base": null, + "refs": { + } + }, + "GetTemplateStepGroupResponse": { + "base": null, + "refs": { + } + }, + "GetTemplateStepRequest": { + "base": null, + "refs": { + } + }, + "GetTemplateStepResponse": { + "base": null, + "refs": { + } + }, + "GetWorkflowStepGroupRequest": { + "base": null, + "refs": { + } + }, + "GetWorkflowStepGroupResponse": { + "base": null, + "refs": { + } + }, + "GetWorkflowStepRequest": { + "base": null, + "refs": { + } + }, + "GetWorkflowStepResponse": { + "base": null, + "refs": { + } + }, + "GetWorkflowStepResponseOutputsList": { + "base": null, + "refs": { + "GetWorkflowStepResponse$outputs": "

The outputs of the step.

" + } + }, + "IPAddress": { + "base": null, + "refs": { + "PluginSummary$ipAddress": "

The IP address at which the plugin is located.

" + } + }, + "Integer": { + "base": null, + "refs": { + "GetMigrationWorkflowResponse$totalSteps": "

The total number of steps in the migration workflow.

", + "GetMigrationWorkflowResponse$completedSteps": "

Get a list of completed steps in the migration workflow.

", + "GetWorkflowStepResponse$noOfSrvCompleted": "

The number of servers that have been migrated.

", + "GetWorkflowStepResponse$noOfSrvFailed": "

The number of servers that have failed to migrate.

", + "GetWorkflowStepResponse$totalNoOfSrv": "

The total number of servers that have been migrated.

", + "MigrationWorkflowSummary$completedSteps": "

The steps completed in the migration workflow.

", + "MigrationWorkflowSummary$totalSteps": "

All the steps in a migration workflow.

", + "StepInput$integerValue": "

The value of the integer.

", + "WorkflowStepOutputUnion$integerValue": "

The integer value.

", + "WorkflowStepSummary$noOfSrvCompleted": "

The number of servers that have been migrated.

", + "WorkflowStepSummary$noOfSrvFailed": "

The number of servers that have failed to migrate.

", + "WorkflowStepSummary$totalNoOfSrv": "

The total number of servers that have been migrated.

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

An internal error has occurred.

", + "refs": { + } + }, + "ListMigrationWorkflowTemplatesRequest": { + "base": null, + "refs": { + } + }, + "ListMigrationWorkflowTemplatesResponse": { + "base": null, + "refs": { + } + }, + "ListMigrationWorkflowsRequest": { + "base": null, + "refs": { + } + }, + "ListMigrationWorkflowsResponse": { + "base": null, + "refs": { + } + }, + "ListPluginsRequest": { + "base": null, + "refs": { + } + }, + "ListPluginsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTemplateStepGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListTemplateStepGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListTemplateStepsRequest": { + "base": null, + "refs": { + } + }, + "ListTemplateStepsResponse": { + "base": null, + "refs": { + } + }, + "ListWorkflowStepGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListWorkflowStepGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListWorkflowStepsRequest": { + "base": null, + "refs": { + } + }, + "ListWorkflowStepsResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListMigrationWorkflowTemplatesRequest$maxResults": "

The maximum number of results that can be returned.

", + "ListMigrationWorkflowsRequest$maxResults": "

The maximum number of results that can be returned.

", + "ListPluginsRequest$maxResults": "

The maximum number of plugins that can be returned.

", + "ListTemplateStepGroupsRequest$maxResults": "

The maximum number of results that can be returned.

", + "ListTemplateStepsRequest$maxResults": "

The maximum number of results that can be returned.

", + "ListWorkflowStepGroupsRequest$maxResults": "

The maximum number of results that can be returned.

", + "ListWorkflowStepsRequest$maxResults": "

The maximum number of results that can be returned.

" + } + }, + "MigrationWorkflowDescription": { + "base": null, + "refs": { + "CreateWorkflowStepRequest$description": "

The description of the step.

" + } + }, + "MigrationWorkflowId": { + "base": null, + "refs": { + "CreateMigrationWorkflowResponse$id": "

The ID of the migration workflow.

", + "CreateWorkflowStepGroupRequest$workflowId": "

The ID of the migration workflow that will contain the step group.

", + "CreateWorkflowStepRequest$workflowId": "

The ID of the migration workflow.

", + "DeleteMigrationWorkflowRequest$id": "

The ID of the migration workflow you want to delete.

", + "DeleteMigrationWorkflowResponse$id": "

The ID of the migration workflow.

", + "DeleteWorkflowStepGroupRequest$workflowId": "

The ID of the migration workflow.

", + "DeleteWorkflowStepRequest$workflowId": "

The ID of the migration workflow.

", + "GetMigrationWorkflowRequest$id": "

The ID of the migration workflow.

", + "GetMigrationWorkflowResponse$id": "

The ID of the migration workflow.

", + "GetWorkflowStepGroupRequest$workflowId": "

The ID of the migration workflow.

", + "GetWorkflowStepRequest$workflowId": "

The ID of the migration workflow.

", + "ListWorkflowStepGroupsRequest$workflowId": "

The ID of the migration workflow.

", + "ListWorkflowStepsRequest$workflowId": "

The ID of the migration workflow.

", + "MigrationWorkflowSummary$id": "

The ID of the migration workflow.

", + "RetryWorkflowStepRequest$workflowId": "

The ID of the migration workflow.

", + "StartMigrationWorkflowRequest$id": "

The ID of the migration workflow.

", + "StartMigrationWorkflowResponse$id": "

The ID of the migration workflow.

", + "StopMigrationWorkflowRequest$id": "

The ID of the migration workflow.

", + "StopMigrationWorkflowResponse$id": "

The ID of the migration workflow.

", + "UpdateMigrationWorkflowRequest$id": "

The ID of the migration workflow.

", + "UpdateMigrationWorkflowResponse$id": "

The ID of the migration workflow.

", + "UpdateWorkflowStepGroupRequest$workflowId": "

The ID of the migration workflow.

", + "UpdateWorkflowStepRequest$workflowId": "

The ID of the migration workflow.

" + } + }, + "MigrationWorkflowName": { + "base": null, + "refs": { + "CreateWorkflowStepRequest$name": "

The name of the step.

" + } + }, + "MigrationWorkflowStatusEnum": { + "base": null, + "refs": { + "CreateMigrationWorkflowResponse$status": "

The status of the migration workflow.

", + "DeleteMigrationWorkflowResponse$status": "

The status of the migration workflow.

", + "GetMigrationWorkflowResponse$status": "

The status of the migration workflow.

", + "ListMigrationWorkflowsRequest$status": "

The status of the migration workflow.

", + "MigrationWorkflowSummary$status": "

The status of the migration workflow.

", + "StartMigrationWorkflowResponse$status": "

The status of the migration workflow.

", + "StopMigrationWorkflowResponse$status": "

The status of the migration workflow.

", + "UpdateMigrationWorkflowResponse$status": "

The status of the migration workflow.

" + } + }, + "MigrationWorkflowSummary": { + "base": "

The summary of a migration workflow.

", + "refs": { + "MigrationWorkflowSummaryList$member": null + } + }, + "MigrationWorkflowSummaryList": { + "base": null, + "refs": { + "ListMigrationWorkflowsResponse$migrationWorkflowSummary": "

The summary of the migration workflow.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListMigrationWorkflowTemplatesRequest$nextToken": "

The pagination token.

", + "ListMigrationWorkflowTemplatesResponse$nextToken": "

The pagination token.

", + "ListMigrationWorkflowsRequest$nextToken": "

The pagination token.

", + "ListMigrationWorkflowsResponse$nextToken": "

The pagination token.

", + "ListPluginsRequest$nextToken": "

The pagination token.

", + "ListPluginsResponse$nextToken": "

The pagination token.

", + "ListTemplateStepGroupsRequest$nextToken": "

The pagination token.

", + "ListTemplateStepGroupsResponse$nextToken": "

The pagination token.

", + "ListTemplateStepsRequest$nextToken": "

The pagination token.

", + "ListTemplateStepsResponse$nextToken": "

The pagination token.

", + "ListWorkflowStepGroupsRequest$nextToken": "

The pagination token.

", + "ListWorkflowStepGroupsResponse$nextToken": "

The pagination token.

", + "ListWorkflowStepsRequest$nextToken": "

The pagination token.

", + "ListWorkflowStepsResponse$nextToken": "

The pagination token.

" + } + }, + "Owner": { + "base": null, + "refs": { + "GetWorkflowStepGroupResponse$owner": "

The owner of the step group.

", + "GetWorkflowStepResponse$owner": "

The owner of the step.

", + "TemplateStepSummary$owner": "

The owner of the step.

", + "WorkflowStepGroupSummary$owner": "

The owner of the step group.

", + "WorkflowStepSummary$owner": "

The owner of the step.

" + } + }, + "PlatformCommand": { + "base": "

Command to be run on a particular operating system.

", + "refs": { + "StepAutomationConfiguration$command": "

The command to run the script.

", + "WorkflowStepAutomationConfiguration$command": "

The command required to run the script.

" + } + }, + "PlatformScriptKey": { + "base": "

The script location for a particular operating system.

", + "refs": { + "StepAutomationConfiguration$scriptLocationS3Key": "

The Amazon S3 key for the script location.

", + "WorkflowStepAutomationConfiguration$scriptLocationS3Key": "

The Amazon S3 key for the script location.

" + } + }, + "PluginHealth": { + "base": null, + "refs": { + "PluginSummary$status": "

The status of the plugin.

" + } + }, + "PluginId": { + "base": null, + "refs": { + "PluginSummary$pluginId": "

The ID of the plugin.

" + } + }, + "PluginSummaries": { + "base": null, + "refs": { + "ListPluginsResponse$plugins": "

Migration Hub Orchestrator plugins.

" + } + }, + "PluginSummary": { + "base": "

The summary of the Migration Hub Orchestrator plugin.

", + "refs": { + "PluginSummaries$member": null + } + }, + "PluginVersion": { + "base": null, + "refs": { + "PluginSummary$version": "

The version of the plugin.

" + } + }, + "ResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource.

", + "TagResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource to which you want to add tags.

", + "UntagResourceRequest$resourceArn": "

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

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

The resource is not available.

", + "refs": { + } + }, + "RetryWorkflowStepRequest": { + "base": null, + "refs": { + } + }, + "RetryWorkflowStepResponse": { + "base": null, + "refs": { + } + }, + "RunEnvironment": { + "base": null, + "refs": { + "StepAutomationConfiguration$runEnvironment": "

The source or target environment.

", + "WorkflowStepAutomationConfiguration$runEnvironment": "

The source or target environment.

" + } + }, + "S3Bucket": { + "base": null, + "refs": { + "WorkflowStepAutomationConfiguration$scriptLocationS3Bucket": "

The Amazon S3 bucket where the script is located.

" + } + }, + "S3Key": { + "base": null, + "refs": { + "PlatformScriptKey$linux": "

The script location for Linux.

", + "PlatformScriptKey$windows": "

The script location for Windows.

" + } + }, + "StartMigrationWorkflowRequest": { + "base": null, + "refs": { + } + }, + "StartMigrationWorkflowResponse": { + "base": null, + "refs": { + } + }, + "StepActionType": { + "base": null, + "refs": { + "CreateWorkflowStepRequest$stepActionType": "

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

", + "GetTemplateStepResponse$stepActionType": "

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

", + "GetWorkflowStepResponse$stepActionType": "

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

", + "TemplateStepSummary$stepActionType": "

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

", + "UpdateWorkflowStepRequest$stepActionType": "

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

", + "WorkflowStepSummary$stepActionType": "

The action type of the step. You must run and update the status of a manual step for the workflow to continue after the completion of the step.

" + } + }, + "StepAutomationConfiguration": { + "base": "

The custom script to run tests on source or target environments.

", + "refs": { + "GetTemplateStepResponse$stepAutomationConfiguration": "

The custom script to run tests on source or target environments.

" + } + }, + "StepDescription": { + "base": null, + "refs": { + "UpdateWorkflowStepRequest$description": "

The description of the step.

" + } + }, + "StepGroupDescription": { + "base": null, + "refs": { + "CreateWorkflowStepGroupRequest$description": "

The description of the step group.

", + "UpdateWorkflowStepGroupRequest$description": "

The description of the step group.

" + } + }, + "StepGroupId": { + "base": null, + "refs": { + "CreateWorkflowStepRequest$stepGroupId": "

The ID of the step group.

", + "DeleteWorkflowStepGroupRequest$id": "

The ID of the step group you want to delete.

", + "DeleteWorkflowStepRequest$stepGroupId": "

The ID of the step group that contains the step you want to delete.

", + "GetTemplateStepGroupRequest$id": "

The ID of the step group.

", + "GetTemplateStepRequest$stepGroupId": "

The ID of the step group.

", + "GetTemplateStepResponse$stepGroupId": "

The ID of the step group.

", + "GetWorkflowStepGroupRequest$id": "

The ID of the step group.

", + "GetWorkflowStepGroupResponse$id": "

The ID of the step group.

", + "GetWorkflowStepRequest$stepGroupId": "

desThe ID of the step group.

", + "ListTemplateStepsRequest$stepGroupId": "

The ID of the step group.

", + "ListWorkflowStepsRequest$stepGroupId": "

The ID of the step group.

", + "RetryWorkflowStepRequest$stepGroupId": "

The ID of the step group.

", + "UpdateWorkflowStepGroupRequest$id": "

The ID of the step group.

", + "UpdateWorkflowStepRequest$stepGroupId": "

The ID of the step group.

" + } + }, + "StepGroupName": { + "base": null, + "refs": { + "CreateWorkflowStepGroupRequest$name": "

The name of the step group.

", + "UpdateWorkflowStepGroupRequest$name": "

The name of the step group.

" + } + }, + "StepGroupStatus": { + "base": null, + "refs": { + "GetTemplateStepGroupResponse$status": "

The status of the step group.

", + "GetWorkflowStepGroupResponse$status": "

The status of the step group.

", + "WorkflowStepGroupSummary$status": "

The status of the step group.

" + } + }, + "StepId": { + "base": null, + "refs": { + "DeleteWorkflowStepRequest$id": "

The ID of the step you want to delete.

", + "GetTemplateStepRequest$id": "

The ID of the step.

", + "GetTemplateStepResponse$id": "

The ID of the step.

", + "GetWorkflowStepRequest$id": "

The ID of the step.

", + "RetryWorkflowStepRequest$id": "

The ID of the step.

", + "UpdateWorkflowStepRequest$id": "

The ID of the step.

", + "UpdateWorkflowStepResponse$id": "

The ID of the step.

" + } + }, + "StepInput": { + "base": "

A map of key value pairs that is generated when you create a migration workflow. The key value pairs will differ based on your selection of the template.

", + "refs": { + "StepInputParameters$value": null + } + }, + "StepInputParameters": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$inputParameters": "

The input parameters required to create a migration workflow.

", + "CreateMigrationWorkflowResponse$workflowInputs": "

The inputs for creating a migration workflow.

", + "GetMigrationWorkflowResponse$workflowInputs": "

The inputs required for creating the migration workflow.

", + "UpdateMigrationWorkflowRequest$inputParameters": "

The input parameters required to update a migration workflow.

", + "UpdateMigrationWorkflowResponse$workflowInputs": "

The inputs required to update a migration workflow.

" + } + }, + "StepInputParametersKey": { + "base": null, + "refs": { + "StepInputParameters$key": null + } + }, + "StepName": { + "base": null, + "refs": { + "UpdateWorkflowStepRequest$name": "

The name of the step.

" + } + }, + "StepOutput": { + "base": "

The output of the step.

", + "refs": { + "StepOutputList$member": null + } + }, + "StepOutputList": { + "base": null, + "refs": { + "GetTemplateStepResponse$outputs": "

The outputs of the step.

" + } + }, + "StepStatus": { + "base": null, + "refs": { + "GetWorkflowStepResponse$status": "

The status of the step.

", + "RetryWorkflowStepResponse$status": "

The status of the step.

", + "UpdateWorkflowStepRequest$status": "

The status of the step.

", + "WorkflowStepSummary$status": "

The status of the step.

" + } + }, + "StopMigrationWorkflowRequest": { + "base": null, + "refs": { + } + }, + "StopMigrationWorkflowResponse": { + "base": null, + "refs": { + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "CreateMigrationWorkflowResponse$arn": "

The Amazon Resource Name (ARN) of the migration workflow.

", + "CreateMigrationWorkflowResponse$name": "

The name of the migration workflow.

", + "CreateMigrationWorkflowResponse$description": "

The description of the migration workflow.

", + "CreateMigrationWorkflowResponse$templateId": "

The ID of the template.

", + "CreateMigrationWorkflowResponse$adsApplicationConfigurationId": "

The configuration ID of the application configured in Application Discovery Service.

", + "CreateWorkflowStepGroupResponse$workflowId": "

The ID of the migration workflow that contains the step group.

", + "CreateWorkflowStepGroupResponse$name": "

The name of the step group.

", + "CreateWorkflowStepGroupResponse$id": "

The ID of the step group.

", + "CreateWorkflowStepGroupResponse$description": "

The description of the step group.

", + "CreateWorkflowStepResponse$id": "

The ID of the step.

", + "CreateWorkflowStepResponse$stepGroupId": "

The ID of the step group.

", + "CreateWorkflowStepResponse$workflowId": "

The ID of the migration workflow.

", + "CreateWorkflowStepResponse$name": "

The name of the step.

", + "DeleteMigrationWorkflowResponse$arn": "

The Amazon Resource Name (ARN) of the migration workflow.

", + "GetMigrationWorkflowResponse$arn": "

The Amazon Resource Name (ARN) of the migration workflow.

", + "GetMigrationWorkflowResponse$name": "

The name of the migration workflow.

", + "GetMigrationWorkflowResponse$description": "

The description of the migration workflow.

", + "GetMigrationWorkflowResponse$templateId": "

The ID of the template.

", + "GetMigrationWorkflowResponse$adsApplicationConfigurationId": "

The configuration ID of the application configured in Application Discovery Service.

", + "GetMigrationWorkflowResponse$adsApplicationName": "

The name of the application configured in Application Discovery Service.

", + "GetMigrationWorkflowResponse$statusMessage": "

The status message of the migration workflow.

", + "GetMigrationWorkflowResponse$workflowBucket": "

The Amazon S3 bucket where the migration logs are stored.

", + "GetMigrationWorkflowTemplateResponse$id": "

The ID of the template.

", + "GetMigrationWorkflowTemplateResponse$name": "

The name of the template.

", + "GetMigrationWorkflowTemplateResponse$description": "

The time at which the template was last created.

", + "GetTemplateStepGroupResponse$templateId": "

The ID of the template.

", + "GetTemplateStepGroupResponse$id": "

The ID of the step group.

", + "GetTemplateStepGroupResponse$name": "

The name of the step group.

", + "GetTemplateStepGroupResponse$description": "

The description of the step group.

", + "GetTemplateStepResponse$name": "

The name of the step.

", + "GetTemplateStepResponse$description": "

The description of the step.

", + "GetTemplateStepResponse$creationTime": "

The time at which the step was created.

", + "GetWorkflowStepGroupResponse$workflowId": "

The ID of the migration workflow.

", + "GetWorkflowStepGroupResponse$name": "

The name of the step group.

", + "GetWorkflowStepGroupResponse$description": "

The description of the step group.

", + "GetWorkflowStepResponse$name": "

The name of the step.

", + "GetWorkflowStepResponse$stepGroupId": "

The ID of the step group.

", + "GetWorkflowStepResponse$workflowId": "

The ID of the migration workflow.

", + "GetWorkflowStepResponse$stepId": "

The ID of the step.

", + "GetWorkflowStepResponse$description": "

The description of the step.

", + "GetWorkflowStepResponse$statusMessage": "

The status message of the migration workflow.

", + "GetWorkflowStepResponse$scriptOutputLocation": "

The output location of the script.

", + "InternalServerException$message": null, + "ListMigrationWorkflowsRequest$name": "

The name of the migration workflow.

", + "MigrationWorkflowSummary$name": "

The name of the migration workflow.

", + "MigrationWorkflowSummary$templateId": "

The ID of the template.

", + "MigrationWorkflowSummary$adsApplicationConfigurationName": "

The name of the application configured in Application Discovery Service.

", + "MigrationWorkflowSummary$statusMessage": "

The status message of the migration workflow.

", + "PlatformCommand$linux": "

Command for Linux.

", + "PlatformCommand$windows": "

Command for Windows.

", + "PluginSummary$hostname": "

The name of the host.

", + "PluginSummary$registeredTime": "

The time at which the plugin was registered.

", + "ResourceNotFoundException$message": null, + "RetryWorkflowStepResponse$stepGroupId": "

The ID of the step group.

", + "RetryWorkflowStepResponse$workflowId": "

The ID of the migration workflow.

", + "RetryWorkflowStepResponse$id": "

The ID of the step.

", + "StartMigrationWorkflowResponse$arn": "

The Amazon Resource Name (ARN) of the migration workflow.

", + "StartMigrationWorkflowResponse$statusMessage": "

The status message of the migration workflow.

", + "StepAutomationConfiguration$scriptLocationS3Bucket": "

The Amazon S3 bucket where the script is located.

", + "StepOutput$name": "

The name of the step.

", + "StopMigrationWorkflowResponse$arn": "

The Amazon Resource Name (ARN) of the migration workflow.

", + "StopMigrationWorkflowResponse$statusMessage": "

The status message of the migration workflow.

", + "TemplateStepGroupSummary$id": "

The ID of the step group.

", + "TemplateStepGroupSummary$name": "

The name of the step group.

", + "TemplateStepSummary$id": "

The ID of the step.

", + "TemplateStepSummary$stepGroupId": "

The ID of the step group.

", + "TemplateStepSummary$templateId": "

The ID of the template.

", + "TemplateStepSummary$name": "

The name of the step.

", + "TemplateSummary$id": "

The ID of the template.

", + "TemplateSummary$name": "

The name of the template.

", + "TemplateSummary$arn": "

The Amazon Resource Name (ARN) of the template.

", + "TemplateSummary$description": "

The description of the template.

", + "ThrottlingException$message": null, + "Tool$name": "

The name of an AWS service.

", + "Tool$url": "

The URL of an AWS service.

", + "UpdateMigrationWorkflowResponse$arn": "

The Amazon Resource Name (ARN) of the migration workflow.

", + "UpdateMigrationWorkflowResponse$name": "

The name of the migration workflow.

", + "UpdateMigrationWorkflowResponse$description": "

The description of the migration workflow.

", + "UpdateMigrationWorkflowResponse$templateId": "

The ID of the template.

", + "UpdateMigrationWorkflowResponse$adsApplicationConfigurationId": "

The ID of the application configured in Application Discovery Service.

", + "UpdateWorkflowStepGroupResponse$workflowId": "

The ID of the migration workflow.

", + "UpdateWorkflowStepGroupResponse$name": "

The name of the step group.

", + "UpdateWorkflowStepGroupResponse$id": "

The ID of the step group.

", + "UpdateWorkflowStepGroupResponse$description": "

The description of the step group.

", + "UpdateWorkflowStepResponse$stepGroupId": "

The ID of the step group.

", + "UpdateWorkflowStepResponse$workflowId": "

The ID of the migration workflow.

", + "UpdateWorkflowStepResponse$name": "

The name of the step.

", + "ValidationException$message": null, + "WorkflowStepGroupSummary$id": "

The ID of the step group.

", + "WorkflowStepGroupSummary$name": "

The name of the step group.

", + "WorkflowStepSummary$stepId": "

The ID of the step.

", + "WorkflowStepSummary$name": "

The name of the step.

", + "WorkflowStepSummary$statusMessage": "

The status message of the migration workflow.

", + "WorkflowStepSummary$description": "

The description of the step.

", + "WorkflowStepSummary$scriptLocation": "

The location of the script.

" + } + }, + "StringList": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$stepTargets": "

The servers on which a step will be run.

", + "CreateMigrationWorkflowResponse$stepTargets": "

The servers on which a step will be run.

", + "CreateWorkflowStepGroupRequest$next": "

The next step group.

", + "CreateWorkflowStepGroupRequest$previous": "

The previous step group.

", + "CreateWorkflowStepGroupResponse$next": "

The next step group.

", + "CreateWorkflowStepGroupResponse$previous": "

The previous step group.

", + "CreateWorkflowStepRequest$stepTarget": "

The servers on which a step will be run.

", + "CreateWorkflowStepRequest$previous": "

The previous step.

", + "CreateWorkflowStepRequest$next": "

The next step.

", + "GetTemplateStepGroupResponse$previous": "

The previous step group.

", + "GetTemplateStepGroupResponse$next": "

The next step group.

", + "GetTemplateStepResponse$previous": "

The previous step.

", + "GetTemplateStepResponse$next": "

The next step.

", + "GetWorkflowStepGroupResponse$previous": "

The previous step group.

", + "GetWorkflowStepGroupResponse$next": "

The next step group.

", + "GetWorkflowStepResponse$stepTarget": "

The servers on which a step will be run.

", + "GetWorkflowStepResponse$previous": "

The previous step.

", + "GetWorkflowStepResponse$next": "

The next step.

", + "StepInput$listOfStringsValue": "

List of string values.

", + "TemplateStepGroupSummary$previous": "

The previous step group.

", + "TemplateStepGroupSummary$next": "

The next step group.

", + "TemplateStepSummary$previous": "

The previous step.

", + "TemplateStepSummary$next": "

The next step.

", + "UpdateMigrationWorkflowRequest$stepTargets": "

The servers on which a step will be run.

", + "UpdateMigrationWorkflowResponse$stepTargets": "

The servers on which a step will be run.

", + "UpdateWorkflowStepGroupRequest$next": "

The next step group.

", + "UpdateWorkflowStepGroupRequest$previous": "

The previous step group.

", + "UpdateWorkflowStepGroupResponse$next": "

The next step group.

", + "UpdateWorkflowStepGroupResponse$previous": "

The previous step group.

", + "UpdateWorkflowStepRequest$stepTarget": "

The servers on which a step will be run.

", + "UpdateWorkflowStepRequest$previous": "

The previous step.

", + "UpdateWorkflowStepRequest$next": "

The next step.

", + "WorkflowStepGroupSummary$previous": "

The previous step group.

", + "WorkflowStepGroupSummary$next": "

The next step group.

", + "WorkflowStepOutputUnion$listOfStringValue": "

The list of string value.

", + "WorkflowStepSummary$previous": "

The previous step.

", + "WorkflowStepSummary$next": "

The next step.

" + } + }, + "StringListMember": { + "base": null, + "refs": { + "StringList$member": null + } + }, + "StringMap": { + "base": null, + "refs": { + "CreateMigrationWorkflowRequest$tags": "

The tags to add on a migration workflow.

", + "CreateMigrationWorkflowResponse$tags": "

The tags to add on a migration workflow.

", + "GetMigrationWorkflowResponse$tags": "

The tags added to the migration workflow.

", + "StepInput$mapOfStringValue": "

Map of string values.

", + "UpdateMigrationWorkflowResponse$tags": "

The tags added to the migration workflow.

" + } + }, + "StringMapKey": { + "base": null, + "refs": { + "StringMap$key": null + } + }, + "StringMapValue": { + "base": null, + "refs": { + "StringMap$value": null + } + }, + "StringValue": { + "base": null, + "refs": { + "StepInput$stringValue": "

String value.

", + "WorkflowStepOutputUnion$stringValue": "

The string value.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

One or more tag keys. Specify only the tag keys, not the tag values.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "ListTagsForResourceResponse$tags": "

The tags added to a resource.

", + "TagResourceRequest$tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "TargetType": { + "base": null, + "refs": { + "StepAutomationConfiguration$targetType": "

The servers on which to run the script.

", + "TemplateStepSummary$targetType": "

The servers on which to run the script.

", + "WorkflowStepAutomationConfiguration$targetType": "

The servers on which to run the script.

" + } + }, + "TemplateId": { + "base": null, + "refs": { + "GetMigrationWorkflowTemplateRequest$id": "

The ID of the template.

", + "GetTemplateStepGroupRequest$templateId": "

The ID of the template.

", + "GetTemplateStepRequest$templateId": "

The ID of the template.

", + "GetTemplateStepResponse$templateId": "

The ID of the template.

", + "ListMigrationWorkflowsRequest$templateId": "

The ID of the template.

", + "ListTemplateStepGroupsRequest$templateId": "

The ID of the template.

", + "ListTemplateStepsRequest$templateId": "

The ID of the template.

" + } + }, + "TemplateInput": { + "base": "

The input parameters of a template.

", + "refs": { + "TemplateInputList$member": null + } + }, + "TemplateInputList": { + "base": null, + "refs": { + "GetMigrationWorkflowTemplateResponse$inputs": "

The inputs provided for the creation of the migration workflow.

" + } + }, + "TemplateInputName": { + "base": null, + "refs": { + "TemplateInput$inputName": "

The name of the template.

" + } + }, + "TemplateName": { + "base": null, + "refs": { + "ListMigrationWorkflowTemplatesRequest$name": "

The name of the template.

" + } + }, + "TemplateStatus": { + "base": null, + "refs": { + "GetMigrationWorkflowTemplateResponse$status": "

The status of the template.

" + } + }, + "TemplateStepGroupSummary": { + "base": "

The summary of the step group in the template.

", + "refs": { + "TemplateStepGroupSummaryList$member": null + } + }, + "TemplateStepGroupSummaryList": { + "base": null, + "refs": { + "ListTemplateStepGroupsResponse$templateStepGroupSummary": "

The summary of the step group in the template.

" + } + }, + "TemplateStepSummary": { + "base": "

The summary of the step.

", + "refs": { + "TemplateStepSummaryList$member": null + } + }, + "TemplateStepSummaryList": { + "base": null, + "refs": { + "ListTemplateStepsResponse$templateStepSummaryList": "

The list of summaries of steps in a template.

" + } + }, + "TemplateSummary": { + "base": "

The summary of the template.

", + "refs": { + "TemplateSummaryList$member": null + } + }, + "TemplateSummaryList": { + "base": null, + "refs": { + "ListMigrationWorkflowTemplatesResponse$templateSummary": "

The summary of the template.

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

The request was denied due to request throttling.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "CreateMigrationWorkflowResponse$creationTime": "

The time at which the migration workflow was created.

", + "CreateWorkflowStepGroupResponse$creationTime": "

The time at which the step group is created.

", + "GetMigrationWorkflowResponse$creationTime": "

The time at which the migration workflow was created.

", + "GetMigrationWorkflowResponse$lastStartTime": "

The time at which the migration workflow was last started.

", + "GetMigrationWorkflowResponse$lastStopTime": "

The time at which the migration workflow was last stopped.

", + "GetMigrationWorkflowResponse$lastModifiedTime": "

The time at which the migration workflow was last modified.

", + "GetMigrationWorkflowResponse$endTime": "

The time at which the migration workflow ended.

", + "GetMigrationWorkflowTemplateResponse$creationTime": "

The time at which the template was last created.

", + "GetTemplateStepGroupResponse$creationTime": "

The time at which the step group was created.

", + "GetTemplateStepGroupResponse$lastModifiedTime": "

The time at which the step group was last modified.

", + "GetWorkflowStepGroupResponse$creationTime": "

The time at which the step group was created.

", + "GetWorkflowStepGroupResponse$lastModifiedTime": "

The time at which the step group was last modified.

", + "GetWorkflowStepGroupResponse$endTime": "

The time at which the step group ended.

", + "GetWorkflowStepResponse$creationTime": "

The time at which the step was created.

", + "GetWorkflowStepResponse$lastStartTime": "

The time at which the workflow was last started.

", + "GetWorkflowStepResponse$endTime": "

The time at which the step ended.

", + "MigrationWorkflowSummary$creationTime": "

The time at which the migration workflow was created.

", + "MigrationWorkflowSummary$endTime": "

The time at which the migration workflow ended.

", + "StartMigrationWorkflowResponse$lastStartTime": "

The time at which the migration workflow was last started.

", + "StopMigrationWorkflowResponse$lastStopTime": "

The time at which the migration workflow was stopped.

", + "UpdateMigrationWorkflowResponse$creationTime": "

The time at which the migration workflow was created.

", + "UpdateMigrationWorkflowResponse$lastModifiedTime": "

The time at which the migration workflow was last modified.

", + "UpdateWorkflowStepGroupResponse$lastModifiedTime": "

The time at which the step group was last modified.

" + } + }, + "Tool": { + "base": "

List of AWS services utilized in a migration workflow.

", + "refs": { + "ToolsList$member": null + } + }, + "ToolsList": { + "base": null, + "refs": { + "CreateWorkflowStepGroupResponse$tools": "

List of AWS services utilized in a migration workflow.

", + "GetMigrationWorkflowResponse$tools": "

List of AWS services utilized in a migration workflow.

", + "GetMigrationWorkflowTemplateResponse$tools": "

List of AWS services utilized in a migration workflow.

", + "GetTemplateStepGroupResponse$tools": "

List of AWS services utilized in a migration workflow.

", + "GetWorkflowStepGroupResponse$tools": "

List of AWS services utilized in a migration workflow.

", + "UpdateWorkflowStepGroupResponse$tools": "

List of AWS services utilized in a migration workflow.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateMigrationWorkflowRequest": { + "base": null, + "refs": { + } + }, + "UpdateMigrationWorkflowRequestDescriptionString": { + "base": null, + "refs": { + "UpdateMigrationWorkflowRequest$description": "

The description of the migration workflow.

" + } + }, + "UpdateMigrationWorkflowRequestNameString": { + "base": null, + "refs": { + "UpdateMigrationWorkflowRequest$name": "

The name of the migration workflow.

" + } + }, + "UpdateMigrationWorkflowResponse": { + "base": null, + "refs": { + } + }, + "UpdateWorkflowStepGroupRequest": { + "base": null, + "refs": { + } + }, + "UpdateWorkflowStepGroupResponse": { + "base": null, + "refs": { + } + }, + "UpdateWorkflowStepRequest": { + "base": null, + "refs": { + } + }, + "UpdateWorkflowStepResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

The input fails to satisfy the constraints specified by an AWS service.

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

The custom script to run tests on source or target environments.

", + "refs": { + "CreateWorkflowStepRequest$workflowStepAutomationConfiguration": "

The custom script to run tests on source or target environments.

", + "GetWorkflowStepResponse$workflowStepAutomationConfiguration": "

The custom script to run tests on source or target environments.

", + "UpdateWorkflowStepRequest$workflowStepAutomationConfiguration": "

The custom script to run tests on the source and target environments.

" + } + }, + "WorkflowStepGroupSummary": { + "base": "

The summary of a step group in a workflow.

", + "refs": { + "WorkflowStepGroupsSummaryList$member": null + } + }, + "WorkflowStepGroupsSummaryList": { + "base": null, + "refs": { + "ListWorkflowStepGroupsResponse$workflowStepGroupsSummary": "

The summary of step groups in a migration workflow.

" + } + }, + "WorkflowStepOutput": { + "base": "

The output of a step.

", + "refs": { + "GetWorkflowStepResponseOutputsList$member": null, + "WorkflowStepOutputList$member": null + } + }, + "WorkflowStepOutputList": { + "base": null, + "refs": { + "CreateWorkflowStepRequest$outputs": "

The key value pairs added for the expected output.

", + "UpdateWorkflowStepRequest$outputs": "

The outputs of a step.

" + } + }, + "WorkflowStepOutputName": { + "base": null, + "refs": { + "WorkflowStepOutput$name": "

The name of the step.

" + } + }, + "WorkflowStepOutputUnion": { + "base": "

A structure to hold multiple values of an output.

", + "refs": { + "WorkflowStepOutput$value": "

The value of the output.

" + } + }, + "WorkflowStepSummary": { + "base": "

The summary of the step in a migration workflow.

", + "refs": { + "WorkflowStepsSummaryList$member": null + } + }, + "WorkflowStepsSummaryList": { + "base": null, + "refs": { + "ListWorkflowStepsResponse$workflowStepsSummary": "

The summary of steps in a migration workflow.

" + } + } + } +} diff --git a/models/apis/migrationhuborchestrator/2021-08-28/examples-1.json b/models/apis/migrationhuborchestrator/2021-08-28/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/migrationhuborchestrator/2021-08-28/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/migrationhuborchestrator/2021-08-28/paginators-1.json b/models/apis/migrationhuborchestrator/2021-08-28/paginators-1.json new file mode 100644 index 0000000000..4c452221fb --- /dev/null +++ b/models/apis/migrationhuborchestrator/2021-08-28/paginators-1.json @@ -0,0 +1,46 @@ +{ + "pagination": { + "ListPlugins": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "plugins" + }, + "ListTemplateStepGroups": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "templateStepGroupSummary" + }, + "ListTemplateSteps": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "templateStepSummaryList" + }, + "ListTemplates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "templateSummary" + }, + "ListWorkflowStepGroups": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "workflowStepGroupsSummary" + }, + "ListWorkflowSteps": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "workflowStepsSummary" + }, + "ListWorkflows": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "migrationWorkflowSummary" + } + } +} diff --git a/models/apis/migrationhuborchestrator/2021-08-28/smoke.json b/models/apis/migrationhuborchestrator/2021-08-28/smoke.json new file mode 100644 index 0000000000..a9756813e4 --- /dev/null +++ b/models/apis/migrationhuborchestrator/2021-08-28/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/migrationhuborchestrator/2021-08-28/waiters-2.json b/models/apis/migrationhuborchestrator/2021-08-28/waiters-2.json new file mode 100644 index 0000000000..13f60ee66b --- /dev/null +++ b/models/apis/migrationhuborchestrator/2021-08-28/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/polly/2016-06-10/api-2.json b/models/apis/polly/2016-06-10/api-2.json index 961e6eec54..df95387a4c 100644 --- a/models/apis/polly/2016-06-10/api-2.json +++ b/models/apis/polly/2016-06-10/api-2.json @@ -378,7 +378,8 @@ "en-NZ", "en-ZA", "ca-ES", - "de-AT" + "de-AT", + "yue-CN" ] }, "LanguageCodeList":{ @@ -838,7 +839,8 @@ "Daniel", "Liam", "Pedro", - "Kajal" + "Kajal", + "Hiujin" ] }, "VoiceList":{ diff --git a/models/apis/proton/2020-07-20/api-2.json b/models/apis/proton/2020-07-20/api-2.json index c92cd855df..414624bb59 100644 --- a/models/apis/proton/2020-07-20/api-2.json +++ b/models/apis/proton/2020-07-20/api-2.json @@ -1320,6 +1320,10 @@ "type":"string", "pattern":"^\\d{12}$" }, + "Boolean":{ + "type":"boolean", + "box":true + }, "CancelComponentDeploymentInput":{ "type":"structure", "required":["componentName"], @@ -3602,6 +3606,7 @@ "UpdateAccountSettingsInput":{ "type":"structure", "members":{ + "deletePipelineProvisioningRepository":{"shape":"Boolean"}, "pipelineProvisioningRepository":{"shape":"RepositoryBranchInput"}, "pipelineServiceRoleArn":{"shape":"PipelineRoleArn"} } diff --git a/models/apis/proton/2020-07-20/docs-2.json b/models/apis/proton/2020-07-20/docs-2.json index 00aa11c2eb..408444976f 100644 --- a/models/apis/proton/2020-07-20/docs-2.json +++ b/models/apis/proton/2020-07-20/docs-2.json @@ -1,56 +1,56 @@ { "version": "2.0", - "service": "

This is the Proton Service API Reference. It provides descriptions, syntax and usage examples for each of the actions and data types for the Proton service.

The documentation for each action shows the Query API request parameters and the XML response.

Alternatively, you can use the Amazon Web Services CLI to access an API. For more information, see the Amazon Web Services Command Line Interface User Guide.

The Proton service is a two-pronged automation framework. Administrators create service templates to provide standardized infrastructure and deployment tooling for serverless and container based applications. Developers, in turn, select from the available service templates to automate their application or service deployments.

Because administrators define the infrastructure and tooling that Proton deploys and manages, they need permissions to use all of the listed API operations.

When developers select a specific infrastructure and tooling set, Proton deploys their applications. To monitor their applications that are running on Proton, developers need permissions to the service create, list, update and delete API operations and the service instance list and update API operations.

To learn more about Proton administration, see the Proton Administrator Guide.

To learn more about deploying serverless and containerized applications on Proton, see the Proton User Guide.

Ensuring Idempotency

When you make a mutating API request, the request typically returns a result before the asynchronous workflows of the operation are complete. Operations might also time out or encounter other server issues before they're complete, even if the request already returned a result. This might make it difficult to determine whether the request succeeded. Moreover, you might need to retry the request multiple times to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation occurs multiple times. This means that you might create more resources than you intended.

Idempotency ensures that an API request action completes no more than one time. With an idempotent request, if the original request action completes successfully, any subsequent retries complete successfully without performing any further actions. However, the result might contain updated information, such as the current creation status.

The following lists of APIs are grouped according to methods that ensure idempotency.

Idempotent create APIs with a client token

The API actions in this list support idempotency with the use of a client token. The corresponding Amazon Web Services CLI commands also support idempotency using a client token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request using one of these actions, specify a client token in the request. We recommend that you don't reuse the same client token for other API requests. If you don’t provide a client token for these APIs, a default client token is automatically provided by SDKs.

Given a request action that has succeeded:

If you retry the request using the same client token and the same parameters, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.

If you retry the request using the same client token, but one or more of the parameters are different, the retry throws a ValidationException with an IdempotentParameterMismatch error.

Client tokens expire eight hours after a request is made. If you retry the request with the expired token, a new resource is created.

If the original resource is deleted and you retry the request, a new resource is created.

Idempotent create APIs with a client token:

Idempotent create APIs

Given a request action that has succeeded:

If you retry the request with an API from this group, and the original resource hasn't been modified, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.

If the original resource has been modified, the retry throws a ConflictException.

If you retry with different input parameters, the retry throws a ValidationException with an IdempotentParameterMismatch error.

Idempotent create APIs:

Idempotent delete APIs

Given a request action that has succeeded:

When you retry the request with an API from this group and the resource was deleted, its metadata is returned in the response.

If you retry and the resource doesn't exist, the response is empty.

In both cases, the retry succeeds.

Idempotent delete APIs:

Asynchronous idempotent delete APIs

Given a request action that has succeeded:

If you retry the request with an API from this group, if the original request delete operation status is DELETE_IN_PROGRESS, the retry returns the resource detail data in the response without performing any further actions.

If the original request delete operation is complete, a retry returns an empty response.

Asynchronous idempotent delete APIs:

", + "service": "

This is the Proton Service API Reference. It provides descriptions, syntax and usage examples for each of the actions and data types for the Proton service.

The documentation for each action shows the Query API request parameters and the XML response.

Alternatively, you can use the Amazon Web Services CLI to access an API. For more information, see the Amazon Web Services Command Line Interface User Guide.

The Proton service is a two-pronged automation framework. Administrators create service templates to provide standardized infrastructure and deployment tooling for serverless and container based applications. Developers, in turn, select from the available service templates to automate their application or service deployments.

Because administrators define the infrastructure and tooling that Proton deploys and manages, they need permissions to use all of the listed API operations.

When developers select a specific infrastructure and tooling set, Proton deploys their applications. To monitor their applications that are running on Proton, developers need permissions to the service create, list, update and delete API operations and the service instance list and update API operations.

To learn more about Proton, see the Proton User Guide.

Ensuring Idempotency

When you make a mutating API request, the request typically returns a result before the asynchronous workflows of the operation are complete. Operations might also time out or encounter other server issues before they're complete, even if the request already returned a result. This might make it difficult to determine whether the request succeeded. Moreover, you might need to retry the request multiple times to ensure that the operation completes successfully. However, if the original request and the subsequent retries are successful, the operation occurs multiple times. This means that you might create more resources than you intended.

Idempotency ensures that an API request action completes no more than one time. With an idempotent request, if the original request action completes successfully, any subsequent retries complete successfully without performing any further actions. However, the result might contain updated information, such as the current creation status.

The following lists of APIs are grouped according to methods that ensure idempotency.

Idempotent create APIs with a client token

The API actions in this list support idempotency with the use of a client token. The corresponding Amazon Web Services CLI commands also support idempotency using a client token. A client token is a unique, case-sensitive string of up to 64 ASCII characters. To make an idempotent API request using one of these actions, specify a client token in the request. We recommend that you don't reuse the same client token for other API requests. If you don’t provide a client token for these APIs, a default client token is automatically provided by SDKs.

Given a request action that has succeeded:

If you retry the request using the same client token and the same parameters, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.

If you retry the request using the same client token, but one or more of the parameters are different, the retry throws a ValidationException with an IdempotentParameterMismatch error.

Client tokens expire eight hours after a request is made. If you retry the request with the expired token, a new resource is created.

If the original resource is deleted and you retry the request, a new resource is created.

Idempotent create APIs with a client token:

Idempotent create APIs

Given a request action that has succeeded:

If you retry the request with an API from this group, and the original resource hasn't been modified, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.

If the original resource has been modified, the retry throws a ConflictException.

If you retry with different input parameters, the retry throws a ValidationException with an IdempotentParameterMismatch error.

Idempotent create APIs:

Idempotent delete APIs

Given a request action that has succeeded:

When you retry the request with an API from this group and the resource was deleted, its metadata is returned in the response.

If you retry and the resource doesn't exist, the response is empty.

In both cases, the retry succeeds.

Idempotent delete APIs:

Asynchronous idempotent delete APIs

Given a request action that has succeeded:

If you retry the request with an API from this group, if the original request delete operation status is DELETE_IN_PROGRESS, the retry returns the resource detail data in the response without performing any further actions.

If the original request delete operation is complete, a retry returns an empty response.

Asynchronous idempotent delete APIs:

", "operations": { - "AcceptEnvironmentAccountConnection": "

In a management account, an environment account connection request is accepted. When the environment account connection request is accepted, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.

For more information, see Environment account connections in the Proton Administrator guide.

", - "CancelComponentDeployment": "

Attempts to cancel a component deployment (for a component that is in the IN_PROGRESS deployment status).

For more information about components, see Proton components in the Proton Administrator Guide.

", - "CancelEnvironmentDeployment": "

Attempts to cancel an environment deployment on an UpdateEnvironment action, if the deployment is IN_PROGRESS. For more information, see Update an environment in the Proton Administrator guide.

The following list includes potential cancellation scenarios.

", - "CancelServiceInstanceDeployment": "

Attempts to cancel a service instance deployment on an UpdateServiceInstance action, if the deployment is IN_PROGRESS. For more information, see Update a service instance in the Proton Administrator guide or the Proton User guide.

The following list includes potential cancellation scenarios.

", - "CancelServicePipelineDeployment": "

Attempts to cancel a service pipeline deployment on an UpdateServicePipeline action, if the deployment is IN_PROGRESS. For more information, see Update a service pipeline in the Proton Administrator guide or the Proton User guide.

The following list includes potential cancellation scenarios.

", - "CreateComponent": "

Create an Proton component. A component is an infrastructure extension for a service instance.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "CreateEnvironment": "

Deploy a new environment. An Proton environment is created from an environment template that defines infrastructure and resources that can be shared across services.

You can provision environments using the following methods:

For more information, see Environments and Provisioning methods in the Proton Administrator Guide.

", - "CreateEnvironmentAccountConnection": "

Create an environment account connection in an environment account so that environment infrastructure resources can be provisioned in the environment account from a management account.

An environment account connection is a secure bi-directional connection between a management account and an environment account that maintains authorization and permissions. For more information, see Environment account connections in the Proton Administrator guide.

", - "CreateEnvironmentTemplate": "

Create an environment template for Proton. For more information, see Environment Templates in the Proton Administrator Guide.

You can create an environment template in one of the two following ways:

", + "AcceptEnvironmentAccountConnection": "

In a management account, an environment account connection request is accepted. When the environment account connection request is accepted, Proton can use the associated IAM role to provision environment infrastructure resources in the associated environment account.

For more information, see Environment account connections in the Proton User guide.

", + "CancelComponentDeployment": "

Attempts to cancel a component deployment (for a component that is in the IN_PROGRESS deployment status).

For more information about components, see Proton components in the Proton User Guide.

", + "CancelEnvironmentDeployment": "

Attempts to cancel an environment deployment on an UpdateEnvironment action, if the deployment is IN_PROGRESS. For more information, see Update an environment in the Proton User guide.

The following list includes potential cancellation scenarios.

", + "CancelServiceInstanceDeployment": "

Attempts to cancel a service instance deployment on an UpdateServiceInstance action, if the deployment is IN_PROGRESS. For more information, see Update a service instance in the Proton User guide.

The following list includes potential cancellation scenarios.

", + "CancelServicePipelineDeployment": "

Attempts to cancel a service pipeline deployment on an UpdateServicePipeline action, if the deployment is IN_PROGRESS. For more information, see Update a service pipeline in the Proton User guide.

The following list includes potential cancellation scenarios.

", + "CreateComponent": "

Create an Proton component. A component is an infrastructure extension for a service instance.

For more information about components, see Proton components in the Proton User Guide.

", + "CreateEnvironment": "

Deploy a new environment. An Proton environment is created from an environment template that defines infrastructure and resources that can be shared across services.

You can provision environments using the following methods:

For more information, see Environments and Provisioning methods in the Proton User Guide.

", + "CreateEnvironmentAccountConnection": "

Create an environment account connection in an environment account so that environment infrastructure resources can be provisioned in the environment account from a management account.

An environment account connection is a secure bi-directional connection between a management account and an environment account that maintains authorization and permissions. For more information, see Environment account connections in the Proton User guide.

", + "CreateEnvironmentTemplate": "

Create an environment template for Proton. For more information, see Environment Templates in the Proton User Guide.

You can create an environment template in one of the two following ways:

", "CreateEnvironmentTemplateVersion": "

Create a new major or minor version of an environment template. A major version of an environment template is a version that isn't backwards compatible. A minor version of an environment template is a version that's backwards compatible within its major version.

", - "CreateRepository": "

Create and register a link to a repository that can be used with self-managed provisioning (infrastructure or pipelines) or for template sync configurations. When you create a repository link, Proton creates a service-linked role for you.

For more information, see Self-managed provisioning, Template bundles, and Template sync configurations in the Proton Administrator Guide.

", - "CreateService": "

Create an Proton service. An Proton service is an instantiation of a service template and often includes several service instances and pipeline. For more information, see Services in the Proton Administrator Guide and Services in the Proton User Guide.

", - "CreateServiceTemplate": "

Create a service template. The administrator creates a service template to define standardized infrastructure and an optional CI/CD service pipeline. Developers, in turn, select the service template from Proton. If the selected service template includes a service pipeline definition, they provide a link to their source code repository. Proton then deploys and manages the infrastructure defined by the selected service template. For more information, see Service Templates in the Proton Administrator Guide.

", + "CreateRepository": "

Create and register a link to a repository. Proton uses the link to repeatedly access the repository, to either push to it (self-managed provisioning) or pull from it (template sync). You can share a linked repository across multiple resources (like environments using self-managed provisioning, or synced templates). When you create a repository link, Proton creates a service-linked role for you.

For more information, see Self-managed provisioning, Template bundles, and Template sync configurations in the Proton User Guide.

", + "CreateService": "

Create an Proton service. An Proton service is an instantiation of a service template and often includes several service instances and pipeline. For more information, see Services in the Proton User Guide.

", + "CreateServiceTemplate": "

Create a service template. The administrator creates a service template to define standardized infrastructure and an optional CI/CD service pipeline. Developers, in turn, select the service template from Proton. If the selected service template includes a service pipeline definition, they provide a link to their source code repository. Proton then deploys and manages the infrastructure defined by the selected service template. For more information, see Proton templates in the Proton User Guide.

", "CreateServiceTemplateVersion": "

Create a new major or minor version of a service template. A major version of a service template is a version that isn't backward compatible. A minor version of a service template is a version that's backward compatible within its major version.

", - "CreateTemplateSyncConfig": "

Set up a template to create new template versions automatically. When a commit is pushed to your registered repository, Proton checks for changes to your repository template bundles. If it detects a template bundle change, a new major or minor version of its template is created, if the version doesn’t already exist. For more information, see Template sync configurations in the Proton Administrator Guide.

", - "DeleteComponent": "

Delete an Proton component resource.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "CreateTemplateSyncConfig": "

Set up a template to create new template versions automatically by tracking a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

When a commit is pushed to your linked repository, Proton checks for changes to your repository template bundles. If it detects a template bundle change, a new major or minor version of its template is created, if the version doesn’t already exist. For more information, see Template sync configurations in the Proton User Guide.

", + "DeleteComponent": "

Delete an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

", "DeleteEnvironment": "

Delete an environment.

", - "DeleteEnvironmentAccountConnection": "

In an environment account, delete an environment account connection.

After you delete an environment account connection that’s in use by an Proton environment, Proton can’t manage the environment infrastructure resources until a new environment account connection is accepted for the environment account and associated environment. You're responsible for cleaning up provisioned resources that remain without an environment connection.

For more information, see Environment account connections in the Proton Administrator guide.

", + "DeleteEnvironmentAccountConnection": "

In an environment account, delete an environment account connection.

After you delete an environment account connection that’s in use by an Proton environment, Proton can’t manage the environment infrastructure resources until a new environment account connection is accepted for the environment account and associated environment. You're responsible for cleaning up provisioned resources that remain without an environment connection.

For more information, see Environment account connections in the Proton User guide.

", "DeleteEnvironmentTemplate": "

If no other major or minor versions of an environment template exist, delete the environment template.

", "DeleteEnvironmentTemplateVersion": "

If no other minor versions of an environment template exist, delete a major version of the environment template if it's not the Recommended version. Delete the Recommended version of the environment template if no other major versions or minor versions of the environment template exist. A major version of an environment template is a version that's not backward compatible.

Delete a minor version of an environment template if it isn't the Recommended version. Delete a Recommended minor version of the environment template if no other minor versions of the environment template exist. A minor version of an environment template is a version that's backward compatible.

", "DeleteRepository": "

De-register and unlink your repository.

", - "DeleteService": "

Delete a service, with its instances and pipeline.

You can't delete a service if it has any service instances that have components attached to them.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "DeleteService": "

Delete a service, with its instances and pipeline.

You can't delete a service if it has any service instances that have components attached to them.

For more information about components, see Proton components in the Proton User Guide.

", "DeleteServiceTemplate": "

If no other major or minor versions of the service template exist, delete the service template.

", "DeleteServiceTemplateVersion": "

If no other minor versions of a service template exist, delete a major version of the service template if it's not the Recommended version. Delete the Recommended version of the service template if no other major versions or minor versions of the service template exist. A major version of a service template is a version that isn't backwards compatible.

Delete a minor version of a service template if it's not the Recommended version. Delete a Recommended minor version of the service template if no other minor versions of the service template exist. A minor version of a service template is a version that's backwards compatible.

", "DeleteTemplateSyncConfig": "

Delete a template sync configuration.

", - "GetAccountSettings": "

Get detail data for the Proton pipeline service role.

", - "GetComponent": "

Get detailed data for a component.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "GetAccountSettings": "

Get detail data for Proton account-wide settings.

", + "GetComponent": "

Get detailed data for a component.

For more information about components, see Proton components in the Proton User Guide.

", "GetEnvironment": "

Get detailed data for an environment.

", - "GetEnvironmentAccountConnection": "

In an environment account, get the detailed data for an environment account connection.

For more information, see Environment account connections in the Proton Administrator guide.

", + "GetEnvironmentAccountConnection": "

In an environment account, get the detailed data for an environment account connection.

For more information, see Environment account connections in the Proton User guide.

", "GetEnvironmentTemplate": "

Get detailed data for an environment template.

", "GetEnvironmentTemplateVersion": "

Get detailed data for a major or minor version of an environment template.

", - "GetRepository": "

Get detail data for a repository.

", - "GetRepositorySyncStatus": "

Get the sync status of a repository used for Proton template sync. For more information about template sync, see .

A repository sync status isn't tied to the Proton Repository resource (or any other Proton resource). Therefore, tags on an Proton Repository resource have no effect on this action. Specifically, you can't use these tags to control access to this action using Attribute-based access control (ABAC).

For more information about ABAC, see ABAC in the Proton Administrator Guide.

", + "GetRepository": "

Get detail data for a linked repository.

", + "GetRepositorySyncStatus": "

Get the sync status of a repository used for Proton template sync. For more information about template sync, see .

A repository sync status isn't tied to the Proton Repository resource (or any other Proton resource). Therefore, tags on an Proton Repository resource have no effect on this action. Specifically, you can't use these tags to control access to this action using Attribute-based access control (ABAC).

For more information about ABAC, see ABAC in the Proton User Guide.

", "GetService": "

Get detailed data for a service.

", "GetServiceInstance": "

Get detailed data for a service instance. A service instance is an instantiation of service template and it runs in a specific environment.

", "GetServiceTemplate": "

Get detailed data for a service template.

", "GetServiceTemplateVersion": "

Get detailed data for a major or minor version of a service template.

", "GetTemplateSyncConfig": "

Get detail data for a template sync configuration.

", "GetTemplateSyncStatus": "

Get the status of a template sync.

", - "ListComponentOutputs": "

Get a list of component Infrastructure as Code (IaC) outputs.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "ListComponentProvisionedResources": "

List provisioned resources for a component with details.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "ListComponents": "

List components with summary data. You can filter the result list by environment, service, or a single service instance.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "ListEnvironmentAccountConnections": "

View a list of environment account connections.

For more information, see Environment account connections in the Proton Administrator guide.

", + "ListComponentOutputs": "

Get a list of component Infrastructure as Code (IaC) outputs.

For more information about components, see Proton components in the Proton User Guide.

", + "ListComponentProvisionedResources": "

List provisioned resources for a component with details.

For more information about components, see Proton components in the Proton User Guide.

", + "ListComponents": "

List components with summary data. You can filter the result list by environment, service, or a single service instance.

For more information about components, see Proton components in the Proton User Guide.

", + "ListEnvironmentAccountConnections": "

View a list of environment account connections.

For more information, see Environment account connections in the Proton User guide.

", "ListEnvironmentOutputs": "

List the infrastructure as code outputs for your environment.

", "ListEnvironmentProvisionedResources": "

List the provisioned resources for your environment.

", "ListEnvironmentTemplateVersions": "

List major or minor versions of an environment template with detail data.

", "ListEnvironmentTemplates": "

List environment templates.

", "ListEnvironments": "

List environments with detail data summaries.

", - "ListRepositories": "

List repositories with detail data.

", + "ListRepositories": "

List linked repositories with detail data.

", "ListRepositorySyncDefinitions": "

List repository sync definitions with detail data.

", "ListServiceInstanceOutputs": "

Get a list service of instance Infrastructure as Code (IaC) outputs.

", "ListServiceInstanceProvisionedResources": "

List provisioned resources for a service instance with details.

", @@ -60,23 +60,23 @@ "ListServiceTemplateVersions": "

List major or minor versions of a service template with detail data.

", "ListServiceTemplates": "

List service templates with detail data.

", "ListServices": "

List services with summaries of detail data.

", - "ListTagsForResource": "

List tags for a resource. For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "NotifyResourceDeploymentStatusChange": "

Notify Proton of status changes to a provisioned resource when you use self-managed provisioning.

For more information, see Self-managed provisioning in the Proton Administrator Guide.

", - "RejectEnvironmentAccountConnection": "

In a management account, reject an environment account connection from another environment account.

After you reject an environment account connection request, you can't accept or use the rejected environment account connection.

You can’t reject an environment account connection that's connected to an environment.

For more information, see Environment account connections in the Proton Administrator guide.

", - "TagResource": "

Tag a resource. A tag is a key-value pair of metadata that you associate with an Proton resource.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "UntagResource": "

Remove a customer tag from a resource. A tag is a key-value pair of metadata associated with an Proton resource.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "UpdateAccountSettings": "

Update the Proton service pipeline role or repository settings.

", - "UpdateComponent": "

Update a component.

There are a few modes for updating a component. The deploymentType field defines the mode.

You can't update a component while its deployment status, or the deployment status of a service instance attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "UpdateEnvironment": "

Update an environment.

If the environment is associated with an environment account connection, don't update or include the protonServiceRoleArn and provisioningRepository parameter to update or connect to an environment account connection.

You can only update to a new environment account connection if that connection was created in the same environment account that the current environment account connection was created in. The account connection must also be associated with the current environment.

If the environment isn't associated with an environment account connection, don't update or include the environmentAccountConnectionId parameter. You can't update or connect the environment to an environment account connection if it isn't already associated with an environment connection.

You can update either the environmentAccountConnectionId or protonServiceRoleArn parameter and value. You can’t update both.

If the environment was configured for Amazon Web Services-managed provisioning, omit the provisioningRepository parameter.

If the environment was configured for self-managed provisioning, specify the provisioningRepository parameter and omit the protonServiceRoleArn and environmentAccountConnectionId parameters.

For more information, see Environments and Provisioning methods in the Proton Administrator Guide.

There are four modes for updating an environment. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the environment is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include minor or major version parameters when you use this deployment-type.

MINOR_VERSION

In this mode, the environment is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can also specify a different minor version of the current major version in use.

MAJOR_VERSION

In this mode, the environment is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can also specify a different major version that's higher than the major version in use and a minor version.

", - "UpdateEnvironmentAccountConnection": "

In an environment account, update an environment account connection to use a new IAM role.

For more information, see Environment account connections in the Proton Administrator guide.

", + "ListTagsForResource": "

List tags for a resource. For more information, see Proton resources and tagging in the Proton User Guide.

", + "NotifyResourceDeploymentStatusChange": "

Notify Proton of status changes to a provisioned resource when you use self-managed provisioning.

For more information, see Self-managed provisioning in the Proton User Guide.

", + "RejectEnvironmentAccountConnection": "

In a management account, reject an environment account connection from another environment account.

After you reject an environment account connection request, you can't accept or use the rejected environment account connection.

You can’t reject an environment account connection that's connected to an environment.

For more information, see Environment account connections in the Proton User guide.

", + "TagResource": "

Tag a resource. A tag is a key-value pair of metadata that you associate with an Proton resource.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "UntagResource": "

Remove a customer tag from a resource. A tag is a key-value pair of metadata associated with an Proton resource.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "UpdateAccountSettings": "

Update Proton settings that are used for multiple services in the Amazon Web Services account.

", + "UpdateComponent": "

Update a component.

There are a few modes for updating a component. The deploymentType field defines the mode.

You can't update a component while its deployment status, or the deployment status of a service instance attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton User Guide.

", + "UpdateEnvironment": "

Update an environment.

If the environment is associated with an environment account connection, don't update or include the protonServiceRoleArn and provisioningRepository parameter to update or connect to an environment account connection.

You can only update to a new environment account connection if that connection was created in the same environment account that the current environment account connection was created in. The account connection must also be associated with the current environment.

If the environment isn't associated with an environment account connection, don't update or include the environmentAccountConnectionId parameter. You can't update or connect the environment to an environment account connection if it isn't already associated with an environment connection.

You can update either the environmentAccountConnectionId or protonServiceRoleArn parameter and value. You can’t update both.

If the environment was configured for Amazon Web Services-managed provisioning, omit the provisioningRepository parameter.

If the environment was configured for self-managed provisioning, specify the provisioningRepository parameter and omit the protonServiceRoleArn and environmentAccountConnectionId parameters.

For more information, see Environments and Provisioning methods in the Proton User Guide.

There are four modes for updating an environment. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the environment is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include minor or major version parameters when you use this deployment-type.

MINOR_VERSION

In this mode, the environment is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can also specify a different minor version of the current major version in use.

MAJOR_VERSION

In this mode, the environment is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can also specify a different major version that's higher than the major version in use and a minor version.

", + "UpdateEnvironmentAccountConnection": "

In an environment account, update an environment account connection to use a new IAM role.

For more information, see Environment account connections in the Proton User guide.

", "UpdateEnvironmentTemplate": "

Update an environment template.

", "UpdateEnvironmentTemplateVersion": "

Update a major or minor version of an environment template.

", - "UpdateService": "

Edit a service description or use a spec to add and delete service instances.

Existing service instances and the service pipeline can't be edited using this API. They can only be deleted.

Use the description parameter to modify the description.

Edit the spec parameter to add or delete instances.

You can't delete a service instance (remove it from the spec) if it has an attached component.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "UpdateServiceInstance": "

Update a service instance.

There are a few modes for updating a service instance. The deploymentType field defines the mode.

You can't update a service instance while its deployment status, or the deployment status of a component attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "UpdateService": "

Edit a service description or use a spec to add and delete service instances.

Existing service instances and the service pipeline can't be edited using this API. They can only be deleted.

Use the description parameter to modify the description.

Edit the spec parameter to add or delete instances.

You can't delete a service instance (remove it from the spec) if it has an attached component.

For more information about components, see Proton components in the Proton User Guide.

", + "UpdateServiceInstance": "

Update a service instance.

There are a few modes for updating a service instance. The deploymentType field defines the mode.

You can't update a service instance while its deployment status, or the deployment status of a component attached to it, is IN_PROGRESS.

For more information about components, see Proton components in the Proton User Guide.

", "UpdateServicePipeline": "

Update the service pipeline.

There are four modes for updating a service pipeline. The deploymentType field defines the mode.

NONE

In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.

CURRENT_VERSION

In this mode, the service pipeline is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment-type.

MINOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can specify a different minor version of the current major version in use.

MAJOR_VERSION

In this mode, the service pipeline is deployed and updated with the published, recommended (latest) major and minor version of the current template by default. You can specify a different major version that's higher than the major version in use and a minor version.

", "UpdateServiceTemplate": "

Update a service template.

", "UpdateServiceTemplateVersion": "

Update a major or minor version of a service template.

", - "UpdateTemplateSyncConfig": "

Update template sync configuration parameters, except for the templateName and templateType.

" + "UpdateTemplateSyncConfig": "

Update template sync configuration parameters, except for the templateName and templateType. Repository details (branch, name, and provider) should be of a linked repository. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

" }, "shapes": { "AcceptEnvironmentAccountConnectionInput": { @@ -95,7 +95,7 @@ } }, "AccountSettings": { - "base": "

The Proton pipeline service role and repository data shared across the Amazon Web Services account.

", + "base": "

Proton settings that are used for multiple services in the Amazon Web Services account.

", "refs": { "GetAccountSettingsOutput$accountSettings": "

The Proton pipeline service role detail data that's returned by Proton.

", "UpdateAccountSettingsOutput$accountSettings": "

The Proton pipeline service role and repository data shared across the Amazon Web Services account.

" @@ -104,36 +104,36 @@ "Arn": { "base": null, "refs": { - "CreateEnvironmentAccountConnectionInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

You must specify componentRoleArn to allow directly defined components to be associated with any environments running in this account.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "CreateEnvironmentAccountConnectionInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

You must specify componentRoleArn to allow directly defined components to be associated with any environments running in this account.

For more information about components, see Proton components in the Proton User Guide.

", "CreateEnvironmentAccountConnectionInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM service role that's created in the environment account. Proton uses this role to provision infrastructure resources in the associated environment account.

", - "CreateEnvironmentInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

You must specify componentRoleArn to allow directly defined components to be associated with this environment.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "CreateEnvironmentInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

You must specify componentRoleArn to allow directly defined components to be associated with this environment.

For more information about components, see Proton components in the Proton User Guide.

", "CreateEnvironmentInput$protonServiceRoleArn": "

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

To use Amazon Web Services-managed provisioning for the environment, specify either the environmentAccountConnectionId or protonServiceRoleArn parameter and omit the provisioningRepository parameter.

", "CreateEnvironmentTemplateInput$encryptionKey": "

A customer provided encryption key that Proton uses to encrypt data.

", - "CreateRepositoryInput$connectionArn": "

The Amazon Resource Name (ARN) of your Amazon Web Services CodeStar connection. For more information, see Setting up for Proton in the Proton Administrator Guide.

", + "CreateRepositoryInput$connectionArn": "

The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton to your repository provider account. For more information, see Setting up for Proton in the Proton User Guide.

", "CreateRepositoryInput$encryptionKey": "

The ARN of your customer Amazon Web Services Key Management Service (Amazon Web Services KMS) key.

", - "CreateServiceInput$repositoryConnectionArn": "

The Amazon Resource Name (ARN) of the repository connection. For more information, see Set up repository connection in the Proton Administrator Guide and Setting up with Proton in the Proton User Guide. Don't include this parameter if your service template doesn't include a service pipeline.

", + "CreateServiceInput$repositoryConnectionArn": "

The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide. Don't include this parameter if your service template doesn't include a service pipeline.

", "CreateServiceTemplateInput$encryptionKey": "

A customer provided encryption key that's used to encrypt data.

", - "Environment$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "Environment$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton User Guide.

", "Environment$protonServiceRoleArn": "

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

", - "EnvironmentAccountConnection$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "EnvironmentAccountConnection$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

", "EnvironmentAccountConnection$roleArn": "

The IAM service role that's associated with the environment account connection.

", - "EnvironmentAccountConnectionSummary$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "EnvironmentAccountConnectionSummary$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

", "EnvironmentAccountConnectionSummary$roleArn": "

The IAM service role that's associated with the environment account connection.

", - "EnvironmentSummary$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "EnvironmentSummary$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton User Guide.

", "EnvironmentSummary$protonServiceRoleArn": "

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make calls to other services on your behalf.

", "EnvironmentTemplate$encryptionKey": "

The customer provided encryption key for the environment template.

", "ListTagsForResourceInput$resourceArn": "

The Amazon Resource Name (ARN) of the resource for the listed tags.

", "NotifyResourceDeploymentStatusChangeInput$resourceArn": "

The provisioned resource Amazon Resource Name (ARN).

", - "Repository$connectionArn": "

The repository Amazon Web Services CodeStar connection that connects Proton to your repository.

", + "Repository$connectionArn": "

The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects Proton to your repository provider account.

", "Repository$encryptionKey": "

Your customer Amazon Web Services KMS encryption key.

", - "Service$repositoryConnectionArn": "

The Amazon Resource Name (ARN) of the repository connection. For more information, see Set up a repository connection in the Proton Administrator Guide and Setting up with Proton in the Proton User Guide.

", + "Service$repositoryConnectionArn": "

The Amazon Resource Name (ARN) of the repository connection. For more information, see Setting up an AWS CodeStar connection in the Proton User Guide.

", "ServicePipeline$arn": "

The Amazon Resource Name (ARN) of the service pipeline.

", "ServiceTemplate$encryptionKey": "

The customer provided service template encryption key that's used to encrypt data.

", "TagResourceInput$resourceArn": "

The Amazon Resource Name (ARN) of the Proton resource to apply customer tags to.

", "UntagResourceInput$resourceArn": "

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

", - "UpdateEnvironmentAccountConnectionInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "UpdateEnvironmentAccountConnectionInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in the associated environment account. It determines the scope of infrastructure that a component can provision in the account.

The environment account connection must have a componentRoleArn to allow directly defined components to be associated with any environments running in the account.

For more information about components, see Proton components in the Proton User Guide.

", "UpdateEnvironmentAccountConnectionInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM service role that's associated with the environment account connection to update.

", - "UpdateEnvironmentInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "UpdateEnvironmentInput$componentRoleArn": "

The Amazon Resource Name (ARN) of the IAM service role that Proton uses when provisioning directly defined components in this environment. It determines the scope of infrastructure that a component can provision.

The environment must have a componentRoleArn to allow directly defined components to be associated with the environment.

For more information about components, see Proton components in the Proton User Guide.

", "UpdateEnvironmentInput$protonServiceRoleArn": "

The Amazon Resource Name (ARN) of the Proton service role that allows Proton to make API calls to other services your behalf.

" } }, @@ -149,6 +149,12 @@ "EnvironmentSummary$environmentAccountId": "

The ID of the environment account that the environment infrastructure resources are provisioned in.

" } }, + "Boolean": { + "base": null, + "refs": { + "UpdateAccountSettingsInput$deletePipelineProvisioningRepository": "

Set to true to remove a configured pipeline repository from the account settings. Don't set this field if you are updating the configured pipeline repository.

" + } + }, "CancelComponentDeploymentInput": { "base": null, "refs": { @@ -223,7 +229,7 @@ } }, "Component": { - "base": "

Detailed data of an Proton component resource.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "base": "

Detailed data of an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

", "refs": { "CancelComponentDeploymentOutput$component": "

The detailed data of the component with the deployment that is being canceled.

", "CreateComponentOutput$component": "

The detailed data of the created component.

", @@ -246,7 +252,7 @@ } }, "ComponentSummary": { - "base": "

Summary data of an Proton component resource.

For more information about components, see Proton components in the Proton Administrator Guide.

", + "base": "

Summary data of an Proton component resource.

For more information about components, see Proton components in the Proton User Guide.

", "refs": { "ComponentSummaryList$member": null } @@ -588,7 +594,7 @@ "base": null, "refs": { "AcceptEnvironmentAccountConnectionInput$id": "

The ID of the environment account connection.

", - "CreateEnvironmentInput$environmentAccountConnectionId": "

The ID of the environment account connection that you provide if you're provisioning your environment infrastructure resources to an environment account. For more information, see Environment account connections in the Proton Administrator guide.

To use Amazon Web Services-managed provisioning for the environment, specify either the environmentAccountConnectionId or protonServiceRoleArn parameter and omit the provisioningRepository parameter.

", + "CreateEnvironmentInput$environmentAccountConnectionId": "

The ID of the environment account connection that you provide if you're provisioning your environment infrastructure resources to an environment account. For more information, see Environment account connections in the Proton User guide.

To use Amazon Web Services-managed provisioning for the environment, specify either the environmentAccountConnectionId or protonServiceRoleArn parameter and omit the provisioningRepository parameter.

", "DeleteEnvironmentAccountConnectionInput$id": "

The ID of the environment account connection to delete.

", "Environment$environmentAccountConnectionId": "

The ID of the environment account connection that's used to provision infrastructure resources in an environment account.

", "EnvironmentAccountConnection$id": "

The ID of the environment account connection.

", @@ -884,7 +890,7 @@ "base": null, "refs": { "CreateServiceInput$branchName": "

The name of the code repository branch that holds the code that's deployed in Proton. Don't include this parameter if your service template doesn't include a service pipeline.

", - "CreateTemplateSyncConfigInput$branch": "

The branch of the registered repository for your template.

", + "CreateTemplateSyncConfigInput$branch": "

The repository branch for your template.

", "GetRepositorySyncStatusInput$branch": "

The repository branch.

", "RepositoryBranch$branch": "

The repository branch.

", "RepositoryBranchInput$branch": "

The repository branch.

", @@ -892,7 +898,7 @@ "Revision$branch": "

The repository branch.

", "Service$branchName": "

The name of the code repository branch that holds the code that's deployed in Proton.

", "TemplateSyncConfig$branch": "

The repository branch.

", - "UpdateTemplateSyncConfigInput$branch": "

The repository branch.

" + "UpdateTemplateSyncConfigInput$branch": "

The repository branch for your template.

" } }, "InternalServerException": { @@ -1195,7 +1201,7 @@ "base": null, "refs": { "AccountSettings$pipelineServiceRoleArn": "

The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, and by customer-owned automation for self-managed provisioning.

", - "UpdateAccountSettingsInput$pipelineServiceRoleArn": "

The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, and by customer-owned automation for self-managed provisioning.

" + "UpdateAccountSettingsInput$pipelineServiceRoleArn": "

The Amazon Resource Name (ARN) of the service role you want to use for provisioning pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, and by customer-owned automation for self-managed provisioning.

To remove a previously configured ARN, specify an empty string.

" } }, "ProvisionedResource": { @@ -1207,7 +1213,7 @@ "ProvisionedResourceEngine": { "base": "

List of provisioning engines

", "refs": { - "ProvisionedResource$provisioningEngine": "

The resource provisioning engine. At this time, CLOUDFORMATION can be used for Amazon Web Services-managed provisioning, and TERRAFORM can be used for self-managed provisioning.

For more information, see Self-managed provisioning in the Proton Administrator Guide.

" + "ProvisionedResource$provisioningEngine": "

The resource provisioning engine. At this time, CLOUDFORMATION can be used for Amazon Web Services-managed provisioning, and TERRAFORM can be used for self-managed provisioning.

For more information, see Self-managed provisioning in the Proton User Guide.

" } }, "ProvisionedResourceIdentifier": { @@ -1235,7 +1241,7 @@ "base": null, "refs": { "CreateEnvironmentTemplateInput$provisioning": "

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

", - "CreateServiceTemplateInput$pipelineProvisioning": "

By default, Proton provides a service pipeline for your service. When this parameter is included, it indicates that an Proton service pipeline isn't provided for your service. After it's included, it can't be changed. For more information, see Service template bundles in the Proton Administrator Guide.

", + "CreateServiceTemplateInput$pipelineProvisioning": "

By default, Proton provides a service pipeline for your service. When this parameter is included, it indicates that an Proton service pipeline isn't provided for your service. After it's included, it can't be changed. For more information, see Template bundles in the Proton User Guide.

", "Environment$provisioning": "

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

", "EnvironmentSummary$provisioning": "

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

", "EnvironmentTemplate$provisioning": "

When included, indicates that the environment template is for customer provisioned and managed infrastructure.

", @@ -1255,34 +1261,34 @@ } }, "Repository": { - "base": "

Detailed data of a repository that has been registered with Proton.

", + "base": "

Detailed data of a linked repository—a repository that has been registered with Proton.

", "refs": { - "CreateRepositoryOutput$repository": "

The repository detail data that's returned by Proton.

", - "DeleteRepositoryOutput$repository": "

The repository detail data that's returned by Proton.

", - "GetRepositoryOutput$repository": "

The repository detail data that's returned by Proton.

" + "CreateRepositoryOutput$repository": "

The repository link's detail data that's returned by Proton.

", + "DeleteRepositoryOutput$repository": "

The deleted repository link's detail data that's returned by Proton.

", + "GetRepositoryOutput$repository": "

The repository link's detail data that's returned by Proton.

" } }, "RepositoryArn": { "base": null, "refs": { - "Repository$arn": "

The repository Amazon Resource Name (ARN).

", - "RepositoryBranch$arn": "

The Amazon Resource Name (ARN) of the repository branch.

", - "RepositorySummary$arn": "

The Amazon Resource Name (ARN) for a repository.

" + "Repository$arn": "

The Amazon Resource Name (ARN) of the linked repository.

", + "RepositoryBranch$arn": "

The Amazon Resource Name (ARN) of the linked repository.

", + "RepositorySummary$arn": "

The Amazon Resource Name (ARN) of the linked repository.

" } }, "RepositoryBranch": { - "base": "

Detail data for a repository branch.

", + "base": "

Detail data for a linked repository branch.

", "refs": { - "AccountSettings$pipelineProvisioningRepository": "

The repository configured in the Amazon Web Services account for pipeline provisioning. Required it if you have environments configured for self-managed provisioning with services that include pipelines.

", - "Environment$provisioningRepository": "

The infrastructure repository that you use to host your rendered infrastructure templates for self-managed provisioning.

" + "AccountSettings$pipelineProvisioningRepository": "

The linked repository for pipeline provisioning. Required if you have environments configured for self-managed provisioning with services that include pipelines. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

", + "Environment$provisioningRepository": "

The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

" } }, "RepositoryBranchInput": { - "base": "

Detail input data for a repository branch.

", + "base": "

Detail input data for a linked repository branch.

", "refs": { - "CreateEnvironmentInput$provisioningRepository": "

The infrastructure repository that you use to host your rendered infrastructure templates for self-managed provisioning.

To use self-managed provisioning for the environment, specify this parameter and omit the environmentAccountConnectionId and protonServiceRoleArn parameters.

", - "UpdateAccountSettingsInput$pipelineProvisioningRepository": "

A repository for pipeline provisioning. Specify it if you have environments configured for self-managed provisioning with services that include pipelines.

", - "UpdateEnvironmentInput$provisioningRepository": "

The infrastructure repository that you use to host your rendered infrastructure templates for self-managed provisioning.

" + "CreateEnvironmentInput$provisioningRepository": "

The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

To use self-managed provisioning for the environment, specify this parameter and omit the environmentAccountConnectionId and protonServiceRoleArn parameters.

", + "UpdateAccountSettingsInput$pipelineProvisioningRepository": "

A linked repository for pipeline provisioning. Specify it if you have environments configured for self-managed provisioning with services that include pipelines. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

To remove a previously configured repository, set deletePipelineProvisioningRepository to true, and don't set pipelineProvisioningRepository.

", + "UpdateEnvironmentInput$provisioningRepository": "

The linked repository that you use to host your rendered infrastructure templates for self-managed provisioning. A linked repository is a repository that has been registered with Proton. For more information, see CreateRepository.

" } }, "RepositoryId": { @@ -1296,8 +1302,8 @@ "base": null, "refs": { "CreateRepositoryInput$name": "

The repository name (for example, myrepos/myrepo).

", - "CreateTemplateSyncConfigInput$repositoryName": "

The name of your repository (for example, myrepos/myrepo).

", - "DeleteRepositoryInput$name": "

The name of the repository.

", + "CreateTemplateSyncConfigInput$repositoryName": "

The repository name (for example, myrepos/myrepo).

", + "DeleteRepositoryInput$name": "

The repository name.

", "GetRepositoryInput$name": "

The repository name, for example myrepos/myrepo.

", "GetRepositorySyncStatusInput$repositoryName": "

The repository name.

", "ListRepositorySyncDefinitionsInput$repositoryName": "

The repository name.

", @@ -1306,8 +1312,8 @@ "RepositoryBranchInput$name": "

The repository name.

", "RepositorySummary$name": "

The repository name.

", "Revision$repositoryName": "

The repository name.

", - "TemplateSyncConfig$repositoryName": "

The name of the repository, for example myrepos/myrepo.

", - "UpdateTemplateSyncConfigInput$repositoryName": "

The name of the repository (for example, myrepos/myrepo).

" + "TemplateSyncConfig$repositoryName": "

The repository name (for example, myrepos/myrepo).

", + "UpdateTemplateSyncConfigInput$repositoryName": "

The repository name (for example, myrepos/myrepo).

" } }, "RepositoryProvider": { @@ -1329,7 +1335,7 @@ } }, "RepositorySummary": { - "base": "

Summary data of a repository that has been registered with Proton.

", + "base": "

Summary data of a linked repository—a repository that has been registered with Proton.

", "refs": { "RepositorySummaryList$member": null } @@ -1337,7 +1343,7 @@ "RepositorySummaryList": { "base": null, "refs": { - "ListRepositoriesOutput$repositories": "

An array of repositories.

" + "ListRepositoriesOutput$repositories": "

An array of repository links.

" } }, "RepositorySyncAttempt": { @@ -1347,7 +1353,7 @@ } }, "RepositorySyncDefinition": { - "base": "

The repository sync definition.

", + "base": "

A repository sync definition.

", "refs": { "RepositorySyncDefinitionList$member": null } @@ -1406,7 +1412,7 @@ "CreateComponentInput$serviceName": "

The name of the service that serviceInstanceName is associated with. If you don't specify this, the component isn't attached to any service instance. Specify both serviceInstanceName and serviceName or neither of them.

", "CreateEnvironmentAccountConnectionInput$environmentName": "

The name of the Proton environment that's created in the associated management account.

", "CreateEnvironmentInput$name": "

The name of the environment.

", - "CreateEnvironmentInput$templateName": "

The name of the environment template. For more information, see Environment Templates in the Proton Administrator Guide.

", + "CreateEnvironmentInput$templateName": "

The name of the environment template. For more information, see Environment Templates in the Proton User Guide.

", "CreateEnvironmentTemplateInput$name": "

The name of the environment template.

", "CreateEnvironmentTemplateVersionInput$templateName": "

The name of the environment template.

", "CreateServiceInput$name": "

The service name.

", @@ -1436,7 +1442,7 @@ "GetComponentInput$name": "

The name of the component that you want to get the detailed data for.

", "GetEnvironmentInput$name": "

The name of the environment that you want to get the detailed data for.

", "GetEnvironmentTemplateInput$name": "

The name of the environment template that you want to get the detailed data for.

", - "GetEnvironmentTemplateVersionInput$templateName": "

The name of the environment template a version of which you want to get detailed data for..

", + "GetEnvironmentTemplateVersionInput$templateName": "

The name of the environment template a version of which you want to get detailed data for.

", "GetServiceInput$name": "

The name of the service that you want to get the detailed data for.

", "GetServiceInstanceInput$name": "

The name of a service instance that you want to get the detailed data for.

", "GetServiceInstanceInput$serviceName": "

The name of the service that the service instance belongs to.

", @@ -1613,7 +1619,7 @@ } }, "ServiceQuotaExceededException": { - "base": "

A quota was exceeded. For more information, see Proton Quotas in the Proton Administrator Guide.

", + "base": "

A quota was exceeded. For more information, see Proton Quotas in the Proton User Guide.

", "refs": { } }, @@ -1667,9 +1673,9 @@ "ServiceTemplateSupportedComponentSourceInputList": { "base": null, "refs": { - "CreateServiceTemplateVersionInput$supportedComponentSources": "

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "ServiceTemplateVersion$supportedComponentSources": "

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

For more information about components, see Proton components in the Proton Administrator Guide.

", - "UpdateServiceTemplateVersionInput$supportedComponentSources": "

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

A change to supportedComponentSources doesn't impact existing component attachments to instances based on this template version. A change only affects later associations.

For more information about components, see Proton components in the Proton Administrator Guide.

" + "CreateServiceTemplateVersionInput$supportedComponentSources": "

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

For more information about components, see Proton components in the Proton User Guide.

", + "ServiceTemplateVersion$supportedComponentSources": "

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

For more information about components, see Proton components in the Proton User Guide.

", + "UpdateServiceTemplateVersionInput$supportedComponentSources": "

An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.

A change to supportedComponentSources doesn't impact existing component attachments to instances based on this template version. A change only affects later associations.

For more information about components, see Proton components in the Proton User Guide.

" } }, "ServiceTemplateSupportedComponentSourceType": { @@ -1711,15 +1717,15 @@ "refs": { "Component$serviceSpec": "

The service spec that the component uses to access service inputs. Provided when a component is attached to a service instance.

", "CreateComponentInput$serviceSpec": "

The service spec that you want the component to use to access service inputs. Set this only when you attach the component to a service instance.

", - "CreateEnvironmentInput$spec": "

A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see Environments in the Proton Administrator Guide.

", - "CreateServiceInput$spec": "

A link to a spec file that provides inputs as defined in the service template bundle schema file. The spec file is in YAML format. Don’t include pipeline inputs in the spec if your service template doesn’t include a service pipeline. For more information, see Create a service in the Proton Administrator Guide and Create a service in the Proton User Guide.

", + "CreateEnvironmentInput$spec": "

A YAML formatted string that provides inputs as defined in the environment template bundle schema file. For more information, see Environments in the Proton User Guide.

", + "CreateServiceInput$spec": "

A link to a spec file that provides inputs as defined in the service template bundle schema file. The spec file is in YAML format. Don’t include pipeline inputs in the spec if your service template doesn’t include a service pipeline. For more information, see Create a service in the Proton User Guide.

", "Environment$spec": "

The environment spec.

", "Service$spec": "

The formatted specification that defines the service.

", "ServiceInstance$spec": "

The service spec that was used to create the service instance.

", "ServicePipeline$spec": "

The service spec that was used to create the service pipeline.

", "UpdateComponentInput$serviceSpec": "

The service spec that you want the component to use to access service inputs. Set this only when the component is attached to a service instance.

", "UpdateEnvironmentInput$spec": "

The formatted specification that defines the update.

", - "UpdateServiceInput$spec": "

Lists the service instances to add and the existing service instances to remain. Omit the existing service instances to delete from the list. Don't include edits to the existing service instances or pipeline. For more information, see Edit a service in the Proton Administrator Guide or the Proton User Guide.

", + "UpdateServiceInput$spec": "

Lists the service instances to add and the existing service instances to remain. Omit the existing service instances to delete from the list. Don't include edits to the existing service instances or pipeline. For more information, see Edit a service in the Proton User Guide.

", "UpdateServiceInstanceInput$spec": "

The formatted specification that defines the service instance update.

", "UpdateServicePipelineInput$spec": "

The spec for the service pipeline to update.

" } @@ -1797,15 +1803,15 @@ "TagList": { "base": null, "refs": { - "CreateComponentInput$tags": "

An optional list of metadata items that you can associate with the Proton component. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateEnvironmentAccountConnectionInput$tags": "

An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide.

", - "CreateEnvironmentInput$tags": "

An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateEnvironmentTemplateInput$tags": "

An optional list of metadata items that you can associate with the Proton environment template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateEnvironmentTemplateVersionInput$tags": "

An optional list of metadata items that you can associate with the Proton environment template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateRepositoryInput$tags": "

An optional list of metadata items that you can associate with the Proton repository. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateServiceInput$tags": "

An optional list of metadata items that you can associate with the Proton service. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateServiceTemplateInput$tags": "

An optional list of metadata items that you can associate with the Proton service template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", - "CreateServiceTemplateVersionInput$tags": "

An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton Administrator Guide or Proton User Guide.

", + "CreateComponentInput$tags": "

An optional list of metadata items that you can associate with the Proton component. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateEnvironmentAccountConnectionInput$tags": "

An optional list of metadata items that you can associate with the Proton environment account connection. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateEnvironmentInput$tags": "

An optional list of metadata items that you can associate with the Proton environment. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateEnvironmentTemplateInput$tags": "

An optional list of metadata items that you can associate with the Proton environment template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateEnvironmentTemplateVersionInput$tags": "

An optional list of metadata items that you can associate with the Proton environment template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateRepositoryInput$tags": "

An optional list of metadata items that you can associate with the Proton repository. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateServiceInput$tags": "

An optional list of metadata items that you can associate with the Proton service. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateServiceTemplateInput$tags": "

An optional list of metadata items that you can associate with the Proton service template. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", + "CreateServiceTemplateVersionInput$tags": "

An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair.

For more information, see Proton resources and tagging in the Proton User Guide.

", "ListTagsForResourceOutput$tags": "

A list of resource tags with detail data.

", "TagResourceInput$tags": "

A list of customer tags to apply to the Proton resource.

" } diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index 7b56f9639b..c1827b9ad7 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -7833,7 +7833,8 @@ "ProfilerRuleEvaluationStatuses":{"shape":"ProfilerRuleEvaluationStatuses"}, "ProfilingStatus":{"shape":"ProfilingStatus"}, "RetryStrategy":{"shape":"RetryStrategy"}, - "Environment":{"shape":"TrainingEnvironmentMap"} + "Environment":{"shape":"TrainingEnvironmentMap"}, + "WarmPoolStatus":{"shape":"WarmPoolStatus"} } }, "DescribeTransformJobRequest":{ @@ -10389,6 +10390,11 @@ "LifecycleConfigArns":{"shape":"LifecycleConfigArns"} } }, + "KeepAlivePeriodInSeconds":{ + "type":"integer", + "max":3600, + "min":0 + }, "KernelDisplayName":{ "type":"string", "max":1024 @@ -11883,7 +11889,8 @@ "NameContains":{"shape":"NameContains"}, "StatusEquals":{"shape":"TrainingJobStatus"}, "SortBy":{"shape":"SortBy"}, - "SortOrder":{"shape":"SortOrder"} + "SortOrder":{"shape":"SortOrder"}, + "WarmPoolStatusEquals":{"shape":"WarmPoolResourceStatus"} } }, "ListTrainingJobsResponse":{ @@ -15012,7 +15019,15 @@ "InstanceCount":{"shape":"TrainingInstanceCount"}, "VolumeSizeInGB":{"shape":"VolumeSizeInGB"}, "VolumeKmsKeyId":{"shape":"KmsKeyId"}, - "InstanceGroups":{"shape":"InstanceGroups"} + "InstanceGroups":{"shape":"InstanceGroups"}, + "KeepAlivePeriodInSeconds":{"shape":"KeepAlivePeriodInSeconds"} + } + }, + "ResourceConfigForUpdate":{ + "type":"structure", + "required":["KeepAlivePeriodInSeconds"], + "members":{ + "KeepAlivePeriodInSeconds":{"shape":"KeepAlivePeriodInSeconds"} } }, "ResourceId":{ @@ -15062,6 +15077,10 @@ "min":1, "pattern":".+" }, + "ResourceRetainedBillableTimeInSeconds":{ + "type":"integer", + "min":0 + }, "ResourceSpec":{ "type":"structure", "members":{ @@ -16417,7 +16436,8 @@ "CreationTime":{"shape":"Timestamp"}, "TrainingEndTime":{"shape":"Timestamp"}, "LastModifiedTime":{"shape":"Timestamp"}, - "TrainingJobStatus":{"shape":"TrainingJobStatus"} + "TrainingJobStatus":{"shape":"TrainingJobStatus"}, + "WarmPoolStatus":{"shape":"WarmPoolStatus"} } }, "TrainingSpecification":{ @@ -17259,7 +17279,8 @@ "members":{ "TrainingJobName":{"shape":"TrainingJobName"}, "ProfilerConfig":{"shape":"ProfilerConfigForUpdate"}, - "ProfilerRuleConfigurations":{"shape":"ProfilerRuleConfigurations"} + "ProfilerRuleConfigurations":{"shape":"ProfilerRuleConfigurations"}, + "ResourceConfig":{"shape":"ResourceConfigForUpdate"} } }, "UpdateTrainingJobResponse":{ @@ -17532,6 +17553,24 @@ "max":3600, "min":0 }, + "WarmPoolResourceStatus":{ + "type":"string", + "enum":[ + "Available", + "Terminated", + "Reused", + "InUse" + ] + }, + "WarmPoolStatus":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"WarmPoolResourceStatus"}, + "ResourceRetainedBillableTimeInSeconds":{"shape":"ResourceRetainedBillableTimeInSeconds"}, + "ReusedByJob":{"shape":"TrainingJobName"} + } + }, "Workforce":{ "type":"structure", "required":[ diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index 7deb792011..d33414cc5d 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -259,7 +259,7 @@ "UpdatePipeline": "

Updates a pipeline.

", "UpdatePipelineExecution": "

Updates a pipeline execution.

", "UpdateProject": "

Updates a machine learning (ML) project that is created from a template that sets up an ML pipeline from training to deploying an approved model.

You must not update a project that is in use. If you update the ServiceCatalogProvisioningUpdateDetails of a project that is active or being created, or updated, you may lose resources already created by the project.

", - "UpdateTrainingJob": "

Update a model training job to request a new Debugger profiling configuration.

", + "UpdateTrainingJob": "

Update a model training job to request a new Debugger profiling configuration or to change warm pool retention length.

", "UpdateTrial": "

Updates the display name of a trial.

", "UpdateTrialComponent": "

Updates one or more properties of a trial component.

", "UpdateUserProfile": "

Updates a user profile.

", @@ -5756,6 +5756,13 @@ "UserSettings$JupyterServerAppSettings": "

The Jupyter server's app settings.

" } }, + "KeepAlivePeriodInSeconds": { + "base": null, + "refs": { + "ResourceConfig$KeepAlivePeriodInSeconds": "

The duration of time in seconds to retain configured resources in a warm pool for subsequent training jobs.

", + "ResourceConfigForUpdate$KeepAlivePeriodInSeconds": "

The KeepAlivePeriodInSeconds value specified in the ResourceConfig to update.

" + } + }, "KernelDisplayName": { "base": null, "refs": { @@ -9706,6 +9713,12 @@ "TrainingJobDefinition$ResourceConfig": "

The resources, including the ML compute instances and ML storage volumes, to use for model training.

" } }, + "ResourceConfigForUpdate": { + "base": "

The ResourceConfig to update KeepAlivePeriodInSeconds. Other fields in the ResourceConfig cannot be updated.

", + "refs": { + "UpdateTrainingJobRequest$ResourceConfig": "

The training job ResourceConfig to update warm pool retention length.

" + } + }, "ResourceId": { "base": null, "refs": { @@ -9749,6 +9762,12 @@ "SearchRequest$SortBy": "

The name of the resource property used to sort the SearchResults. The default is LastModifiedTime.

" } }, + "ResourceRetainedBillableTimeInSeconds": { + "base": null, + "refs": { + "WarmPoolStatus$ResourceRetainedBillableTimeInSeconds": "

The billable time in seconds used by the warm pool. Billable time refers to the absolute wall-clock time.

Multiply ResourceRetainedBillableTimeInSeconds by the number of instances (InstanceCount) in your training cluster to get the total compute time SageMaker bills you if you run warm pool training. The formula is as follows: ResourceRetainedBillableTimeInSeconds * InstanceCount.

" + } + }, "ResourceSpec": { "base": "

Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that the version runs on.

", "refs": { @@ -11527,7 +11546,8 @@ "StopTrainingJobRequest$TrainingJobName": "

The name of the training job to stop.

", "TrainingJob$TrainingJobName": "

The name of the training job.

", "TrainingJobSummary$TrainingJobName": "

The name of the training job that you want a summary for.

", - "UpdateTrainingJobRequest$TrainingJobName": "

The name of a training job to update the Debugger profiling configuration.

" + "UpdateTrainingJobRequest$TrainingJobName": "

The name of a training job to update the Debugger profiling configuration.

", + "WarmPoolStatus$ReusedByJob": "

The name of the matching training job that reused the warm pool.

" } }, "TrainingJobSortByOptions": { @@ -12472,6 +12492,20 @@ "TrafficRoutingConfig$WaitIntervalInSeconds": "

The waiting time (in seconds) between incremental steps to turn on traffic on the new endpoint fleet.

" } }, + "WarmPoolResourceStatus": { + "base": null, + "refs": { + "ListTrainingJobsRequest$WarmPoolStatusEquals": "

A filter that retrieves only training jobs with a specific warm pool status.

", + "WarmPoolStatus$Status": "

The status of the warm pool.

" + } + }, + "WarmPoolStatus": { + "base": "

Status and billing information about the warm pool.

", + "refs": { + "DescribeTrainingJobResponse$WarmPoolStatus": "

The status of the warm pool associated with the training job.

", + "TrainingJobSummary$WarmPoolStatus": "

The status of the warm pool associated with the training job.

" + } + }, "Workforce": { "base": "

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 Amazon Web Services 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.

", "refs": { diff --git a/models/apis/secretsmanager/2017-10-17/docs-2.json b/models/apis/secretsmanager/2017-10-17/docs-2.json index 93e562f24d..ffbc5f395b 100644 --- a/models/apis/secretsmanager/2017-10-17/docs-2.json +++ b/models/apis/secretsmanager/2017-10-17/docs-2.json @@ -2,28 +2,28 @@ "version": "2.0", "service": "Amazon Web Services Secrets Manager

Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.

This guide provides descriptions of the Secrets Manager API. For more information about using this service, see the Amazon Web Services Secrets Manager User Guide.

API Version

This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

Support and Feedback for Amazon Web Services Secrets Manager

We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the Amazon Web Services Secrets Manager Discussion Forum. For more information about the Amazon Web Services Discussion Forums, see Forums Help.

Logging API Requests

Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information that's collected by Amazon Web Services CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the request, when it was made, and so on. For more about Amazon Web Services Secrets Manager and support for Amazon Web Services CloudTrail, see Logging Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services Secrets Manager User Guide. To learn more about CloudTrail, including enabling it and find your log files, see the Amazon Web Services CloudTrail User Guide.

", "operations": { - "CancelRotateSecret": "

Turns off automatic rotation, and if a rotation is currently in progress, cancels the rotation.

If you cancel a rotation in progress, it can leave the VersionStage labels in an unexpected state. You might need to remove the staging label AWSPENDING from the partially created version. You also need to determine whether to roll back to the previous version of the secret by moving the staging label AWSCURRENT to the version that has AWSPENDING. To determine which version has a specific staging label, call ListSecretVersionIds. Then use UpdateSecretVersionStage to change staging labels. For more information, see How rotation works.

To turn on automatic rotation again, call RotateSecret.

Required permissions: secretsmanager:CancelRotateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "CreateSecret": "

Creates a new secret. A secret can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager. The secret also includes the connection information to access a database or other service, which Secrets Manager doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.

For information about creating a secret in the console, see Create a secret.

To create a secret, you can provide the secret value to be encrypted in either the SecretString parameter or the SecretBinary parameter, but not both. If you include SecretString or SecretBinary then Secrets Manager creates an initial secret version and automatically attaches the staging label AWSCURRENT to it.

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the JSON you store in the SecretString matches the JSON structure of a database secret.

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed KMS key.

Required permissions: secretsmanager:CreateSecret. If you include tags in the secret, you also need secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

To encrypt the secret with a KMS key other than aws/secretsmanager, you need kms:GenerateDataKey and kms:Decrypt permission to the key.

", - "DeleteResourcePolicy": "

Deletes the resource-based permission policy attached to the secret. To attach a policy to a secret, use PutResourcePolicy.

Required permissions: secretsmanager:DeleteResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "DeleteSecret": "

Deletes a secret and all of its versions. You can specify a recovery window during which you can restore the secret. The minimum recovery window is 7 days. The default recovery window is 30 days. Secrets Manager attaches a DeletionDate stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.

You can't delete a primary secret that is replicated to other Regions. You must first delete the replicas using RemoveRegionsFromReplication, and then delete the primary secret. When you delete a replica, it is deleted immediately.

You can't directly delete a version of a secret. Instead, you remove all staging labels from the version using UpdateSecretVersionStage. This marks the version as deprecated, and then Secrets Manager can automatically delete the version in the background.

To determine whether an application still uses a secret, you can create an Amazon CloudWatch alarm to alert you to any attempts to access a secret during the recovery window. For more information, see Monitor secrets scheduled for deletion.

Secrets Manager performs the permanent secret deletion at the end of the waiting period as a background task with low priority. There is no guarantee of a specific time after the recovery window for the permanent delete to occur.

At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate and cancel the deletion of the secret.

When a secret is scheduled for deletion, you cannot retrieve the secret value. You must first cancel the deletion with RestoreSecret and then you can retrieve the secret.

Required permissions: secretsmanager:DeleteSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "DescribeSecret": "

Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager only returns fields that have a value in the response.

Required permissions: secretsmanager:DescribeSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "GetRandomPassword": "

Generates a random password. We recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.

Required permissions: secretsmanager:GetRandomPassword. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "GetResourcePolicy": "

Retrieves the JSON text of the resource-based policy document attached to the secret. For more information about permissions policies attached to a secret, see Permissions policies attached to a secret.

Required permissions: secretsmanager:GetResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "GetSecretValue": "

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

To retrieve the previous version of a secret, use VersionStage and specify AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "ListSecretVersionIds": "

Lists the versions of a secret. Secrets Manager uses staging labels to indicate the different versions of a secret. For more information, see Secrets Manager concepts: Versions.

To list the secrets in the account, use ListSecrets.

Required permissions: secretsmanager:ListSecretVersionIds. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "ListSecrets": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. To get the latest information for a specific secret, use DescribeSecret.

To list the versions of a secret, use ListSecretVersionIds.

To get the secret value from SecretString or SecretBinary, call GetSecretValue.

For information about finding secrets in the console, see Find secrets in Secrets Manager.

Required permissions: secretsmanager:ListSecrets. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "PutResourcePolicy": "

Attaches a resource-based permission policy to a secret. A resource-based policy is optional. For more information, see Authentication and access control for Secrets Manager

For information about attaching a policy in the console, see Attach a permissions policy to a secret.

Required permissions: secretsmanager:PutResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "PutSecretValue": "

Creates a new version with a new encrypted secret value and attaches it to the secret. The version can contain a new SecretString value or a new SecretBinary value.

We recommend you avoid calling PutSecretValue at a sustained rate of more than once every 10 minutes. When you update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you call PutSecretValue more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

You can specify the staging labels to attach to the new version in VersionStages. If you don't include VersionStages, then Secrets Manager automatically moves the staging label AWSCURRENT to this version. If this operation creates the first version for the secret, then Secrets Manager automatically attaches the staging label AWSCURRENT to it .

If this operation moves the staging label AWSCURRENT from another version to this version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT was removed from.

This operation is idempotent. If you call this operation with a ClientRequestToken that matches an existing version's VersionId, and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you can't modify an existing version; you can only create new ones.

Required permissions: secretsmanager:PutSecretValue. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "RemoveRegionsFromReplication": "

For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.

Required permissions: secretsmanager:RemoveRegionsFromReplication. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "ReplicateSecretToRegions": "

Replicates the secret to a new Regions. See Multi-Region secrets.

Required permissions: secretsmanager:ReplicateSecretToRegions. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "RestoreSecret": "

Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. You can access a secret again after it has been restored.

Required permissions: secretsmanager:RestoreSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "RotateSecret": "

Configures and starts the asynchronous process of rotating the secret. For more information about rotation, see Rotate secrets.

If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the secret value is in the JSON structure of a database secret. In particular, if you want to use the alternating users strategy, your secret must contain the ARN of a superuser secret.

To configure rotation, you also need the ARN of an Amazon Web Services Lambda function and the schedule for the rotation. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the database or service to match. After testing the new credentials, the function marks the new secret version with the staging label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For more information, see How rotation works.

You can create the Lambda rotation function based on the rotation function templates that Secrets Manager provides. Choose a template that matches your Rotation strategy.

When rotation is successful, the AWSPENDING staging label might be attached to the same version as the AWSCURRENT version, or it might not be attached to any version. If the AWSPENDING staging label is present but not attached to the same version as AWSCURRENT, then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

Required permissions: secretsmanager:RotateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. You also need lambda:InvokeFunction permissions on the rotation function. For more information, see Permissions for rotation.

", - "StopReplicationToReplica": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

You must call this operation from the Region in which you want to promote the replica to a primary secret.

Required permissions: secretsmanager:StopReplicationToReplica. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "TagResource": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

The following restrictions apply to tags:

If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Required permissions: secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "UntagResource": "

Removes specific tags from a secret.

This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Required permissions: secretsmanager:UntagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "UpdateSecret": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

To change the rotation configuration of a secret, use RotateSecret instead.

We recommend you avoid calling UpdateSecret at a sustained rate of more than once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new version.

If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions on the key. For more information, see Secret encryption and decryption.

", - "UpdateSecretVersionStage": "

Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to track a version as it progresses through the secret rotation process. Each staging label can be attached to only one version at a time. To add a staging label to a version when it is already attached to another version, Secrets Manager first removes it from the other version first and then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels for the version.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Required permissions: secretsmanager:UpdateSecretVersionStage. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", - "ValidateResourcePolicy": "

Validates that a resource policy does not grant a wide range of principals access to your secret. A resource-based policy is optional for secrets.

The API performs three checks when validating the policy:

Required permissions: secretsmanager:ValidateResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

" + "CancelRotateSecret": "

Turns off automatic rotation, and if a rotation is currently in progress, cancels the rotation.

If you cancel a rotation in progress, it can leave the VersionStage labels in an unexpected state. You might need to remove the staging label AWSPENDING from the partially created version. You also need to determine whether to roll back to the previous version of the secret by moving the staging label AWSCURRENT to the version that has AWSPENDING. To determine which version has a specific staging label, call ListSecretVersionIds. Then use UpdateSecretVersionStage to change staging labels. For more information, see How rotation works.

To turn on automatic rotation again, call RotateSecret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:CancelRotateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "CreateSecret": "

Creates a new secret. A secret can be a password, a set of credentials such as a user name and password, an OAuth token, or other secret information that you store in an encrypted form in Secrets Manager. The secret also includes the connection information to access a database or other service, which Secrets Manager doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the important information needed to manage the secret.

For information about creating a secret in the console, see Create a secret.

To create a secret, you can provide the secret value to be encrypted in either the SecretString parameter or the SecretBinary parameter, but not both. If you include SecretString or SecretBinary then Secrets Manager creates an initial secret version and automatically attaches the staging label AWSCURRENT to it.

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the JSON you store in the SecretString matches the JSON structure of a database secret.

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time significant delay in returning the result.

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed KMS key.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:CreateSecret. If you include tags in the secret, you also need secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

To encrypt the secret with a KMS key other than aws/secretsmanager, you need kms:GenerateDataKey and kms:Decrypt permission to the key.

", + "DeleteResourcePolicy": "

Deletes the resource-based permission policy attached to the secret. To attach a policy to a secret, use PutResourcePolicy.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:DeleteResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "DeleteSecret": "

Deletes a secret and all of its versions. You can specify a recovery window during which you can restore the secret. The minimum recovery window is 7 days. The default recovery window is 30 days. Secrets Manager attaches a DeletionDate stamp to the secret that specifies the end of the recovery window. At the end of the recovery window, Secrets Manager deletes the secret permanently.

You can't delete a primary secret that is replicated to other Regions. You must first delete the replicas using RemoveRegionsFromReplication, and then delete the primary secret. When you delete a replica, it is deleted immediately.

You can't directly delete a version of a secret. Instead, you remove all staging labels from the version using UpdateSecretVersionStage. This marks the version as deprecated, and then Secrets Manager can automatically delete the version in the background.

To determine whether an application still uses a secret, you can create an Amazon CloudWatch alarm to alert you to any attempts to access a secret during the recovery window. For more information, see Monitor secrets scheduled for deletion.

Secrets Manager performs the permanent secret deletion at the end of the waiting period as a background task with low priority. There is no guarantee of a specific time after the recovery window for the permanent delete to occur.

At any time before recovery window ends, you can use RestoreSecret to remove the DeletionDate and cancel the deletion of the secret.

When a secret is scheduled for deletion, you cannot retrieve the secret value. You must first cancel the deletion with RestoreSecret and then you can retrieve the secret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:DeleteSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "DescribeSecret": "

Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager only returns fields that have a value in the response.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:DescribeSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "GetRandomPassword": "

Generates a random password. We recommend that you specify the maximum length and include every character type that the system you are generating a password for can support.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:GetRandomPassword. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "GetResourcePolicy": "

Retrieves the JSON text of the resource-based policy document attached to the secret. For more information about permissions policies attached to a secret, see Permissions policies attached to a secret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:GetResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "GetSecretValue": "

Retrieves the contents of the encrypted fields SecretString or SecretBinary from the specified version of a secret, whichever contains content.

We recommend that you cache your secret values by using client-side caching. Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for your applications.

To retrieve the previous version of a secret, use VersionStage and specify AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "ListSecretVersionIds": "

Lists the versions of a secret. Secrets Manager uses staging labels to indicate the different versions of a secret. For more information, see Secrets Manager concepts: Versions.

To list the secrets in the account, use ListSecrets.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:ListSecretVersionIds. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "ListSecrets": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account, not including secrets that are marked for deletion. To see secrets marked for deletion, use the Secrets Manager console.

ListSecrets is eventually consistent, however it might not reflect changes from the last five minutes. To get the latest information for a specific secret, use DescribeSecret.

To list the versions of a secret, use ListSecretVersionIds.

To get the secret value from SecretString or SecretBinary, call GetSecretValue.

For information about finding secrets in the console, see Find secrets in Secrets Manager.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:ListSecrets. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "PutResourcePolicy": "

Attaches a resource-based permission policy to a secret. A resource-based policy is optional. For more information, see Authentication and access control for Secrets Manager

For information about attaching a policy in the console, see Attach a permissions policy to a secret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:PutResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "PutSecretValue": "

Creates a new version with a new encrypted secret value and attaches it to the secret. The version can contain a new SecretString value or a new SecretBinary value.

We recommend you avoid calling PutSecretValue at a sustained rate of more than once every 10 minutes. When you update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you call PutSecretValue more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

You can specify the staging labels to attach to the new version in VersionStages. If you don't include VersionStages, then Secrets Manager automatically moves the staging label AWSCURRENT to this version. If this operation creates the first version for the secret, then Secrets Manager automatically attaches the staging label AWSCURRENT to it. If this operation moves the staging label AWSCURRENT from another version to this version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT was removed from.

This operation is idempotent. If you call this operation with a ClientRequestToken that matches an existing version's VersionId, and you specify the same secret data, the operation succeeds but does nothing. However, if the secret data is different, then the operation fails because you can't modify an existing version; you can only create new ones.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:PutSecretValue. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "RemoveRegionsFromReplication": "

For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RemoveRegionsFromReplication. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "ReplicateSecretToRegions": "

Replicates the secret to a new Regions. See Multi-Region secrets.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:ReplicateSecretToRegions. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "RestoreSecret": "

Cancels the scheduled deletion of a secret by removing the DeletedDate time stamp. You can access a secret again after it has been restored.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RestoreSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "RotateSecret": "

Configures and starts the asynchronous process of rotating the secret. For more information about rotation, see Rotate secrets.

If you include the configuration parameters, the operation sets the values for the secret and then immediately starts a rotation. If you don't include the configuration parameters, the operation starts a rotation with the values already stored in the secret.

For database credentials you want to rotate, for Secrets Manager to be able to rotate the secret, you must make sure the secret value is in the JSON structure of a database secret. In particular, if you want to use the alternating users strategy, your secret must contain the ARN of a superuser secret.

To configure rotation, you also need the ARN of an Amazon Web Services Lambda function and the schedule for the rotation. The Lambda rotation function creates a new version of the secret and creates or updates the credentials on the database or service to match. After testing the new credentials, the function marks the new secret version with the staging label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For more information, see How rotation works.

You can create the Lambda rotation function based on the rotation function templates that Secrets Manager provides. Choose a template that matches your Rotation strategy.

When rotation is successful, the AWSPENDING staging label might be attached to the same version as the AWSCURRENT version, or it might not be attached to any version. If the AWSPENDING staging label is present but not attached to the same version as AWSCURRENT, then any later invocation of RotateSecret assumes that a previous rotation request is still in progress and returns an error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:RotateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. You also need lambda:InvokeFunction permissions on the rotation function. For more information, see Permissions for rotation.

", + "StopReplicationToReplica": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

You must call this operation from the Region in which you want to promote the replica to a primary secret.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:StopReplicationToReplica. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "TagResource": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

The following restrictions apply to tags:

If you use tags as part of your security strategy, then adding or removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:TagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "UntagResource": "

Removes specific tags from a secret.

This operation is idempotent. If a requested tag is not attached to the secret, no error is returned and the secret metadata is unchanged.

If you use tags as part of your security strategy, then removing a tag can change permissions. If successfully completing this operation would result in you losing your permissions for this secret, then the operation is blocked and returns an Access Denied error.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UntagResource. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "UpdateSecret": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

To change the rotation configuration of a secret, use RotateSecret instead.

We recommend you avoid calling UpdateSecret at a sustained rate of more than once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not remove versions created less than 24 hours ago. If you update the secret value more than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach the quota for secret versions.

If you include SecretString or SecretBinary to create a new secret version, Secrets Manager automatically moves the staging label AWSCURRENT to the new version. Then it attaches the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If you call this operation with a ClientRequestToken that matches an existing version's VersionId, the operation results in an error. You can't modify an existing version, you can only create a new version. To remove a version, remove all staging labels from it. See UpdateSecretVersionStage.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters except SecretBinary or SecretString because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UpdateSecret. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager. If you use a customer managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions on the key. For more information, see Secret encryption and decryption.

", + "UpdateSecretVersionStage": "

Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to track a version as it progresses through the secret rotation process. Each staging label can be attached to only one version at a time. To add a staging label to a version when it is already attached to another version, Secrets Manager first removes it from the other version first and then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.

The staging labels that you specify in the VersionStage parameter are added to the existing list of staging labels for the version.

You can move the AWSCURRENT staging label to this version by including it in this call.

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the version that AWSCURRENT was removed from.

If this action results in the last label being removed from a version, then the version is considered to be 'deprecated' and can be deleted by Secrets Manager.

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:UpdateSecretVersionStage. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

", + "ValidateResourcePolicy": "

Validates that a resource policy does not grant a wide range of principals access to your secret. A resource-based policy is optional for secrets.

The API performs three checks when validating the policy:

Secrets Manager generates a CloudTrail log entry when you call this action. Do not include sensitive information in request parameters because it might be logged. For more information, see Logging Secrets Manager events with CloudTrail.

Required permissions: secretsmanager:ValidateResourcePolicy. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.

" }, "shapes": { "AddReplicaRegionListType": { diff --git a/models/apis/translate/2017-07-01/api-2.json b/models/apis/translate/2017-07-01/api-2.json index dd0766366c..86fb8ec175 100644 --- a/models/apis/translate/2017-07-01/api-2.json +++ b/models/apis/translate/2017-07-01/api-2.json @@ -26,7 +26,9 @@ {"shape":"InvalidRequestException"}, {"shape":"LimitExceededException"}, {"shape":"TooManyRequestsException"}, + {"shape":"TooManyTagsException"}, {"shape":"ConflictException"}, + {"shape":"ConcurrentModificationException"}, {"shape":"InternalServerException"} ] }, @@ -115,6 +117,8 @@ {"shape":"InvalidParameterValueException"}, {"shape":"LimitExceededException"}, {"shape":"TooManyRequestsException"}, + {"shape":"TooManyTagsException"}, + {"shape":"ConcurrentModificationException"}, {"shape":"InternalServerException"} ] }, @@ -147,6 +151,20 @@ {"shape":"InternalServerException"} ] }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "ListTerminologies":{ "name":"ListTerminologies", "http":{ @@ -207,6 +225,22 @@ {"shape":"InternalServerException"} ] }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"TooManyTagsException"}, + {"shape":"InternalServerException"} + ] + }, "TranslateText":{ "name":"TranslateText", "http":{ @@ -226,6 +260,21 @@ {"shape":"ServiceUnavailableException"} ] }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"} + ] + }, "UpdateParallelData":{ "name":"UpdateParallelData", "http":{ @@ -304,7 +353,8 @@ "ClientToken":{ "shape":"ClientTokenString", "idempotencyToken":true - } + }, + "Tags":{"shape":"TagList"} } }, "CreateParallelDataResponse":{ @@ -461,7 +511,8 @@ "MergeStrategy":{"shape":"MergeStrategy"}, "Description":{"shape":"Description"}, "TerminologyData":{"shape":"TerminologyData"}, - "EncryptionKey":{"shape":"EncryptionKey"} + "EncryptionKey":{"shape":"EncryptionKey"}, + "Tags":{"shape":"TagList"} } }, "ImportTerminologyResponse":{ @@ -605,6 +656,19 @@ "NextToken":{"shape":"NextToken"} } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagList"} + } + }, "ListTerminologiesRequest":{ "type":"structure", "members":{ @@ -737,6 +801,11 @@ "type":"string", "enum":["MASK"] }, + "ResourceArn":{ + "type":"string", + "max":512, + "min":1 + }, "ResourceName":{ "type":"string", "max":256, @@ -819,10 +888,58 @@ "max":10000, "pattern":"[\\P{M}\\p{M}]{0,10000}" }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{"shape":"ResourceArn"}, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "TargetLanguageCodeStringList":{ "type":"list", "member":{"shape":"LanguageCodeString"}, - "max":1, "min":1 }, "Term":{ @@ -948,6 +1065,14 @@ }, "exception":true }, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "ResourceArn":{"shape":"ResourceArn"} + }, + "exception":true + }, "TranslateTextRequest":{ "type":"structure", "required":[ @@ -1003,6 +1128,22 @@ }, "exception":true }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{"shape":"ResourceArn"}, + "TagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateParallelDataRequest":{ "type":"structure", "required":[ diff --git a/models/apis/translate/2017-07-01/docs-2.json b/models/apis/translate/2017-07-01/docs-2.json index 9a639f6478..3cf8194b68 100644 --- a/models/apis/translate/2017-07-01/docs-2.json +++ b/models/apis/translate/2017-07-01/docs-2.json @@ -11,11 +11,14 @@ "ImportTerminology": "

Creates or updates a custom terminology, depending on whether one already exists for the given terminology name. Importing a terminology with the same name as an existing one will merge the terminologies based on the chosen merge strategy. The only supported merge strategy is OVERWRITE, where the imported terminology overwrites the existing terminology of the same name.

If you import a terminology that overwrites an existing one, the new terminology takes up to 10 minutes to fully propagate. After that, translations have access to the new terminology.

", "ListLanguages": "

Provides a list of languages (RFC-5646 codes and names) that Amazon Translate supports.

", "ListParallelData": "

Provides a list of your parallel data resources in Amazon Translate.

", + "ListTagsForResource": null, "ListTerminologies": "

Provides a list of custom terminologies associated with your account.

", "ListTextTranslationJobs": "

Gets a list of the batch translation jobs that you have submitted.

", "StartTextTranslationJob": "

Starts an asynchronous batch translation job. Batch translation jobs can be used to translate large volumes of text across multiple documents at once. For more information, see async.

Batch translation jobs can be described with the DescribeTextTranslationJob operation, listed with the ListTextTranslationJobs operation, and stopped with the StopTextTranslationJob operation.

Amazon Translate does not support batch translation of multiple source languages at once.

", "StopTextTranslationJob": "

Stops an asynchronous batch translation job that is in progress.

If the job's state is IN_PROGRESS, the job will be marked for termination and put into the STOP_REQUESTED state. If the job completes before it can be stopped, it is put into the COMPLETED state. Otherwise, the job is put into the STOPPED state.

Asynchronous batch translation jobs are started with the StartTextTranslationJob operation. You can use the DescribeTextTranslationJob or ListTextTranslationJobs operations to get a batch translation job's JobId.

", + "TagResource": null, "TranslateText": "

Translates input text from the source language to the target language. For a list of available languages and language codes, see what-is-languages.

", + "UntagResource": null, "UpdateParallelData": "

Updates a previously created parallel data resource by importing a new input file from Amazon S3.

" }, "shapes": { @@ -325,6 +328,16 @@ "refs": { } }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, "ListTerminologiesRequest": { "base": null, "refs": { @@ -453,6 +466,15 @@ "TranslationSettings$Profanity": "

Enable the profanity setting if you want Amazon Translate to mask profane words and phrases in your translation output.

To mask profane words and phrases, Amazon Translate replaces them with the grawlix string “?$#@$“. This 5-character sequence is used for each profane word or phrase, regardless of the length or number of words.

Amazon Translate doesn't detect profanity in all of its supported languages. For languages that support profanity detection, see Supported Languages and Language Codes in the Amazon Translate Developer Guide.

" } }, + "ResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$ResourceArn": null, + "TagResourceRequest$ResourceArn": null, + "TooManyTagsException$ResourceArn": null, + "UntagResourceRequest$ResourceArn": null + } + }, "ResourceName": { "base": null, "refs": { @@ -541,11 +563,56 @@ "TerminologyDataLocation$Location": "

The Amazon S3 location of the most recent custom terminology input file that was successfully imported into Amazon Translate. The location is returned as a presigned URL that has a 30-minute expiration .

Amazon Translate doesn't scan all input files for the risk of CSV injection attacks.

CSV injection occurs when a .csv or .tsv file is altered so that a record contains malicious code. The record begins with a special character, such as =, +, -, or @. When the file is opened in a spreadsheet program, the program might interpret the record as a formula and run the code within it.

Before you download an input file from Amazon S3, ensure that you recognize the file and trust its creator.

", "TextSizeLimitExceededException$Message": null, "TooManyRequestsException$Message": null, + "TooManyTagsException$message": null, "TranslateTextResponse$TranslatedText": "

The translated text.

", "UnsupportedDisplayLanguageCodeException$Message": null, "UnsupportedLanguagePairException$Message": null } }, + "Tag": { + "base": null, + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": null, + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": null + } + }, + "TagList": { + "base": null, + "refs": { + "CreateParallelDataRequest$Tags": null, + "ImportTerminologyRequest$Tags": null, + "ListTagsForResourceResponse$Tags": null, + "TagResourceRequest$Tags": null + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": null + } + }, "TargetLanguageCodeStringList": { "base": null, "refs": { @@ -657,6 +724,11 @@ "refs": { } }, + "TooManyTagsException": { + "base": null, + "refs": { + } + }, "TranslateTextRequest": { "base": null, "refs": { @@ -694,6 +766,16 @@ "refs": { } }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, "UpdateParallelDataRequest": { "base": null, "refs": { diff --git a/models/apis/workspaces/2015-04-08/api-2.json b/models/apis/workspaces/2015-04-08/api-2.json index 33a4b739f4..8298c461db 100644 --- a/models/apis/workspaces/2015-04-08/api-2.json +++ b/models/apis/workspaces/2015-04-08/api-2.json @@ -1104,7 +1104,8 @@ "ClientProperties":{ "type":"structure", "members":{ - "ReconnectEnabled":{"shape":"ReconnectEnum"} + "ReconnectEnabled":{"shape":"ReconnectEnum"}, + "LogUploadEnabled":{"shape":"LogUploadEnum"} } }, "ClientPropertiesList":{ @@ -2105,6 +2106,13 @@ "NextToken":{"shape":"PaginationToken"} } }, + "LogUploadEnum":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "LoginMessage":{ "type":"map", "key":{"shape":"ClientLocale"}, diff --git a/models/apis/workspaces/2015-04-08/docs-2.json b/models/apis/workspaces/2015-04-08/docs-2.json index 6c027507e5..1215e6b277 100644 --- a/models/apis/workspaces/2015-04-08/docs-2.json +++ b/models/apis/workspaces/2015-04-08/docs-2.json @@ -188,7 +188,7 @@ "ConnectionAlias$OwnerAccountId": "

The identifier of the Amazon Web Services account that owns the connection alias.

", "ConnectionAliasAssociation$AssociatedAccountId": "

The identifier of the Amazon Web Services account that associated the connection alias with a directory.

", "ConnectionAliasPermission$SharedAccountId": "

The identifier of the Amazon Web Services account that the connection alias is shared with.

", - "CreateWorkspaceImageResult$OwnerAccountId": "

The identifier of the AWS account that owns the image.

", + "CreateWorkspaceImageResult$OwnerAccountId": "

The identifier of the Amazon Web Services account that owns the image.

", "ImagePermission$SharedAccountId": "

The identifier of the Amazon Web Services account that an image has been shared with.

", "UpdateWorkspaceImagePermissionRequest$SharedAccountId": "

The identifier of the Amazon Web Services account to share or unshare the image with.

Before sharing the image, confirm that you are sharing to the correct Amazon Web Services account ID.

", "WorkspaceImage$OwnerAccountId": "

The identifier of the Amazon Web Services account that owns the image.

" @@ -1201,6 +1201,12 @@ "refs": { } }, + "LogUploadEnum": { + "base": null, + "refs": { + "ClientProperties$LogUploadEnabled": "

Specifies whether users can upload diagnostic log files of Amazon WorkSpaces client directly to WorkSpaces to troubleshoot issues when using the WorkSpaces client. When enabled, the log files will be sent to WorkSpaces automatically and will be applied to all users in the specified directory.

" + } + }, "LoginMessage": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index a737e8e29c..e40ae5328c 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -9148,6 +9148,17 @@ "us-west-2" : { } } }, + "migrationhub-orchestrator" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-west-2" : { } + } + }, "migrationhub-strategy" : { "endpoints" : { "ap-northeast-1" : { }, @@ -20814,6 +20825,11 @@ "us-isob-east-1" : { } } }, + "resource-groups" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "route53" : { "endpoints" : { "aws-iso-b-global" : { diff --git a/service/acm/api.go b/service/acm/api.go index 6a79df5d26..170793b275 100644 --- a/service/acm/api.go +++ b/service/acm/api.go @@ -271,6 +271,10 @@ func (c *ACM) DescribeCertificateRequest(input *DescribeCertificateInput) (req * // // Returns detailed metadata about the specified ACM certificate. // +// If you have just created a certificate using the RequestCertificate action, +// there is a delay of several seconds before you can retrieve information about +// 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. @@ -620,15 +624,14 @@ func (c *ACM) ImportCertificateRequest(input *ImportCertificateInput) (req *requ // ImportCertificate API operation for AWS Certificate Manager. // -// Imports a certificate into Amazon Web Services Certificate Manager (ACM) -// to use with services that are integrated with ACM. Note that integrated services -// (https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html) allow -// only certificate types and keys they support to be associated with their -// resources. Further, their support differs depending on whether the certificate -// is imported into IAM or into ACM. For more information, see the documentation -// for each service. For more information about importing certificates into -// ACM, see Importing Certificates (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) -// in the Amazon Web Services Certificate Manager User Guide. +// Imports a certificate into Certificate Manager (ACM) to use with services +// that are integrated with ACM. Note that integrated services (https://docs.aws.amazon.com/acm/latest/userguide/acm-services.html) +// allow only certificate types and keys they support to be associated with +// their resources. Further, their support differs depending on whether the +// certificate is imported into IAM or into ACM. For more information, see the +// documentation for each service. For more information about importing certificates +// into ACM, see Importing Certificates (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) +// in the Certificate Manager User Guide. // // ACM does not provide managed renewal (https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) // for certificates that you import. @@ -1203,9 +1206,9 @@ func (c *ACM) RenewCertificateRequest(input *RenewCertificateInput) (req *reques // RenewCertificate API operation for AWS Certificate Manager. // // Renews an eligible ACM certificate. At this time, only exported private certificates -// can be renewed with this operation. In order to renew your ACM PCA certificates -// with ACM, you must first grant the ACM service principal permission to do -// so (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaPermissions.html). +// can be renewed with this operation. In order to renew your ACM Private CA +// certificates with ACM, you must first grant the ACM service principal permission +// to do so (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaPermissions.html). // For more information, see Testing Managed Renewal (https://docs.aws.amazon.com/acm/latest/userguide/manual-renewal.html) // in the ACM User Guide. // @@ -1303,10 +1306,14 @@ func (c *ACM) RequestCertificateRequest(input *RequestCertificateInput) (req *re // We recommend that you use DNS validation. ACM issues public certificates // after receiving approval from the domain owner. // -// ACM behavior differs from the https://tools.ietf.org/html/rfc6125#appendix-B.2 -// (https://tools.ietf.org/html/rfc6125#appendix-B.2)RFC 6125 specification -// of the certificate validation process. first checks for a subject alternative -// name, and, if it finds one, ignores the common name (CN) +// ACM behavior differs from the RFC 6125 (https://datatracker.ietf.org/doc/html/rfc6125#appendix-B.2) +// specification of the certificate validation process. ACM first checks for +// a Subject Alternative Name, and, if it finds one, ignores the common name +// (CN). +// +// After successful completion of the RequestCertificate action, there is a +// delay of several seconds before you can retrieve information about the new +// certificate. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1731,8 +1738,8 @@ type CertificateDetail struct { // in the Amazon Web Services General Reference. CertificateArn *string `min:"20" type:"string"` - // The Amazon Resource Name (ARN) of the ACM PCA private certificate authority - // (CA) that issued the certificate. This has the following format: + // The Amazon Resource Name (ARN) of the private certificate authority (CA) + // that issued the certificate. This has the following format: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 CertificateAuthorityArn *string `min:"20" type:"string"` @@ -1757,11 +1764,11 @@ type CertificateDetail struct { // The reason the certificate request failed. This value exists only when the // certificate status is FAILED. For more information, see Certificate Request // Failed (https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting.html#troubleshooting-failed) - // in the Amazon Web Services Certificate Manager User Guide. + // in the Certificate Manager User Guide. FailureReason *string `type:"string" enum:"FailureReason"` - // The date and time at which the certificate was imported. This value exists - // only when the certificate type is IMPORTED. + // The date and time when the certificate was imported. This value exists only + // when the certificate type is IMPORTED. ImportedAt *time.Time `type:"timestamp"` // A list of ARNs for the Amazon Web Services resources that are using the certificate. @@ -1822,6 +1829,15 @@ type CertificateDetail struct { SignatureAlgorithm *string `type:"string"` // The status of the certificate. + // + // A certificate enters status PENDING_VALIDATION upon being requested, unless + // it fails for any of the reasons given in the troubleshooting topic Certificate + // request fails (https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html). + // ACM makes repeated attempts to validate a certificate for 72 hours and then + // times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, + // delete the request, correct the issue with DNS validation (https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html) + // or Email validation (https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html), + // and try again. If validation succeeds, the certificate enters status ISSUED. Status *string `type:"string" enum:"CertificateStatus"` // The name of the entity that is associated with the public key contained in @@ -1841,7 +1857,7 @@ type CertificateDetail struct { // for imported certificates. For more information about the differences between // certificates that you import and those that ACM provides, see Importing Certificates // (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) - // in the Amazon Web Services Certificate Manager User Guide. + // in the Certificate Manager User Guide. Type *string `type:"string" enum:"CertificateType"` } @@ -2069,9 +2085,98 @@ type CertificateSummary struct { // For more information about ARNs, see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html). CertificateArn *string `min:"20" type:"string"` + // The time at which the certificate was requested. + CreatedAt *time.Time `type:"timestamp"` + // Fully qualified domain name (FQDN), such as www.example.com or example.com, // for the certificate. DomainName *string `min:"1" type:"string"` + + // Indicates whether the certificate has been exported. This value exists only + // when the certificate type is PRIVATE. + Exported *bool `type:"boolean"` + + // Contains a list of Extended Key Usage X.509 v3 extension objects. Each object + // specifies a purpose for which the certificate public key can be used and + // consists of a name and an object identifier (OID). + ExtendedKeyUsages []*string `type:"list" enum:"ExtendedKeyUsageName"` + + // When called by ListCertificates (https://docs.aws.amazon.com/acm/latestAPIReference/API_ListCertificates.html), + // indicates whether the full list of subject alternative names has been included + // in the response. If false, the response includes all of the subject alternative + // names included in the certificate. If true, the response only includes the + // first 100 subject alternative names included in the certificate. To display + // the full list of subject alternative names, use DescribeCertificate (https://docs.aws.amazon.com/acm/latestAPIReference/API_DescribeCertificate.html). + HasAdditionalSubjectAlternativeNames *bool `type:"boolean"` + + // The date and time when the certificate was imported. This value exists only + // when the certificate type is IMPORTED. + ImportedAt *time.Time `type:"timestamp"` + + // Indicates whether the certificate is currently in use by any Amazon Web Services + // resources. + InUse *bool `type:"boolean"` + + // The time at which the certificate was issued. This value exists only when + // the certificate type is AMAZON_ISSUED. + IssuedAt *time.Time `type:"timestamp"` + + // The algorithm that was used to generate the public-private key pair. + KeyAlgorithm *string `type:"string" enum:"KeyAlgorithm"` + + // A list of Key Usage X.509 v3 extension objects. Each object is a string value + // that identifies the purpose of the public key contained in the certificate. + // Possible extension values include DIGITAL_SIGNATURE, KEY_ENCHIPHERMENT, NON_REPUDIATION, + // and more. + KeyUsages []*string `type:"list" enum:"KeyUsageName"` + + // The time after which the certificate is not valid. + NotAfter *time.Time `type:"timestamp"` + + // The time before which the certificate is not valid. + NotBefore *time.Time `type:"timestamp"` + + // Specifies whether the certificate is eligible for renewal. At this time, + // only exported private certificates can be renewed with the RenewCertificate + // command. + RenewalEligibility *string `type:"string" enum:"RenewalEligibility"` + + // The time at which the certificate was revoked. This value exists only when + // the certificate status is REVOKED. + RevokedAt *time.Time `type:"timestamp"` + + // The status of the certificate. + // + // A certificate enters status PENDING_VALIDATION upon being requested, unless + // it fails for any of the reasons given in the troubleshooting topic Certificate + // request fails (https://docs.aws.amazon.com/acm/latest/userguide/troubleshooting-failed.html). + // ACM makes repeated attempts to validate a certificate for 72 hours and then + // times out. If a certificate shows status FAILED or VALIDATION_TIMED_OUT, + // delete the request, correct the issue with DNS validation (https://docs.aws.amazon.com/acm/latest/userguide/dns-validation.html) + // or Email validation (https://docs.aws.amazon.com/acm/latest/userguide/email-validation.html), + // and try again. If validation succeeds, the certificate enters status ISSUED. + Status *string `type:"string" enum:"CertificateStatus"` + + // One or more domain names (subject alternative names) included in the certificate. + // This list contains the domain names that are bound to the public key that + // is contained in the certificate. The subject alternative names include the + // canonical domain name (CN) of the certificate and additional domain names + // that can be used to connect to the website. + // + // When called by ListCertificates (https://docs.aws.amazon.com/acm/latestAPIReference/API_ListCertificates.html), + // this parameter will only return the first 100 subject alternative names included + // in the certificate. To display the full list of subject alternative names, + // use DescribeCertificate (https://docs.aws.amazon.com/acm/latestAPIReference/API_DescribeCertificate.html). + SubjectAlternativeNameSummaries []*string `min:"1" type:"list"` + + // The source of the certificate. For certificates provided by ACM, this value + // is AMAZON_ISSUED. For certificates that you imported with ImportCertificate, + // this value is IMPORTED. ACM does not provide managed renewal (https://docs.aws.amazon.com/acm/latest/userguide/acm-renewal.html) + // for imported certificates. For more information about the differences between + // certificates that you import and those that ACM provides, see Importing Certificates + // (https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) + // in the Certificate Manager User Guide. + Type *string `type:"string" enum:"CertificateType"` } // String returns the string representation. @@ -2098,12 +2203,108 @@ func (s *CertificateSummary) SetCertificateArn(v string) *CertificateSummary { return s } +// SetCreatedAt sets the CreatedAt field's value. +func (s *CertificateSummary) SetCreatedAt(v time.Time) *CertificateSummary { + s.CreatedAt = &v + return s +} + // SetDomainName sets the DomainName field's value. func (s *CertificateSummary) SetDomainName(v string) *CertificateSummary { s.DomainName = &v return s } +// SetExported sets the Exported field's value. +func (s *CertificateSummary) SetExported(v bool) *CertificateSummary { + s.Exported = &v + return s +} + +// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value. +func (s *CertificateSummary) SetExtendedKeyUsages(v []*string) *CertificateSummary { + s.ExtendedKeyUsages = v + return s +} + +// SetHasAdditionalSubjectAlternativeNames sets the HasAdditionalSubjectAlternativeNames field's value. +func (s *CertificateSummary) SetHasAdditionalSubjectAlternativeNames(v bool) *CertificateSummary { + s.HasAdditionalSubjectAlternativeNames = &v + return s +} + +// SetImportedAt sets the ImportedAt field's value. +func (s *CertificateSummary) SetImportedAt(v time.Time) *CertificateSummary { + s.ImportedAt = &v + return s +} + +// SetInUse sets the InUse field's value. +func (s *CertificateSummary) SetInUse(v bool) *CertificateSummary { + s.InUse = &v + return s +} + +// SetIssuedAt sets the IssuedAt field's value. +func (s *CertificateSummary) SetIssuedAt(v time.Time) *CertificateSummary { + s.IssuedAt = &v + return s +} + +// SetKeyAlgorithm sets the KeyAlgorithm field's value. +func (s *CertificateSummary) SetKeyAlgorithm(v string) *CertificateSummary { + s.KeyAlgorithm = &v + return s +} + +// SetKeyUsages sets the KeyUsages field's value. +func (s *CertificateSummary) SetKeyUsages(v []*string) *CertificateSummary { + s.KeyUsages = v + return s +} + +// SetNotAfter sets the NotAfter field's value. +func (s *CertificateSummary) SetNotAfter(v time.Time) *CertificateSummary { + s.NotAfter = &v + return s +} + +// SetNotBefore sets the NotBefore field's value. +func (s *CertificateSummary) SetNotBefore(v time.Time) *CertificateSummary { + s.NotBefore = &v + return s +} + +// SetRenewalEligibility sets the RenewalEligibility field's value. +func (s *CertificateSummary) SetRenewalEligibility(v string) *CertificateSummary { + s.RenewalEligibility = &v + return s +} + +// SetRevokedAt sets the RevokedAt field's value. +func (s *CertificateSummary) SetRevokedAt(v time.Time) *CertificateSummary { + s.RevokedAt = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CertificateSummary) SetStatus(v string) *CertificateSummary { + s.Status = &v + return s +} + +// SetSubjectAlternativeNameSummaries sets the SubjectAlternativeNameSummaries field's value. +func (s *CertificateSummary) SetSubjectAlternativeNameSummaries(v []*string) *CertificateSummary { + s.SubjectAlternativeNameSummaries = v + return s +} + +// SetType sets the Type field's value. +func (s *CertificateSummary) SetType(v string) *CertificateSummary { + s.Type = &v + return s +} + // You are trying to update a resource or configuration that is already being // created or updated. Wait for the previous operation to finish and try again. type ConflictException struct { @@ -2566,9 +2767,14 @@ type ExportCertificateInput struct { // CertificateArn is a required field CertificateArn *string `min:"20" type:"string" required:"true"` - // Passphrase to associate with the encrypted exported private key. If you want - // to later decrypt the private key, you must have the passphrase. You can use - // the following OpenSSL command to decrypt a private key: + // Passphrase to associate with the encrypted exported private key. + // + // When creating your passphrase, you can use any ASCII character except #, + // $, or %. + // + // If you want to later decrypt the private key, you must have the passphrase. + // You can use the following OpenSSL command to decrypt a private key. After + // entering the command, you are prompted for the passphrase. // // openssl rsa -in encrypted_key.pem -out decrypted_key.pem // @@ -2764,7 +2970,7 @@ type Filters struct { // // Default filtering returns only RSA_1024 and RSA_2048 certificates that have // at least one domain. To return other certificate types, provide the desired - // type signatures in a comma-separated list. For example, "keyTypes": ["RSA_2048,RSA_4096"] + // type signatures in a comma-separated list. For example, "keyTypes": ["RSA_2048","RSA_4096"] // returns both RSA_2048 and RSA_4096 certificates. KeyTypes []*string `locationName:"keyTypes" type:"list" enum:"KeyAlgorithm"` @@ -3614,6 +3820,14 @@ type ListCertificatesInput struct { // request after you receive a response with truncated results. Set it to the // value of NextToken from the response you just received. NextToken *string `min:"1" type:"string"` + + // Specifies the field to sort results by. If you specify SortBy, you must also + // specify SortOrder. + SortBy *string `type:"string" enum:"SortBy"` + + // Specifies the order of sorted results. If you specify SortOrder, you must + // also specify SortBy. + SortOrder *string `type:"string" enum:"SortOrder"` } // String returns the string representation. @@ -3674,6 +3888,18 @@ func (s *ListCertificatesInput) SetNextToken(v string) *ListCertificatesInput { return s } +// SetSortBy sets the SortBy field's value. +func (s *ListCertificatesInput) SetSortBy(v string) *ListCertificatesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListCertificatesInput) SetSortOrder(v string) *ListCertificatesInput { + s.SortOrder = &v + return s +} + type ListCertificatesOutput struct { _ struct{} `type:"structure"` @@ -4147,9 +4373,8 @@ type RequestCertificateInput struct { // that will be used to issue the certificate. If you do not provide an ARN // and you are trying to request a private certificate, ACM will attempt to // issue a public certificate. For more information about private CAs, see the - // Amazon Web Services Certificate Manager Private Certificate Authority (PCA) - // (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html) user - // guide. The ARN must have the following form: + // Certificate Manager Private Certificate Authority (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaWelcome.html) + // user guide. The ARN must have the following form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 CertificateAuthorityArn *string `min:"20" type:"string"` @@ -4159,9 +4384,11 @@ type RequestCertificateInput struct { // certificate that protects several sites in the same domain. For example, // *.example.com protects www.example.com, site.example.com, and images.example.com. // - // The first domain name you enter cannot exceed 64 octets, including periods. - // Each subsequent Subject Alternative Name (SAN), however, can be up to 253 - // octets in length. + // In compliance with RFC 5280 (https://datatracker.ietf.org/doc/html/rfc5280), + // the length of the domain name (technically, the Common Name) that you provide + // cannot exceed 64 octets (characters), including periods. To add a longer + // domain name, specify it in the Subject Alternative Name field, which supports + // names up to 253 octets in length. // // DomainName is a required field DomainName *string `min:"1" type:"string" required:"true"` @@ -5571,6 +5798,34 @@ func RevocationReason_Values() []string { } } +const ( + // SortByCreatedAt is a SortBy enum value + SortByCreatedAt = "CREATED_AT" +) + +// SortBy_Values returns all elements of the SortBy enum +func SortBy_Values() []string { + return []string{ + SortByCreatedAt, + } +} + +const ( + // SortOrderAscending is a SortOrder enum value + SortOrderAscending = "ASCENDING" + + // SortOrderDescending is a SortOrder enum value + SortOrderDescending = "DESCENDING" +) + +// SortOrder_Values returns all elements of the SortOrder enum +func SortOrder_Values() []string { + return []string{ + SortOrderAscending, + SortOrderDescending, + } +} + const ( // ValidationMethodEmail is a ValidationMethod enum value ValidationMethodEmail = "EMAIL" diff --git a/service/acm/doc.go b/service/acm/doc.go index 5a915b2db7..46473393f4 100644 --- a/service/acm/doc.go +++ b/service/acm/doc.go @@ -3,10 +3,9 @@ // Package acm provides the client and types for making API // requests to AWS Certificate Manager. // -// You can use Amazon Web Services Certificate Manager (ACM) to manage SSL/TLS -// certificates for your Amazon Web Services-based websites and applications. -// For more information about using ACM, see the Amazon Web Services Certificate -// Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/). +// You can use Certificate Manager (ACM) to manage SSL/TLS certificates for +// your Amazon Web Services-based websites and applications. For more information +// about using ACM, see the Certificate Manager User Guide (https://docs.aws.amazon.com/acm/latest/userguide/). // // See https://docs.aws.amazon.com/goto/WebAPI/acm-2015-12-08 for more information on this service. // diff --git a/service/ec2/api.go b/service/ec2/api.go index e0332c684b..0cd8a5948b 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -170042,6 +170042,9 @@ const ( // InstanceTypeP4de24xlarge is a InstanceType enum value InstanceTypeP4de24xlarge = "p4de.24xlarge" + + // InstanceTypeU3tb156xlarge is a InstanceType enum value + InstanceTypeU3tb156xlarge = "u-3tb1.56xlarge" ) // InstanceType_Values returns all elements of the InstanceType enum @@ -170615,6 +170618,7 @@ func InstanceType_Values() []string { InstanceTypeR6a48xlarge, InstanceTypeR6aMetal, InstanceTypeP4de24xlarge, + InstanceTypeU3tb156xlarge, } } diff --git a/service/emrserverless/api.go b/service/emrserverless/api.go index 2b8f17dddc..db9dd7cdb9 100644 --- a/service/emrserverless/api.go +++ b/service/emrserverless/api.go @@ -356,6 +356,91 @@ func (c *EMRServerless) GetApplicationWithContext(ctx aws.Context, input *GetApp return out, req.Send() } +const opGetDashboardForJobRun = "GetDashboardForJobRun" + +// GetDashboardForJobRunRequest generates a "aws/request.Request" representing the +// client's request for the GetDashboardForJobRun 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 GetDashboardForJobRun for more information on using the GetDashboardForJobRun +// 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 GetDashboardForJobRunRequest method. +// req, resp := client.GetDashboardForJobRunRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetDashboardForJobRun +func (c *EMRServerless) GetDashboardForJobRunRequest(input *GetDashboardForJobRunInput) (req *request.Request, output *GetDashboardForJobRunOutput) { + op := &request.Operation{ + Name: opGetDashboardForJobRun, + HTTPMethod: "GET", + HTTPPath: "/applications/{applicationId}/jobruns/{jobRunId}/dashboard", + } + + if input == nil { + input = &GetDashboardForJobRunInput{} + } + + output = &GetDashboardForJobRunOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDashboardForJobRun API operation for EMR Serverless. +// +// Returns a URL to access the job run 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 EMR Serverless's +// API operation GetDashboardForJobRun for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The specified resource was not found. +// +// - InternalServerException +// Request processing failed because of an error or failure with the service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/emr-serverless-2021-07-13/GetDashboardForJobRun +func (c *EMRServerless) GetDashboardForJobRun(input *GetDashboardForJobRunInput) (*GetDashboardForJobRunOutput, error) { + req, out := c.GetDashboardForJobRunRequest(input) + return out, req.Send() +} + +// GetDashboardForJobRunWithContext is the same as GetDashboardForJobRun with the addition of +// the ability to pass a context and additional request options. +// +// See GetDashboardForJobRun 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 *EMRServerless) GetDashboardForJobRunWithContext(ctx aws.Context, input *GetDashboardForJobRunInput, opts ...request.Option) (*GetDashboardForJobRunOutput, error) { + req, out := c.GetDashboardForJobRunRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetJobRun = "GetJobRun" // GetJobRunRequest generates a "aws/request.Request" representing the @@ -2418,6 +2503,103 @@ func (s *GetApplicationOutput) SetApplication(v *Application) *GetApplicationOut return s } +type GetDashboardForJobRunInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the application. + // + // ApplicationId is a required field + ApplicationId *string `location:"uri" locationName:"applicationId" min:"1" type:"string" required:"true"` + + // The ID of the job run. + // + // JobRunId is a required field + JobRunId *string `location:"uri" locationName:"jobRunId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDashboardForJobRunInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDashboardForJobRunInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDashboardForJobRunInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDashboardForJobRunInput"} + if s.ApplicationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationId")) + } + if s.ApplicationId != nil && len(*s.ApplicationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationId", 1)) + } + if s.JobRunId == nil { + invalidParams.Add(request.NewErrParamRequired("JobRunId")) + } + if s.JobRunId != nil && len(*s.JobRunId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobRunId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationId sets the ApplicationId field's value. +func (s *GetDashboardForJobRunInput) SetApplicationId(v string) *GetDashboardForJobRunInput { + s.ApplicationId = &v + return s +} + +// SetJobRunId sets the JobRunId field's value. +func (s *GetDashboardForJobRunInput) SetJobRunId(v string) *GetDashboardForJobRunInput { + s.JobRunId = &v + return s +} + +type GetDashboardForJobRunOutput struct { + _ struct{} `type:"structure"` + + // The URL to view job run's dashboard. + Url *string `locationName:"url" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDashboardForJobRunOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetDashboardForJobRunOutput) GoString() string { + return s.String() +} + +// SetUrl sets the Url field's value. +func (s *GetDashboardForJobRunOutput) SetUrl(v string) *GetDashboardForJobRunOutput { + s.Url = &v + return s +} + type GetJobRunInput struct { _ struct{} `type:"structure" nopayload:"true"` diff --git a/service/emrserverless/emrserverlessiface/interface.go b/service/emrserverless/emrserverlessiface/interface.go index 8cc51e7b46..2e42cae577 100644 --- a/service/emrserverless/emrserverlessiface/interface.go +++ b/service/emrserverless/emrserverlessiface/interface.go @@ -76,6 +76,10 @@ type EMRServerlessAPI interface { GetApplicationWithContext(aws.Context, *emrserverless.GetApplicationInput, ...request.Option) (*emrserverless.GetApplicationOutput, error) GetApplicationRequest(*emrserverless.GetApplicationInput) (*request.Request, *emrserverless.GetApplicationOutput) + GetDashboardForJobRun(*emrserverless.GetDashboardForJobRunInput) (*emrserverless.GetDashboardForJobRunOutput, error) + GetDashboardForJobRunWithContext(aws.Context, *emrserverless.GetDashboardForJobRunInput, ...request.Option) (*emrserverless.GetDashboardForJobRunOutput, error) + GetDashboardForJobRunRequest(*emrserverless.GetDashboardForJobRunInput) (*request.Request, *emrserverless.GetDashboardForJobRunOutput) + GetJobRun(*emrserverless.GetJobRunInput) (*emrserverless.GetJobRunOutput, error) GetJobRunWithContext(aws.Context, *emrserverless.GetJobRunInput, ...request.Option) (*emrserverless.GetJobRunOutput, error) GetJobRunRequest(*emrserverless.GetJobRunInput) (*request.Request, *emrserverless.GetJobRunOutput) diff --git a/service/fsx/api.go b/service/fsx/api.go index 5c8984c072..fab2088738 100644 --- a/service/fsx/api.go +++ b/service/fsx/api.go @@ -560,6 +560,9 @@ func (c *FSx) CreateDataRepositoryAssociationRequest(input *CreateDataRepository // only, or for both. To learn more about linking a data repository to your // file system, see Linking your file system to an S3 bucket (https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.html). // +// CreateDataRepositoryAssociation isn't supported on Amazon File Cache resources. +// To create a DRA on Amazon File Cache, use the CreateFileCache operation. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -722,6 +725,125 @@ func (c *FSx) CreateDataRepositoryTaskWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateFileCache = "CreateFileCache" + +// CreateFileCacheRequest generates a "aws/request.Request" representing the +// client's request for the CreateFileCache 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 CreateFileCache for more information on using the CreateFileCache +// 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 CreateFileCacheRequest method. +// req, resp := client.CreateFileCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileCache +func (c *FSx) CreateFileCacheRequest(input *CreateFileCacheInput) (req *request.Request, output *CreateFileCacheOutput) { + op := &request.Operation{ + Name: opCreateFileCache, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateFileCacheInput{} + } + + output = &CreateFileCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateFileCache API operation for Amazon FSx. +// +// Creates a new Amazon File Cache resource. +// +// You can use this operation with a client request token in the request that +// Amazon File Cache uses to ensure idempotent creation. If a cache with the +// specified client request token exists and the parameters match, CreateFileCache +// returns the description of the existing cache. If a cache with the specified +// client request token exists and the parameters don't match, this call returns +// IncompatibleParameterError. If a file cache with the specified client request +// token doesn't exist, CreateFileCache does the following: +// +// - Creates a new, empty Amazon File Cache resourcewith an assigned ID, +// and an initial lifecycle state of CREATING. +// +// - Returns the description of the cache in JSON format. +// +// The CreateFileCache call returns while the cache's lifecycle state is still +// CREATING. You can check the cache creation status by calling the DescribeFileCaches +// (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html) +// operation, which returns the cache state along with other information. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation CreateFileCache for usage and error information. +// +// Returned Error Types: +// +// - BadRequest +// A generic error indicating a failure with a client request. +// +// - IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// - InvalidNetworkSettings +// One or more network settings specified in the request are invalid. +// +// - InvalidPerUnitStorageThroughput +// An invalid value for PerUnitStorageThroughput was provided. Please create +// your file system again, using a valid value. +// +// - ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// - InternalServerError +// A generic error indicating a server-side failure. +// +// - MissingFileCacheConfiguration +// A cache configuration is required for this operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateFileCache +func (c *FSx) CreateFileCache(input *CreateFileCacheInput) (*CreateFileCacheOutput, error) { + req, out := c.CreateFileCacheRequest(input) + return out, req.Send() +} + +// CreateFileCacheWithContext is the same as CreateFileCache with the addition of +// the ability to pass a context and additional request options. +// +// See CreateFileCache for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) CreateFileCacheWithContext(ctx aws.Context, input *CreateFileCacheInput, opts ...request.Option) (*CreateFileCacheOutput, error) { + req, out := c.CreateFileCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateFileSystem = "CreateFileSystem" // CreateFileSystemRequest generates a "aws/request.Request" representing the @@ -799,17 +921,6 @@ func (c *FSx) CreateFileSystemRequest(input *CreateFileSystemInput) (req *reques // // - Returns the description of the file system in JSON format. // -// This operation requires a client request token in the request that Amazon -// FSx uses to ensure idempotent creation. This means that calling the operation -// multiple times with the same client request token has no effect. By using -// the idempotent operation, you can retry a CreateFileSystem operation without -// the risk of creating an extra file system. This approach can be useful when -// an initial call fails in a way that makes it unclear whether a file system -// was created. Examples are if a transport-level timeout occurred, or your -// connection was reset. If you use the same client request token and the initial -// call created a file system, the client receives a success message as long -// as the parameters are the same. -// // The CreateFileSystem call returns while the file system's lifecycle state // is still CREATING. You can check the file-system creation status by calling // the DescribeFileSystems (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html) @@ -1646,6 +1757,111 @@ func (c *FSx) DeleteDataRepositoryAssociationWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteFileCache = "DeleteFileCache" + +// DeleteFileCacheRequest generates a "aws/request.Request" representing the +// client's request for the DeleteFileCache 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 DeleteFileCache for more information on using the DeleteFileCache +// 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 DeleteFileCacheRequest method. +// req, resp := client.DeleteFileCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileCache +func (c *FSx) DeleteFileCacheRequest(input *DeleteFileCacheInput) (req *request.Request, output *DeleteFileCacheOutput) { + op := &request.Operation{ + Name: opDeleteFileCache, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteFileCacheInput{} + } + + output = &DeleteFileCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteFileCache API operation for Amazon FSx. +// +// Deletes an Amazon File Cache resource. After deletion, the cache no longer +// exists, and its data is gone. +// +// The DeleteFileCache operation returns while the cache has the DELETING status. +// You can check the cache deletion status by calling the DescribeFileCaches +// (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileCaches.html) +// operation, which returns a list of caches in your account. If you pass the +// cache ID for a deleted cache, the DescribeFileCaches operation returns a +// FileCacheNotFound error. +// +// The data in a deleted cache is also deleted and can't be recovered by any +// means. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation DeleteFileCache for usage and error information. +// +// Returned Error Types: +// +// - BadRequest +// A generic error indicating a failure with a client request. +// +// - IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// - FileCacheNotFound +// No caches were found based upon supplied parameters. +// +// - ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// - InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileCache +func (c *FSx) DeleteFileCache(input *DeleteFileCacheInput) (*DeleteFileCacheOutput, error) { + req, out := c.DeleteFileCacheRequest(input) + return out, req.Send() +} + +// DeleteFileCacheWithContext is the same as DeleteFileCache with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteFileCache for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) DeleteFileCacheWithContext(ctx aws.Context, input *DeleteFileCacheInput, opts ...request.Option) (*DeleteFileCacheOutput, error) { + req, out := c.DeleteFileCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteFileSystem = "DeleteFileSystem" // DeleteFileSystemRequest generates a "aws/request.Request" representing the @@ -2256,25 +2472,27 @@ func (c *FSx) DescribeDataRepositoryAssociationsRequest(input *DescribeDataRepos // DescribeDataRepositoryAssociations API operation for Amazon FSx. // -// Returns the description of specific Amazon FSx for Lustre data repository -// associations, if one or more AssociationIds values are provided in the request, -// or if filters are used in the request. Data repository associations are supported -// only for file systems with the Persistent_2 deployment type. +// Returns the description of specific Amazon FSx for Lustre or Amazon File +// Cache data repository associations, if one or more AssociationIds values +// are provided in the request, or if filters are used in the request. Data +// repository associations are supported only for Amazon FSx for Lustre file +// systems with the Persistent_2 deployment type and for Amazon File Cache resources. // // You can use filters to narrow the response to include just data repository // associations for specific file systems (use the file-system-id filter with -// the ID of the file system) or data repository associations for a specific -// repository type (use the data-repository-type filter with a value of S3). -// If you don't use filters, the response returns all data repository associations +// the ID of the file system) or caches (use the file-cache-id filter with the +// ID of the cache), or data repository associations for a specific repository +// type (use the data-repository-type filter with a value of S3 or NFS). If +// you don't use filters, the response returns all data repository associations // owned by your Amazon Web Services account in the Amazon Web Services Region // of the endpoint that you're calling. // // When retrieving all data repository associations, you can paginate the response // by using the optional MaxResults parameter to limit the number of data repository // associations returned in a response. If more data repository associations -// remain, Amazon FSx returns a NextToken value in the response. In this case, -// send a later request with the NextToken request parameter set to the value -// of NextToken from the last response. +// remain, a NextToken value is returned in the response. In this case, send +// a later request with the NextToken request parameter set to the value of +// NextToken from the last response. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2422,19 +2640,19 @@ func (c *FSx) DescribeDataRepositoryTasksRequest(input *DescribeDataRepositoryTa // DescribeDataRepositoryTasks API operation for Amazon FSx. // -// Returns the description of specific Amazon FSx for Lustre data repository -// tasks, if one or more TaskIds values are provided in the request, or if filters -// are used in the request. You can use filters to narrow the response to include -// just tasks for specific file systems, or tasks in a specific lifecycle state. -// Otherwise, it returns all data repository tasks owned by your Amazon Web -// Services account in the Amazon Web Services Region of the endpoint that you're -// calling. +// Returns the description of specific Amazon FSx for Lustre or Amazon File +// Cache data repository tasks, if one or more TaskIds values are provided in +// the request, or if filters are used in the request. You can use filters to +// narrow the response to include just tasks for specific file systems or caches, +// or tasks in a specific lifecycle state. Otherwise, it returns all data repository +// tasks owned by your Amazon Web Services account in the Amazon Web Services +// Region of the endpoint that you're calling. // // When retrieving all tasks, you can paginate the response by using the optional // MaxResults parameter to limit the number of tasks returned in a response. -// If more tasks remain, Amazon FSx returns a NextToken value in the response. -// In this case, send a later request with the NextToken request parameter set -// to the value of NextToken from the last response. +// If more tasks remain, a NextToken value is returned in the response. In this +// case, send a later request with the NextToken request parameter set to the +// value of NextToken from the last response. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2530,34 +2748,34 @@ func (c *FSx) DescribeDataRepositoryTasksPagesWithContext(ctx aws.Context, input return p.Err() } -const opDescribeFileSystemAliases = "DescribeFileSystemAliases" +const opDescribeFileCaches = "DescribeFileCaches" -// DescribeFileSystemAliasesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeFileSystemAliases operation. The "output" return +// DescribeFileCachesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFileCaches 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 DescribeFileSystemAliases for more information on using the DescribeFileSystemAliases +// See DescribeFileCaches for more information on using the DescribeFileCaches // 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 DescribeFileSystemAliasesRequest method. -// req, resp := client.DescribeFileSystemAliasesRequest(params) +// // Example sending a request using the DescribeFileCachesRequest method. +// req, resp := client.DescribeFileCachesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemAliases -func (c *FSx) DescribeFileSystemAliasesRequest(input *DescribeFileSystemAliasesInput) (req *request.Request, output *DescribeFileSystemAliasesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileCaches +func (c *FSx) DescribeFileCachesRequest(input *DescribeFileCachesInput) (req *request.Request, output *DescribeFileCachesOutput) { op := &request.Operation{ - Name: opDescribeFileSystemAliases, + Name: opDescribeFileCaches, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2569,98 +2787,117 @@ func (c *FSx) DescribeFileSystemAliasesRequest(input *DescribeFileSystemAliasesI } if input == nil { - input = &DescribeFileSystemAliasesInput{} + input = &DescribeFileCachesInput{} } - output = &DescribeFileSystemAliasesOutput{} + output = &DescribeFileCachesOutput{} req = c.newRequest(op, input, output) return } -// DescribeFileSystemAliases API operation for Amazon FSx. +// DescribeFileCaches API operation for Amazon FSx. // -// Returns the DNS aliases that are associated with the specified Amazon FSx -// for Windows File Server file system. A history of all DNS aliases that have -// been associated with and disassociated from the file system is available -// in the list of AdministrativeAction provided in the DescribeFileSystems operation -// response. +// Returns the description of a specific Amazon File Cache resource, if a FileCacheIds +// value is provided for that cache. Otherwise, it returns descriptions of all +// caches owned by your Amazon Web Services account in the Amazon Web Services +// Region of the endpoint that you're calling. +// +// When retrieving all cache descriptions, you can optionally specify the MaxResults +// parameter to limit the number of descriptions in a response. If more cache +// descriptions remain, the operation returns a NextToken value in the response. +// In this case, send a later request with the NextToken request parameter set +// to the value of NextToken from the last response. +// +// This operation is used in an iterative process to retrieve a list of your +// cache descriptions. DescribeFileCaches is called first without a NextTokenvalue. +// Then the operation continues to be called with the NextToken parameter set +// to the value of the last NextToken value until a response has no NextToken. +// +// When using this operation, keep the following in mind: +// +// - The implementation might return fewer than MaxResults cache descriptions +// while still including a NextToken value. +// +// - The order of caches returned in the response of one DescribeFileCaches +// call and the order of caches returned across the responses of a multicall +// iteration is unspecified. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon FSx's -// API operation DescribeFileSystemAliases for usage and error information. +// API operation DescribeFileCaches for usage and error information. // // Returned Error Types: // // - BadRequest // A generic error indicating a failure with a client request. // -// - FileSystemNotFound -// No Amazon FSx file systems were found based upon supplied parameters. +// - FileCacheNotFound +// No caches were found based upon supplied parameters. // // - InternalServerError // A generic error indicating a server-side failure. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemAliases -func (c *FSx) DescribeFileSystemAliases(input *DescribeFileSystemAliasesInput) (*DescribeFileSystemAliasesOutput, error) { - req, out := c.DescribeFileSystemAliasesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileCaches +func (c *FSx) DescribeFileCaches(input *DescribeFileCachesInput) (*DescribeFileCachesOutput, error) { + req, out := c.DescribeFileCachesRequest(input) return out, req.Send() } -// DescribeFileSystemAliasesWithContext is the same as DescribeFileSystemAliases with the addition of +// DescribeFileCachesWithContext is the same as DescribeFileCaches with the addition of // the ability to pass a context and additional request options. // -// See DescribeFileSystemAliases for details on how to use this API operation. +// See DescribeFileCaches for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *FSx) DescribeFileSystemAliasesWithContext(ctx aws.Context, input *DescribeFileSystemAliasesInput, opts ...request.Option) (*DescribeFileSystemAliasesOutput, error) { - req, out := c.DescribeFileSystemAliasesRequest(input) +func (c *FSx) DescribeFileCachesWithContext(ctx aws.Context, input *DescribeFileCachesInput, opts ...request.Option) (*DescribeFileCachesOutput, error) { + req, out := c.DescribeFileCachesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeFileSystemAliasesPages iterates over the pages of a DescribeFileSystemAliases operation, +// DescribeFileCachesPages iterates over the pages of a DescribeFileCaches operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeFileSystemAliases method for more information on how to use this operation. +// See DescribeFileCaches 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 DescribeFileSystemAliases operation. +// // Example iterating over at most 3 pages of a DescribeFileCaches operation. // pageNum := 0 -// err := client.DescribeFileSystemAliasesPages(params, -// func(page *fsx.DescribeFileSystemAliasesOutput, lastPage bool) bool { +// err := client.DescribeFileCachesPages(params, +// func(page *fsx.DescribeFileCachesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *FSx) DescribeFileSystemAliasesPages(input *DescribeFileSystemAliasesInput, fn func(*DescribeFileSystemAliasesOutput, bool) bool) error { - return c.DescribeFileSystemAliasesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *FSx) DescribeFileCachesPages(input *DescribeFileCachesInput, fn func(*DescribeFileCachesOutput, bool) bool) error { + return c.DescribeFileCachesPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeFileSystemAliasesPagesWithContext same as DescribeFileSystemAliasesPages except +// DescribeFileCachesPagesWithContext same as DescribeFileCachesPages except // it takes a Context and allows setting request options on the pages. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *FSx) DescribeFileSystemAliasesPagesWithContext(ctx aws.Context, input *DescribeFileSystemAliasesInput, fn func(*DescribeFileSystemAliasesOutput, bool) bool, opts ...request.Option) error { +func (c *FSx) DescribeFileCachesPagesWithContext(ctx aws.Context, input *DescribeFileCachesInput, fn func(*DescribeFileCachesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeFileSystemAliasesInput + var inCpy *DescribeFileCachesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeFileSystemAliasesRequest(inCpy) + req, _ := c.DescribeFileCachesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2668,7 +2905,7 @@ func (c *FSx) DescribeFileSystemAliasesPagesWithContext(ctx aws.Context, input * } for p.Next() { - if !fn(p.Page().(*DescribeFileSystemAliasesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeFileCachesOutput), !p.HasNextPage()) { break } } @@ -2676,34 +2913,34 @@ func (c *FSx) DescribeFileSystemAliasesPagesWithContext(ctx aws.Context, input * return p.Err() } -const opDescribeFileSystems = "DescribeFileSystems" +const opDescribeFileSystemAliases = "DescribeFileSystemAliases" -// DescribeFileSystemsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeFileSystems operation. The "output" return +// DescribeFileSystemAliasesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFileSystemAliases 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 DescribeFileSystems for more information on using the DescribeFileSystems +// See DescribeFileSystemAliases for more information on using the DescribeFileSystemAliases // 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 DescribeFileSystemsRequest method. -// req, resp := client.DescribeFileSystemsRequest(params) +// // Example sending a request using the DescribeFileSystemAliasesRequest method. +// req, resp := client.DescribeFileSystemAliasesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems -func (c *FSx) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemAliases +func (c *FSx) DescribeFileSystemAliasesRequest(input *DescribeFileSystemAliasesInput) (req *request.Request, output *DescribeFileSystemAliasesOutput) { op := &request.Operation{ - Name: opDescribeFileSystems, + Name: opDescribeFileSystemAliases, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2715,24 +2952,170 @@ func (c *FSx) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req * } if input == nil { - input = &DescribeFileSystemsInput{} + input = &DescribeFileSystemAliasesInput{} } - output = &DescribeFileSystemsOutput{} + output = &DescribeFileSystemAliasesOutput{} req = c.newRequest(op, input, output) return } -// DescribeFileSystems API operation for Amazon FSx. -// -// Returns the description of specific Amazon FSx file systems, if a FileSystemIds -// value is provided for that file system. Otherwise, it returns descriptions -// of all file systems owned by your Amazon Web Services account in the Amazon -// Web Services Region of the endpoint that you're calling. +// DescribeFileSystemAliases API operation for Amazon FSx. // -// When retrieving all file system descriptions, you can optionally specify -// the MaxResults parameter to limit the number of descriptions in a response. -// If more file system descriptions remain, Amazon FSx returns a NextToken value +// Returns the DNS aliases that are associated with the specified Amazon FSx +// for Windows File Server file system. A history of all DNS aliases that have +// been associated with and disassociated from the file system is available +// in the list of AdministrativeAction provided in the DescribeFileSystems operation +// response. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation DescribeFileSystemAliases for usage and error information. +// +// Returned Error Types: +// +// - BadRequest +// A generic error indicating a failure with a client request. +// +// - FileSystemNotFound +// No Amazon FSx file systems were found based upon supplied parameters. +// +// - InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystemAliases +func (c *FSx) DescribeFileSystemAliases(input *DescribeFileSystemAliasesInput) (*DescribeFileSystemAliasesOutput, error) { + req, out := c.DescribeFileSystemAliasesRequest(input) + return out, req.Send() +} + +// DescribeFileSystemAliasesWithContext is the same as DescribeFileSystemAliases with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeFileSystemAliases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) DescribeFileSystemAliasesWithContext(ctx aws.Context, input *DescribeFileSystemAliasesInput, opts ...request.Option) (*DescribeFileSystemAliasesOutput, error) { + req, out := c.DescribeFileSystemAliasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeFileSystemAliasesPages iterates over the pages of a DescribeFileSystemAliases operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeFileSystemAliases 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 DescribeFileSystemAliases operation. +// pageNum := 0 +// err := client.DescribeFileSystemAliasesPages(params, +// func(page *fsx.DescribeFileSystemAliasesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *FSx) DescribeFileSystemAliasesPages(input *DescribeFileSystemAliasesInput, fn func(*DescribeFileSystemAliasesOutput, bool) bool) error { + return c.DescribeFileSystemAliasesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeFileSystemAliasesPagesWithContext same as DescribeFileSystemAliasesPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) DescribeFileSystemAliasesPagesWithContext(ctx aws.Context, input *DescribeFileSystemAliasesInput, fn func(*DescribeFileSystemAliasesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeFileSystemAliasesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeFileSystemAliasesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeFileSystemAliasesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeFileSystems = "DescribeFileSystems" + +// DescribeFileSystemsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeFileSystems 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 DescribeFileSystems for more information on using the DescribeFileSystems +// 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 DescribeFileSystemsRequest method. +// req, resp := client.DescribeFileSystemsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeFileSystems +func (c *FSx) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req *request.Request, output *DescribeFileSystemsOutput) { + op := &request.Operation{ + Name: opDescribeFileSystems, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeFileSystemsInput{} + } + + output = &DescribeFileSystemsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeFileSystems API operation for Amazon FSx. +// +// Returns the description of specific Amazon FSx file systems, if a FileSystemIds +// value is provided for that file system. Otherwise, it returns descriptions +// of all file systems owned by your Amazon Web Services account in the Amazon +// Web Services Region of the endpoint that you're calling. +// +// When retrieving all file system descriptions, you can optionally specify +// the MaxResults parameter to limit the number of descriptions in a response. +// If more file system descriptions remain, Amazon FSx returns a NextToken value // in the response. In this case, send a later request with the NextToken request // parameter set to the value of NextToken from the last response. // @@ -4017,6 +4400,107 @@ func (c *FSx) UpdateDataRepositoryAssociationWithContext(ctx aws.Context, input return out, req.Send() } +const opUpdateFileCache = "UpdateFileCache" + +// UpdateFileCacheRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFileCache 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 UpdateFileCache for more information on using the UpdateFileCache +// 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 UpdateFileCacheRequest method. +// req, resp := client.UpdateFileCacheRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileCache +func (c *FSx) UpdateFileCacheRequest(input *UpdateFileCacheInput) (req *request.Request, output *UpdateFileCacheOutput) { + op := &request.Operation{ + Name: opUpdateFileCache, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateFileCacheInput{} + } + + output = &UpdateFileCacheOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateFileCache API operation for Amazon FSx. +// +// Updates the configuration of an existing Amazon File Cache resource. You +// can update multiple properties in a single request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon FSx's +// API operation UpdateFileCache for usage and error information. +// +// Returned Error Types: +// +// - BadRequest +// A generic error indicating a failure with a client request. +// +// - UnsupportedOperation +// The requested operation is not supported for this resource or API. +// +// - IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// - InternalServerError +// A generic error indicating a server-side failure. +// +// - FileCacheNotFound +// No caches were found based upon supplied parameters. +// +// - MissingFileCacheConfiguration +// A cache configuration is required for this operation. +// +// - ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileCache +func (c *FSx) UpdateFileCache(input *UpdateFileCacheInput) (*UpdateFileCacheOutput, error) { + req, out := c.UpdateFileCacheRequest(input) + return out, req.Send() +} + +// UpdateFileCacheWithContext is the same as UpdateFileCache with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFileCache for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *FSx) UpdateFileCacheWithContext(ctx aws.Context, input *UpdateFileCacheInput, opts ...request.Option) (*UpdateFileCacheOutput, error) { + req, out := c.UpdateFileCacheRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateFileSystem = "UpdateFileSystem" // UpdateFileSystemRequest generates a "aws/request.Request" representing the @@ -4970,21 +5454,21 @@ func (s *AssociateFileSystemAliasesOutput) SetAliases(v []*Alias) *AssociateFile // Describes a data repository association's automatic export policy. The AutoExportPolicy // defines the types of updated objects on the file system that will be automatically // exported to the data repository. As you create, modify, or delete files, -// Amazon FSx automatically exports the defined changes asynchronously once -// your application finishes modifying the file. +// Amazon FSx for Lustre automatically exports the defined changes asynchronously +// once your application finishes modifying the file. // -// This AutoExportPolicy is supported only for file systems with the Persistent_2 -// deployment type. +// This AutoExportPolicy is supported only for Amazon FSx for Lustre file systems +// with the Persistent_2 deployment type. type AutoExportPolicy struct { _ struct{} `type:"structure"` // The AutoExportPolicy can have the following event values: // - // * NEW - Amazon FSx automatically exports new files and directories to - // the data repository as they are added to the file system. + // * NEW - New files and directories are automatically exported to the data + // repository as they are added to the file system. // - // * CHANGED - Amazon FSx automatically exports changes to files and directories - // on the file system to the data repository. + // * CHANGED - Changes to files and directories on the file system are automatically + // exported to the data repository. // // * DELETED - Files and directories are automatically deleted on the data // repository when they are deleted on the file system. @@ -5019,11 +5503,11 @@ func (s *AutoExportPolicy) SetEvents(v []*string) *AutoExportPolicy { // Describes the data repository association's automatic import policy. The // AutoImportPolicy defines how Amazon FSx keeps your file metadata and directory -// listings up to date by importing changes to your file system as you modify -// objects in a linked S3 bucket. +// listings up to date by importing changes to your Amazon FSx for Lustre file +// system as you modify objects in a linked S3 bucket. // -// This AutoImportPolicy is supported only for file systems with the Persistent_2 -// deployment type. +// The AutoImportPolicy is supported only for Amazon FSx for Lustre file systems +// with the Persistent_2 deployment type. type AutoImportPolicy struct { _ struct{} `type:"structure"` @@ -6177,12 +6661,10 @@ type CreateDataRepositoryAssociationInput struct { // S3 bucket, and no other S3 bucket can be linked to the directory. // // If you specify only a forward slash (/) as the file system path, you can - // link only 1 data repository to the file system. You can only specify "/" + // link only one data repository to the file system. You can only specify "/" // as the file system path for the first data repository associated with a file // system. - // - // FileSystemPath is a required field - FileSystemPath *string `min:"1" type:"string" required:"true"` + FileSystemPath *string `min:"1" type:"string"` // For files imported from a data repository, this value determines the stripe // count and maximum amount of data per file (in MiB) stored on a single physical @@ -6240,9 +6722,6 @@ func (s *CreateDataRepositoryAssociationInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - if s.FileSystemPath == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemPath")) - } if s.FileSystemPath != nil && len(*s.FileSystemPath) < 1 { invalidParams.Add(request.NewErrParamMinLen("FileSystemPath", 1)) } @@ -6351,6 +6830,10 @@ func (s *CreateDataRepositoryAssociationOutput) SetAssociation(v *DataRepository type CreateDataRepositoryTaskInput struct { _ struct{} `type:"structure"` + // Specifies the amount of data to release, in GiB, by an Amazon File Cache + // AUTO_RELEASE_DATA task that automatically releases files from the cache. + CapacityToRelease *int64 `min:"1" type:"long"` + // (Optional) An idempotency token for resource creation, in a string of up // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. @@ -6415,6 +6898,9 @@ func (s CreateDataRepositoryTaskInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateDataRepositoryTaskInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateDataRepositoryTaskInput"} + if s.CapacityToRelease != nil && *s.CapacityToRelease < 1 { + invalidParams.Add(request.NewErrParamMinValue("CapacityToRelease", 1)) + } if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } @@ -6455,6 +6941,12 @@ func (s *CreateDataRepositoryTaskInput) Validate() error { return nil } +// SetCapacityToRelease sets the CapacityToRelease field's value. +func (s *CreateDataRepositoryTaskInput) SetCapacityToRelease(v int64) *CreateDataRepositoryTaskInput { + s.CapacityToRelease = &v + return s +} + // SetClientRequestToken sets the ClientRequestToken field's value. func (s *CreateDataRepositoryTaskInput) SetClientRequestToken(v string) *CreateDataRepositoryTaskInput { s.ClientRequestToken = &v @@ -6522,108 +7014,81 @@ func (s *CreateDataRepositoryTaskOutput) SetDataRepositoryTask(v *DataRepository return s } -// The request object for the CreateFileSystemFromBackup operation. -type CreateFileSystemFromBackupInput struct { +type CreateFileCacheInput struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup that you are copying. - // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` - - // 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 + // An idempotency token for resource creation, in a string of up to 64 ASCII + // characters. This token is automatically filled on your behalf when you use // the Command Line Interface (CLI) or an Amazon Web Services SDK. + // + // By using the idempotent operation, you can retry a CreateFileCache operation + // without the risk of creating an extra cache. This approach can be useful + // when an initial call fails in a way that makes it unclear whether a cache + // was created. Examples are if a transport level timeout occurred, or your + // connection was reset. If you use the same client request token and the initial + // call created a cache, the client receives success as long as the parameters + // are the same. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Sets the version for the Amazon FSx for Lustre file system that you're creating - // from a backup. Valid values are 2.10 and 2.12. - // - // You don't need to specify FileSystemTypeVersion because it will be applied - // using the backup's FileSystemTypeVersion setting. If you choose to specify - // FileSystemTypeVersion when creating from backup, the value must match the - // backup's FileSystemTypeVersion setting. - FileSystemTypeVersion *string `min:"1" type:"string"` + // A boolean flag indicating whether tags for the cache should be copied to + // data repository associations. This value defaults to false. + CopyTagsToDataRepositoryAssociations *bool `type:"boolean"` - // Specifies the ID of the Key Management Service (KMS) key to use for encrypting - // data on Amazon FSx file systems, as follows: - // - // * Amazon FSx for Lustre PERSISTENT_1 and PERSISTENT_2 deployment types - // only. SCRATCH_1 and SCRATCH_2 types are encrypted using the Amazon FSx - // service KMS key for your account. + // A list of up to 8 configurations for data repository associations (DRAs) + // to be created during the cache creation. The DRAs link the cache to either + // an Amazon S3 data repository or a Network File System (NFS) data repository + // that supports the NFSv3 protocol. // - // * Amazon FSx for NetApp ONTAP + // The DRA configurations must meet the following requirements: // - // * Amazon FSx for OpenZFS + // * All configurations on the list must be of the same data repository type, + // either all S3 or all NFS. A cache can't link to different data repository + // types at the same time. // - // * Amazon FSx for Windows File Server + // * An NFS DRA must link to an NFS file system that supports the NFSv3 protocol. // - // If a KmsKeyId isn't specified, the Amazon FSx-managed KMS key for your account - // is used. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) - // in the Key Management Service API Reference. - KmsKeyId *string `min:"1" type:"string"` + // DRA automatic import and automatic export is not supported. + DataRepositoryAssociations []*FileCacheDataRepositoryAssociation `type:"list"` - // The Lustre configuration for the file system being created. - // - // The following parameters are not supported for file systems with the Persistent_2 - // deployment type. Instead, use CreateDataRepositoryAssociation to create a - // data repository association to link your Lustre file system to a data repository. - // - // * AutoImportPolicy - // - // * ExportPath + // The type of cache that you're creating, which must be LUSTRE. // - // * ImportedChunkSize + // FileCacheType is a required field + FileCacheType *string `type:"string" required:"true" enum:"FileCacheType"` + + // Sets the Lustre version for the cache that you're creating, which must be + // 2.12. // - // * ImportPath - LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` + // FileCacheTypeVersion is a required field + FileCacheTypeVersion *string `min:"1" type:"string" required:"true"` - // The OpenZFS configuration for the file system that's being created. - OpenZFSConfiguration *CreateFileSystemOpenZFSConfiguration `type:"structure"` + // Specifies the ID of the Key Management Service (KMS) key to use for encrypting + // data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed + // KMS key for your account is used. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` - // A list of IDs for the security groups that apply to the specified network - // interfaces created for file system access. These security groups apply to - // all network interfaces. This value isn't returned in later DescribeFileSystem - // requests. + // The configuration for the Amazon File Cache resource being created. + LustreConfiguration *CreateFileCacheLustreConfiguration `type:"structure"` + + // A list of IDs specifying the security groups to apply to all network interfaces + // created for Amazon File Cache access. This list isn't returned in later requests + // to describe the cache. SecurityGroupIds []*string `type:"list"` - // Sets the storage type for the Windows or OpenZFS file system that you're - // creating from a backup. Valid values are SSD and HDD. - // - // * Set to SSD to use solid state drive storage. SSD is supported on all - // Windows and OpenZFS deployment types. - // - // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 - // and MULTI_AZ_1 FSx for Windows File Server file system deployment types. + // The storage capacity of the cache in gibibytes (GiB). Valid values are 1200 + // GiB, 2400 GiB, and increments of 2400 GiB. // - // The default value is SSD. - // - // HDD and SSD storage types have different minimum storage capacity requirements. - // A restored file system's storage capacity is tied to the file system that - // was backed up. You can create a file system that uses HDD storage from a - // backup of a file system that used SSD storage if the original SSD file system - // had a storage capacity of at least 2000 GiB. - StorageType *string `type:"string" enum:"StorageType"` + // StorageCapacity is a required field + StorageCapacity *int64 `type:"integer" required:"true"` - // Specifies the IDs of the subnets that the file system will be accessible - // from. For Windows MULTI_AZ_1 file system deployment types, provide exactly - // two subnet IDs, one for the preferred file server and one for the standby - // file server. You specify one of these subnets as the preferred subnet using - // the WindowsConfiguration > PreferredSubnetID property. - // - // Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types, Lustre - // file systems, and OpenZFS file systems provide exactly one subnet ID. The - // file server is launched in that subnet's Availability Zone. + // A list of subnet IDs that the cache will be accessible from. You can specify + // only one subnet ID in a call to the CreateFileCache operation. // // SubnetIds is a required field SubnetIds []*string `type:"list" required:"true"` - // The tags to be applied to the file system at file system creation. The key - // value of the Name tag appears in the console as the file system name. + // A list of Tag values, with a maximum of 50 elements. Tags []*Tag `min:"1" type:"list"` - - // The configuration for this Microsoft Windows file system. - WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` } // String returns the string representation. @@ -6631,7 +7096,7 @@ type CreateFileSystemFromBackupInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemFromBackupInput) String() string { +func (s CreateFileCacheInput) String() string { return awsutil.Prettify(s) } @@ -6640,44 +7105,52 @@ func (s CreateFileSystemFromBackupInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemFromBackupInput) GoString() string { +func (s CreateFileCacheInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemFromBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemFromBackupInput"} - if s.BackupId == nil { - invalidParams.Add(request.NewErrParamRequired("BackupId")) - } - if s.BackupId != nil && len(*s.BackupId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) - } +func (s *CreateFileCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileCacheInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) + if s.FileCacheType == nil { + invalidParams.Add(request.NewErrParamRequired("FileCacheType")) + } + if s.FileCacheTypeVersion == nil { + invalidParams.Add(request.NewErrParamRequired("FileCacheTypeVersion")) + } + if s.FileCacheTypeVersion != nil && len(*s.FileCacheTypeVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileCacheTypeVersion", 1)) } if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) } + if s.StorageCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) + } if s.SubnetIds == nil { invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.DataRepositoryAssociations != nil { + for i, v := range s.DataRepositoryAssociations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataRepositoryAssociations", i), err.(request.ErrInvalidParams)) + } + } + } if s.LustreConfiguration != nil { if err := s.LustreConfiguration.Validate(); err != nil { invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) } } - if s.OpenZFSConfiguration != nil { - if err := s.OpenZFSConfiguration.Validate(); err != nil { - invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) - } - } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -6688,11 +7161,6 @@ func (s *CreateFileSystemFromBackupInput) Validate() error { } } } - if s.WindowsConfiguration != nil { - if err := s.WindowsConfiguration.Validate(); err != nil { - invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -6700,78 +7168,182 @@ func (s *CreateFileSystemFromBackupInput) Validate() error { return nil } -// SetBackupId sets the BackupId field's value. -func (s *CreateFileSystemFromBackupInput) SetBackupId(v string) *CreateFileSystemFromBackupInput { - s.BackupId = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileCacheInput) SetClientRequestToken(v string) *CreateFileCacheInput { + s.ClientRequestToken = &v return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *CreateFileSystemFromBackupInput { - s.ClientRequestToken = &v +// SetCopyTagsToDataRepositoryAssociations sets the CopyTagsToDataRepositoryAssociations field's value. +func (s *CreateFileCacheInput) SetCopyTagsToDataRepositoryAssociations(v bool) *CreateFileCacheInput { + s.CopyTagsToDataRepositoryAssociations = &v return s } -// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. -func (s *CreateFileSystemFromBackupInput) SetFileSystemTypeVersion(v string) *CreateFileSystemFromBackupInput { - s.FileSystemTypeVersion = &v +// SetDataRepositoryAssociations sets the DataRepositoryAssociations field's value. +func (s *CreateFileCacheInput) SetDataRepositoryAssociations(v []*FileCacheDataRepositoryAssociation) *CreateFileCacheInput { + s.DataRepositoryAssociations = v + return s +} + +// SetFileCacheType sets the FileCacheType field's value. +func (s *CreateFileCacheInput) SetFileCacheType(v string) *CreateFileCacheInput { + s.FileCacheType = &v + return s +} + +// SetFileCacheTypeVersion sets the FileCacheTypeVersion field's value. +func (s *CreateFileCacheInput) SetFileCacheTypeVersion(v string) *CreateFileCacheInput { + s.FileCacheTypeVersion = &v return s } // SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateFileSystemFromBackupInput) SetKmsKeyId(v string) *CreateFileSystemFromBackupInput { +func (s *CreateFileCacheInput) SetKmsKeyId(v string) *CreateFileCacheInput { s.KmsKeyId = &v return s } // SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *CreateFileSystemFromBackupInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemFromBackupInput { +func (s *CreateFileCacheInput) SetLustreConfiguration(v *CreateFileCacheLustreConfiguration) *CreateFileCacheInput { s.LustreConfiguration = v return s } -// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. -func (s *CreateFileSystemFromBackupInput) SetOpenZFSConfiguration(v *CreateFileSystemOpenZFSConfiguration) *CreateFileSystemFromBackupInput { - s.OpenZFSConfiguration = v - return s -} - // SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput { +func (s *CreateFileCacheInput) SetSecurityGroupIds(v []*string) *CreateFileCacheInput { s.SecurityGroupIds = v return s } -// SetStorageType sets the StorageType field's value. -func (s *CreateFileSystemFromBackupInput) SetStorageType(v string) *CreateFileSystemFromBackupInput { - s.StorageType = &v +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *CreateFileCacheInput) SetStorageCapacity(v int64) *CreateFileCacheInput { + s.StorageCapacity = &v return s } // SetSubnetIds sets the SubnetIds field's value. -func (s *CreateFileSystemFromBackupInput) SetSubnetIds(v []*string) *CreateFileSystemFromBackupInput { +func (s *CreateFileCacheInput) SetSubnetIds(v []*string) *CreateFileCacheInput { s.SubnetIds = v return s } // SetTags sets the Tags field's value. -func (s *CreateFileSystemFromBackupInput) SetTags(v []*Tag) *CreateFileSystemFromBackupInput { +func (s *CreateFileCacheInput) SetTags(v []*Tag) *CreateFileCacheInput { s.Tags = v return s } -// SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *CreateFileSystemFromBackupInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemFromBackupInput { - s.WindowsConfiguration = v +// The Amazon File Cache configuration for the cache that you are creating. +type CreateFileCacheLustreConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies the cache deployment type, which must be CACHE_1. + // + // DeploymentType is a required field + DeploymentType *string `type:"string" required:"true" enum:"FileCacheLustreDeploymentType"` + + // The configuration for a Lustre MDT (Metadata Target) storage volume. + // + // MetadataConfiguration is a required field + MetadataConfiguration *FileCacheLustreMetadataConfiguration `type:"structure" required:"true"` + + // Provisions the amount of read and write throughput for each 1 tebibyte (TiB) + // of cache storage capacity, in MB/s/TiB. The only supported value is 1000. + // + // PerUnitStorageThroughput is a required field + PerUnitStorageThroughput *int64 `min:"12" type:"integer" required:"true"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileCacheLustreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileCacheLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileCacheLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileCacheLustreConfiguration"} + if s.DeploymentType == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentType")) + } + if s.MetadataConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("MetadataConfiguration")) + } + if s.PerUnitStorageThroughput == nil { + invalidParams.Add(request.NewErrParamRequired("PerUnitStorageThroughput")) + } + if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 { + invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.MetadataConfiguration != nil { + if err := s.MetadataConfiguration.Validate(); err != nil { + invalidParams.AddNested("MetadataConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileCacheLustreConfiguration) SetDeploymentType(v string) *CreateFileCacheLustreConfiguration { + s.DeploymentType = &v return s } -// The response object for the CreateFileSystemFromBackup operation. -type CreateFileSystemFromBackupOutput struct { +// SetMetadataConfiguration sets the MetadataConfiguration field's value. +func (s *CreateFileCacheLustreConfiguration) SetMetadataConfiguration(v *FileCacheLustreMetadataConfiguration) *CreateFileCacheLustreConfiguration { + s.MetadataConfiguration = v + return s +} + +// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. +func (s *CreateFileCacheLustreConfiguration) SetPerUnitStorageThroughput(v int64) *CreateFileCacheLustreConfiguration { + s.PerUnitStorageThroughput = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileCacheLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileCacheLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +type CreateFileCacheOutput struct { _ struct{} `type:"structure"` - // A description of the file system. - FileSystem *FileSystem `type:"structure"` + // A description of the cache that was created. + FileCache *FileCacheCreating `type:"structure"` } // String returns the string representation. @@ -6779,7 +7351,7 @@ type CreateFileSystemFromBackupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemFromBackupOutput) String() string { +func (s CreateFileCacheOutput) String() string { return awsutil.Prettify(s) } @@ -6788,45 +7360,37 @@ func (s CreateFileSystemFromBackupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemFromBackupOutput) GoString() string { +func (s CreateFileCacheOutput) GoString() string { return s.String() } -// SetFileSystem sets the FileSystem field's value. -func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateFileSystemFromBackupOutput { - s.FileSystem = v +// SetFileCache sets the FileCache field's value. +func (s *CreateFileCacheOutput) SetFileCache(v *FileCacheCreating) *CreateFileCacheOutput { + s.FileCache = v return s } -// The request object used to create a new Amazon FSx file system. -type CreateFileSystemInput struct { +// The request object for the CreateFileSystemFromBackup operation. +type CreateFileSystemFromBackupInput struct { _ struct{} `type:"structure"` + // The ID of the source backup. Specifies the backup that you are copying. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent // creation. This string is automatically filled on your behalf when you use // the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, - // ONTAP, and OPENZFS. - // - // FileSystemType is a required field - FileSystemType *string `type:"string" required:"true" enum:"FileSystemType"` - - // (Optional) For FSx for Lustre file systems, sets the Lustre version for the - // file system that you're creating. Valid values are 2.10 and 2.12: - // - // * 2.10 is supported by the Scratch and Persistent_1 Lustre deployment - // types. - // - // * 2.12 is supported by all Lustre deployment types. 2.12 is required when - // setting FSx for Lustre DeploymentType to PERSISTENT_2. - // - // Default value = 2.10, except when DeploymentType is set to PERSISTENT_2, - // then the default is 2.12. + // Sets the version for the Amazon FSx for Lustre file system that you're creating + // from a backup. Valid values are 2.10 and 2.12. // - // If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 Lustre deployment - // type, the CreateFileSystem operation fails. + // You don't need to specify FileSystemTypeVersion because it will be applied + // using the backup's FileSystemTypeVersion setting. If you choose to specify + // FileSystemTypeVersion when creating from backup, the value must match the + // backup's FileSystemTypeVersion setting. FileSystemTypeVersion *string `min:"1" type:"string"` // Specifies the ID of the Key Management Service (KMS) key to use for encrypting @@ -6862,92 +7426,62 @@ type CreateFileSystemInput struct { // * ImportPath LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` - // The ONTAP configuration properties of the FSx for ONTAP file system that - // you are creating. - OntapConfiguration *CreateFileSystemOntapConfiguration `type:"structure"` - // The OpenZFS configuration for the file system that's being created. OpenZFSConfiguration *CreateFileSystemOpenZFSConfiguration `type:"structure"` - // A list of IDs specifying the security groups to apply to all network interfaces - // created for file system access. This list isn't returned in later requests - // to describe the file system. + // A list of IDs for the security groups that apply to the specified network + // interfaces created for file system access. These security groups apply to + // all network interfaces. This value isn't returned in later DescribeFileSystem + // requests. SecurityGroupIds []*string `type:"list"` - // Sets the storage capacity of the file system that you're creating, in gibibytes - // (GiB). - // - // FSx for Lustre file systems - The amount of storage capacity that you can - // configure depends on the value that you set for StorageType and the Lustre - // DeploymentType, as follows: - // - // * For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 deployment types using - // SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments - // of 2400 GiB. - // - // * For PERSISTENT_1 HDD file systems, valid values are increments of 6000 - // GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB - // file systems. - // - // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, - // and increments of 3600 GiB. - // - // FSx for ONTAP file systems - The amount of storage capacity that you can - // configure is from 1024 GiB up to 196,608 GiB (192 TiB). - // - // FSx for OpenZFS file systems - The amount of storage capacity that you can - // configure is from 64 GiB up to 524,288 GiB (512 TiB). - // - // FSx for Windows File Server file systems - The amount of storage capacity - // that you can configure depends on the value that you set for StorageType - // as follows: - // - // * For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB). + // Sets the storage capacity of the OpenZFS file system that you're creating + // from a backup, in gibibytes (GiB). Valid values are from 64 GiB up to 524,288 + // GiB (512 TiB). However, the value that you specify must be equal to or greater + // than the backup's storage capacity value. If you don't use the StorageCapacity + // parameter, the default is the backup's StorageCapacity value. // - // * For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB). - // - // StorageCapacity is a required field - StorageCapacity *int64 `type:"integer" required:"true"` + // If used to create a file system other than OpenZFS, you must provide a value + // that matches the backup's StorageCapacity value. If you provide any other + // value, Amazon FSx responds with a 400 Bad Request. + StorageCapacity *int64 `type:"integer"` - // Sets the storage type for the file system that you're creating. Valid values - // are SSD and HDD. + // Sets the storage type for the Windows or OpenZFS file system that you're + // creating from a backup. Valid values are SSD and HDD. // // * Set to SSD to use solid state drive storage. SSD is supported on all - // Windows, Lustre, ONTAP, and OpenZFS deployment types. + // Windows and OpenZFS deployment types. // // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 - // and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT_1 - // Lustre file system deployment types. + // and MULTI_AZ_1 FSx for Windows File Server file system deployment types. // - // Default value is SSD. For more information, see Storage type options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options) - // in the FSx for Windows File Server User Guide and Multiple storage options - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options) - // in the FSx for Lustre User Guide. + // The default value is SSD. + // + // HDD and SSD storage types have different minimum storage capacity requirements. + // A restored file system's storage capacity is tied to the file system that + // was backed up. You can create a file system that uses HDD storage from a + // backup of a file system that used SSD storage if the original SSD file system + // had a storage capacity of at least 2000 GiB. StorageType *string `type:"string" enum:"StorageType"` // Specifies the IDs of the subnets that the file system will be accessible - // from. For Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two - // subnet IDs, one for the preferred file server and one for the standby file - // server. You specify one of these subnets as the preferred subnet using the - // WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID - // properties. For more information about Multi-AZ file system configuration, - // see Availability and durability: Single-AZ and Multi-AZ file systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html) - // in the Amazon FSx for Windows User Guide and Availability and durability - // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html) - // in the Amazon FSx for ONTAP User Guide. + // from. For Windows MULTI_AZ_1 file system deployment types, provide exactly + // two subnet IDs, one for the preferred file server and one for the standby + // file server. You specify one of these subnets as the preferred subnet using + // the WindowsConfiguration > PreferredSubnetID property. // - // For Windows SINGLE_AZ_1 and SINGLE_AZ_2 and all Lustre deployment types, - // provide exactly one subnet ID. The file server is launched in that subnet's - // Availability Zone. + // Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types, Lustre + // file systems, and OpenZFS file systems provide exactly one subnet ID. The + // file server is launched in that subnet's Availability Zone. // // SubnetIds is a required field SubnetIds []*string `type:"list" required:"true"` - // The tags to apply to the file system that's being created. The key value - // of the Name tag appears in the console as the file system name. + // The tags to be applied to the file system at file system creation. The key + // value of the Name tag appears in the console as the file system name. Tags []*Tag `min:"1" type:"list"` - // The Microsoft Windows configuration for the file system that's being created. + // The configuration for this Microsoft Windows file system. WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` } @@ -6956,7 +7490,7 @@ type CreateFileSystemInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemInput) String() string { +func (s CreateFileSystemFromBackupInput) String() string { return awsutil.Prettify(s) } @@ -6965,28 +7499,28 @@ func (s CreateFileSystemInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemInput) GoString() string { +func (s CreateFileSystemFromBackupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"} +func (s *CreateFileSystemFromBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemFromBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) + } + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + } if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.FileSystemType == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemType")) - } if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) } if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) } - if s.StorageCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) - } if s.SubnetIds == nil { invalidParams.Add(request.NewErrParamRequired("SubnetIds")) } @@ -6998,11 +7532,6 @@ func (s *CreateFileSystemInput) Validate() error { invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) } } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) - } - } if s.OpenZFSConfiguration != nil { if err := s.OpenZFSConfiguration.Validate(); err != nil { invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) @@ -7030,292 +7559,1855 @@ func (s *CreateFileSystemInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateFileSystemInput) SetClientRequestToken(v string) *CreateFileSystemInput { - s.ClientRequestToken = &v +// SetBackupId sets the BackupId field's value. +func (s *CreateFileSystemFromBackupInput) SetBackupId(v string) *CreateFileSystemFromBackupInput { + s.BackupId = &v return s } -// SetFileSystemType sets the FileSystemType field's value. -func (s *CreateFileSystemInput) SetFileSystemType(v string) *CreateFileSystemInput { - s.FileSystemType = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *CreateFileSystemFromBackupInput { + s.ClientRequestToken = &v return s } // SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. -func (s *CreateFileSystemInput) SetFileSystemTypeVersion(v string) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetFileSystemTypeVersion(v string) *CreateFileSystemFromBackupInput { s.FileSystemTypeVersion = &v return s } // SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetKmsKeyId(v string) *CreateFileSystemFromBackupInput { s.KmsKeyId = &v return s } // SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *CreateFileSystemInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemFromBackupInput { s.LustreConfiguration = v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *CreateFileSystemInput) SetOntapConfiguration(v *CreateFileSystemOntapConfiguration) *CreateFileSystemInput { - s.OntapConfiguration = v - return s -} - // SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. -func (s *CreateFileSystemInput) SetOpenZFSConfiguration(v *CreateFileSystemOpenZFSConfiguration) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetOpenZFSConfiguration(v *CreateFileSystemOpenZFSConfiguration) *CreateFileSystemFromBackupInput { s.OpenZFSConfiguration = v return s } // SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateFileSystemInput) SetSecurityGroupIds(v []*string) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput { s.SecurityGroupIds = v return s } // SetStorageCapacity sets the StorageCapacity field's value. -func (s *CreateFileSystemInput) SetStorageCapacity(v int64) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetStorageCapacity(v int64) *CreateFileSystemFromBackupInput { s.StorageCapacity = &v return s } // SetStorageType sets the StorageType field's value. -func (s *CreateFileSystemInput) SetStorageType(v string) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetStorageType(v string) *CreateFileSystemFromBackupInput { s.StorageType = &v return s } // SetSubnetIds sets the SubnetIds field's value. -func (s *CreateFileSystemInput) SetSubnetIds(v []*string) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetSubnetIds(v []*string) *CreateFileSystemFromBackupInput { s.SubnetIds = v return s } // SetTags sets the Tags field's value. -func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetTags(v []*Tag) *CreateFileSystemFromBackupInput { s.Tags = v return s } // SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemInput { +func (s *CreateFileSystemFromBackupInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemFromBackupInput { s.WindowsConfiguration = v return s } -// The Lustre configuration for the file system being created. -// -// The following parameters are not supported for file systems with the Persistent_2 -// deployment type. Instead, use CreateDataRepositoryAssociation to create a -// data repository association to link your Lustre file system to a data repository. -// -// - AutoImportPolicy -// -// - ExportPath +// The response object for the CreateFileSystemFromBackup operation. +type CreateFileSystemFromBackupOutput struct { + _ struct{} `type:"structure"` + + // A description of the file system. + FileSystem *FileSystem `type:"structure"` +} + +// String returns the string representation. // -// - ImportedChunkSize +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemFromBackupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. // -// - ImportPath -type CreateFileSystemLustreConfiguration struct { +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemFromBackupOutput) GoString() string { + return s.String() +} + +// SetFileSystem sets the FileSystem field's value. +func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateFileSystemFromBackupOutput { + s.FileSystem = v + return s +} + +// The request object used to create a new Amazon FSx file system. +type CreateFileSystemInput struct { _ struct{} `type:"structure"` - // (Optional) Available with Scratch and Persistent_1 deployment types. When - // you create your file system, your existing S3 objects appear as file and - // directory listings. Use this property to choose how Amazon FSx keeps your - // file and directory listings up to date as you add or modify objects in your - // linked S3 bucket. AutoImportPolicy can have the following values: - // - // * 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. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // creation. This string is automatically filled on your behalf when you use + // the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, + // ONTAP, and OPENZFS. // - // * 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. + // FileSystemType is a required field + FileSystemType *string `type:"string" required:"true" enum:"FileSystemType"` + + // (Optional) For FSx for Lustre file systems, sets the Lustre version for the + // file system that you're creating. Valid values are 2.10 and 2.12: // - // * 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. + // * 2.10 is supported by the Scratch and Persistent_1 Lustre deployment + // types. // - // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports - // file and directory listings of any new objects added to the S3 bucket, - // any existing objects that are changed in the S3 bucket, and any objects - // that were deleted in the S3 bucket. + // * 2.12 is supported by all Lustre deployment types. 2.12 is required when + // setting FSx for Lustre DeploymentType to PERSISTENT_2. // - // For more information, see Automatically import updates from your S3 bucket - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/older-deployment-types.html#legacy-auto-import-from-s3). + // Default value = 2.10, except when DeploymentType is set to PERSISTENT_2, + // then the default is 2.12. // - // This parameter is not supported for file systems with the Persistent_2 deployment - // type. Instead, use CreateDataRepositoryAssociation to create a data repository - // association to link your Lustre file system to a data repository. - AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - - // The number of days to retain automatic backups. Setting this property to - // 0 disables automatic backups. You can retain automatic backups for a maximum - // of 90 days. The default is 0. - AutomaticBackupRetentionDays *int64 `type:"integer"` + // If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 Lustre deployment + // type, the CreateFileSystem operation fails. + FileSystemTypeVersion *string `min:"1" type:"string"` - // (Optional) Not available for use with file systems that are linked to a data - // repository. A boolean flag indicating whether tags for the file system should - // be copied to backups. The default value is false. If CopyTagsToBackups is - // set to true, all file system tags are copied to all automatic and user-initiated - // backups when the user doesn't specify any backup-specific tags. If CopyTagsToBackups - // is set to true and you specify one or more backup tags, only the specified - // tags are copied to backups. If you specify one or more tags when creating - // a user-initiated backup, no tags are copied from the file system, regardless - // of this value. + // Specifies the ID of the Key Management Service (KMS) key to use for encrypting + // data on Amazon FSx file systems, as follows: // - // (Default = false) + // * Amazon FSx for Lustre PERSISTENT_1 and PERSISTENT_2 deployment types + // only. SCRATCH_1 and SCRATCH_2 types are encrypted using the Amazon FSx + // service KMS key for your account. // - // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html) - // in the Amazon FSx for Lustre User Guide. - CopyTagsToBackups *bool `type:"boolean"` - - // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of - // the day (0-23), and MM is the zero-padded minute of the hour. For example, - // 05:00 specifies 5 AM daily. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - - // Sets the data compression configuration for the file system. DataCompressionType - // can have the following values: + // * Amazon FSx for NetApp ONTAP // - // * NONE - (Default) Data compression is turned off when the file system - // is created. + // * Amazon FSx for OpenZFS // - // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // * Amazon FSx for Windows File Server // - // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html) - // in the Amazon FSx for Lustre User Guide. - DataCompressionType *string `type:"string" enum:"DataCompressionType"` + // If a KmsKeyId isn't specified, the Amazon FSx-managed KMS key for your account + // is used. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` - // (Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need - // temporary storage and shorter-term processing of data. The SCRATCH_2 deployment - // type provides in-transit encryption of data and higher burst throughput capacity - // than SCRATCH_1. + // The Lustre configuration for the file system being created. // - // Choose PERSISTENT_1 for longer-term storage and for throughput-focused workloads - // that aren’t latency-sensitive. PERSISTENT_1 supports encryption of data - // in transit, and is available in all Amazon Web Services Regions in which - // FSx for Lustre is available. + // The following parameters are not supported for file systems with the Persistent_2 + // deployment type. Instead, use CreateDataRepositoryAssociation to create a + // data repository association to link your Lustre file system to a data repository. // - // Choose PERSISTENT_2 for longer-term storage and for latency-sensitive workloads - // that require the highest levels of IOPS/throughput. PERSISTENT_2 supports - // SSD storage, and offers higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). - // PERSISTENT_2 is available in a limited number of Amazon Web Services Regions. - // For more information, and an up-to-date list of Amazon Web Services Regions - // in which PERSISTENT_2 is available, see File system deployment options for - // FSx for Lustre (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types) - // in the Amazon FSx for Lustre User Guide. + // * AutoImportPolicy // - // If you choose PERSISTENT_2, and you set FileSystemTypeVersion to 2.10, the - // CreateFileSystem operation fails. + // * ExportPath // - // Encryption of data in transit is automatically turned on when you access - // SCRATCH_2, PERSISTENT_1 and PERSISTENT_2 file systems from Amazon EC2 instances - // that support automatic encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data- - // protection.html) in the Amazon Web Services Regions where they are available. - // For more information about encryption in transit for FSx for Lustre file - // systems, see Encrypting data in transit (https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html) - // in the Amazon FSx for Lustre User Guide. + // * ImportedChunkSize // - // (Default = SCRATCH_1) - DeploymentType *string `type:"string" enum:"LustreDeploymentType"` + // * ImportPath + LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` - // The type of drive cache used by PERSISTENT_1 file systems that are provisioned - // with HDD storage devices. This parameter is required when storage type is - // HDD. Set this property to READ to improve the performance for frequently - // accessed files by caching up to 20% of the total storage capacity of the - // file system. + // The ONTAP configuration properties of the FSx for ONTAP file system that + // you are creating. + OntapConfiguration *CreateFileSystemOntapConfiguration `type:"structure"` + + // The OpenZFS configuration for the file system that's being created. + OpenZFSConfiguration *CreateFileSystemOpenZFSConfiguration `type:"structure"` + + // A list of IDs specifying the security groups to apply to all network interfaces + // created for file system access. This list isn't returned in later requests + // to describe the file system. + SecurityGroupIds []*string `type:"list"` + + // Sets the storage capacity of the file system that you're creating, in gibibytes + // (GiB). // - // This parameter is required when StorageType is set to HDD. - DriveCacheType *string `type:"string" enum:"DriveCacheType"` + // FSx for Lustre file systems - The amount of storage capacity that you can + // configure depends on the value that you set for StorageType and the Lustre + // DeploymentType, as follows: + // + // * For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 deployment types using + // SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments + // of 2400 GiB. + // + // * For PERSISTENT_1 HDD file systems, valid values are increments of 6000 + // GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB + // file systems. + // + // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, + // and increments of 3600 GiB. + // + // FSx for ONTAP file systems - The amount of storage capacity that you can + // configure is from 1024 GiB up to 196,608 GiB (192 TiB). + // + // FSx for OpenZFS file systems - The amount of storage capacity that you can + // configure is from 64 GiB up to 524,288 GiB (512 TiB). + // + // FSx for Windows File Server file systems - The amount of storage capacity + // that you can configure depends on the value that you set for StorageType + // as follows: + // + // * For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB). + // + // * For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB). + // + // StorageCapacity is a required field + StorageCapacity *int64 `type:"integer" required:"true"` - // (Optional) Available with Scratch and Persistent_1 deployment types. Specifies - // the path in the Amazon S3 bucket where the root of your Amazon FSx file system - // is exported. The path must use the same Amazon S3 bucket as specified in - // ImportPath. You can provide an optional prefix to which new and changed data - // is to be exported from your Amazon FSx for Lustre file system. If an ExportPath - // value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. - // The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. + // Sets the storage type for the file system that you're creating. Valid values + // are SSD and HDD. // - // The Amazon S3 export bucket must be the same as the import bucket specified - // by ImportPath. If you specify only a bucket name, such as s3://import-bucket, - // you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping - // means that the input data in S3 is overwritten on export. If you provide - // a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], - // Amazon FSx exports the contents of your file system to that export prefix - // in the Amazon S3 bucket. + // * Set to SSD to use solid state drive storage. SSD is supported on all + // Windows, Lustre, ONTAP, and OpenZFS deployment types. // - // This parameter is not supported for file systems with the Persistent_2 deployment - // type. Instead, use CreateDataRepositoryAssociation to create a data repository - // association to link your Lustre file system to a data repository. - ExportPath *string `min:"3" type:"string"` + // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 + // and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT_1 + // Lustre file system deployment types. + // + // Default value is SSD. For more information, see Storage type options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options) + // in the FSx for Windows File Server User Guide and Multiple storage options + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options) + // in the FSx for Lustre User Guide. + StorageType *string `type:"string" enum:"StorageType"` - // (Optional) The path to the Amazon S3 bucket (including the optional prefix) - // that you're using as the data repository for your Amazon FSx for Lustre file - // system. The root of your FSx for Lustre file system will be mapped to the - // root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. - // If you specify a prefix after the Amazon S3 bucket name, only object keys - // with that prefix are loaded into the file system. + // Specifies the IDs of the subnets that the file system will be accessible + // from. For Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two + // subnet IDs, one for the preferred file server and one for the standby file + // server. You specify one of these subnets as the preferred subnet using the + // WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID + // properties. For more information about Multi-AZ file system configuration, + // see Availability and durability: Single-AZ and Multi-AZ file systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html) + // in the Amazon FSx for Windows User Guide and Availability and durability + // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html) + // in the Amazon FSx for ONTAP User Guide. // - // This parameter is not supported for file systems with the Persistent_2 deployment - // type. Instead, use CreateDataRepositoryAssociation to create a data repository - // association to link your Lustre file system to a data repository. - ImportPath *string `min:"3" type:"string"` + // For Windows SINGLE_AZ_1 and SINGLE_AZ_2 and all Lustre deployment types, + // provide exactly one subnet ID. The file server is launched in that subnet's + // Availability Zone. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // The tags to apply to the file system that's being created. The key value + // of the Name tag appears in the console as the file system name. + Tags []*Tag `min:"1" type:"list"` + + // The Microsoft Windows configuration for the file system that's being created. + WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemType == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemType")) + } + if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.StorageCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileSystemInput) SetClientRequestToken(v string) *CreateFileSystemInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemType sets the FileSystemType field's value. +func (s *CreateFileSystemInput) SetFileSystemType(v string) *CreateFileSystemInput { + s.FileSystemType = &v + return s +} + +// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. +func (s *CreateFileSystemInput) SetFileSystemTypeVersion(v string) *CreateFileSystemInput { + s.FileSystemTypeVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput { + s.KmsKeyId = &v + return s +} + +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *CreateFileSystemInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemInput { + s.LustreConfiguration = v + return s +} + +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *CreateFileSystemInput) SetOntapConfiguration(v *CreateFileSystemOntapConfiguration) *CreateFileSystemInput { + s.OntapConfiguration = v + return s +} + +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *CreateFileSystemInput) SetOpenZFSConfiguration(v *CreateFileSystemOpenZFSConfiguration) *CreateFileSystemInput { + s.OpenZFSConfiguration = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateFileSystemInput) SetSecurityGroupIds(v []*string) *CreateFileSystemInput { + s.SecurityGroupIds = v + return s +} + +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *CreateFileSystemInput) SetStorageCapacity(v int64) *CreateFileSystemInput { + s.StorageCapacity = &v + return s +} + +// SetStorageType sets the StorageType field's value. +func (s *CreateFileSystemInput) SetStorageType(v string) *CreateFileSystemInput { + s.StorageType = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateFileSystemInput) SetSubnetIds(v []*string) *CreateFileSystemInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput { + s.Tags = v + return s +} + +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemInput { + s.WindowsConfiguration = v + return s +} + +// The Lustre configuration for the file system being created. +// +// The following parameters are not supported for file systems with the Persistent_2 +// deployment type. Instead, use CreateDataRepositoryAssociation to create a +// data repository association to link your Lustre file system to a data repository. +// +// - AutoImportPolicy +// +// - ExportPath +// +// - ImportedChunkSize +// +// - ImportPath +type CreateFileSystemLustreConfiguration struct { + _ struct{} `type:"structure"` + + // (Optional) Available with Scratch and Persistent_1 deployment types. When + // you create your file system, your existing S3 objects appear as file and + // directory listings. Use this property to choose how Amazon FSx keeps your + // file and directory listings up to date as you add or modify objects in your + // linked S3 bucket. AutoImportPolicy can have the following values: + // + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. + // + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. + // + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. + // + // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports + // file and directory listings of any new objects added to the S3 bucket, + // any existing objects that are changed in the S3 bucket, and any objects + // that were deleted in the S3 bucket. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/older-deployment-types.html#legacy-auto-import-from-s3). + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // (Optional) Not available for use with file systems that are linked to a data + // repository. A boolean flag indicating whether tags for the file system should + // be copied to backups. The default value is false. If CopyTagsToBackups is + // set to true, all file system tags are copied to all automatic and user-initiated + // backups when the user doesn't specify any backup-specific tags. If CopyTagsToBackups + // is set to true and you specify one or more backup tags, only the specified + // tags are copied to backups. If you specify one or more tags when creating + // a user-initiated backup, no tags are copied from the file system, regardless + // of this value. + // + // (Default = false) + // + // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html) + // in the Amazon FSx for Lustre User Guide. + CopyTagsToBackups *bool `type:"boolean"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Sets the data compression configuration for the file system. DataCompressionType + // can have the following values: + // + // * NONE - (Default) Data compression is turned off when the file system + // is created. + // + // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html) + // in the Amazon FSx for Lustre User Guide. + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + + // (Optional) Choose SCRATCH_1 and SCRATCH_2 deployment types when you need + // temporary storage and shorter-term processing of data. The SCRATCH_2 deployment + // type provides in-transit encryption of data and higher burst throughput capacity + // than SCRATCH_1. + // + // Choose PERSISTENT_1 for longer-term storage and for throughput-focused workloads + // that aren’t latency-sensitive. PERSISTENT_1 supports encryption of data + // in transit, and is available in all Amazon Web Services Regions in which + // FSx for Lustre is available. + // + // Choose PERSISTENT_2 for longer-term storage and for latency-sensitive workloads + // that require the highest levels of IOPS/throughput. PERSISTENT_2 supports + // SSD storage, and offers higher PerUnitStorageThroughput (up to 1000 MB/s/TiB). + // PERSISTENT_2 is available in a limited number of Amazon Web Services Regions. + // For more information, and an up-to-date list of Amazon Web Services Regions + // in which PERSISTENT_2 is available, see File system deployment options for + // FSx for Lustre (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types) + // in the Amazon FSx for Lustre User Guide. + // + // If you choose PERSISTENT_2, and you set FileSystemTypeVersion to 2.10, the + // CreateFileSystem operation fails. + // + // Encryption of data in transit is automatically turned on when you access + // SCRATCH_2, PERSISTENT_1 and PERSISTENT_2 file systems from Amazon EC2 instances + // that support automatic encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data- + // protection.html) in the Amazon Web Services Regions where they are available. + // For more information about encryption in transit for FSx for Lustre file + // systems, see Encrypting data in transit (https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html) + // in the Amazon FSx for Lustre User Guide. + // + // (Default = SCRATCH_1) + DeploymentType *string `type:"string" enum:"LustreDeploymentType"` + + // The type of drive cache used by PERSISTENT_1 file systems that are provisioned + // with HDD storage devices. This parameter is required when storage type is + // HDD. Set this property to READ to improve the performance for frequently + // accessed files by caching up to 20% of the total storage capacity of the + // file system. + // + // This parameter is required when StorageType is set to HDD. + DriveCacheType *string `type:"string" enum:"DriveCacheType"` + + // (Optional) Available with Scratch and Persistent_1 deployment types. Specifies + // the path in the Amazon S3 bucket where the root of your Amazon FSx file system + // is exported. The path must use the same Amazon S3 bucket as specified in + // ImportPath. You can provide an optional prefix to which new and changed data + // is to be exported from your Amazon FSx for Lustre file system. If an ExportPath + // value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. + // The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. + // + // The Amazon S3 export bucket must be the same as the import bucket specified + // by ImportPath. If you specify only a bucket name, such as s3://import-bucket, + // you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping + // means that the input data in S3 is overwritten on export. If you provide + // a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], + // Amazon FSx exports the contents of your file system to that export prefix + // in the Amazon S3 bucket. + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + ExportPath *string `min:"3" type:"string"` + + // (Optional) The path to the Amazon S3 bucket (including the optional prefix) + // that you're using as the data repository for your Amazon FSx for Lustre file + // system. The root of your FSx for Lustre file system will be mapped to the + // root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. + // If you specify a prefix after the Amazon S3 bucket name, only object keys + // with that prefix are loaded into the file system. + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + ImportPath *string `min:"3" type:"string"` + + // (Optional) For files imported from a data repository, this value determines + // the stripe count and maximum amount of data per file (in MiB) stored on a + // single physical disk. The maximum number of disks that a single file can + // be striped across is limited by the total number of disks that make up the + // file system. + // + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // The Lustre logging configuration used when creating an Amazon FSx for Lustre + // file system. When logging is enabled, Lustre logs error and warning events + // for data repositories associated with your file system to Amazon CloudWatch + // Logs. + LogConfiguration *LustreLogCreateConfiguration `type:"structure"` + + // Required with PERSISTENT_1 and PERSISTENT_2 deployment types, provisions + // the amount of read and write throughput for each 1 tebibyte (TiB) of file + // system storage capacity, in MB/s/TiB. File system throughput capacity is + // calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput + // (MB/s/TiB). For a 2.4-TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput + // yields 120 MB/s of file system throughput. You pay for the amount of throughput + // that you provision. + // + // Valid values: + // + // * For PERSISTENT_1 SSD storage: 50, 100, 200 MB/s/TiB. + // + // * For PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB. + // + // * For PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB. + PerUnitStorageThroughput *int64 `min:"12" type:"integer"` + + // The Lustre root squash configuration used when creating an Amazon FSx for + // Lustre file system. When enabled, root squash restricts root-level access + // from clients that try to access your file system as a root user. + RootSquashConfiguration *LustreRootSquashConfiguration `type:"structure"` + + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through + // 7, beginning with Monday and ending with Sunday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemLustreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.ExportPath != nil && len(*s.ExportPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3)) + } + if s.ImportPath != nil && len(*s.ImportPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ImportPath", 3)) + } + if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) + } + if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 { + invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.LogConfiguration != nil { + if err := s.LogConfiguration.Validate(); err != nil { + invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.RootSquashConfiguration != nil { + if err := s.RootSquashConfiguration.Validate(); err != nil { + invalidParams.AddNested("RootSquashConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemLustreConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemLustreConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemLustreConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDataCompressionType(v string) *CreateFileSystemLustreConfiguration { + s.DataCompressionType = &v + return s +} + +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration { + s.DeploymentType = &v + return s +} + +// SetDriveCacheType sets the DriveCacheType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDriveCacheType(v string) *CreateFileSystemLustreConfiguration { + s.DriveCacheType = &v + return s +} + +// SetExportPath sets the ExportPath field's value. +func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration { + s.ExportPath = &v + return s +} + +// SetImportPath sets the ImportPath field's value. +func (s *CreateFileSystemLustreConfiguration) SetImportPath(v string) *CreateFileSystemLustreConfiguration { + s.ImportPath = &v + return s +} + +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *CreateFileSystemLustreConfiguration) SetImportedFileChunkSize(v int64) *CreateFileSystemLustreConfiguration { + s.ImportedFileChunkSize = &v + return s +} + +// SetLogConfiguration sets the LogConfiguration field's value. +func (s *CreateFileSystemLustreConfiguration) SetLogConfiguration(v *LustreLogCreateConfiguration) *CreateFileSystemLustreConfiguration { + s.LogConfiguration = v + return s +} + +// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. +func (s *CreateFileSystemLustreConfiguration) SetPerUnitStorageThroughput(v int64) *CreateFileSystemLustreConfiguration { + s.PerUnitStorageThroughput = &v + return s +} + +// SetRootSquashConfiguration sets the RootSquashConfiguration field's value. +func (s *CreateFileSystemLustreConfiguration) SetRootSquashConfiguration(v *LustreRootSquashConfiguration) *CreateFileSystemLustreConfiguration { + s.RootSquashConfiguration = v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The ONTAP configuration properties of the FSx for ONTAP file system that +// you are creating. +type CreateFileSystemOntapConfiguration struct { + _ struct{} `type:"structure"` + + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Specifies the FSx for ONTAP file system deployment type to use in creating + // the file system. + // + // * MULTI_AZ_1 - (Default) A high availability file system configured for + // Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. + // + // * SINGLE_AZ_1 - A file system configured for Single-AZ redundancy. + // + // For information about the use cases for Multi-AZ and Single-AZ deployments, + // refer to Choosing a file system deployment type (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-AZ.html). + // + // DeploymentType is a required field + DeploymentType *string `type:"string" required:"true" enum:"OntapDeploymentType"` + + // The SSD IOPS configuration for the FSx for ONTAP file system. + DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` + + // (Multi-AZ only) Specifies the IP address range in which the endpoints to + // access your file system will be created. By default, Amazon FSx selects an + // unused IP address range for you from the 198.19.* range. + // + // The Endpoint IP address range you select for your file system must exist + // outside the VPC's CIDR range and must be at least /30 or larger. + EndpointIpAddressRange *string `min:"9" type:"string"` + + // The ONTAP administrative password for the fsxadmin user with which you administer + // your file system using the NetApp ONTAP CLI and REST API. + // + // FsxAdminPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateFileSystemOntapConfiguration's + // String and GoString methods. + FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"` + + // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet + // in which you want the preferred file server to be located. + PreferredSubnetId *string `min:"15" type:"string"` + + // (Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in + // which your file system's endpoints will be created. You should specify all + // VPC route tables associated with the subnets in which your clients are located. + // By default, Amazon FSx selects your VPC's default route table. + RouteTableIds []*string `type:"list"` + + // Sets the throughput capacity for the file system that you're creating. Valid + // values are 128, 256, 512, 1024, and 2048 MBps. + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemOntapConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemOntapConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemOntapConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOntapConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.DeploymentType == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentType")) + } + if s.EndpointIpAddressRange != nil && len(*s.EndpointIpAddressRange) < 9 { + invalidParams.Add(request.NewErrParamMinLen("EndpointIpAddressRange", 9)) + } + if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 { + invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8)) + } + if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOntapConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOntapConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemOntapConfiguration) SetDeploymentType(v string) *CreateFileSystemOntapConfiguration { + s.DeploymentType = &v + return s +} + +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *CreateFileSystemOntapConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOntapConfiguration { + s.DiskIopsConfiguration = v + return s +} + +// SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value. +func (s *CreateFileSystemOntapConfiguration) SetEndpointIpAddressRange(v string) *CreateFileSystemOntapConfiguration { + s.EndpointIpAddressRange = &v + return s +} + +// SetFsxAdminPassword sets the FsxAdminPassword field's value. +func (s *CreateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *CreateFileSystemOntapConfiguration { + s.FsxAdminPassword = &v + return s +} + +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *CreateFileSystemOntapConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemOntapConfiguration { + s.PreferredSubnetId = &v + return s +} + +// SetRouteTableIds sets the RouteTableIds field's value. +func (s *CreateFileSystemOntapConfiguration) SetRouteTableIds(v []*string) *CreateFileSystemOntapConfiguration { + s.RouteTableIds = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemOntapConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOntapConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOntapConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The Amazon FSx for OpenZFS configuration properties for the file system that +// you are creating. +type CreateFileSystemOpenZFSConfiguration struct { + _ struct{} `type:"structure"` + + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A Boolean value indicating whether tags for the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags for + // the file system are copied to all automatic and user-initiated backups where + // the user doesn't specify tags. If this value is true, and you specify one + // or more tags, only the specified tags are copied to backups. If you specify + // one or more tags when creating a user-initiated backup, no tags are copied + // from the file system, regardless of this value. + CopyTagsToBackups *bool `type:"boolean"` + + // A Boolean value indicating whether tags for the file system should be copied + // to volumes. This value defaults to false. If it's set to true, all tags for + // the file system are copied to volumes 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 volumes. If you specify one or more tags when creating + // the volume, no tags are copied from the file system, regardless of this value. + CopyTagsToVolumes *bool `type:"boolean"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Specifies the file system deployment type. Amazon FSx for OpenZFS supports + // SINGLE_AZ_1. SINGLE_AZ_1 deployment type is configured for redundancy within + // a single Availability Zone. + // + // DeploymentType is a required field + DeploymentType *string `type:"string" required:"true" enum:"OpenZFSDeploymentType"` + + // The SSD IOPS (input/output operations per second) configuration for an Amazon + // FSx for NetApp ONTAP or Amazon FSx for OpenZFS file system. The default is + // 3 IOPS per GB of storage capacity, but you can provision additional IOPS + // per GB of storage. The configuration consists of the total number of provisioned + // SSD IOPS and how the amount was provisioned (by the customer or by the system). + DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` + + // The configuration Amazon FSx uses when creating the root value of the Amazon + // FSx for OpenZFS file system. All volumes are children of the root volume. + RootVolumeConfiguration *OpenZFSCreateRootVolumeConfiguration `type:"structure"` + + // Specifies the throughput of an Amazon FSx for OpenZFS file system, measured + // in megabytes per second (MB/s). Valid values are 64, 128, 256, 512, 1024, + // 2048, 3072, or 4096 MB/s. You pay for additional throughput capacity that + // you provision. + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemOpenZFSConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemOpenZFSConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemOpenZFSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOpenZFSConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.DeploymentType == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentType")) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.RootVolumeConfiguration != nil { + if err := s.RootVolumeConfiguration.Validate(); err != nil { + invalidParams.AddNested("RootVolumeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOpenZFSConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemOpenZFSConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetCopyTagsToVolumes sets the CopyTagsToVolumes field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetCopyTagsToVolumes(v bool) *CreateFileSystemOpenZFSConfiguration { + s.CopyTagsToVolumes = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOpenZFSConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetDeploymentType(v string) *CreateFileSystemOpenZFSConfiguration { + s.DeploymentType = &v + return s +} + +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOpenZFSConfiguration { + s.DiskIopsConfiguration = v + return s +} + +// SetRootVolumeConfiguration sets the RootVolumeConfiguration field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetRootVolumeConfiguration(v *OpenZFSCreateRootVolumeConfiguration) *CreateFileSystemOpenZFSConfiguration { + s.RootVolumeConfiguration = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOpenZFSConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOpenZFSConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The response object returned after the file system is created. +type CreateFileSystemOutput struct { + _ struct{} `type:"structure"` + + // The configuration of the file system that was created. + FileSystem *FileSystem `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemOutput) GoString() string { + return s.String() +} + +// SetFileSystem sets the FileSystem field's value. +func (s *CreateFileSystemOutput) SetFileSystem(v *FileSystem) *CreateFileSystemOutput { + s.FileSystem = v + return s +} + +// The configuration object for the Microsoft Windows file system used in CreateFileSystem +// and CreateFileSystemFromBackup operations. +type CreateFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` + + // The ID for an existing Amazon Web Services Managed Microsoft Active Directory + // (AD) instance that the file system should join when it's created. + ActiveDirectoryId *string `min:"12" type:"string"` + + // An array of one or more DNS alias names that you want to associate with the + // Amazon FSx file system. Aliases allow you to use existing DNS names to access + // the data in your Amazon FSx file system. You can associate up to 50 aliases + // with a file system at any time. You can associate additional DNS aliases + // after you create the file system using the AssociateFileSystemAliases operation. + // You can remove DNS aliases from the file system after it is created using + // the DisassociateFileSystemAliases operation. You only need to specify the + // alias name in the request payload. + // + // For more information, see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) + // and Walkthrough 5: Using DNS aliases to access your file system (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html), + // including additional steps you must take to be able to access your file system + // using a DNS alias. + // + // An alias name has to meet the following requirements: + // + // * Formatted as a fully-qualified domain name (FQDN), hostname.domain, + // for example, accounting.example.com. + // + // * Can contain alphanumeric characters, the underscore (_), and the hyphen + // (-). + // + // * Cannot start or end with a hyphen. + // + // * Can start with a numeric. + // + // For DNS alias names, Amazon FSx stores alphabetic characters as lowercase + // letters (a-z), regardless of how you specify them: as uppercase letters, + // lowercase letters, or the corresponding letters in escape codes. + Aliases []*string `type:"list"` + + // The configuration that Amazon FSx for Windows File Server uses to audit and + // log user accesses of files, folders, and file shares on the Amazon FSx for + // Windows File Server file system. + AuditLogConfiguration *WindowsAuditLogCreateConfiguration `type:"structure"` + + // The number of days to retain automatic backups. The default is to retain + // backups for 7 days. Setting this value to 0 disables the creation of automatic + // backups. The maximum retention period for backups is 90 days. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A boolean flag indicating whether tags for the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags for + // the file system are copied to all automatic and user-initiated backups where + // the user doesn't specify tags. If this value is true, and you specify one + // or more tags, only the specified tags are copied to backups. If you specify + // one or more tags when creating a user-initiated backup, no tags are copied + // from the file system, regardless of this value. + CopyTagsToBackups *bool `type:"boolean"` + + // The preferred time to take daily automatic backups, formatted HH:MM in the + // UTC time zone. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Specifies the file system deployment type, valid values are the following: + // + // * MULTI_AZ_1 - Deploys a high availability file system that is configured + // for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. + // You can only deploy a Multi-AZ file system in Amazon Web Services Regions + // that have a minimum of three Availability Zones. Also supports HDD storage + // type + // + // * SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured + // for single AZ redundancy. + // + // * SINGLE_AZ_2 - The latest generation Single AZ file system. Specifies + // a file system that is configured for single AZ redundancy and supports + // HDD storage type. + // + // For more information, see Availability and Durability: Single-AZ and Multi-AZ + // File Systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html). + DeploymentType *string `type:"string" enum:"WindowsDeploymentType"` + + // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet + // in which you want the preferred file server to be located. For in-Amazon + // Web Services applications, we recommend that you launch your clients in the + // same Availability Zone (AZ) as your preferred file server to reduce cross-AZ + // data transfer costs and minimize latency. + PreferredSubnetId *string `min:"15" type:"string"` + + // The configuration that Amazon FSx uses to join a FSx for Windows File Server + // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including + // on-premises) Microsoft Active Directory (AD) directory. For more information, + // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) + // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). + SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` + + // Sets the throughput capacity of an Amazon FSx file system, measured in megabytes + // per second (MB/s), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048). + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemWindowsConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateFileSystemWindowsConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemWindowsConfiguration"} + if s.ActiveDirectoryId != nil && len(*s.ActiveDirectoryId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("ActiveDirectoryId", 12)) + } + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.AuditLogConfiguration != nil { + if err := s.AuditLogConfiguration.Validate(); err != nil { + invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.SelfManagedActiveDirectoryConfiguration != nil { + if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActiveDirectoryId sets the ActiveDirectoryId field's value. +func (s *CreateFileSystemWindowsConfiguration) SetActiveDirectoryId(v string) *CreateFileSystemWindowsConfiguration { + s.ActiveDirectoryId = &v + return s +} + +// SetAliases sets the Aliases field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAliases(v []*string) *CreateFileSystemWindowsConfiguration { + s.Aliases = v + return s +} + +// SetAuditLogConfiguration sets the AuditLogConfiguration field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *CreateFileSystemWindowsConfiguration { + s.AuditLogConfiguration = v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemWindowsConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemWindowsConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemWindowsConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemWindowsConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemWindowsConfiguration) SetDeploymentType(v string) *CreateFileSystemWindowsConfiguration { + s.DeploymentType = &v + return s +} + +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *CreateFileSystemWindowsConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemWindowsConfiguration { + s.PreferredSubnetId = &v + return s +} + +// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. +func (s *CreateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateFileSystemWindowsConfiguration { + s.SelfManagedActiveDirectoryConfiguration = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemWindowsConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemWindowsConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// Specifies the configuration of the ONTAP volume that you are creating. +type CreateOntapVolumeConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies the location in the SVM's namespace where the volume is mounted. + // The JunctionPath must have a leading forward slash, such as /vol3. + // + // JunctionPath is a required field + JunctionPath *string `min:"1" type:"string" required:"true"` + + // Specifies the security style for the volume. If a volume's security style + // is not specified, it is automatically set to the root volume's security style. + // The security style determines the type of permissions that FSx for ONTAP + // uses to control data access. For more information, see Volume security style + // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style) + // in the Amazon FSx for NetApp ONTAP User Guide. Specify one of the following + // values: + // + // * UNIX if the file system is managed by a UNIX administrator, the majority + // of users are NFS clients, and an application accessing the data uses a + // UNIX user as the service account. + // + // * NTFS if the file system is managed by a Windows administrator, the majority + // of users are SMB clients, and an application accessing the data uses a + // Windows user as the service account. + // + // * MIXED if the file system is managed by both UNIX and Windows administrators + // and users consist of both NFS and SMB clients. + SecurityStyle *string `type:"string" enum:"SecurityStyle"` + + // Specifies the size of the volume, in megabytes (MB), that you are creating. + // + // SizeInMegabytes is a required field + SizeInMegabytes *int64 `type:"integer" required:"true"` + + // Set to true to enable deduplication, compression, and compaction storage + // efficiency features on the volume. + // + // StorageEfficiencyEnabled is a required field + StorageEfficiencyEnabled *bool `type:"boolean" required:"true"` + + // Specifies the ONTAP SVM in which to create the volume. + // + // StorageVirtualMachineId is a required field + StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` + + // Describes the data tiering policy for an ONTAP volume. When enabled, Amazon + // FSx for ONTAP's intelligent tiering automatically transitions a volume's + // data between the file system's primary storage and capacity pool storage + // based on your access patterns. + // + // Valid tiering policies are the following: + // + // * SNAPSHOT_ONLY - (Default value) moves cold snapshots to the capacity + // pool storage tier. + // + // * AUTO - moves cold user data and snapshots to the capacity pool storage + // tier based on your access patterns. + // + // * ALL - moves all user data blocks in both the active file system and + // Snapshot copies to the storage pool tier. + // + // * NONE - keeps a volume's data in the primary storage tier, preventing + // it from being moved to the capacity pool tier. + TieringPolicy *TieringPolicy `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateOntapVolumeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateOntapVolumeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOntapVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOntapVolumeConfiguration"} + if s.JunctionPath == nil { + invalidParams.Add(request.NewErrParamRequired("JunctionPath")) + } + if s.JunctionPath != nil && len(*s.JunctionPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1)) + } + if s.SizeInMegabytes == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInMegabytes")) + } + if s.StorageEfficiencyEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("StorageEfficiencyEnabled")) + } + if s.StorageVirtualMachineId == nil { + invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) + } + if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { + invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) + } + if s.TieringPolicy != nil { + if err := s.TieringPolicy.Validate(); err != nil { + invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJunctionPath sets the JunctionPath field's value. +func (s *CreateOntapVolumeConfiguration) SetJunctionPath(v string) *CreateOntapVolumeConfiguration { + s.JunctionPath = &v + return s +} + +// SetSecurityStyle sets the SecurityStyle field's value. +func (s *CreateOntapVolumeConfiguration) SetSecurityStyle(v string) *CreateOntapVolumeConfiguration { + s.SecurityStyle = &v + return s +} + +// SetSizeInMegabytes sets the SizeInMegabytes field's value. +func (s *CreateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *CreateOntapVolumeConfiguration { + s.SizeInMegabytes = &v + return s +} + +// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. +func (s *CreateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *CreateOntapVolumeConfiguration { + s.StorageEfficiencyEnabled = &v + return s +} + +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *CreateOntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *CreateOntapVolumeConfiguration { + s.StorageVirtualMachineId = &v + return s +} + +// SetTieringPolicy sets the TieringPolicy field's value. +func (s *CreateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *CreateOntapVolumeConfiguration { + s.TieringPolicy = v + return s +} + +// The snapshot configuration to use when creating an OpenZFS volume from a +// snapshot. +type CreateOpenZFSOriginSnapshotConfiguration struct { + _ struct{} `type:"structure"` + + // The strategy used when copying data from the snapshot to the new volume. + // + // * CLONE - The new volume references the data in the origin snapshot. Cloning + // a snapshot is faster than copying data from the snapshot to a new volume + // and doesn't consume disk throughput. However, the origin snapshot can't + // be deleted if there is a volume using its copied data. + // + // * FULL_COPY - Copies all data from the snapshot to the new volume. + // + // CopyStrategy is a required field + CopyStrategy *string `type:"string" required:"true" enum:"OpenZFSCopyStrategy"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + // + // SnapshotARN is a required field + SnapshotARN *string `min:"8" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateOpenZFSOriginSnapshotConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateOpenZFSOriginSnapshotConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOpenZFSOriginSnapshotConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOpenZFSOriginSnapshotConfiguration"} + if s.CopyStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("CopyStrategy")) + } + if s.SnapshotARN == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotARN")) + } + if s.SnapshotARN != nil && len(*s.SnapshotARN) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotARN", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCopyStrategy sets the CopyStrategy field's value. +func (s *CreateOpenZFSOriginSnapshotConfiguration) SetCopyStrategy(v string) *CreateOpenZFSOriginSnapshotConfiguration { + s.CopyStrategy = &v + return s +} + +// SetSnapshotARN sets the SnapshotARN field's value. +func (s *CreateOpenZFSOriginSnapshotConfiguration) SetSnapshotARN(v string) *CreateOpenZFSOriginSnapshotConfiguration { + s.SnapshotARN = &v + return s +} + +// Specifies the configuration of the Amazon FSx for OpenZFS volume that you +// are creating. +type CreateOpenZFSVolumeConfiguration struct { + _ struct{} `type:"structure"` + + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true, and you specify one or more tags, only the specified + // tags are copied to snapshots. If you specify one or more tags when creating + // the snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToSnapshots *bool `type:"boolean"` + + // Specifies the method used to compress the data on the volume. The compression + // type is NONE by default. + // + // * NONE - Doesn't compress the data on the volume. NONE is the default. + // + // * ZSTD - Compresses the data in the volume using the Zstandard (ZSTD) + // compression algorithm. ZSTD compression provides a higher level of data + // compression and higher read throughput performance than LZ4 compression. + // + // * LZ4 - Compresses the data in the volume using the LZ4 compression algorithm. + // LZ4 compression provides a lower level of compression and higher write + // throughput performance than ZSTD compression. + // + // For more information about volume compression types and the performance of + // your Amazon FSx for OpenZFS file system, see Tips for maximizing performance + // (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs) + // File system and volume settings in the Amazon FSx for OpenZFS User Guide. + DataCompressionType *string `type:"string" enum:"OpenZFSDataCompressionType"` + + // The configuration object for mounting a Network File System (NFS) file system. + NfsExports []*OpenZFSNfsExport `type:"list"` + + // The configuration object that specifies the snapshot to use as the origin + // of the data for the volume. + OriginSnapshot *CreateOpenZFSOriginSnapshotConfiguration `type:"structure"` + + // The ID of the volume to use as the parent volume of the volume that you are + // creating. + // + // ParentVolumeId is a required field + ParentVolumeId *string `min:"23" type:"string" required:"true"` + + // A Boolean value indicating whether the volume is read-only. + ReadOnly *bool `type:"boolean"` + + // Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes + // (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The + // default is 128 KiB. We recommend using the default setting for the majority + // of use cases. Generally, workloads that write in fixed small or large record + // sizes may benefit from setting a custom record size, like database workloads + // (small record size) or media streaming workloads (large record size). For + // additional guidance on when to set a custom record size, see ZFS Record size + // (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#record-size-performance) + // in the Amazon FSx for OpenZFS User Guide. + RecordSizeKiB *int64 `min:"4" type:"integer"` + + // Sets the maximum storage size in gibibytes (GiB) for the volume. You can + // specify a quota that is larger than the storage on the parent volume. A volume + // quota limits the amount of storage that the volume can consume to the configured + // amount, but does not guarantee the space will be available on the parent + // volume. To guarantee quota space, you must also set StorageCapacityReservationGiB. + // To not specify a storage capacity quota, set this to -1. + // + // For more information, see Volume properties (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties) + // in the Amazon FSx for OpenZFS User Guide. + StorageCapacityQuotaGiB *int64 `type:"integer"` + + // Specifies the amount of storage in gibibytes (GiB) to reserve from the parent + // volume. Setting StorageCapacityReservationGiB guarantees that the specified + // amount of storage space on the parent volume will always be available for + // the volume. You can't reserve more storage than the parent volume has. To + // not specify a storage capacity reservation, set this to 0 or -1. For more + // information, see Volume properties (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties) + // in the Amazon FSx for OpenZFS User Guide. + StorageCapacityReservationGiB *int64 `type:"integer"` + + // An object specifying how much storage users or groups can use on the volume. + UserAndGroupQuotas []*OpenZFSUserOrGroupQuota `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateOpenZFSVolumeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateOpenZFSVolumeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateOpenZFSVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOpenZFSVolumeConfiguration"} + if s.ParentVolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("ParentVolumeId")) + } + if s.ParentVolumeId != nil && len(*s.ParentVolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("ParentVolumeId", 23)) + } + if s.RecordSizeKiB != nil && *s.RecordSizeKiB < 4 { + invalidParams.Add(request.NewErrParamMinValue("RecordSizeKiB", 4)) + } + if s.StorageCapacityQuotaGiB != nil && *s.StorageCapacityQuotaGiB < -1 { + invalidParams.Add(request.NewErrParamMinValue("StorageCapacityQuotaGiB", -1)) + } + if s.StorageCapacityReservationGiB != nil && *s.StorageCapacityReservationGiB < -1 { + invalidParams.Add(request.NewErrParamMinValue("StorageCapacityReservationGiB", -1)) + } + if s.NfsExports != nil { + for i, v := range s.NfsExports { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NfsExports", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OriginSnapshot != nil { + if err := s.OriginSnapshot.Validate(); err != nil { + invalidParams.AddNested("OriginSnapshot", err.(request.ErrInvalidParams)) + } + } + if s.UserAndGroupQuotas != nil { + for i, v := range s.UserAndGroupQuotas { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAndGroupQuotas", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCopyTagsToSnapshots sets the CopyTagsToSnapshots field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetCopyTagsToSnapshots(v bool) *CreateOpenZFSVolumeConfiguration { + s.CopyTagsToSnapshots = &v + return s +} + +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetDataCompressionType(v string) *CreateOpenZFSVolumeConfiguration { + s.DataCompressionType = &v + return s +} + +// SetNfsExports sets the NfsExports field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetNfsExports(v []*OpenZFSNfsExport) *CreateOpenZFSVolumeConfiguration { + s.NfsExports = v + return s +} + +// SetOriginSnapshot sets the OriginSnapshot field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetOriginSnapshot(v *CreateOpenZFSOriginSnapshotConfiguration) *CreateOpenZFSVolumeConfiguration { + s.OriginSnapshot = v + return s +} + +// SetParentVolumeId sets the ParentVolumeId field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetParentVolumeId(v string) *CreateOpenZFSVolumeConfiguration { + s.ParentVolumeId = &v + return s +} + +// SetReadOnly sets the ReadOnly field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetReadOnly(v bool) *CreateOpenZFSVolumeConfiguration { + s.ReadOnly = &v + return s +} + +// SetRecordSizeKiB sets the RecordSizeKiB field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetRecordSizeKiB(v int64) *CreateOpenZFSVolumeConfiguration { + s.RecordSizeKiB = &v + return s +} + +// SetStorageCapacityQuotaGiB sets the StorageCapacityQuotaGiB field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetStorageCapacityQuotaGiB(v int64) *CreateOpenZFSVolumeConfiguration { + s.StorageCapacityQuotaGiB = &v + return s +} + +// SetStorageCapacityReservationGiB sets the StorageCapacityReservationGiB field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetStorageCapacityReservationGiB(v int64) *CreateOpenZFSVolumeConfiguration { + s.StorageCapacityReservationGiB = &v + return s +} - // (Optional) For files imported from a data repository, this value determines - // the stripe count and maximum amount of data per file (in MiB) stored on a - // single physical disk. The maximum number of disks that a single file can - // be striped across is limited by the total number of disks that make up the - // file system. - // - // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 - // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. - // - // This parameter is not supported for file systems with the Persistent_2 deployment - // type. Instead, use CreateDataRepositoryAssociation to create a data repository - // association to link your Lustre file system to a data repository. - ImportedFileChunkSize *int64 `min:"1" type:"integer"` +// SetUserAndGroupQuotas sets the UserAndGroupQuotas field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUserOrGroupQuota) *CreateOpenZFSVolumeConfiguration { + s.UserAndGroupQuotas = v + return s +} - // The Lustre logging configuration used when creating an Amazon FSx for Lustre - // file system. When logging is enabled, Lustre logs error and warning events - // for data repositories associated with your file system to Amazon CloudWatch - // Logs. - LogConfiguration *LustreLogCreateConfiguration `type:"structure"` +type CreateSnapshotInput struct { + _ struct{} `type:"structure"` - // Required with PERSISTENT_1 and PERSISTENT_2 deployment types, provisions - // the amount of read and write throughput for each 1 tebibyte (TiB) of file - // system storage capacity, in MB/s/TiB. File system throughput capacity is - // calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput - // (MB/s/TiB). For a 2.4-TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput - // yields 120 MB/s of file system throughput. You pay for the amount of throughput - // that you provision. - // - // Valid values: - // - // * For PERSISTENT_1 SSD storage: 50, 100, 200 MB/s/TiB. - // - // * For PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB. + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The name of the snapshot. // - // * For PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB. - PerUnitStorageThroughput *int64 `min:"12" type:"integer"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // The Lustre root squash configuration used when creating an Amazon FSx for - // Lustre file system. When enabled, root squash restricts root-level access - // from clients that try to access your file system as a root user. - RootSquashConfiguration *LustreRootSquashConfiguration `type:"structure"` + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` - // (Optional) The preferred start time to perform weekly maintenance, formatted - // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through - // 7, beginning with Monday and ending with Sunday. - WeeklyMaintenanceStartTime *string `min:"7" type:"string"` + // The ID of the volume that you are taking a snapshot of. + // + // VolumeId is a required field + VolumeId *string `min:"23" type:"string" required:"true"` } // String returns the string representation. @@ -7323,7 +9415,7 @@ type CreateFileSystemLustreConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemLustreConfiguration) String() string { +func (s CreateSnapshotInput) String() string { return awsutil.Prettify(s) } @@ -7332,39 +9424,39 @@ func (s CreateFileSystemLustreConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemLustreConfiguration) GoString() string { +func (s CreateSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemLustreConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"} - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) - } - if s.ExportPath != nil && len(*s.ExportPath) < 3 { - invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3)) +func (s *CreateSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.ImportPath != nil && len(*s.ImportPath) < 3 { - invalidParams.Add(request.NewErrParamMinLen("ImportPath", 3)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { - invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 { - invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12)) + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + if s.VolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeId")) } - if s.LogConfiguration != nil { - if err := s.LogConfiguration.Validate(); err != nil { - invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) - } + if s.VolumeId != nil && len(*s.VolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) } - if s.RootSquashConfiguration != nil { - if err := s.RootSquashConfiguration.Validate(); err != nil { - invalidParams.AddNested("RootSquashConfiguration", 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)) + } } } @@ -7374,165 +9466,111 @@ func (s *CreateFileSystemLustreConfiguration) Validate() error { return nil } -// SetAutoImportPolicy sets the AutoImportPolicy field's value. -func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration { - s.AutoImportPolicy = &v - return s -} - -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration { - s.AutomaticBackupRetentionDays = &v - return s -} - -// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. -func (s *CreateFileSystemLustreConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemLustreConfiguration { - s.CopyTagsToBackups = &v - return s -} - -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemLustreConfiguration { - s.DailyAutomaticBackupStartTime = &v - return s -} - -// SetDataCompressionType sets the DataCompressionType field's value. -func (s *CreateFileSystemLustreConfiguration) SetDataCompressionType(v string) *CreateFileSystemLustreConfiguration { - s.DataCompressionType = &v - return s -} - -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration { - s.DeploymentType = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateSnapshotInput) SetClientRequestToken(v string) *CreateSnapshotInput { + s.ClientRequestToken = &v return s } -// SetDriveCacheType sets the DriveCacheType field's value. -func (s *CreateFileSystemLustreConfiguration) SetDriveCacheType(v string) *CreateFileSystemLustreConfiguration { - s.DriveCacheType = &v +// SetName sets the Name field's value. +func (s *CreateSnapshotInput) SetName(v string) *CreateSnapshotInput { + s.Name = &v return s } -// SetExportPath sets the ExportPath field's value. -func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration { - s.ExportPath = &v +// SetTags sets the Tags field's value. +func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput { + s.Tags = v return s } -// SetImportPath sets the ImportPath field's value. -func (s *CreateFileSystemLustreConfiguration) SetImportPath(v string) *CreateFileSystemLustreConfiguration { - s.ImportPath = &v +// SetVolumeId sets the VolumeId field's value. +func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput { + s.VolumeId = &v return s } -// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. -func (s *CreateFileSystemLustreConfiguration) SetImportedFileChunkSize(v int64) *CreateFileSystemLustreConfiguration { - s.ImportedFileChunkSize = &v - return s -} +type CreateSnapshotOutput struct { + _ struct{} `type:"structure"` -// SetLogConfiguration sets the LogConfiguration field's value. -func (s *CreateFileSystemLustreConfiguration) SetLogConfiguration(v *LustreLogCreateConfiguration) *CreateFileSystemLustreConfiguration { - s.LogConfiguration = v - return s + // A description of the snapshot. + Snapshot *Snapshot `type:"structure"` } -// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. -func (s *CreateFileSystemLustreConfiguration) SetPerUnitStorageThroughput(v int64) *CreateFileSystemLustreConfiguration { - s.PerUnitStorageThroughput = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// SetRootSquashConfiguration sets the RootSquashConfiguration field's value. -func (s *CreateFileSystemLustreConfiguration) SetRootSquashConfiguration(v *LustreRootSquashConfiguration) *CreateFileSystemLustreConfiguration { - s.RootSquashConfiguration = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSnapshotOutput) GoString() string { + return s.String() } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemLustreConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetSnapshot sets the Snapshot field's value. +func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { + s.Snapshot = v return s } -// The ONTAP configuration properties of the FSx for ONTAP file system that -// you are creating. -type CreateFileSystemOntapConfiguration struct { +type CreateStorageVirtualMachineInput struct { _ struct{} `type:"structure"` - // The number of days to retain automatic backups. Setting this property to - // 0 disables automatic backups. You can retain automatic backups for a maximum - // of 90 days. The default is 0. - AutomaticBackupRetentionDays *int64 `type:"integer"` - - // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of - // the day (0-23), and MM is the zero-padded minute of the hour. For example, - // 05:00 specifies 5 AM daily. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - - // Specifies the FSx for ONTAP file system deployment type to use in creating - // the file system. - // - // * MULTI_AZ_1 - (Default) A high availability file system configured for - // Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. - // - // * SINGLE_AZ_1 - A file system configured for Single-AZ redundancy. - // - // For information about the use cases for Multi-AZ and Single-AZ deployments, - // refer to Choosing a file system deployment type (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-AZ.html). - // - // DeploymentType is a required field - DeploymentType *string `type:"string" required:"true" enum:"OntapDeploymentType"` - - // The SSD IOPS configuration for the FSx for ONTAP file system. - DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` - - // (Multi-AZ only) Specifies the IP address range in which the endpoints to - // access your file system will be created. By default, Amazon FSx selects an - // unused IP address range for you from the 198.19.* range. - // - // The Endpoint IP address range you select for your file system must exist - // outside the VPC's CIDR range and must be at least /30 or larger. - EndpointIpAddressRange *string `min:"9" type:"string"` - - // The ONTAP administrative password for the fsxadmin user with which you administer - // your file system using the NetApp ONTAP CLI and REST API. - // - // FsxAdminPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateFileSystemOntapConfiguration's - // String and GoString methods. - FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"` + // Describes the self-managed Microsoft Active Directory to which you want to + // join the SVM. Joining an Active Directory provides user authentication and + // access control for SMB clients, including Microsoft Windows and macOS client + // accessing the file system. + ActiveDirectoryConfiguration *CreateSvmActiveDirectoryConfiguration `type:"structure"` - // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet - // in which you want the preferred file server to be located. - PreferredSubnetId *string `min:"15" type:"string"` + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // (Multi-AZ only) Specifies the virtual private cloud (VPC) route tables in - // which your file system's endpoints will be created. You should specify all - // VPC route tables associated with the subnets in which your clients are located. - // By default, Amazon FSx selects your VPC's default route table. - RouteTableIds []*string `type:"list"` + // The globally unique ID of the file system, assigned by Amazon FSx. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` - // Sets the throughput capacity for the file system that you're creating. Valid - // values are 128, 256, 512, 1024, and 2048 MBps. + // The name of the SVM. // - // ThroughputCapacity is a required field - ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // A recurring weekly time, in the format D:HH:MM. + // The security style of the root volume of the SVM. Specify one of the following + // values: // - // D is the day of the week, for which 1 represents Monday and 7 represents - // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia - // (https://en.wikipedia.org/wiki/ISO_week_date). + // * UNIX if the file system is managed by a UNIX administrator, the majority + // of users are NFS clients, and an application accessing the data uses a + // UNIX user as the service account. // - // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute - // of the hour. + // * NTFS if the file system is managed by a Windows administrator, the majority + // of users are SMB clients, and an application accessing the data uses a + // Windows user as the service account. // - // For example, 1:05:00 specifies maintenance at 5 AM Monday. - WeeklyMaintenanceStartTime *string `min:"7" type:"string"` + // * MIXED if the file system is managed by both UNIX and Windows administrators + // and users consist of both NFS and SMB clients. + RootVolumeSecurityStyle *string `type:"string" enum:"StorageVirtualMachineRootVolumeSecurityStyle"` + + // The password to use when managing the SVM using the NetApp ONTAP CLI or REST + // API. If you do not specify a password, you can still use the file system's + // fsxadmin user to manage the SVM. + // + // SvmAdminPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateStorageVirtualMachineInput's + // String and GoString methods. + SvmAdminPassword *string `min:"8" type:"string" sensitive:"true"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -7540,7 +9578,7 @@ type CreateFileSystemOntapConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemOntapConfiguration) String() string { +func (s CreateStorageVirtualMachineInput) String() string { return awsutil.Prettify(s) } @@ -7549,36 +9587,48 @@ func (s CreateFileSystemOntapConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemOntapConfiguration) GoString() string { +func (s CreateStorageVirtualMachineInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemOntapConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOntapConfiguration"} - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) +func (s *CreateStorageVirtualMachineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStorageVirtualMachineInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.DeploymentType == nil { - invalidParams.Add(request.NewErrParamRequired("DeploymentType")) + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) } - if s.EndpointIpAddressRange != nil && len(*s.EndpointIpAddressRange) < 9 { - invalidParams.Add(request.NewErrParamMinLen("EndpointIpAddressRange", 9)) + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 { - invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { - invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.ThroughputCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + if s.SvmAdminPassword != nil && len(*s.SvmAdminPassword) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SvmAdminPassword", 8)) } - if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { - invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + if s.ActiveDirectoryConfiguration != nil { + if err := s.ActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -7587,135 +9637,98 @@ func (s *CreateFileSystemOntapConfiguration) Validate() error { return nil } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOntapConfiguration { - s.AutomaticBackupRetentionDays = &v +// SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value. +func (s *CreateStorageVirtualMachineInput) SetActiveDirectoryConfiguration(v *CreateSvmActiveDirectoryConfiguration) *CreateStorageVirtualMachineInput { + s.ActiveDirectoryConfiguration = v return s } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOntapConfiguration { - s.DailyAutomaticBackupStartTime = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateStorageVirtualMachineInput) SetClientRequestToken(v string) *CreateStorageVirtualMachineInput { + s.ClientRequestToken = &v return s } -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemOntapConfiguration) SetDeploymentType(v string) *CreateFileSystemOntapConfiguration { - s.DeploymentType = &v +// SetFileSystemId sets the FileSystemId field's value. +func (s *CreateStorageVirtualMachineInput) SetFileSystemId(v string) *CreateStorageVirtualMachineInput { + s.FileSystemId = &v return s } -// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. -func (s *CreateFileSystemOntapConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOntapConfiguration { - s.DiskIopsConfiguration = v +// SetName sets the Name field's value. +func (s *CreateStorageVirtualMachineInput) SetName(v string) *CreateStorageVirtualMachineInput { + s.Name = &v return s } -// SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value. -func (s *CreateFileSystemOntapConfiguration) SetEndpointIpAddressRange(v string) *CreateFileSystemOntapConfiguration { - s.EndpointIpAddressRange = &v +// SetRootVolumeSecurityStyle sets the RootVolumeSecurityStyle field's value. +func (s *CreateStorageVirtualMachineInput) SetRootVolumeSecurityStyle(v string) *CreateStorageVirtualMachineInput { + s.RootVolumeSecurityStyle = &v return s } -// SetFsxAdminPassword sets the FsxAdminPassword field's value. -func (s *CreateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *CreateFileSystemOntapConfiguration { - s.FsxAdminPassword = &v +// SetSvmAdminPassword sets the SvmAdminPassword field's value. +func (s *CreateStorageVirtualMachineInput) SetSvmAdminPassword(v string) *CreateStorageVirtualMachineInput { + s.SvmAdminPassword = &v return s } -// SetPreferredSubnetId sets the PreferredSubnetId field's value. -func (s *CreateFileSystemOntapConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemOntapConfiguration { - s.PreferredSubnetId = &v +// SetTags sets the Tags field's value. +func (s *CreateStorageVirtualMachineInput) SetTags(v []*Tag) *CreateStorageVirtualMachineInput { + s.Tags = v return s } -// SetRouteTableIds sets the RouteTableIds field's value. -func (s *CreateFileSystemOntapConfiguration) SetRouteTableIds(v []*string) *CreateFileSystemOntapConfiguration { - s.RouteTableIds = v - return s +type CreateStorageVirtualMachineOutput struct { + _ struct{} `type:"structure"` + + // Returned after a successful CreateStorageVirtualMachine operation; describes + // the SVM just created. + StorageVirtualMachine *StorageVirtualMachine `type:"structure"` } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *CreateFileSystemOntapConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOntapConfiguration { - s.ThroughputCapacity = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStorageVirtualMachineOutput) String() string { + return awsutil.Prettify(s) } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOntapConfiguration { - s.WeeklyMaintenanceStartTime = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStorageVirtualMachineOutput) GoString() string { + return s.String() +} + +// SetStorageVirtualMachine sets the StorageVirtualMachine field's value. +func (s *CreateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageVirtualMachine) *CreateStorageVirtualMachineOutput { + s.StorageVirtualMachine = v return s } -// The Amazon FSx for OpenZFS configuration properties for the file system that -// you are creating. -type CreateFileSystemOpenZFSConfiguration struct { +// The configuration that Amazon FSx uses to join the ONTAP storage virtual +// machine (SVM) to your self-managed (including on-premises) Microsoft Active +// Directory (AD) directory. +type CreateSvmActiveDirectoryConfiguration struct { _ struct{} `type:"structure"` - - // The number of days to retain automatic backups. Setting this property to - // 0 disables automatic backups. You can retain automatic backups for a maximum - // of 90 days. The default is 0. - AutomaticBackupRetentionDays *int64 `type:"integer"` - - // A Boolean value indicating whether tags for the file system should be copied - // to backups. This value defaults to false. If it's set to true, all tags for - // the file system are copied to all automatic and user-initiated backups where - // the user doesn't specify tags. If this value is true, and you specify one - // or more tags, only the specified tags are copied to backups. If you specify - // one or more tags when creating a user-initiated backup, no tags are copied - // from the file system, regardless of this value. - CopyTagsToBackups *bool `type:"boolean"` - - // A Boolean value indicating whether tags for the file system should be copied - // to volumes. This value defaults to false. If it's set to true, all tags for - // the file system are copied to volumes 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 volumes. If you specify one or more tags when creating - // the volume, no tags are copied from the file system, regardless of this value. - CopyTagsToVolumes *bool `type:"boolean"` - - // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of - // the day (0-23), and MM is the zero-padded minute of the hour. For example, - // 05:00 specifies 5 AM daily. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - - // Specifies the file system deployment type. Amazon FSx for OpenZFS supports - // SINGLE_AZ_1. SINGLE_AZ_1 deployment type is configured for redundancy within - // a single Availability Zone. - // - // DeploymentType is a required field - DeploymentType *string `type:"string" required:"true" enum:"OpenZFSDeploymentType"` - - // The SSD IOPS (input/output operations per second) configuration for an Amazon - // FSx for NetApp ONTAP or Amazon FSx for OpenZFS file system. The default is - // 3 IOPS per GB of storage capacity, but you can provision additional IOPS - // per GB of storage. The configuration consists of the total number of provisioned - // SSD IOPS and how the amount was provisioned (by the customer or by the system). - DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` - - // The configuration Amazon FSx uses when creating the root value of the Amazon - // FSx for OpenZFS file system. All volumes are children of the root volume. - RootVolumeConfiguration *OpenZFSCreateRootVolumeConfiguration `type:"structure"` - - // Specifies the throughput of an Amazon FSx for OpenZFS file system, measured - // in megabytes per second (MB/s). Valid values are 64, 128, 256, 512, 1024, - // 2048, 3072, or 4096 MB/s. You pay for additional throughput capacity that - // you provision. - // - // ThroughputCapacity is a required field - ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` - - // A recurring weekly time, in the format D:HH:MM. - // - // D is the day of the week, for which 1 represents Monday and 7 represents - // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia - // (https://en.wikipedia.org/wiki/ISO_week_date). - // - // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute - // of the hour. + + // The NetBIOS name of the Active Directory computer object that will be created + // for your SVM. // - // For example, 1:05:00 specifies maintenance at 5 AM Monday. - WeeklyMaintenanceStartTime *string `min:"7" type:"string"` + // NetBiosName is a required field + NetBiosName *string `min:"1" type:"string" required:"true"` + + // The configuration that Amazon FSx uses to join a FSx for Windows File Server + // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including + // on-premises) Microsoft Active Directory (AD) directory. For more information, + // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) + // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). + SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` } // String returns the string representation. @@ -7723,7 +9736,7 @@ type CreateFileSystemOpenZFSConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemOpenZFSConfiguration) String() string { +func (s CreateSvmActiveDirectoryConfiguration) String() string { return awsutil.Prettify(s) } @@ -7732,31 +9745,22 @@ func (s CreateFileSystemOpenZFSConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemOpenZFSConfiguration) GoString() string { +func (s CreateSvmActiveDirectoryConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemOpenZFSConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOpenZFSConfiguration"} - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) - } - if s.DeploymentType == nil { - invalidParams.Add(request.NewErrParamRequired("DeploymentType")) - } - if s.ThroughputCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) - } - if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { - invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) +func (s *CreateSvmActiveDirectoryConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSvmActiveDirectoryConfiguration"} + if s.NetBiosName == nil { + invalidParams.Add(request.NewErrParamRequired("NetBiosName")) } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + if s.NetBiosName != nil && len(*s.NetBiosName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetBiosName", 1)) } - if s.RootVolumeConfiguration != nil { - if err := s.RootVolumeConfiguration.Validate(); err != nil { - invalidParams.AddNested("RootVolumeConfiguration", err.(request.ErrInvalidParams)) + if s.SelfManagedActiveDirectoryConfiguration != nil { + if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) } } @@ -7766,66 +9770,140 @@ func (s *CreateFileSystemOpenZFSConfiguration) Validate() error { return nil } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOpenZFSConfiguration { - s.AutomaticBackupRetentionDays = &v +// SetNetBiosName sets the NetBiosName field's value. +func (s *CreateSvmActiveDirectoryConfiguration) SetNetBiosName(v string) *CreateSvmActiveDirectoryConfiguration { + s.NetBiosName = &v return s } -// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemOpenZFSConfiguration { - s.CopyTagsToBackups = &v +// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. +func (s *CreateSvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateSvmActiveDirectoryConfiguration { + s.SelfManagedActiveDirectoryConfiguration = v return s } -// SetCopyTagsToVolumes sets the CopyTagsToVolumes field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetCopyTagsToVolumes(v bool) *CreateFileSystemOpenZFSConfiguration { - s.CopyTagsToVolumes = &v - return s +type CreateVolumeFromBackupInput struct { + _ struct{} `type:"structure"` + + // The ID of the source backup. Specifies the backup that you are copying. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The name of the new volume you're creating. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // Specifies the configuration of the ONTAP volume that you are creating. + OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOpenZFSConfiguration { - s.DailyAutomaticBackupStartTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateVolumeFromBackupInput) String() string { + return awsutil.Prettify(s) } -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetDeploymentType(v string) *CreateFileSystemOpenZFSConfiguration { - s.DeploymentType = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateVolumeFromBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateVolumeFromBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVolumeFromBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) + } + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupId sets the BackupId field's value. +func (s *CreateVolumeFromBackupInput) SetBackupId(v string) *CreateVolumeFromBackupInput { + s.BackupId = &v return s } -// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOpenZFSConfiguration { - s.DiskIopsConfiguration = v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateVolumeFromBackupInput) SetClientRequestToken(v string) *CreateVolumeFromBackupInput { + s.ClientRequestToken = &v return s } -// SetRootVolumeConfiguration sets the RootVolumeConfiguration field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetRootVolumeConfiguration(v *OpenZFSCreateRootVolumeConfiguration) *CreateFileSystemOpenZFSConfiguration { - s.RootVolumeConfiguration = v +// SetName sets the Name field's value. +func (s *CreateVolumeFromBackupInput) SetName(v string) *CreateVolumeFromBackupInput { + s.Name = &v return s } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOpenZFSConfiguration { - s.ThroughputCapacity = &v +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *CreateVolumeFromBackupInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeFromBackupInput { + s.OntapConfiguration = v return s } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemOpenZFSConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOpenZFSConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetTags sets the Tags field's value. +func (s *CreateVolumeFromBackupInput) SetTags(v []*Tag) *CreateVolumeFromBackupInput { + s.Tags = v return s } -// The response object returned after the file system is created. -type CreateFileSystemOutput struct { +type CreateVolumeFromBackupOutput struct { _ struct{} `type:"structure"` - // The configuration of the file system that was created. - FileSystem *FileSystem `type:"structure"` + // Returned after a successful CreateVolumeFromBackup API operation, describing + // the volume just created. + Volume *Volume `type:"structure"` } // String returns the string representation. @@ -7833,7 +9911,7 @@ type CreateFileSystemOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemOutput) String() string { +func (s CreateVolumeFromBackupOutput) String() string { return awsutil.Prettify(s) } @@ -7842,122 +9920,43 @@ func (s CreateFileSystemOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemOutput) GoString() string { +func (s CreateVolumeFromBackupOutput) GoString() string { return s.String() } -// SetFileSystem sets the FileSystem field's value. -func (s *CreateFileSystemOutput) SetFileSystem(v *FileSystem) *CreateFileSystemOutput { - s.FileSystem = v - return s -} - -// The configuration object for the Microsoft Windows file system used in CreateFileSystem -// and CreateFileSystemFromBackup operations. -type CreateFileSystemWindowsConfiguration struct { - _ struct{} `type:"structure"` - - // The ID for an existing Amazon Web Services Managed Microsoft Active Directory - // (AD) instance that the file system should join when it's created. - ActiveDirectoryId *string `min:"12" type:"string"` - - // An array of one or more DNS alias names that you want to associate with the - // Amazon FSx file system. Aliases allow you to use existing DNS names to access - // the data in your Amazon FSx file system. You can associate up to 50 aliases - // with a file system at any time. You can associate additional DNS aliases - // after you create the file system using the AssociateFileSystemAliases operation. - // You can remove DNS aliases from the file system after it is created using - // the DisassociateFileSystemAliases operation. You only need to specify the - // alias name in the request payload. - // - // For more information, see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) - // and Walkthrough 5: Using DNS aliases to access your file system (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html), - // including additional steps you must take to be able to access your file system - // using a DNS alias. - // - // An alias name has to meet the following requirements: - // - // * Formatted as a fully-qualified domain name (FQDN), hostname.domain, - // for example, accounting.example.com. - // - // * Can contain alphanumeric characters, the underscore (_), and the hyphen - // (-). - // - // * Cannot start or end with a hyphen. - // - // * Can start with a numeric. - // - // For DNS alias names, Amazon FSx stores alphabetic characters as lowercase - // letters (a-z), regardless of how you specify them: as uppercase letters, - // lowercase letters, or the corresponding letters in escape codes. - Aliases []*string `type:"list"` - - // The configuration that Amazon FSx for Windows File Server uses to audit and - // log user accesses of files, folders, and file shares on the Amazon FSx for - // Windows File Server file system. - AuditLogConfiguration *WindowsAuditLogCreateConfiguration `type:"structure"` - - // The number of days to retain automatic backups. The default is to retain - // backups for 7 days. Setting this value to 0 disables the creation of automatic - // backups. The maximum retention period for backups is 90 days. - AutomaticBackupRetentionDays *int64 `type:"integer"` - - // A boolean flag indicating whether tags for the file system should be copied - // to backups. This value defaults to false. If it's set to true, all tags for - // the file system are copied to all automatic and user-initiated backups where - // the user doesn't specify tags. If this value is true, and you specify one - // or more tags, only the specified tags are copied to backups. If you specify - // one or more tags when creating a user-initiated backup, no tags are copied - // from the file system, regardless of this value. - CopyTagsToBackups *bool `type:"boolean"` +// SetVolume sets the Volume field's value. +func (s *CreateVolumeFromBackupOutput) SetVolume(v *Volume) *CreateVolumeFromBackupOutput { + s.Volume = v + return s +} - // The preferred time to take daily automatic backups, formatted HH:MM in the - // UTC time zone. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` +type CreateVolumeInput struct { + _ struct{} `type:"structure"` - // Specifies the file system deployment type, valid values are the following: - // - // * MULTI_AZ_1 - Deploys a high availability file system that is configured - // for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. - // You can only deploy a Multi-AZ file system in Amazon Web Services Regions - // that have a minimum of three Availability Zones. Also supports HDD storage - // type - // - // * SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured - // for single AZ redundancy. - // - // * SINGLE_AZ_2 - The latest generation Single AZ file system. Specifies - // a file system that is configured for single AZ redundancy and supports - // HDD storage type. + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // Specifies the name of the volume that you're creating. // - // For more information, see Availability and Durability: Single-AZ and Multi-AZ - // File Systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html). - DeploymentType *string `type:"string" enum:"WindowsDeploymentType"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet - // in which you want the preferred file server to be located. For in-Amazon - // Web Services applications, we recommend that you launch your clients in the - // same Availability Zone (AZ) as your preferred file server to reduce cross-AZ - // data transfer costs and minimize latency. - PreferredSubnetId *string `min:"15" type:"string"` + // Specifies the configuration to use when creating the ONTAP volume. + OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` - // The configuration that Amazon FSx uses to join a FSx for Windows File Server - // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including - // on-premises) Microsoft Active Directory (AD) directory. For more information, - // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) - // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). - SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` + // Specifies the configuration to use when creating the OpenZFS volume. + OpenZFSConfiguration *CreateOpenZFSVolumeConfiguration `type:"structure"` - // Sets the throughput capacity of an Amazon FSx file system, measured in megabytes - // per second (MB/s), in 2 to the nth increments, between 2^3 (8) and 2^11 (2048). - // - // ThroughputCapacity is a required field - ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` - // 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"` + // Specifies the type of volume to create; ONTAP and OPENZFS are the only valid + // volume types. + // + // VolumeType is a required field + VolumeType *string `type:"string" required:"true" enum:"VolumeType"` } // String returns the string representation. @@ -7965,7 +9964,7 @@ type CreateFileSystemWindowsConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemWindowsConfiguration) String() string { +func (s CreateVolumeInput) String() string { return awsutil.Prettify(s) } @@ -7974,39 +9973,46 @@ func (s CreateFileSystemWindowsConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateFileSystemWindowsConfiguration) GoString() string { +func (s CreateVolumeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemWindowsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemWindowsConfiguration"} - if s.ActiveDirectoryId != nil && len(*s.ActiveDirectoryId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("ActiveDirectoryId", 12)) +func (s *CreateVolumeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { - invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } - if s.ThroughputCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { - invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + if s.VolumeType == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeType")) } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) + } } - if s.AuditLogConfiguration != nil { - if err := s.AuditLogConfiguration.Validate(); err != nil { - invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams)) + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) } } - if s.SelfManagedActiveDirectoryConfiguration != nil { - if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", 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)) + } } } @@ -8016,137 +10022,230 @@ func (s *CreateFileSystemWindowsConfiguration) Validate() error { return nil } -// SetActiveDirectoryId sets the ActiveDirectoryId field's value. -func (s *CreateFileSystemWindowsConfiguration) SetActiveDirectoryId(v string) *CreateFileSystemWindowsConfiguration { - s.ActiveDirectoryId = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateVolumeInput) SetClientRequestToken(v string) *CreateVolumeInput { + s.ClientRequestToken = &v return s } -// SetAliases sets the Aliases field's value. -func (s *CreateFileSystemWindowsConfiguration) SetAliases(v []*string) *CreateFileSystemWindowsConfiguration { - s.Aliases = v +// SetName sets the Name field's value. +func (s *CreateVolumeInput) SetName(v string) *CreateVolumeInput { + s.Name = &v return s } -// SetAuditLogConfiguration sets the AuditLogConfiguration field's value. -func (s *CreateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *CreateFileSystemWindowsConfiguration { - s.AuditLogConfiguration = v +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *CreateVolumeInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeInput { + s.OntapConfiguration = v return s } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemWindowsConfiguration { - s.AutomaticBackupRetentionDays = &v +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *CreateVolumeInput) SetOpenZFSConfiguration(v *CreateOpenZFSVolumeConfiguration) *CreateVolumeInput { + s.OpenZFSConfiguration = v return s } -// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. -func (s *CreateFileSystemWindowsConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemWindowsConfiguration { - s.CopyTagsToBackups = &v +// SetTags sets the Tags field's value. +func (s *CreateVolumeInput) SetTags(v []*Tag) *CreateVolumeInput { + s.Tags = v return s } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemWindowsConfiguration { - s.DailyAutomaticBackupStartTime = &v +// SetVolumeType sets the VolumeType field's value. +func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput { + s.VolumeType = &v return s } -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemWindowsConfiguration) SetDeploymentType(v string) *CreateFileSystemWindowsConfiguration { - s.DeploymentType = &v - return s -} +type CreateVolumeOutput struct { + _ struct{} `type:"structure"` -// SetPreferredSubnetId sets the PreferredSubnetId field's value. -func (s *CreateFileSystemWindowsConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemWindowsConfiguration { - s.PreferredSubnetId = &v - return s + // Returned after a successful CreateVolume API operation, describing the volume + // just created. + Volume *Volume `type:"structure"` } -// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. -func (s *CreateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateFileSystemWindowsConfiguration { - s.SelfManagedActiveDirectoryConfiguration = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateVolumeOutput) String() string { + return awsutil.Prettify(s) } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *CreateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemWindowsConfiguration { - s.ThroughputCapacity = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateVolumeOutput) GoString() string { + return s.String() } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemWindowsConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetVolume sets the Volume field's value. +func (s *CreateVolumeOutput) SetVolume(v *Volume) *CreateVolumeOutput { + s.Volume = v return s } -// Specifies the configuration of the ONTAP volume that you are creating. -type CreateOntapVolumeConfiguration struct { +// The configuration of a data repository association that links an Amazon FSx +// for Lustre file system to an Amazon S3 bucket or an Amazon File Cache resource +// to an Amazon S3 bucket or an NFS file system. The data repository association +// configuration object is returned in the response of the following operations: +// +// - CreateDataRepositoryAssociation +// +// - UpdateDataRepositoryAssociation +// +// - DescribeDataRepositoryAssociations +// +// Data repository associations are supported only for an Amazon FSx for Lustre +// file system with the Persistent_2 deployment type and for an Amazon File +// Cache resource. +type DataRepositoryAssociation struct { _ struct{} `type:"structure"` - // Specifies the location in the SVM's namespace where the volume is mounted. - // The JunctionPath must have a leading forward slash, such as /vol3. + // The system-generated, unique ID of the data repository association. + AssociationId *string `min:"13" type:"string"` + + // A boolean flag indicating whether an import data repository task to import + // metadata should run after the data repository association is created. The + // task runs if this flag is set to true. // - // JunctionPath is a required field - JunctionPath *string `min:"1" type:"string" required:"true"` + // BatchImportMetaDataOnCreate is not supported for data repositories linked + // to an Amazon File Cache resource. + BatchImportMetaDataOnCreate *bool `type:"boolean"` - // Specifies the security style for the volume. If a volume's security style - // is not specified, it is automatically set to the root volume's security style. - // The security style determines the type of permissions that FSx for ONTAP - // uses to control data access. For more information, see Volume security style - // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-volumes.html#volume-security-style) - // in the Amazon FSx for NetApp ONTAP User Guide. Specify one of the following - // values: + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` + + // The path to the data repository that will be linked to the cache or file + // system. // - // * UNIX if the file system is managed by a UNIX administrator, the majority - // of users are NFS clients, and an application accessing the data uses a - // UNIX user as the service account. + // * For Amazon File Cache, the path can be an NFS data repository that will + // be linked to the cache. The path can be in one of two formats: If you + // are not using the DataRepositorySubdirectories parameter, the path is + // to an NFS Export directory (or one of its subdirectories) in the format + // nsf://nfs-domain-name/exportpath. You can therefore link a single NFS + // Export to a single data repository association. If you are using the DataRepositorySubdirectories + // parameter, the path is the domain name of the NFS file system in the format + // nfs://filer-domain-name, which indicates the root of the subdirectories + // specified with the DataRepositorySubdirectories parameter. + // + // * For Amazon File Cache, the path can be an S3 bucket or prefix in the + // format s3://myBucket/myPrefix/. + // + // * For Amazon FSx for Lustre, the path can be an S3 bucket or prefix in + // the format s3://myBucket/myPrefix/. + DataRepositoryPath *string `min:"3" type:"string"` + + // For Amazon File Cache, a list of NFS Exports that will be linked with an + // NFS data repository association. All the subdirectories must be on a single + // NFS file system. The Export paths are in the format /exportpath1. To use + // this parameter, you must configure DataRepositoryPath as the domain name + // of the NFS file system. The NFS file system domain name in effect is the + // root of the subdirectories. Note that DataRepositorySubdirectories is not + // supported for S3 data repositories. + DataRepositorySubdirectories []*string `type:"list"` + + // Provides detailed information about the data respository if its Lifecycle + // is set to MISCONFIGURED or FAILED. + FailureDetails *DataRepositoryFailureDetails `type:"structure"` + + // The globally unique ID of the Amazon File Cache resource. + FileCacheId *string `min:"11" type:"string"` + + // A path on the Amazon File Cache that points to a high-level directory (such + // as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 + // with DataRepositoryPath. The leading forward slash in the path is required. + // Two data repository associations cannot have overlapping cache paths. For + // example, if a data repository is associated with cache path /ns1/, then you + // cannot link another data repository with cache path /ns1/ns2. // - // * NTFS if the file system is managed by a Windows administrator, the majority - // of users are SMB clients, and an application accessing the data uses a - // Windows user as the service account. + // This path specifies the directory in your cache where files will be exported + // from. This cache directory can be linked to only one data repository (S3 + // or NFS) and no other data repository can be linked to the directory. // - // * MIXED if the file system is managed by both UNIX and Windows administrators - // and users consist of both NFS and SMB clients. - SecurityStyle *string `type:"string" enum:"SecurityStyle"` - - // Specifies the size of the volume, in megabytes (MB), that you are creating. + // The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories + // is specified. If you specify root (/) as the cache path, you can create only + // one DRA on the cache. // - // SizeInMegabytes is a required field - SizeInMegabytes *int64 `type:"integer" required:"true"` + // The cache path cannot be set to root (/) for an S3 DRA. + FileCachePath *string `min:"1" type:"string"` - // Set to true to enable deduplication, compression, and compaction storage - // efficiency features on the volume. + // The globally unique ID of the file system, assigned by Amazon FSx. + FileSystemId *string `min:"11" type:"string"` + + // A path on the Amazon FSx for Lustre file system that points to a high-level + // directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will + // be mapped 1-1 with DataRepositoryPath. The leading forward slash in the name + // is required. Two data repository associations cannot have overlapping file + // system paths. For example, if a data repository is associated with file system + // path /ns1/, then you cannot link another data repository with file system + // path /ns1/ns2. + // + // This path specifies where in your file system files will be exported from + // or imported to. This file system directory can be linked to only one Amazon + // S3 bucket, and no other S3 bucket can be linked to the directory. // - // StorageEfficiencyEnabled is a required field - StorageEfficiencyEnabled *bool `type:"boolean" required:"true"` + // If you specify only a forward slash (/) as the file system path, you can + // link only one data repository to the file system. You can only specify "/" + // as the file system path for the first data repository associated with a file + // system. + FileSystemPath *string `min:"1" type:"string"` - // Specifies the ONTAP SVM in which to create the volume. + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system or cache. // - // StorageVirtualMachineId is a required field - StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` - // Describes the data tiering policy for an ONTAP volume. When enabled, Amazon - // FSx for ONTAP's intelligent tiering automatically transitions a volume's - // data between the file system's primary storage and capacity pool storage - // based on your access patterns. + // Describes the state of a data repository association. The lifecycle can have + // the following values: // - // Valid tiering policies are the following: + // * CREATING - The data repository association between the file system or + // cache and the data repository is being created. The data repository is + // unavailable. // - // * SNAPSHOT_ONLY - (Default value) moves cold snapshots to the capacity - // pool storage tier. + // * AVAILABLE - The data repository association is available for use. // - // * AUTO - moves cold user data and snapshots to the capacity pool storage - // tier based on your access patterns. + // * MISCONFIGURED - The data repository association is misconfigured. Until + // the configuration is corrected, automatic import and automatic export + // will not work (only for Amazon FSx for Lustre). // - // * ALL - moves all user data blocks in both the active file system and - // Snapshot copies to the storage pool tier. + // * UPDATING - The data repository association is undergoing a customer + // initiated update that might affect its availability. // - // * NONE - keeps a volume's data in the primary storage tier, preventing - // it from being moved to the capacity pool tier. - TieringPolicy *TieringPolicy `type:"structure"` + // * DELETING - The data repository association is undergoing a customer + // initiated deletion. + // + // * FAILED - The data repository association is in a terminal state that + // cannot be recovered. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` + + // The configuration for an NFS data repository linked to an Amazon File Cache + // resource with a data repository association. + NFS *NFSDataRepositoryConfiguration `type:"structure"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` + + // The configuration for an Amazon S3 data repository linked to an Amazon FSx + // for Lustre file system with a data repository association. + S3 *S3DataRepositoryConfiguration `type:"structure"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -8154,7 +10253,7 @@ type CreateOntapVolumeConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateOntapVolumeConfiguration) String() string { +func (s DataRepositoryAssociation) String() string { return awsutil.Prettify(s) } @@ -8163,104 +10262,113 @@ func (s CreateOntapVolumeConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateOntapVolumeConfiguration) GoString() string { +func (s DataRepositoryAssociation) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateOntapVolumeConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateOntapVolumeConfiguration"} - if s.JunctionPath == nil { - invalidParams.Add(request.NewErrParamRequired("JunctionPath")) - } - if s.JunctionPath != nil && len(*s.JunctionPath) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1)) - } - if s.SizeInMegabytes == nil { - invalidParams.Add(request.NewErrParamRequired("SizeInMegabytes")) - } - if s.StorageEfficiencyEnabled == nil { - invalidParams.Add(request.NewErrParamRequired("StorageEfficiencyEnabled")) - } - if s.StorageVirtualMachineId == nil { - invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) - } - if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { - invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) - } - if s.TieringPolicy != nil { - if err := s.TieringPolicy.Validate(); err != nil { - invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) - } - } +// SetAssociationId sets the AssociationId field's value. +func (s *DataRepositoryAssociation) SetAssociationId(v string) *DataRepositoryAssociation { + s.AssociationId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetBatchImportMetaDataOnCreate sets the BatchImportMetaDataOnCreate field's value. +func (s *DataRepositoryAssociation) SetBatchImportMetaDataOnCreate(v bool) *DataRepositoryAssociation { + s.BatchImportMetaDataOnCreate = &v + return s } -// SetJunctionPath sets the JunctionPath field's value. -func (s *CreateOntapVolumeConfiguration) SetJunctionPath(v string) *CreateOntapVolumeConfiguration { - s.JunctionPath = &v +// SetCreationTime sets the CreationTime field's value. +func (s *DataRepositoryAssociation) SetCreationTime(v time.Time) *DataRepositoryAssociation { + s.CreationTime = &v return s } -// SetSecurityStyle sets the SecurityStyle field's value. -func (s *CreateOntapVolumeConfiguration) SetSecurityStyle(v string) *CreateOntapVolumeConfiguration { - s.SecurityStyle = &v +// SetDataRepositoryPath sets the DataRepositoryPath field's value. +func (s *DataRepositoryAssociation) SetDataRepositoryPath(v string) *DataRepositoryAssociation { + s.DataRepositoryPath = &v return s } -// SetSizeInMegabytes sets the SizeInMegabytes field's value. -func (s *CreateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *CreateOntapVolumeConfiguration { - s.SizeInMegabytes = &v +// SetDataRepositorySubdirectories sets the DataRepositorySubdirectories field's value. +func (s *DataRepositoryAssociation) SetDataRepositorySubdirectories(v []*string) *DataRepositoryAssociation { + s.DataRepositorySubdirectories = v return s } -// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. -func (s *CreateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *CreateOntapVolumeConfiguration { - s.StorageEfficiencyEnabled = &v +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryAssociation) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryAssociation { + s.FailureDetails = v return s } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *CreateOntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *CreateOntapVolumeConfiguration { - s.StorageVirtualMachineId = &v +// SetFileCacheId sets the FileCacheId field's value. +func (s *DataRepositoryAssociation) SetFileCacheId(v string) *DataRepositoryAssociation { + s.FileCacheId = &v return s } -// SetTieringPolicy sets the TieringPolicy field's value. -func (s *CreateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *CreateOntapVolumeConfiguration { - s.TieringPolicy = v +// SetFileCachePath sets the FileCachePath field's value. +func (s *DataRepositoryAssociation) SetFileCachePath(v string) *DataRepositoryAssociation { + s.FileCachePath = &v return s } -// The snapshot configuration to use when creating an OpenZFS volume from a -// snapshot. -type CreateOpenZFSOriginSnapshotConfiguration struct { - _ struct{} `type:"structure"` +// SetFileSystemId sets the FileSystemId field's value. +func (s *DataRepositoryAssociation) SetFileSystemId(v string) *DataRepositoryAssociation { + s.FileSystemId = &v + return s +} - // The strategy used when copying data from the snapshot to the new volume. - // - // * CLONE - The new volume references the data in the origin snapshot. Cloning - // a snapshot is faster than copying data from the snapshot to a new volume - // and doesn't consume disk throughput. However, the origin snapshot can't - // be deleted if there is a volume using its copied data. - // - // * FULL_COPY - Copies all data from the snapshot to the new volume. - // - // CopyStrategy is a required field - CopyStrategy *string `type:"string" required:"true" enum:"OpenZFSCopyStrategy"` +// SetFileSystemPath sets the FileSystemPath field's value. +func (s *DataRepositoryAssociation) SetFileSystemPath(v string) *DataRepositoryAssociation { + s.FileSystemPath = &v + return s +} - // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify - // Amazon Web Services resources. We require an ARN when you need to specify - // a resource unambiguously across all of Amazon Web Services. For more information, - // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the Amazon Web Services General Reference. - // - // SnapshotARN is a required field - SnapshotARN *string `min:"8" type:"string" required:"true"` +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *DataRepositoryAssociation) SetImportedFileChunkSize(v int64) *DataRepositoryAssociation { + s.ImportedFileChunkSize = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryAssociation) SetLifecycle(v string) *DataRepositoryAssociation { + s.Lifecycle = &v + return s +} + +// SetNFS sets the NFS field's value. +func (s *DataRepositoryAssociation) SetNFS(v *NFSDataRepositoryConfiguration) *DataRepositoryAssociation { + s.NFS = v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *DataRepositoryAssociation) SetResourceARN(v string) *DataRepositoryAssociation { + s.ResourceARN = &v + return s +} + +// SetS3 sets the S3 field's value. +func (s *DataRepositoryAssociation) SetS3(v *S3DataRepositoryConfiguration) *DataRepositoryAssociation { + s.S3 = v + return s +} + +// SetTags sets the Tags field's value. +func (s *DataRepositoryAssociation) SetTags(v []*Tag) *DataRepositoryAssociation { + s.Tags = v + return s +} + +// No data repository associations were found based upon the supplied parameters. +type DataRepositoryAssociationNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -8268,7 +10376,7 @@ type CreateOpenZFSOriginSnapshotConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateOpenZFSOriginSnapshotConfiguration) String() string { +func (s DataRepositoryAssociationNotFound) String() string { return awsutil.Prettify(s) } @@ -8277,122 +10385,125 @@ func (s CreateOpenZFSOriginSnapshotConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateOpenZFSOriginSnapshotConfiguration) GoString() string { +func (s DataRepositoryAssociationNotFound) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateOpenZFSOriginSnapshotConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateOpenZFSOriginSnapshotConfiguration"} - if s.CopyStrategy == nil { - invalidParams.Add(request.NewErrParamRequired("CopyStrategy")) - } - if s.SnapshotARN == nil { - invalidParams.Add(request.NewErrParamRequired("SnapshotARN")) - } - if s.SnapshotARN != nil && len(*s.SnapshotARN) < 8 { - invalidParams.Add(request.NewErrParamMinLen("SnapshotARN", 8)) +func newErrorDataRepositoryAssociationNotFound(v protocol.ResponseMetadata) error { + return &DataRepositoryAssociationNotFound{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *DataRepositoryAssociationNotFound) Code() string { + return "DataRepositoryAssociationNotFound" +} + +// Message returns the exception's message. +func (s *DataRepositoryAssociationNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryAssociationNotFound) OrigErr() error { return nil } -// SetCopyStrategy sets the CopyStrategy field's value. -func (s *CreateOpenZFSOriginSnapshotConfiguration) SetCopyStrategy(v string) *CreateOpenZFSOriginSnapshotConfiguration { - s.CopyStrategy = &v - return s +func (s *DataRepositoryAssociationNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSnapshotARN sets the SnapshotARN field's value. -func (s *CreateOpenZFSOriginSnapshotConfiguration) SetSnapshotARN(v string) *CreateOpenZFSOriginSnapshotConfiguration { - s.SnapshotARN = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryAssociationNotFound) StatusCode() int { + return s.RespMetadata.StatusCode } -// Specifies the configuration of the Amazon FSx for OpenZFS volume that you -// are creating. -type CreateOpenZFSVolumeConfiguration struct { +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryAssociationNotFound) RequestID() string { + return s.RespMetadata.RequestID +} + +// The data repository configuration object for Lustre file systems returned +// in the response of the CreateFileSystem operation. +// +// This data type is not supported for file systems with the Persistent_2 deployment +// type. Instead, use . +type DataRepositoryConfiguration struct { _ struct{} `type:"structure"` - // A Boolean value indicating whether tags for the volume should be copied to - // snapshots. This value defaults to false. If it's set to true, all tags for - // the volume are copied to snapshots where the user doesn't specify tags. If - // this value is true, and you specify one or more tags, only the specified - // tags are copied to snapshots. If you specify one or more tags when creating - // the snapshot, no tags are copied from the volume, regardless of this value. - CopyTagsToSnapshots *bool `type:"boolean"` - - // Specifies the method used to compress the data on the volume. The compression - // type is NONE by default. + // Describes the file system's linked S3 data repository's AutoImportPolicy. + // The AutoImportPolicy configures how Amazon FSx keeps your file and directory + // listings up to date as you add or modify objects in your linked S3 bucket. + // AutoImportPolicy can have the following values: // - // * NONE - Doesn't compress the data on the volume. NONE is the default. + // * 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. // - // * ZSTD - Compresses the data in the volume using the Zstandard (ZSTD) - // compression algorithm. ZSTD compression provides a higher level of data - // compression and higher read throughput performance than LZ4 compression. + // * 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. // - // * LZ4 - Compresses the data in the volume using the LZ4 compression algorithm. - // LZ4 compression provides a lower level of compression and higher write - // throughput performance than ZSTD compression. + // * 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 about volume compression types and the performance of - // your Amazon FSx for OpenZFS file system, see Tips for maximizing performance - // (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#performance-tips-zfs) - // File system and volume settings in the Amazon FSx for OpenZFS User Guide. - DataCompressionType *string `type:"string" enum:"OpenZFSDataCompressionType"` - - // The configuration object for mounting a Network File System (NFS) file system. - NfsExports []*OpenZFSNfsExport `type:"list"` - - // The configuration object that specifies the snapshot to use as the origin - // of the data for the volume. - OriginSnapshot *CreateOpenZFSOriginSnapshotConfiguration `type:"structure"` + // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports + // file and directory listings of any new objects added to the S3 bucket, + // any existing objects that are changed in the S3 bucket, and any objects + // that were deleted in the S3 bucket. + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - // The ID of the volume to use as the parent volume of the volume that you are - // creating. - // - // ParentVolumeId is a required field - ParentVolumeId *string `min:"23" type:"string" required:"true"` + // The export path to the Amazon S3 bucket (and prefix) that you are using to + // store new and changed Lustre file system files in S3. + ExportPath *string `min:"3" type:"string"` - // A Boolean value indicating whether the volume is read-only. - ReadOnly *bool `type:"boolean"` + // Provides detailed information about the data respository if its Lifecycle + // is set to MISCONFIGURED or FAILED. + FailureDetails *DataRepositoryFailureDetails `type:"structure"` - // Specifies the suggested block size for a volume in a ZFS dataset, in kibibytes - // (KiB). Valid values are 4, 8, 16, 32, 64, 128, 256, 512, or 1024 KiB. The - // default is 128 KiB. We recommend using the default setting for the majority - // of use cases. Generally, workloads that write in fixed small or large record - // sizes may benefit from setting a custom record size, like database workloads - // (small record size) or media streaming workloads (large record size). For - // additional guidance on when to set a custom record size, see ZFS Record size - // (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html#record-size-performance) - // in the Amazon FSx for OpenZFS User Guide. - RecordSizeKiB *int64 `min:"4" type:"integer"` + // The import path to the Amazon S3 bucket (and optional prefix) that you're + // using as the data repository for your FSx for Lustre file system, for example + // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon + // S3 bucket name, only object keys with that prefix are loaded into the file + // system. + ImportPath *string `min:"3" type:"string"` - // Sets the maximum storage size in gibibytes (GiB) for the volume. You can - // specify a quota that is larger than the storage on the parent volume. A volume - // quota limits the amount of storage that the volume can consume to the configured - // amount, but does not guarantee the space will be available on the parent - // volume. To guarantee quota space, you must also set StorageCapacityReservationGiB. - // To not specify a storage capacity quota, set this to -1. + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system. // - // For more information, see Volume properties (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties) - // in the Amazon FSx for OpenZFS User Guide. - StorageCapacityQuotaGiB *int64 `type:"integer"` - - // Specifies the amount of storage in gibibytes (GiB) to reserve from the parent - // volume. Setting StorageCapacityReservationGiB guarantees that the specified - // amount of storage space on the parent volume will always be available for - // the volume. You can't reserve more storage than the parent volume has. To - // not specify a storage capacity reservation, set this to 0 or -1. For more - // information, see Volume properties (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/managing-volumes.html#volume-properties) - // in the Amazon FSx for OpenZFS User Guide. - StorageCapacityReservationGiB *int64 `type:"integer"` + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` - // An object specifying how much storage users or groups can use on the volume. - UserAndGroupQuotas []*OpenZFSUserOrGroupQuota `type:"list"` + // Describes the state of the file system's S3 durable data repository, if it + // is configured with an S3 repository. The lifecycle can have the following + // values: + // + // * CREATING - The data repository configuration between the FSx file system + // and the linked S3 data repository is being created. The data repository + // is unavailable. + // + // * AVAILABLE - The data repository is available for use. + // + // * MISCONFIGURED - Amazon FSx cannot automatically import updates from + // the S3 bucket until the data repository configuration is corrected. For + // more information, see Troubleshooting a Misconfigured linked S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository). + // + // * UPDATING - The data repository is undergoing a customer initiated update + // and availability may be impacted. + // + // * FAILED - The data repository is in a terminal state that cannot be recovered. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` } // String returns the string representation. @@ -8400,7 +10511,7 @@ type CreateOpenZFSVolumeConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateOpenZFSVolumeConfiguration) String() string { +func (s DataRepositoryConfiguration) String() string { return awsutil.Prettify(s) } @@ -8409,140 +10520,186 @@ func (s CreateOpenZFSVolumeConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateOpenZFSVolumeConfiguration) GoString() string { +func (s DataRepositoryConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateOpenZFSVolumeConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateOpenZFSVolumeConfiguration"} - if s.ParentVolumeId == nil { - invalidParams.Add(request.NewErrParamRequired("ParentVolumeId")) - } - if s.ParentVolumeId != nil && len(*s.ParentVolumeId) < 23 { - invalidParams.Add(request.NewErrParamMinLen("ParentVolumeId", 23)) - } - if s.RecordSizeKiB != nil && *s.RecordSizeKiB < 4 { - invalidParams.Add(request.NewErrParamMinValue("RecordSizeKiB", 4)) - } - if s.StorageCapacityQuotaGiB != nil && *s.StorageCapacityQuotaGiB < -1 { - invalidParams.Add(request.NewErrParamMinValue("StorageCapacityQuotaGiB", -1)) - } - if s.StorageCapacityReservationGiB != nil && *s.StorageCapacityReservationGiB < -1 { - invalidParams.Add(request.NewErrParamMinValue("StorageCapacityReservationGiB", -1)) - } - if s.NfsExports != nil { - for i, v := range s.NfsExports { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NfsExports", i), err.(request.ErrInvalidParams)) - } - } - } - if s.OriginSnapshot != nil { - if err := s.OriginSnapshot.Validate(); err != nil { - invalidParams.AddNested("OriginSnapshot", err.(request.ErrInvalidParams)) - } - } - if s.UserAndGroupQuotas != nil { - for i, v := range s.UserAndGroupQuotas { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAndGroupQuotas", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCopyTagsToSnapshots sets the CopyTagsToSnapshots field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetCopyTagsToSnapshots(v bool) *CreateOpenZFSVolumeConfiguration { - s.CopyTagsToSnapshots = &v +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration { + s.AutoImportPolicy = &v return s } -// SetDataCompressionType sets the DataCompressionType field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetDataCompressionType(v string) *CreateOpenZFSVolumeConfiguration { - s.DataCompressionType = &v +// SetExportPath sets the ExportPath field's value. +func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { + s.ExportPath = &v return s } -// SetNfsExports sets the NfsExports field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetNfsExports(v []*OpenZFSNfsExport) *CreateOpenZFSVolumeConfiguration { - s.NfsExports = v +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration { + s.FailureDetails = v return s } -// SetOriginSnapshot sets the OriginSnapshot field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetOriginSnapshot(v *CreateOpenZFSOriginSnapshotConfiguration) *CreateOpenZFSVolumeConfiguration { - s.OriginSnapshot = v +// SetImportPath sets the ImportPath field's value. +func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { + s.ImportPath = &v return s } -// SetParentVolumeId sets the ParentVolumeId field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetParentVolumeId(v string) *CreateOpenZFSVolumeConfiguration { - s.ParentVolumeId = &v +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRepositoryConfiguration { + s.ImportedFileChunkSize = &v return s } -// SetReadOnly sets the ReadOnly field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetReadOnly(v bool) *CreateOpenZFSVolumeConfiguration { - s.ReadOnly = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration { + s.Lifecycle = &v return s } -// SetRecordSizeKiB sets the RecordSizeKiB field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetRecordSizeKiB(v int64) *CreateOpenZFSVolumeConfiguration { - s.RecordSizeKiB = &v - return s +// Provides detailed information about the data respository if its Lifecycle +// is set to MISCONFIGURED or FAILED. +type DataRepositoryFailureDetails struct { + _ struct{} `type:"structure"` + + // A detailed error message. + Message *string `min:"1" type:"string"` } -// SetStorageCapacityQuotaGiB sets the StorageCapacityQuotaGiB field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetStorageCapacityQuotaGiB(v int64) *CreateOpenZFSVolumeConfiguration { - s.StorageCapacityQuotaGiB = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataRepositoryFailureDetails) String() string { + return awsutil.Prettify(s) } -// SetStorageCapacityReservationGiB sets the StorageCapacityReservationGiB field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetStorageCapacityReservationGiB(v int64) *CreateOpenZFSVolumeConfiguration { - s.StorageCapacityReservationGiB = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataRepositoryFailureDetails) GoString() string { + return s.String() } -// SetUserAndGroupQuotas sets the UserAndGroupQuotas field's value. -func (s *CreateOpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUserOrGroupQuota) *CreateOpenZFSVolumeConfiguration { - s.UserAndGroupQuotas = v +// SetMessage sets the Message field's value. +func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails { + s.Message = &v return s } -type CreateSnapshotInput struct { +// A description of the data repository task. You use data repository tasks +// to perform bulk transfer operations between an Amazon FSx for Lustre file +// system and a linked data repository. An Amazon File Cache resource uses a +// task to automatically release files from the cache. +type DataRepositoryTask struct { _ struct{} `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // Specifies the amount of data to release, in GiB, by an Amazon File Cache + // AUTO_RELEASE_DATA task that automatically releases files from the cache. + CapacityToRelease *int64 `min:"1" type:"long"` - // The name of the snapshot. + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The time the system completed processing the task, populated after the task + // is complete. + EndTime *time.Time `type:"timestamp"` + + // Failure message describing why the task failed, it is populated only when + // Lifecycle is set to FAILED. + FailureDetails *DataRepositoryTaskFailureDetails `type:"structure"` + + // The system-generated, unique ID of the cache. + FileCacheId *string `min:"11" type:"string"` + + // The globally unique ID of the file system. + FileSystemId *string `min:"11" type:"string"` + + // The lifecycle status of the data repository task, as follows: + // + // * PENDING - The task has not started. + // + // * EXECUTING - The task is in process. + // + // * FAILED - The task was not able to be completed. For example, there may + // be files the task failed to process. The DataRepositoryTaskFailureDetails + // property provides more information about task failures. + // + // * SUCCEEDED - The task has completed successfully. + // + // * CANCELED - The task was canceled and it did not complete. + // + // * CANCELING - The task is in process of being canceled. + // + // You cannot delete an FSx for Lustre file system if there are data repository + // tasks for the file system in the PENDING or EXECUTING states. Please retry + // when the data repository task is finished (with a status of CANCELED, SUCCEEDED, + // or FAILED). You can use the DescribeDataRepositoryTask action to monitor + // the task status. Contact the FSx team if you need to delete your file system + // immediately. + // + // Lifecycle is a required field + Lifecycle *string `type:"string" required:"true" enum:"DataRepositoryTaskLifecycle"` + + // An array of paths that specify the data for the data repository task to process. + // For example, in an EXPORT_TO_REPOSITORY task, the paths specify which data + // to export to the linked data repository. + // + // (Default) If Paths is not specified, Amazon FSx uses the file system root + // directory. + Paths []*string `type:"list"` + + // Provides a report detailing the data repository task results of the files + // processed that match the criteria specified in the report Scope parameter. + // FSx delivers the report to the file system's linked data repository in Amazon + // S3, using the path specified in the report Path parameter. You can specify + // whether or not a report gets generated for a task using the Enabled parameter. + Report *CompletionReport `type:"structure"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` + + // The time the system began processing the task. + StartTime *time.Time `type:"timestamp"` + + // Provides the status of the number of files that the task has processed successfully + // and failed to process. + Status *DataRepositoryTaskStatus `type:"structure"` // A list of Tag values, with a maximum of 50 elements. Tags []*Tag `min:"1" type:"list"` - // The ID of the volume that you are taking a snapshot of. + // The system-generated, unique 17-digit ID of the data repository task. // - // VolumeId is a required field - VolumeId *string `min:"23" type:"string" required:"true"` + // TaskId is a required field + TaskId *string `min:"12" type:"string" required:"true"` + + // The type of data repository task. + // + // * EXPORT_TO_REPOSITORY tasks export from your Amazon FSx for Lustre file + // system to a linked data repository. + // + // * IMPORT_METADATA_FROM_REPOSITORY tasks import metadata changes from a + // linked S3 bucket to your Amazon FSx for Lustre file system. + // + // * AUTO_RELEASE_DATA tasks automatically release files from an Amazon File + // Cache resource. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"` } // String returns the string representation. @@ -8550,7 +10707,7 @@ type CreateSnapshotInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSnapshotInput) String() string { +func (s DataRepositoryTask) String() string { return awsutil.Prettify(s) } @@ -8559,153 +10716,108 @@ func (s CreateSnapshotInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSnapshotInput) GoString() string { +func (s DataRepositoryTask) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.VolumeId == nil { - invalidParams.Add(request.NewErrParamRequired("VolumeId")) - } - if s.VolumeId != nil && len(*s.VolumeId) < 23 { - invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCapacityToRelease sets the CapacityToRelease field's value. +func (s *DataRepositoryTask) SetCapacityToRelease(v int64) *DataRepositoryTask { + s.CapacityToRelease = &v + return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateSnapshotInput) SetClientRequestToken(v string) *CreateSnapshotInput { - s.ClientRequestToken = &v +// SetCreationTime sets the CreationTime field's value. +func (s *DataRepositoryTask) SetCreationTime(v time.Time) *DataRepositoryTask { + s.CreationTime = &v return s } -// SetName sets the Name field's value. -func (s *CreateSnapshotInput) SetName(v string) *CreateSnapshotInput { - s.Name = &v +// SetEndTime sets the EndTime field's value. +func (s *DataRepositoryTask) SetEndTime(v time.Time) *DataRepositoryTask { + s.EndTime = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput { - s.Tags = v +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryTask) SetFailureDetails(v *DataRepositoryTaskFailureDetails) *DataRepositoryTask { + s.FailureDetails = v return s } -// SetVolumeId sets the VolumeId field's value. -func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput { - s.VolumeId = &v +// SetFileCacheId sets the FileCacheId field's value. +func (s *DataRepositoryTask) SetFileCacheId(v string) *DataRepositoryTask { + s.FileCacheId = &v return s } -type CreateSnapshotOutput struct { - _ struct{} `type:"structure"` - - // A description of the snapshot. - Snapshot *Snapshot `type:"structure"` +// SetFileSystemId sets the FileSystemId field's value. +func (s *DataRepositoryTask) SetFileSystemId(v string) *DataRepositoryTask { + s.FileSystemId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateSnapshotOutput) String() string { - return awsutil.Prettify(s) +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryTask) SetLifecycle(v string) *DataRepositoryTask { + s.Lifecycle = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CreateSnapshotOutput) GoString() string { - return s.String() +// SetPaths sets the Paths field's value. +func (s *DataRepositoryTask) SetPaths(v []*string) *DataRepositoryTask { + s.Paths = v + return s } -// SetSnapshot sets the Snapshot field's value. -func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { - s.Snapshot = v +// SetReport sets the Report field's value. +func (s *DataRepositoryTask) SetReport(v *CompletionReport) *DataRepositoryTask { + s.Report = v return s } -type CreateStorageVirtualMachineInput struct { - _ struct{} `type:"structure"` +// SetResourceARN sets the ResourceARN field's value. +func (s *DataRepositoryTask) SetResourceARN(v string) *DataRepositoryTask { + s.ResourceARN = &v + return s +} - // Describes the self-managed Microsoft Active Directory to which you want to - // join the SVM. Joining an Active Directory provides user authentication and - // access control for SMB clients, including Microsoft Windows and macOS client - // accessing the file system. - ActiveDirectoryConfiguration *CreateSvmActiveDirectoryConfiguration `type:"structure"` +// SetStartTime sets the StartTime field's value. +func (s *DataRepositoryTask) SetStartTime(v time.Time) *DataRepositoryTask { + s.StartTime = &v + return s +} - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` +// SetStatus sets the Status field's value. +func (s *DataRepositoryTask) SetStatus(v *DataRepositoryTaskStatus) *DataRepositoryTask { + s.Status = v + return s +} - // The globally unique ID of the file system, assigned by Amazon FSx. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` +// SetTags sets the Tags field's value. +func (s *DataRepositoryTask) SetTags(v []*Tag) *DataRepositoryTask { + s.Tags = v + return s +} - // The name of the SVM. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +// SetTaskId sets the TaskId field's value. +func (s *DataRepositoryTask) SetTaskId(v string) *DataRepositoryTask { + s.TaskId = &v + return s +} - // The security style of the root volume of the SVM. Specify one of the following - // values: - // - // * UNIX if the file system is managed by a UNIX administrator, the majority - // of users are NFS clients, and an application accessing the data uses a - // UNIX user as the service account. - // - // * NTFS if the file system is managed by a Windows administrator, the majority - // of users are SMB clients, and an application accessing the data uses a - // Windows user as the service account. - // - // * MIXED if the file system is managed by both UNIX and Windows administrators - // and users consist of both NFS and SMB clients. - RootVolumeSecurityStyle *string `type:"string" enum:"StorageVirtualMachineRootVolumeSecurityStyle"` +// SetType sets the Type field's value. +func (s *DataRepositoryTask) SetType(v string) *DataRepositoryTask { + s.Type = &v + return s +} - // The password to use when managing the SVM using the NetApp ONTAP CLI or REST - // API. If you do not specify a password, you can still use the file system's - // fsxadmin user to manage the SVM. - // - // SvmAdminPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateStorageVirtualMachineInput's - // String and GoString methods. - SvmAdminPassword *string `min:"8" type:"string" sensitive:"true"` +// The data repository task could not be canceled because the task has already +// ended. +type DataRepositoryTaskEnded struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -8713,7 +10825,7 @@ type CreateStorageVirtualMachineInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStorageVirtualMachineInput) String() string { +func (s DataRepositoryTaskEnded) String() string { return awsutil.Prettify(s) } @@ -8722,104 +10834,56 @@ func (s CreateStorageVirtualMachineInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStorageVirtualMachineInput) GoString() string { +func (s DataRepositoryTaskEnded) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStorageVirtualMachineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStorageVirtualMachineInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) - } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.SvmAdminPassword != nil && len(*s.SvmAdminPassword) < 8 { - invalidParams.Add(request.NewErrParamMinLen("SvmAdminPassword", 8)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.ActiveDirectoryConfiguration != nil { - if err := s.ActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorDataRepositoryTaskEnded(v protocol.ResponseMetadata) error { + return &DataRepositoryTaskEnded{ + RespMetadata: v, } - return nil -} - -// SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value. -func (s *CreateStorageVirtualMachineInput) SetActiveDirectoryConfiguration(v *CreateSvmActiveDirectoryConfiguration) *CreateStorageVirtualMachineInput { - s.ActiveDirectoryConfiguration = v - return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateStorageVirtualMachineInput) SetClientRequestToken(v string) *CreateStorageVirtualMachineInput { - s.ClientRequestToken = &v - return s +// Code returns the exception type name. +func (s *DataRepositoryTaskEnded) Code() string { + return "DataRepositoryTaskEnded" } -// SetFileSystemId sets the FileSystemId field's value. -func (s *CreateStorageVirtualMachineInput) SetFileSystemId(v string) *CreateStorageVirtualMachineInput { - s.FileSystemId = &v - return s +// Message returns the exception's message. +func (s *DataRepositoryTaskEnded) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetName sets the Name field's value. -func (s *CreateStorageVirtualMachineInput) SetName(v string) *CreateStorageVirtualMachineInput { - s.Name = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryTaskEnded) OrigErr() error { + return nil } -// SetRootVolumeSecurityStyle sets the RootVolumeSecurityStyle field's value. -func (s *CreateStorageVirtualMachineInput) SetRootVolumeSecurityStyle(v string) *CreateStorageVirtualMachineInput { - s.RootVolumeSecurityStyle = &v - return s +func (s *DataRepositoryTaskEnded) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSvmAdminPassword sets the SvmAdminPassword field's value. -func (s *CreateStorageVirtualMachineInput) SetSvmAdminPassword(v string) *CreateStorageVirtualMachineInput { - s.SvmAdminPassword = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryTaskEnded) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTags sets the Tags field's value. -func (s *CreateStorageVirtualMachineInput) SetTags(v []*Tag) *CreateStorageVirtualMachineInput { - s.Tags = v - return s +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryTaskEnded) RequestID() string { + return s.RespMetadata.RequestID } -type CreateStorageVirtualMachineOutput struct { - _ struct{} `type:"structure"` +// An existing data repository task is currently executing on the file system. +// Wait until the existing task has completed, then create the new task. +type DataRepositoryTaskExecuting struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Returned after a successful CreateStorageVirtualMachine operation; describes - // the SVM just created. - StorageVirtualMachine *StorageVirtualMachine `type:"structure"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -8827,7 +10891,7 @@ type CreateStorageVirtualMachineOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStorageVirtualMachineOutput) String() string { +func (s DataRepositoryTaskExecuting) String() string { return awsutil.Prettify(s) } @@ -8836,34 +10900,55 @@ func (s CreateStorageVirtualMachineOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateStorageVirtualMachineOutput) GoString() string { +func (s DataRepositoryTaskExecuting) GoString() string { return s.String() } -// SetStorageVirtualMachine sets the StorageVirtualMachine field's value. -func (s *CreateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageVirtualMachine) *CreateStorageVirtualMachineOutput { - s.StorageVirtualMachine = v - return s +func newErrorDataRepositoryTaskExecuting(v protocol.ResponseMetadata) error { + return &DataRepositoryTaskExecuting{ + RespMetadata: v, + } } -// The configuration that Amazon FSx uses to join the ONTAP storage virtual -// machine (SVM) to your self-managed (including on-premises) Microsoft Active -// Directory (AD) directory. -type CreateSvmActiveDirectoryConfiguration struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *DataRepositoryTaskExecuting) Code() string { + return "DataRepositoryTaskExecuting" +} - // The NetBIOS name of the Active Directory computer object that will be created - // for your SVM. - // - // NetBiosName is a required field - NetBiosName *string `min:"1" type:"string" required:"true"` +// Message returns the exception's message. +func (s *DataRepositoryTaskExecuting) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The configuration that Amazon FSx uses to join a FSx for Windows File Server - // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including - // on-premises) Microsoft Active Directory (AD) directory. For more information, - // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) - // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). - SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryTaskExecuting) OrigErr() error { + return nil +} + +func (s *DataRepositoryTaskExecuting) 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 *DataRepositoryTaskExecuting) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryTaskExecuting) RequestID() string { + return s.RespMetadata.RequestID +} + +// Provides information about why a data repository task failed. Only populated +// when the task Lifecycle is set to FAILED. +type DataRepositoryTaskFailureDetails struct { + _ struct{} `type:"structure"` + + // A detailed error message. + Message *string `min:"1" type:"string"` } // String returns the string representation. @@ -8871,7 +10956,7 @@ type CreateSvmActiveDirectoryConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSvmActiveDirectoryConfiguration) String() string { +func (s DataRepositoryTaskFailureDetails) String() string { return awsutil.Prettify(s) } @@ -8880,66 +10965,37 @@ func (s CreateSvmActiveDirectoryConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateSvmActiveDirectoryConfiguration) GoString() string { +func (s DataRepositoryTaskFailureDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSvmActiveDirectoryConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSvmActiveDirectoryConfiguration"} - if s.NetBiosName == nil { - invalidParams.Add(request.NewErrParamRequired("NetBiosName")) - } - if s.NetBiosName != nil && len(*s.NetBiosName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NetBiosName", 1)) - } - if s.SelfManagedActiveDirectoryConfiguration != nil { - if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetNetBiosName sets the NetBiosName field's value. -func (s *CreateSvmActiveDirectoryConfiguration) SetNetBiosName(v string) *CreateSvmActiveDirectoryConfiguration { - s.NetBiosName = &v - return s -} - -// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. -func (s *CreateSvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateSvmActiveDirectoryConfiguration { - s.SelfManagedActiveDirectoryConfiguration = v +// SetMessage sets the Message field's value. +func (s *DataRepositoryTaskFailureDetails) SetMessage(v string) *DataRepositoryTaskFailureDetails { + s.Message = &v return s } -type CreateVolumeFromBackupInput struct { +// (Optional) An array of filter objects you can use to filter the response +// of data repository tasks you will see in the the response. You can filter +// the tasks returned in the response by one or more file system IDs, task lifecycles, +// and by task type. A filter object consists of a filter Name, and one or more +// Values for the filter. +type DataRepositoryTaskFilter struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup that you are copying. + // Name of the task property to use in filtering the tasks returned in the response. // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` - - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - - // The name of the new volume you're creating. + // * Use file-system-id to retrieve data repository tasks for specific file + // systems. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // Specifies the configuration of the ONTAP volume that you are creating. - OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` + // * Use task-lifecycle to retrieve data repository tasks with one or more + // specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, + // and SUCCEEDED. + Name *string `type:"string" enum:"DataRepositoryTaskFilterName"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // Use Values to include the specific file system IDs and task lifecycle states + // for the filters you are using. + Values []*string `type:"list"` } // String returns the string representation. @@ -8947,7 +11003,7 @@ type CreateVolumeFromBackupInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeFromBackupInput) String() string { +func (s DataRepositoryTaskFilter) String() string { return awsutil.Prettify(s) } @@ -8956,89 +11012,29 @@ func (s CreateVolumeFromBackupInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeFromBackupInput) GoString() string { +func (s DataRepositoryTaskFilter) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVolumeFromBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVolumeFromBackupInput"} - if s.BackupId == nil { - invalidParams.Add(request.NewErrParamRequired("BackupId")) - } - if s.BackupId != nil && len(*s.BackupId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBackupId sets the BackupId field's value. -func (s *CreateVolumeFromBackupInput) SetBackupId(v string) *CreateVolumeFromBackupInput { - s.BackupId = &v - return s -} - -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateVolumeFromBackupInput) SetClientRequestToken(v string) *CreateVolumeFromBackupInput { - s.ClientRequestToken = &v - return s -} - // SetName sets the Name field's value. -func (s *CreateVolumeFromBackupInput) SetName(v string) *CreateVolumeFromBackupInput { +func (s *DataRepositoryTaskFilter) SetName(v string) *DataRepositoryTaskFilter { s.Name = &v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *CreateVolumeFromBackupInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeFromBackupInput { - s.OntapConfiguration = v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateVolumeFromBackupInput) SetTags(v []*Tag) *CreateVolumeFromBackupInput { - s.Tags = v +// SetValues sets the Values field's value. +func (s *DataRepositoryTaskFilter) SetValues(v []*string) *DataRepositoryTaskFilter { + s.Values = v return s } -type CreateVolumeFromBackupOutput struct { - _ struct{} `type:"structure"` +// The data repository task or tasks you specified could not be found. +type DataRepositoryTaskNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Returned after a successful CreateVolumeFromBackup API operation, describing - // the volume just created. - Volume *Volume `type:"structure"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -9046,7 +11042,7 @@ type CreateVolumeFromBackupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeFromBackupOutput) String() string { +func (s DataRepositoryTaskNotFound) String() string { return awsutil.Prettify(s) } @@ -9055,43 +11051,71 @@ func (s CreateVolumeFromBackupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeFromBackupOutput) GoString() string { +func (s DataRepositoryTaskNotFound) GoString() string { return s.String() } -// SetVolume sets the Volume field's value. -func (s *CreateVolumeFromBackupOutput) SetVolume(v *Volume) *CreateVolumeFromBackupOutput { - s.Volume = v - return s +func newErrorDataRepositoryTaskNotFound(v protocol.ResponseMetadata) error { + return &DataRepositoryTaskNotFound{ + RespMetadata: v, + } } -type CreateVolumeInput struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *DataRepositoryTaskNotFound) Code() string { + return "DataRepositoryTaskNotFound" +} - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` +// Message returns the exception's message. +func (s *DataRepositoryTaskNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // Specifies the name of the volume that you're creating. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryTaskNotFound) OrigErr() error { + return nil +} - // Specifies the configuration to use when creating the ONTAP volume. - OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` +func (s *DataRepositoryTaskNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // Specifies the configuration to use when creating the OpenZFS volume. - OpenZFSConfiguration *CreateOpenZFSVolumeConfiguration `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryTaskNotFound) StatusCode() int { + return s.RespMetadata.StatusCode +} - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryTaskNotFound) RequestID() string { + return s.RespMetadata.RequestID +} - // Specifies the type of volume to create; ONTAP and OPENZFS are the only valid - // volume types. - // - // VolumeType is a required field - VolumeType *string `type:"string" required:"true" enum:"VolumeType"` +// Provides the task status showing a running total of the total number of files +// to be processed, the number successfully processed, and the number of files +// the task failed to process. +type DataRepositoryTaskStatus struct { + _ struct{} `type:"structure"` + + // A running total of the number of files that the task failed to process. + FailedCount *int64 `type:"long"` + + // The time at which the task status was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The total amount of data, in GiB, released by an Amazon File Cache AUTO_RELEASE_DATA + // task that automatically releases files from the cache. + ReleasedCapacity *int64 `type:"long"` + + // A running total of the number of files that the task has successfully processed. + SucceededCount *int64 `type:"long"` + + // The total number of files that the task will process. While a task is executing, + // the sum of SucceededCount plus FailedCount may not equal TotalCount. When + // the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount. + TotalCount *int64 `type:"long"` } // String returns the string representation. @@ -9099,7 +11123,7 @@ type CreateVolumeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeInput) String() string { +func (s DataRepositoryTaskStatus) String() string { return awsutil.Prettify(s) } @@ -9108,97 +11132,53 @@ func (s CreateVolumeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeInput) GoString() string { +func (s DataRepositoryTaskStatus) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVolumeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.VolumeType == nil { - invalidParams.Add(request.NewErrParamRequired("VolumeType")) - } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.OpenZFSConfiguration != nil { - if err := s.OpenZFSConfiguration.Validate(); err != nil { - invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateVolumeInput) SetClientRequestToken(v string) *CreateVolumeInput { - s.ClientRequestToken = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateVolumeInput) SetName(v string) *CreateVolumeInput { - s.Name = &v +// SetFailedCount sets the FailedCount field's value. +func (s *DataRepositoryTaskStatus) SetFailedCount(v int64) *DataRepositoryTaskStatus { + s.FailedCount = &v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *CreateVolumeInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeInput { - s.OntapConfiguration = v +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataRepositoryTaskStatus) SetLastUpdatedTime(v time.Time) *DataRepositoryTaskStatus { + s.LastUpdatedTime = &v return s } -// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. -func (s *CreateVolumeInput) SetOpenZFSConfiguration(v *CreateOpenZFSVolumeConfiguration) *CreateVolumeInput { - s.OpenZFSConfiguration = v +// SetReleasedCapacity sets the ReleasedCapacity field's value. +func (s *DataRepositoryTaskStatus) SetReleasedCapacity(v int64) *DataRepositoryTaskStatus { + s.ReleasedCapacity = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateVolumeInput) SetTags(v []*Tag) *CreateVolumeInput { - s.Tags = v +// SetSucceededCount sets the SucceededCount field's value. +func (s *DataRepositoryTaskStatus) SetSucceededCount(v int64) *DataRepositoryTaskStatus { + s.SucceededCount = &v return s } -// SetVolumeType sets the VolumeType field's value. -func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput { - s.VolumeType = &v +// SetTotalCount sets the TotalCount field's value. +func (s *DataRepositoryTaskStatus) SetTotalCount(v int64) *DataRepositoryTaskStatus { + s.TotalCount = &v return s } -type CreateVolumeOutput struct { +// The request object for the DeleteBackup operation. +type DeleteBackupInput struct { _ struct{} `type:"structure"` - // Returned after a successful CreateVolume API operation, describing the volume - // just created. - Volume *Volume `type:"structure"` + // The ID of the backup that you want to delete. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // deletion. This parameter is automatically filled on your behalf when using + // the CLI or SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` } // String returns the string representation. @@ -9206,7 +11186,7 @@ type CreateVolumeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeOutput) String() string { +func (s DeleteBackupInput) String() string { return awsutil.Prettify(s) } @@ -9215,120 +11195,51 @@ func (s CreateVolumeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateVolumeOutput) GoString() string { +func (s DeleteBackupInput) GoString() string { return s.String() } -// SetVolume sets the Volume field's value. -func (s *CreateVolumeOutput) SetVolume(v *Volume) *CreateVolumeOutput { - s.Volume = v - return s -} - -// The configuration of a data repository association that links an Amazon FSx -// for Lustre file system to an Amazon S3 bucket. The data repository association -// configuration object is returned in the response of the following operations: -// -// - CreateDataRepositoryAssociation -// -// - UpdateDataRepositoryAssociation -// -// - DescribeDataRepositoryAssociations -// -// Data repository associations are supported only for file systems with the -// Persistent_2 deployment type. -type DataRepositoryAssociation struct { - _ struct{} `type:"structure"` - - // The system-generated, unique ID of the data repository association. - AssociationId *string `min:"13" type:"string"` - - // A boolean flag indicating whether an import data repository task to import - // metadata should run after the data repository association is created. The - // task runs if this flag is set to true. - BatchImportMetaDataOnCreate *bool `type:"boolean"` - - // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), - // also known as Unix time. - CreationTime *time.Time `type:"timestamp"` - - // The path to the Amazon S3 data repository that will be linked to the file - // system. The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. - // This path specifies where in the S3 data repository files will be imported - // from or exported to. - DataRepositoryPath *string `min:"3" type:"string"` - - // Provides detailed information about the data respository if its Lifecycle - // is set to MISCONFIGURED or FAILED. - FailureDetails *DataRepositoryFailureDetails `type:"structure"` - - // The globally unique ID of the file system, assigned by Amazon FSx. - FileSystemId *string `min:"11" type:"string"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) + } + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } - // A path on the file system that points to a high-level directory (such as - // /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with - // DataRepositoryPath. The leading forward slash in the name is required. Two - // data repository associations cannot have overlapping file system paths. For - // example, if a data repository is associated with file system path /ns1/, - // then you cannot link another data repository with file system path /ns1/ns2. - // - // This path specifies where in your file system files will be exported from - // or imported to. This file system directory can be linked to only one Amazon - // S3 bucket, and no other S3 bucket can be linked to the directory. - // - // If you specify only a forward slash (/) as the file system path, you can - // link only 1 data repository to the file system. You can only specify "/" - // as the file system path for the first data repository associated with a file - // system. - FileSystemPath *string `min:"1" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // For files imported from a data repository, this value determines the stripe - // count and maximum amount of data per file (in MiB) stored on a single physical - // disk. The maximum number of disks that a single file can be striped across - // is limited by the total number of disks that make up the file system. - // - // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 - // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. - ImportedFileChunkSize *int64 `min:"1" type:"integer"` +// SetBackupId sets the BackupId field's value. +func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput { + s.BackupId = &v + return s +} - // Describes the state of a data repository association. The lifecycle can have - // the following values: - // - // * CREATING - The data repository association between the FSx file system - // and the S3 data repository is being created. The data repository is unavailable. - // - // * AVAILABLE - The data repository association is available for use. - // - // * MISCONFIGURED - Amazon FSx cannot automatically import updates from - // the S3 bucket or automatically export updates to the S3 bucket until the - // data repository association configuration is corrected. - // - // * UPDATING - The data repository association is undergoing a customer - // initiated update that might affect its availability. - // - // * DELETING - The data repository association is undergoing a customer - // initiated deletion. - // - // * FAILED - The data repository association is in a terminal state that - // cannot be recovered. - Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteBackupInput) SetClientRequestToken(v string) *DeleteBackupInput { + s.ClientRequestToken = &v + return s +} - // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify - // Amazon Web Services resources. We require an ARN when you need to specify - // a resource unambiguously across all of Amazon Web Services. For more information, - // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the Amazon Web Services General Reference. - ResourceARN *string `min:"8" type:"string"` +// The response object for the DeleteBackup operation. +type DeleteBackupOutput struct { + _ struct{} `type:"structure"` - // The configuration for an Amazon S3 data repository linked to an Amazon FSx - // Lustre file system with a data repository association. The configuration - // defines which file events (new, changed, or deleted files or directories) - // are automatically imported from the linked data repository to the file system - // or automatically exported from the file system to the data repository. - S3 *S3DataRepositoryConfiguration `type:"structure"` + // The ID of the backup that was deleted. + BackupId *string `min:"12" type:"string"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // The lifecycle status of the backup. If the DeleteBackup operation is successful, + // the status is DELETED. + Lifecycle *string `type:"string" enum:"BackupLifecycle"` } // String returns the string representation. @@ -9336,7 +11247,7 @@ type DataRepositoryAssociation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryAssociation) String() string { +func (s DeleteBackupOutput) String() string { return awsutil.Prettify(s) } @@ -9345,89 +11256,107 @@ func (s DataRepositoryAssociation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryAssociation) GoString() string { +func (s DeleteBackupOutput) GoString() string { return s.String() } -// SetAssociationId sets the AssociationId field's value. -func (s *DataRepositoryAssociation) SetAssociationId(v string) *DataRepositoryAssociation { - s.AssociationId = &v +// SetBackupId sets the BackupId field's value. +func (s *DeleteBackupOutput) SetBackupId(v string) *DeleteBackupOutput { + s.BackupId = &v return s } -// SetBatchImportMetaDataOnCreate sets the BatchImportMetaDataOnCreate field's value. -func (s *DataRepositoryAssociation) SetBatchImportMetaDataOnCreate(v bool) *DataRepositoryAssociation { - s.BatchImportMetaDataOnCreate = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput { + s.Lifecycle = &v return s } -// SetCreationTime sets the CreationTime field's value. -func (s *DataRepositoryAssociation) SetCreationTime(v time.Time) *DataRepositoryAssociation { - s.CreationTime = &v - return s -} +type DeleteDataRepositoryAssociationInput struct { + _ struct{} `type:"structure"` -// SetDataRepositoryPath sets the DataRepositoryPath field's value. -func (s *DataRepositoryAssociation) SetDataRepositoryPath(v string) *DataRepositoryAssociation { - s.DataRepositoryPath = &v - return s -} + // The ID of the data repository association that you want to delete. + // + // AssociationId is a required field + AssociationId *string `min:"13" type:"string" required:"true"` -// SetFailureDetails sets the FailureDetails field's value. -func (s *DataRepositoryAssociation) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryAssociation { - s.FailureDetails = v - return s -} + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` -// SetFileSystemId sets the FileSystemId field's value. -func (s *DataRepositoryAssociation) SetFileSystemId(v string) *DataRepositoryAssociation { - s.FileSystemId = &v - return s + // Set to true to delete the data in the file system that corresponds to the + // data repository association. + DeleteDataInFileSystem *bool `type:"boolean"` } -// SetFileSystemPath sets the FileSystemPath field's value. -func (s *DataRepositoryAssociation) SetFileSystemPath(v string) *DataRepositoryAssociation { - s.FileSystemPath = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteDataRepositoryAssociationInput) String() string { + return awsutil.Prettify(s) } -// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. -func (s *DataRepositoryAssociation) SetImportedFileChunkSize(v int64) *DataRepositoryAssociation { - s.ImportedFileChunkSize = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteDataRepositoryAssociationInput) GoString() string { + return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *DataRepositoryAssociation) SetLifecycle(v string) *DataRepositoryAssociation { - s.Lifecycle = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataRepositoryAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataRepositoryAssociationInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + if s.AssociationId != nil && len(*s.AssociationId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssociationId", 13)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetResourceARN sets the ResourceARN field's value. -func (s *DataRepositoryAssociation) SetResourceARN(v string) *DataRepositoryAssociation { - s.ResourceARN = &v +// SetAssociationId sets the AssociationId field's value. +func (s *DeleteDataRepositoryAssociationInput) SetAssociationId(v string) *DeleteDataRepositoryAssociationInput { + s.AssociationId = &v return s } -// SetS3 sets the S3 field's value. -func (s *DataRepositoryAssociation) SetS3(v *S3DataRepositoryConfiguration) *DataRepositoryAssociation { - s.S3 = v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteDataRepositoryAssociationInput) SetClientRequestToken(v string) *DeleteDataRepositoryAssociationInput { + s.ClientRequestToken = &v return s } -// SetTags sets the Tags field's value. -func (s *DataRepositoryAssociation) SetTags(v []*Tag) *DataRepositoryAssociation { - s.Tags = v +// SetDeleteDataInFileSystem sets the DeleteDataInFileSystem field's value. +func (s *DeleteDataRepositoryAssociationInput) SetDeleteDataInFileSystem(v bool) *DeleteDataRepositoryAssociationInput { + s.DeleteDataInFileSystem = &v return s } -// No data repository associations were found based upon the supplied parameters. -type DataRepositoryAssociationNotFound struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteDataRepositoryAssociationOutput struct { + _ struct{} `type:"structure"` + + // The ID of the data repository association being deleted. + AssociationId *string `min:"13" type:"string"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // Indicates whether data in the file system that corresponds to the data repository + // association is being deleted. Default is false. + DeleteDataInFileSystem *bool `type:"boolean"` + + // Describes the lifecycle state of the data repository association being deleted. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` } // String returns the string representation. @@ -9435,7 +11364,7 @@ type DataRepositoryAssociationNotFound struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryAssociationNotFound) String() string { +func (s DeleteDataRepositoryAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -9444,125 +11373,40 @@ func (s DataRepositoryAssociationNotFound) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryAssociationNotFound) GoString() string { +func (s DeleteDataRepositoryAssociationOutput) GoString() string { return s.String() } -func newErrorDataRepositoryAssociationNotFound(v protocol.ResponseMetadata) error { - return &DataRepositoryAssociationNotFound{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *DataRepositoryAssociationNotFound) Code() string { - return "DataRepositoryAssociationNotFound" -} - -// Message returns the exception's message. -func (s *DataRepositoryAssociationNotFound) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryAssociationNotFound) OrigErr() error { - return nil -} - -func (s *DataRepositoryAssociationNotFound) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetAssociationId sets the AssociationId field's value. +func (s *DeleteDataRepositoryAssociationOutput) SetAssociationId(v string) *DeleteDataRepositoryAssociationOutput { + s.AssociationId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DataRepositoryAssociationNotFound) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDeleteDataInFileSystem sets the DeleteDataInFileSystem field's value. +func (s *DeleteDataRepositoryAssociationOutput) SetDeleteDataInFileSystem(v bool) *DeleteDataRepositoryAssociationOutput { + s.DeleteDataInFileSystem = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryAssociationNotFound) RequestID() string { - return s.RespMetadata.RequestID +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteDataRepositoryAssociationOutput) SetLifecycle(v string) *DeleteDataRepositoryAssociationOutput { + s.Lifecycle = &v + return s } -// The data repository configuration object for Lustre file systems returned -// in the response of the CreateFileSystem operation. -// -// This data type is not supported for file systems with the Persistent_2 deployment -// type. Instead, use . -type DataRepositoryConfiguration struct { +type DeleteFileCacheInput struct { _ struct{} `type:"structure"` - // Describes the file system's linked S3 data repository's AutoImportPolicy. - // The AutoImportPolicy configures how Amazon FSx keeps your file and directory - // listings up to date as you add or modify objects in your linked S3 bucket. - // AutoImportPolicy can have the following values: - // - // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and - // directory listings from the linked S3 bucket when the file system is created. - // FSx does not update file and directory listings for any new or changed - // objects after choosing this option. - // - // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings - // of any new objects added to the linked S3 bucket that do not currently - // exist in the FSx file system. - // - // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file - // and directory listings of any new objects added to the S3 bucket and any - // existing objects that are changed in the S3 bucket after you choose this - // option. - // - // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports - // file and directory listings of any new objects added to the S3 bucket, - // any existing objects that are changed in the S3 bucket, and any objects - // that were deleted in the S3 bucket. - AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - - // The export path to the Amazon S3 bucket (and prefix) that you are using to - // store new and changed Lustre file system files in S3. - ExportPath *string `min:"3" type:"string"` - - // Provides detailed information about the data respository if its Lifecycle - // is set to MISCONFIGURED or FAILED. - FailureDetails *DataRepositoryFailureDetails `type:"structure"` - - // The import path to the Amazon S3 bucket (and optional prefix) that you're - // using as the data repository for your FSx for Lustre file system, for example - // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon - // S3 bucket name, only object keys with that prefix are loaded into the file - // system. - ImportPath *string `min:"3" type:"string"` - - // For files imported from a data repository, this value determines the stripe - // count and maximum amount of data per file (in MiB) stored on a single physical - // disk. The maximum number of disks that a single file can be striped across - // is limited by the total number of disks that make up the file system. - // - // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 - // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. - ImportedFileChunkSize *int64 `min:"1" type:"integer"` + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Describes the state of the file system's S3 durable data repository, if it - // is configured with an S3 repository. The lifecycle can have the following - // values: - // - // * CREATING - The data repository configuration between the FSx file system - // and the linked S3 data repository is being created. The data repository - // is unavailable. - // - // * AVAILABLE - The data repository is available for use. - // - // * MISCONFIGURED - Amazon FSx cannot automatically import updates from - // the S3 bucket until the data repository configuration is corrected. For - // more information, see Troubleshooting a Misconfigured linked S3 bucket - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository). + // The ID of the cache that's being deleted. // - // * UPDATING - The data repository is undergoing a customer initiated update - // and availability may be impacted. - // - // * FAILED - The data repository is in a terminal state that cannot be recovered. - Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` + // FileCacheId is a required field + FileCacheId *string `min:"11" type:"string" required:"true"` } // String returns the string representation. @@ -9570,7 +11414,7 @@ type DataRepositoryConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryConfiguration) String() string { +func (s DeleteFileCacheInput) String() string { return awsutil.Prettify(s) } @@ -9579,53 +11423,50 @@ func (s DataRepositoryConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryConfiguration) GoString() string { +func (s DeleteFileCacheInput) GoString() string { return s.String() } -// SetAutoImportPolicy sets the AutoImportPolicy field's value. -func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration { - s.AutoImportPolicy = &v - return s -} - -// SetExportPath sets the ExportPath field's value. -func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { - s.ExportPath = &v - return s -} - -// SetFailureDetails sets the FailureDetails field's value. -func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration { - s.FailureDetails = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileCacheInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileCacheId == nil { + invalidParams.Add(request.NewErrParamRequired("FileCacheId")) + } + if s.FileCacheId != nil && len(*s.FileCacheId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileCacheId", 11)) + } -// SetImportPath sets the ImportPath field's value. -func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { - s.ImportPath = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. -func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRepositoryConfiguration { - s.ImportedFileChunkSize = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteFileCacheInput) SetClientRequestToken(v string) *DeleteFileCacheInput { + s.ClientRequestToken = &v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration { - s.Lifecycle = &v +// SetFileCacheId sets the FileCacheId field's value. +func (s *DeleteFileCacheInput) SetFileCacheId(v string) *DeleteFileCacheInput { + s.FileCacheId = &v return s } -// Provides detailed information about the data respository if its Lifecycle -// is set to MISCONFIGURED or FAILED. -type DataRepositoryFailureDetails struct { +type DeleteFileCacheOutput struct { _ struct{} `type:"structure"` - // A detailed error message. - Message *string `min:"1" type:"string"` + // The ID of the cache that's being deleted. + FileCacheId *string `min:"11" type:"string"` + + // The cache lifecycle for the deletion request. If the DeleteFileCache operation + // is successful, this status is DELETING. + Lifecycle *string `type:"string" enum:"FileCacheLifecycle"` } // String returns the string representation. @@ -9633,7 +11474,7 @@ type DataRepositoryFailureDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryFailureDetails) String() string { +func (s DeleteFileCacheOutput) String() string { return awsutil.Prettify(s) } @@ -9642,114 +11483,47 @@ func (s DataRepositoryFailureDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryFailureDetails) GoString() string { +func (s DeleteFileCacheOutput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails { - s.Message = &v +// SetFileCacheId sets the FileCacheId field's value. +func (s *DeleteFileCacheOutput) SetFileCacheId(v string) *DeleteFileCacheOutput { + s.FileCacheId = &v return s } -// A description of the data repository task. You use data repository tasks -// to perform bulk transfer operations between your Amazon FSx file system and -// a linked data repository. -type DataRepositoryTask struct { - _ struct{} `type:"structure"` - - // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), - // also known as Unix time. - // - // CreationTime is a required field - CreationTime *time.Time `type:"timestamp" required:"true"` - - // The time that Amazon FSx completed processing the task, populated after the - // task is complete. - EndTime *time.Time `type:"timestamp"` - - // Failure message describing why the task failed, it is populated only when - // Lifecycle is set to FAILED. - FailureDetails *DataRepositoryTaskFailureDetails `type:"structure"` - - // The globally unique ID of the file system, assigned by Amazon FSx. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` - - // The lifecycle status of the data repository task, as follows: - // - // * PENDING - Amazon FSx has not started the task. - // - // * EXECUTING - Amazon FSx is processing the task. - // - // * FAILED - Amazon FSx was not able to complete the task. For example, - // there may be files the task failed to process. The DataRepositoryTaskFailureDetails - // property provides more information about task failures. - // - // * SUCCEEDED - FSx completed the task successfully. - // - // * CANCELED - Amazon FSx canceled the task and it did not complete. - // - // * CANCELING - FSx is in process of canceling the task. - // - // You cannot delete an FSx for Lustre file system if there are data repository - // tasks for the file system in the PENDING or EXECUTING states. Please retry - // when the data repository task is finished (with a status of CANCELED, SUCCEEDED, - // or FAILED). You can use the DescribeDataRepositoryTask action to monitor - // the task status. Contact the FSx team if you need to delete your file system - // immediately. - // - // Lifecycle is a required field - Lifecycle *string `type:"string" required:"true" enum:"DataRepositoryTaskLifecycle"` - - // An array of paths on the Amazon FSx for Lustre file system that specify the - // data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY - // task, the paths specify which data to export to the linked data repository. - // - // (Default) If Paths is not specified, Amazon FSx uses the file system root - // directory. - Paths []*string `type:"list"` - - // Provides a report detailing the data repository task results of the files - // processed that match the criteria specified in the report Scope parameter. - // FSx delivers the report to the file system's linked data repository in Amazon - // S3, using the path specified in the report Path parameter. You can specify - // whether or not a report gets generated for a task using the Enabled parameter. - Report *CompletionReport `type:"structure"` +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteFileCacheOutput) SetLifecycle(v string) *DeleteFileCacheOutput { + s.Lifecycle = &v + return s +} - // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify - // Amazon Web Services resources. We require an ARN when you need to specify - // a resource unambiguously across all of Amazon Web Services. For more information, - // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the Amazon Web Services General Reference. - ResourceARN *string `min:"8" type:"string"` +// The request object for DeleteFileSystem operation. +type DeleteFileSystemInput struct { + _ struct{} `type:"structure"` - // The time that Amazon FSx began processing the task. - StartTime *time.Time `type:"timestamp"` + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // deletion. This token is automatically filled on your behalf when using the + // Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Provides the status of the number of files that the task has processed successfully - // and failed to process. - Status *DataRepositoryTaskStatus `type:"structure"` + // The ID of the file system that you want to delete. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // The configuration object for the Amazon FSx for Lustre file system being + // deleted in the DeleteFileSystem operation. + LustreConfiguration *DeleteFileSystemLustreConfiguration `type:"structure"` - // The system-generated, unique 17-digit ID of the data repository task. - // - // TaskId is a required field - TaskId *string `min:"12" type:"string" required:"true"` + // The configuration object for the OpenZFS file system used in the DeleteFileSystem + // operation. + OpenZFSConfiguration *DeleteFileSystemOpenZFSConfiguration `type:"structure"` - // The type of data repository task. - // - // * The EXPORT_TO_REPOSITORY data repository task exports from your Lustre - // file system from to a linked S3 bucket. - // - // * The IMPORT_METADATA_FROM_REPOSITORY data repository task imports metadata - // changes from a linked S3 bucket to your Lustre file system. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"` + // The configuration object for the Microsoft Windows file system used in the + // DeleteFileSystem operation. + WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"` } // String returns the string representation. @@ -9757,7 +11531,7 @@ type DataRepositoryTask struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTask) String() string { +func (s DeleteFileSystemInput) String() string { return awsutil.Prettify(s) } @@ -9766,96 +11540,158 @@ func (s DataRepositoryTask) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTask) GoString() string { +func (s DeleteFileSystemInput) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *DataRepositoryTask) SetCreationTime(v time.Time) *DataRepositoryTask { - s.CreationTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } -// SetEndTime sets the EndTime field's value. -func (s *DataRepositoryTask) SetEndTime(v time.Time) *DataRepositoryTask { - s.EndTime = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFailureDetails sets the FailureDetails field's value. -func (s *DataRepositoryTask) SetFailureDetails(v *DataRepositoryTaskFailureDetails) *DataRepositoryTask { - s.FailureDetails = v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteFileSystemInput) SetClientRequestToken(v string) *DeleteFileSystemInput { + s.ClientRequestToken = &v return s } // SetFileSystemId sets the FileSystemId field's value. -func (s *DataRepositoryTask) SetFileSystemId(v string) *DataRepositoryTask { +func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput { s.FileSystemId = &v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DataRepositoryTask) SetLifecycle(v string) *DataRepositoryTask { - s.Lifecycle = &v +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *DeleteFileSystemInput) SetLustreConfiguration(v *DeleteFileSystemLustreConfiguration) *DeleteFileSystemInput { + s.LustreConfiguration = v return s } -// SetPaths sets the Paths field's value. -func (s *DataRepositoryTask) SetPaths(v []*string) *DataRepositoryTask { - s.Paths = v +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *DeleteFileSystemInput) SetOpenZFSConfiguration(v *DeleteFileSystemOpenZFSConfiguration) *DeleteFileSystemInput { + s.OpenZFSConfiguration = v return s } -// SetReport sets the Report field's value. -func (s *DataRepositoryTask) SetReport(v *CompletionReport) *DataRepositoryTask { - s.Report = v +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput { + s.WindowsConfiguration = v return s } -// SetResourceARN sets the ResourceARN field's value. -func (s *DataRepositoryTask) SetResourceARN(v string) *DataRepositoryTask { - s.ResourceARN = &v - return s +// The configuration object for the Amazon FSx for Lustre file system being +// deleted in the DeleteFileSystem operation. +type DeleteFileSystemLustreConfiguration struct { + _ struct{} `type:"structure"` + + // Use if SkipFinalBackup is set to false, and you want to apply an array of + // tags to the final backup. If you have set the file system property CopyTagsToBackups + // to true, and you specify one or more FinalBackupTags when deleting a file + // system, Amazon FSx will not copy any existing file system tags to the backup. + FinalBackupTags []*Tag `min:"1" type:"list"` + + // Set SkipFinalBackup to false if you want to take a final backup of the file + // system you are deleting. By default, Amazon FSx will not take a final backup + // on your behalf when the DeleteFileSystem operation is invoked. (Default = + // true) + // + // The fsx:CreateBackup permission is required if you set SkipFinalBackup to + // false in order to delete the file system and take a final backup. + SkipFinalBackup *bool `type:"boolean"` } -// SetStartTime sets the StartTime field's value. -func (s *DataRepositoryTask) SetStartTime(v time.Time) *DataRepositoryTask { - s.StartTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFileSystemLustreConfiguration) String() string { + return awsutil.Prettify(s) } -// SetStatus sets the Status field's value. -func (s *DataRepositoryTask) SetStatus(v *DataRepositoryTaskStatus) *DataRepositoryTask { - s.Status = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFileSystemLustreConfiguration) GoString() string { + return s.String() } -// SetTags sets the Tags field's value. -func (s *DataRepositoryTask) SetTags(v []*Tag) *DataRepositoryTask { - s.Tags = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemLustreConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetTaskId sets the TaskId field's value. -func (s *DataRepositoryTask) SetTaskId(v string) *DataRepositoryTask { - s.TaskId = &v +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemLustreConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreConfiguration { + s.FinalBackupTags = v return s } -// SetType sets the Type field's value. -func (s *DataRepositoryTask) SetType(v string) *DataRepositoryTask { - s.Type = &v +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemLustreConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemLustreConfiguration { + s.SkipFinalBackup = &v return s } -// The data repository task could not be canceled because the task has already -// ended. -type DataRepositoryTaskEnded struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The response object for the Amazon FSx for Lustre file system being deleted +// in the DeleteFileSystem operation. +type DeleteFileSystemLustreResponse struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The ID of the final backup for this file system. + FinalBackupId *string `min:"12" type:"string"` + + // The set of tags applied to the final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -9863,7 +11699,7 @@ type DataRepositoryTaskEnded struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskEnded) String() string { +func (s DeleteFileSystemLustreResponse) String() string { return awsutil.Prettify(s) } @@ -9872,56 +11708,41 @@ func (s DataRepositoryTaskEnded) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskEnded) GoString() string { +func (s DeleteFileSystemLustreResponse) GoString() string { return s.String() } -func newErrorDataRepositoryTaskEnded(v protocol.ResponseMetadata) error { - return &DataRepositoryTaskEnded{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *DataRepositoryTaskEnded) Code() string { - return "DataRepositoryTaskEnded" -} - -// Message returns the exception's message. -func (s *DataRepositoryTaskEnded) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryTaskEnded) OrigErr() error { - return nil -} - -func (s *DataRepositoryTaskEnded) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemLustreResponse) SetFinalBackupId(v string) *DeleteFileSystemLustreResponse { + s.FinalBackupId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DataRepositoryTaskEnded) StatusCode() int { - return s.RespMetadata.StatusCode +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemLustreResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreResponse { + s.FinalBackupTags = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryTaskEnded) RequestID() string { - return s.RespMetadata.RequestID -} +// The configuration object for the Amazon FSx for OpenZFS file system used +// in the DeleteFileSystem operation. +type DeleteFileSystemOpenZFSConfiguration struct { + _ struct{} `type:"structure"` -// An existing data repository task is currently executing on the file system. -// Wait until the existing task has completed, then create the new task. -type DataRepositoryTaskExecuting struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // A list of tags to apply to the file system's final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // To delete a file system if there are child volumes present below the root + // volume, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. If your file system + // has child volumes and you don't use this option, the delete request will + // fail. + Options []*string `type:"list" enum:"DeleteFileSystemOpenZFSOption"` + + // By default, Amazon FSx for OpenZFS takes a final backup on your behalf when + // the DeleteFileSystem operation is invoked. Doing this helps protect you from + // data loss, and we highly recommend taking the final backup. If you want to + // skip taking a final backup, set this value to true. + SkipFinalBackup *bool `type:"boolean"` } // String returns the string representation. @@ -9929,7 +11750,7 @@ type DataRepositoryTaskExecuting struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskExecuting) String() string { +func (s DeleteFileSystemOpenZFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -9938,55 +11759,61 @@ func (s DataRepositoryTaskExecuting) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskExecuting) GoString() string { +func (s DeleteFileSystemOpenZFSConfiguration) GoString() string { return s.String() } -func newErrorDataRepositoryTaskExecuting(v protocol.ResponseMetadata) error { - return &DataRepositoryTaskExecuting{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemOpenZFSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemOpenZFSConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) } -} - -// Code returns the exception type name. -func (s *DataRepositoryTaskExecuting) Code() string { - return "DataRepositoryTaskExecuting" -} - -// Message returns the exception's message. -func (s *DataRepositoryTaskExecuting) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryTaskExecuting) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *DataRepositoryTaskExecuting) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemOpenZFSConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemOpenZFSConfiguration { + s.FinalBackupTags = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DataRepositoryTaskExecuting) StatusCode() int { - return s.RespMetadata.StatusCode +// SetOptions sets the Options field's value. +func (s *DeleteFileSystemOpenZFSConfiguration) SetOptions(v []*string) *DeleteFileSystemOpenZFSConfiguration { + s.Options = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryTaskExecuting) RequestID() string { - return s.RespMetadata.RequestID +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemOpenZFSConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemOpenZFSConfiguration { + s.SkipFinalBackup = &v + return s } -// Provides information about why a data repository task failed. Only populated -// when the task Lifecycle is set to FAILED. -type DataRepositoryTaskFailureDetails struct { +// The response object for the Amazon FSx for OpenZFS file system that's being +// deleted in the DeleteFileSystem operation. +type DeleteFileSystemOpenZFSResponse struct { _ struct{} `type:"structure"` - // A detailed error message. - Message *string `min:"1" type:"string"` + // The ID of the source backup. Specifies the backup that you are copying. + FinalBackupId *string `min:"12" type:"string"` + + // A list of Tag values, with a maximum of 50 elements. + FinalBackupTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -9994,7 +11821,7 @@ type DataRepositoryTaskFailureDetails struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskFailureDetails) String() string { +func (s DeleteFileSystemOpenZFSResponse) String() string { return awsutil.Prettify(s) } @@ -10003,37 +11830,44 @@ func (s DataRepositoryTaskFailureDetails) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskFailureDetails) GoString() string { +func (s DeleteFileSystemOpenZFSResponse) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DataRepositoryTaskFailureDetails) SetMessage(v string) *DataRepositoryTaskFailureDetails { - s.Message = &v +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemOpenZFSResponse) SetFinalBackupId(v string) *DeleteFileSystemOpenZFSResponse { + s.FinalBackupId = &v return s } -// (Optional) An array of filter objects you can use to filter the response -// of data repository tasks you will see in the the response. You can filter -// the tasks returned in the response by one or more file system IDs, task lifecycles, -// and by task type. A filter object consists of a filter Name, and one or more -// Values for the filter. -type DataRepositoryTaskFilter struct { +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemOpenZFSResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemOpenZFSResponse { + s.FinalBackupTags = v + return s +} + +// The response object for the DeleteFileSystem operation. +type DeleteFileSystemOutput struct { _ struct{} `type:"structure"` - // Name of the task property to use in filtering the tasks returned in the response. - // - // * Use file-system-id to retrieve data repository tasks for specific file - // systems. - // - // * Use task-lifecycle to retrieve data repository tasks with one or more - // specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, - // and SUCCEEDED. - Name *string `type:"string" enum:"DataRepositoryTaskFilterName"` + // The ID of the file system that's being deleted. + FileSystemId *string `min:"11" type:"string"` - // Use Values to include the specific file system IDs and task lifecycle states - // for the filters you are using. - Values []*string `type:"list"` + // The file system lifecycle for the deletion request. If the DeleteFileSystem + // operation is successful, this status is DELETING. + Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` + + // The response object for the Amazon FSx for Lustre file system being deleted + // in the DeleteFileSystem operation. + LustreResponse *DeleteFileSystemLustreResponse `type:"structure"` + + // The response object for the OpenZFS file system that's being deleted in the + // DeleteFileSystem operation. + OpenZFSResponse *DeleteFileSystemOpenZFSResponse `type:"structure"` + + // The response object for the Microsoft Windows file system used in the DeleteFileSystem + // operation. + WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"` } // String returns the string representation. @@ -10041,7 +11875,7 @@ type DataRepositoryTaskFilter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskFilter) String() string { +func (s DeleteFileSystemOutput) String() string { return awsutil.Prettify(s) } @@ -10050,29 +11884,53 @@ func (s DataRepositoryTaskFilter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskFilter) GoString() string { +func (s DeleteFileSystemOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *DataRepositoryTaskFilter) SetName(v string) *DataRepositoryTaskFilter { - s.Name = &v +// SetFileSystemId sets the FileSystemId field's value. +func (s *DeleteFileSystemOutput) SetFileSystemId(v string) *DeleteFileSystemOutput { + s.FileSystemId = &v return s } -// SetValues sets the Values field's value. -func (s *DataRepositoryTaskFilter) SetValues(v []*string) *DataRepositoryTaskFilter { - s.Values = v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput { + s.Lifecycle = &v return s } -// The data repository task or tasks you specified could not be found. -type DataRepositoryTaskNotFound struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetLustreResponse sets the LustreResponse field's value. +func (s *DeleteFileSystemOutput) SetLustreResponse(v *DeleteFileSystemLustreResponse) *DeleteFileSystemOutput { + s.LustreResponse = v + return s +} - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` +// SetOpenZFSResponse sets the OpenZFSResponse field's value. +func (s *DeleteFileSystemOutput) SetOpenZFSResponse(v *DeleteFileSystemOpenZFSResponse) *DeleteFileSystemOutput { + s.OpenZFSResponse = v + return s +} + +// SetWindowsResponse sets the WindowsResponse field's value. +func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput { + s.WindowsResponse = v + return s +} + +// The configuration object for the Microsoft Windows file system used in the +// DeleteFileSystem operation. +type DeleteFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` + + // A set of tags for your final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` + + // By default, Amazon FSx for Windows takes a final backup on your behalf when + // the DeleteFileSystem operation is invoked. Doing this helps protect you from + // data loss, and we highly recommend taking the final backup. If you want to + // skip this backup, use this flag to do so. + SkipFinalBackup *bool `type:"boolean"` } // String returns the string representation. @@ -10080,7 +11938,7 @@ type DataRepositoryTaskNotFound struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskNotFound) String() string { +func (s DeleteFileSystemWindowsConfiguration) String() string { return awsutil.Prettify(s) } @@ -10089,67 +11947,55 @@ func (s DataRepositoryTaskNotFound) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskNotFound) GoString() string { +func (s DeleteFileSystemWindowsConfiguration) GoString() string { return s.String() } -func newErrorDataRepositoryTaskNotFound(v protocol.ResponseMetadata) error { - return &DataRepositoryTaskNotFound{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemWindowsConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) } -} - -// Code returns the exception type name. -func (s *DataRepositoryTaskNotFound) Code() string { - return "DataRepositoryTaskNotFound" -} - -// Message returns the exception's message. -func (s *DataRepositoryTaskNotFound) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryTaskNotFound) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *DataRepositoryTaskNotFound) 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 *DataRepositoryTaskNotFound) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryTaskNotFound) RequestID() string { - return s.RespMetadata.RequestID +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemWindowsConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsConfiguration { + s.FinalBackupTags = v + return s } -// Provides the task status showing a running total of the total number of files -// to be processed, the number successfully processed, and the number of files -// the task failed to process. -type DataRepositoryTaskStatus struct { - _ struct{} `type:"structure"` - - // A running total of the number of files that the task failed to process. - FailedCount *int64 `type:"long"` +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemWindowsConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemWindowsConfiguration { + s.SkipFinalBackup = &v + return s +} - // The time at which the task status was last updated. - LastUpdatedTime *time.Time `type:"timestamp"` +// The response object for the Microsoft Windows file system used in the DeleteFileSystem +// operation. +type DeleteFileSystemWindowsResponse struct { + _ struct{} `type:"structure"` - // A running total of the number of files that the task has successfully processed. - SucceededCount *int64 `type:"long"` + // The ID of the final backup for this file system. + FinalBackupId *string `min:"12" type:"string"` - // The total number of files that the task will process. While a task is executing, - // the sum of SucceededCount plus FailedCount may not equal TotalCount. When - // the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount. - TotalCount *int64 `type:"long"` + // The set of tags applied to the final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -10157,7 +12003,7 @@ type DataRepositoryTaskStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskStatus) String() string { +func (s DeleteFileSystemWindowsResponse) String() string { return awsutil.Prettify(s) } @@ -10166,47 +12012,34 @@ func (s DataRepositoryTaskStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataRepositoryTaskStatus) GoString() string { +func (s DeleteFileSystemWindowsResponse) GoString() string { return s.String() } -// SetFailedCount sets the FailedCount field's value. -func (s *DataRepositoryTaskStatus) SetFailedCount(v int64) *DataRepositoryTaskStatus { - s.FailedCount = &v - return s -} - -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataRepositoryTaskStatus) SetLastUpdatedTime(v time.Time) *DataRepositoryTaskStatus { - s.LastUpdatedTime = &v - return s -} - -// SetSucceededCount sets the SucceededCount field's value. -func (s *DataRepositoryTaskStatus) SetSucceededCount(v int64) *DataRepositoryTaskStatus { - s.SucceededCount = &v +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemWindowsResponse) SetFinalBackupId(v string) *DeleteFileSystemWindowsResponse { + s.FinalBackupId = &v return s } -// SetTotalCount sets the TotalCount field's value. -func (s *DataRepositoryTaskStatus) SetTotalCount(v int64) *DataRepositoryTaskStatus { - s.TotalCount = &v +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsResponse { + s.FinalBackupTags = v return s } -// The request object for the DeleteBackup operation. -type DeleteBackupInput struct { +type DeleteSnapshotInput struct { _ struct{} `type:"structure"` - // The ID of the backup that you want to delete. - // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` - - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // deletion. This parameter is automatically filled on your behalf when using - // the CLI or SDK. + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the snapshot that you want to delete. + // + // SnapshotId is a required field + SnapshotId *string `min:"11" type:"string" required:"true"` } // String returns the string representation. @@ -10214,7 +12047,7 @@ type DeleteBackupInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteBackupInput) String() string { +func (s DeleteSnapshotInput) String() string { return awsutil.Prettify(s) } @@ -10223,22 +12056,22 @@ func (s DeleteBackupInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteBackupInput) GoString() string { +func (s DeleteSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} - if s.BackupId == nil { - invalidParams.Add(request.NewErrParamRequired("BackupId")) - } - if s.BackupId != nil && len(*s.BackupId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) - } +func (s *DeleteSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + if s.SnapshotId != nil && len(*s.SnapshotId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 11)) + } if invalidParams.Len() > 0 { return invalidParams @@ -10246,28 +12079,27 @@ func (s *DeleteBackupInput) Validate() error { return nil } -// SetBackupId sets the BackupId field's value. -func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput { - s.BackupId = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteSnapshotInput) SetClientRequestToken(v string) *DeleteSnapshotInput { + s.ClientRequestToken = &v return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteBackupInput) SetClientRequestToken(v string) *DeleteBackupInput { - s.ClientRequestToken = &v +// SetSnapshotId sets the SnapshotId field's value. +func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput { + s.SnapshotId = &v return s } -// The response object for the DeleteBackup operation. -type DeleteBackupOutput struct { +type DeleteSnapshotOutput struct { _ struct{} `type:"structure"` - // The ID of the backup that was deleted. - BackupId *string `min:"12" type:"string"` + // The lifecycle status of the snapshot. If the DeleteSnapshot operation is + // successful, this status is DELETING. + Lifecycle *string `type:"string" enum:"SnapshotLifecycle"` - // The lifecycle status of the backup. If the DeleteBackup operation is successful, - // the status is DELETED. - Lifecycle *string `type:"string" enum:"BackupLifecycle"` + // The ID of the deleted snapshot. + SnapshotId *string `min:"11" type:"string"` } // String returns the string representation. @@ -10275,7 +12107,7 @@ type DeleteBackupOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteBackupOutput) String() string { +func (s DeleteSnapshotOutput) String() string { return awsutil.Prettify(s) } @@ -10284,40 +12116,34 @@ func (s DeleteBackupOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteBackupOutput) GoString() string { +func (s DeleteSnapshotOutput) GoString() string { return s.String() } -// SetBackupId sets the BackupId field's value. -func (s *DeleteBackupOutput) SetBackupId(v string) *DeleteBackupOutput { - s.BackupId = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteSnapshotOutput) SetLifecycle(v string) *DeleteSnapshotOutput { + s.Lifecycle = &v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput { - s.Lifecycle = &v +// SetSnapshotId sets the SnapshotId field's value. +func (s *DeleteSnapshotOutput) SetSnapshotId(v string) *DeleteSnapshotOutput { + s.SnapshotId = &v return s } -type DeleteDataRepositoryAssociationInput struct { +type DeleteStorageVirtualMachineInput struct { _ struct{} `type:"structure"` - // The ID of the data repository association that you want to delete. - // - // AssociationId is a required field - AssociationId *string `min:"13" type:"string" required:"true"` - // (Optional) An idempotency token for resource creation, in a string of up // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Set to true to delete the data in the file system that corresponds to the - // data repository association. + // The ID of the SVM that you want to delete. // - // DeleteDataInFileSystem is a required field - DeleteDataInFileSystem *bool `type:"boolean" required:"true"` + // StorageVirtualMachineId is a required field + StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` } // String returns the string representation. @@ -10325,7 +12151,7 @@ type DeleteDataRepositoryAssociationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDataRepositoryAssociationInput) String() string { +func (s DeleteStorageVirtualMachineInput) String() string { return awsutil.Prettify(s) } @@ -10334,24 +12160,21 @@ func (s DeleteDataRepositoryAssociationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDataRepositoryAssociationInput) GoString() string { +func (s DeleteStorageVirtualMachineInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteDataRepositoryAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteDataRepositoryAssociationInput"} - if s.AssociationId == nil { - invalidParams.Add(request.NewErrParamRequired("AssociationId")) - } - if s.AssociationId != nil && len(*s.AssociationId) < 13 { - invalidParams.Add(request.NewErrParamMinLen("AssociationId", 13)) - } +func (s *DeleteStorageVirtualMachineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStorageVirtualMachineInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.DeleteDataInFileSystem == nil { - invalidParams.Add(request.NewErrParamRequired("DeleteDataInFileSystem")) + if s.StorageVirtualMachineId == nil { + invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) + } + if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { + invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) } if invalidParams.Len() > 0 { @@ -10360,36 +12183,26 @@ func (s *DeleteDataRepositoryAssociationInput) Validate() error { return nil } -// SetAssociationId sets the AssociationId field's value. -func (s *DeleteDataRepositoryAssociationInput) SetAssociationId(v string) *DeleteDataRepositoryAssociationInput { - s.AssociationId = &v - return s -} - // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteDataRepositoryAssociationInput) SetClientRequestToken(v string) *DeleteDataRepositoryAssociationInput { +func (s *DeleteStorageVirtualMachineInput) SetClientRequestToken(v string) *DeleteStorageVirtualMachineInput { s.ClientRequestToken = &v return s } -// SetDeleteDataInFileSystem sets the DeleteDataInFileSystem field's value. -func (s *DeleteDataRepositoryAssociationInput) SetDeleteDataInFileSystem(v bool) *DeleteDataRepositoryAssociationInput { - s.DeleteDataInFileSystem = &v +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *DeleteStorageVirtualMachineInput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineInput { + s.StorageVirtualMachineId = &v return s } -type DeleteDataRepositoryAssociationOutput struct { +type DeleteStorageVirtualMachineOutput struct { _ struct{} `type:"structure"` - // The ID of the data repository association being deleted. - AssociationId *string `min:"13" type:"string"` - - // Indicates whether data in the file system that corresponds to the data repository - // association is being deleted. Default is false. - DeleteDataInFileSystem *bool `type:"boolean"` + // Describes the lifecycle state of the SVM being deleted. + Lifecycle *string `type:"string" enum:"StorageVirtualMachineLifecycle"` - // Describes the lifecycle state of the data repository association being deleted. - Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` + // The ID of the SVM Amazon FSx is deleting. + StorageVirtualMachineId *string `min:"21" type:"string"` } // String returns the string representation. @@ -10397,7 +12210,7 @@ type DeleteDataRepositoryAssociationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDataRepositoryAssociationOutput) String() string { +func (s DeleteStorageVirtualMachineOutput) String() string { return awsutil.Prettify(s) } @@ -10406,53 +12219,43 @@ func (s DeleteDataRepositoryAssociationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteDataRepositoryAssociationOutput) GoString() string { +func (s DeleteStorageVirtualMachineOutput) GoString() string { return s.String() } -// SetAssociationId sets the AssociationId field's value. -func (s *DeleteDataRepositoryAssociationOutput) SetAssociationId(v string) *DeleteDataRepositoryAssociationOutput { - s.AssociationId = &v - return s -} - -// SetDeleteDataInFileSystem sets the DeleteDataInFileSystem field's value. -func (s *DeleteDataRepositoryAssociationOutput) SetDeleteDataInFileSystem(v bool) *DeleteDataRepositoryAssociationOutput { - s.DeleteDataInFileSystem = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteStorageVirtualMachineOutput) SetLifecycle(v string) *DeleteStorageVirtualMachineOutput { + s.Lifecycle = &v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteDataRepositoryAssociationOutput) SetLifecycle(v string) *DeleteDataRepositoryAssociationOutput { - s.Lifecycle = &v +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *DeleteStorageVirtualMachineOutput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineOutput { + s.StorageVirtualMachineId = &v return s } -// The request object for DeleteFileSystem operation. -type DeleteFileSystemInput struct { +type DeleteVolumeInput struct { _ struct{} `type:"structure"` - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // deletion. This token is automatically filled on your behalf when using the - // Command Line Interface (CLI) or an Amazon Web Services SDK. + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The ID of the file system that you want to delete. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` - - // The configuration object for the Amazon FSx for Lustre file system being - // deleted in the DeleteFileSystem operation. - LustreConfiguration *DeleteFileSystemLustreConfiguration `type:"structure"` + // For Amazon FSx for ONTAP volumes, specify whether to take a final backup + // of the volume and apply tags to the backup. To apply tags to the backup, + // you must have the fsx:TagResource permission. + OntapConfiguration *DeleteVolumeOntapConfiguration `type:"structure"` - // The configuration object for the OpenZFS file system used in the DeleteFileSystem - // operation. - OpenZFSConfiguration *DeleteFileSystemOpenZFSConfiguration `type:"structure"` + // For Amazon FSx for OpenZFS volumes, specify whether to delete all child volumes + // and snapshots. + OpenZFSConfiguration *DeleteVolumeOpenZFSConfiguration `type:"structure"` - // The configuration object for the Microsoft Windows file system used in the - // DeleteFileSystem operation. - WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"` + // The ID of the volume that you are deleting. + // + // VolumeId is a required field + VolumeId *string `min:"23" type:"string" required:"true"` } // String returns the string representation. @@ -10460,7 +12263,7 @@ type DeleteFileSystemInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemInput) String() string { +func (s DeleteVolumeInput) String() string { return awsutil.Prettify(s) } @@ -10469,35 +12272,25 @@ func (s DeleteFileSystemInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemInput) GoString() string { +func (s DeleteVolumeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) - } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) +func (s *DeleteVolumeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.LustreConfiguration != nil { - if err := s.LustreConfiguration.Validate(); err != nil { - invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) - } + if s.VolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeId")) } - if s.OpenZFSConfiguration != nil { - if err := s.OpenZFSConfiguration.Validate(); err != nil { - invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) - } + if s.VolumeId != nil && len(*s.VolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) } - if s.WindowsConfiguration != nil { - if err := s.WindowsConfiguration.Validate(); err != nil { - invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) } } @@ -10508,53 +12301,38 @@ func (s *DeleteFileSystemInput) Validate() error { } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteFileSystemInput) SetClientRequestToken(v string) *DeleteFileSystemInput { +func (s *DeleteVolumeInput) SetClientRequestToken(v string) *DeleteVolumeInput { s.ClientRequestToken = &v return s } -// SetFileSystemId sets the FileSystemId field's value. -func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput { - s.FileSystemId = &v - return s -} - -// SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *DeleteFileSystemInput) SetLustreConfiguration(v *DeleteFileSystemLustreConfiguration) *DeleteFileSystemInput { - s.LustreConfiguration = v +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *DeleteVolumeInput) SetOntapConfiguration(v *DeleteVolumeOntapConfiguration) *DeleteVolumeInput { + s.OntapConfiguration = v return s } // SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. -func (s *DeleteFileSystemInput) SetOpenZFSConfiguration(v *DeleteFileSystemOpenZFSConfiguration) *DeleteFileSystemInput { +func (s *DeleteVolumeInput) SetOpenZFSConfiguration(v *DeleteVolumeOpenZFSConfiguration) *DeleteVolumeInput { s.OpenZFSConfiguration = v return s } -// SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput { - s.WindowsConfiguration = v +// SetVolumeId sets the VolumeId field's value. +func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput { + s.VolumeId = &v return s } -// The configuration object for the Amazon FSx for Lustre file system being -// deleted in the DeleteFileSystem operation. -type DeleteFileSystemLustreConfiguration struct { +// Use to specify skipping a final backup, or to add tags to a final backup. +type DeleteVolumeOntapConfiguration struct { _ struct{} `type:"structure"` - // Use if SkipFinalBackup is set to false, and you want to apply an array of - // tags to the final backup. If you have set the file system property CopyTagsToBackups - // to true, and you specify one or more FinalBackupTags when deleting a file - // system, Amazon FSx will not copy any existing file system tags to the backup. + // A list of Tag values, with a maximum of 50 elements. FinalBackupTags []*Tag `min:"1" type:"list"` - // Set SkipFinalBackup to false if you want to take a final backup of the file - // system you are deleting. By default, Amazon FSx will not take a final backup - // on your behalf when the DeleteFileSystem operation is invoked. (Default = - // true) - // - // The fsx:CreateBackup permission is required if you set SkipFinalBackup to - // false in order to delete the file system and take a final backup. + // Set to true if you want to skip taking a final backup of the volume you are + // deleting. SkipFinalBackup *bool `type:"boolean"` } @@ -10563,7 +12341,7 @@ type DeleteFileSystemLustreConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemLustreConfiguration) String() string { +func (s DeleteVolumeOntapConfiguration) String() string { return awsutil.Prettify(s) } @@ -10572,13 +12350,13 @@ func (s DeleteFileSystemLustreConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemLustreConfiguration) GoString() string { +func (s DeleteVolumeOntapConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemLustreConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemLustreConfiguration"} +func (s *DeleteVolumeOntapConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeOntapConfiguration"} if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) } @@ -10600,26 +12378,26 @@ func (s *DeleteFileSystemLustreConfiguration) Validate() error { } // SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemLustreConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreConfiguration { +func (s *DeleteVolumeOntapConfiguration) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapConfiguration { s.FinalBackupTags = v return s } // SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteFileSystemLustreConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemLustreConfiguration { +func (s *DeleteVolumeOntapConfiguration) SetSkipFinalBackup(v bool) *DeleteVolumeOntapConfiguration { s.SkipFinalBackup = &v return s } -// The response object for the Amazon FSx for Lustre file system being deleted -// in the DeleteFileSystem operation. -type DeleteFileSystemLustreResponse struct { +// The response object for the Amazon FSx for NetApp ONTAP volume being deleted +// in the DeleteVolume operation. +type DeleteVolumeOntapResponse struct { _ struct{} `type:"structure"` - // The ID of the final backup for this file system. + // The ID of the source backup. Specifies the backup that you are copying. FinalBackupId *string `min:"12" type:"string"` - // The set of tags applied to the final backup. + // A list of Tag values, with a maximum of 50 elements. FinalBackupTags []*Tag `min:"1" type:"list"` } @@ -10628,7 +12406,7 @@ type DeleteFileSystemLustreResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemLustreResponse) String() string { +func (s DeleteVolumeOntapResponse) String() string { return awsutil.Prettify(s) } @@ -10637,41 +12415,29 @@ func (s DeleteFileSystemLustreResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemLustreResponse) GoString() string { +func (s DeleteVolumeOntapResponse) GoString() string { return s.String() } // SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteFileSystemLustreResponse) SetFinalBackupId(v string) *DeleteFileSystemLustreResponse { +func (s *DeleteVolumeOntapResponse) SetFinalBackupId(v string) *DeleteVolumeOntapResponse { s.FinalBackupId = &v return s } // SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemLustreResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreResponse { +func (s *DeleteVolumeOntapResponse) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapResponse { s.FinalBackupTags = v return s } -// The configuration object for the Amazon FSx for OpenZFS file system used -// in the DeleteFileSystem operation. -type DeleteFileSystemOpenZFSConfiguration struct { +// A value that specifies whether to delete all child volumes and snapshots. +type DeleteVolumeOpenZFSConfiguration struct { _ struct{} `type:"structure"` - // A list of tags to apply to the file system's final backup. - FinalBackupTags []*Tag `min:"1" type:"list"` - - // To delete a file system if there are child volumes present below the root - // volume, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. If your file system - // has child volumes and you don't use this option, the delete request will - // fail. - Options []*string `type:"list" enum:"DeleteFileSystemOpenZFSOption"` - - // By default, Amazon FSx for OpenZFS takes a final backup on your behalf when - // the DeleteFileSystem operation is invoked. Doing this helps protect you from - // data loss, and we highly recommend taking the final backup. If you want to - // skip taking a final backup, set this value to true. - SkipFinalBackup *bool `type:"boolean"` + // To delete the volume's child volumes, snapshots, and clones, use the string + // DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. + Options []*string `type:"list" enum:"DeleteOpenZFSVolumeOption"` } // String returns the string representation. @@ -10679,7 +12445,7 @@ type DeleteFileSystemOpenZFSConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemOpenZFSConfiguration) String() string { +func (s DeleteVolumeOpenZFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -10688,61 +12454,88 @@ func (s DeleteFileSystemOpenZFSConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemOpenZFSConfiguration) GoString() string { +func (s DeleteVolumeOpenZFSConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemOpenZFSConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemOpenZFSConfiguration"} - if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) - } - if s.FinalBackupTags != nil { - for i, v := range s.FinalBackupTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) - } - } - } +// SetOptions sets the Options field's value. +func (s *DeleteVolumeOpenZFSConfiguration) SetOptions(v []*string) *DeleteVolumeOpenZFSConfiguration { + s.Options = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +type DeleteVolumeOutput struct { + _ struct{} `type:"structure"` + + // The lifecycle state of the volume being deleted. If the DeleteVolume operation + // is successful, this value is DELETING. + Lifecycle *string `type:"string" enum:"VolumeLifecycle"` + + // Returned after a DeleteVolume request, showing the status of the delete request. + OntapResponse *DeleteVolumeOntapResponse `type:"structure"` + + // The ID of the volume that's being deleted. + VolumeId *string `min:"23" type:"string"` } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemOpenZFSConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemOpenZFSConfiguration { - s.FinalBackupTags = v +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteVolumeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteVolumeOutput) GoString() string { + return s.String() +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteVolumeOutput) SetLifecycle(v string) *DeleteVolumeOutput { + s.Lifecycle = &v return s } -// SetOptions sets the Options field's value. -func (s *DeleteFileSystemOpenZFSConfiguration) SetOptions(v []*string) *DeleteFileSystemOpenZFSConfiguration { - s.Options = v +// SetOntapResponse sets the OntapResponse field's value. +func (s *DeleteVolumeOutput) SetOntapResponse(v *DeleteVolumeOntapResponse) *DeleteVolumeOutput { + s.OntapResponse = v return s } -// SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteFileSystemOpenZFSConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemOpenZFSConfiguration { - s.SkipFinalBackup = &v +// SetVolumeId sets the VolumeId field's value. +func (s *DeleteVolumeOutput) SetVolumeId(v string) *DeleteVolumeOutput { + s.VolumeId = &v return s } -// The response object for the Amazon FSx for OpenZFS file system that's being -// deleted in the DeleteFileSystem operation. -type DeleteFileSystemOpenZFSResponse struct { +// The request object for the DescribeBackups operation. +type DescribeBackupsInput struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup that you are copying. - FinalBackupId *string `min:"12" type:"string"` + // The IDs of the backups that you want to retrieve. This parameter value overrides + // any filters. If any IDs aren't found, a BackupNotFound error occurs. + BackupIds []*string `type:"list"` - // A list of Tag values, with a maximum of 50 elements. - FinalBackupTags []*Tag `min:"1" type:"list"` + // The filters structure. The supported names are file-system-id, backup-type, + // file-system-type, and volume-id. + Filters []*Filter `type:"list"` + + // Maximum number of backups to return in the response. This parameter value + // must be greater than 0. The number of items that Amazon FSx returns is the + // minimum of the MaxResults parameter specified in the request and the service's + // internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` + + // An opaque pagination token returned from a previous DescribeBackups operation. + // If a token is present, the operation continues the list from where the returning + // call left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -10750,7 +12543,7 @@ type DeleteFileSystemOpenZFSResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemOpenZFSResponse) String() string { +func (s DescribeBackupsInput) String() string { return awsutil.Prettify(s) } @@ -10759,44 +12552,61 @@ func (s DeleteFileSystemOpenZFSResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemOpenZFSResponse) GoString() string { +func (s DescribeBackupsInput) GoString() string { return s.String() } -// SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteFileSystemOpenZFSResponse) SetFinalBackupId(v string) *DeleteFileSystemOpenZFSResponse { - s.FinalBackupId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeBackupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBackupIds sets the BackupIds field's value. +func (s *DescribeBackupsInput) SetBackupIds(v []*string) *DescribeBackupsInput { + s.BackupIds = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeBackupsInput) SetFilters(v []*Filter) *DescribeBackupsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { + s.MaxResults = &v return s } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemOpenZFSResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemOpenZFSResponse { - s.FinalBackupTags = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { + s.NextToken = &v return s } -// The response object for the DeleteFileSystem operation. -type DeleteFileSystemOutput struct { +// Response object for the DescribeBackups operation. +type DescribeBackupsOutput struct { _ struct{} `type:"structure"` - // The ID of the file system that's being deleted. - FileSystemId *string `min:"11" type:"string"` - - // The file system lifecycle for the deletion request. If the DeleteFileSystem - // operation is successful, this status is DELETING. - Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` - - // The response object for the Amazon FSx for Lustre file system being deleted - // in the DeleteFileSystem operation. - LustreResponse *DeleteFileSystemLustreResponse `type:"structure"` - - // The response object for the OpenZFS file system that's being deleted in the - // DeleteFileSystem operation. - OpenZFSResponse *DeleteFileSystemOpenZFSResponse `type:"structure"` + // An array of backups. + Backups []*Backup `type:"list"` - // The response object for the Microsoft Windows file system used in the DeleteFileSystem - // operation. - WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"` + // A NextToken value is present if there are more backups than returned in the + // response. You can use the NextToken value in the subsequent request to fetch + // the backups. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -10804,7 +12614,7 @@ type DeleteFileSystemOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemOutput) String() string { +func (s DescribeBackupsOutput) String() string { return awsutil.Prettify(s) } @@ -10813,53 +12623,40 @@ func (s DeleteFileSystemOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemOutput) GoString() string { +func (s DescribeBackupsOutput) GoString() string { return s.String() } -// SetFileSystemId sets the FileSystemId field's value. -func (s *DeleteFileSystemOutput) SetFileSystemId(v string) *DeleteFileSystemOutput { - s.FileSystemId = &v - return s -} - -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput { - s.Lifecycle = &v +// SetBackups sets the Backups field's value. +func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { + s.Backups = v return s } -// SetLustreResponse sets the LustreResponse field's value. -func (s *DeleteFileSystemOutput) SetLustreResponse(v *DeleteFileSystemLustreResponse) *DeleteFileSystemOutput { - s.LustreResponse = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { + s.NextToken = &v return s } -// SetOpenZFSResponse sets the OpenZFSResponse field's value. -func (s *DeleteFileSystemOutput) SetOpenZFSResponse(v *DeleteFileSystemOpenZFSResponse) *DeleteFileSystemOutput { - s.OpenZFSResponse = v - return s -} +type DescribeDataRepositoryAssociationsInput struct { + _ struct{} `type:"structure"` -// SetWindowsResponse sets the WindowsResponse field's value. -func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput { - s.WindowsResponse = v - return s -} + // IDs of the data repository associations whose descriptions you want to retrieve + // (String). + AssociationIds []*string `type:"list"` -// The configuration object for the Microsoft Windows file system used in the -// DeleteFileSystem operation. -type DeleteFileSystemWindowsConfiguration struct { - _ struct{} `type:"structure"` + // A list of Filter elements. + Filters []*Filter `type:"list"` - // A set of tags for your final backup. - FinalBackupTags []*Tag `min:"1" type:"list"` + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. + MaxResults *int64 `min:"1" type:"integer"` - // By default, Amazon FSx for Windows takes a final backup on your behalf when - // the DeleteFileSystem operation is invoked. Doing this helps protect you from - // data loss, and we highly recommend taking the final backup. If you want to - // skip this backup, use this flag to do so. - SkipFinalBackup *bool `type:"boolean"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -10867,7 +12664,7 @@ type DeleteFileSystemWindowsConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemWindowsConfiguration) String() string { +func (s DescribeDataRepositoryAssociationsInput) String() string { return awsutil.Prettify(s) } @@ -10876,25 +12673,18 @@ func (s DeleteFileSystemWindowsConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemWindowsConfiguration) GoString() string { +func (s DescribeDataRepositoryAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemWindowsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemWindowsConfiguration"} - if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) +func (s *DescribeDataRepositoryAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.FinalBackupTags != nil { - for i, v := range s.FinalBackupTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) - } - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -10903,28 +12693,40 @@ func (s *DeleteFileSystemWindowsConfiguration) Validate() error { return nil } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemWindowsConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsConfiguration { - s.FinalBackupTags = v +// SetAssociationIds sets the AssociationIds field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetAssociationIds(v []*string) *DescribeDataRepositoryAssociationsInput { + s.AssociationIds = v return s } -// SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteFileSystemWindowsConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemWindowsConfiguration { - s.SkipFinalBackup = &v +// SetFilters sets the Filters field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetFilters(v []*Filter) *DescribeDataRepositoryAssociationsInput { + s.Filters = v return s } -// The response object for the Microsoft Windows file system used in the DeleteFileSystem -// operation. -type DeleteFileSystemWindowsResponse struct { +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetMaxResults(v int64) *DescribeDataRepositoryAssociationsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetNextToken(v string) *DescribeDataRepositoryAssociationsInput { + s.NextToken = &v + return s +} + +type DescribeDataRepositoryAssociationsOutput struct { _ struct{} `type:"structure"` - // The ID of the final backup for this file system. - FinalBackupId *string `min:"12" type:"string"` + // An array of one or more data repository association descriptions. + Associations []*DataRepositoryAssociation `type:"list"` - // The set of tags applied to the final backup. - FinalBackupTags []*Tag `min:"1" type:"list"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -10932,7 +12734,7 @@ type DeleteFileSystemWindowsResponse struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemWindowsResponse) String() string { +func (s DescribeDataRepositoryAssociationsOutput) String() string { return awsutil.Prettify(s) } @@ -10941,34 +12743,41 @@ func (s DeleteFileSystemWindowsResponse) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteFileSystemWindowsResponse) GoString() string { +func (s DescribeDataRepositoryAssociationsOutput) GoString() string { return s.String() } -// SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteFileSystemWindowsResponse) SetFinalBackupId(v string) *DeleteFileSystemWindowsResponse { - s.FinalBackupId = &v +// SetAssociations sets the Associations field's value. +func (s *DescribeDataRepositoryAssociationsOutput) SetAssociations(v []*DataRepositoryAssociation) *DescribeDataRepositoryAssociationsOutput { + s.Associations = v return s } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsResponse { - s.FinalBackupTags = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryAssociationsOutput) SetNextToken(v string) *DescribeDataRepositoryAssociationsOutput { + s.NextToken = &v return s } -type DeleteSnapshotInput struct { +type DescribeDataRepositoryTasksInput struct { _ struct{} `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // (Optional) You can use filters to narrow the DescribeDataRepositoryTasks + // response to include just tasks for specific file systems, or tasks in a specific + // lifecycle state. + Filters []*DataRepositoryTaskFilter `type:"list"` - // The ID of the snapshot that you want to delete. - // - // SnapshotId is a required field - SnapshotId *string `min:"11" type:"string" required:"true"` + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` + + // (Optional) IDs of the tasks whose descriptions you want to retrieve (String). + TaskIds []*string `type:"list"` } // String returns the string representation. @@ -10976,7 +12785,7 @@ type DeleteSnapshotInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSnapshotInput) String() string { +func (s DescribeDataRepositoryTasksInput) String() string { return awsutil.Prettify(s) } @@ -10985,21 +12794,18 @@ func (s DeleteSnapshotInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSnapshotInput) GoString() string { +func (s DescribeDataRepositoryTasksInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteSnapshotInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.SnapshotId == nil { - invalidParams.Add(request.NewErrParamRequired("SnapshotId")) +func (s *DescribeDataRepositoryTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryTasksInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.SnapshotId != nil && len(*s.SnapshotId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 11)) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -11008,27 +12814,40 @@ func (s *DeleteSnapshotInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteSnapshotInput) SetClientRequestToken(v string) *DeleteSnapshotInput { - s.ClientRequestToken = &v +// SetFilters sets the Filters field's value. +func (s *DescribeDataRepositoryTasksInput) SetFilters(v []*DataRepositoryTaskFilter) *DescribeDataRepositoryTasksInput { + s.Filters = v return s } -// SetSnapshotId sets the SnapshotId field's value. -func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput { - s.SnapshotId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDataRepositoryTasksInput) SetMaxResults(v int64) *DescribeDataRepositoryTasksInput { + s.MaxResults = &v return s } -type DeleteSnapshotOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryTasksInput) SetNextToken(v string) *DescribeDataRepositoryTasksInput { + s.NextToken = &v + return s +} + +// SetTaskIds sets the TaskIds field's value. +func (s *DescribeDataRepositoryTasksInput) SetTaskIds(v []*string) *DescribeDataRepositoryTasksInput { + s.TaskIds = v + return s +} + +type DescribeDataRepositoryTasksOutput struct { _ struct{} `type:"structure"` - // The lifecycle status of the snapshot. If the DeleteSnapshot operation is - // successful, this status is DELETING. - Lifecycle *string `type:"string" enum:"SnapshotLifecycle"` + // The collection of data repository task descriptions returned. + DataRepositoryTasks []*DataRepositoryTask `type:"list"` - // The ID of the deleted snapshot. - SnapshotId *string `min:"11" type:"string"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11036,7 +12855,7 @@ type DeleteSnapshotOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSnapshotOutput) String() string { +func (s DescribeDataRepositoryTasksOutput) String() string { return awsutil.Prettify(s) } @@ -11045,34 +12864,36 @@ func (s DeleteSnapshotOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteSnapshotOutput) GoString() string { +func (s DescribeDataRepositoryTasksOutput) GoString() string { return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteSnapshotOutput) SetLifecycle(v string) *DeleteSnapshotOutput { - s.Lifecycle = &v +// SetDataRepositoryTasks sets the DataRepositoryTasks field's value. +func (s *DescribeDataRepositoryTasksOutput) SetDataRepositoryTasks(v []*DataRepositoryTask) *DescribeDataRepositoryTasksOutput { + s.DataRepositoryTasks = v return s } -// SetSnapshotId sets the SnapshotId field's value. -func (s *DeleteSnapshotOutput) SetSnapshotId(v string) *DeleteSnapshotOutput { - s.SnapshotId = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryTasksOutput) SetNextToken(v string) *DescribeDataRepositoryTasksOutput { + s.NextToken = &v return s } -type DeleteStorageVirtualMachineInput struct { +type DescribeFileCachesInput struct { _ struct{} `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // IDs of the caches whose descriptions you want to retrieve (String). + FileCacheIds []*string `type:"list"` - // The ID of the SVM that you want to delete. - // - // StorageVirtualMachineId is a required field - StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11080,7 +12901,7 @@ type DeleteStorageVirtualMachineInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStorageVirtualMachineInput) String() string { +func (s DescribeFileCachesInput) String() string { return awsutil.Prettify(s) } @@ -11089,21 +12910,18 @@ func (s DeleteStorageVirtualMachineInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStorageVirtualMachineInput) GoString() string { +func (s DescribeFileCachesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStorageVirtualMachineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStorageVirtualMachineInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.StorageVirtualMachineId == nil { - invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) +func (s *DescribeFileCachesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFileCachesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { - invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -11112,26 +12930,34 @@ func (s *DeleteStorageVirtualMachineInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteStorageVirtualMachineInput) SetClientRequestToken(v string) *DeleteStorageVirtualMachineInput { - s.ClientRequestToken = &v +// SetFileCacheIds sets the FileCacheIds field's value. +func (s *DescribeFileCachesInput) SetFileCacheIds(v []*string) *DescribeFileCachesInput { + s.FileCacheIds = v return s } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *DeleteStorageVirtualMachineInput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineInput { - s.StorageVirtualMachineId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFileCachesInput) SetMaxResults(v int64) *DescribeFileCachesInput { + s.MaxResults = &v return s } -type DeleteStorageVirtualMachineOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileCachesInput) SetNextToken(v string) *DescribeFileCachesInput { + s.NextToken = &v + return s +} + +type DescribeFileCachesOutput struct { _ struct{} `type:"structure"` - // Describes the lifecycle state of the SVM being deleted. - Lifecycle *string `type:"string" enum:"StorageVirtualMachineLifecycle"` + // The response object for the DescribeFileCaches operation. + FileCaches []*FileCache `type:"list"` - // The ID of the SVM Amazon FSx is deleting. - StorageVirtualMachineId *string `min:"21" type:"string"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11139,7 +12965,7 @@ type DeleteStorageVirtualMachineOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStorageVirtualMachineOutput) String() string { +func (s DescribeFileCachesOutput) String() string { return awsutil.Prettify(s) } @@ -11148,23 +12974,24 @@ func (s DeleteStorageVirtualMachineOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteStorageVirtualMachineOutput) GoString() string { +func (s DescribeFileCachesOutput) GoString() string { return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteStorageVirtualMachineOutput) SetLifecycle(v string) *DeleteStorageVirtualMachineOutput { - s.Lifecycle = &v +// SetFileCaches sets the FileCaches field's value. +func (s *DescribeFileCachesOutput) SetFileCaches(v []*FileCache) *DescribeFileCachesOutput { + s.FileCaches = v return s } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *DeleteStorageVirtualMachineOutput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineOutput { - s.StorageVirtualMachineId = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileCachesOutput) SetNextToken(v string) *DescribeFileCachesOutput { + s.NextToken = &v return s } -type DeleteVolumeInput struct { +// The request object for DescribeFileSystemAliases operation. +type DescribeFileSystemAliasesInput struct { _ struct{} `type:"structure"` // (Optional) An idempotency token for resource creation, in a string of up @@ -11172,19 +12999,21 @@ type DeleteVolumeInput struct { // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // For Amazon FSx for ONTAP volumes, specify whether to take a final backup - // of the volume and apply tags to the backup. To apply tags to the backup, - // you must have the fsx:TagResource permission. - OntapConfiguration *DeleteVolumeOntapConfiguration `type:"structure"` + // The ID of the file system to return the associated DNS aliases for (String). + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` - // For Amazon FSx for OpenZFS volumes, specify whether to delete all child volumes - // and snapshots. - OpenZFSConfiguration *DeleteVolumeOpenZFSConfiguration `type:"structure"` + // Maximum number of DNS aliases to return in the response (integer). This parameter + // value must be greater than 0. The number of items that Amazon FSx returns + // is the minimum of the MaxResults parameter specified in the request and the + // service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` - // The ID of the volume that you are deleting. - // - // VolumeId is a required field - VolumeId *string `min:"23" type:"string" required:"true"` + // Opaque pagination token returned from a previous DescribeFileSystemAliases + // operation (String). If a token is included in the request, the action continues + // the list from where the previous returning call left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11192,7 +13021,7 @@ type DeleteVolumeInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeInput) String() string { +func (s DescribeFileSystemAliasesInput) String() string { return awsutil.Prettify(s) } @@ -11201,26 +13030,27 @@ func (s DeleteVolumeInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeInput) GoString() string { +func (s DescribeFileSystemAliasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVolumeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"} +func (s *DescribeFileSystemAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemAliasesInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.VolumeId == nil { - invalidParams.Add(request.NewErrParamRequired("VolumeId")) + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) } - if s.VolumeId != nil && len(*s.VolumeId) < 23 { - invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) - } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -11230,39 +13060,40 @@ func (s *DeleteVolumeInput) Validate() error { } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteVolumeInput) SetClientRequestToken(v string) *DeleteVolumeInput { +func (s *DescribeFileSystemAliasesInput) SetClientRequestToken(v string) *DescribeFileSystemAliasesInput { s.ClientRequestToken = &v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *DeleteVolumeInput) SetOntapConfiguration(v *DeleteVolumeOntapConfiguration) *DeleteVolumeInput { - s.OntapConfiguration = v +// SetFileSystemId sets the FileSystemId field's value. +func (s *DescribeFileSystemAliasesInput) SetFileSystemId(v string) *DescribeFileSystemAliasesInput { + s.FileSystemId = &v return s } -// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. -func (s *DeleteVolumeInput) SetOpenZFSConfiguration(v *DeleteVolumeOpenZFSConfiguration) *DeleteVolumeInput { - s.OpenZFSConfiguration = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFileSystemAliasesInput) SetMaxResults(v int64) *DescribeFileSystemAliasesInput { + s.MaxResults = &v return s } -// SetVolumeId sets the VolumeId field's value. -func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput { - s.VolumeId = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemAliasesInput) SetNextToken(v string) *DescribeFileSystemAliasesInput { + s.NextToken = &v return s } -// Use to specify skipping a final backup, or to add tags to a final backup. -type DeleteVolumeOntapConfiguration struct { +// The response object for DescribeFileSystemAliases operation. +type DescribeFileSystemAliasesOutput struct { _ struct{} `type:"structure"` - // A list of Tag values, with a maximum of 50 elements. - FinalBackupTags []*Tag `min:"1" type:"list"` + // An array of one or more DNS aliases currently associated with the specified + // file system. + Aliases []*Alias `type:"list"` - // Set to true if you want to skip taking a final backup of the volume you are - // deleting. - SkipFinalBackup *bool `type:"boolean"` + // Present if there are more DNS aliases than returned in the response (String). + // You can use the NextToken value in a later request to fetch additional descriptions. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11270,7 +13101,7 @@ type DeleteVolumeOntapConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeOntapConfiguration) String() string { +func (s DescribeFileSystemAliasesOutput) String() string { return awsutil.Prettify(s) } @@ -11279,94 +13110,39 @@ func (s DeleteVolumeOntapConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeOntapConfiguration) GoString() string { +func (s DescribeFileSystemAliasesOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVolumeOntapConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeOntapConfiguration"} - if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) - } - if s.FinalBackupTags != nil { - for i, v := range s.FinalBackupTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteVolumeOntapConfiguration) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapConfiguration { - s.FinalBackupTags = v +// SetAliases sets the Aliases field's value. +func (s *DescribeFileSystemAliasesOutput) SetAliases(v []*Alias) *DescribeFileSystemAliasesOutput { + s.Aliases = v return s } -// SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteVolumeOntapConfiguration) SetSkipFinalBackup(v bool) *DeleteVolumeOntapConfiguration { - s.SkipFinalBackup = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemAliasesOutput) SetNextToken(v string) *DescribeFileSystemAliasesOutput { + s.NextToken = &v return s } -// The response object for the Amazon FSx for NetApp ONTAP volume being deleted -// in the DeleteVolume operation. -type DeleteVolumeOntapResponse struct { +// The request object for DescribeFileSystems operation. +type DescribeFileSystemsInput struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup that you are copying. - FinalBackupId *string `min:"12" type:"string"` - - // A list of Tag values, with a maximum of 50 elements. - FinalBackupTags []*Tag `min:"1" type:"list"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteVolumeOntapResponse) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeleteVolumeOntapResponse) GoString() string { - return s.String() -} - -// SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteVolumeOntapResponse) SetFinalBackupId(v string) *DeleteVolumeOntapResponse { - s.FinalBackupId = &v - return s -} - -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteVolumeOntapResponse) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapResponse { - s.FinalBackupTags = v - return s -} + // IDs of the file systems whose descriptions you want to retrieve (String). + FileSystemIds []*string `type:"list"` -// A value that specifies whether to delete all child volumes and snapshots. -type DeleteVolumeOpenZFSConfiguration struct { - _ struct{} `type:"structure"` + // Maximum number of file systems to return in the response (integer). This + // parameter value must be greater than 0. The number of items that Amazon FSx + // returns is the minimum of the MaxResults parameter specified in the request + // and the service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` - // To delete the volume's child volumes, snapshots, and clones, use the string - // DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. - Options []*string `type:"list" enum:"DeleteOpenZFSVolumeOption"` + // Opaque pagination token returned from a previous DescribeFileSystems operation + // (String). If a token present, the operation continues the list from where + // the returning call left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11374,7 +13150,7 @@ type DeleteVolumeOpenZFSConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeOpenZFSConfiguration) String() string { +func (s DescribeFileSystemsInput) String() string { return awsutil.Prettify(s) } @@ -11383,28 +13159,54 @@ func (s DeleteVolumeOpenZFSConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeOpenZFSConfiguration) GoString() string { +func (s DescribeFileSystemsInput) GoString() string { return s.String() } -// SetOptions sets the Options field's value. -func (s *DeleteVolumeOpenZFSConfiguration) SetOptions(v []*string) *DeleteVolumeOpenZFSConfiguration { - s.Options = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeFileSystemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFileSystemIds sets the FileSystemIds field's value. +func (s *DescribeFileSystemsInput) SetFileSystemIds(v []*string) *DescribeFileSystemsInput { + s.FileSystemIds = v return s } -type DeleteVolumeOutput struct { - _ struct{} `type:"structure"` +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFileSystemsInput) SetMaxResults(v int64) *DescribeFileSystemsInput { + s.MaxResults = &v + return s +} - // The lifecycle state of the volume being deleted. If the DeleteVolume operation - // is successful, this value is DELETING. - Lifecycle *string `type:"string" enum:"VolumeLifecycle"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemsInput) SetNextToken(v string) *DescribeFileSystemsInput { + s.NextToken = &v + return s +} - // Returned after a DeleteVolume request, showing the status of the delete request. - OntapResponse *DeleteVolumeOntapResponse `type:"structure"` +// The response object for DescribeFileSystems operation. +type DescribeFileSystemsOutput struct { + _ struct{} `type:"structure"` - // The ID of the volume that's being deleted. - VolumeId *string `min:"23" type:"string"` + // An array of file system descriptions. + FileSystems []*FileSystem `type:"list"` + + // Present if there are more file systems than returned in the response (String). + // You can use the NextToken value in the later request to fetch the descriptions. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11412,7 +13214,7 @@ type DeleteVolumeOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeOutput) String() string { +func (s DescribeFileSystemsOutput) String() string { return awsutil.Prettify(s) } @@ -11421,50 +13223,41 @@ func (s DeleteVolumeOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteVolumeOutput) GoString() string { +func (s DescribeFileSystemsOutput) GoString() string { return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteVolumeOutput) SetLifecycle(v string) *DeleteVolumeOutput { - s.Lifecycle = &v - return s -} - -// SetOntapResponse sets the OntapResponse field's value. -func (s *DeleteVolumeOutput) SetOntapResponse(v *DeleteVolumeOntapResponse) *DeleteVolumeOutput { - s.OntapResponse = v +// SetFileSystems sets the FileSystems field's value. +func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystem) *DescribeFileSystemsOutput { + s.FileSystems = v return s } -// SetVolumeId sets the VolumeId field's value. -func (s *DeleteVolumeOutput) SetVolumeId(v string) *DeleteVolumeOutput { - s.VolumeId = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsOutput { + s.NextToken = &v return s } -// The request object for the DescribeBackups operation. -type DescribeBackupsInput struct { +type DescribeSnapshotsInput struct { _ struct{} `type:"structure"` - // The IDs of the backups that you want to retrieve. This parameter value overrides - // any filters. If any IDs aren't found, a BackupNotFound error occurs. - BackupIds []*string `type:"list"` - - // The filters structure. The supported names are file-system-id, backup-type, - // file-system-type, and volume-id. - Filters []*Filter `type:"list"` + // The filters structure. The supported names are file-system-id or volume-id. + Filters []*SnapshotFilter `type:"list"` - // Maximum number of backups to return in the response. This parameter value - // must be greater than 0. The number of items that Amazon FSx returns is the - // minimum of the MaxResults parameter specified in the request and the service's - // internal maximum number of items per page. + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. MaxResults *int64 `min:"1" type:"integer"` - // An opaque pagination token returned from a previous DescribeBackups operation. - // If a token is present, the operation continues the list from where the returning - // call left off. + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // The IDs of the snapshots that you want to retrieve. This parameter value + // overrides any filters. If any IDs aren't found, a SnapshotNotFound error + // occurs. + SnapshotIds []*string `type:"list"` } // String returns the string representation. @@ -11472,7 +13265,7 @@ type DescribeBackupsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeBackupsInput) String() string { +func (s DescribeSnapshotsInput) String() string { return awsutil.Prettify(s) } @@ -11481,13 +13274,13 @@ func (s DescribeBackupsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeBackupsInput) GoString() string { +func (s DescribeSnapshotsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeBackupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} +func (s *DescribeSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotsInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -11501,41 +13294,40 @@ func (s *DescribeBackupsInput) Validate() error { return nil } -// SetBackupIds sets the BackupIds field's value. -func (s *DescribeBackupsInput) SetBackupIds(v []*string) *DescribeBackupsInput { - s.BackupIds = v - return s -} - // SetFilters sets the Filters field's value. -func (s *DescribeBackupsInput) SetFilters(v []*Filter) *DescribeBackupsInput { +func (s *DescribeSnapshotsInput) SetFilters(v []*SnapshotFilter) *DescribeSnapshotsInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { +func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { +func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput { s.NextToken = &v return s } -// Response object for the DescribeBackups operation. -type DescribeBackupsOutput struct { - _ struct{} `type:"structure"` +// SetSnapshotIds sets the SnapshotIds field's value. +func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput { + s.SnapshotIds = v + return s +} - // An array of backups. - Backups []*Backup `type:"list"` +type DescribeSnapshotsOutput struct { + _ struct{} `type:"structure"` - // A NextToken value is present if there are more backups than returned in the - // response. You can use the NextToken value in the subsequent request to fetch - // the backups. + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // An array of snapshots. + Snapshots []*Snapshot `type:"list"` } // String returns the string representation. @@ -11543,7 +13335,7 @@ type DescribeBackupsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeBackupsOutput) String() string { +func (s DescribeSnapshotsOutput) String() string { return awsutil.Prettify(s) } @@ -11552,31 +13344,27 @@ func (s DescribeBackupsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeBackupsOutput) GoString() string { +func (s DescribeSnapshotsOutput) GoString() string { return s.String() } -// SetBackups sets the Backups field's value. -func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { - s.Backups = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { - s.NextToken = &v +// SetSnapshots sets the Snapshots field's value. +func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { + s.Snapshots = v return s } -type DescribeDataRepositoryAssociationsInput struct { +type DescribeStorageVirtualMachinesInput struct { _ struct{} `type:"structure"` - // IDs of the data repository associations whose descriptions you want to retrieve - // (String). - AssociationIds []*string `type:"list"` - - // A list of Filter elements. - Filters []*Filter `type:"list"` + // Enter a filter name:value pair to view a select set of SVMs. + Filters []*StorageVirtualMachineFilter `type:"list"` // The maximum number of resources to return in the response. This value must // be an integer greater than zero. @@ -11586,6 +13374,9 @@ type DescribeDataRepositoryAssociationsInput struct { // If present, this token indicates from what point you can continue processing // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // Enter the ID of one or more SVMs that you want to view. + StorageVirtualMachineIds []*string `type:"list"` } // String returns the string representation. @@ -11593,7 +13384,7 @@ type DescribeDataRepositoryAssociationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryAssociationsInput) String() string { +func (s DescribeStorageVirtualMachinesInput) String() string { return awsutil.Prettify(s) } @@ -11602,13 +13393,13 @@ func (s DescribeDataRepositoryAssociationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryAssociationsInput) GoString() string { +func (s DescribeStorageVirtualMachinesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataRepositoryAssociationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryAssociationsInput"} +func (s *DescribeStorageVirtualMachinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStorageVirtualMachinesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -11622,40 +13413,41 @@ func (s *DescribeDataRepositoryAssociationsInput) Validate() error { return nil } -// SetAssociationIds sets the AssociationIds field's value. -func (s *DescribeDataRepositoryAssociationsInput) SetAssociationIds(v []*string) *DescribeDataRepositoryAssociationsInput { - s.AssociationIds = v - return s -} - // SetFilters sets the Filters field's value. -func (s *DescribeDataRepositoryAssociationsInput) SetFilters(v []*Filter) *DescribeDataRepositoryAssociationsInput { +func (s *DescribeStorageVirtualMachinesInput) SetFilters(v []*StorageVirtualMachineFilter) *DescribeStorageVirtualMachinesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeDataRepositoryAssociationsInput) SetMaxResults(v int64) *DescribeDataRepositoryAssociationsInput { +func (s *DescribeStorageVirtualMachinesInput) SetMaxResults(v int64) *DescribeStorageVirtualMachinesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeDataRepositoryAssociationsInput) SetNextToken(v string) *DescribeDataRepositoryAssociationsInput { +func (s *DescribeStorageVirtualMachinesInput) SetNextToken(v string) *DescribeStorageVirtualMachinesInput { s.NextToken = &v return s } -type DescribeDataRepositoryAssociationsOutput struct { - _ struct{} `type:"structure"` +// SetStorageVirtualMachineIds sets the StorageVirtualMachineIds field's value. +func (s *DescribeStorageVirtualMachinesInput) SetStorageVirtualMachineIds(v []*string) *DescribeStorageVirtualMachinesInput { + s.StorageVirtualMachineIds = v + return s +} - // An array of one ore more data repository association descriptions. - Associations []*DataRepositoryAssociation `type:"list"` +type DescribeStorageVirtualMachinesOutput struct { + _ struct{} `type:"structure"` // (Optional) Opaque pagination token returned from a previous operation (String). // If present, this token indicates from what point you can continue processing // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // Returned after a successful DescribeStorageVirtualMachines operation, describing + // each SVM. + StorageVirtualMachines []*StorageVirtualMachine `type:"list"` } // String returns the string representation. @@ -11663,7 +13455,7 @@ type DescribeDataRepositoryAssociationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryAssociationsOutput) String() string { +func (s DescribeStorageVirtualMachinesOutput) String() string { return awsutil.Prettify(s) } @@ -11672,29 +13464,27 @@ func (s DescribeDataRepositoryAssociationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryAssociationsOutput) GoString() string { +func (s DescribeStorageVirtualMachinesOutput) GoString() string { return s.String() } -// SetAssociations sets the Associations field's value. -func (s *DescribeDataRepositoryAssociationsOutput) SetAssociations(v []*DataRepositoryAssociation) *DescribeDataRepositoryAssociationsOutput { - s.Associations = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeStorageVirtualMachinesOutput) SetNextToken(v string) *DescribeStorageVirtualMachinesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeDataRepositoryAssociationsOutput) SetNextToken(v string) *DescribeDataRepositoryAssociationsOutput { - s.NextToken = &v +// SetStorageVirtualMachines sets the StorageVirtualMachines field's value. +func (s *DescribeStorageVirtualMachinesOutput) SetStorageVirtualMachines(v []*StorageVirtualMachine) *DescribeStorageVirtualMachinesOutput { + s.StorageVirtualMachines = v return s } -type DescribeDataRepositoryTasksInput struct { +type DescribeVolumesInput struct { _ struct{} `type:"structure"` - // (Optional) You can use filters to narrow the DescribeDataRepositoryTasks - // response to include just tasks for specific file systems, or tasks in a specific - // lifecycle state. - Filters []*DataRepositoryTaskFilter `type:"list"` + // Enter a filter Name and Values pair to view a select set of volumes. + Filters []*VolumeFilter `type:"list"` // The maximum number of resources to return in the response. This value must // be an integer greater than zero. @@ -11705,8 +13495,8 @@ type DescribeDataRepositoryTasksInput struct { // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` - // (Optional) IDs of the tasks whose descriptions you want to retrieve (String). - TaskIds []*string `type:"list"` + // The IDs of the volumes whose descriptions you want to retrieve. + VolumeIds []*string `type:"list"` } // String returns the string representation. @@ -11714,7 +13504,7 @@ type DescribeDataRepositoryTasksInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryTasksInput) String() string { +func (s DescribeVolumesInput) String() string { return awsutil.Prettify(s) } @@ -11723,13 +13513,13 @@ func (s DescribeDataRepositoryTasksInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryTasksInput) GoString() string { +func (s DescribeVolumesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataRepositoryTasksInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryTasksInput"} +func (s *DescribeVolumesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVolumesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -11744,39 +13534,39 @@ func (s *DescribeDataRepositoryTasksInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *DescribeDataRepositoryTasksInput) SetFilters(v []*DataRepositoryTaskFilter) *DescribeDataRepositoryTasksInput { +func (s *DescribeVolumesInput) SetFilters(v []*VolumeFilter) *DescribeVolumesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeDataRepositoryTasksInput) SetMaxResults(v int64) *DescribeDataRepositoryTasksInput { +func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeDataRepositoryTasksInput) SetNextToken(v string) *DescribeDataRepositoryTasksInput { +func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput { s.NextToken = &v return s } -// SetTaskIds sets the TaskIds field's value. -func (s *DescribeDataRepositoryTasksInput) SetTaskIds(v []*string) *DescribeDataRepositoryTasksInput { - s.TaskIds = v +// SetVolumeIds sets the VolumeIds field's value. +func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput { + s.VolumeIds = v return s } -type DescribeDataRepositoryTasksOutput struct { +type DescribeVolumesOutput struct { _ struct{} `type:"structure"` - // The collection of data repository task descriptions returned. - DataRepositoryTasks []*DataRepositoryTask `type:"list"` - // (Optional) Opaque pagination token returned from a previous operation (String). // If present, this token indicates from what point you can continue processing // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // Returned after a successful DescribeVolumes operation, describing each volume. + Volumes []*Volume `type:"list"` } // String returns the string representation. @@ -11784,7 +13574,7 @@ type DescribeDataRepositoryTasksOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryTasksOutput) String() string { +func (s DescribeVolumesOutput) String() string { return awsutil.Prettify(s) } @@ -11793,46 +13583,42 @@ func (s DescribeDataRepositoryTasksOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeDataRepositoryTasksOutput) GoString() string { +func (s DescribeVolumesOutput) GoString() string { return s.String() } -// SetDataRepositoryTasks sets the DataRepositoryTasks field's value. -func (s *DescribeDataRepositoryTasksOutput) SetDataRepositoryTasks(v []*DataRepositoryTask) *DescribeDataRepositoryTasksOutput { - s.DataRepositoryTasks = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeDataRepositoryTasksOutput) SetNextToken(v string) *DescribeDataRepositoryTasksOutput { - s.NextToken = &v +// SetVolumes sets the Volumes field's value. +func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput { + s.Volumes = v return s } -// The request object for DescribeFileSystemAliases operation. -type DescribeFileSystemAliasesInput struct { +// The request object of DNS aliases to disassociate from an Amazon FSx for +// Windows File Server file system. +type DisassociateFileSystemAliasesInput struct { _ struct{} `type:"structure"` + // An array of one or more DNS alias names to disassociate, or remove, from + // the file system. + // + // Aliases is a required field + Aliases []*string `type:"list" required:"true"` + // (Optional) An idempotency token for resource creation, in a string of up // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The ID of the file system to return the associated DNS aliases for (String). + // Specifies the file system from which to disassociate the DNS aliases. // // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` - - // Maximum number of DNS aliases to return in the response (integer). This parameter - // value must be greater than 0. The number of items that Amazon FSx returns - // is the minimum of the MaxResults parameter specified in the request and the - // service's internal maximum number of items per page. - MaxResults *int64 `min:"1" type:"integer"` - - // Opaque pagination token returned from a previous DescribeFileSystemAliases - // operation (String). If a token is included in the request, the action continues - // the list from where the previous returning call left off. - NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -11840,7 +13626,7 @@ type DescribeFileSystemAliasesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemAliasesInput) String() string { +func (s DisassociateFileSystemAliasesInput) String() string { return awsutil.Prettify(s) } @@ -11849,13 +13635,16 @@ func (s DescribeFileSystemAliasesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemAliasesInput) GoString() string { +func (s DisassociateFileSystemAliasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeFileSystemAliasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemAliasesInput"} +func (s *DisassociateFileSystemAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateFileSystemAliasesInput"} + if s.Aliases == nil { + invalidParams.Add(request.NewErrParamRequired("Aliases")) + } if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } @@ -11865,12 +13654,6 @@ func (s *DescribeFileSystemAliasesInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } if invalidParams.Len() > 0 { return invalidParams @@ -11878,41 +13661,73 @@ func (s *DescribeFileSystemAliasesInput) Validate() error { return nil } +// SetAliases sets the Aliases field's value. +func (s *DisassociateFileSystemAliasesInput) SetAliases(v []*string) *DisassociateFileSystemAliasesInput { + s.Aliases = v + return s +} + // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DescribeFileSystemAliasesInput) SetClientRequestToken(v string) *DescribeFileSystemAliasesInput { +func (s *DisassociateFileSystemAliasesInput) SetClientRequestToken(v string) *DisassociateFileSystemAliasesInput { s.ClientRequestToken = &v return s } // SetFileSystemId sets the FileSystemId field's value. -func (s *DescribeFileSystemAliasesInput) SetFileSystemId(v string) *DescribeFileSystemAliasesInput { +func (s *DisassociateFileSystemAliasesInput) SetFileSystemId(v string) *DisassociateFileSystemAliasesInput { s.FileSystemId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeFileSystemAliasesInput) SetMaxResults(v int64) *DescribeFileSystemAliasesInput { - s.MaxResults = &v - return s +// The system generated response showing the DNS aliases that Amazon FSx is +// attempting to disassociate from the file system. Use the API operation to +// monitor the status of the aliases Amazon FSx is removing from the file system. +type DisassociateFileSystemAliasesOutput struct { + _ struct{} `type:"structure"` + + // An array of one or more DNS aliases that Amazon FSx is attempting to disassociate + // from the file system. + Aliases []*Alias `type:"list"` } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemAliasesInput) SetNextToken(v string) *DescribeFileSystemAliasesInput { - s.NextToken = &v +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateFileSystemAliasesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DisassociateFileSystemAliasesOutput) GoString() string { + return s.String() +} + +// SetAliases sets the Aliases field's value. +func (s *DisassociateFileSystemAliasesOutput) SetAliases(v []*Alias) *DisassociateFileSystemAliasesOutput { + s.Aliases = v return s } -// The response object for DescribeFileSystemAliases operation. -type DescribeFileSystemAliasesOutput struct { +// The SSD IOPS (input/output operations per second) configuration for an Amazon +// FSx for NetApp ONTAP or Amazon FSx for OpenZFS file system. The default is +// 3 IOPS per GB of storage capacity, but you can provision additional IOPS +// per GB of storage. The configuration consists of the total number of provisioned +// SSD IOPS and how the amount was provisioned (by the customer or by the system). +type DiskIopsConfiguration struct { _ struct{} `type:"structure"` - // An array of one or more DNS aliases currently associated with the specified - // file system. - Aliases []*Alias `type:"list"` + // The total number of SSD IOPS provisioned for the file system. + Iops *int64 `type:"long"` - // Present if there are more DNS aliases than returned in the response (String). - // You can use the NextToken value in a later request to fetch additional descriptions. - NextToken *string `min:"1" type:"string"` + // Specifies whether the number of IOPS for the file system is using the system + // default (AUTOMATIC) or was provisioned by the customer (USER_PROVISIONED). + Mode *string `type:"string" enum:"DiskIopsConfigurationMode"` } // String returns the string representation. @@ -11920,7 +13735,7 @@ type DescribeFileSystemAliasesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemAliasesOutput) String() string { +func (s DiskIopsConfiguration) String() string { return awsutil.Prettify(s) } @@ -11929,39 +13744,100 @@ func (s DescribeFileSystemAliasesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemAliasesOutput) GoString() string { +func (s DiskIopsConfiguration) GoString() string { return s.String() } -// SetAliases sets the Aliases field's value. -func (s *DescribeFileSystemAliasesOutput) SetAliases(v []*Alias) *DescribeFileSystemAliasesOutput { - s.Aliases = v +// SetIops sets the Iops field's value. +func (s *DiskIopsConfiguration) SetIops(v int64) *DiskIopsConfiguration { + s.Iops = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemAliasesOutput) SetNextToken(v string) *DescribeFileSystemAliasesOutput { - s.NextToken = &v +// SetMode sets the Mode field's value. +func (s *DiskIopsConfiguration) SetMode(v string) *DiskIopsConfiguration { + s.Mode = &v return s } -// The request object for DescribeFileSystems operation. -type DescribeFileSystemsInput struct { +// A description of a specific Amazon File Cache resource, which is a response +// object from the DescribeFileCaches operation. +type FileCache struct { _ struct{} `type:"structure"` - // IDs of the file systems whose descriptions you want to retrieve (String). - FileSystemIds []*string `type:"list"` + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` - // Maximum number of file systems to return in the response (integer). This - // parameter value must be greater than 0. The number of items that Amazon FSx - // returns is the minimum of the MaxResults parameter specified in the request - // and the service's internal maximum number of items per page. - MaxResults *int64 `min:"1" type:"integer"` + // The Domain Name System (DNS) name for the cache. + DNSName *string `min:"16" type:"string"` - // Opaque pagination token returned from a previous DescribeFileSystems operation - // (String). If a token present, the operation continues the list from where - // the returning call left off. - NextToken *string `min:"1" type:"string"` + // A list of IDs of data repository associations that are associated with this + // cache. + DataRepositoryAssociationIds []*string `type:"list"` + + // A structure providing details of any failures that occurred. + FailureDetails *FileCacheFailureDetails `type:"structure"` + + // The system-generated, unique ID of the cache. + FileCacheId *string `min:"11" type:"string"` + + // The type of cache, which must be LUSTRE. + FileCacheType *string `type:"string" enum:"FileCacheType"` + + // The Lustre version of the cache, which must be 2.12. + FileCacheTypeVersion *string `min:"1" type:"string"` + + // Specifies the ID of the Key Management Service (KMS) key to use for encrypting + // data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed + // KMS key for your account is used. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The lifecycle status of the cache. The following are the possible values + // and what they mean: + // + // * AVAILABLE - The cache is in a healthy state, and is reachable and available + // for use. + // + // * CREATING - The new cache is being created. + // + // * DELETING - An existing cache is being deleted. + // + // * UPDATING - The cache is undergoing a customer-initiated update. + // + // * FAILED - An existing cache has experienced an unrecoverable failure. + // When creating a new cache, the cache was unable to be created. + Lifecycle *string `type:"string" enum:"FileCacheLifecycle"` + + // The configuration for the Amazon File Cache resource. + LustreConfiguration *FileCacheLustreConfiguration `type:"structure"` + + // A list of network interface IDs. + NetworkInterfaceIds []*string `type:"list"` + + // An Amazon Web Services account ID. This ID is a 12-digit number that you + // use to construct Amazon Resource Names (ARNs) for resources. + OwnerId *string `min:"12" type:"string"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` + + // The storage capacity of the cache in gibibytes (GiB). + StorageCapacity *int64 `type:"integer"` + + // A list of subnet IDs that the cache will be accessible from. You can specify + // only one subnet ID in a call to the CreateFileCache operation. + SubnetIds []*string `type:"list"` + + // The ID of your virtual private cloud (VPC). For more information, see VPC + // and subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) + // in the Amazon VPC User Guide. + VpcId *string `min:"12" type:"string"` } // String returns the string representation. @@ -11969,7 +13845,7 @@ type DescribeFileSystemsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemsInput) String() string { +func (s FileCache) String() string { return awsutil.Prettify(s) } @@ -11978,54 +13854,191 @@ func (s DescribeFileSystemsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemsInput) GoString() string { +func (s FileCache) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeFileSystemsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } +// SetCreationTime sets the CreationTime field's value. +func (s *FileCache) SetCreationTime(v time.Time) *FileCache { + s.CreationTime = &v + return s +} + +// SetDNSName sets the DNSName field's value. +func (s *FileCache) SetDNSName(v string) *FileCache { + s.DNSName = &v + return s +} + +// SetDataRepositoryAssociationIds sets the DataRepositoryAssociationIds field's value. +func (s *FileCache) SetDataRepositoryAssociationIds(v []*string) *FileCache { + s.DataRepositoryAssociationIds = v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *FileCache) SetFailureDetails(v *FileCacheFailureDetails) *FileCache { + s.FailureDetails = v + return s +} + +// SetFileCacheId sets the FileCacheId field's value. +func (s *FileCache) SetFileCacheId(v string) *FileCache { + s.FileCacheId = &v + return s +} + +// SetFileCacheType sets the FileCacheType field's value. +func (s *FileCache) SetFileCacheType(v string) *FileCache { + s.FileCacheType = &v + return s +} + +// SetFileCacheTypeVersion sets the FileCacheTypeVersion field's value. +func (s *FileCache) SetFileCacheTypeVersion(v string) *FileCache { + s.FileCacheTypeVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *FileCache) SetKmsKeyId(v string) *FileCache { + s.KmsKeyId = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *FileCache) SetLifecycle(v string) *FileCache { + s.Lifecycle = &v + return s +} + +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *FileCache) SetLustreConfiguration(v *FileCacheLustreConfiguration) *FileCache { + s.LustreConfiguration = v + return s +} + +// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value. +func (s *FileCache) SetNetworkInterfaceIds(v []*string) *FileCache { + s.NetworkInterfaceIds = v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetOwnerId sets the OwnerId field's value. +func (s *FileCache) SetOwnerId(v string) *FileCache { + s.OwnerId = &v + return s } -// SetFileSystemIds sets the FileSystemIds field's value. -func (s *DescribeFileSystemsInput) SetFileSystemIds(v []*string) *DescribeFileSystemsInput { - s.FileSystemIds = v +// SetResourceARN sets the ResourceARN field's value. +func (s *FileCache) SetResourceARN(v string) *FileCache { + s.ResourceARN = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeFileSystemsInput) SetMaxResults(v int64) *DescribeFileSystemsInput { - s.MaxResults = &v +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *FileCache) SetStorageCapacity(v int64) *FileCache { + s.StorageCapacity = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemsInput) SetNextToken(v string) *DescribeFileSystemsInput { - s.NextToken = &v +// SetSubnetIds sets the SubnetIds field's value. +func (s *FileCache) SetSubnetIds(v []*string) *FileCache { + s.SubnetIds = v return s } -// The response object for DescribeFileSystems operation. -type DescribeFileSystemsOutput struct { +// SetVpcId sets the VpcId field's value. +func (s *FileCache) SetVpcId(v string) *FileCache { + s.VpcId = &v + return s +} + +// The response object for the Amazon File Cache resource being created in the +// CreateFileCache operation. +type FileCacheCreating struct { _ struct{} `type:"structure"` - // An array of file system descriptions. - FileSystems []*FileSystem `type:"list"` + // A boolean flag indicating whether tags for the cache should be copied to + // data repository associations. + CopyTagsToDataRepositoryAssociations *bool `type:"boolean"` - // Present if there are more file systems than returned in the response (String). - // You can use the NextToken value in the later request to fetch the descriptions. - NextToken *string `min:"1" type:"string"` + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` + + // The Domain Name System (DNS) name for the cache. + DNSName *string `min:"16" type:"string"` + + // A list of IDs of data repository associations that are associated with this + // cache. + DataRepositoryAssociationIds []*string `type:"list"` + + // A structure providing details of any failures that occurred. + FailureDetails *FileCacheFailureDetails `type:"structure"` + + // The system-generated, unique ID of the cache. + FileCacheId *string `min:"11" type:"string"` + + // The type of cache, which must be LUSTRE. + FileCacheType *string `type:"string" enum:"FileCacheType"` + + // The Lustre version of the cache, which must be 2.12. + FileCacheTypeVersion *string `min:"1" type:"string"` + + // Specifies the ID of the Key Management Service (KMS) key to use for encrypting + // data on an Amazon File Cache. If a KmsKeyId isn't specified, the Amazon FSx-managed + // KMS key for your account is used. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The lifecycle status of the cache. The following are the possible values + // and what they mean: + // + // * AVAILABLE - The cache is in a healthy state, and is reachable and available + // for use. + // + // * CREATING - The new cache is being created. + // + // * DELETING - An existing cache is being deleted. + // + // * UPDATING - The cache is undergoing a customer-initiated update. + // + // * FAILED - An existing cache has experienced an unrecoverable failure. + // When creating a new cache, the cache was unable to be created. + Lifecycle *string `type:"string" enum:"FileCacheLifecycle"` + + // The configuration for the Amazon File Cache resource. + LustreConfiguration *FileCacheLustreConfiguration `type:"structure"` + + // A list of network interface IDs. + NetworkInterfaceIds []*string `type:"list"` + + // An Amazon Web Services account ID. This ID is a 12-digit number that you + // use to construct Amazon Resource Names (ARNs) for resources. + OwnerId *string `min:"12" type:"string"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` + + // The storage capacity of the cache in gibibytes (GiB). + StorageCapacity *int64 `type:"integer"` + + // A list of subnet IDs that the cache will be accessible from. You can specify + // only one subnet ID in a call to the CreateFileCache operation. + SubnetIds []*string `type:"list"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` + + // The ID of your virtual private cloud (VPC). For more information, see VPC + // and subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) + // in the Amazon VPC User Guide. + VpcId *string `min:"12" type:"string"` } // String returns the string representation. @@ -12033,7 +14046,7 @@ type DescribeFileSystemsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemsOutput) String() string { +func (s FileCacheCreating) String() string { return awsutil.Prettify(s) } @@ -12042,160 +14055,175 @@ func (s DescribeFileSystemsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeFileSystemsOutput) GoString() string { +func (s FileCacheCreating) GoString() string { return s.String() } -// SetFileSystems sets the FileSystems field's value. -func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystem) *DescribeFileSystemsOutput { - s.FileSystems = v +// SetCopyTagsToDataRepositoryAssociations sets the CopyTagsToDataRepositoryAssociations field's value. +func (s *FileCacheCreating) SetCopyTagsToDataRepositoryAssociations(v bool) *FileCacheCreating { + s.CopyTagsToDataRepositoryAssociations = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsOutput { - s.NextToken = &v +// SetCreationTime sets the CreationTime field's value. +func (s *FileCacheCreating) SetCreationTime(v time.Time) *FileCacheCreating { + s.CreationTime = &v return s } -type DescribeSnapshotsInput struct { - _ struct{} `type:"structure"` - - // The filters structure. The supported names are file-system-id or volume-id. - Filters []*SnapshotFilter `type:"list"` - - // The maximum number of resources to return in the response. This value must - // be an integer greater than zero. - MaxResults *int64 `min:"1" type:"integer"` - - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` - - // The IDs of the snapshots that you want to retrieve. This parameter value - // overrides any filters. If any IDs aren't found, a SnapshotNotFound error - // occurs. - SnapshotIds []*string `type:"list"` +// SetDNSName sets the DNSName field's value. +func (s *FileCacheCreating) SetDNSName(v string) *FileCacheCreating { + s.DNSName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeSnapshotsInput) String() string { - return awsutil.Prettify(s) +// SetDataRepositoryAssociationIds sets the DataRepositoryAssociationIds field's value. +func (s *FileCacheCreating) SetDataRepositoryAssociationIds(v []*string) *FileCacheCreating { + s.DataRepositoryAssociationIds = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeSnapshotsInput) GoString() string { - return s.String() +// SetFailureDetails sets the FailureDetails field's value. +func (s *FileCacheCreating) SetFailureDetails(v *FileCacheFailureDetails) *FileCacheCreating { + s.FailureDetails = v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeSnapshotsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } +// SetFileCacheId sets the FileCacheId field's value. +func (s *FileCacheCreating) SetFileCacheId(v string) *FileCacheCreating { + s.FileCacheId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetFileCacheType sets the FileCacheType field's value. +func (s *FileCacheCreating) SetFileCacheType(v string) *FileCacheCreating { + s.FileCacheType = &v + return s } -// SetFilters sets the Filters field's value. -func (s *DescribeSnapshotsInput) SetFilters(v []*SnapshotFilter) *DescribeSnapshotsInput { - s.Filters = v +// SetFileCacheTypeVersion sets the FileCacheTypeVersion field's value. +func (s *FileCacheCreating) SetFileCacheTypeVersion(v string) *FileCacheCreating { + s.FileCacheTypeVersion = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput { - s.MaxResults = &v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *FileCacheCreating) SetKmsKeyId(v string) *FileCacheCreating { + s.KmsKeyId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput { - s.NextToken = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *FileCacheCreating) SetLifecycle(v string) *FileCacheCreating { + s.Lifecycle = &v return s } -// SetSnapshotIds sets the SnapshotIds field's value. -func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput { - s.SnapshotIds = v +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *FileCacheCreating) SetLustreConfiguration(v *FileCacheLustreConfiguration) *FileCacheCreating { + s.LustreConfiguration = v return s } -type DescribeSnapshotsOutput struct { - _ struct{} `type:"structure"` +// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value. +func (s *FileCacheCreating) SetNetworkInterfaceIds(v []*string) *FileCacheCreating { + s.NetworkInterfaceIds = v + return s +} - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` +// SetOwnerId sets the OwnerId field's value. +func (s *FileCacheCreating) SetOwnerId(v string) *FileCacheCreating { + s.OwnerId = &v + return s +} - // An array of snapshots. - Snapshots []*Snapshot `type:"list"` +// SetResourceARN sets the ResourceARN field's value. +func (s *FileCacheCreating) SetResourceARN(v string) *FileCacheCreating { + s.ResourceARN = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeSnapshotsOutput) String() string { - return awsutil.Prettify(s) +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *FileCacheCreating) SetStorageCapacity(v int64) *FileCacheCreating { + s.StorageCapacity = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeSnapshotsOutput) GoString() string { - return s.String() +// SetSubnetIds sets the SubnetIds field's value. +func (s *FileCacheCreating) SetSubnetIds(v []*string) *FileCacheCreating { + s.SubnetIds = v + return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput { - s.NextToken = &v +// SetTags sets the Tags field's value. +func (s *FileCacheCreating) SetTags(v []*Tag) *FileCacheCreating { + s.Tags = v return s } -// SetSnapshots sets the Snapshots field's value. -func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { - s.Snapshots = v +// SetVpcId sets the VpcId field's value. +func (s *FileCacheCreating) SetVpcId(v string) *FileCacheCreating { + s.VpcId = &v return s } -type DescribeStorageVirtualMachinesInput struct { +// The configuration for a data repository association (DRA) to be created during +// the Amazon File Cache resource creation. The DRA links the cache to either +// an Amazon S3 bucket or prefix, or a Network File System (NFS) data repository +// that supports the NFSv3 protocol. +// +// The DRA does not support automatic import or automatic export. +type FileCacheDataRepositoryAssociation struct { _ struct{} `type:"structure"` - // Enter a filter name:value pair to view a select set of SVMs. - Filters []*StorageVirtualMachineFilter `type:"list"` + // The path to the S3 or NFS data repository that links to the cache. You must + // provide one of the following paths: + // + // * The path can be an NFS data repository that links to the cache. The + // path can be in one of two formats: If you are not using the DataRepositorySubdirectories + // parameter, the path is to an NFS Export directory (or one of its subdirectories) + // in the format nsf://nfs-domain-name/exportpath. You can therefore link + // a single NFS Export to a single data repository association. If you are + // using the DataRepositorySubdirectories parameter, the path is the domain + // name of the NFS file system in the format nfs://filer-domain-name, which + // indicates the root of the subdirectories specified with the DataRepositorySubdirectories + // parameter. + // + // * The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. + // + // DataRepositoryPath is a required field + DataRepositoryPath *string `min:"3" type:"string" required:"true"` - // The maximum number of resources to return in the response. This value must - // be an integer greater than zero. - MaxResults *int64 `min:"1" type:"integer"` + // A list of NFS Exports that will be linked with this data repository association. + // The Export paths are in the format /exportpath1. To use this parameter, you + // must configure DataRepositoryPath as the domain name of the NFS file system. + // The NFS file system domain name in effect is the root of the subdirectories. + // Note that DataRepositorySubdirectories is not supported for S3 data repositories. + DataRepositorySubdirectories []*string `type:"list"` - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` + // A path on the cache that points to a high-level directory (such as /ns1/) + // or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. + // The leading forward slash in the name is required. Two data repository associations + // cannot have overlapping cache paths. For example, if a data repository is + // associated with cache path /ns1/, then you cannot link another data repository + // with cache path /ns1/ns2. + // + // This path specifies where in your cache files will be exported from. This + // cache directory can be linked to only one data repository, and no data repository + // other can be linked to the directory. + // + // The cache path can only be set to root (/) on an NFS DRA when DataRepositorySubdirectories + // is specified. If you specify root (/) as the cache path, you can create only + // one DRA on the cache. + // + // The cache path cannot be set to root (/) for an S3 DRA. + // + // FileCachePath is a required field + FileCachePath *string `min:"1" type:"string" required:"true"` - // Enter the ID of one or more SVMs that you want to view. - StorageVirtualMachineIds []*string `type:"list"` + // The configuration for a data repository association that links an Amazon + // File Cache resource to an NFS data repository. + NFS *FileCacheNFSConfiguration `type:"structure"` } // String returns the string representation. @@ -12203,7 +14231,7 @@ type DescribeStorageVirtualMachinesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesInput) String() string { +func (s FileCacheDataRepositoryAssociation) String() string { return awsutil.Prettify(s) } @@ -12212,18 +14240,29 @@ func (s DescribeStorageVirtualMachinesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesInput) GoString() string { +func (s FileCacheDataRepositoryAssociation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStorageVirtualMachinesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStorageVirtualMachinesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *FileCacheDataRepositoryAssociation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileCacheDataRepositoryAssociation"} + if s.DataRepositoryPath == nil { + invalidParams.Add(request.NewErrParamRequired("DataRepositoryPath")) } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + if s.DataRepositoryPath != nil && len(*s.DataRepositoryPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DataRepositoryPath", 3)) + } + if s.FileCachePath == nil { + invalidParams.Add(request.NewErrParamRequired("FileCachePath")) + } + if s.FileCachePath != nil && len(*s.FileCachePath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileCachePath", 1)) + } + if s.NFS != nil { + if err := s.NFS.Validate(); err != nil { + invalidParams.AddNested("NFS", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -12232,41 +14271,36 @@ func (s *DescribeStorageVirtualMachinesInput) Validate() error { return nil } -// SetFilters sets the Filters field's value. -func (s *DescribeStorageVirtualMachinesInput) SetFilters(v []*StorageVirtualMachineFilter) *DescribeStorageVirtualMachinesInput { - s.Filters = v +// SetDataRepositoryPath sets the DataRepositoryPath field's value. +func (s *FileCacheDataRepositoryAssociation) SetDataRepositoryPath(v string) *FileCacheDataRepositoryAssociation { + s.DataRepositoryPath = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeStorageVirtualMachinesInput) SetMaxResults(v int64) *DescribeStorageVirtualMachinesInput { - s.MaxResults = &v +// SetDataRepositorySubdirectories sets the DataRepositorySubdirectories field's value. +func (s *FileCacheDataRepositoryAssociation) SetDataRepositorySubdirectories(v []*string) *FileCacheDataRepositoryAssociation { + s.DataRepositorySubdirectories = v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStorageVirtualMachinesInput) SetNextToken(v string) *DescribeStorageVirtualMachinesInput { - s.NextToken = &v +// SetFileCachePath sets the FileCachePath field's value. +func (s *FileCacheDataRepositoryAssociation) SetFileCachePath(v string) *FileCacheDataRepositoryAssociation { + s.FileCachePath = &v return s } -// SetStorageVirtualMachineIds sets the StorageVirtualMachineIds field's value. -func (s *DescribeStorageVirtualMachinesInput) SetStorageVirtualMachineIds(v []*string) *DescribeStorageVirtualMachinesInput { - s.StorageVirtualMachineIds = v +// SetNFS sets the NFS field's value. +func (s *FileCacheDataRepositoryAssociation) SetNFS(v *FileCacheNFSConfiguration) *FileCacheDataRepositoryAssociation { + s.NFS = v return s } -type DescribeStorageVirtualMachinesOutput struct { +// A structure providing details of any failures that occurred. +type FileCacheFailureDetails struct { _ struct{} `type:"structure"` - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` - - // Returned after a successful DescribeStorageVirtualMachines operation, describing - // each SVM. - StorageVirtualMachines []*StorageVirtualMachine `type:"list"` + // A message describing any failures that occurred. + Message *string `min:"1" type:"string"` } // String returns the string representation. @@ -12274,7 +14308,7 @@ type DescribeStorageVirtualMachinesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesOutput) String() string { +func (s FileCacheFailureDetails) String() string { return awsutil.Prettify(s) } @@ -12283,39 +14317,52 @@ func (s DescribeStorageVirtualMachinesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesOutput) GoString() string { +func (s FileCacheFailureDetails) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStorageVirtualMachinesOutput) SetNextToken(v string) *DescribeStorageVirtualMachinesOutput { - s.NextToken = &v - return s -} - -// SetStorageVirtualMachines sets the StorageVirtualMachines field's value. -func (s *DescribeStorageVirtualMachinesOutput) SetStorageVirtualMachines(v []*StorageVirtualMachine) *DescribeStorageVirtualMachinesOutput { - s.StorageVirtualMachines = v +// SetMessage sets the Message field's value. +func (s *FileCacheFailureDetails) SetMessage(v string) *FileCacheFailureDetails { + s.Message = &v return s } -type DescribeVolumesInput struct { +// The configuration for the Amazon File Cache resource. +type FileCacheLustreConfiguration struct { _ struct{} `type:"structure"` - // Enter a filter Name and Values pair to view a select set of volumes. - Filters []*VolumeFilter `type:"list"` + // The deployment type of the Amazon File Cache resource, which must be CACHE_1. + DeploymentType *string `type:"string" enum:"FileCacheLustreDeploymentType"` - // The maximum number of resources to return in the response. This value must - // be an integer greater than zero. - MaxResults *int64 `min:"1" type:"integer"` + // The configuration for Lustre logging used to write the enabled logging events + // for your Amazon File Cache resource to Amazon CloudWatch Logs. + LogConfiguration *LustreLogConfiguration `type:"structure"` - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` + // The configuration for a Lustre MDT (Metadata Target) storage volume. + MetadataConfiguration *FileCacheLustreMetadataConfiguration `type:"structure"` - // The IDs of the volumes whose descriptions you want to retrieve. - VolumeIds []*string `type:"list"` + // You use the MountName value when mounting the cache. If you pass a cache + // ID to the DescribeFileCaches operation, it returns the the MountName value + // as part of the cache's description. + MountName *string `min:"1" type:"string"` + + // Per unit storage throughput represents the megabytes per second of read or + // write throughput per 1 tebibyte of storage provisioned. Cache throughput + // capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). + // The only supported value is 1000. + PerUnitStorageThroughput *int64 `min:"12" type:"integer"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } // String returns the string representation. @@ -12323,7 +14370,7 @@ type DescribeVolumesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeVolumesInput) String() string { +func (s FileCacheLustreConfiguration) String() string { return awsutil.Prettify(s) } @@ -12332,60 +14379,57 @@ func (s DescribeVolumesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeVolumesInput) GoString() string { +func (s FileCacheLustreConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeVolumesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeVolumesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.NextToken != nil && len(*s.NextToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) - } +// SetDeploymentType sets the DeploymentType field's value. +func (s *FileCacheLustreConfiguration) SetDeploymentType(v string) *FileCacheLustreConfiguration { + s.DeploymentType = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLogConfiguration sets the LogConfiguration field's value. +func (s *FileCacheLustreConfiguration) SetLogConfiguration(v *LustreLogConfiguration) *FileCacheLustreConfiguration { + s.LogConfiguration = v + return s } -// SetFilters sets the Filters field's value. -func (s *DescribeVolumesInput) SetFilters(v []*VolumeFilter) *DescribeVolumesInput { - s.Filters = v +// SetMetadataConfiguration sets the MetadataConfiguration field's value. +func (s *FileCacheLustreConfiguration) SetMetadataConfiguration(v *FileCacheLustreMetadataConfiguration) *FileCacheLustreConfiguration { + s.MetadataConfiguration = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput { - s.MaxResults = &v +// SetMountName sets the MountName field's value. +func (s *FileCacheLustreConfiguration) SetMountName(v string) *FileCacheLustreConfiguration { + s.MountName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput { - s.NextToken = &v +// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. +func (s *FileCacheLustreConfiguration) SetPerUnitStorageThroughput(v int64) *FileCacheLustreConfiguration { + s.PerUnitStorageThroughput = &v return s } -// SetVolumeIds sets the VolumeIds field's value. -func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput { - s.VolumeIds = v +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *FileCacheLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *FileCacheLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v return s } -type DescribeVolumesOutput struct { +// The configuration for a Lustre MDT (Metadata Target) storage volume. The +// metadata on Amazon File Cache is managed by a Lustre Metadata Server (MDS) +// while the actual metadata is persisted on an MDT. +type FileCacheLustreMetadataConfiguration struct { _ struct{} `type:"structure"` - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` - - // Returned after a successful DescribeVolumes operation, describing each volume. - Volumes []*Volume `type:"list"` + // The storage capacity of the Lustre MDT (Metadata Target) storage volume in + // gibibytes (GiB). The only supported value is 2400 GiB. + // + // StorageCapacity is a required field + StorageCapacity *int64 `type:"integer" required:"true"` } // String returns the string representation. @@ -12393,7 +14437,7 @@ type DescribeVolumesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeVolumesOutput) String() string { +func (s FileCacheLustreMetadataConfiguration) String() string { return awsutil.Prettify(s) } @@ -12402,42 +14446,46 @@ func (s DescribeVolumesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeVolumesOutput) GoString() string { +func (s FileCacheLustreMetadataConfiguration) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput { - s.NextToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *FileCacheLustreMetadataConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileCacheLustreMetadataConfiguration"} + if s.StorageCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetVolumes sets the Volumes field's value. -func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput { - s.Volumes = v +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *FileCacheLustreMetadataConfiguration) SetStorageCapacity(v int64) *FileCacheLustreMetadataConfiguration { + s.StorageCapacity = &v return s } -// The request object of DNS aliases to disassociate from an Amazon FSx for -// Windows File Server file system. -type DisassociateFileSystemAliasesInput struct { +// The configuration for an NFS data repository association (DRA) created during +// the creation of the Amazon File Cache resource. +type FileCacheNFSConfiguration struct { _ struct{} `type:"structure"` - // An array of one or more DNS alias names to disassociate, or remove, from - // the file system. - // - // Aliases is a required field - Aliases []*string `type:"list" required:"true"` - - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // A list of up to 2 IP addresses of DNS servers used to resolve the NFS file + // system domain name. The provided IP addresses can either be the IP addresses + // of a DNS forwarder or resolver that the customer manages and runs inside + // the customer VPC, or the IP addresses of the on-premises DNS servers. + DnsIps []*string `type:"list"` - // Specifies the file system from which to disassociate the DNS aliases. + // The version of the NFS (Network File System) protocol of the NFS data repository. + // The only supported value is NFS3, which indicates that the data repository + // must support the NFSv3 protocol. // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` + // Version is a required field + Version *string `type:"string" required:"true" enum:"NfsVersion"` } // String returns the string representation. @@ -12445,7 +14493,7 @@ type DisassociateFileSystemAliasesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateFileSystemAliasesInput) String() string { +func (s FileCacheNFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -12454,24 +14502,15 @@ func (s DisassociateFileSystemAliasesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateFileSystemAliasesInput) GoString() string { +func (s FileCacheNFSConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DisassociateFileSystemAliasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisassociateFileSystemAliasesInput"} - if s.Aliases == nil { - invalidParams.Add(request.NewErrParamRequired("Aliases")) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) - } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) +func (s *FileCacheNFSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FileCacheNFSConfiguration"} + if s.Version == nil { + invalidParams.Add(request.NewErrParamRequired("Version")) } if invalidParams.Len() > 0 { @@ -12480,33 +14519,25 @@ func (s *DisassociateFileSystemAliasesInput) Validate() error { return nil } -// SetAliases sets the Aliases field's value. -func (s *DisassociateFileSystemAliasesInput) SetAliases(v []*string) *DisassociateFileSystemAliasesInput { - s.Aliases = v - return s -} - -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DisassociateFileSystemAliasesInput) SetClientRequestToken(v string) *DisassociateFileSystemAliasesInput { - s.ClientRequestToken = &v +// SetDnsIps sets the DnsIps field's value. +func (s *FileCacheNFSConfiguration) SetDnsIps(v []*string) *FileCacheNFSConfiguration { + s.DnsIps = v return s } -// SetFileSystemId sets the FileSystemId field's value. -func (s *DisassociateFileSystemAliasesInput) SetFileSystemId(v string) *DisassociateFileSystemAliasesInput { - s.FileSystemId = &v +// SetVersion sets the Version field's value. +func (s *FileCacheNFSConfiguration) SetVersion(v string) *FileCacheNFSConfiguration { + s.Version = &v return s } -// The system generated response showing the DNS aliases that Amazon FSx is -// attempting to disassociate from the file system. Use the API operation to -// monitor the status of the aliases Amazon FSx is removing from the file system. -type DisassociateFileSystemAliasesOutput struct { - _ struct{} `type:"structure"` +// No caches were found based upon supplied parameters. +type FileCacheNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // An array of one or more DNS aliases that Amazon FSx is attempting to disassociate - // from the file system. - Aliases []*Alias `type:"list"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -12514,7 +14545,7 @@ type DisassociateFileSystemAliasesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateFileSystemAliasesOutput) String() string { +func (s FileCacheNotFound) String() string { return awsutil.Prettify(s) } @@ -12523,60 +14554,46 @@ func (s DisassociateFileSystemAliasesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DisassociateFileSystemAliasesOutput) GoString() string { +func (s FileCacheNotFound) GoString() string { return s.String() } -// SetAliases sets the Aliases field's value. -func (s *DisassociateFileSystemAliasesOutput) SetAliases(v []*Alias) *DisassociateFileSystemAliasesOutput { - s.Aliases = v - return s +func newErrorFileCacheNotFound(v protocol.ResponseMetadata) error { + return &FileCacheNotFound{ + RespMetadata: v, + } } -// The SSD IOPS (input/output operations per second) configuration for an Amazon -// FSx for NetApp ONTAP or Amazon FSx for OpenZFS file system. The default is -// 3 IOPS per GB of storage capacity, but you can provision additional IOPS -// per GB of storage. The configuration consists of the total number of provisioned -// SSD IOPS and how the amount was provisioned (by the customer or by the system). -type DiskIopsConfiguration struct { - _ struct{} `type:"structure"` - - // The total number of SSD IOPS provisioned for the file system. - Iops *int64 `type:"long"` +// Code returns the exception type name. +func (s *FileCacheNotFound) Code() string { + return "FileCacheNotFound" +} - // Specifies whether the number of IOPS for the file system is using the system - // default (AUTOMATIC) or was provisioned by the customer (USER_PROVISIONED). - Mode *string `type:"string" enum:"DiskIopsConfigurationMode"` +// Message returns the exception's message. +func (s *FileCacheNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DiskIopsConfiguration) String() string { - return awsutil.Prettify(s) +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *FileCacheNotFound) OrigErr() error { + return nil } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DiskIopsConfiguration) GoString() string { - return s.String() +func (s *FileCacheNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetIops sets the Iops field's value. -func (s *DiskIopsConfiguration) SetIops(v int64) *DiskIopsConfiguration { - s.Iops = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *FileCacheNotFound) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetMode sets the Mode field's value. -func (s *DiskIopsConfiguration) SetMode(v string) *DiskIopsConfiguration { - s.Mode = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *FileCacheNotFound) RequestID() string { + return s.RespMetadata.RequestID } // A description of a specific Amazon FSx file system. @@ -14160,11 +16177,8 @@ func (s *LustreFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) } // The configuration for Lustre logging used to write the enabled logging events -// for your file system to Amazon CloudWatch Logs. -// -// When logging is enabled, Lustre logs error and warning events from data repository -// operations such as automatic export and data repository tasks. To learn more -// about Lustre logging, see Logging with Amazon CloudWatch Logs (https://docs.aws.amazon.com/fsx/latest/LustreGuide/cw-event-logging.html). +// for your Amazon FSx for Lustre file system or Amazon File Cache resource +// to Amazon CloudWatch Logs. type LustreLogConfiguration struct { _ struct{} `type:"structure"` @@ -14184,6 +16198,9 @@ type LustreLogConfiguration struct { // // * DISABLED - logging of data repository events is turned off. // + // Note that Amazon File Cache uses a default setting of WARN_ERROR, which can't + // be changed. + // // Level is a required field Level *string `type:"string" required:"true" enum:"LustreAccessAuditLogLevel"` } @@ -14219,18 +16236,12 @@ func (s *LustreLogConfiguration) SetLevel(v string) *LustreLogConfiguration { } // The Lustre logging configuration used when creating or updating an Amazon -// FSx for Lustre file system. Lustre logging writes the enabled logging events -// for your file system to Amazon CloudWatch Logs. -// -// Error and warning events can be logged from the following data repository -// operations: -// -// - Automatic export -// -// - Data repository tasks +// FSx for Lustre file system. An Amazon File Cache is created with Lustre logging +// enabled by default, with a setting of WARN_ERROR for the logging events. +// which can't be changed. // -// To learn more about Lustre logging, see Logging to Amazon CloudWatch Logs -// (https://docs.aws.amazon.com/fsx/latest/LustreGuide/cw-event-logging.html). +// Lustre logging writes the enabled logging events for your file system or +// cache to Amazon CloudWatch Logs. type LustreLogCreateConfiguration struct { _ struct{} `type:"structure"` @@ -14247,7 +16258,8 @@ type LustreLogCreateConfiguration struct { // /aws/fsx prefix. // // * If you do not provide a destination, Amazon FSx will create and use - // a log stream in the CloudWatch Logs /aws/fsx/lustre log group. + // a log stream in the CloudWatch Logs /aws/fsx/lustre log group (for Amazon + // FSx for Lustre) or /aws/fsx/filecache (for Amazon File Cache). // // * If Destination is provided and the resource does not exist, the request // will fail with a BadRequest error. @@ -14397,6 +16409,71 @@ func (s *LustreRootSquashConfiguration) SetRootSquash(v string) *LustreRootSquas return s } +// A cache configuration is required for this operation. +type MissingFileCacheConfiguration struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MissingFileCacheConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MissingFileCacheConfiguration) GoString() string { + return s.String() +} + +func newErrorMissingFileCacheConfiguration(v protocol.ResponseMetadata) error { + return &MissingFileCacheConfiguration{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *MissingFileCacheConfiguration) Code() string { + return "MissingFileCacheConfiguration" +} + +// Message returns the exception's message. +func (s *MissingFileCacheConfiguration) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *MissingFileCacheConfiguration) OrigErr() error { + return nil +} + +func (s *MissingFileCacheConfiguration) 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 *MissingFileCacheConfiguration) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *MissingFileCacheConfiguration) RequestID() string { + return s.RespMetadata.RequestID +} + // A file system configuration is required for this operation. type MissingFileSystemConfiguration struct { _ struct{} `type:"structure"` @@ -14527,6 +16604,64 @@ func (s *MissingVolumeConfiguration) RequestID() string { return s.RespMetadata.RequestID } +// The configuration for a data repository association that links an Amazon +// File Cache resource to an NFS data repository. +type NFSDataRepositoryConfiguration struct { + _ struct{} `type:"structure"` + + // This parameter is not supported for Amazon File Cache. + AutoExportPolicy *AutoExportPolicy `type:"structure"` + + // A list of up to 2 IP addresses of DNS servers used to resolve the NFS file + // system domain name. The provided IP addresses can either be the IP addresses + // of a DNS forwarder or resolver that the customer manages and runs inside + // the customer VPC, or the IP addresses of the on-premises DNS servers. + DnsIps []*string `type:"list"` + + // The version of the NFS (Network File System) protocol of the NFS data repository. + // Currently, the only supported value is NFS3, which indicates that the data + // repository must support the NFSv3 protocol. + // + // Version is a required field + Version *string `type:"string" required:"true" enum:"NfsVersion"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NFSDataRepositoryConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s NFSDataRepositoryConfiguration) GoString() string { + return s.String() +} + +// SetAutoExportPolicy sets the AutoExportPolicy field's value. +func (s *NFSDataRepositoryConfiguration) SetAutoExportPolicy(v *AutoExportPolicy) *NFSDataRepositoryConfiguration { + s.AutoExportPolicy = v + return s +} + +// SetDnsIps sets the DnsIps field's value. +func (s *NFSDataRepositoryConfiguration) SetDnsIps(v []*string) *NFSDataRepositoryConfiguration { + s.DnsIps = v + return s +} + +// SetVersion sets the Version field's value. +func (s *NFSDataRepositoryConfiguration) SetVersion(v string) *NFSDataRepositoryConfiguration { + s.Version = &v + return s +} + // The resource specified for the tagging operation is not a resource type owned // by Amazon FSx. Use the API of the relevant service to perform the operation. type NotServiceResourceError struct { @@ -15945,12 +18080,15 @@ func (s *RestoreVolumeFromSnapshotOutput) SetVolumeId(v string) *RestoreVolumeFr } // The configuration for an Amazon S3 data repository linked to an Amazon FSx -// Lustre file system with a data repository association. The configuration -// consists of an AutoImportPolicy that defines file events on the data repository -// are automatically imported to the file system and an AutoExportPolicy that -// defines which file events on the file system are automatically exported to -// the data repository. File events are when files or directories are added, +// for Lustre file system with a data repository association. The configuration +// consists of an AutoImportPolicy that defines which file events on the data +// repository are automatically imported to the file system and an AutoExportPolicy +// that defines which file events on the file system are automatically exported +// to the data repository. File events are when files or directories are added, // changed, or deleted on the file system or the data repository. +// +// Data repository associations on Amazon File Cache don't use S3DataRepositoryConfiguration +// because they don't support automatic import or automatic export. type S3DataRepositoryConfiguration struct { _ struct{} `type:"structure"` @@ -17627,6 +19765,168 @@ func (s *UpdateDataRepositoryAssociationOutput) SetAssociation(v *DataRepository return s } +type UpdateFileCacheInput struct { + _ struct{} `type:"structure"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the cache that you are updating. + // + // FileCacheId is a required field + FileCacheId *string `min:"11" type:"string" required:"true"` + + // The configuration updates for an Amazon File Cache resource. + LustreConfiguration *UpdateFileCacheLustreConfiguration `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFileCacheInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFileCacheInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFileCacheInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileCacheInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileCacheId == nil { + invalidParams.Add(request.NewErrParamRequired("FileCacheId")) + } + if s.FileCacheId != nil && len(*s.FileCacheId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileCacheId", 11)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *UpdateFileCacheInput) SetClientRequestToken(v string) *UpdateFileCacheInput { + s.ClientRequestToken = &v + return s +} + +// SetFileCacheId sets the FileCacheId field's value. +func (s *UpdateFileCacheInput) SetFileCacheId(v string) *UpdateFileCacheInput { + s.FileCacheId = &v + return s +} + +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *UpdateFileCacheInput) SetLustreConfiguration(v *UpdateFileCacheLustreConfiguration) *UpdateFileCacheInput { + s.LustreConfiguration = v + return s +} + +// The configuration update for an Amazon File Cache resource. +type UpdateFileCacheLustreConfiguration struct { + _ struct{} `type:"structure"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFileCacheLustreConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFileCacheLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFileCacheLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileCacheLustreConfiguration"} + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *UpdateFileCacheLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileCacheLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +type UpdateFileCacheOutput struct { + _ struct{} `type:"structure"` + + // A description of the cache that was updated. + FileCache *FileCache `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFileCacheOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateFileCacheOutput) GoString() string { + return s.String() +} + +// SetFileCache sets the FileCache field's value. +func (s *UpdateFileCacheOutput) SetFileCache(v *FileCache) *UpdateFileCacheOutput { + s.FileCache = v + return s +} + // The request object for the UpdateFileSystem operation. type UpdateFileSystemInput struct { _ struct{} `type:"structure"` @@ -19980,6 +22280,9 @@ const ( // DataRepositoryTaskFilterNameDataRepositoryAssociationId is a DataRepositoryTaskFilterName enum value DataRepositoryTaskFilterNameDataRepositoryAssociationId = "data-repository-association-id" + + // DataRepositoryTaskFilterNameFileCacheId is a DataRepositoryTaskFilterName enum value + DataRepositoryTaskFilterNameFileCacheId = "file-cache-id" ) // DataRepositoryTaskFilterName_Values returns all elements of the DataRepositoryTaskFilterName enum @@ -19988,6 +22291,7 @@ func DataRepositoryTaskFilterName_Values() []string { DataRepositoryTaskFilterNameFileSystemId, DataRepositoryTaskFilterNameTaskLifecycle, DataRepositoryTaskFilterNameDataRepositoryAssociationId, + DataRepositoryTaskFilterNameFileCacheId, } } @@ -20029,6 +22333,12 @@ const ( // DataRepositoryTaskTypeImportMetadataFromRepository is a DataRepositoryTaskType enum value DataRepositoryTaskTypeImportMetadataFromRepository = "IMPORT_METADATA_FROM_REPOSITORY" + + // DataRepositoryTaskTypeReleaseDataFromFilesystem is a DataRepositoryTaskType enum value + DataRepositoryTaskTypeReleaseDataFromFilesystem = "RELEASE_DATA_FROM_FILESYSTEM" + + // DataRepositoryTaskTypeAutoReleaseData is a DataRepositoryTaskType enum value + DataRepositoryTaskTypeAutoReleaseData = "AUTO_RELEASE_DATA" ) // DataRepositoryTaskType_Values returns all elements of the DataRepositoryTaskType enum @@ -20036,6 +22346,8 @@ func DataRepositoryTaskType_Values() []string { return []string{ DataRepositoryTaskTypeExportToRepository, DataRepositoryTaskTypeImportMetadataFromRepository, + DataRepositoryTaskTypeReleaseDataFromFilesystem, + DataRepositoryTaskTypeAutoReleaseData, } } @@ -20115,6 +22427,58 @@ func EventType_Values() []string { } } +const ( + // FileCacheLifecycleAvailable is a FileCacheLifecycle enum value + FileCacheLifecycleAvailable = "AVAILABLE" + + // FileCacheLifecycleCreating is a FileCacheLifecycle enum value + FileCacheLifecycleCreating = "CREATING" + + // FileCacheLifecycleDeleting is a FileCacheLifecycle enum value + FileCacheLifecycleDeleting = "DELETING" + + // FileCacheLifecycleUpdating is a FileCacheLifecycle enum value + FileCacheLifecycleUpdating = "UPDATING" + + // FileCacheLifecycleFailed is a FileCacheLifecycle enum value + FileCacheLifecycleFailed = "FAILED" +) + +// FileCacheLifecycle_Values returns all elements of the FileCacheLifecycle enum +func FileCacheLifecycle_Values() []string { + return []string{ + FileCacheLifecycleAvailable, + FileCacheLifecycleCreating, + FileCacheLifecycleDeleting, + FileCacheLifecycleUpdating, + FileCacheLifecycleFailed, + } +} + +const ( + // FileCacheLustreDeploymentTypeCache1 is a FileCacheLustreDeploymentType enum value + FileCacheLustreDeploymentTypeCache1 = "CACHE_1" +) + +// FileCacheLustreDeploymentType_Values returns all elements of the FileCacheLustreDeploymentType enum +func FileCacheLustreDeploymentType_Values() []string { + return []string{ + FileCacheLustreDeploymentTypeCache1, + } +} + +const ( + // FileCacheTypeLustre is a FileCacheType enum value + FileCacheTypeLustre = "LUSTRE" +) + +// FileCacheType_Values returns all elements of the FileCacheType enum +func FileCacheType_Values() []string { + return []string{ + FileCacheTypeLustre, + } +} + // The lifecycle status of the file system. const ( // FileSystemLifecycleAvailable is a FileSystemLifecycle enum value @@ -20210,6 +22574,12 @@ const ( // FilterNameDataRepositoryType is a FilterName enum value FilterNameDataRepositoryType = "data-repository-type" + + // FilterNameFileCacheId is a FilterName enum value + FilterNameFileCacheId = "file-cache-id" + + // FilterNameFileCacheType is a FilterName enum value + FilterNameFileCacheType = "file-cache-type" ) // FilterName_Values returns all elements of the FilterName enum @@ -20220,6 +22590,8 @@ func FilterName_Values() []string { FilterNameFileSystemType, FilterNameVolumeId, FilterNameDataRepositoryType, + FilterNameFileCacheId, + FilterNameFileCacheType, } } @@ -20291,6 +22663,18 @@ func LustreDeploymentType_Values() []string { } } +const ( + // NfsVersionNfs3 is a NfsVersion enum value + NfsVersionNfs3 = "NFS3" +) + +// NfsVersion_Values returns all elements of the NfsVersion enum +func NfsVersion_Values() []string { + return []string{ + NfsVersionNfs3, + } +} + const ( // OntapDeploymentTypeMultiAz1 is a OntapDeploymentType enum value OntapDeploymentTypeMultiAz1 = "MULTI_AZ_1" @@ -20499,6 +22883,9 @@ const ( // ServiceLimitTotalSsdIops is a ServiceLimit enum value ServiceLimitTotalSsdIops = "TOTAL_SSD_IOPS" + + // ServiceLimitFileCacheCount is a ServiceLimit enum value + ServiceLimitFileCacheCount = "FILE_CACHE_COUNT" ) // ServiceLimit_Values returns all elements of the ServiceLimit enum @@ -20513,6 +22900,7 @@ func ServiceLimit_Values() []string { ServiceLimitStorageVirtualMachinesPerFileSystem, ServiceLimitVolumesPerFileSystem, ServiceLimitTotalSsdIops, + ServiceLimitFileCacheCount, } } diff --git a/service/fsx/errors.go b/service/fsx/errors.go index 5428fed87d..f1641fe8bf 100644 --- a/service/fsx/errors.go +++ b/service/fsx/errors.go @@ -71,6 +71,12 @@ const ( // The data repository task or tasks you specified could not be found. ErrCodeDataRepositoryTaskNotFound = "DataRepositoryTaskNotFound" + // ErrCodeFileCacheNotFound for service response error code + // "FileCacheNotFound". + // + // No caches were found based upon supplied parameters. + ErrCodeFileCacheNotFound = "FileCacheNotFound" + // ErrCodeFileSystemNotFound for service response error code // "FileSystemNotFound". // @@ -148,6 +154,12 @@ const ( // The Key Management Service (KMS) key of the source backup is not valid. ErrCodeInvalidSourceKmsKey = "InvalidSourceKmsKey" + // ErrCodeMissingFileCacheConfiguration for service response error code + // "MissingFileCacheConfiguration". + // + // A cache configuration is required for this operation. + ErrCodeMissingFileCacheConfiguration = "MissingFileCacheConfiguration" + // ErrCodeMissingFileSystemConfiguration for service response error code // "MissingFileSystemConfiguration". // @@ -229,6 +241,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "DataRepositoryTaskEnded": newErrorDataRepositoryTaskEnded, "DataRepositoryTaskExecuting": newErrorDataRepositoryTaskExecuting, "DataRepositoryTaskNotFound": newErrorDataRepositoryTaskNotFound, + "FileCacheNotFound": newErrorFileCacheNotFound, "FileSystemNotFound": newErrorFileSystemNotFound, "IncompatibleParameterError": newErrorIncompatibleParameterError, "IncompatibleRegionForMultiAZ": newErrorIncompatibleRegionForMultiAZ, @@ -241,6 +254,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidPerUnitStorageThroughput": newErrorInvalidPerUnitStorageThroughput, "InvalidRegion": newErrorInvalidRegion, "InvalidSourceKmsKey": newErrorInvalidSourceKmsKey, + "MissingFileCacheConfiguration": newErrorMissingFileCacheConfiguration, "MissingFileSystemConfiguration": newErrorMissingFileSystemConfiguration, "MissingVolumeConfiguration": newErrorMissingVolumeConfiguration, "NotServiceResourceError": newErrorNotServiceResourceError, diff --git a/service/fsx/fsxiface/interface.go b/service/fsx/fsxiface/interface.go index 1e1b434dba..6706163da4 100644 --- a/service/fsx/fsxiface/interface.go +++ b/service/fsx/fsxiface/interface.go @@ -84,6 +84,10 @@ type FSxAPI interface { CreateDataRepositoryTaskWithContext(aws.Context, *fsx.CreateDataRepositoryTaskInput, ...request.Option) (*fsx.CreateDataRepositoryTaskOutput, error) CreateDataRepositoryTaskRequest(*fsx.CreateDataRepositoryTaskInput) (*request.Request, *fsx.CreateDataRepositoryTaskOutput) + CreateFileCache(*fsx.CreateFileCacheInput) (*fsx.CreateFileCacheOutput, error) + CreateFileCacheWithContext(aws.Context, *fsx.CreateFileCacheInput, ...request.Option) (*fsx.CreateFileCacheOutput, error) + CreateFileCacheRequest(*fsx.CreateFileCacheInput) (*request.Request, *fsx.CreateFileCacheOutput) + CreateFileSystem(*fsx.CreateFileSystemInput) (*fsx.CreateFileSystemOutput, error) CreateFileSystemWithContext(aws.Context, *fsx.CreateFileSystemInput, ...request.Option) (*fsx.CreateFileSystemOutput, error) CreateFileSystemRequest(*fsx.CreateFileSystemInput) (*request.Request, *fsx.CreateFileSystemOutput) @@ -116,6 +120,10 @@ type FSxAPI interface { DeleteDataRepositoryAssociationWithContext(aws.Context, *fsx.DeleteDataRepositoryAssociationInput, ...request.Option) (*fsx.DeleteDataRepositoryAssociationOutput, error) DeleteDataRepositoryAssociationRequest(*fsx.DeleteDataRepositoryAssociationInput) (*request.Request, *fsx.DeleteDataRepositoryAssociationOutput) + DeleteFileCache(*fsx.DeleteFileCacheInput) (*fsx.DeleteFileCacheOutput, error) + DeleteFileCacheWithContext(aws.Context, *fsx.DeleteFileCacheInput, ...request.Option) (*fsx.DeleteFileCacheOutput, error) + DeleteFileCacheRequest(*fsx.DeleteFileCacheInput) (*request.Request, *fsx.DeleteFileCacheOutput) + DeleteFileSystem(*fsx.DeleteFileSystemInput) (*fsx.DeleteFileSystemOutput, error) DeleteFileSystemWithContext(aws.Context, *fsx.DeleteFileSystemInput, ...request.Option) (*fsx.DeleteFileSystemOutput, error) DeleteFileSystemRequest(*fsx.DeleteFileSystemInput) (*request.Request, *fsx.DeleteFileSystemOutput) @@ -153,6 +161,13 @@ type FSxAPI interface { DescribeDataRepositoryTasksPages(*fsx.DescribeDataRepositoryTasksInput, func(*fsx.DescribeDataRepositoryTasksOutput, bool) bool) error DescribeDataRepositoryTasksPagesWithContext(aws.Context, *fsx.DescribeDataRepositoryTasksInput, func(*fsx.DescribeDataRepositoryTasksOutput, bool) bool, ...request.Option) error + DescribeFileCaches(*fsx.DescribeFileCachesInput) (*fsx.DescribeFileCachesOutput, error) + DescribeFileCachesWithContext(aws.Context, *fsx.DescribeFileCachesInput, ...request.Option) (*fsx.DescribeFileCachesOutput, error) + DescribeFileCachesRequest(*fsx.DescribeFileCachesInput) (*request.Request, *fsx.DescribeFileCachesOutput) + + DescribeFileCachesPages(*fsx.DescribeFileCachesInput, func(*fsx.DescribeFileCachesOutput, bool) bool) error + DescribeFileCachesPagesWithContext(aws.Context, *fsx.DescribeFileCachesInput, func(*fsx.DescribeFileCachesOutput, bool) bool, ...request.Option) error + DescribeFileSystemAliases(*fsx.DescribeFileSystemAliasesInput) (*fsx.DescribeFileSystemAliasesOutput, error) DescribeFileSystemAliasesWithContext(aws.Context, *fsx.DescribeFileSystemAliasesInput, ...request.Option) (*fsx.DescribeFileSystemAliasesOutput, error) DescribeFileSystemAliasesRequest(*fsx.DescribeFileSystemAliasesInput) (*request.Request, *fsx.DescribeFileSystemAliasesOutput) @@ -219,6 +234,10 @@ type FSxAPI interface { UpdateDataRepositoryAssociationWithContext(aws.Context, *fsx.UpdateDataRepositoryAssociationInput, ...request.Option) (*fsx.UpdateDataRepositoryAssociationOutput, error) UpdateDataRepositoryAssociationRequest(*fsx.UpdateDataRepositoryAssociationInput) (*request.Request, *fsx.UpdateDataRepositoryAssociationOutput) + UpdateFileCache(*fsx.UpdateFileCacheInput) (*fsx.UpdateFileCacheOutput, error) + UpdateFileCacheWithContext(aws.Context, *fsx.UpdateFileCacheInput, ...request.Option) (*fsx.UpdateFileCacheOutput, error) + UpdateFileCacheRequest(*fsx.UpdateFileCacheInput) (*request.Request, *fsx.UpdateFileCacheOutput) + UpdateFileSystem(*fsx.UpdateFileSystemInput) (*fsx.UpdateFileSystemOutput, error) UpdateFileSystemWithContext(aws.Context, *fsx.UpdateFileSystemInput, ...request.Option) (*fsx.UpdateFileSystemOutput, error) UpdateFileSystemRequest(*fsx.UpdateFileSystemInput) (*request.Request, *fsx.UpdateFileSystemOutput) diff --git a/service/migrationhuborchestrator/api.go b/service/migrationhuborchestrator/api.go new file mode 100644 index 0000000000..a76a5fea8b --- /dev/null +++ b/service/migrationhuborchestrator/api.go @@ -0,0 +1,8943 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package migrationhuborchestrator + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opCreateWorkflow = "CreateWorkflow" + +// CreateWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkflow 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 CreateWorkflow for more information on using the CreateWorkflow +// 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 CreateWorkflowRequest method. +// req, resp := client.CreateWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/CreateWorkflow +func (c *MigrationHubOrchestrator) CreateWorkflowRequest(input *CreateWorkflowInput) (req *request.Request, output *CreateWorkflowOutput) { + op := &request.Operation{ + Name: opCreateWorkflow, + HTTPMethod: "POST", + HTTPPath: "/migrationworkflow/", + } + + if input == nil { + input = &CreateWorkflowInput{} + } + + output = &CreateWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkflow API operation for AWS Migration Hub Orchestrator. +// +// Create a workflow to orchestrate your migrations. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation CreateWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/CreateWorkflow +func (c *MigrationHubOrchestrator) CreateWorkflow(input *CreateWorkflowInput) (*CreateWorkflowOutput, error) { + req, out := c.CreateWorkflowRequest(input) + return out, req.Send() +} + +// CreateWorkflowWithContext is the same as CreateWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkflow 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 *MigrationHubOrchestrator) CreateWorkflowWithContext(ctx aws.Context, input *CreateWorkflowInput, opts ...request.Option) (*CreateWorkflowOutput, error) { + req, out := c.CreateWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWorkflowStep = "CreateWorkflowStep" + +// CreateWorkflowStepRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkflowStep 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 CreateWorkflowStep for more information on using the CreateWorkflowStep +// 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 CreateWorkflowStepRequest method. +// req, resp := client.CreateWorkflowStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/CreateWorkflowStep +func (c *MigrationHubOrchestrator) CreateWorkflowStepRequest(input *CreateWorkflowStepInput) (req *request.Request, output *CreateWorkflowStepOutput) { + op := &request.Operation{ + Name: opCreateWorkflowStep, + HTTPMethod: "POST", + HTTPPath: "/workflowstep", + } + + if input == nil { + input = &CreateWorkflowStepInput{} + } + + output = &CreateWorkflowStepOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkflowStep API operation for AWS Migration Hub Orchestrator. +// +// Create a step in the migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation CreateWorkflowStep for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/CreateWorkflowStep +func (c *MigrationHubOrchestrator) CreateWorkflowStep(input *CreateWorkflowStepInput) (*CreateWorkflowStepOutput, error) { + req, out := c.CreateWorkflowStepRequest(input) + return out, req.Send() +} + +// CreateWorkflowStepWithContext is the same as CreateWorkflowStep with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkflowStep 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 *MigrationHubOrchestrator) CreateWorkflowStepWithContext(ctx aws.Context, input *CreateWorkflowStepInput, opts ...request.Option) (*CreateWorkflowStepOutput, error) { + req, out := c.CreateWorkflowStepRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWorkflowStepGroup = "CreateWorkflowStepGroup" + +// CreateWorkflowStepGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkflowStepGroup 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 CreateWorkflowStepGroup for more information on using the CreateWorkflowStepGroup +// 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 CreateWorkflowStepGroupRequest method. +// req, resp := client.CreateWorkflowStepGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/CreateWorkflowStepGroup +func (c *MigrationHubOrchestrator) CreateWorkflowStepGroupRequest(input *CreateWorkflowStepGroupInput) (req *request.Request, output *CreateWorkflowStepGroupOutput) { + op := &request.Operation{ + Name: opCreateWorkflowStepGroup, + HTTPMethod: "POST", + HTTPPath: "/workflowstepgroups", + } + + if input == nil { + input = &CreateWorkflowStepGroupInput{} + } + + output = &CreateWorkflowStepGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateWorkflowStepGroup API operation for AWS Migration Hub Orchestrator. +// +// Create a step group in a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation CreateWorkflowStepGroup for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/CreateWorkflowStepGroup +func (c *MigrationHubOrchestrator) CreateWorkflowStepGroup(input *CreateWorkflowStepGroupInput) (*CreateWorkflowStepGroupOutput, error) { + req, out := c.CreateWorkflowStepGroupRequest(input) + return out, req.Send() +} + +// CreateWorkflowStepGroupWithContext is the same as CreateWorkflowStepGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkflowStepGroup 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 *MigrationHubOrchestrator) CreateWorkflowStepGroupWithContext(ctx aws.Context, input *CreateWorkflowStepGroupInput, opts ...request.Option) (*CreateWorkflowStepGroupOutput, error) { + req, out := c.CreateWorkflowStepGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkflow = "DeleteWorkflow" + +// DeleteWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkflow 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 DeleteWorkflow for more information on using the DeleteWorkflow +// 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 DeleteWorkflowRequest method. +// req, resp := client.DeleteWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/DeleteWorkflow +func (c *MigrationHubOrchestrator) DeleteWorkflowRequest(input *DeleteWorkflowInput) (req *request.Request, output *DeleteWorkflowOutput) { + op := &request.Operation{ + Name: opDeleteWorkflow, + HTTPMethod: "DELETE", + HTTPPath: "/migrationworkflow/{id}", + } + + if input == nil { + input = &DeleteWorkflowInput{} + } + + output = &DeleteWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteWorkflow API operation for AWS Migration Hub Orchestrator. +// +// Delete a migration workflow. You must pause a running workflow in Migration +// Hub Orchestrator console to delete 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 AWS Migration Hub Orchestrator's +// API operation DeleteWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/DeleteWorkflow +func (c *MigrationHubOrchestrator) DeleteWorkflow(input *DeleteWorkflowInput) (*DeleteWorkflowOutput, error) { + req, out := c.DeleteWorkflowRequest(input) + return out, req.Send() +} + +// DeleteWorkflowWithContext is the same as DeleteWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkflow 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 *MigrationHubOrchestrator) DeleteWorkflowWithContext(ctx aws.Context, input *DeleteWorkflowInput, opts ...request.Option) (*DeleteWorkflowOutput, error) { + req, out := c.DeleteWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkflowStep = "DeleteWorkflowStep" + +// DeleteWorkflowStepRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkflowStep 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 DeleteWorkflowStep for more information on using the DeleteWorkflowStep +// 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 DeleteWorkflowStepRequest method. +// req, resp := client.DeleteWorkflowStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/DeleteWorkflowStep +func (c *MigrationHubOrchestrator) DeleteWorkflowStepRequest(input *DeleteWorkflowStepInput) (req *request.Request, output *DeleteWorkflowStepOutput) { + op := &request.Operation{ + Name: opDeleteWorkflowStep, + HTTPMethod: "DELETE", + HTTPPath: "/workflowstep/{id}", + } + + if input == nil { + input = &DeleteWorkflowStepInput{} + } + + output = &DeleteWorkflowStepOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWorkflowStep API operation for AWS Migration Hub Orchestrator. +// +// Delete a step in a migration workflow. Pause the workflow to delete a running +// step. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation DeleteWorkflowStep for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/DeleteWorkflowStep +func (c *MigrationHubOrchestrator) DeleteWorkflowStep(input *DeleteWorkflowStepInput) (*DeleteWorkflowStepOutput, error) { + req, out := c.DeleteWorkflowStepRequest(input) + return out, req.Send() +} + +// DeleteWorkflowStepWithContext is the same as DeleteWorkflowStep with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkflowStep 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 *MigrationHubOrchestrator) DeleteWorkflowStepWithContext(ctx aws.Context, input *DeleteWorkflowStepInput, opts ...request.Option) (*DeleteWorkflowStepOutput, error) { + req, out := c.DeleteWorkflowStepRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkflowStepGroup = "DeleteWorkflowStepGroup" + +// DeleteWorkflowStepGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkflowStepGroup 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 DeleteWorkflowStepGroup for more information on using the DeleteWorkflowStepGroup +// 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 DeleteWorkflowStepGroupRequest method. +// req, resp := client.DeleteWorkflowStepGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/DeleteWorkflowStepGroup +func (c *MigrationHubOrchestrator) DeleteWorkflowStepGroupRequest(input *DeleteWorkflowStepGroupInput) (req *request.Request, output *DeleteWorkflowStepGroupOutput) { + op := &request.Operation{ + Name: opDeleteWorkflowStepGroup, + HTTPMethod: "DELETE", + HTTPPath: "/workflowstepgroup/{id}", + } + + if input == nil { + input = &DeleteWorkflowStepGroupInput{} + } + + output = &DeleteWorkflowStepGroupOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteWorkflowStepGroup API operation for AWS Migration Hub Orchestrator. +// +// Delete a step group in a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation DeleteWorkflowStepGroup for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/DeleteWorkflowStepGroup +func (c *MigrationHubOrchestrator) DeleteWorkflowStepGroup(input *DeleteWorkflowStepGroupInput) (*DeleteWorkflowStepGroupOutput, error) { + req, out := c.DeleteWorkflowStepGroupRequest(input) + return out, req.Send() +} + +// DeleteWorkflowStepGroupWithContext is the same as DeleteWorkflowStepGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkflowStepGroup 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 *MigrationHubOrchestrator) DeleteWorkflowStepGroupWithContext(ctx aws.Context, input *DeleteWorkflowStepGroupInput, opts ...request.Option) (*DeleteWorkflowStepGroupOutput, error) { + req, out := c.DeleteWorkflowStepGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTemplate = "GetTemplate" + +// GetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetTemplate 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 GetTemplate for more information on using the GetTemplate +// 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 GetTemplateRequest method. +// req, resp := client.GetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetTemplate +func (c *MigrationHubOrchestrator) GetTemplateRequest(input *GetTemplateInput) (req *request.Request, output *GetTemplateOutput) { + op := &request.Operation{ + Name: opGetTemplate, + HTTPMethod: "GET", + HTTPPath: "/migrationworkflowtemplate/{id}", + } + + if input == nil { + input = &GetTemplateInput{} + } + + output = &GetTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTemplate API operation for AWS Migration Hub Orchestrator. +// +// Get the template you want to use for creating a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation GetTemplate for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetTemplate +func (c *MigrationHubOrchestrator) GetTemplate(input *GetTemplateInput) (*GetTemplateOutput, error) { + req, out := c.GetTemplateRequest(input) + return out, req.Send() +} + +// GetTemplateWithContext is the same as GetTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetTemplate 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 *MigrationHubOrchestrator) GetTemplateWithContext(ctx aws.Context, input *GetTemplateInput, opts ...request.Option) (*GetTemplateOutput, error) { + req, out := c.GetTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTemplateStep = "GetTemplateStep" + +// GetTemplateStepRequest generates a "aws/request.Request" representing the +// client's request for the GetTemplateStep 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 GetTemplateStep for more information on using the GetTemplateStep +// 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 GetTemplateStepRequest method. +// req, resp := client.GetTemplateStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetTemplateStep +func (c *MigrationHubOrchestrator) GetTemplateStepRequest(input *GetTemplateStepInput) (req *request.Request, output *GetTemplateStepOutput) { + op := &request.Operation{ + Name: opGetTemplateStep, + HTTPMethod: "GET", + HTTPPath: "/templatestep/{id}", + } + + if input == nil { + input = &GetTemplateStepInput{} + } + + output = &GetTemplateStepOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTemplateStep API operation for AWS Migration Hub Orchestrator. +// +// Get a specific step in a template. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation GetTemplateStep for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetTemplateStep +func (c *MigrationHubOrchestrator) GetTemplateStep(input *GetTemplateStepInput) (*GetTemplateStepOutput, error) { + req, out := c.GetTemplateStepRequest(input) + return out, req.Send() +} + +// GetTemplateStepWithContext is the same as GetTemplateStep with the addition of +// the ability to pass a context and additional request options. +// +// See GetTemplateStep 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 *MigrationHubOrchestrator) GetTemplateStepWithContext(ctx aws.Context, input *GetTemplateStepInput, opts ...request.Option) (*GetTemplateStepOutput, error) { + req, out := c.GetTemplateStepRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTemplateStepGroup = "GetTemplateStepGroup" + +// GetTemplateStepGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetTemplateStepGroup 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 GetTemplateStepGroup for more information on using the GetTemplateStepGroup +// 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 GetTemplateStepGroupRequest method. +// req, resp := client.GetTemplateStepGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetTemplateStepGroup +func (c *MigrationHubOrchestrator) GetTemplateStepGroupRequest(input *GetTemplateStepGroupInput) (req *request.Request, output *GetTemplateStepGroupOutput) { + op := &request.Operation{ + Name: opGetTemplateStepGroup, + HTTPMethod: "GET", + HTTPPath: "/templates/{templateId}/stepgroups/{id}", + } + + if input == nil { + input = &GetTemplateStepGroupInput{} + } + + output = &GetTemplateStepGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTemplateStepGroup API operation for AWS Migration Hub Orchestrator. +// +// Get a step group in a template. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation GetTemplateStepGroup for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetTemplateStepGroup +func (c *MigrationHubOrchestrator) GetTemplateStepGroup(input *GetTemplateStepGroupInput) (*GetTemplateStepGroupOutput, error) { + req, out := c.GetTemplateStepGroupRequest(input) + return out, req.Send() +} + +// GetTemplateStepGroupWithContext is the same as GetTemplateStepGroup with the addition of +// the ability to pass a context and additional request options. +// +// See GetTemplateStepGroup 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 *MigrationHubOrchestrator) GetTemplateStepGroupWithContext(ctx aws.Context, input *GetTemplateStepGroupInput, opts ...request.Option) (*GetTemplateStepGroupOutput, error) { + req, out := c.GetTemplateStepGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWorkflow = "GetWorkflow" + +// GetWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkflow 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 GetWorkflow for more information on using the GetWorkflow +// 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 GetWorkflowRequest method. +// req, resp := client.GetWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetWorkflow +func (c *MigrationHubOrchestrator) GetWorkflowRequest(input *GetWorkflowInput) (req *request.Request, output *GetWorkflowOutput) { + op := &request.Operation{ + Name: opGetWorkflow, + HTTPMethod: "GET", + HTTPPath: "/migrationworkflow/{id}", + } + + if input == nil { + input = &GetWorkflowInput{} + } + + output = &GetWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWorkflow API operation for AWS Migration Hub Orchestrator. +// +// Get migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation GetWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetWorkflow +func (c *MigrationHubOrchestrator) GetWorkflow(input *GetWorkflowInput) (*GetWorkflowOutput, error) { + req, out := c.GetWorkflowRequest(input) + return out, req.Send() +} + +// GetWorkflowWithContext is the same as GetWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See GetWorkflow 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 *MigrationHubOrchestrator) GetWorkflowWithContext(ctx aws.Context, input *GetWorkflowInput, opts ...request.Option) (*GetWorkflowOutput, error) { + req, out := c.GetWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWorkflowStep = "GetWorkflowStep" + +// GetWorkflowStepRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkflowStep 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 GetWorkflowStep for more information on using the GetWorkflowStep +// 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 GetWorkflowStepRequest method. +// req, resp := client.GetWorkflowStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetWorkflowStep +func (c *MigrationHubOrchestrator) GetWorkflowStepRequest(input *GetWorkflowStepInput) (req *request.Request, output *GetWorkflowStepOutput) { + op := &request.Operation{ + Name: opGetWorkflowStep, + HTTPMethod: "GET", + HTTPPath: "/workflowstep/{id}", + } + + if input == nil { + input = &GetWorkflowStepInput{} + } + + output = &GetWorkflowStepOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWorkflowStep API operation for AWS Migration Hub Orchestrator. +// +// Get a step in the migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation GetWorkflowStep for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetWorkflowStep +func (c *MigrationHubOrchestrator) GetWorkflowStep(input *GetWorkflowStepInput) (*GetWorkflowStepOutput, error) { + req, out := c.GetWorkflowStepRequest(input) + return out, req.Send() +} + +// GetWorkflowStepWithContext is the same as GetWorkflowStep with the addition of +// the ability to pass a context and additional request options. +// +// See GetWorkflowStep 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 *MigrationHubOrchestrator) GetWorkflowStepWithContext(ctx aws.Context, input *GetWorkflowStepInput, opts ...request.Option) (*GetWorkflowStepOutput, error) { + req, out := c.GetWorkflowStepRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWorkflowStepGroup = "GetWorkflowStepGroup" + +// GetWorkflowStepGroupRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkflowStepGroup 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 GetWorkflowStepGroup for more information on using the GetWorkflowStepGroup +// 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 GetWorkflowStepGroupRequest method. +// req, resp := client.GetWorkflowStepGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetWorkflowStepGroup +func (c *MigrationHubOrchestrator) GetWorkflowStepGroupRequest(input *GetWorkflowStepGroupInput) (req *request.Request, output *GetWorkflowStepGroupOutput) { + op := &request.Operation{ + Name: opGetWorkflowStepGroup, + HTTPMethod: "GET", + HTTPPath: "/workflowstepgroup/{id}", + } + + if input == nil { + input = &GetWorkflowStepGroupInput{} + } + + output = &GetWorkflowStepGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetWorkflowStepGroup API operation for AWS Migration Hub Orchestrator. +// +// Get the step group of a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation GetWorkflowStepGroup for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/GetWorkflowStepGroup +func (c *MigrationHubOrchestrator) GetWorkflowStepGroup(input *GetWorkflowStepGroupInput) (*GetWorkflowStepGroupOutput, error) { + req, out := c.GetWorkflowStepGroupRequest(input) + return out, req.Send() +} + +// GetWorkflowStepGroupWithContext is the same as GetWorkflowStepGroup with the addition of +// the ability to pass a context and additional request options. +// +// See GetWorkflowStepGroup 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 *MigrationHubOrchestrator) GetWorkflowStepGroupWithContext(ctx aws.Context, input *GetWorkflowStepGroupInput, opts ...request.Option) (*GetWorkflowStepGroupOutput, error) { + req, out := c.GetWorkflowStepGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListPlugins = "ListPlugins" + +// ListPluginsRequest generates a "aws/request.Request" representing the +// client's request for the ListPlugins 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 ListPlugins for more information on using the ListPlugins +// 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 ListPluginsRequest method. +// req, resp := client.ListPluginsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListPlugins +func (c *MigrationHubOrchestrator) ListPluginsRequest(input *ListPluginsInput) (req *request.Request, output *ListPluginsOutput) { + op := &request.Operation{ + Name: opListPlugins, + HTTPMethod: "GET", + HTTPPath: "/plugins", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPluginsInput{} + } + + output = &ListPluginsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPlugins API operation for AWS Migration Hub Orchestrator. +// +// List AWS Migration Hub Orchestrator plugins. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListPlugins for usage and error information. +// +// Returned Error Types: +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListPlugins +func (c *MigrationHubOrchestrator) ListPlugins(input *ListPluginsInput) (*ListPluginsOutput, error) { + req, out := c.ListPluginsRequest(input) + return out, req.Send() +} + +// ListPluginsWithContext is the same as ListPlugins with the addition of +// the ability to pass a context and additional request options. +// +// See ListPlugins 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 *MigrationHubOrchestrator) ListPluginsWithContext(ctx aws.Context, input *ListPluginsInput, opts ...request.Option) (*ListPluginsOutput, error) { + req, out := c.ListPluginsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPluginsPages iterates over the pages of a ListPlugins operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlugins 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 ListPlugins operation. +// pageNum := 0 +// err := client.ListPluginsPages(params, +// func(page *migrationhuborchestrator.ListPluginsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListPluginsPages(input *ListPluginsInput, fn func(*ListPluginsOutput, bool) bool) error { + return c.ListPluginsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPluginsPagesWithContext same as ListPluginsPages 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 *MigrationHubOrchestrator) ListPluginsPagesWithContext(ctx aws.Context, input *ListPluginsInput, fn func(*ListPluginsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPluginsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPluginsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPluginsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTagsForResource +func (c *MigrationHubOrchestrator) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Migration Hub Orchestrator. +// +// List the tags added to a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub Orchestrator's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTagsForResource +func (c *MigrationHubOrchestrator) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHubOrchestrator) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTemplateStepGroups = "ListTemplateStepGroups" + +// ListTemplateStepGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplateStepGroups 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 ListTemplateStepGroups for more information on using the ListTemplateStepGroups +// 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 ListTemplateStepGroupsRequest method. +// req, resp := client.ListTemplateStepGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTemplateStepGroups +func (c *MigrationHubOrchestrator) ListTemplateStepGroupsRequest(input *ListTemplateStepGroupsInput) (req *request.Request, output *ListTemplateStepGroupsOutput) { + op := &request.Operation{ + Name: opListTemplateStepGroups, + HTTPMethod: "GET", + HTTPPath: "/templatestepgroups/{templateId}", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplateStepGroupsInput{} + } + + output = &ListTemplateStepGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplateStepGroups API operation for AWS Migration Hub Orchestrator. +// +// List the step groups in a template. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListTemplateStepGroups for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTemplateStepGroups +func (c *MigrationHubOrchestrator) ListTemplateStepGroups(input *ListTemplateStepGroupsInput) (*ListTemplateStepGroupsOutput, error) { + req, out := c.ListTemplateStepGroupsRequest(input) + return out, req.Send() +} + +// ListTemplateStepGroupsWithContext is the same as ListTemplateStepGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplateStepGroups 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 *MigrationHubOrchestrator) ListTemplateStepGroupsWithContext(ctx aws.Context, input *ListTemplateStepGroupsInput, opts ...request.Option) (*ListTemplateStepGroupsOutput, error) { + req, out := c.ListTemplateStepGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplateStepGroupsPages iterates over the pages of a ListTemplateStepGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplateStepGroups 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 ListTemplateStepGroups operation. +// pageNum := 0 +// err := client.ListTemplateStepGroupsPages(params, +// func(page *migrationhuborchestrator.ListTemplateStepGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListTemplateStepGroupsPages(input *ListTemplateStepGroupsInput, fn func(*ListTemplateStepGroupsOutput, bool) bool) error { + return c.ListTemplateStepGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplateStepGroupsPagesWithContext same as ListTemplateStepGroupsPages 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 *MigrationHubOrchestrator) ListTemplateStepGroupsPagesWithContext(ctx aws.Context, input *ListTemplateStepGroupsInput, fn func(*ListTemplateStepGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplateStepGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplateStepGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplateStepGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTemplateSteps = "ListTemplateSteps" + +// ListTemplateStepsRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplateSteps 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 ListTemplateSteps for more information on using the ListTemplateSteps +// 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 ListTemplateStepsRequest method. +// req, resp := client.ListTemplateStepsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTemplateSteps +func (c *MigrationHubOrchestrator) ListTemplateStepsRequest(input *ListTemplateStepsInput) (req *request.Request, output *ListTemplateStepsOutput) { + op := &request.Operation{ + Name: opListTemplateSteps, + HTTPMethod: "GET", + HTTPPath: "/templatesteps", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplateStepsInput{} + } + + output = &ListTemplateStepsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplateSteps API operation for AWS Migration Hub Orchestrator. +// +// List the steps in a template. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListTemplateSteps for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTemplateSteps +func (c *MigrationHubOrchestrator) ListTemplateSteps(input *ListTemplateStepsInput) (*ListTemplateStepsOutput, error) { + req, out := c.ListTemplateStepsRequest(input) + return out, req.Send() +} + +// ListTemplateStepsWithContext is the same as ListTemplateSteps with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplateSteps 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 *MigrationHubOrchestrator) ListTemplateStepsWithContext(ctx aws.Context, input *ListTemplateStepsInput, opts ...request.Option) (*ListTemplateStepsOutput, error) { + req, out := c.ListTemplateStepsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplateStepsPages iterates over the pages of a ListTemplateSteps operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplateSteps 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 ListTemplateSteps operation. +// pageNum := 0 +// err := client.ListTemplateStepsPages(params, +// func(page *migrationhuborchestrator.ListTemplateStepsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListTemplateStepsPages(input *ListTemplateStepsInput, fn func(*ListTemplateStepsOutput, bool) bool) error { + return c.ListTemplateStepsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplateStepsPagesWithContext same as ListTemplateStepsPages 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 *MigrationHubOrchestrator) ListTemplateStepsPagesWithContext(ctx aws.Context, input *ListTemplateStepsInput, fn func(*ListTemplateStepsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplateStepsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplateStepsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplateStepsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTemplates = "ListTemplates" + +// ListTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListTemplates 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 ListTemplates for more information on using the ListTemplates +// 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 ListTemplatesRequest method. +// req, resp := client.ListTemplatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTemplates +func (c *MigrationHubOrchestrator) ListTemplatesRequest(input *ListTemplatesInput) (req *request.Request, output *ListTemplatesOutput) { + op := &request.Operation{ + Name: opListTemplates, + HTTPMethod: "GET", + HTTPPath: "/migrationworkflowtemplates", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTemplatesInput{} + } + + output = &ListTemplatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTemplates API operation for AWS Migration Hub Orchestrator. +// +// List the templates available in Migration Hub Orchestrator to create a migration +// workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListTemplates for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListTemplates +func (c *MigrationHubOrchestrator) ListTemplates(input *ListTemplatesInput) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + return out, req.Send() +} + +// ListTemplatesWithContext is the same as ListTemplates with the addition of +// the ability to pass a context and additional request options. +// +// See ListTemplates 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 *MigrationHubOrchestrator) ListTemplatesWithContext(ctx aws.Context, input *ListTemplatesInput, opts ...request.Option) (*ListTemplatesOutput, error) { + req, out := c.ListTemplatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTemplatesPages iterates over the pages of a ListTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTemplates 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 ListTemplates operation. +// pageNum := 0 +// err := client.ListTemplatesPages(params, +// func(page *migrationhuborchestrator.ListTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListTemplatesPages(input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool) error { + return c.ListTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTemplatesPagesWithContext same as ListTemplatesPages 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 *MigrationHubOrchestrator) ListTemplatesPagesWithContext(ctx aws.Context, input *ListTemplatesInput, fn func(*ListTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkflowStepGroups = "ListWorkflowStepGroups" + +// ListWorkflowStepGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflowStepGroups 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 ListWorkflowStepGroups for more information on using the ListWorkflowStepGroups +// 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 ListWorkflowStepGroupsRequest method. +// req, resp := client.ListWorkflowStepGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListWorkflowStepGroups +func (c *MigrationHubOrchestrator) ListWorkflowStepGroupsRequest(input *ListWorkflowStepGroupsInput) (req *request.Request, output *ListWorkflowStepGroupsOutput) { + op := &request.Operation{ + Name: opListWorkflowStepGroups, + HTTPMethod: "GET", + HTTPPath: "/workflowstepgroups", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkflowStepGroupsInput{} + } + + output = &ListWorkflowStepGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkflowStepGroups API operation for AWS Migration Hub Orchestrator. +// +// List the step groups in a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListWorkflowStepGroups for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListWorkflowStepGroups +func (c *MigrationHubOrchestrator) ListWorkflowStepGroups(input *ListWorkflowStepGroupsInput) (*ListWorkflowStepGroupsOutput, error) { + req, out := c.ListWorkflowStepGroupsRequest(input) + return out, req.Send() +} + +// ListWorkflowStepGroupsWithContext is the same as ListWorkflowStepGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkflowStepGroups 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 *MigrationHubOrchestrator) ListWorkflowStepGroupsWithContext(ctx aws.Context, input *ListWorkflowStepGroupsInput, opts ...request.Option) (*ListWorkflowStepGroupsOutput, error) { + req, out := c.ListWorkflowStepGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkflowStepGroupsPages iterates over the pages of a ListWorkflowStepGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkflowStepGroups 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 ListWorkflowStepGroups operation. +// pageNum := 0 +// err := client.ListWorkflowStepGroupsPages(params, +// func(page *migrationhuborchestrator.ListWorkflowStepGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListWorkflowStepGroupsPages(input *ListWorkflowStepGroupsInput, fn func(*ListWorkflowStepGroupsOutput, bool) bool) error { + return c.ListWorkflowStepGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkflowStepGroupsPagesWithContext same as ListWorkflowStepGroupsPages 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 *MigrationHubOrchestrator) ListWorkflowStepGroupsPagesWithContext(ctx aws.Context, input *ListWorkflowStepGroupsInput, fn func(*ListWorkflowStepGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowStepGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowStepGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowStepGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkflowSteps = "ListWorkflowSteps" + +// ListWorkflowStepsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflowSteps 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 ListWorkflowSteps for more information on using the ListWorkflowSteps +// 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 ListWorkflowStepsRequest method. +// req, resp := client.ListWorkflowStepsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListWorkflowSteps +func (c *MigrationHubOrchestrator) ListWorkflowStepsRequest(input *ListWorkflowStepsInput) (req *request.Request, output *ListWorkflowStepsOutput) { + op := &request.Operation{ + Name: opListWorkflowSteps, + HTTPMethod: "GET", + HTTPPath: "/workflow/{workflowId}/workflowstepgroups/{stepGroupId}/workflowsteps", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkflowStepsInput{} + } + + output = &ListWorkflowStepsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkflowSteps API operation for AWS Migration Hub Orchestrator. +// +// List the steps in a workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListWorkflowSteps for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListWorkflowSteps +func (c *MigrationHubOrchestrator) ListWorkflowSteps(input *ListWorkflowStepsInput) (*ListWorkflowStepsOutput, error) { + req, out := c.ListWorkflowStepsRequest(input) + return out, req.Send() +} + +// ListWorkflowStepsWithContext is the same as ListWorkflowSteps with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkflowSteps 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 *MigrationHubOrchestrator) ListWorkflowStepsWithContext(ctx aws.Context, input *ListWorkflowStepsInput, opts ...request.Option) (*ListWorkflowStepsOutput, error) { + req, out := c.ListWorkflowStepsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkflowStepsPages iterates over the pages of a ListWorkflowSteps operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkflowSteps 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 ListWorkflowSteps operation. +// pageNum := 0 +// err := client.ListWorkflowStepsPages(params, +// func(page *migrationhuborchestrator.ListWorkflowStepsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListWorkflowStepsPages(input *ListWorkflowStepsInput, fn func(*ListWorkflowStepsOutput, bool) bool) error { + return c.ListWorkflowStepsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkflowStepsPagesWithContext same as ListWorkflowStepsPages 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 *MigrationHubOrchestrator) ListWorkflowStepsPagesWithContext(ctx aws.Context, input *ListWorkflowStepsInput, fn func(*ListWorkflowStepsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowStepsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowStepsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowStepsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListWorkflows = "ListWorkflows" + +// ListWorkflowsRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkflows 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 ListWorkflows for more information on using the ListWorkflows +// 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 ListWorkflowsRequest method. +// req, resp := client.ListWorkflowsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListWorkflows +func (c *MigrationHubOrchestrator) ListWorkflowsRequest(input *ListWorkflowsInput) (req *request.Request, output *ListWorkflowsOutput) { + op := &request.Operation{ + Name: opListWorkflows, + HTTPMethod: "GET", + HTTPPath: "/migrationworkflows", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkflowsInput{} + } + + output = &ListWorkflowsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListWorkflows API operation for AWS Migration Hub Orchestrator. +// +// List the migration workflows. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation ListWorkflows for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/ListWorkflows +func (c *MigrationHubOrchestrator) ListWorkflows(input *ListWorkflowsInput) (*ListWorkflowsOutput, error) { + req, out := c.ListWorkflowsRequest(input) + return out, req.Send() +} + +// ListWorkflowsWithContext is the same as ListWorkflows with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkflows 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 *MigrationHubOrchestrator) ListWorkflowsWithContext(ctx aws.Context, input *ListWorkflowsInput, opts ...request.Option) (*ListWorkflowsOutput, error) { + req, out := c.ListWorkflowsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkflowsPages iterates over the pages of a ListWorkflows operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkflows 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 ListWorkflows operation. +// pageNum := 0 +// err := client.ListWorkflowsPages(params, +// func(page *migrationhuborchestrator.ListWorkflowsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *MigrationHubOrchestrator) ListWorkflowsPages(input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool) error { + return c.ListWorkflowsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkflowsPagesWithContext same as ListWorkflowsPages 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 *MigrationHubOrchestrator) ListWorkflowsPagesWithContext(ctx aws.Context, input *ListWorkflowsInput, fn func(*ListWorkflowsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkflowsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkflowsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkflowsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opRetryWorkflowStep = "RetryWorkflowStep" + +// RetryWorkflowStepRequest generates a "aws/request.Request" representing the +// client's request for the RetryWorkflowStep 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 RetryWorkflowStep for more information on using the RetryWorkflowStep +// 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 RetryWorkflowStepRequest method. +// req, resp := client.RetryWorkflowStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/RetryWorkflowStep +func (c *MigrationHubOrchestrator) RetryWorkflowStepRequest(input *RetryWorkflowStepInput) (req *request.Request, output *RetryWorkflowStepOutput) { + op := &request.Operation{ + Name: opRetryWorkflowStep, + HTTPMethod: "POST", + HTTPPath: "/retryworkflowstep/{id}", + } + + if input == nil { + input = &RetryWorkflowStepInput{} + } + + output = &RetryWorkflowStepOutput{} + req = c.newRequest(op, input, output) + return +} + +// RetryWorkflowStep API operation for AWS Migration Hub Orchestrator. +// +// Retry a failed step in a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation RetryWorkflowStep for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/RetryWorkflowStep +func (c *MigrationHubOrchestrator) RetryWorkflowStep(input *RetryWorkflowStepInput) (*RetryWorkflowStepOutput, error) { + req, out := c.RetryWorkflowStepRequest(input) + return out, req.Send() +} + +// RetryWorkflowStepWithContext is the same as RetryWorkflowStep with the addition of +// the ability to pass a context and additional request options. +// +// See RetryWorkflowStep 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 *MigrationHubOrchestrator) RetryWorkflowStepWithContext(ctx aws.Context, input *RetryWorkflowStepInput, opts ...request.Option) (*RetryWorkflowStepOutput, error) { + req, out := c.RetryWorkflowStepRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartWorkflow = "StartWorkflow" + +// StartWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the StartWorkflow 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 StartWorkflow for more information on using the StartWorkflow +// 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 StartWorkflowRequest method. +// req, resp := client.StartWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/StartWorkflow +func (c *MigrationHubOrchestrator) StartWorkflowRequest(input *StartWorkflowInput) (req *request.Request, output *StartWorkflowOutput) { + op := &request.Operation{ + Name: opStartWorkflow, + HTTPMethod: "POST", + HTTPPath: "/migrationworkflow/{id}/start", + } + + if input == nil { + input = &StartWorkflowInput{} + } + + output = &StartWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartWorkflow API operation for AWS Migration Hub Orchestrator. +// +// Start a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation StartWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/StartWorkflow +func (c *MigrationHubOrchestrator) StartWorkflow(input *StartWorkflowInput) (*StartWorkflowOutput, error) { + req, out := c.StartWorkflowRequest(input) + return out, req.Send() +} + +// StartWorkflowWithContext is the same as StartWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See StartWorkflow 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 *MigrationHubOrchestrator) StartWorkflowWithContext(ctx aws.Context, input *StartWorkflowInput, opts ...request.Option) (*StartWorkflowOutput, error) { + req, out := c.StartWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStopWorkflow = "StopWorkflow" + +// StopWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the StopWorkflow 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 StopWorkflow for more information on using the StopWorkflow +// 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 StopWorkflowRequest method. +// req, resp := client.StopWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/StopWorkflow +func (c *MigrationHubOrchestrator) StopWorkflowRequest(input *StopWorkflowInput) (req *request.Request, output *StopWorkflowOutput) { + op := &request.Operation{ + Name: opStopWorkflow, + HTTPMethod: "POST", + HTTPPath: "/migrationworkflow/{id}/stop", + } + + if input == nil { + input = &StopWorkflowInput{} + } + + output = &StopWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// StopWorkflow API operation for AWS Migration Hub Orchestrator. +// +// Stop an ongoing migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation StopWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/StopWorkflow +func (c *MigrationHubOrchestrator) StopWorkflow(input *StopWorkflowInput) (*StopWorkflowOutput, error) { + req, out := c.StopWorkflowRequest(input) + return out, req.Send() +} + +// StopWorkflowWithContext is the same as StopWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See StopWorkflow 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 *MigrationHubOrchestrator) StopWorkflowWithContext(ctx aws.Context, input *StopWorkflowInput, opts ...request.Option) (*StopWorkflowOutput, error) { + req, out := c.StopWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/TagResource +func (c *MigrationHubOrchestrator) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Migration Hub Orchestrator. +// +// Tag a resource by specifying its Amazon Resource Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub Orchestrator's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/TagResource +func (c *MigrationHubOrchestrator) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHubOrchestrator) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UntagResource +func (c *MigrationHubOrchestrator) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Migration Hub Orchestrator. +// +// Deletes the tags for a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Migration Hub Orchestrator's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UntagResource +func (c *MigrationHubOrchestrator) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MigrationHubOrchestrator) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkflow = "UpdateWorkflow" + +// UpdateWorkflowRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkflow 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 UpdateWorkflow for more information on using the UpdateWorkflow +// 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 UpdateWorkflowRequest method. +// req, resp := client.UpdateWorkflowRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UpdateWorkflow +func (c *MigrationHubOrchestrator) UpdateWorkflowRequest(input *UpdateWorkflowInput) (req *request.Request, output *UpdateWorkflowOutput) { + op := &request.Operation{ + Name: opUpdateWorkflow, + HTTPMethod: "POST", + HTTPPath: "/migrationworkflow/{id}", + } + + if input == nil { + input = &UpdateWorkflowInput{} + } + + output = &UpdateWorkflowOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateWorkflow API operation for AWS Migration Hub Orchestrator. +// +// Update a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation UpdateWorkflow for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UpdateWorkflow +func (c *MigrationHubOrchestrator) UpdateWorkflow(input *UpdateWorkflowInput) (*UpdateWorkflowOutput, error) { + req, out := c.UpdateWorkflowRequest(input) + return out, req.Send() +} + +// UpdateWorkflowWithContext is the same as UpdateWorkflow with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkflow 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 *MigrationHubOrchestrator) UpdateWorkflowWithContext(ctx aws.Context, input *UpdateWorkflowInput, opts ...request.Option) (*UpdateWorkflowOutput, error) { + req, out := c.UpdateWorkflowRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkflowStep = "UpdateWorkflowStep" + +// UpdateWorkflowStepRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkflowStep 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 UpdateWorkflowStep for more information on using the UpdateWorkflowStep +// 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 UpdateWorkflowStepRequest method. +// req, resp := client.UpdateWorkflowStepRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UpdateWorkflowStep +func (c *MigrationHubOrchestrator) UpdateWorkflowStepRequest(input *UpdateWorkflowStepInput) (req *request.Request, output *UpdateWorkflowStepOutput) { + op := &request.Operation{ + Name: opUpdateWorkflowStep, + HTTPMethod: "POST", + HTTPPath: "/workflowstep/{id}", + } + + if input == nil { + input = &UpdateWorkflowStepInput{} + } + + output = &UpdateWorkflowStepOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateWorkflowStep API operation for AWS Migration Hub Orchestrator. +// +// Update a step in a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation UpdateWorkflowStep for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UpdateWorkflowStep +func (c *MigrationHubOrchestrator) UpdateWorkflowStep(input *UpdateWorkflowStepInput) (*UpdateWorkflowStepOutput, error) { + req, out := c.UpdateWorkflowStepRequest(input) + return out, req.Send() +} + +// UpdateWorkflowStepWithContext is the same as UpdateWorkflowStep with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkflowStep 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 *MigrationHubOrchestrator) UpdateWorkflowStepWithContext(ctx aws.Context, input *UpdateWorkflowStepInput, opts ...request.Option) (*UpdateWorkflowStepOutput, error) { + req, out := c.UpdateWorkflowStepRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkflowStepGroup = "UpdateWorkflowStepGroup" + +// UpdateWorkflowStepGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkflowStepGroup 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 UpdateWorkflowStepGroup for more information on using the UpdateWorkflowStepGroup +// 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 UpdateWorkflowStepGroupRequest method. +// req, resp := client.UpdateWorkflowStepGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UpdateWorkflowStepGroup +func (c *MigrationHubOrchestrator) UpdateWorkflowStepGroupRequest(input *UpdateWorkflowStepGroupInput) (req *request.Request, output *UpdateWorkflowStepGroupOutput) { + op := &request.Operation{ + Name: opUpdateWorkflowStepGroup, + HTTPMethod: "POST", + HTTPPath: "/workflowstepgroup/{id}", + } + + if input == nil { + input = &UpdateWorkflowStepGroupInput{} + } + + output = &UpdateWorkflowStepGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateWorkflowStepGroup API operation for AWS Migration Hub Orchestrator. +// +// Update the step group in a migration workflow. +// +// Returns awserr.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 Migration Hub Orchestrator's +// API operation UpdateWorkflowStepGroup for usage and error information. +// +// Returned Error Types: +// +// - ThrottlingException +// The request was denied due to request throttling. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - InternalServerException +// An internal error has occurred. +// +// - ValidationException +// The input fails to satisfy the constraints specified by an AWS service. +// +// - ResourceNotFoundException +// The resource is not available. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28/UpdateWorkflowStepGroup +func (c *MigrationHubOrchestrator) UpdateWorkflowStepGroup(input *UpdateWorkflowStepGroupInput) (*UpdateWorkflowStepGroupOutput, error) { + req, out := c.UpdateWorkflowStepGroupRequest(input) + return out, req.Send() +} + +// UpdateWorkflowStepGroupWithContext is the same as UpdateWorkflowStepGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkflowStepGroup 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 *MigrationHubOrchestrator) UpdateWorkflowStepGroupWithContext(ctx aws.Context, input *UpdateWorkflowStepGroupInput, opts ...request.Option) (*UpdateWorkflowStepGroupOutput, error) { + req, out := c.UpdateWorkflowStepGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateWorkflowInput struct { + _ struct{} `type:"structure"` + + // The configuration ID of the application configured in Application Discovery + // Service. + // + // ApplicationConfigurationId is a required field + ApplicationConfigurationId *string `locationName:"applicationConfigurationId" min:"1" type:"string" required:"true"` + + // The description of the migration workflow. + Description *string `locationName:"description" type:"string"` + + // The input parameters required to create a migration workflow. + // + // InputParameters is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateWorkflowInput's + // String and GoString methods. + // + // InputParameters is a required field + InputParameters map[string]*StepInput_ `locationName:"inputParameters" type:"map" required:"true" sensitive:"true"` + + // The name of the migration workflow. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The servers on which a step will be run. + StepTargets []*string `locationName:"stepTargets" type:"list"` + + // The tags to add on a migration workflow. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the template. + // + // TemplateId is a required field + TemplateId *string `locationName:"templateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowInput"} + if s.ApplicationConfigurationId == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationConfigurationId")) + } + if s.ApplicationConfigurationId != nil && len(*s.ApplicationConfigurationId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationConfigurationId", 1)) + } + if s.InputParameters == nil { + invalidParams.Add(request.NewErrParamRequired("InputParameters")) + } + 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.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationConfigurationId sets the ApplicationConfigurationId field's value. +func (s *CreateWorkflowInput) SetApplicationConfigurationId(v string) *CreateWorkflowInput { + s.ApplicationConfigurationId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkflowInput) SetDescription(v string) *CreateWorkflowInput { + s.Description = &v + return s +} + +// SetInputParameters sets the InputParameters field's value. +func (s *CreateWorkflowInput) SetInputParameters(v map[string]*StepInput_) *CreateWorkflowInput { + s.InputParameters = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkflowInput) SetName(v string) *CreateWorkflowInput { + s.Name = &v + return s +} + +// SetStepTargets sets the StepTargets field's value. +func (s *CreateWorkflowInput) SetStepTargets(v []*string) *CreateWorkflowInput { + s.StepTargets = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkflowInput) SetTags(v map[string]*string) *CreateWorkflowInput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateWorkflowInput) SetTemplateId(v string) *CreateWorkflowInput { + s.TemplateId = &v + return s +} + +type CreateWorkflowOutput struct { + _ struct{} `type:"structure"` + + // The configuration ID of the application configured in Application Discovery + // Service. + AdsApplicationConfigurationId *string `locationName:"adsApplicationConfigurationId" type:"string"` + + // The Amazon Resource Name (ARN) of the migration workflow. + Arn *string `locationName:"arn" type:"string"` + + // The time at which the migration workflow was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the migration workflow. + Description *string `locationName:"description" type:"string"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the migration workflow. + Name *string `locationName:"name" type:"string"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The servers on which a step will be run. + StepTargets []*string `locationName:"stepTargets" type:"list"` + + // The tags to add on a migration workflow. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" type:"string"` + + // The inputs for creating a migration workflow. + // + // WorkflowInputs is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateWorkflowOutput's + // String and GoString methods. + WorkflowInputs map[string]*StepInput_ `locationName:"workflowInputs" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowOutput) GoString() string { + return s.String() +} + +// SetAdsApplicationConfigurationId sets the AdsApplicationConfigurationId field's value. +func (s *CreateWorkflowOutput) SetAdsApplicationConfigurationId(v string) *CreateWorkflowOutput { + s.AdsApplicationConfigurationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *CreateWorkflowOutput) SetArn(v string) *CreateWorkflowOutput { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateWorkflowOutput) SetCreationTime(v time.Time) *CreateWorkflowOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkflowOutput) SetDescription(v string) *CreateWorkflowOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateWorkflowOutput) SetId(v string) *CreateWorkflowOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkflowOutput) SetName(v string) *CreateWorkflowOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *CreateWorkflowOutput) SetStatus(v string) *CreateWorkflowOutput { + s.Status = &v + return s +} + +// SetStepTargets sets the StepTargets field's value. +func (s *CreateWorkflowOutput) SetStepTargets(v []*string) *CreateWorkflowOutput { + s.StepTargets = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkflowOutput) SetTags(v map[string]*string) *CreateWorkflowOutput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *CreateWorkflowOutput) SetTemplateId(v string) *CreateWorkflowOutput { + s.TemplateId = &v + return s +} + +// SetWorkflowInputs sets the WorkflowInputs field's value. +func (s *CreateWorkflowOutput) SetWorkflowInputs(v map[string]*StepInput_) *CreateWorkflowOutput { + s.WorkflowInputs = v + return s +} + +type CreateWorkflowStepGroupInput struct { + _ struct{} `type:"structure"` + + // The description of the step group. + Description *string `locationName:"description" type:"string"` + + // The name of the step group. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // The ID of the migration workflow that will contain the step group. + // + // WorkflowId is a required field + WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkflowStepGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowStepGroupInput"} + 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.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkflowStepGroupInput) SetDescription(v string) *CreateWorkflowStepGroupInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkflowStepGroupInput) SetName(v string) *CreateWorkflowStepGroupInput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *CreateWorkflowStepGroupInput) SetNext(v []*string) *CreateWorkflowStepGroupInput { + s.Next = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *CreateWorkflowStepGroupInput) SetPrevious(v []*string) *CreateWorkflowStepGroupInput { + s.Previous = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *CreateWorkflowStepGroupInput) SetWorkflowId(v string) *CreateWorkflowStepGroupInput { + s.WorkflowId = &v + return s +} + +type CreateWorkflowStepGroupOutput struct { + _ struct{} `type:"structure"` + + // The time at which the step group is created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the step group. + Description *string `locationName:"description" type:"string"` + + // The ID of the step group. + Id *string `locationName:"id" type:"string"` + + // The name of the step group. + Name *string `locationName:"name" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // List of AWS services utilized in a migration workflow. + Tools []*Tool `locationName:"tools" type:"list"` + + // The ID of the migration workflow that contains the step group. + WorkflowId *string `locationName:"workflowId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepGroupOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *CreateWorkflowStepGroupOutput) SetCreationTime(v time.Time) *CreateWorkflowStepGroupOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkflowStepGroupOutput) SetDescription(v string) *CreateWorkflowStepGroupOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CreateWorkflowStepGroupOutput) SetId(v string) *CreateWorkflowStepGroupOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkflowStepGroupOutput) SetName(v string) *CreateWorkflowStepGroupOutput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *CreateWorkflowStepGroupOutput) SetNext(v []*string) *CreateWorkflowStepGroupOutput { + s.Next = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *CreateWorkflowStepGroupOutput) SetPrevious(v []*string) *CreateWorkflowStepGroupOutput { + s.Previous = v + return s +} + +// SetTools sets the Tools field's value. +func (s *CreateWorkflowStepGroupOutput) SetTools(v []*Tool) *CreateWorkflowStepGroupOutput { + s.Tools = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *CreateWorkflowStepGroupOutput) SetWorkflowId(v string) *CreateWorkflowStepGroupOutput { + s.WorkflowId = &v + return s +} + +type CreateWorkflowStepInput struct { + _ struct{} `type:"structure"` + + // The description of the step. + Description *string `locationName:"description" type:"string"` + + // The name of the step. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The next step. + Next []*string `locationName:"next" type:"list"` + + // The key value pairs added for the expected output. + Outputs []*WorkflowStepOutput_ `locationName:"outputs" type:"list"` + + // The previous step. + Previous []*string `locationName:"previous" type:"list"` + + // The action type of the step. You must run and update the status of a manual + // step for the workflow to continue after the completion of the step. + // + // StepActionType is a required field + StepActionType *string `locationName:"stepActionType" type:"string" required:"true" enum:"StepActionType"` + + // The ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The servers on which a step will be run. + StepTarget []*string `locationName:"stepTarget" type:"list"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"` + + // The custom script to run tests on source or target environments. + WorkflowStepAutomationConfiguration *WorkflowStepAutomationConfiguration `locationName:"workflowStepAutomationConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkflowStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkflowStepInput"} + 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.StepActionType == nil { + invalidParams.Add(request.NewErrParamRequired("StepActionType")) + } + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkflowStepInput) SetDescription(v string) *CreateWorkflowStepInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkflowStepInput) SetName(v string) *CreateWorkflowStepInput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *CreateWorkflowStepInput) SetNext(v []*string) *CreateWorkflowStepInput { + s.Next = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *CreateWorkflowStepInput) SetOutputs(v []*WorkflowStepOutput_) *CreateWorkflowStepInput { + s.Outputs = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *CreateWorkflowStepInput) SetPrevious(v []*string) *CreateWorkflowStepInput { + s.Previous = v + return s +} + +// SetStepActionType sets the StepActionType field's value. +func (s *CreateWorkflowStepInput) SetStepActionType(v string) *CreateWorkflowStepInput { + s.StepActionType = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *CreateWorkflowStepInput) SetStepGroupId(v string) *CreateWorkflowStepInput { + s.StepGroupId = &v + return s +} + +// SetStepTarget sets the StepTarget field's value. +func (s *CreateWorkflowStepInput) SetStepTarget(v []*string) *CreateWorkflowStepInput { + s.StepTarget = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *CreateWorkflowStepInput) SetWorkflowId(v string) *CreateWorkflowStepInput { + s.WorkflowId = &v + return s +} + +// SetWorkflowStepAutomationConfiguration sets the WorkflowStepAutomationConfiguration field's value. +func (s *CreateWorkflowStepInput) SetWorkflowStepAutomationConfiguration(v *WorkflowStepAutomationConfiguration) *CreateWorkflowStepInput { + s.WorkflowStepAutomationConfiguration = v + return s +} + +type CreateWorkflowStepOutput struct { + _ struct{} `type:"structure"` + + // The ID of the step. + Id *string `locationName:"id" type:"string"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // The ID of the step group. + StepGroupId *string `locationName:"stepGroupId" type:"string"` + + // The ID of the migration workflow. + WorkflowId *string `locationName:"workflowId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateWorkflowStepOutput) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *CreateWorkflowStepOutput) SetId(v string) *CreateWorkflowStepOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateWorkflowStepOutput) SetName(v string) *CreateWorkflowStepOutput { + s.Name = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *CreateWorkflowStepOutput) SetStepGroupId(v string) *CreateWorkflowStepOutput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *CreateWorkflowStepOutput) SetWorkflowId(v string) *CreateWorkflowStepOutput { + s.WorkflowId = &v + return s +} + +type DeleteWorkflowInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the migration workflow you want to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWorkflowInput) SetId(v string) *DeleteWorkflowInput { + s.Id = &v + return s +} + +type DeleteWorkflowOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the migration workflow. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *DeleteWorkflowOutput) SetArn(v string) *DeleteWorkflowOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *DeleteWorkflowOutput) SetId(v string) *DeleteWorkflowOutput { + s.Id = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteWorkflowOutput) SetStatus(v string) *DeleteWorkflowOutput { + s.Status = &v + return s +} + +type DeleteWorkflowStepGroupInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step group you want to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkflowStepGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowStepGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWorkflowStepGroupInput) SetId(v string) *DeleteWorkflowStepGroupInput { + s.Id = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *DeleteWorkflowStepGroupInput) SetWorkflowId(v string) *DeleteWorkflowStepGroupInput { + s.WorkflowId = &v + return s +} + +type DeleteWorkflowStepGroupOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepGroupOutput) GoString() string { + return s.String() +} + +type DeleteWorkflowStepInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step you want to delete. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The ID of the step group that contains the step you want to delete. + // + // StepGroupId is a required field + StepGroupId *string `location:"querystring" locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkflowStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkflowStepInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *DeleteWorkflowStepInput) SetId(v string) *DeleteWorkflowStepInput { + s.Id = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *DeleteWorkflowStepInput) SetStepGroupId(v string) *DeleteWorkflowStepInput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *DeleteWorkflowStepInput) SetWorkflowId(v string) *DeleteWorkflowStepInput { + s.WorkflowId = &v + return s +} + +type DeleteWorkflowStepOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteWorkflowStepOutput) GoString() string { + return s.String() +} + +type GetTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the template. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTemplateInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetTemplateInput) SetId(v string) *GetTemplateInput { + s.Id = &v + return s +} + +type GetTemplateOutput struct { + _ struct{} `type:"structure"` + + // The time at which the template was last created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time at which the template was last created. + Description *string `locationName:"description" type:"string"` + + // The ID of the template. + Id *string `locationName:"id" type:"string"` + + // The inputs provided for the creation of the migration workflow. + Inputs []*TemplateInput_ `locationName:"inputs" type:"list"` + + // The name of the template. + Name *string `locationName:"name" type:"string"` + + // The status of the template. + Status *string `locationName:"status" type:"string" enum:"TemplateStatus"` + + // List of AWS services utilized in a migration workflow. + Tools []*Tool `locationName:"tools" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetTemplateOutput) SetCreationTime(v time.Time) *GetTemplateOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetTemplateOutput) SetDescription(v string) *GetTemplateOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetTemplateOutput) SetId(v string) *GetTemplateOutput { + s.Id = &v + return s +} + +// SetInputs sets the Inputs field's value. +func (s *GetTemplateOutput) SetInputs(v []*TemplateInput_) *GetTemplateOutput { + s.Inputs = v + return s +} + +// SetName sets the Name field's value. +func (s *GetTemplateOutput) SetName(v string) *GetTemplateOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetTemplateOutput) SetStatus(v string) *GetTemplateOutput { + s.Status = &v + return s +} + +// SetTools sets the Tools field's value. +func (s *GetTemplateOutput) SetTools(v []*Tool) *GetTemplateOutput { + s.Tools = v + return s +} + +type GetTemplateStepGroupInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step group. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The ID of the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"templateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTemplateStepGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTemplateStepGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetTemplateStepGroupInput) SetId(v string) *GetTemplateStepGroupInput { + s.Id = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetTemplateStepGroupInput) SetTemplateId(v string) *GetTemplateStepGroupInput { + s.TemplateId = &v + return s +} + +type GetTemplateStepGroupOutput struct { + _ struct{} `type:"structure"` + + // The time at which the step group was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the step group. + Description *string `locationName:"description" type:"string"` + + // The ID of the step group. + Id *string `locationName:"id" type:"string"` + + // The time at which the step group was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp"` + + // The name of the step group. + Name *string `locationName:"name" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // The status of the step group. + Status *string `locationName:"status" type:"string" enum:"StepGroupStatus"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" type:"string"` + + // List of AWS services utilized in a migration workflow. + Tools []*Tool `locationName:"tools" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepGroupOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetTemplateStepGroupOutput) SetCreationTime(v time.Time) *GetTemplateStepGroupOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetTemplateStepGroupOutput) SetDescription(v string) *GetTemplateStepGroupOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetTemplateStepGroupOutput) SetId(v string) *GetTemplateStepGroupOutput { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetTemplateStepGroupOutput) SetLastModifiedTime(v time.Time) *GetTemplateStepGroupOutput { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetTemplateStepGroupOutput) SetName(v string) *GetTemplateStepGroupOutput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *GetTemplateStepGroupOutput) SetNext(v []*string) *GetTemplateStepGroupOutput { + s.Next = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *GetTemplateStepGroupOutput) SetPrevious(v []*string) *GetTemplateStepGroupOutput { + s.Previous = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetTemplateStepGroupOutput) SetStatus(v string) *GetTemplateStepGroupOutput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetTemplateStepGroupOutput) SetTemplateId(v string) *GetTemplateStepGroupOutput { + s.TemplateId = &v + return s +} + +// SetTools sets the Tools field's value. +func (s *GetTemplateStepGroupOutput) SetTools(v []*Tool) *GetTemplateStepGroupOutput { + s.Tools = v + return s +} + +type GetTemplateStepInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `location:"querystring" locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The ID of the template. + // + // TemplateId is a required field + TemplateId *string `location:"querystring" locationName:"templateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTemplateStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTemplateStepInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetTemplateStepInput) SetId(v string) *GetTemplateStepInput { + s.Id = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *GetTemplateStepInput) SetStepGroupId(v string) *GetTemplateStepInput { + s.StepGroupId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetTemplateStepInput) SetTemplateId(v string) *GetTemplateStepInput { + s.TemplateId = &v + return s +} + +type GetTemplateStepOutput struct { + _ struct{} `type:"structure"` + + // The time at which the step was created. + CreationTime *string `locationName:"creationTime" type:"string"` + + // The description of the step. + Description *string `locationName:"description" type:"string"` + + // The ID of the step. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // The next step. + Next []*string `locationName:"next" type:"list"` + + // The outputs of the step. + Outputs []*StepOutput_ `locationName:"outputs" type:"list"` + + // The previous step. + Previous []*string `locationName:"previous" type:"list"` + + // The action type of the step. You must run and update the status of a manual + // step for the workflow to continue after the completion of the step. + StepActionType *string `locationName:"stepActionType" type:"string" enum:"StepActionType"` + + // The custom script to run tests on source or target environments. + StepAutomationConfiguration *StepAutomationConfiguration `locationName:"stepAutomationConfiguration" type:"structure"` + + // The ID of the step group. + StepGroupId *string `locationName:"stepGroupId" min:"1" type:"string"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTemplateStepOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetTemplateStepOutput) SetCreationTime(v string) *GetTemplateStepOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetTemplateStepOutput) SetDescription(v string) *GetTemplateStepOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetTemplateStepOutput) SetId(v string) *GetTemplateStepOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetTemplateStepOutput) SetName(v string) *GetTemplateStepOutput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *GetTemplateStepOutput) SetNext(v []*string) *GetTemplateStepOutput { + s.Next = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *GetTemplateStepOutput) SetOutputs(v []*StepOutput_) *GetTemplateStepOutput { + s.Outputs = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *GetTemplateStepOutput) SetPrevious(v []*string) *GetTemplateStepOutput { + s.Previous = v + return s +} + +// SetStepActionType sets the StepActionType field's value. +func (s *GetTemplateStepOutput) SetStepActionType(v string) *GetTemplateStepOutput { + s.StepActionType = &v + return s +} + +// SetStepAutomationConfiguration sets the StepAutomationConfiguration field's value. +func (s *GetTemplateStepOutput) SetStepAutomationConfiguration(v *StepAutomationConfiguration) *GetTemplateStepOutput { + s.StepAutomationConfiguration = v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *GetTemplateStepOutput) SetStepGroupId(v string) *GetTemplateStepOutput { + s.StepGroupId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetTemplateStepOutput) SetTemplateId(v string) *GetTemplateStepOutput { + s.TemplateId = &v + return s +} + +type GetWorkflowInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the migration workflow. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkflowInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWorkflowInput) SetId(v string) *GetWorkflowInput { + s.Id = &v + return s +} + +type GetWorkflowOutput struct { + _ struct{} `type:"structure"` + + // The configuration ID of the application configured in Application Discovery + // Service. + AdsApplicationConfigurationId *string `locationName:"adsApplicationConfigurationId" type:"string"` + + // The name of the application configured in Application Discovery Service. + AdsApplicationName *string `locationName:"adsApplicationName" type:"string"` + + // The Amazon Resource Name (ARN) of the migration workflow. + Arn *string `locationName:"arn" type:"string"` + + // Get a list of completed steps in the migration workflow. + CompletedSteps *int64 `locationName:"completedSteps" type:"integer"` + + // The time at which the migration workflow was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the migration workflow. + Description *string `locationName:"description" type:"string"` + + // The time at which the migration workflow ended. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The time at which the migration workflow was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp"` + + // The time at which the migration workflow was last started. + LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp"` + + // The time at which the migration workflow was last stopped. + LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp"` + + // The name of the migration workflow. + Name *string `locationName:"name" type:"string"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The status message of the migration workflow. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The tags added to the migration workflow. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" type:"string"` + + // List of AWS services utilized in a migration workflow. + Tools []*Tool `locationName:"tools" type:"list"` + + // The total number of steps in the migration workflow. + TotalSteps *int64 `locationName:"totalSteps" type:"integer"` + + // The Amazon S3 bucket where the migration logs are stored. + WorkflowBucket *string `locationName:"workflowBucket" type:"string"` + + // The inputs required for creating the migration workflow. + // + // WorkflowInputs is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetWorkflowOutput's + // String and GoString methods. + WorkflowInputs map[string]*StepInput_ `locationName:"workflowInputs" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowOutput) GoString() string { + return s.String() +} + +// SetAdsApplicationConfigurationId sets the AdsApplicationConfigurationId field's value. +func (s *GetWorkflowOutput) SetAdsApplicationConfigurationId(v string) *GetWorkflowOutput { + s.AdsApplicationConfigurationId = &v + return s +} + +// SetAdsApplicationName sets the AdsApplicationName field's value. +func (s *GetWorkflowOutput) SetAdsApplicationName(v string) *GetWorkflowOutput { + s.AdsApplicationName = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *GetWorkflowOutput) SetArn(v string) *GetWorkflowOutput { + s.Arn = &v + return s +} + +// SetCompletedSteps sets the CompletedSteps field's value. +func (s *GetWorkflowOutput) SetCompletedSteps(v int64) *GetWorkflowOutput { + s.CompletedSteps = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetWorkflowOutput) SetCreationTime(v time.Time) *GetWorkflowOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetWorkflowOutput) SetDescription(v string) *GetWorkflowOutput { + s.Description = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetWorkflowOutput) SetEndTime(v time.Time) *GetWorkflowOutput { + s.EndTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetWorkflowOutput) SetId(v string) *GetWorkflowOutput { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetWorkflowOutput) SetLastModifiedTime(v time.Time) *GetWorkflowOutput { + s.LastModifiedTime = &v + return s +} + +// SetLastStartTime sets the LastStartTime field's value. +func (s *GetWorkflowOutput) SetLastStartTime(v time.Time) *GetWorkflowOutput { + s.LastStartTime = &v + return s +} + +// SetLastStopTime sets the LastStopTime field's value. +func (s *GetWorkflowOutput) SetLastStopTime(v time.Time) *GetWorkflowOutput { + s.LastStopTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetWorkflowOutput) SetName(v string) *GetWorkflowOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetWorkflowOutput) SetStatus(v string) *GetWorkflowOutput { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *GetWorkflowOutput) SetStatusMessage(v string) *GetWorkflowOutput { + s.StatusMessage = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetWorkflowOutput) SetTags(v map[string]*string) *GetWorkflowOutput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *GetWorkflowOutput) SetTemplateId(v string) *GetWorkflowOutput { + s.TemplateId = &v + return s +} + +// SetTools sets the Tools field's value. +func (s *GetWorkflowOutput) SetTools(v []*Tool) *GetWorkflowOutput { + s.Tools = v + return s +} + +// SetTotalSteps sets the TotalSteps field's value. +func (s *GetWorkflowOutput) SetTotalSteps(v int64) *GetWorkflowOutput { + s.TotalSteps = &v + return s +} + +// SetWorkflowBucket sets the WorkflowBucket field's value. +func (s *GetWorkflowOutput) SetWorkflowBucket(v string) *GetWorkflowOutput { + s.WorkflowBucket = &v + return s +} + +// SetWorkflowInputs sets the WorkflowInputs field's value. +func (s *GetWorkflowOutput) SetWorkflowInputs(v map[string]*StepInput_) *GetWorkflowOutput { + s.WorkflowInputs = v + return s +} + +type GetWorkflowStepGroupInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step group. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkflowStepGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkflowStepGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWorkflowStepGroupInput) SetId(v string) *GetWorkflowStepGroupInput { + s.Id = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *GetWorkflowStepGroupInput) SetWorkflowId(v string) *GetWorkflowStepGroupInput { + s.WorkflowId = &v + return s +} + +type GetWorkflowStepGroupOutput struct { + _ struct{} `type:"structure"` + + // The time at which the step group was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the step group. + Description *string `locationName:"description" type:"string"` + + // The time at which the step group ended. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The ID of the step group. + Id *string `locationName:"id" min:"1" type:"string"` + + // The time at which the step group was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp"` + + // The name of the step group. + Name *string `locationName:"name" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The owner of the step group. + Owner *string `locationName:"owner" type:"string" enum:"Owner"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // The status of the step group. + Status *string `locationName:"status" type:"string" enum:"StepGroupStatus"` + + // List of AWS services utilized in a migration workflow. + Tools []*Tool `locationName:"tools" type:"list"` + + // The ID of the migration workflow. + WorkflowId *string `locationName:"workflowId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepGroupOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetWorkflowStepGroupOutput) SetCreationTime(v time.Time) *GetWorkflowStepGroupOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetWorkflowStepGroupOutput) SetDescription(v string) *GetWorkflowStepGroupOutput { + s.Description = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetWorkflowStepGroupOutput) SetEndTime(v time.Time) *GetWorkflowStepGroupOutput { + s.EndTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *GetWorkflowStepGroupOutput) SetId(v string) *GetWorkflowStepGroupOutput { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *GetWorkflowStepGroupOutput) SetLastModifiedTime(v time.Time) *GetWorkflowStepGroupOutput { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetWorkflowStepGroupOutput) SetName(v string) *GetWorkflowStepGroupOutput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *GetWorkflowStepGroupOutput) SetNext(v []*string) *GetWorkflowStepGroupOutput { + s.Next = v + return s +} + +// SetOwner sets the Owner field's value. +func (s *GetWorkflowStepGroupOutput) SetOwner(v string) *GetWorkflowStepGroupOutput { + s.Owner = &v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *GetWorkflowStepGroupOutput) SetPrevious(v []*string) *GetWorkflowStepGroupOutput { + s.Previous = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetWorkflowStepGroupOutput) SetStatus(v string) *GetWorkflowStepGroupOutput { + s.Status = &v + return s +} + +// SetTools sets the Tools field's value. +func (s *GetWorkflowStepGroupOutput) SetTools(v []*Tool) *GetWorkflowStepGroupOutput { + s.Tools = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *GetWorkflowStepGroupOutput) SetWorkflowId(v string) *GetWorkflowStepGroupOutput { + s.WorkflowId = &v + return s +} + +type GetWorkflowStepInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // desThe ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `location:"querystring" locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkflowStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkflowStepInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *GetWorkflowStepInput) SetId(v string) *GetWorkflowStepInput { + s.Id = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *GetWorkflowStepInput) SetStepGroupId(v string) *GetWorkflowStepInput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *GetWorkflowStepInput) SetWorkflowId(v string) *GetWorkflowStepInput { + s.WorkflowId = &v + return s +} + +type GetWorkflowStepOutput struct { + _ struct{} `type:"structure"` + + // The time at which the step was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the step. + Description *string `locationName:"description" type:"string"` + + // The time at which the step ended. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The time at which the workflow was last started. + LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // The next step. + Next []*string `locationName:"next" type:"list"` + + // The number of servers that have been migrated. + NoOfSrvCompleted *int64 `locationName:"noOfSrvCompleted" type:"integer"` + + // The number of servers that have failed to migrate. + NoOfSrvFailed *int64 `locationName:"noOfSrvFailed" type:"integer"` + + // The outputs of the step. + Outputs []*WorkflowStepOutput_ `locationName:"outputs" type:"list"` + + // The owner of the step. + Owner *string `locationName:"owner" type:"string" enum:"Owner"` + + // The previous step. + Previous []*string `locationName:"previous" type:"list"` + + // The output location of the script. + ScriptOutputLocation *string `locationName:"scriptOutputLocation" type:"string"` + + // The status of the step. + Status *string `locationName:"status" type:"string" enum:"StepStatus"` + + // The status message of the migration workflow. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The action type of the step. You must run and update the status of a manual + // step for the workflow to continue after the completion of the step. + StepActionType *string `locationName:"stepActionType" type:"string" enum:"StepActionType"` + + // The ID of the step group. + StepGroupId *string `locationName:"stepGroupId" type:"string"` + + // The ID of the step. + StepId *string `locationName:"stepId" type:"string"` + + // The servers on which a step will be run. + StepTarget []*string `locationName:"stepTarget" type:"list"` + + // The total number of servers that have been migrated. + TotalNoOfSrv *int64 `locationName:"totalNoOfSrv" type:"integer"` + + // The ID of the migration workflow. + WorkflowId *string `locationName:"workflowId" type:"string"` + + // The custom script to run tests on source or target environments. + WorkflowStepAutomationConfiguration *WorkflowStepAutomationConfiguration `locationName:"workflowStepAutomationConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkflowStepOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *GetWorkflowStepOutput) SetCreationTime(v time.Time) *GetWorkflowStepOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetWorkflowStepOutput) SetDescription(v string) *GetWorkflowStepOutput { + s.Description = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *GetWorkflowStepOutput) SetEndTime(v time.Time) *GetWorkflowStepOutput { + s.EndTime = &v + return s +} + +// SetLastStartTime sets the LastStartTime field's value. +func (s *GetWorkflowStepOutput) SetLastStartTime(v time.Time) *GetWorkflowStepOutput { + s.LastStartTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetWorkflowStepOutput) SetName(v string) *GetWorkflowStepOutput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *GetWorkflowStepOutput) SetNext(v []*string) *GetWorkflowStepOutput { + s.Next = v + return s +} + +// SetNoOfSrvCompleted sets the NoOfSrvCompleted field's value. +func (s *GetWorkflowStepOutput) SetNoOfSrvCompleted(v int64) *GetWorkflowStepOutput { + s.NoOfSrvCompleted = &v + return s +} + +// SetNoOfSrvFailed sets the NoOfSrvFailed field's value. +func (s *GetWorkflowStepOutput) SetNoOfSrvFailed(v int64) *GetWorkflowStepOutput { + s.NoOfSrvFailed = &v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *GetWorkflowStepOutput) SetOutputs(v []*WorkflowStepOutput_) *GetWorkflowStepOutput { + s.Outputs = v + return s +} + +// SetOwner sets the Owner field's value. +func (s *GetWorkflowStepOutput) SetOwner(v string) *GetWorkflowStepOutput { + s.Owner = &v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *GetWorkflowStepOutput) SetPrevious(v []*string) *GetWorkflowStepOutput { + s.Previous = v + return s +} + +// SetScriptOutputLocation sets the ScriptOutputLocation field's value. +func (s *GetWorkflowStepOutput) SetScriptOutputLocation(v string) *GetWorkflowStepOutput { + s.ScriptOutputLocation = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetWorkflowStepOutput) SetStatus(v string) *GetWorkflowStepOutput { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *GetWorkflowStepOutput) SetStatusMessage(v string) *GetWorkflowStepOutput { + s.StatusMessage = &v + return s +} + +// SetStepActionType sets the StepActionType field's value. +func (s *GetWorkflowStepOutput) SetStepActionType(v string) *GetWorkflowStepOutput { + s.StepActionType = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *GetWorkflowStepOutput) SetStepGroupId(v string) *GetWorkflowStepOutput { + s.StepGroupId = &v + return s +} + +// SetStepId sets the StepId field's value. +func (s *GetWorkflowStepOutput) SetStepId(v string) *GetWorkflowStepOutput { + s.StepId = &v + return s +} + +// SetStepTarget sets the StepTarget field's value. +func (s *GetWorkflowStepOutput) SetStepTarget(v []*string) *GetWorkflowStepOutput { + s.StepTarget = v + return s +} + +// SetTotalNoOfSrv sets the TotalNoOfSrv field's value. +func (s *GetWorkflowStepOutput) SetTotalNoOfSrv(v int64) *GetWorkflowStepOutput { + s.TotalNoOfSrv = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *GetWorkflowStepOutput) SetWorkflowId(v string) *GetWorkflowStepOutput { + s.WorkflowId = &v + return s +} + +// SetWorkflowStepAutomationConfiguration sets the WorkflowStepAutomationConfiguration field's value. +func (s *GetWorkflowStepOutput) SetWorkflowStepAutomationConfiguration(v *WorkflowStepAutomationConfiguration) *GetWorkflowStepOutput { + s.WorkflowStepAutomationConfiguration = v + return s +} + +// An internal error has occurred. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListPluginsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of plugins that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPluginsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPluginsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPluginsInput) SetMaxResults(v int64) *ListPluginsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPluginsInput) SetNextToken(v string) *ListPluginsInput { + s.NextToken = &v + return s +} + +type ListPluginsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` + + // Migration Hub Orchestrator plugins. + Plugins []*PluginSummary `locationName:"plugins" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPluginsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListPluginsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPluginsOutput) SetNextToken(v string) *ListPluginsOutput { + s.NextToken = &v + return s +} + +// SetPlugins sets the Plugins field's value. +func (s *ListPluginsOutput) SetPlugins(v []*PluginSummary) *ListPluginsOutput { + s.Plugins = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags added to a resource. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTemplateStepGroupsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The ID of the template. + // + // TemplateId is a required field + TemplateId *string `location:"uri" locationName:"templateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplateStepGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateStepGroupsInput"} + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateStepGroupsInput) SetMaxResults(v int64) *ListTemplateStepGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateStepGroupsInput) SetNextToken(v string) *ListTemplateStepGroupsInput { + s.NextToken = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateStepGroupsInput) SetTemplateId(v string) *ListTemplateStepGroupsInput { + s.TemplateId = &v + return s +} + +type ListTemplateStepGroupsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` + + // The summary of the step group in the template. + // + // TemplateStepGroupSummary is a required field + TemplateStepGroupSummary []*TemplateStepGroupSummary `locationName:"templateStepGroupSummary" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateStepGroupsOutput) SetNextToken(v string) *ListTemplateStepGroupsOutput { + s.NextToken = &v + return s +} + +// SetTemplateStepGroupSummary sets the TemplateStepGroupSummary field's value. +func (s *ListTemplateStepGroupsOutput) SetTemplateStepGroupSummary(v []*TemplateStepGroupSummary) *ListTemplateStepGroupsOutput { + s.TemplateStepGroupSummary = v + return s +} + +type ListTemplateStepsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `location:"querystring" locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The ID of the template. + // + // TemplateId is a required field + TemplateId *string `location:"querystring" locationName:"templateId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplateStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplateStepsInput"} + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.TemplateId == nil { + invalidParams.Add(request.NewErrParamRequired("TemplateId")) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplateStepsInput) SetMaxResults(v int64) *ListTemplateStepsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateStepsInput) SetNextToken(v string) *ListTemplateStepsInput { + s.NextToken = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *ListTemplateStepsInput) SetStepGroupId(v string) *ListTemplateStepsInput { + s.StepGroupId = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *ListTemplateStepsInput) SetTemplateId(v string) *ListTemplateStepsInput { + s.TemplateId = &v + return s +} + +type ListTemplateStepsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` + + // The list of summaries of steps in a template. + TemplateStepSummaryList []*TemplateStepSummary `locationName:"templateStepSummaryList" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplateStepsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplateStepsOutput) SetNextToken(v string) *ListTemplateStepsOutput { + s.NextToken = &v + return s +} + +// SetTemplateStepSummaryList sets the TemplateStepSummaryList field's value. +func (s *ListTemplateStepsOutput) SetTemplateStepSummaryList(v []*TemplateStepSummary) *ListTemplateStepsOutput { + s.TemplateStepSummaryList = v + return s +} + +type ListTemplatesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The name of the template. + Name *string `location:"querystring" locationName:"name" min:"1" type:"string"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTemplatesInput"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTemplatesInput) SetMaxResults(v int64) *ListTemplatesInput { + s.MaxResults = &v + return s +} + +// SetName sets the Name field's value. +func (s *ListTemplatesInput) SetName(v string) *ListTemplatesInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesInput) SetNextToken(v string) *ListTemplatesInput { + s.NextToken = &v + return s +} + +type ListTemplatesOutput struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` + + // The summary of the template. + // + // TemplateSummary is a required field + TemplateSummary []*TemplateSummary `locationName:"templateSummary" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTemplatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTemplatesOutput) SetNextToken(v string) *ListTemplatesOutput { + s.NextToken = &v + return s +} + +// SetTemplateSummary sets the TemplateSummary field's value. +func (s *ListTemplatesOutput) SetTemplateSummary(v []*TemplateSummary) *ListTemplatesOutput { + s.TemplateSummary = v + return s +} + +type ListWorkflowStepGroupsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkflowStepGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowStepGroupsInput"} + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkflowStepGroupsInput) SetMaxResults(v int64) *ListWorkflowStepGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowStepGroupsInput) SetNextToken(v string) *ListWorkflowStepGroupsInput { + s.NextToken = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *ListWorkflowStepGroupsInput) SetWorkflowId(v string) *ListWorkflowStepGroupsInput { + s.WorkflowId = &v + return s +} + +type ListWorkflowStepGroupsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` + + // The summary of step groups in a migration workflow. + // + // WorkflowStepGroupsSummary is a required field + WorkflowStepGroupsSummary []*WorkflowStepGroupSummary `locationName:"workflowStepGroupsSummary" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowStepGroupsOutput) SetNextToken(v string) *ListWorkflowStepGroupsOutput { + s.NextToken = &v + return s +} + +// SetWorkflowStepGroupsSummary sets the WorkflowStepGroupsSummary field's value. +func (s *ListWorkflowStepGroupsOutput) SetWorkflowStepGroupsSummary(v []*WorkflowStepGroupSummary) *ListWorkflowStepGroupsOutput { + s.WorkflowStepGroupsSummary = v + return s +} + +type ListWorkflowStepsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `location:"uri" locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"uri" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkflowStepsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowStepsInput"} + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkflowStepsInput) SetMaxResults(v int64) *ListWorkflowStepsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowStepsInput) SetNextToken(v string) *ListWorkflowStepsInput { + s.NextToken = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *ListWorkflowStepsInput) SetStepGroupId(v string) *ListWorkflowStepsInput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *ListWorkflowStepsInput) SetWorkflowId(v string) *ListWorkflowStepsInput { + s.WorkflowId = &v + return s +} + +type ListWorkflowStepsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` + + // The summary of steps in a migration workflow. + // + // WorkflowStepsSummary is a required field + WorkflowStepsSummary []*WorkflowStepSummary `locationName:"workflowStepsSummary" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowStepsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowStepsOutput) SetNextToken(v string) *ListWorkflowStepsOutput { + s.NextToken = &v + return s +} + +// SetWorkflowStepsSummary sets the WorkflowStepsSummary field's value. +func (s *ListWorkflowStepsOutput) SetWorkflowStepsSummary(v []*WorkflowStepSummary) *ListWorkflowStepsOutput { + s.WorkflowStepsSummary = v + return s +} + +type ListWorkflowsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the application configured in Application Discovery Service. + AdsApplicationConfigurationName *string `location:"querystring" locationName:"adsApplicationConfigurationName" min:"1" type:"string"` + + // The maximum number of results that can be returned. + MaxResults *int64 `location:"querystring" locationName:"maxResults" type:"integer"` + + // The name of the migration workflow. + Name *string `location:"querystring" locationName:"name" type:"string"` + + // The pagination token. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The status of the migration workflow. + Status *string `location:"querystring" locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The ID of the template. + TemplateId *string `location:"querystring" locationName:"templateId" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListWorkflowsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListWorkflowsInput"} + if s.AdsApplicationConfigurationName != nil && len(*s.AdsApplicationConfigurationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AdsApplicationConfigurationName", 1)) + } + if s.TemplateId != nil && len(*s.TemplateId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TemplateId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdsApplicationConfigurationName sets the AdsApplicationConfigurationName field's value. +func (s *ListWorkflowsInput) SetAdsApplicationConfigurationName(v string) *ListWorkflowsInput { + s.AdsApplicationConfigurationName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkflowsInput) SetMaxResults(v int64) *ListWorkflowsInput { + s.MaxResults = &v + return s +} + +// SetName sets the Name field's value. +func (s *ListWorkflowsInput) SetName(v string) *ListWorkflowsInput { + s.Name = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowsInput) SetNextToken(v string) *ListWorkflowsInput { + s.NextToken = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ListWorkflowsInput) SetStatus(v string) *ListWorkflowsInput { + s.Status = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *ListWorkflowsInput) SetTemplateId(v string) *ListWorkflowsInput { + s.TemplateId = &v + return s +} + +type ListWorkflowsOutput struct { + _ struct{} `type:"structure"` + + // The summary of the migration workflow. + // + // MigrationWorkflowSummary is a required field + MigrationWorkflowSummary []*MigrationWorkflowSummary `locationName:"migrationWorkflowSummary" type:"list" required:"true"` + + // The pagination token. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListWorkflowsOutput) GoString() string { + return s.String() +} + +// SetMigrationWorkflowSummary sets the MigrationWorkflowSummary field's value. +func (s *ListWorkflowsOutput) SetMigrationWorkflowSummary(v []*MigrationWorkflowSummary) *ListWorkflowsOutput { + s.MigrationWorkflowSummary = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkflowsOutput) SetNextToken(v string) *ListWorkflowsOutput { + s.NextToken = &v + return s +} + +// The summary of a migration workflow. +type MigrationWorkflowSummary struct { + _ struct{} `type:"structure"` + + // The name of the application configured in Application Discovery Service. + AdsApplicationConfigurationName *string `locationName:"adsApplicationConfigurationName" type:"string"` + + // The steps completed in the migration workflow. + CompletedSteps *int64 `locationName:"completedSteps" type:"integer"` + + // The time at which the migration workflow was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The time at which the migration workflow ended. + EndTime *time.Time `locationName:"endTime" type:"timestamp"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the migration workflow. + Name *string `locationName:"name" type:"string"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The status message of the migration workflow. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" type:"string"` + + // All the steps in a migration workflow. + TotalSteps *int64 `locationName:"totalSteps" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MigrationWorkflowSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s MigrationWorkflowSummary) GoString() string { + return s.String() +} + +// SetAdsApplicationConfigurationName sets the AdsApplicationConfigurationName field's value. +func (s *MigrationWorkflowSummary) SetAdsApplicationConfigurationName(v string) *MigrationWorkflowSummary { + s.AdsApplicationConfigurationName = &v + return s +} + +// SetCompletedSteps sets the CompletedSteps field's value. +func (s *MigrationWorkflowSummary) SetCompletedSteps(v int64) *MigrationWorkflowSummary { + s.CompletedSteps = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *MigrationWorkflowSummary) SetCreationTime(v time.Time) *MigrationWorkflowSummary { + s.CreationTime = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *MigrationWorkflowSummary) SetEndTime(v time.Time) *MigrationWorkflowSummary { + s.EndTime = &v + return s +} + +// SetId sets the Id field's value. +func (s *MigrationWorkflowSummary) SetId(v string) *MigrationWorkflowSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *MigrationWorkflowSummary) SetName(v string) *MigrationWorkflowSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *MigrationWorkflowSummary) SetStatus(v string) *MigrationWorkflowSummary { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *MigrationWorkflowSummary) SetStatusMessage(v string) *MigrationWorkflowSummary { + s.StatusMessage = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *MigrationWorkflowSummary) SetTemplateId(v string) *MigrationWorkflowSummary { + s.TemplateId = &v + return s +} + +// SetTotalSteps sets the TotalSteps field's value. +func (s *MigrationWorkflowSummary) SetTotalSteps(v int64) *MigrationWorkflowSummary { + s.TotalSteps = &v + return s +} + +// Command to be run on a particular operating system. +type PlatformCommand struct { + _ struct{} `type:"structure"` + + // Command for Linux. + Linux *string `locationName:"linux" type:"string"` + + // Command for Windows. + Windows *string `locationName:"windows" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PlatformCommand) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PlatformCommand) GoString() string { + return s.String() +} + +// SetLinux sets the Linux field's value. +func (s *PlatformCommand) SetLinux(v string) *PlatformCommand { + s.Linux = &v + return s +} + +// SetWindows sets the Windows field's value. +func (s *PlatformCommand) SetWindows(v string) *PlatformCommand { + s.Windows = &v + return s +} + +// The script location for a particular operating system. +type PlatformScriptKey struct { + _ struct{} `type:"structure"` + + // The script location for Linux. + Linux *string `locationName:"linux" type:"string"` + + // The script location for Windows. + Windows *string `locationName:"windows" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PlatformScriptKey) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PlatformScriptKey) GoString() string { + return s.String() +} + +// SetLinux sets the Linux field's value. +func (s *PlatformScriptKey) SetLinux(v string) *PlatformScriptKey { + s.Linux = &v + return s +} + +// SetWindows sets the Windows field's value. +func (s *PlatformScriptKey) SetWindows(v string) *PlatformScriptKey { + s.Windows = &v + return s +} + +// The summary of the Migration Hub Orchestrator plugin. +type PluginSummary struct { + _ struct{} `type:"structure"` + + // The name of the host. + Hostname *string `locationName:"hostname" type:"string"` + + // The IP address at which the plugin is located. + IpAddress *string `locationName:"ipAddress" type:"string"` + + // The ID of the plugin. + PluginId *string `locationName:"pluginId" min:"1" type:"string"` + + // The time at which the plugin was registered. + RegisteredTime *string `locationName:"registeredTime" type:"string"` + + // The status of the plugin. + Status *string `locationName:"status" type:"string" enum:"PluginHealth"` + + // The version of the plugin. + Version *string `locationName:"version" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PluginSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PluginSummary) GoString() string { + return s.String() +} + +// SetHostname sets the Hostname field's value. +func (s *PluginSummary) SetHostname(v string) *PluginSummary { + s.Hostname = &v + return s +} + +// SetIpAddress sets the IpAddress field's value. +func (s *PluginSummary) SetIpAddress(v string) *PluginSummary { + s.IpAddress = &v + return s +} + +// SetPluginId sets the PluginId field's value. +func (s *PluginSummary) SetPluginId(v string) *PluginSummary { + s.PluginId = &v + return s +} + +// SetRegisteredTime sets the RegisteredTime field's value. +func (s *PluginSummary) SetRegisteredTime(v string) *PluginSummary { + s.RegisteredTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PluginSummary) SetStatus(v string) *PluginSummary { + s.Status = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *PluginSummary) SetVersion(v string) *PluginSummary { + s.Version = &v + return s +} + +// The resource is not available. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +type RetryWorkflowStepInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the step. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `location:"querystring" locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryWorkflowStepInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryWorkflowStepInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RetryWorkflowStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetryWorkflowStepInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *RetryWorkflowStepInput) SetId(v string) *RetryWorkflowStepInput { + s.Id = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *RetryWorkflowStepInput) SetStepGroupId(v string) *RetryWorkflowStepInput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *RetryWorkflowStepInput) SetWorkflowId(v string) *RetryWorkflowStepInput { + s.WorkflowId = &v + return s +} + +type RetryWorkflowStepOutput struct { + _ struct{} `type:"structure"` + + // The ID of the step. + Id *string `locationName:"id" type:"string"` + + // The status of the step. + Status *string `locationName:"status" type:"string" enum:"StepStatus"` + + // The ID of the step group. + StepGroupId *string `locationName:"stepGroupId" type:"string"` + + // The ID of the migration workflow. + WorkflowId *string `locationName:"workflowId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryWorkflowStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetryWorkflowStepOutput) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *RetryWorkflowStepOutput) SetId(v string) *RetryWorkflowStepOutput { + s.Id = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RetryWorkflowStepOutput) SetStatus(v string) *RetryWorkflowStepOutput { + s.Status = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *RetryWorkflowStepOutput) SetStepGroupId(v string) *RetryWorkflowStepOutput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *RetryWorkflowStepOutput) SetWorkflowId(v string) *RetryWorkflowStepOutput { + s.WorkflowId = &v + return s +} + +type StartWorkflowInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the migration workflow. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartWorkflowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartWorkflowInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *StartWorkflowInput) SetId(v string) *StartWorkflowInput { + s.Id = &v + return s +} + +type StartWorkflowOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the migration workflow. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The time at which the migration workflow was last started. + LastStartTime *time.Time `locationName:"lastStartTime" type:"timestamp"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The status message of the migration workflow. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartWorkflowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartWorkflowOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StartWorkflowOutput) SetArn(v string) *StartWorkflowOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *StartWorkflowOutput) SetId(v string) *StartWorkflowOutput { + s.Id = &v + return s +} + +// SetLastStartTime sets the LastStartTime field's value. +func (s *StartWorkflowOutput) SetLastStartTime(v time.Time) *StartWorkflowOutput { + s.LastStartTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StartWorkflowOutput) SetStatus(v string) *StartWorkflowOutput { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *StartWorkflowOutput) SetStatusMessage(v string) *StartWorkflowOutput { + s.StatusMessage = &v + return s +} + +// The custom script to run tests on source or target environments. +type StepAutomationConfiguration struct { + _ struct{} `type:"structure"` + + // The command to run the script. + Command *PlatformCommand `locationName:"command" type:"structure"` + + // The source or target environment. + RunEnvironment *string `locationName:"runEnvironment" type:"string" enum:"RunEnvironment"` + + // The Amazon S3 bucket where the script is located. + ScriptLocationS3Bucket *string `locationName:"scriptLocationS3Bucket" type:"string"` + + // The Amazon S3 key for the script location. + ScriptLocationS3Key *PlatformScriptKey `locationName:"scriptLocationS3Key" type:"structure"` + + // The servers on which to run the script. + TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StepAutomationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StepAutomationConfiguration) GoString() string { + return s.String() +} + +// SetCommand sets the Command field's value. +func (s *StepAutomationConfiguration) SetCommand(v *PlatformCommand) *StepAutomationConfiguration { + s.Command = v + return s +} + +// SetRunEnvironment sets the RunEnvironment field's value. +func (s *StepAutomationConfiguration) SetRunEnvironment(v string) *StepAutomationConfiguration { + s.RunEnvironment = &v + return s +} + +// SetScriptLocationS3Bucket sets the ScriptLocationS3Bucket field's value. +func (s *StepAutomationConfiguration) SetScriptLocationS3Bucket(v string) *StepAutomationConfiguration { + s.ScriptLocationS3Bucket = &v + return s +} + +// SetScriptLocationS3Key sets the ScriptLocationS3Key field's value. +func (s *StepAutomationConfiguration) SetScriptLocationS3Key(v *PlatformScriptKey) *StepAutomationConfiguration { + s.ScriptLocationS3Key = v + return s +} + +// SetTargetType sets the TargetType field's value. +func (s *StepAutomationConfiguration) SetTargetType(v string) *StepAutomationConfiguration { + s.TargetType = &v + return s +} + +// A map of key value pairs that is generated when you create a migration workflow. +// The key value pairs will differ based on your selection of the template. +type StepInput_ struct { + _ struct{} `type:"structure"` + + // The value of the integer. + IntegerValue *int64 `locationName:"integerValue" type:"integer"` + + // List of string values. + ListOfStringsValue []*string `locationName:"listOfStringsValue" type:"list"` + + // Map of string values. + MapOfStringValue map[string]*string `locationName:"mapOfStringValue" type:"map"` + + // String value. + StringValue *string `locationName:"stringValue" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StepInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StepInput_) GoString() string { + return s.String() +} + +// SetIntegerValue sets the IntegerValue field's value. +func (s *StepInput_) SetIntegerValue(v int64) *StepInput_ { + s.IntegerValue = &v + return s +} + +// SetListOfStringsValue sets the ListOfStringsValue field's value. +func (s *StepInput_) SetListOfStringsValue(v []*string) *StepInput_ { + s.ListOfStringsValue = v + return s +} + +// SetMapOfStringValue sets the MapOfStringValue field's value. +func (s *StepInput_) SetMapOfStringValue(v map[string]*string) *StepInput_ { + s.MapOfStringValue = v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *StepInput_) SetStringValue(v string) *StepInput_ { + s.StringValue = &v + return s +} + +// The output of the step. +type StepOutput_ struct { + _ struct{} `type:"structure"` + + // The data type of the step output. + DataType *string `locationName:"dataType" type:"string" enum:"DataType"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // Determine if an output is required from a step. + Required *bool `locationName:"required" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StepOutput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StepOutput_) GoString() string { + return s.String() +} + +// SetDataType sets the DataType field's value. +func (s *StepOutput_) SetDataType(v string) *StepOutput_ { + s.DataType = &v + return s +} + +// SetName sets the Name field's value. +func (s *StepOutput_) SetName(v string) *StepOutput_ { + s.Name = &v + return s +} + +// SetRequired sets the Required field's value. +func (s *StepOutput_) SetRequired(v bool) *StepOutput_ { + s.Required = &v + return s +} + +type StopWorkflowInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the migration workflow. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopWorkflowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StopWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StopWorkflowInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *StopWorkflowInput) SetId(v string) *StopWorkflowInput { + s.Id = &v + return s +} + +type StopWorkflowOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the migration workflow. + Arn *string `locationName:"arn" type:"string"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The time at which the migration workflow was stopped. + LastStopTime *time.Time `locationName:"lastStopTime" type:"timestamp"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The status message of the migration workflow. + StatusMessage *string `locationName:"statusMessage" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopWorkflowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StopWorkflowOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StopWorkflowOutput) SetArn(v string) *StopWorkflowOutput { + s.Arn = &v + return s +} + +// SetId sets the Id field's value. +func (s *StopWorkflowOutput) SetId(v string) *StopWorkflowOutput { + s.Id = &v + return s +} + +// SetLastStopTime sets the LastStopTime field's value. +func (s *StopWorkflowOutput) SetLastStopTime(v time.Time) *StopWorkflowOutput { + s.LastStopTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *StopWorkflowOutput) SetStatus(v string) *StopWorkflowOutput { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *StopWorkflowOutput) SetStatusMessage(v string) *StopWorkflowOutput { + s.StatusMessage = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to which you want to add tags. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // A collection of labels, in the form of key:value pairs, that apply to this + // resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The input parameters of a template. +type TemplateInput_ struct { + _ struct{} `type:"structure"` + + // The data type of the template input. + DataType *string `locationName:"dataType" type:"string" enum:"DataType"` + + // The name of the template. + InputName *string `locationName:"inputName" min:"1" type:"string"` + + // Determine if an input is required from the template. + Required *bool `locationName:"required" type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateInput_) GoString() string { + return s.String() +} + +// SetDataType sets the DataType field's value. +func (s *TemplateInput_) SetDataType(v string) *TemplateInput_ { + s.DataType = &v + return s +} + +// SetInputName sets the InputName field's value. +func (s *TemplateInput_) SetInputName(v string) *TemplateInput_ { + s.InputName = &v + return s +} + +// SetRequired sets the Required field's value. +func (s *TemplateInput_) SetRequired(v bool) *TemplateInput_ { + s.Required = &v + return s +} + +// The summary of the step group in the template. +type TemplateStepGroupSummary struct { + _ struct{} `type:"structure"` + + // The ID of the step group. + Id *string `locationName:"id" type:"string"` + + // The name of the step group. + Name *string `locationName:"name" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateStepGroupSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateStepGroupSummary) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *TemplateStepGroupSummary) SetId(v string) *TemplateStepGroupSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *TemplateStepGroupSummary) SetName(v string) *TemplateStepGroupSummary { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *TemplateStepGroupSummary) SetNext(v []*string) *TemplateStepGroupSummary { + s.Next = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *TemplateStepGroupSummary) SetPrevious(v []*string) *TemplateStepGroupSummary { + s.Previous = v + return s +} + +// The summary of the step. +type TemplateStepSummary struct { + _ struct{} `type:"structure"` + + // The ID of the step. + Id *string `locationName:"id" type:"string"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // The next step. + Next []*string `locationName:"next" type:"list"` + + // The owner of the step. + Owner *string `locationName:"owner" type:"string" enum:"Owner"` + + // The previous step. + Previous []*string `locationName:"previous" type:"list"` + + // The action type of the step. You must run and update the status of a manual + // step for the workflow to continue after the completion of the step. + StepActionType *string `locationName:"stepActionType" type:"string" enum:"StepActionType"` + + // The ID of the step group. + StepGroupId *string `locationName:"stepGroupId" type:"string"` + + // The servers on which to run the script. + TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateStepSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateStepSummary) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *TemplateStepSummary) SetId(v string) *TemplateStepSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *TemplateStepSummary) SetName(v string) *TemplateStepSummary { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *TemplateStepSummary) SetNext(v []*string) *TemplateStepSummary { + s.Next = v + return s +} + +// SetOwner sets the Owner field's value. +func (s *TemplateStepSummary) SetOwner(v string) *TemplateStepSummary { + s.Owner = &v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *TemplateStepSummary) SetPrevious(v []*string) *TemplateStepSummary { + s.Previous = v + return s +} + +// SetStepActionType sets the StepActionType field's value. +func (s *TemplateStepSummary) SetStepActionType(v string) *TemplateStepSummary { + s.StepActionType = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *TemplateStepSummary) SetStepGroupId(v string) *TemplateStepSummary { + s.StepGroupId = &v + return s +} + +// SetTargetType sets the TargetType field's value. +func (s *TemplateStepSummary) SetTargetType(v string) *TemplateStepSummary { + s.TargetType = &v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *TemplateStepSummary) SetTemplateId(v string) *TemplateStepSummary { + s.TemplateId = &v + return s +} + +// The summary of the template. +type TemplateSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the template. + Arn *string `locationName:"arn" type:"string"` + + // The description of the template. + Description *string `locationName:"description" type:"string"` + + // The ID of the template. + Id *string `locationName:"id" type:"string"` + + // The name of the template. + Name *string `locationName:"name" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TemplateSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *TemplateSummary) SetArn(v string) *TemplateSummary { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *TemplateSummary) SetDescription(v string) *TemplateSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *TemplateSummary) SetId(v string) *TemplateSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *TemplateSummary) SetName(v string) *TemplateSummary { + s.Name = &v + return s +} + +// The request was denied due to request throttling. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// List of AWS services utilized in a migration workflow. +type Tool struct { + _ struct{} `type:"structure"` + + // The name of an AWS service. + Name *string `locationName:"name" type:"string"` + + // The URL of an AWS service. + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tool) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tool) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Tool) SetName(v string) *Tool { + s.Name = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *Tool) SetUrl(v string) *Tool { + s.Url = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the resource from which you want to remove + // tags. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // One or more tag keys. Specify only the tag keys, not the tag values. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateWorkflowInput struct { + _ struct{} `type:"structure"` + + // The description of the migration workflow. + Description *string `locationName:"description" type:"string"` + + // The ID of the migration workflow. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The input parameters required to update a migration workflow. + // + // InputParameters is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateWorkflowInput's + // String and GoString methods. + InputParameters map[string]*StepInput_ `locationName:"inputParameters" type:"map" sensitive:"true"` + + // The name of the migration workflow. + Name *string `locationName:"name" min:"1" type:"string"` + + // The servers on which a step will be run. + StepTargets []*string `locationName:"stepTargets" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkflowInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkflowInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkflowInput) SetDescription(v string) *UpdateWorkflowInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWorkflowInput) SetId(v string) *UpdateWorkflowInput { + s.Id = &v + return s +} + +// SetInputParameters sets the InputParameters field's value. +func (s *UpdateWorkflowInput) SetInputParameters(v map[string]*StepInput_) *UpdateWorkflowInput { + s.InputParameters = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWorkflowInput) SetName(v string) *UpdateWorkflowInput { + s.Name = &v + return s +} + +// SetStepTargets sets the StepTargets field's value. +func (s *UpdateWorkflowInput) SetStepTargets(v []*string) *UpdateWorkflowInput { + s.StepTargets = v + return s +} + +type UpdateWorkflowOutput struct { + _ struct{} `type:"structure"` + + // The ID of the application configured in Application Discovery Service. + AdsApplicationConfigurationId *string `locationName:"adsApplicationConfigurationId" type:"string"` + + // The Amazon Resource Name (ARN) of the migration workflow. + Arn *string `locationName:"arn" type:"string"` + + // The time at which the migration workflow was created. + CreationTime *time.Time `locationName:"creationTime" type:"timestamp"` + + // The description of the migration workflow. + Description *string `locationName:"description" type:"string"` + + // The ID of the migration workflow. + Id *string `locationName:"id" min:"1" type:"string"` + + // The time at which the migration workflow was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp"` + + // The name of the migration workflow. + Name *string `locationName:"name" type:"string"` + + // The status of the migration workflow. + Status *string `locationName:"status" type:"string" enum:"MigrationWorkflowStatusEnum"` + + // The servers on which a step will be run. + StepTargets []*string `locationName:"stepTargets" type:"list"` + + // The tags added to the migration workflow. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the template. + TemplateId *string `locationName:"templateId" type:"string"` + + // The inputs required to update a migration workflow. + // + // WorkflowInputs is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateWorkflowOutput's + // String and GoString methods. + WorkflowInputs map[string]*StepInput_ `locationName:"workflowInputs" type:"map" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowOutput) GoString() string { + return s.String() +} + +// SetAdsApplicationConfigurationId sets the AdsApplicationConfigurationId field's value. +func (s *UpdateWorkflowOutput) SetAdsApplicationConfigurationId(v string) *UpdateWorkflowOutput { + s.AdsApplicationConfigurationId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *UpdateWorkflowOutput) SetArn(v string) *UpdateWorkflowOutput { + s.Arn = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *UpdateWorkflowOutput) SetCreationTime(v time.Time) *UpdateWorkflowOutput { + s.CreationTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkflowOutput) SetDescription(v string) *UpdateWorkflowOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWorkflowOutput) SetId(v string) *UpdateWorkflowOutput { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *UpdateWorkflowOutput) SetLastModifiedTime(v time.Time) *UpdateWorkflowOutput { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWorkflowOutput) SetName(v string) *UpdateWorkflowOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateWorkflowOutput) SetStatus(v string) *UpdateWorkflowOutput { + s.Status = &v + return s +} + +// SetStepTargets sets the StepTargets field's value. +func (s *UpdateWorkflowOutput) SetStepTargets(v []*string) *UpdateWorkflowOutput { + s.StepTargets = v + return s +} + +// SetTags sets the Tags field's value. +func (s *UpdateWorkflowOutput) SetTags(v map[string]*string) *UpdateWorkflowOutput { + s.Tags = v + return s +} + +// SetTemplateId sets the TemplateId field's value. +func (s *UpdateWorkflowOutput) SetTemplateId(v string) *UpdateWorkflowOutput { + s.TemplateId = &v + return s +} + +// SetWorkflowInputs sets the WorkflowInputs field's value. +func (s *UpdateWorkflowOutput) SetWorkflowInputs(v map[string]*StepInput_) *UpdateWorkflowOutput { + s.WorkflowInputs = v + return s +} + +type UpdateWorkflowStepGroupInput struct { + _ struct{} `type:"structure"` + + // The description of the step group. + Description *string `locationName:"description" type:"string"` + + // The ID of the step group. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The name of the step group. + Name *string `locationName:"name" min:"1" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `location:"querystring" locationName:"workflowId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkflowStepGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkflowStepGroupInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkflowStepGroupInput) SetDescription(v string) *UpdateWorkflowStepGroupInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWorkflowStepGroupInput) SetId(v string) *UpdateWorkflowStepGroupInput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWorkflowStepGroupInput) SetName(v string) *UpdateWorkflowStepGroupInput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *UpdateWorkflowStepGroupInput) SetNext(v []*string) *UpdateWorkflowStepGroupInput { + s.Next = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *UpdateWorkflowStepGroupInput) SetPrevious(v []*string) *UpdateWorkflowStepGroupInput { + s.Previous = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *UpdateWorkflowStepGroupInput) SetWorkflowId(v string) *UpdateWorkflowStepGroupInput { + s.WorkflowId = &v + return s +} + +type UpdateWorkflowStepGroupOutput struct { + _ struct{} `type:"structure"` + + // The description of the step group. + Description *string `locationName:"description" type:"string"` + + // The ID of the step group. + Id *string `locationName:"id" type:"string"` + + // The time at which the step group was last modified. + LastModifiedTime *time.Time `locationName:"lastModifiedTime" type:"timestamp"` + + // The name of the step group. + Name *string `locationName:"name" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // List of AWS services utilized in a migration workflow. + Tools []*Tool `locationName:"tools" type:"list"` + + // The ID of the migration workflow. + WorkflowId *string `locationName:"workflowId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepGroupOutput) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkflowStepGroupOutput) SetDescription(v string) *UpdateWorkflowStepGroupOutput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWorkflowStepGroupOutput) SetId(v string) *UpdateWorkflowStepGroupOutput { + s.Id = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *UpdateWorkflowStepGroupOutput) SetLastModifiedTime(v time.Time) *UpdateWorkflowStepGroupOutput { + s.LastModifiedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWorkflowStepGroupOutput) SetName(v string) *UpdateWorkflowStepGroupOutput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *UpdateWorkflowStepGroupOutput) SetNext(v []*string) *UpdateWorkflowStepGroupOutput { + s.Next = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *UpdateWorkflowStepGroupOutput) SetPrevious(v []*string) *UpdateWorkflowStepGroupOutput { + s.Previous = v + return s +} + +// SetTools sets the Tools field's value. +func (s *UpdateWorkflowStepGroupOutput) SetTools(v []*Tool) *UpdateWorkflowStepGroupOutput { + s.Tools = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *UpdateWorkflowStepGroupOutput) SetWorkflowId(v string) *UpdateWorkflowStepGroupOutput { + s.WorkflowId = &v + return s +} + +type UpdateWorkflowStepInput struct { + _ struct{} `type:"structure"` + + // The description of the step. + Description *string `locationName:"description" type:"string"` + + // The ID of the step. + // + // Id is a required field + Id *string `location:"uri" locationName:"id" min:"1" type:"string" required:"true"` + + // The name of the step. + Name *string `locationName:"name" min:"1" type:"string"` + + // The next step. + Next []*string `locationName:"next" type:"list"` + + // The outputs of a step. + Outputs []*WorkflowStepOutput_ `locationName:"outputs" type:"list"` + + // The previous step. + Previous []*string `locationName:"previous" type:"list"` + + // The status of the step. + Status *string `locationName:"status" type:"string" enum:"StepStatus"` + + // The action type of the step. You must run and update the status of a manual + // step for the workflow to continue after the completion of the step. + StepActionType *string `locationName:"stepActionType" type:"string" enum:"StepActionType"` + + // The ID of the step group. + // + // StepGroupId is a required field + StepGroupId *string `locationName:"stepGroupId" min:"1" type:"string" required:"true"` + + // The servers on which a step will be run. + StepTarget []*string `locationName:"stepTarget" type:"list"` + + // The ID of the migration workflow. + // + // WorkflowId is a required field + WorkflowId *string `locationName:"workflowId" min:"1" type:"string" required:"true"` + + // The custom script to run tests on the source and target environments. + WorkflowStepAutomationConfiguration *WorkflowStepAutomationConfiguration `locationName:"workflowStepAutomationConfiguration" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkflowStepInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkflowStepInput"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.StepGroupId == nil { + invalidParams.Add(request.NewErrParamRequired("StepGroupId")) + } + if s.StepGroupId != nil && len(*s.StepGroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StepGroupId", 1)) + } + if s.WorkflowId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkflowId")) + } + if s.WorkflowId != nil && len(*s.WorkflowId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkflowId", 1)) + } + if s.Outputs != nil { + for i, v := range s.Outputs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Outputs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkflowStepInput) SetDescription(v string) *UpdateWorkflowStepInput { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *UpdateWorkflowStepInput) SetId(v string) *UpdateWorkflowStepInput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWorkflowStepInput) SetName(v string) *UpdateWorkflowStepInput { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *UpdateWorkflowStepInput) SetNext(v []*string) *UpdateWorkflowStepInput { + s.Next = v + return s +} + +// SetOutputs sets the Outputs field's value. +func (s *UpdateWorkflowStepInput) SetOutputs(v []*WorkflowStepOutput_) *UpdateWorkflowStepInput { + s.Outputs = v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *UpdateWorkflowStepInput) SetPrevious(v []*string) *UpdateWorkflowStepInput { + s.Previous = v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateWorkflowStepInput) SetStatus(v string) *UpdateWorkflowStepInput { + s.Status = &v + return s +} + +// SetStepActionType sets the StepActionType field's value. +func (s *UpdateWorkflowStepInput) SetStepActionType(v string) *UpdateWorkflowStepInput { + s.StepActionType = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *UpdateWorkflowStepInput) SetStepGroupId(v string) *UpdateWorkflowStepInput { + s.StepGroupId = &v + return s +} + +// SetStepTarget sets the StepTarget field's value. +func (s *UpdateWorkflowStepInput) SetStepTarget(v []*string) *UpdateWorkflowStepInput { + s.StepTarget = v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *UpdateWorkflowStepInput) SetWorkflowId(v string) *UpdateWorkflowStepInput { + s.WorkflowId = &v + return s +} + +// SetWorkflowStepAutomationConfiguration sets the WorkflowStepAutomationConfiguration field's value. +func (s *UpdateWorkflowStepInput) SetWorkflowStepAutomationConfiguration(v *WorkflowStepAutomationConfiguration) *UpdateWorkflowStepInput { + s.WorkflowStepAutomationConfiguration = v + return s +} + +type UpdateWorkflowStepOutput struct { + _ struct{} `type:"structure"` + + // The ID of the step. + Id *string `locationName:"id" min:"1" type:"string"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // The ID of the step group. + StepGroupId *string `locationName:"stepGroupId" type:"string"` + + // The ID of the migration workflow. + WorkflowId *string `locationName:"workflowId" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateWorkflowStepOutput) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *UpdateWorkflowStepOutput) SetId(v string) *UpdateWorkflowStepOutput { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateWorkflowStepOutput) SetName(v string) *UpdateWorkflowStepOutput { + s.Name = &v + return s +} + +// SetStepGroupId sets the StepGroupId field's value. +func (s *UpdateWorkflowStepOutput) SetStepGroupId(v string) *UpdateWorkflowStepOutput { + s.StepGroupId = &v + return s +} + +// SetWorkflowId sets the WorkflowId field's value. +func (s *UpdateWorkflowStepOutput) SetWorkflowId(v string) *UpdateWorkflowStepOutput { + s.WorkflowId = &v + return s +} + +// The input fails to satisfy the constraints specified by an AWS service. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The custom script to run tests on source or target environments. +type WorkflowStepAutomationConfiguration struct { + _ struct{} `type:"structure"` + + // The command required to run the script. + Command *PlatformCommand `locationName:"command" type:"structure"` + + // The source or target environment. + RunEnvironment *string `locationName:"runEnvironment" type:"string" enum:"RunEnvironment"` + + // The Amazon S3 bucket where the script is located. + ScriptLocationS3Bucket *string `locationName:"scriptLocationS3Bucket" type:"string"` + + // The Amazon S3 key for the script location. + ScriptLocationS3Key *PlatformScriptKey `locationName:"scriptLocationS3Key" type:"structure"` + + // The servers on which to run the script. + TargetType *string `locationName:"targetType" type:"string" enum:"TargetType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepAutomationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepAutomationConfiguration) GoString() string { + return s.String() +} + +// SetCommand sets the Command field's value. +func (s *WorkflowStepAutomationConfiguration) SetCommand(v *PlatformCommand) *WorkflowStepAutomationConfiguration { + s.Command = v + return s +} + +// SetRunEnvironment sets the RunEnvironment field's value. +func (s *WorkflowStepAutomationConfiguration) SetRunEnvironment(v string) *WorkflowStepAutomationConfiguration { + s.RunEnvironment = &v + return s +} + +// SetScriptLocationS3Bucket sets the ScriptLocationS3Bucket field's value. +func (s *WorkflowStepAutomationConfiguration) SetScriptLocationS3Bucket(v string) *WorkflowStepAutomationConfiguration { + s.ScriptLocationS3Bucket = &v + return s +} + +// SetScriptLocationS3Key sets the ScriptLocationS3Key field's value. +func (s *WorkflowStepAutomationConfiguration) SetScriptLocationS3Key(v *PlatformScriptKey) *WorkflowStepAutomationConfiguration { + s.ScriptLocationS3Key = v + return s +} + +// SetTargetType sets the TargetType field's value. +func (s *WorkflowStepAutomationConfiguration) SetTargetType(v string) *WorkflowStepAutomationConfiguration { + s.TargetType = &v + return s +} + +// The summary of a step group in a workflow. +type WorkflowStepGroupSummary struct { + _ struct{} `type:"structure"` + + // The ID of the step group. + Id *string `locationName:"id" type:"string"` + + // The name of the step group. + Name *string `locationName:"name" type:"string"` + + // The next step group. + Next []*string `locationName:"next" type:"list"` + + // The owner of the step group. + Owner *string `locationName:"owner" type:"string" enum:"Owner"` + + // The previous step group. + Previous []*string `locationName:"previous" type:"list"` + + // The status of the step group. + Status *string `locationName:"status" type:"string" enum:"StepGroupStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepGroupSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepGroupSummary) GoString() string { + return s.String() +} + +// SetId sets the Id field's value. +func (s *WorkflowStepGroupSummary) SetId(v string) *WorkflowStepGroupSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *WorkflowStepGroupSummary) SetName(v string) *WorkflowStepGroupSummary { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *WorkflowStepGroupSummary) SetNext(v []*string) *WorkflowStepGroupSummary { + s.Next = v + return s +} + +// SetOwner sets the Owner field's value. +func (s *WorkflowStepGroupSummary) SetOwner(v string) *WorkflowStepGroupSummary { + s.Owner = &v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *WorkflowStepGroupSummary) SetPrevious(v []*string) *WorkflowStepGroupSummary { + s.Previous = v + return s +} + +// SetStatus sets the Status field's value. +func (s *WorkflowStepGroupSummary) SetStatus(v string) *WorkflowStepGroupSummary { + s.Status = &v + return s +} + +// A structure to hold multiple values of an output. +type WorkflowStepOutputUnion struct { + _ struct{} `type:"structure"` + + // The integer value. + IntegerValue *int64 `locationName:"integerValue" type:"integer"` + + // The list of string value. + ListOfStringValue []*string `locationName:"listOfStringValue" type:"list"` + + // The string value. + StringValue *string `locationName:"stringValue" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepOutputUnion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepOutputUnion) GoString() string { + return s.String() +} + +// SetIntegerValue sets the IntegerValue field's value. +func (s *WorkflowStepOutputUnion) SetIntegerValue(v int64) *WorkflowStepOutputUnion { + s.IntegerValue = &v + return s +} + +// SetListOfStringValue sets the ListOfStringValue field's value. +func (s *WorkflowStepOutputUnion) SetListOfStringValue(v []*string) *WorkflowStepOutputUnion { + s.ListOfStringValue = v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *WorkflowStepOutputUnion) SetStringValue(v string) *WorkflowStepOutputUnion { + s.StringValue = &v + return s +} + +// The output of a step. +type WorkflowStepOutput_ struct { + _ struct{} `type:"structure"` + + // The data type of the output. + DataType *string `locationName:"dataType" type:"string" enum:"DataType"` + + // The name of the step. + Name *string `locationName:"name" min:"1" type:"string"` + + // Determine if an output is required from a step. + Required *bool `locationName:"required" type:"boolean"` + + // The value of the output. + Value *WorkflowStepOutputUnion `locationName:"value" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepOutput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepOutput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *WorkflowStepOutput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WorkflowStepOutput_"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataType sets the DataType field's value. +func (s *WorkflowStepOutput_) SetDataType(v string) *WorkflowStepOutput_ { + s.DataType = &v + return s +} + +// SetName sets the Name field's value. +func (s *WorkflowStepOutput_) SetName(v string) *WorkflowStepOutput_ { + s.Name = &v + return s +} + +// SetRequired sets the Required field's value. +func (s *WorkflowStepOutput_) SetRequired(v bool) *WorkflowStepOutput_ { + s.Required = &v + return s +} + +// SetValue sets the Value field's value. +func (s *WorkflowStepOutput_) SetValue(v *WorkflowStepOutputUnion) *WorkflowStepOutput_ { + s.Value = v + return s +} + +// The summary of the step in a migration workflow. +type WorkflowStepSummary struct { + _ struct{} `type:"structure"` + + // The description of the step. + Description *string `locationName:"description" type:"string"` + + // The name of the step. + Name *string `locationName:"name" type:"string"` + + // The next step. + Next []*string `locationName:"next" type:"list"` + + // The number of servers that have been migrated. + NoOfSrvCompleted *int64 `locationName:"noOfSrvCompleted" type:"integer"` + + // The number of servers that have failed to migrate. + NoOfSrvFailed *int64 `locationName:"noOfSrvFailed" type:"integer"` + + // The owner of the step. + Owner *string `locationName:"owner" type:"string" enum:"Owner"` + + // The previous step. + Previous []*string `locationName:"previous" type:"list"` + + // The location of the script. + ScriptLocation *string `locationName:"scriptLocation" type:"string"` + + // The status of the step. + Status *string `locationName:"status" type:"string" enum:"StepStatus"` + + // The status message of the migration workflow. + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // The action type of the step. You must run and update the status of a manual + // step for the workflow to continue after the completion of the step. + StepActionType *string `locationName:"stepActionType" type:"string" enum:"StepActionType"` + + // The ID of the step. + StepId *string `locationName:"stepId" type:"string"` + + // The total number of servers that have been migrated. + TotalNoOfSrv *int64 `locationName:"totalNoOfSrv" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WorkflowStepSummary) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *WorkflowStepSummary) SetDescription(v string) *WorkflowStepSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *WorkflowStepSummary) SetName(v string) *WorkflowStepSummary { + s.Name = &v + return s +} + +// SetNext sets the Next field's value. +func (s *WorkflowStepSummary) SetNext(v []*string) *WorkflowStepSummary { + s.Next = v + return s +} + +// SetNoOfSrvCompleted sets the NoOfSrvCompleted field's value. +func (s *WorkflowStepSummary) SetNoOfSrvCompleted(v int64) *WorkflowStepSummary { + s.NoOfSrvCompleted = &v + return s +} + +// SetNoOfSrvFailed sets the NoOfSrvFailed field's value. +func (s *WorkflowStepSummary) SetNoOfSrvFailed(v int64) *WorkflowStepSummary { + s.NoOfSrvFailed = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *WorkflowStepSummary) SetOwner(v string) *WorkflowStepSummary { + s.Owner = &v + return s +} + +// SetPrevious sets the Previous field's value. +func (s *WorkflowStepSummary) SetPrevious(v []*string) *WorkflowStepSummary { + s.Previous = v + return s +} + +// SetScriptLocation sets the ScriptLocation field's value. +func (s *WorkflowStepSummary) SetScriptLocation(v string) *WorkflowStepSummary { + s.ScriptLocation = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *WorkflowStepSummary) SetStatus(v string) *WorkflowStepSummary { + s.Status = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *WorkflowStepSummary) SetStatusMessage(v string) *WorkflowStepSummary { + s.StatusMessage = &v + return s +} + +// SetStepActionType sets the StepActionType field's value. +func (s *WorkflowStepSummary) SetStepActionType(v string) *WorkflowStepSummary { + s.StepActionType = &v + return s +} + +// SetStepId sets the StepId field's value. +func (s *WorkflowStepSummary) SetStepId(v string) *WorkflowStepSummary { + s.StepId = &v + return s +} + +// SetTotalNoOfSrv sets the TotalNoOfSrv field's value. +func (s *WorkflowStepSummary) SetTotalNoOfSrv(v int64) *WorkflowStepSummary { + s.TotalNoOfSrv = &v + return s +} + +const ( + // DataTypeString is a DataType enum value + DataTypeString = "STRING" + + // DataTypeInteger is a DataType enum value + DataTypeInteger = "INTEGER" + + // DataTypeStringlist is a DataType enum value + DataTypeStringlist = "STRINGLIST" + + // DataTypeStringmap is a DataType enum value + DataTypeStringmap = "STRINGMAP" +) + +// DataType_Values returns all elements of the DataType enum +func DataType_Values() []string { + return []string{ + DataTypeString, + DataTypeInteger, + DataTypeStringlist, + DataTypeStringmap, + } +} + +const ( + // MigrationWorkflowStatusEnumCreating is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumCreating = "CREATING" + + // MigrationWorkflowStatusEnumNotStarted is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumNotStarted = "NOT_STARTED" + + // MigrationWorkflowStatusEnumCreationFailed is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumCreationFailed = "CREATION_FAILED" + + // MigrationWorkflowStatusEnumStarting is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumStarting = "STARTING" + + // MigrationWorkflowStatusEnumInProgress is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumInProgress = "IN_PROGRESS" + + // MigrationWorkflowStatusEnumWorkflowFailed is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumWorkflowFailed = "WORKFLOW_FAILED" + + // MigrationWorkflowStatusEnumPaused is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumPaused = "PAUSED" + + // MigrationWorkflowStatusEnumPausing is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumPausing = "PAUSING" + + // MigrationWorkflowStatusEnumPausingFailed is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumPausingFailed = "PAUSING_FAILED" + + // MigrationWorkflowStatusEnumUserAttentionRequired is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumUserAttentionRequired = "USER_ATTENTION_REQUIRED" + + // MigrationWorkflowStatusEnumDeleting is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumDeleting = "DELETING" + + // MigrationWorkflowStatusEnumDeletionFailed is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumDeletionFailed = "DELETION_FAILED" + + // MigrationWorkflowStatusEnumDeleted is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumDeleted = "DELETED" + + // MigrationWorkflowStatusEnumCompleted is a MigrationWorkflowStatusEnum enum value + MigrationWorkflowStatusEnumCompleted = "COMPLETED" +) + +// MigrationWorkflowStatusEnum_Values returns all elements of the MigrationWorkflowStatusEnum enum +func MigrationWorkflowStatusEnum_Values() []string { + return []string{ + MigrationWorkflowStatusEnumCreating, + MigrationWorkflowStatusEnumNotStarted, + MigrationWorkflowStatusEnumCreationFailed, + MigrationWorkflowStatusEnumStarting, + MigrationWorkflowStatusEnumInProgress, + MigrationWorkflowStatusEnumWorkflowFailed, + MigrationWorkflowStatusEnumPaused, + MigrationWorkflowStatusEnumPausing, + MigrationWorkflowStatusEnumPausingFailed, + MigrationWorkflowStatusEnumUserAttentionRequired, + MigrationWorkflowStatusEnumDeleting, + MigrationWorkflowStatusEnumDeletionFailed, + MigrationWorkflowStatusEnumDeleted, + MigrationWorkflowStatusEnumCompleted, + } +} + +const ( + // OwnerAwsManaged is a Owner enum value + OwnerAwsManaged = "AWS_MANAGED" + + // OwnerCustom is a Owner enum value + OwnerCustom = "CUSTOM" +) + +// Owner_Values returns all elements of the Owner enum +func Owner_Values() []string { + return []string{ + OwnerAwsManaged, + OwnerCustom, + } +} + +const ( + // PluginHealthHealthy is a PluginHealth enum value + PluginHealthHealthy = "HEALTHY" + + // PluginHealthUnhealthy is a PluginHealth enum value + PluginHealthUnhealthy = "UNHEALTHY" +) + +// PluginHealth_Values returns all elements of the PluginHealth enum +func PluginHealth_Values() []string { + return []string{ + PluginHealthHealthy, + PluginHealthUnhealthy, + } +} + +const ( + // RunEnvironmentAws is a RunEnvironment enum value + RunEnvironmentAws = "AWS" + + // RunEnvironmentOnpremise is a RunEnvironment enum value + RunEnvironmentOnpremise = "ONPREMISE" +) + +// RunEnvironment_Values returns all elements of the RunEnvironment enum +func RunEnvironment_Values() []string { + return []string{ + RunEnvironmentAws, + RunEnvironmentOnpremise, + } +} + +const ( + // StepActionTypeManual is a StepActionType enum value + StepActionTypeManual = "MANUAL" + + // StepActionTypeAutomated is a StepActionType enum value + StepActionTypeAutomated = "AUTOMATED" +) + +// StepActionType_Values returns all elements of the StepActionType enum +func StepActionType_Values() []string { + return []string{ + StepActionTypeManual, + StepActionTypeAutomated, + } +} + +const ( + // StepGroupStatusAwaitingDependencies is a StepGroupStatus enum value + StepGroupStatusAwaitingDependencies = "AWAITING_DEPENDENCIES" + + // StepGroupStatusReady is a StepGroupStatus enum value + StepGroupStatusReady = "READY" + + // StepGroupStatusInProgress is a StepGroupStatus enum value + StepGroupStatusInProgress = "IN_PROGRESS" + + // StepGroupStatusCompleted is a StepGroupStatus enum value + StepGroupStatusCompleted = "COMPLETED" + + // StepGroupStatusFailed is a StepGroupStatus enum value + StepGroupStatusFailed = "FAILED" + + // StepGroupStatusPaused is a StepGroupStatus enum value + StepGroupStatusPaused = "PAUSED" + + // StepGroupStatusPausing is a StepGroupStatus enum value + StepGroupStatusPausing = "PAUSING" + + // StepGroupStatusUserAttentionRequired is a StepGroupStatus enum value + StepGroupStatusUserAttentionRequired = "USER_ATTENTION_REQUIRED" +) + +// StepGroupStatus_Values returns all elements of the StepGroupStatus enum +func StepGroupStatus_Values() []string { + return []string{ + StepGroupStatusAwaitingDependencies, + StepGroupStatusReady, + StepGroupStatusInProgress, + StepGroupStatusCompleted, + StepGroupStatusFailed, + StepGroupStatusPaused, + StepGroupStatusPausing, + StepGroupStatusUserAttentionRequired, + } +} + +const ( + // StepStatusAwaitingDependencies is a StepStatus enum value + StepStatusAwaitingDependencies = "AWAITING_DEPENDENCIES" + + // StepStatusReady is a StepStatus enum value + StepStatusReady = "READY" + + // StepStatusInProgress is a StepStatus enum value + StepStatusInProgress = "IN_PROGRESS" + + // StepStatusCompleted is a StepStatus enum value + StepStatusCompleted = "COMPLETED" + + // StepStatusFailed is a StepStatus enum value + StepStatusFailed = "FAILED" + + // StepStatusPaused is a StepStatus enum value + StepStatusPaused = "PAUSED" + + // StepStatusUserAttentionRequired is a StepStatus enum value + StepStatusUserAttentionRequired = "USER_ATTENTION_REQUIRED" +) + +// StepStatus_Values returns all elements of the StepStatus enum +func StepStatus_Values() []string { + return []string{ + StepStatusAwaitingDependencies, + StepStatusReady, + StepStatusInProgress, + StepStatusCompleted, + StepStatusFailed, + StepStatusPaused, + StepStatusUserAttentionRequired, + } +} + +const ( + // TargetTypeSingle is a TargetType enum value + TargetTypeSingle = "SINGLE" + + // TargetTypeAll is a TargetType enum value + TargetTypeAll = "ALL" + + // TargetTypeNone is a TargetType enum value + TargetTypeNone = "NONE" +) + +// TargetType_Values returns all elements of the TargetType enum +func TargetType_Values() []string { + return []string{ + TargetTypeSingle, + TargetTypeAll, + TargetTypeNone, + } +} + +const ( + // TemplateStatusCreated is a TemplateStatus enum value + TemplateStatusCreated = "CREATED" +) + +// TemplateStatus_Values returns all elements of the TemplateStatus enum +func TemplateStatus_Values() []string { + return []string{ + TemplateStatusCreated, + } +} diff --git a/service/migrationhuborchestrator/doc.go b/service/migrationhuborchestrator/doc.go new file mode 100644 index 0000000000..7994b962e5 --- /dev/null +++ b/service/migrationhuborchestrator/doc.go @@ -0,0 +1,32 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package migrationhuborchestrator provides the client and types for making API +// requests to AWS Migration Hub Orchestrator. +// +// This API reference provides descriptions, syntax, and other details about +// each of the actions and data types for AWS Migration Hub Orchestrator. he +// topic for each action shows the API request parameters and the response. +// Alternatively, you can use one of the AWS SDKs to access an API that is tailored +// to the programming language or platform that you're using. +// +// See https://docs.aws.amazon.com/goto/WebAPI/migrationhuborchestrator-2021-08-28 for more information on this service. +// +// See migrationhuborchestrator package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/migrationhuborchestrator/ +// +// # Using the Client +// +// To contact AWS Migration Hub Orchestrator with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Migration Hub Orchestrator client MigrationHubOrchestrator for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/migrationhuborchestrator/#New +package migrationhuborchestrator diff --git a/service/migrationhuborchestrator/errors.go b/service/migrationhuborchestrator/errors.go new file mode 100644 index 0000000000..70fa3aae30 --- /dev/null +++ b/service/migrationhuborchestrator/errors.go @@ -0,0 +1,48 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package migrationhuborchestrator + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // An internal error has occurred. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The resource is not available. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The request was denied due to request throttling. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The input fails to satisfy the constraints specified by an AWS service. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/migrationhuborchestrator/migrationhuborchestratoriface/interface.go b/service/migrationhuborchestrator/migrationhuborchestratoriface/interface.go new file mode 100644 index 0000000000..79ff8c507b --- /dev/null +++ b/service/migrationhuborchestrator/migrationhuborchestratoriface/interface.go @@ -0,0 +1,197 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package migrationhuborchestratoriface provides an interface to enable mocking the AWS Migration Hub Orchestrator service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package migrationhuborchestratoriface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/migrationhuborchestrator" +) + +// MigrationHubOrchestratorAPI provides an interface to enable mocking the +// migrationhuborchestrator.MigrationHubOrchestrator service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Migration Hub Orchestrator. +// func myFunc(svc migrationhuborchestratoriface.MigrationHubOrchestratorAPI) bool { +// // Make svc.CreateWorkflow request +// } +// +// func main() { +// sess := session.New() +// svc := migrationhuborchestrator.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMigrationHubOrchestratorClient struct { +// migrationhuborchestratoriface.MigrationHubOrchestratorAPI +// } +// func (m *mockMigrationHubOrchestratorClient) CreateWorkflow(input *migrationhuborchestrator.CreateWorkflowInput) (*migrationhuborchestrator.CreateWorkflowOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMigrationHubOrchestratorClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MigrationHubOrchestratorAPI interface { + CreateWorkflow(*migrationhuborchestrator.CreateWorkflowInput) (*migrationhuborchestrator.CreateWorkflowOutput, error) + CreateWorkflowWithContext(aws.Context, *migrationhuborchestrator.CreateWorkflowInput, ...request.Option) (*migrationhuborchestrator.CreateWorkflowOutput, error) + CreateWorkflowRequest(*migrationhuborchestrator.CreateWorkflowInput) (*request.Request, *migrationhuborchestrator.CreateWorkflowOutput) + + CreateWorkflowStep(*migrationhuborchestrator.CreateWorkflowStepInput) (*migrationhuborchestrator.CreateWorkflowStepOutput, error) + CreateWorkflowStepWithContext(aws.Context, *migrationhuborchestrator.CreateWorkflowStepInput, ...request.Option) (*migrationhuborchestrator.CreateWorkflowStepOutput, error) + CreateWorkflowStepRequest(*migrationhuborchestrator.CreateWorkflowStepInput) (*request.Request, *migrationhuborchestrator.CreateWorkflowStepOutput) + + CreateWorkflowStepGroup(*migrationhuborchestrator.CreateWorkflowStepGroupInput) (*migrationhuborchestrator.CreateWorkflowStepGroupOutput, error) + CreateWorkflowStepGroupWithContext(aws.Context, *migrationhuborchestrator.CreateWorkflowStepGroupInput, ...request.Option) (*migrationhuborchestrator.CreateWorkflowStepGroupOutput, error) + CreateWorkflowStepGroupRequest(*migrationhuborchestrator.CreateWorkflowStepGroupInput) (*request.Request, *migrationhuborchestrator.CreateWorkflowStepGroupOutput) + + DeleteWorkflow(*migrationhuborchestrator.DeleteWorkflowInput) (*migrationhuborchestrator.DeleteWorkflowOutput, error) + DeleteWorkflowWithContext(aws.Context, *migrationhuborchestrator.DeleteWorkflowInput, ...request.Option) (*migrationhuborchestrator.DeleteWorkflowOutput, error) + DeleteWorkflowRequest(*migrationhuborchestrator.DeleteWorkflowInput) (*request.Request, *migrationhuborchestrator.DeleteWorkflowOutput) + + DeleteWorkflowStep(*migrationhuborchestrator.DeleteWorkflowStepInput) (*migrationhuborchestrator.DeleteWorkflowStepOutput, error) + DeleteWorkflowStepWithContext(aws.Context, *migrationhuborchestrator.DeleteWorkflowStepInput, ...request.Option) (*migrationhuborchestrator.DeleteWorkflowStepOutput, error) + DeleteWorkflowStepRequest(*migrationhuborchestrator.DeleteWorkflowStepInput) (*request.Request, *migrationhuborchestrator.DeleteWorkflowStepOutput) + + DeleteWorkflowStepGroup(*migrationhuborchestrator.DeleteWorkflowStepGroupInput) (*migrationhuborchestrator.DeleteWorkflowStepGroupOutput, error) + DeleteWorkflowStepGroupWithContext(aws.Context, *migrationhuborchestrator.DeleteWorkflowStepGroupInput, ...request.Option) (*migrationhuborchestrator.DeleteWorkflowStepGroupOutput, error) + DeleteWorkflowStepGroupRequest(*migrationhuborchestrator.DeleteWorkflowStepGroupInput) (*request.Request, *migrationhuborchestrator.DeleteWorkflowStepGroupOutput) + + GetTemplate(*migrationhuborchestrator.GetTemplateInput) (*migrationhuborchestrator.GetTemplateOutput, error) + GetTemplateWithContext(aws.Context, *migrationhuborchestrator.GetTemplateInput, ...request.Option) (*migrationhuborchestrator.GetTemplateOutput, error) + GetTemplateRequest(*migrationhuborchestrator.GetTemplateInput) (*request.Request, *migrationhuborchestrator.GetTemplateOutput) + + GetTemplateStep(*migrationhuborchestrator.GetTemplateStepInput) (*migrationhuborchestrator.GetTemplateStepOutput, error) + GetTemplateStepWithContext(aws.Context, *migrationhuborchestrator.GetTemplateStepInput, ...request.Option) (*migrationhuborchestrator.GetTemplateStepOutput, error) + GetTemplateStepRequest(*migrationhuborchestrator.GetTemplateStepInput) (*request.Request, *migrationhuborchestrator.GetTemplateStepOutput) + + GetTemplateStepGroup(*migrationhuborchestrator.GetTemplateStepGroupInput) (*migrationhuborchestrator.GetTemplateStepGroupOutput, error) + GetTemplateStepGroupWithContext(aws.Context, *migrationhuborchestrator.GetTemplateStepGroupInput, ...request.Option) (*migrationhuborchestrator.GetTemplateStepGroupOutput, error) + GetTemplateStepGroupRequest(*migrationhuborchestrator.GetTemplateStepGroupInput) (*request.Request, *migrationhuborchestrator.GetTemplateStepGroupOutput) + + GetWorkflow(*migrationhuborchestrator.GetWorkflowInput) (*migrationhuborchestrator.GetWorkflowOutput, error) + GetWorkflowWithContext(aws.Context, *migrationhuborchestrator.GetWorkflowInput, ...request.Option) (*migrationhuborchestrator.GetWorkflowOutput, error) + GetWorkflowRequest(*migrationhuborchestrator.GetWorkflowInput) (*request.Request, *migrationhuborchestrator.GetWorkflowOutput) + + GetWorkflowStep(*migrationhuborchestrator.GetWorkflowStepInput) (*migrationhuborchestrator.GetWorkflowStepOutput, error) + GetWorkflowStepWithContext(aws.Context, *migrationhuborchestrator.GetWorkflowStepInput, ...request.Option) (*migrationhuborchestrator.GetWorkflowStepOutput, error) + GetWorkflowStepRequest(*migrationhuborchestrator.GetWorkflowStepInput) (*request.Request, *migrationhuborchestrator.GetWorkflowStepOutput) + + GetWorkflowStepGroup(*migrationhuborchestrator.GetWorkflowStepGroupInput) (*migrationhuborchestrator.GetWorkflowStepGroupOutput, error) + GetWorkflowStepGroupWithContext(aws.Context, *migrationhuborchestrator.GetWorkflowStepGroupInput, ...request.Option) (*migrationhuborchestrator.GetWorkflowStepGroupOutput, error) + GetWorkflowStepGroupRequest(*migrationhuborchestrator.GetWorkflowStepGroupInput) (*request.Request, *migrationhuborchestrator.GetWorkflowStepGroupOutput) + + ListPlugins(*migrationhuborchestrator.ListPluginsInput) (*migrationhuborchestrator.ListPluginsOutput, error) + ListPluginsWithContext(aws.Context, *migrationhuborchestrator.ListPluginsInput, ...request.Option) (*migrationhuborchestrator.ListPluginsOutput, error) + ListPluginsRequest(*migrationhuborchestrator.ListPluginsInput) (*request.Request, *migrationhuborchestrator.ListPluginsOutput) + + ListPluginsPages(*migrationhuborchestrator.ListPluginsInput, func(*migrationhuborchestrator.ListPluginsOutput, bool) bool) error + ListPluginsPagesWithContext(aws.Context, *migrationhuborchestrator.ListPluginsInput, func(*migrationhuborchestrator.ListPluginsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*migrationhuborchestrator.ListTagsForResourceInput) (*migrationhuborchestrator.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *migrationhuborchestrator.ListTagsForResourceInput, ...request.Option) (*migrationhuborchestrator.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*migrationhuborchestrator.ListTagsForResourceInput) (*request.Request, *migrationhuborchestrator.ListTagsForResourceOutput) + + ListTemplateStepGroups(*migrationhuborchestrator.ListTemplateStepGroupsInput) (*migrationhuborchestrator.ListTemplateStepGroupsOutput, error) + ListTemplateStepGroupsWithContext(aws.Context, *migrationhuborchestrator.ListTemplateStepGroupsInput, ...request.Option) (*migrationhuborchestrator.ListTemplateStepGroupsOutput, error) + ListTemplateStepGroupsRequest(*migrationhuborchestrator.ListTemplateStepGroupsInput) (*request.Request, *migrationhuborchestrator.ListTemplateStepGroupsOutput) + + ListTemplateStepGroupsPages(*migrationhuborchestrator.ListTemplateStepGroupsInput, func(*migrationhuborchestrator.ListTemplateStepGroupsOutput, bool) bool) error + ListTemplateStepGroupsPagesWithContext(aws.Context, *migrationhuborchestrator.ListTemplateStepGroupsInput, func(*migrationhuborchestrator.ListTemplateStepGroupsOutput, bool) bool, ...request.Option) error + + ListTemplateSteps(*migrationhuborchestrator.ListTemplateStepsInput) (*migrationhuborchestrator.ListTemplateStepsOutput, error) + ListTemplateStepsWithContext(aws.Context, *migrationhuborchestrator.ListTemplateStepsInput, ...request.Option) (*migrationhuborchestrator.ListTemplateStepsOutput, error) + ListTemplateStepsRequest(*migrationhuborchestrator.ListTemplateStepsInput) (*request.Request, *migrationhuborchestrator.ListTemplateStepsOutput) + + ListTemplateStepsPages(*migrationhuborchestrator.ListTemplateStepsInput, func(*migrationhuborchestrator.ListTemplateStepsOutput, bool) bool) error + ListTemplateStepsPagesWithContext(aws.Context, *migrationhuborchestrator.ListTemplateStepsInput, func(*migrationhuborchestrator.ListTemplateStepsOutput, bool) bool, ...request.Option) error + + ListTemplates(*migrationhuborchestrator.ListTemplatesInput) (*migrationhuborchestrator.ListTemplatesOutput, error) + ListTemplatesWithContext(aws.Context, *migrationhuborchestrator.ListTemplatesInput, ...request.Option) (*migrationhuborchestrator.ListTemplatesOutput, error) + ListTemplatesRequest(*migrationhuborchestrator.ListTemplatesInput) (*request.Request, *migrationhuborchestrator.ListTemplatesOutput) + + ListTemplatesPages(*migrationhuborchestrator.ListTemplatesInput, func(*migrationhuborchestrator.ListTemplatesOutput, bool) bool) error + ListTemplatesPagesWithContext(aws.Context, *migrationhuborchestrator.ListTemplatesInput, func(*migrationhuborchestrator.ListTemplatesOutput, bool) bool, ...request.Option) error + + ListWorkflowStepGroups(*migrationhuborchestrator.ListWorkflowStepGroupsInput) (*migrationhuborchestrator.ListWorkflowStepGroupsOutput, error) + ListWorkflowStepGroupsWithContext(aws.Context, *migrationhuborchestrator.ListWorkflowStepGroupsInput, ...request.Option) (*migrationhuborchestrator.ListWorkflowStepGroupsOutput, error) + ListWorkflowStepGroupsRequest(*migrationhuborchestrator.ListWorkflowStepGroupsInput) (*request.Request, *migrationhuborchestrator.ListWorkflowStepGroupsOutput) + + ListWorkflowStepGroupsPages(*migrationhuborchestrator.ListWorkflowStepGroupsInput, func(*migrationhuborchestrator.ListWorkflowStepGroupsOutput, bool) bool) error + ListWorkflowStepGroupsPagesWithContext(aws.Context, *migrationhuborchestrator.ListWorkflowStepGroupsInput, func(*migrationhuborchestrator.ListWorkflowStepGroupsOutput, bool) bool, ...request.Option) error + + ListWorkflowSteps(*migrationhuborchestrator.ListWorkflowStepsInput) (*migrationhuborchestrator.ListWorkflowStepsOutput, error) + ListWorkflowStepsWithContext(aws.Context, *migrationhuborchestrator.ListWorkflowStepsInput, ...request.Option) (*migrationhuborchestrator.ListWorkflowStepsOutput, error) + ListWorkflowStepsRequest(*migrationhuborchestrator.ListWorkflowStepsInput) (*request.Request, *migrationhuborchestrator.ListWorkflowStepsOutput) + + ListWorkflowStepsPages(*migrationhuborchestrator.ListWorkflowStepsInput, func(*migrationhuborchestrator.ListWorkflowStepsOutput, bool) bool) error + ListWorkflowStepsPagesWithContext(aws.Context, *migrationhuborchestrator.ListWorkflowStepsInput, func(*migrationhuborchestrator.ListWorkflowStepsOutput, bool) bool, ...request.Option) error + + ListWorkflows(*migrationhuborchestrator.ListWorkflowsInput) (*migrationhuborchestrator.ListWorkflowsOutput, error) + ListWorkflowsWithContext(aws.Context, *migrationhuborchestrator.ListWorkflowsInput, ...request.Option) (*migrationhuborchestrator.ListWorkflowsOutput, error) + ListWorkflowsRequest(*migrationhuborchestrator.ListWorkflowsInput) (*request.Request, *migrationhuborchestrator.ListWorkflowsOutput) + + ListWorkflowsPages(*migrationhuborchestrator.ListWorkflowsInput, func(*migrationhuborchestrator.ListWorkflowsOutput, bool) bool) error + ListWorkflowsPagesWithContext(aws.Context, *migrationhuborchestrator.ListWorkflowsInput, func(*migrationhuborchestrator.ListWorkflowsOutput, bool) bool, ...request.Option) error + + RetryWorkflowStep(*migrationhuborchestrator.RetryWorkflowStepInput) (*migrationhuborchestrator.RetryWorkflowStepOutput, error) + RetryWorkflowStepWithContext(aws.Context, *migrationhuborchestrator.RetryWorkflowStepInput, ...request.Option) (*migrationhuborchestrator.RetryWorkflowStepOutput, error) + RetryWorkflowStepRequest(*migrationhuborchestrator.RetryWorkflowStepInput) (*request.Request, *migrationhuborchestrator.RetryWorkflowStepOutput) + + StartWorkflow(*migrationhuborchestrator.StartWorkflowInput) (*migrationhuborchestrator.StartWorkflowOutput, error) + StartWorkflowWithContext(aws.Context, *migrationhuborchestrator.StartWorkflowInput, ...request.Option) (*migrationhuborchestrator.StartWorkflowOutput, error) + StartWorkflowRequest(*migrationhuborchestrator.StartWorkflowInput) (*request.Request, *migrationhuborchestrator.StartWorkflowOutput) + + StopWorkflow(*migrationhuborchestrator.StopWorkflowInput) (*migrationhuborchestrator.StopWorkflowOutput, error) + StopWorkflowWithContext(aws.Context, *migrationhuborchestrator.StopWorkflowInput, ...request.Option) (*migrationhuborchestrator.StopWorkflowOutput, error) + StopWorkflowRequest(*migrationhuborchestrator.StopWorkflowInput) (*request.Request, *migrationhuborchestrator.StopWorkflowOutput) + + TagResource(*migrationhuborchestrator.TagResourceInput) (*migrationhuborchestrator.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *migrationhuborchestrator.TagResourceInput, ...request.Option) (*migrationhuborchestrator.TagResourceOutput, error) + TagResourceRequest(*migrationhuborchestrator.TagResourceInput) (*request.Request, *migrationhuborchestrator.TagResourceOutput) + + UntagResource(*migrationhuborchestrator.UntagResourceInput) (*migrationhuborchestrator.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *migrationhuborchestrator.UntagResourceInput, ...request.Option) (*migrationhuborchestrator.UntagResourceOutput, error) + UntagResourceRequest(*migrationhuborchestrator.UntagResourceInput) (*request.Request, *migrationhuborchestrator.UntagResourceOutput) + + UpdateWorkflow(*migrationhuborchestrator.UpdateWorkflowInput) (*migrationhuborchestrator.UpdateWorkflowOutput, error) + UpdateWorkflowWithContext(aws.Context, *migrationhuborchestrator.UpdateWorkflowInput, ...request.Option) (*migrationhuborchestrator.UpdateWorkflowOutput, error) + UpdateWorkflowRequest(*migrationhuborchestrator.UpdateWorkflowInput) (*request.Request, *migrationhuborchestrator.UpdateWorkflowOutput) + + UpdateWorkflowStep(*migrationhuborchestrator.UpdateWorkflowStepInput) (*migrationhuborchestrator.UpdateWorkflowStepOutput, error) + UpdateWorkflowStepWithContext(aws.Context, *migrationhuborchestrator.UpdateWorkflowStepInput, ...request.Option) (*migrationhuborchestrator.UpdateWorkflowStepOutput, error) + UpdateWorkflowStepRequest(*migrationhuborchestrator.UpdateWorkflowStepInput) (*request.Request, *migrationhuborchestrator.UpdateWorkflowStepOutput) + + UpdateWorkflowStepGroup(*migrationhuborchestrator.UpdateWorkflowStepGroupInput) (*migrationhuborchestrator.UpdateWorkflowStepGroupOutput, error) + UpdateWorkflowStepGroupWithContext(aws.Context, *migrationhuborchestrator.UpdateWorkflowStepGroupInput, ...request.Option) (*migrationhuborchestrator.UpdateWorkflowStepGroupOutput, error) + UpdateWorkflowStepGroupRequest(*migrationhuborchestrator.UpdateWorkflowStepGroupInput) (*request.Request, *migrationhuborchestrator.UpdateWorkflowStepGroupOutput) +} + +var _ MigrationHubOrchestratorAPI = (*migrationhuborchestrator.MigrationHubOrchestrator)(nil) diff --git a/service/migrationhuborchestrator/service.go b/service/migrationhuborchestrator/service.go new file mode 100644 index 0000000000..52b0d14a36 --- /dev/null +++ b/service/migrationhuborchestrator/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package migrationhuborchestrator + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// MigrationHubOrchestrator provides the API operation methods for making requests to +// AWS Migration Hub Orchestrator. See this package's package overview docs +// for details on the service. +// +// MigrationHubOrchestrator methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MigrationHubOrchestrator struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "MigrationHubOrchestrator" // Name of service. + EndpointsID = "migrationhub-orchestrator" // ID to lookup a service endpoint with. + ServiceID = "MigrationHubOrchestrator" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the MigrationHubOrchestrator client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// +// mySession := session.Must(session.NewSession()) +// +// // Create a MigrationHubOrchestrator client from just a session. +// svc := migrationhuborchestrator.New(mySession) +// +// // Create a MigrationHubOrchestrator client with additional configuration +// svc := migrationhuborchestrator.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MigrationHubOrchestrator { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "migrationhub-orchestrator" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *MigrationHubOrchestrator { + svc := &MigrationHubOrchestrator{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-08-28", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MigrationHubOrchestrator operation and runs any +// custom request initialization. +func (c *MigrationHubOrchestrator) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/polly/api.go b/service/polly/api.go index 89a9854882..55a30cc15a 100644 --- a/service/polly/api.go +++ b/service/polly/api.go @@ -3983,6 +3983,9 @@ const ( // LanguageCodeDeAt is a LanguageCode enum value LanguageCodeDeAt = "de-AT" + + // LanguageCodeYueCn is a LanguageCode enum value + LanguageCodeYueCn = "yue-CN" ) // LanguageCode_Values returns all elements of the LanguageCode enum @@ -4021,6 +4024,7 @@ func LanguageCode_Values() []string { LanguageCodeEnZa, LanguageCodeCaEs, LanguageCodeDeAt, + LanguageCodeYueCn, } } @@ -4328,6 +4332,9 @@ const ( // VoiceIdKajal is a VoiceId enum value VoiceIdKajal = "Kajal" + + // VoiceIdHiujin is a VoiceId enum value + VoiceIdHiujin = "Hiujin" ) // VoiceId_Values returns all elements of the VoiceId enum @@ -4405,5 +4412,6 @@ func VoiceId_Values() []string { VoiceIdLiam, VoiceIdPedro, VoiceIdKajal, + VoiceIdHiujin, } } diff --git a/service/proton/api.go b/service/proton/api.go index 3636d5cc0d..973436cbf1 100644 --- a/service/proton/api.go +++ b/service/proton/api.go @@ -61,8 +61,8 @@ func (c *Proton) AcceptEnvironmentAccountConnectionRequest(input *AcceptEnvironm // the associated IAM role to provision environment infrastructure resources // in the associated environment account. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -160,8 +160,8 @@ func (c *Proton) CancelComponentDeploymentRequest(input *CancelComponentDeployme // Attempts to cancel a component deployment (for a component that is in the // IN_PROGRESS deployment status). // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -258,8 +258,8 @@ func (c *Proton) CancelEnvironmentDeploymentRequest(input *CancelEnvironmentDepl // // Attempts to cancel an environment deployment on an UpdateEnvironment action, // if the deployment is IN_PROGRESS. For more information, see Update an environment -// (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-update.html) -// in the Proton Administrator guide. +// (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-update.html) +// in the Proton User guide. // // The following list includes potential cancellation scenarios. // @@ -368,8 +368,8 @@ func (c *Proton) CancelServiceInstanceDeploymentRequest(input *CancelServiceInst // // Attempts to cancel a service instance deployment on an UpdateServiceInstance // action, if the deployment is IN_PROGRESS. For more information, see Update -// a service instance in the Proton Administrator guide (https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-instance-update.html) -// or the Proton User guide (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-instance-update.html). +// a service instance (https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-instance-update.html) +// in the Proton User guide. // // The following list includes potential cancellation scenarios. // @@ -478,8 +478,8 @@ func (c *Proton) CancelServicePipelineDeploymentRequest(input *CancelServicePipe // // Attempts to cancel a service pipeline deployment on an UpdateServicePipeline // action, if the deployment is IN_PROGRESS. For more information, see Update -// a service pipeline in the Proton Administrator guide (https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-pipeline-update.html) -// or the Proton User guide (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-pipeline-update.html). +// a service pipeline (https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-pipeline-update.html) +// in the Proton User guide. // // The following list includes potential cancellation scenarios. // @@ -589,8 +589,8 @@ func (c *Proton) CreateComponentRequest(input *CreateComponentInput) (req *reque // Create an Proton component. A component is an infrastructure extension for // a service instance. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -602,8 +602,8 @@ func (c *Proton) CreateComponentRequest(input *CreateComponentInput) (req *reque // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -702,9 +702,9 @@ func (c *Proton) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *r // to provide compiled infrastructure as code (IaC) files that your IaC engine // uses to provision resources. // -// For more information, see Environments (https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html) -// and Provisioning methods (https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html) -// in the Proton Administrator Guide. +// For more information, see Environments (https://docs.aws.amazon.com/proton/latest/userguide/ag-environments.html) +// and Provisioning methods (https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html) +// in the Proton 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 @@ -716,8 +716,8 @@ func (c *Proton) CreateEnvironmentRequest(input *CreateEnvironmentInput) (req *r // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -810,8 +810,8 @@ func (c *Proton) CreateEnvironmentAccountConnectionRequest(input *CreateEnvironm // An environment account connection is a secure bi-directional connection between // a management account and an environment account that maintains authorization // and permissions. For more information, see Environment account connections -// (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -823,8 +823,8 @@ func (c *Proton) CreateEnvironmentAccountConnectionRequest(input *CreateEnvironm // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -908,8 +908,8 @@ func (c *Proton) CreateEnvironmentTemplateRequest(input *CreateEnvironmentTempla // CreateEnvironmentTemplate API operation for AWS Proton. // // Create an environment template for Proton. For more information, see Environment -// Templates (https://docs.aws.amazon.com/proton/latest/adminguide/ag-templates.html) -// in the Proton Administrator Guide. +// Templates (https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html) +// in the Proton User Guide. // // You can create an environment template in one of the two following ways: // @@ -922,8 +922,8 @@ func (c *Proton) CreateEnvironmentTemplateRequest(input *CreateEnvironmentTempla // environment template for customer provisioned and managed infrastructure, // include the provisioning parameter and set the value to CUSTOMER_MANAGED. // For more information, see Register and publish an environment template -// (https://docs.aws.amazon.com/proton/latest/adminguide/template-create.html) -// in the Proton Administrator Guide. +// (https://docs.aws.amazon.com/proton/latest/userguide/template-create.html) +// in the Proton 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 @@ -935,8 +935,8 @@ func (c *Proton) CreateEnvironmentTemplateRequest(input *CreateEnvironmentTempla // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1034,8 +1034,8 @@ func (c *Proton) CreateEnvironmentTemplateVersionRequest(input *CreateEnvironmen // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1121,15 +1121,17 @@ func (c *Proton) CreateRepositoryRequest(input *CreateRepositoryInput) (req *req // CreateRepository API operation for AWS Proton. // -// Create and register a link to a repository that can be used with self-managed -// provisioning (infrastructure or pipelines) or for template sync configurations. -// When you create a repository link, Proton creates a service-linked role (https://docs.aws.amazon.com/proton/latest/adminguide/using-service-linked-roles.html) +// Create and register a link to a repository. Proton uses the link to repeatedly +// access the repository, to either push to it (self-managed provisioning) or +// pull from it (template sync). You can share a linked repository across multiple +// resources (like environments using self-managed provisioning, or synced templates). +// When you create a repository link, Proton creates a service-linked role (https://docs.aws.amazon.com/proton/latest/userguide/using-service-linked-roles.html) // for you. // -// For more information, see Self-managed provisioning (https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html#ag-works-prov-methods-self), -// Template bundles (https://docs.aws.amazon.com/proton/latest/adminguide/ag-template-bundles.html), -// and Template sync configurations (https://docs.aws.amazon.com/proton/latest/adminguide/ag-template-sync-configs.html) -// in the Proton Administrator Guide. +// For more information, see Self-managed provisioning (https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html#ag-works-prov-methods-self), +// Template bundles (https://docs.aws.amazon.com/proton/latest/userguide/ag-template-authoring.html#ag-template-bundles), +// and Template sync configurations (https://docs.aws.amazon.com/proton/latest/userguide/ag-template-sync-configs.html) +// in the Proton 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 @@ -1141,8 +1143,8 @@ func (c *Proton) CreateRepositoryRequest(input *CreateRepositoryInput) (req *req // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1227,8 +1229,7 @@ func (c *Proton) CreateServiceRequest(input *CreateServiceInput) (req *request.R // // Create an Proton service. An Proton service is an instantiation of a service // template and often includes several service instances and pipeline. For more -// information, see Services (https://docs.aws.amazon.com/proton/latest/adminguide/ag-services.html) -// in the Proton Administrator Guide and Services (https://docs.aws.amazon.com/proton/latest/userguide/ug-service.html) +// information, see Services (https://docs.aws.amazon.com/proton/latest/userguide/ag-services.html) // in the Proton User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1241,8 +1242,8 @@ func (c *Proton) CreateServiceRequest(input *CreateServiceInput) (req *request.R // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1333,9 +1334,9 @@ func (c *Proton) CreateServiceTemplateRequest(input *CreateServiceTemplateInput) // Developers, in turn, select the service template from Proton. If the selected // service template includes a service pipeline definition, they provide a link // to their source code repository. Proton then deploys and manages the infrastructure -// defined by the selected service template. For more information, see Service -// Templates (https://docs.aws.amazon.com/proton/latest/adminguide/managing-svc-templates.html) -// in the Proton Administrator Guide. +// defined by the selected service template. For more information, see Proton +// templates (https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html) +// in the Proton 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 @@ -1347,8 +1348,8 @@ func (c *Proton) CreateServiceTemplateRequest(input *CreateServiceTemplateInput) // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1446,8 +1447,8 @@ func (c *Proton) CreateServiceTemplateVersionRequest(input *CreateServiceTemplat // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1533,13 +1534,15 @@ func (c *Proton) CreateTemplateSyncConfigRequest(input *CreateTemplateSyncConfig // CreateTemplateSyncConfig API operation for AWS Proton. // -// Set up a template to create new template versions automatically. When a commit -// is pushed to your registered repository (https://docs.aws.amazon.com/proton/latest/APIReference/API_Repository.html), -// Proton checks for changes to your repository template bundles. If it detects -// a template bundle change, a new major or minor version of its template is -// created, if the version doesn’t already exist. For more information, see -// Template sync configurations (https://docs.aws.amazon.com/proton/latest/adminguide/ag-template-sync-configs.html) -// in the Proton Administrator Guide. +// Set up a template to create new template versions automatically by tracking +// a linked repository. A linked repository is a repository that has been registered +// with Proton. For more information, see CreateRepository. +// +// When a commit is pushed to your linked repository, Proton checks for changes +// to your repository template bundles. If it detects a template bundle change, +// a new major or minor version of its template is created, if the version doesn’t +// already exist. For more information, see Template sync configurations (https://docs.aws.amazon.com/proton/latest/userguide/ag-template-sync-configs.html) +// in the Proton 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 @@ -1551,8 +1554,8 @@ func (c *Proton) CreateTemplateSyncConfigRequest(input *CreateTemplateSyncConfig // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -1637,8 +1640,8 @@ func (c *Proton) DeleteComponentRequest(input *DeleteComponentInput) (req *reque // // Delete an Proton component resource. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -1836,8 +1839,8 @@ func (c *Proton) DeleteEnvironmentAccountConnectionRequest(input *DeleteEnvironm // environment account and associated environment. You're responsible for cleaning // up provisioned resources that remain without an environment connection. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -2232,8 +2235,8 @@ func (c *Proton) DeleteServiceRequest(input *DeleteServiceInput) (req *request.R // You can't delete a service if it has any service instances that have components // attached to them. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -2623,7 +2626,7 @@ func (c *Proton) GetAccountSettingsRequest(input *GetAccountSettingsInput) (req // GetAccountSettings API operation for AWS Proton. // -// Get detail data for the Proton pipeline service role. +// Get detail data for Proton account-wide settings. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2717,8 +2720,8 @@ func (c *Proton) GetComponentRequest(input *GetComponentInput) (req *request.Req // // Get detailed data for a component. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -2905,8 +2908,8 @@ func (c *Proton) GetEnvironmentAccountConnectionRequest(input *GetEnvironmentAcc // In an environment account, get the detailed data for an environment account // connection. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -3182,7 +3185,7 @@ func (c *Proton) GetRepositoryRequest(input *GetRepositoryInput) (req *request.R // GetRepository API operation for AWS Proton. // -// Get detail data for a repository. +// Get detail data for a linked repository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3282,8 +3285,8 @@ func (c *Proton) GetRepositorySyncStatusRequest(input *GetRepositorySyncStatusIn // have no effect on this action. Specifically, you can't use these tags to // control access to this action using Attribute-based access control (ABAC). // -// For more information about ABAC, see ABAC (https://docs.aws.amazon.com/proton/latest/adminguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags) -// in the Proton Administrator Guide. +// For more information about ABAC, see ABAC (https://docs.aws.amazon.com/proton/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags) +// in the Proton 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 @@ -3936,8 +3939,8 @@ func (c *Proton) ListComponentOutputsRequest(input *ListComponentOutputsInput) ( // // Get a list of component Infrastructure as Code (IaC) outputs. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -4088,8 +4091,8 @@ func (c *Proton) ListComponentProvisionedResourcesRequest(input *ListComponentPr // // List provisioned resources for a component with details. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -4241,8 +4244,8 @@ func (c *Proton) ListComponentsRequest(input *ListComponentsInput) (req *request // List components with summary data. You can filter the result list by environment, // service, or a single service instance. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -4390,8 +4393,8 @@ func (c *Proton) ListEnvironmentAccountConnectionsRequest(input *ListEnvironment // // View a list of environment account connections. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -5279,7 +5282,7 @@ func (c *Proton) ListRepositoriesRequest(input *ListRepositoriesInput) (req *req // ListRepositories API operation for AWS Proton. // -// List repositories with detail data. +// List linked repositories with detail data. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6761,8 +6764,8 @@ func (c *Proton) ListTagsForResourceRequest(input *ListTagsForResourceInput) (re // ListTagsForResource API operation for AWS Proton. // // List tags for a resource. For more information, see Proton resources and -// tagging in the Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) -// or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). +// tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) +// in the Proton 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 @@ -6909,8 +6912,8 @@ func (c *Proton) NotifyResourceDeploymentStatusChangeRequest(input *NotifyResour // Notify Proton of status changes to a provisioned resource when you use self-managed // provisioning. // -// For more information, see Self-managed provisioning (https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html#ag-works-prov-methods-self) -// in the Proton Administrator Guide. +// For more information, see Self-managed provisioning (https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html#ag-works-prov-methods-self) +// in the Proton 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 @@ -6922,8 +6925,8 @@ func (c *Proton) NotifyResourceDeploymentStatusChangeRequest(input *NotifyResour // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -7018,8 +7021,8 @@ func (c *Proton) RejectEnvironmentAccountConnectionRequest(input *RejectEnvironm // You can’t reject an environment account connection that's connected to // an environment. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -7118,9 +7121,8 @@ func (c *Proton) TagResourceRequest(input *TagResourceInput) (req *request.Reque // Tag a resource. A tag is a key-value pair of metadata that you associate // with an Proton resource. // -// For more information, see Proton resources and tagging in the Proton Administrator -// Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) -// or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). +// For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) +// in the Proton 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 @@ -7219,9 +7221,8 @@ func (c *Proton) UntagResourceRequest(input *UntagResourceInput) (req *request.R // Remove a customer tag from a resource. A tag is a key-value pair of metadata // associated with an Proton resource. // -// For more information, see Proton resources and tagging in the Proton Administrator -// Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) -// or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). +// For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) +// in the Proton 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 @@ -7316,7 +7317,8 @@ func (c *Proton) UpdateAccountSettingsRequest(input *UpdateAccountSettingsInput) // UpdateAccountSettings API operation for AWS Proton. // -// Update the Proton service pipeline role or repository settings. +// Update Proton settings that are used for multiple services in the Amazon +// Web Services account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7416,8 +7418,8 @@ func (c *Proton) UpdateComponentRequest(input *UpdateComponentInput) (req *reque // You can't update a component while its deployment status, or the deployment // status of a service instance attached to it, is IN_PROGRESS. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -7429,8 +7431,8 @@ func (c *Proton) UpdateComponentRequest(input *UpdateComponentInput) (req *reque // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -7542,9 +7544,9 @@ func (c *Proton) UpdateEnvironmentRequest(input *UpdateEnvironmentInput) (req *r // the provisioningRepository parameter and omit the protonServiceRoleArn and // environmentAccountConnectionId parameters. // -// For more information, see Environments (https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html) -// and Provisioning methods (https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html) -// in the Proton Administrator Guide. +// For more information, see Environments (https://docs.aws.amazon.com/proton/latest/userguide/ag-environments.html) +// and Provisioning methods (https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html) +// in the Proton User Guide. // // There are four modes for updating an environment. The deploymentType field // defines the mode. @@ -7670,8 +7672,8 @@ func (c *Proton) UpdateEnvironmentAccountConnectionRequest(input *UpdateEnvironm // In an environment account, update an environment account connection to use // a new IAM role. // -// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) -// in the Proton Administrator guide. +// For more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) +// in the Proton 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 @@ -7968,8 +7970,8 @@ func (c *Proton) UpdateServiceRequest(input *UpdateServiceInput) (req *request.R // You can't delete a service instance (remove it from the spec) if it has an // attached component. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -7981,8 +7983,8 @@ func (c *Proton) UpdateServiceRequest(input *UpdateServiceInput) (req *request.R // Returned Error Types: // // - ServiceQuotaExceededException -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. // // - ValidationException // The input is invalid or an out-of-range value was supplied for the input @@ -8076,8 +8078,8 @@ func (c *Proton) UpdateServiceInstanceRequest(input *UpdateServiceInstanceInput) // You can't update a service instance while its deployment status, or the deployment // status of a component attached to it, is IN_PROGRESS. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton 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 @@ -8486,7 +8488,9 @@ func (c *Proton) UpdateTemplateSyncConfigRequest(input *UpdateTemplateSyncConfig // UpdateTemplateSyncConfig API operation for AWS Proton. // // Update template sync configuration parameters, except for the templateName -// and templateType. +// and templateType. Repository details (branch, name, and provider) should +// be of a linked repository. A linked repository is a repository that has been +// registered with Proton. For more information, see CreateRepository. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8684,14 +8688,15 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -// The Proton pipeline service role and repository data shared across the Amazon -// Web Services account. +// Proton settings that are used for multiple services in the Amazon Web Services +// account. type AccountSettings struct { _ struct{} `type:"structure"` - // The repository configured in the Amazon Web Services account for pipeline - // provisioning. Required it if you have environments configured for self-managed - // provisioning with services that include pipelines. + // The linked repository for pipeline provisioning. Required if you have environments + // configured for self-managed provisioning with services that include pipelines. + // A linked repository is a repository that has been registered with Proton. + // For more information, see CreateRepository. PipelineProvisioningRepository *RepositoryBranch `locationName:"pipelineProvisioningRepository" type:"structure"` // The Amazon Resource Name (ARN) of the service role you want to use for provisioning @@ -9189,8 +9194,8 @@ func (s *CompatibleEnvironmentTemplateInput) SetTemplateName(v string) *Compatib // Detailed data of an Proton component resource. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton User Guide. type Component struct { _ struct{} `type:"structure"` @@ -9359,8 +9364,8 @@ func (s *Component) SetServiceSpec(v string) *Component { // Summary data of an Proton component resource. // -// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) -// in the Proton Administrator Guide. +// For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) +// in the Proton User Guide. type ComponentSummary struct { _ struct{} `type:"structure"` @@ -9619,9 +9624,8 @@ type CreateComponentInput struct { // An optional list of metadata items that you can associate with the Proton // component. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` // A path to the Infrastructure as Code (IaC) file describing infrastructure @@ -9809,8 +9813,8 @@ type CreateEnvironmentAccountConnectionInput struct { // You must specify componentRoleArn to allow directly defined components to // be associated with any environments running in this account. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // The name of the Proton environment that's created in the associated management @@ -9838,8 +9842,8 @@ type CreateEnvironmentAccountConnectionInput struct { // An optional list of metadata items that you can associate with the Proton // environment account connection. A tag is a key-value pair. // - // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // in the Proton Administrator Guide. + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` } @@ -9978,8 +9982,8 @@ type CreateEnvironmentInput struct { // You must specify componentRoleArn to allow directly defined components to // be associated with this environment. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // A description of the environment that's being created and deployed. @@ -9991,8 +9995,8 @@ type CreateEnvironmentInput struct { // The ID of the environment account connection that you provide if you're provisioning // your environment infrastructure resources to an environment account. For - // more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/adminguide/ag-env-account-connections.html) - // in the Proton Administrator guide. + // more information, see Environment account connections (https://docs.aws.amazon.com/proton/latest/userguide/ag-env-account-connections.html) + // in the Proton User guide. // // To use Amazon Web Services-managed provisioning for the environment, specify // either the environmentAccountConnectionId or protonServiceRoleArn parameter @@ -10012,16 +10016,17 @@ type CreateEnvironmentInput struct { // and omit the provisioningRepository parameter. ProtonServiceRoleArn *string `locationName:"protonServiceRoleArn" min:"1" type:"string"` - // The infrastructure repository that you use to host your rendered infrastructure - // templates for self-managed provisioning. + // The linked repository that you use to host your rendered infrastructure templates + // for self-managed provisioning. A linked repository is a repository that has + // been registered with Proton. For more information, see CreateRepository. // // To use self-managed provisioning for the environment, specify this parameter // and omit the environmentAccountConnectionId and protonServiceRoleArn parameters. ProvisioningRepository *RepositoryBranchInput_ `locationName:"provisioningRepository" type:"structure"` // A YAML formatted string that provides inputs as defined in the environment - // template bundle schema file. For more information, see Environments (https://docs.aws.amazon.com/proton/latest/adminguide/ag-environments.html) - // in the Proton Administrator Guide. + // template bundle schema file. For more information, see Environments (https://docs.aws.amazon.com/proton/latest/userguide/ag-environments.html) + // in the Proton User Guide. // // Spec is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by CreateEnvironmentInput's @@ -10033,9 +10038,8 @@ type CreateEnvironmentInput struct { // An optional list of metadata items that you can associate with the Proton // environment. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` // The major version of the environment template. @@ -10047,8 +10051,8 @@ type CreateEnvironmentInput struct { TemplateMinorVersion *string `locationName:"templateMinorVersion" min:"1" type:"string"` // The name of the environment template. For more information, see Environment - // Templates (https://docs.aws.amazon.com/proton/latest/adminguide/ag-templates.html) - // in the Proton Administrator Guide. + // Templates (https://docs.aws.amazon.com/proton/latest/userguide/ag-templates.html) + // in the Proton User Guide. // // TemplateName is a required field TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` @@ -10261,9 +10265,8 @@ type CreateEnvironmentTemplateInput struct { // An optional list of metadata items that you can associate with the Proton // environment template. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` } @@ -10416,9 +10419,8 @@ type CreateEnvironmentTemplateVersionInput struct { // An optional list of metadata items that you can associate with the Proton // environment template version. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` // The name of the environment template. @@ -10554,9 +10556,10 @@ func (s *CreateEnvironmentTemplateVersionOutput) SetEnvironmentTemplateVersion(v type CreateRepositoryInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of your Amazon Web Services CodeStar connection. - // For more information, see Setting up for Proton (https://docs.aws.amazon.com/proton/latest/adminguide/setting-up-for-service.html) - // in the Proton Administrator Guide. + // The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects + // Proton to your repository provider account. For more information, see Setting + // up for Proton (https://docs.aws.amazon.com/proton/latest/userguide/setting-up-for-service.html) + // in the Proton User Guide. // // ConnectionArn is a required field ConnectionArn *string `locationName:"connectionArn" min:"1" type:"string" required:"true"` @@ -10578,9 +10581,8 @@ type CreateRepositoryInput struct { // An optional list of metadata items that you can associate with the Proton // repository. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` } @@ -10673,7 +10675,7 @@ func (s *CreateRepositoryInput) SetTags(v []*Tag) *CreateRepositoryInput { type CreateRepositoryOutput struct { _ struct{} `type:"structure"` - // The repository detail data that's returned by Proton. + // The repository link's detail data that's returned by Proton. // // Repository is a required field Repository *Repository `locationName:"repository" type:"structure" required:"true"` @@ -10724,8 +10726,7 @@ type CreateServiceInput struct { Name *string `locationName:"name" min:"1" type:"string" required:"true"` // The Amazon Resource Name (ARN) of the repository connection. For more information, - // see Set up repository connection (https://docs.aws.amazon.com/proton/latest/adminguide/setting-up-for-service.html#setting-up-vcontrol) - // in the Proton Administrator Guide and Setting up with Proton (https://docs.aws.amazon.com/proton/latest/userguide/proton-setup.html#setup-repo-connection) + // see Setting up an AWS CodeStar connection (https://docs.aws.amazon.com/proton/latest/userguide/setting-up-for-service.html#setting-up-vcontrol) // in the Proton User Guide. Don't include this parameter if your service template // doesn't include a service pipeline. RepositoryConnectionArn *string `locationName:"repositoryConnectionArn" min:"1" type:"string"` @@ -10737,8 +10738,7 @@ type CreateServiceInput struct { // A link to a spec file that provides inputs as defined in the service template // bundle schema file. The spec file is in YAML format. Don’t include pipeline // inputs in the spec if your service template doesn’t include a service pipeline. - // For more information, see Create a service (https://docs.aws.amazon.com/proton/latest/adminguide/ag-create-svc.html.html) - // in the Proton Administrator Guide and Create a service (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-create.html) + // For more information, see Create a service (https://docs.aws.amazon.com/proton/latest/userguide/ag-create-svc.html) // in the Proton User Guide. // // Spec is a sensitive parameter and its value will be @@ -10751,9 +10751,8 @@ type CreateServiceInput struct { // An optional list of metadata items that you can associate with the Proton // service. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` // The major version of the service template that was used to create the service. @@ -10965,16 +10964,15 @@ type CreateServiceTemplateInput struct { // By default, Proton provides a service pipeline for your service. When this // parameter is included, it indicates that an Proton service pipeline isn't // provided for your service. After it's included, it can't be changed. For - // more information, see Service template bundles (https://docs.aws.amazon.com/proton/latest/adminguide/ag-template-bundles.html) - // in the Proton Administrator Guide. + // more information, see Template bundles (https://docs.aws.amazon.com/proton/latest/userguide/ag-template-authoring.html#ag-template-bundles) + // in the Proton User Guide. PipelineProvisioning *string `locationName:"pipelineProvisioning" type:"string" enum:"Provisioning"` // An optional list of metadata items that you can associate with the Proton // service template. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` } @@ -11133,16 +11131,15 @@ type CreateServiceTemplateVersionInput struct { // An array of supported component sources. Components with supported sources // can be attached to service instances based on this service template version. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. SupportedComponentSources []*string `locationName:"supportedComponentSources" type:"list" enum:"ServiceTemplateSupportedComponentSourceType"` // An optional list of metadata items that you can associate with the Proton // service template version. A tag is a key-value pair. // - // For more information, see Proton resources and tagging in the Proton Administrator - // Guide (https://docs.aws.amazon.com/proton/latest/adminguide/resources.html) - // or Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/resources.html). + // For more information, see Proton resources and tagging (https://docs.aws.amazon.com/proton/latest/userguide/resources.html) + // in the Proton User Guide. Tags []*Tag `locationName:"tags" type:"list"` // The name of the service template. @@ -11306,12 +11303,12 @@ func (s *CreateServiceTemplateVersionOutput) SetServiceTemplateVersion(v *Servic type CreateTemplateSyncConfigInput struct { _ struct{} `type:"structure"` - // The branch of the registered repository for your template. + // The repository branch for your template. // // Branch is a required field Branch *string `locationName:"branch" min:"1" type:"string" required:"true"` - // The name of your repository (for example, myrepos/myrepo). + // The repository name (for example, myrepos/myrepo). // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` @@ -11892,7 +11889,7 @@ func (s *DeleteEnvironmentTemplateVersionOutput) SetEnvironmentTemplateVersion(v type DeleteRepositoryInput struct { _ struct{} `type:"structure"` - // The name of the repository. + // The repository name. // // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` @@ -11955,7 +11952,7 @@ func (s *DeleteRepositoryInput) SetProvider(v string) *DeleteRepositoryInput { type DeleteRepositoryOutput struct { _ struct{} `type:"structure"` - // The repository detail data that's returned by Proton. + // The deleted repository link's detail data that's returned by Proton. Repository *Repository `locationName:"repository" type:"structure"` } @@ -12368,8 +12365,8 @@ type Environment struct { // The environment must have a componentRoleArn to allow directly defined components // to be associated with the environment. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // The time when the environment was created. @@ -12427,8 +12424,9 @@ type Environment struct { // and managed infrastructure. Provisioning *string `locationName:"provisioning" type:"string" enum:"Provisioning"` - // The infrastructure repository that you use to host your rendered infrastructure - // templates for self-managed provisioning. + // The linked repository that you use to host your rendered infrastructure templates + // for self-managed provisioning. A linked repository is a repository that has + // been registered with Proton. For more information, see CreateRepository. ProvisioningRepository *RepositoryBranch `locationName:"provisioningRepository" type:"structure"` // The environment spec. @@ -12598,8 +12596,8 @@ type EnvironmentAccountConnection struct { // directly defined components to be associated with any environments running // in the account. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // The environment account that's connected to the environment account connection. @@ -12741,8 +12739,8 @@ type EnvironmentAccountConnectionSummary struct { // directly defined components to be associated with any environments running // in the account. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // The ID of the environment account that's connected to the environment account @@ -12884,8 +12882,8 @@ type EnvironmentSummary struct { // The environment must have a componentRoleArn to allow directly defined components // to be associated with the environment. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // The time when the environment was created. @@ -14050,7 +14048,7 @@ type GetEnvironmentTemplateVersionInput struct { MinorVersion *string `locationName:"minorVersion" min:"1" type:"string" required:"true"` // The name of the environment template a version of which you want to get detailed - // data for.. + // data for. // // TemplateName is a required field TemplateName *string `locationName:"templateName" min:"1" type:"string" required:"true"` @@ -14219,7 +14217,7 @@ func (s *GetRepositoryInput) SetProvider(v string) *GetRepositoryInput { type GetRepositoryOutput struct { _ struct{} `type:"structure"` - // The repository detail data that's returned by Proton. + // The repository link's detail data that's returned by Proton. // // Repository is a required field Repository *Repository `locationName:"repository" type:"structure" required:"true"` @@ -16138,7 +16136,7 @@ type ListRepositoriesOutput struct { // repositories, after the current requested list of repositories. NextToken *string `locationName:"nextToken" type:"string"` - // An array of repositories. + // An array of repository links. // // Repositories is a required field Repositories []*RepositorySummary `locationName:"repositories" type:"list" required:"true"` @@ -17497,8 +17495,8 @@ type ProvisionedResource struct { // for Amazon Web Services-managed provisioning, and TERRAFORM can be used for // self-managed provisioning. // - // For more information, see Self-managed provisioning (https://docs.aws.amazon.com/proton/latest/adminguide/ag-works-prov-methods.html#ag-works-prov-methods-self) - // in the Proton Administrator Guide. + // For more information, see Self-managed provisioning (https://docs.aws.amazon.com/proton/latest/userguide/ag-works-prov-methods.html#ag-works-prov-methods-self) + // in the Proton User Guide. ProvisioningEngine *string `locationName:"provisioningEngine" type:"string" enum:"ProvisionedResourceEngine"` } @@ -17617,17 +17615,18 @@ func (s *RejectEnvironmentAccountConnectionOutput) SetEnvironmentAccountConnecti return s } -// Detailed data of a repository that has been registered with Proton. +// Detailed data of a linked repository—a repository that has been registered +// with Proton. type Repository struct { _ struct{} `type:"structure"` - // The repository Amazon Resource Name (ARN). + // The Amazon Resource Name (ARN) of the linked repository. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The repository Amazon Web Services CodeStar connection that connects Proton - // to your repository. + // The Amazon Resource Name (ARN) of your AWS CodeStar connection that connects + // Proton to your repository provider account. // // ConnectionArn is a required field ConnectionArn *string `locationName:"connectionArn" min:"1" type:"string" required:"true"` @@ -17694,11 +17693,11 @@ func (s *Repository) SetProvider(v string) *Repository { return s } -// Detail data for a repository branch. +// Detail data for a linked repository branch. type RepositoryBranch struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the repository branch. + // The Amazon Resource Name (ARN) of the linked repository. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` @@ -17761,7 +17760,7 @@ func (s *RepositoryBranch) SetProvider(v string) *RepositoryBranch { return s } -// Detail input data for a repository branch. +// Detail input data for a linked repository branch. type RepositoryBranchInput_ struct { _ struct{} `type:"structure"` @@ -17842,11 +17841,12 @@ func (s *RepositoryBranchInput_) SetProvider(v string) *RepositoryBranchInput_ { return s } -// Summary data of a repository that has been registered with Proton. +// Summary data of a linked repository—a repository that has been registered +// with Proton. type RepositorySummary struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) for a repository. + // The Amazon Resource Name (ARN) of the linked repository. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` @@ -17954,7 +17954,7 @@ func (s *RepositorySyncAttempt) SetStatus(v string) *RepositorySyncAttempt { return s } -// The repository sync definition. +// A repository sync definition. type RepositorySyncDefinition struct { _ struct{} `type:"structure"` @@ -18492,8 +18492,7 @@ type Service struct { Pipeline *ServicePipeline `locationName:"pipeline" type:"structure"` // The Amazon Resource Name (ARN) of the repository connection. For more information, - // see Set up a repository connection (https://docs.aws.amazon.com/proton/latest/adminguide/setting-up-for-service.html#setting-up-vcontrol) - // in the Proton Administrator Guide and Setting up with Proton (https://docs.aws.amazon.com/proton/latest/userguide/proton-setup.html#setup-repo-connection) + // see Setting up an AWS CodeStar connection (https://docs.aws.amazon.com/proton/latest/userguide/setting-up-for-service.html#setting-up-vcontrol) // in the Proton User Guide. RepositoryConnectionArn *string `locationName:"repositoryConnectionArn" min:"1" type:"string"` @@ -19091,8 +19090,8 @@ func (s *ServicePipeline) SetTemplateName(v string) *ServicePipeline { return s } -// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) -// in the Proton Administrator Guide. +// A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) +// in the Proton User Guide. type ServiceQuotaExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -19576,8 +19575,8 @@ type ServiceTemplateVersion struct { // An array of supported component sources. Components with supported sources // can be attached to service instances based on this service template version. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. SupportedComponentSources []*string `locationName:"supportedComponentSources" type:"list" enum:"ServiceTemplateSupportedComponentSourceType"` // The name of the version of a service template. @@ -19987,7 +19986,7 @@ type TemplateSyncConfig struct { // Branch is a required field Branch *string `locationName:"branch" min:"1" type:"string" required:"true"` - // The name of the repository, for example myrepos/myrepo. + // The repository name (for example, myrepos/myrepo). // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` @@ -20269,13 +20268,24 @@ func (s UntagResourceOutput) GoString() string { type UpdateAccountSettingsInput struct { _ struct{} `type:"structure"` - // A repository for pipeline provisioning. Specify it if you have environments + // Set to true to remove a configured pipeline repository from the account settings. + // Don't set this field if you are updating the configured pipeline repository. + DeletePipelineProvisioningRepository *bool `locationName:"deletePipelineProvisioningRepository" type:"boolean"` + + // A linked repository for pipeline provisioning. Specify it if you have environments // configured for self-managed provisioning with services that include pipelines. + // A linked repository is a repository that has been registered with Proton. + // For more information, see CreateRepository. + // + // To remove a previously configured repository, set deletePipelineProvisioningRepository + // to true, and don't set pipelineProvisioningRepository. PipelineProvisioningRepository *RepositoryBranchInput_ `locationName:"pipelineProvisioningRepository" type:"structure"` // The Amazon Resource Name (ARN) of the service role you want to use for provisioning // pipelines. Assumed by Proton for Amazon Web Services-managed provisioning, // and by customer-owned automation for self-managed provisioning. + // + // To remove a previously configured ARN, specify an empty string. PipelineServiceRoleArn *string `locationName:"pipelineServiceRoleArn" type:"string"` } @@ -20312,6 +20322,12 @@ func (s *UpdateAccountSettingsInput) Validate() error { return nil } +// SetDeletePipelineProvisioningRepository sets the DeletePipelineProvisioningRepository field's value. +func (s *UpdateAccountSettingsInput) SetDeletePipelineProvisioningRepository(v bool) *UpdateAccountSettingsInput { + s.DeletePipelineProvisioningRepository = &v + return s +} + // SetPipelineProvisioningRepository sets the PipelineProvisioningRepository field's value. func (s *UpdateAccountSettingsInput) SetPipelineProvisioningRepository(v *RepositoryBranchInput_) *UpdateAccountSettingsInput { s.PipelineProvisioningRepository = v @@ -20553,8 +20569,8 @@ type UpdateEnvironmentAccountConnectionInput struct { // directly defined components to be associated with any environments running // in the account. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // The ID of the environment account connection to update. @@ -20665,8 +20681,8 @@ type UpdateEnvironmentInput struct { // The environment must have a componentRoleArn to allow directly defined components // to be associated with the environment. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. ComponentRoleArn *string `locationName:"componentRoleArn" min:"1" type:"string"` // There are four modes for updating an environment. The deploymentType field @@ -20723,8 +20739,9 @@ type UpdateEnvironmentInput struct { // to make API calls to other services your behalf. ProtonServiceRoleArn *string `locationName:"protonServiceRoleArn" min:"1" type:"string"` - // The infrastructure repository that you use to host your rendered infrastructure - // templates for self-managed provisioning. + // The linked repository that you use to host your rendered infrastructure templates + // for self-managed provisioning. A linked repository is a repository that has + // been registered with Proton. For more information, see CreateRepository. ProvisioningRepository *RepositoryBranchInput_ `locationName:"provisioningRepository" type:"structure"` // The formatted specification that defines the update. @@ -21159,8 +21176,8 @@ type UpdateServiceInput struct { // Lists the service instances to add and the existing service instances to // remain. Omit the existing service instances to delete from the list. Don't // include edits to the existing service instances or pipeline. For more information, - // see Edit a service in the Proton Administrator Guide (https://docs.aws.amazon.com/proton/latest/adminguide/ag-svc-update.html) - // or the Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/ug-svc-update.html). + // see Edit a service (https://docs.aws.amazon.com/proton/latest/userguide/ag-svc-update.html) + // in the Proton User Guide. // // Spec is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdateServiceInput's @@ -21753,8 +21770,8 @@ type UpdateServiceTemplateVersionInput struct { // to instances based on this template version. A change only affects later // associations. // - // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/adminguide/ag-components.html) - // in the Proton Administrator Guide. + // For more information about components, see Proton components (https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html) + // in the Proton User Guide. SupportedComponentSources []*string `locationName:"supportedComponentSources" type:"list" enum:"ServiceTemplateSupportedComponentSourceType"` // The name of the service template. @@ -21900,12 +21917,12 @@ func (s *UpdateServiceTemplateVersionOutput) SetServiceTemplateVersion(v *Servic type UpdateTemplateSyncConfigInput struct { _ struct{} `type:"structure"` - // The repository branch. + // The repository branch for your template. // // Branch is a required field Branch *string `locationName:"branch" min:"1" type:"string" required:"true"` - // The name of the repository (for example, myrepos/myrepo). + // The repository name (for example, myrepos/myrepo). // // RepositoryName is a required field RepositoryName *string `locationName:"repositoryName" min:"1" type:"string" required:"true"` diff --git a/service/proton/doc.go b/service/proton/doc.go index 3d4b406234..824f61fb27 100644 --- a/service/proton/doc.go +++ b/service/proton/doc.go @@ -29,11 +29,7 @@ // on Proton, developers need permissions to the service create, list, update // and delete API operations and the service instance list and update API operations. // -// To learn more about Proton administration, see the Proton Administrator Guide -// (https://docs.aws.amazon.com/proton/latest/adminguide/Welcome.html). -// -// To learn more about deploying serverless and containerized applications on -// Proton, see the Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/Welcome.html). +// To learn more about Proton, see the Proton User Guide (https://docs.aws.amazon.com/proton/latest/userguide/Welcome.html). // // # Ensuring Idempotency // diff --git a/service/proton/errors.go b/service/proton/errors.go index d81178ee35..cc77f41e88 100644 --- a/service/proton/errors.go +++ b/service/proton/errors.go @@ -35,8 +35,8 @@ const ( // ErrCodeServiceQuotaExceededException for service response error code // "ServiceQuotaExceededException". // - // A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/adminguide/ag-limits.html) - // in the Proton Administrator Guide. + // A quota was exceeded. For more information, see Proton Quotas (https://docs.aws.amazon.com/proton/latest/userguide/ag-limits.html) + // in the Proton User Guide. ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" // ErrCodeThrottlingException for service response error code diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 59cec70600..e5375b1390 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -24315,7 +24315,8 @@ func (c *SageMaker) UpdateTrainingJobRequest(input *UpdateTrainingJobInput) (req // UpdateTrainingJob API operation for Amazon SageMaker Service. // -// Update a model training job to request a new Debugger profiling configuration. +// Update a model training job to request a new Debugger profiling configuration +// or to change warm pool retention length. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -53482,6 +53483,9 @@ type DescribeTrainingJobOutput struct { // to. For more information, see Protect Training Jobs by Using an Amazon Virtual // Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). VpcConfig *VpcConfig `type:"structure"` + + // The status of the warm pool associated with the training job. + WarmPoolStatus *WarmPoolStatus `type:"structure"` } // String returns the string representation. @@ -53742,6 +53746,12 @@ func (s *DescribeTrainingJobOutput) SetVpcConfig(v *VpcConfig) *DescribeTraining return s } +// SetWarmPoolStatus sets the WarmPoolStatus field's value. +func (s *DescribeTrainingJobOutput) SetWarmPoolStatus(v *WarmPoolStatus) *DescribeTrainingJobOutput { + s.WarmPoolStatus = v + return s +} + type DescribeTransformJobInput struct { _ struct{} `type:"structure"` @@ -73615,6 +73625,9 @@ type ListTrainingJobsInput struct { // A filter that retrieves only training jobs with a specific status. StatusEquals *string `type:"string" enum:"TrainingJobStatus"` + + // A filter that retrieves only training jobs with a specific warm pool status. + WarmPoolStatusEquals *string `type:"string" enum:"WarmPoolResourceStatus"` } // String returns the string representation. @@ -73708,6 +73721,12 @@ func (s *ListTrainingJobsInput) SetStatusEquals(v string) *ListTrainingJobsInput return s } +// SetWarmPoolStatusEquals sets the WarmPoolStatusEquals field's value. +func (s *ListTrainingJobsInput) SetWarmPoolStatusEquals(v string) *ListTrainingJobsInput { + s.WarmPoolStatusEquals = &v + return s +} + type ListTrainingJobsOutput struct { _ struct{} `type:"structure"` @@ -86416,6 +86435,10 @@ type ResourceConfig struct { // The ML compute instance type. InstanceType *string `type:"string" enum:"TrainingInstanceType"` + // The duration of time in seconds to retain configured resources in a warm + // pool for subsequent training jobs. + KeepAlivePeriodInSeconds *int64 `type:"integer"` + // The Amazon Web Services KMS key that SageMaker uses to encrypt data on the // storage volume attached to the ML compute instance(s) that run the training // job. @@ -86531,6 +86554,12 @@ func (s *ResourceConfig) SetInstanceType(v string) *ResourceConfig { return s } +// SetKeepAlivePeriodInSeconds sets the KeepAlivePeriodInSeconds field's value. +func (s *ResourceConfig) SetKeepAlivePeriodInSeconds(v int64) *ResourceConfig { + s.KeepAlivePeriodInSeconds = &v + return s +} + // SetVolumeKmsKeyId sets the VolumeKmsKeyId field's value. func (s *ResourceConfig) SetVolumeKmsKeyId(v string) *ResourceConfig { s.VolumeKmsKeyId = &v @@ -86543,6 +86572,54 @@ func (s *ResourceConfig) SetVolumeSizeInGB(v int64) *ResourceConfig { return s } +// The ResourceConfig to update KeepAlivePeriodInSeconds. Other fields in the +// ResourceConfig cannot be updated. +type ResourceConfigForUpdate struct { + _ struct{} `type:"structure"` + + // The KeepAlivePeriodInSeconds value specified in the ResourceConfig to update. + // + // KeepAlivePeriodInSeconds is a required field + KeepAlivePeriodInSeconds *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceConfigForUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceConfigForUpdate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceConfigForUpdate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceConfigForUpdate"} + if s.KeepAlivePeriodInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("KeepAlivePeriodInSeconds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeepAlivePeriodInSeconds sets the KeepAlivePeriodInSeconds field's value. +func (s *ResourceConfigForUpdate) SetKeepAlivePeriodInSeconds(v int64) *ResourceConfigForUpdate { + s.KeepAlivePeriodInSeconds = &v + return s +} + // Resource being accessed is in use. type ResourceInUse struct { _ struct{} `type:"structure"` @@ -91558,6 +91635,9 @@ type TrainingJobSummary struct { // // TrainingJobStatus is a required field TrainingJobStatus *string `type:"string" required:"true" enum:"TrainingJobStatus"` + + // The status of the warm pool associated with the training job. + WarmPoolStatus *WarmPoolStatus `type:"structure"` } // String returns the string representation. @@ -91614,6 +91694,12 @@ func (s *TrainingJobSummary) SetTrainingJobStatus(v string) *TrainingJobSummary return s } +// SetWarmPoolStatus sets the WarmPoolStatus field's value. +func (s *TrainingJobSummary) SetWarmPoolStatus(v *WarmPoolStatus) *TrainingJobSummary { + s.WarmPoolStatus = v + return s +} + // Defines how the algorithm is used for a training job. type TrainingSpecification struct { _ struct{} `type:"structure"` @@ -96702,6 +96788,9 @@ type UpdateTrainingJobInput struct { // metrics. ProfilerRuleConfigurations []*ProfilerRuleConfiguration `type:"list"` + // The training job ResourceConfig to update warm pool retention length. + ResourceConfig *ResourceConfigForUpdate `type:"structure"` + // The name of a training job to update the Debugger profiling configuration. // // TrainingJobName is a required field @@ -96745,6 +96834,11 @@ func (s *UpdateTrainingJobInput) Validate() error { } } } + if s.ResourceConfig != nil { + if err := s.ResourceConfig.Validate(); err != nil { + invalidParams.AddNested("ResourceConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -96764,6 +96858,12 @@ func (s *UpdateTrainingJobInput) SetProfilerRuleConfigurations(v []*ProfilerRule return s } +// SetResourceConfig sets the ResourceConfig field's value. +func (s *UpdateTrainingJobInput) SetResourceConfig(v *ResourceConfigForUpdate) *UpdateTrainingJobInput { + s.ResourceConfig = v + return s +} + // SetTrainingJobName sets the TrainingJobName field's value. func (s *UpdateTrainingJobInput) SetTrainingJobName(v string) *UpdateTrainingJobInput { s.TrainingJobName = &v @@ -97924,6 +98024,75 @@ func (s *VpcConfig) SetSubnets(v []*string) *VpcConfig { return s } +// Status and billing information about the warm pool. +type WarmPoolStatus struct { + _ struct{} `type:"structure"` + + // The billable time in seconds used by the warm pool. Billable time refers + // to the absolute wall-clock time. + // + // Multiply ResourceRetainedBillableTimeInSeconds by the number of instances + // (InstanceCount) in your training cluster to get the total compute time SageMaker + // bills you if you run warm pool training. The formula is as follows: ResourceRetainedBillableTimeInSeconds + // * InstanceCount. + ResourceRetainedBillableTimeInSeconds *int64 `type:"integer"` + + // The name of the matching training job that reused the warm pool. + ReusedByJob *string `min:"1" type:"string"` + + // The status of the warm pool. + // + // * InUse: The warm pool is in use for the training job. + // + // * Available: The warm pool is available to reuse for a matching training + // job. + // + // * Reused: The warm pool moved to a matching training job for reuse. + // + // * Terminated: The warm pool is no longer available. Warm pools are unavailable + // if they are terminated by a user, terminated for a patch update, or terminated + // for exceeding the specified KeepAlivePeriodInSeconds. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"WarmPoolResourceStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarmPoolStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s WarmPoolStatus) GoString() string { + return s.String() +} + +// SetResourceRetainedBillableTimeInSeconds sets the ResourceRetainedBillableTimeInSeconds field's value. +func (s *WarmPoolStatus) SetResourceRetainedBillableTimeInSeconds(v int64) *WarmPoolStatus { + s.ResourceRetainedBillableTimeInSeconds = &v + return s +} + +// SetReusedByJob sets the ReusedByJob field's value. +func (s *WarmPoolStatus) SetReusedByJob(v string) *WarmPoolStatus { + s.ReusedByJob = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *WarmPoolStatus) SetStatus(v string) *WarmPoolStatus { + s.Status = &v + return s +} + // 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 // Amazon Web Services Region. By default, any workforce-related API operation @@ -103977,6 +104146,30 @@ func VariantStatus_Values() []string { } } +const ( + // WarmPoolResourceStatusAvailable is a WarmPoolResourceStatus enum value + WarmPoolResourceStatusAvailable = "Available" + + // WarmPoolResourceStatusTerminated is a WarmPoolResourceStatus enum value + WarmPoolResourceStatusTerminated = "Terminated" + + // WarmPoolResourceStatusReused is a WarmPoolResourceStatus enum value + WarmPoolResourceStatusReused = "Reused" + + // WarmPoolResourceStatusInUse is a WarmPoolResourceStatus enum value + WarmPoolResourceStatusInUse = "InUse" +) + +// WarmPoolResourceStatus_Values returns all elements of the WarmPoolResourceStatus enum +func WarmPoolResourceStatus_Values() []string { + return []string{ + WarmPoolResourceStatusAvailable, + WarmPoolResourceStatusTerminated, + WarmPoolResourceStatusReused, + WarmPoolResourceStatusInUse, + } +} + const ( // WorkforceStatusInitializing is a WorkforceStatus enum value WorkforceStatusInitializing = "Initializing" diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go index 01dc79ec0b..c84e8c6d3c 100644 --- a/service/secretsmanager/api.go +++ b/service/secretsmanager/api.go @@ -69,6 +69,11 @@ func (c *SecretsManager) CancelRotateSecretRequest(input *CancelRotateSecretInpu // // To turn on automatic rotation again, call RotateSecret. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:CancelRotateSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -203,6 +208,11 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // calling the API, then you can't use aws/secretsmanager to encrypt the secret, // and you must create and use a customer managed KMS key. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters except SecretBinary +// or SecretString because it might be logged. For more information, see Logging +// Secrets Manager events with CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:CreateSecret. If you include tags in // the secret, you also need secretsmanager:TagResource. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) @@ -333,6 +343,11 @@ func (c *SecretsManager) DeleteResourcePolicyRequest(input *DeleteResourcePolicy // Deletes the resource-based permission policy attached to the secret. To attach // a policy to a secret, use PutResourcePolicy. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:DeleteResourcePolicy. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -467,6 +482,11 @@ func (c *SecretsManager) DeleteSecretRequest(input *DeleteSecretInput) (req *req // You must first cancel the deletion with RestoreSecret and then you can retrieve // the secret. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:DeleteSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -572,6 +592,11 @@ func (c *SecretsManager) DescribeSecretRequest(input *DescribeSecretInput) (req // Retrieves the details of a secret. It does not include the encrypted secret // value. Secrets Manager only returns fields that have a value in the response. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:DescribeSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -663,6 +688,11 @@ func (c *SecretsManager) GetRandomPasswordRequest(input *GetRandomPasswordInput) // and include every character type that the system you are generating a password // for can support. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:GetRandomPassword. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -766,6 +796,11 @@ func (c *SecretsManager) GetResourcePolicyRequest(input *GetResourcePolicyInput) // the secret. For more information about permissions policies attached to a // secret, see Permissions policies attached to a secret (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html). // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:GetResourcePolicy. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -879,6 +914,11 @@ func (c *SecretsManager) GetSecretValueRequest(input *GetSecretValueInput) (req // AWSPREVIOUS. To revert to the previous version of a secret, call UpdateSecretVersionStage // (https://docs.aws.amazon.com/cli/latest/reference/secretsmanager/update-secret-version-stage.html). // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted // using a customer-managed key instead of the Amazon Web Services managed key // aws/secretsmanager, then you also need kms:Decrypt permissions for that key. @@ -999,6 +1039,11 @@ func (c *SecretsManager) ListSecretVersionIdsRequest(input *ListSecretVersionIds // // To list the secrets in the account, use ListSecrets. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:ListSecretVersionIds. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1161,6 +1206,11 @@ func (c *SecretsManager) ListSecretsRequest(input *ListSecretsInput) (req *reque // For information about finding secrets in the console, see Find secrets in // Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html). // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:ListSecrets. For more information, see // IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1306,6 +1356,11 @@ func (c *SecretsManager) PutResourcePolicyRequest(input *PutResourcePolicyInput) // For information about attaching a policy in the console, see Attach a permissions // policy to a secret (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-based-policies.html). // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:PutResourcePolicy. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1431,11 +1486,10 @@ func (c *SecretsManager) PutSecretValueRequest(input *PutSecretValueInput) (req // If you don't include VersionStages, then Secrets Manager automatically moves // the staging label AWSCURRENT to this version. If this operation creates the // first version for the secret, then Secrets Manager automatically attaches -// the staging label AWSCURRENT to it . -// -// If this operation moves the staging label AWSCURRENT from another version -// to this version, then Secrets Manager also automatically moves the staging -// label AWSPREVIOUS to the version that AWSCURRENT was removed from. +// the staging label AWSCURRENT to it. If this operation moves the staging label +// AWSCURRENT from another version to this version, then Secrets Manager also +// automatically moves the staging label AWSPREVIOUS to the version that AWSCURRENT +// was removed from. // // This operation is idempotent. If you call this operation with a ClientRequestToken // that matches an existing version's VersionId, and you specify the same secret @@ -1443,6 +1497,11 @@ func (c *SecretsManager) PutSecretValueRequest(input *PutSecretValueInput) (req // is different, then the operation fails because you can't modify an existing // version; you can only create new ones. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters except SecretBinary +// or SecretString because it might be logged. For more information, see Logging +// Secrets Manager events with CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:PutSecretValue. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1563,6 +1622,11 @@ func (c *SecretsManager) RemoveRegionsFromReplicationRequest(input *RemoveRegion // For a secret that is replicated to other Regions, deletes the secret replicas // from the Regions you specify. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:RemoveRegionsFromReplication. For more // information, see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1667,6 +1731,11 @@ func (c *SecretsManager) ReplicateSecretToRegionsRequest(input *ReplicateSecretT // // Replicates the secret to a new Regions. See Multi-Region secrets (https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html). // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:ReplicateSecretToRegions. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1772,6 +1841,11 @@ func (c *SecretsManager) RestoreSecretRequest(input *RestoreSecretInput) (req *r // Cancels the scheduled deletion of a secret by removing the DeletedDate time // stamp. You can access a secret again after it has been restored. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:RestoreSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -1908,6 +1982,11 @@ func (c *SecretsManager) RotateSecretRequest(input *RotateSecretInput) (req *req // assumes that a previous rotation request is still in progress and returns // an error. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:RotateSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2018,6 +2097,11 @@ func (c *SecretsManager) StopReplicationToReplicaRequest(input *StopReplicationT // You must call this operation from the Region in which you want to promote // the replica to a primary secret. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:StopReplicationToReplica. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2150,6 +2234,11 @@ func (c *SecretsManager) TagResourceRequest(input *TagResourceInput) (req *reque // result in you losing your permissions for this secret, then the operation // is blocked and returns an Access Denied error. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:TagResource. For more information, see // IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2263,6 +2352,11 @@ func (c *SecretsManager) UntagResourceRequest(input *UntagResourceInput) (req *r // in you losing your permissions for this secret, then the operation is blocked // and returns an Access Denied error. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:UntagResource. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2379,14 +2473,20 @@ func (c *SecretsManager) UpdateSecretRequest(input *UpdateSecretInput) (req *req // and you will reach the quota for secret versions. // // If you include SecretString or SecretBinary to create a new secret version, -// Secrets Manager automatically attaches the staging label AWSCURRENT to the -// new version. +// Secrets Manager automatically moves the staging label AWSCURRENT to the new +// version. Then it attaches the label AWSPREVIOUS to the version that AWSCURRENT +// was removed from. // // If you call this operation with a ClientRequestToken that matches an existing // version's VersionId, the operation results in an error. You can't modify // an existing version, you can only create a new version. To remove a version, // remove all staging labels from it. See UpdateSecretVersionStage. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters except SecretBinary +// or SecretString because it might be logged. For more information, see Logging +// Secrets Manager events with CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:UpdateSecret. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2534,6 +2634,11 @@ func (c *SecretsManager) UpdateSecretVersionStageRequest(input *UpdateSecretVers // the version is considered to be 'deprecated' and can be deleted by Secrets // Manager. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:UpdateSecretVersionStage. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). @@ -2653,6 +2758,11 @@ func (c *SecretsManager) ValidateResourcePolicyRequest(input *ValidateResourcePo // // - Verifies the policy does not lock out a caller. // +// Secrets Manager generates a CloudTrail log entry when you call this action. +// Do not include sensitive information in request parameters because it might +// be logged. For more information, see Logging Secrets Manager events with +// CloudTrail (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieve-ct-entries.html). +// // Required permissions: secretsmanager:ValidateResourcePolicy. For more information, // see IAM policy actions for Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_iam-permissions.html#reference_iam-permissions_actions) // and Authentication and access control in Secrets Manager (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). diff --git a/service/translate/api.go b/service/translate/api.go index 96448efe80..c04e6c463f 100644 --- a/service/translate/api.go +++ b/service/translate/api.go @@ -86,9 +86,15 @@ func (c *Translate) CreateParallelDataRequest(input *CreateParallelDataInput) (r // You have made too many requests within a short period of time. Wait for a // short time and then try your request again. // +// - TooManyTagsException +// // - ConflictException // There was a conflict processing the request. Try your request again. // +// - ConcurrentModificationException +// Another modification is being made. That modification must complete before +// you can make your change. +// // - InternalServerException // An internal server error occurred. Retry your request. // @@ -647,6 +653,12 @@ func (c *Translate) ImportTerminologyRequest(input *ImportTerminologyInput) (req // You have made too many requests within a short period of time. Wait for a // short time and then try your request again. // +// - TooManyTagsException +// +// - ConcurrentModificationException +// Another modification is being made. That modification must complete before +// you can make your change. +// // - InternalServerException // An internal server error occurred. Retry your request. // @@ -964,6 +976,92 @@ func (c *Translate) ListParallelDataPagesWithContext(ctx aws.Context, input *Lis return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListTagsForResource +func (c *Translate) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon Translate. +// +// Returns awserr.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 Translate's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterValueException +// The value of the parameter is not valid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// - ResourceNotFoundException +// The resource you are looking for has not been found. Review the resource +// you're looking for and see if a different resource will accomplish your needs +// before retrying the revised request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/ListTagsForResource +func (c *Translate) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Translate) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListTerminologies = "ListTerminologies" // ListTerminologiesRequest generates a "aws/request.Request" representing the @@ -1462,6 +1560,99 @@ func (c *Translate) StopTextTranslationJobWithContext(ctx aws.Context, input *St return out, req.Send() } +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/TagResource +func (c *Translate) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon Translate. +// +// Returns awserr.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 Translate's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterValueException +// The value of the parameter is not valid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// - ConcurrentModificationException +// Another modification is being made. That modification must complete before +// you can make your change. +// +// - ResourceNotFoundException +// The resource you are looking for has not been found. Review the resource +// you're looking for and see if a different resource will accomplish your needs +// before retrying the revised request. +// +// - TooManyTagsException +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/TagResource +func (c *Translate) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Translate) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opText = "TranslateText" // TextRequest generates a "aws/request.Request" representing the @@ -1574,6 +1765,97 @@ func (c *Translate) TextWithContext(ctx aws.Context, input *TextInput, opts ...r return out, req.Send() } +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/UntagResource +func (c *Translate) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon Translate. +// +// Returns awserr.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 Translate's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - InvalidParameterValueException +// The value of the parameter is not valid. Review the value of the parameter +// you are using to correct it, and then retry your operation. +// +// - ConcurrentModificationException +// Another modification is being made. That modification must complete before +// you can make your change. +// +// - ResourceNotFoundException +// The resource you are looking for has not been found. Review the resource +// you're looking for and see if a different resource will accomplish your needs +// before retrying the revised request. +// +// - InternalServerException +// An internal server error occurred. Retry your request. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/translate-2017-07-01/UntagResource +func (c *Translate) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Translate) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateParallelData = "UpdateParallelData" // UpdateParallelDataRequest generates a "aws/request.Request" representing the @@ -1882,6 +2164,8 @@ type CreateParallelDataInput struct { // // ParallelDataConfig is a required field ParallelDataConfig *ParallelDataConfig `type:"structure" required:"true"` + + Tags []*Tag `type:"list"` } // String returns the string representation. @@ -1927,6 +2211,16 @@ func (s *CreateParallelDataInput) Validate() error { invalidParams.AddNested("ParallelDataConfig", 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 @@ -1964,6 +2258,12 @@ func (s *CreateParallelDataInput) SetParallelDataConfig(v *ParallelDataConfig) * return s } +// SetTags sets the Tags field's value. +func (s *CreateParallelDataInput) SetTags(v []*Tag) *CreateParallelDataInput { + s.Tags = v + return s +} + type CreateParallelDataOutput struct { _ struct{} `type:"structure"` @@ -2660,6 +2960,8 @@ type ImportTerminologyInput struct { // Name is a required field Name *string `min:"1" type:"string" required:"true"` + Tags []*Tag `type:"list"` + // The terminology data for the custom terminology being imported. // // TerminologyData is a required field @@ -2704,6 +3006,16 @@ func (s *ImportTerminologyInput) Validate() error { invalidParams.AddNested("EncryptionKey", err.(request.ErrInvalidParams)) } } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if s.TerminologyData != nil { if err := s.TerminologyData.Validate(); err != nil { invalidParams.AddNested("TerminologyData", err.(request.ErrInvalidParams)) @@ -2740,6 +3052,12 @@ func (s *ImportTerminologyInput) SetName(v string) *ImportTerminologyInput { return s } +// SetTags sets the Tags field's value. +func (s *ImportTerminologyInput) SetTags(v []*Tag) *ImportTerminologyInput { + s.Tags = v + return s +} + // SetTerminologyData sets the TerminologyData field's value. func (s *ImportTerminologyInput) SetTerminologyData(v *TerminologyData) *ImportTerminologyInput { s.TerminologyData = v @@ -3514,6 +3832,83 @@ func (s *ListParallelDataOutput) SetParallelDataPropertiesList(v []*ParallelData return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + type ListTerminologiesInput struct { _ struct{} `type:"structure"` @@ -4572,6 +4967,156 @@ func (s *StopTextTranslationJobOutput) SetJobStatus(v string) *StopTextTranslati return s } +type Tag struct { + _ struct{} `type:"structure"` + + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + // The term being translated by the custom terminology. type Term struct { _ struct{} `type:"structure"` @@ -5496,6 +6041,71 @@ func (s *TooManyRequestsException) RequestID() string { return s.RespMetadata.RequestID } +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + ResourceArn *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TooManyTagsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" +} + +// Message returns the exception's message. +func (s *TooManyTagsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyTagsException) OrigErr() error { + return nil +} + +func (s *TooManyTagsException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyTagsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyTagsException) RequestID() string { + return s.RespMetadata.RequestID +} + // Settings that configure the translation output. type TranslationSettings struct { _ struct{} `type:"structure"` @@ -5696,6 +6306,87 @@ func (s *UnsupportedLanguagePairException) RequestID() string { return s.RespMetadata.RequestID } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `min:"1" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateParallelDataInput struct { _ struct{} `type:"structure"` diff --git a/service/translate/errors.go b/service/translate/errors.go index e77153d253..680eb1800b 100644 --- a/service/translate/errors.go +++ b/service/translate/errors.go @@ -94,6 +94,10 @@ const ( // short time and then try your request again. ErrCodeTooManyRequestsException = "TooManyRequestsException" + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + ErrCodeTooManyTagsException = "TooManyTagsException" + // ErrCodeUnsupportedDisplayLanguageCodeException for service response error code // "UnsupportedDisplayLanguageCodeException". // @@ -121,6 +125,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ServiceUnavailableException": newErrorServiceUnavailableException, "TextSizeLimitExceededException": newErrorTextSizeLimitExceededException, "TooManyRequestsException": newErrorTooManyRequestsException, + "TooManyTagsException": newErrorTooManyTagsException, "UnsupportedDisplayLanguageCodeException": newErrorUnsupportedDisplayLanguageCodeException, "UnsupportedLanguagePairException": newErrorUnsupportedLanguagePairException, } diff --git a/service/translate/translateiface/interface.go b/service/translate/translateiface/interface.go index 2c490bc7d7..e0cb4e7980 100644 --- a/service/translate/translateiface/interface.go +++ b/service/translate/translateiface/interface.go @@ -102,6 +102,10 @@ type TranslateAPI interface { ListParallelDataPages(*translate.ListParallelDataInput, func(*translate.ListParallelDataOutput, bool) bool) error ListParallelDataPagesWithContext(aws.Context, *translate.ListParallelDataInput, func(*translate.ListParallelDataOutput, bool) bool, ...request.Option) error + ListTagsForResource(*translate.ListTagsForResourceInput) (*translate.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *translate.ListTagsForResourceInput, ...request.Option) (*translate.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*translate.ListTagsForResourceInput) (*request.Request, *translate.ListTagsForResourceOutput) + ListTerminologies(*translate.ListTerminologiesInput) (*translate.ListTerminologiesOutput, error) ListTerminologiesWithContext(aws.Context, *translate.ListTerminologiesInput, ...request.Option) (*translate.ListTerminologiesOutput, error) ListTerminologiesRequest(*translate.ListTerminologiesInput) (*request.Request, *translate.ListTerminologiesOutput) @@ -124,10 +128,18 @@ type TranslateAPI interface { StopTextTranslationJobWithContext(aws.Context, *translate.StopTextTranslationJobInput, ...request.Option) (*translate.StopTextTranslationJobOutput, error) StopTextTranslationJobRequest(*translate.StopTextTranslationJobInput) (*request.Request, *translate.StopTextTranslationJobOutput) + TagResource(*translate.TagResourceInput) (*translate.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *translate.TagResourceInput, ...request.Option) (*translate.TagResourceOutput, error) + TagResourceRequest(*translate.TagResourceInput) (*request.Request, *translate.TagResourceOutput) + Text(*translate.TextInput) (*translate.TextOutput, error) TextWithContext(aws.Context, *translate.TextInput, ...request.Option) (*translate.TextOutput, error) TextRequest(*translate.TextInput) (*request.Request, *translate.TextOutput) + UntagResource(*translate.UntagResourceInput) (*translate.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *translate.UntagResourceInput, ...request.Option) (*translate.UntagResourceOutput, error) + UntagResourceRequest(*translate.UntagResourceInput) (*request.Request, *translate.UntagResourceOutput) + UpdateParallelData(*translate.UpdateParallelDataInput) (*translate.UpdateParallelDataOutput, error) UpdateParallelDataWithContext(aws.Context, *translate.UpdateParallelDataInput, ...request.Option) (*translate.UpdateParallelDataOutput, error) UpdateParallelDataRequest(*translate.UpdateParallelDataInput) (*request.Request, *translate.UpdateParallelDataOutput) diff --git a/service/workspaces/api.go b/service/workspaces/api.go index b93ef50d47..6ca04aea3b 100644 --- a/service/workspaces/api.go +++ b/service/workspaces/api.go @@ -6357,6 +6357,12 @@ func (s AuthorizeIpRulesOutput) GoString() string { type ClientProperties struct { _ struct{} `type:"structure"` + // Specifies whether users can upload diagnostic log files of Amazon WorkSpaces + // client directly to WorkSpaces to troubleshoot issues when using the WorkSpaces + // client. When enabled, the log files will be sent to WorkSpaces automatically + // and will be applied to all users in the specified directory. + LogUploadEnabled *string `type:"string" enum:"LogUploadEnum"` + // Specifies whether users can cache their credentials on the Amazon WorkSpaces // client. When enabled, users can choose to reconnect to their WorkSpaces without // re-entering their credentials. @@ -6381,6 +6387,12 @@ func (s ClientProperties) GoString() string { return s.String() } +// SetLogUploadEnabled sets the LogUploadEnabled field's value. +func (s *ClientProperties) SetLogUploadEnabled(v string) *ClientProperties { + s.LogUploadEnabled = &v + return s +} + // SetReconnectEnabled sets the ReconnectEnabled field's value. func (s *ClientProperties) SetReconnectEnabled(v string) *ClientProperties { s.ReconnectEnabled = &v @@ -7725,7 +7737,7 @@ type CreateWorkspaceImageOutput struct { // The operating system that the image is running. OperatingSystem *OperatingSystem `type:"structure"` - // The identifier of the AWS account that owns the image. + // The identifier of the Amazon Web Services account that owns the image. OwnerAccountId *string `type:"string"` // Specifies whether the image is running on dedicated hardware. When Bring @@ -16487,6 +16499,22 @@ func ImageType_Values() []string { } } +const ( + // LogUploadEnumEnabled is a LogUploadEnum enum value + LogUploadEnumEnabled = "ENABLED" + + // LogUploadEnumDisabled is a LogUploadEnum enum value + LogUploadEnumDisabled = "DISABLED" +) + +// LogUploadEnum_Values returns all elements of the LogUploadEnum enum +func LogUploadEnum_Values() []string { + return []string{ + LogUploadEnumEnabled, + LogUploadEnumDisabled, + } +} + const ( // ModificationResourceEnumRootVolume is a ModificationResourceEnum enum value ModificationResourceEnumRootVolume = "ROOT_VOLUME"