From 33248db6c7556e779e29a29248149e1610ba455b Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 17 Jun 2024 14:39:29 -0400 Subject: [PATCH] Release v1.54.3 (2024-06-17) (#5289) Release v1.54.3 (2024-06-17) === ### Service Client Updates * `service/acm-pca`: Updates service API and documentation * `service/batch`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/codebuild`: Updates service API and documentation * AWS CodeBuild now supports global and organization GitHub webhooks * `service/cognito-idp`: Updates service API * `service/ds`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/elasticfilesystem`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/glue`: Updates service API, documentation, and paginators * This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions. * `service/kms`: Updates service examples * Updating SDK example for KMS DeriveSharedSecret API. * `service/mediaconvert`: Updates service API and documentation * This release includes support for creating I-frame only video segments for DASH trick play. * `service/secretsmanager`: Updates service documentation * Doc only update for Secrets Manager * `service/waf`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. --- CHANGELOG.md | 25 + aws/version.go | 2 +- models/apis/acm-pca/2017-08-22/api-2.json | 3 +- models/apis/acm-pca/2017-08-22/docs-2.json | 6 +- models/apis/batch/2016-08-10/api-2.json | 3 +- models/apis/batch/2016-08-10/smoke-2.json | 16 + models/apis/codebuild/2016-10-06/api-2.json | 28 +- models/apis/codebuild/2016-10-06/docs-2.json | 17 +- models/apis/cognito-idp/2016-04-18/api-2.json | 81 +- .../apis/cognito-idp/2016-04-18/smoke-2.json | 18 + models/apis/ds/2015-04-16/api-2.json | 4 +- .../ds/2015-04-16/endpoint-rule-set-1.json | 366 ++--- models/apis/ds/2015-04-16/smoke-2.json | 16 + .../elasticfilesystem/2015-02-01/api-2.json | 4 +- .../elasticfilesystem/2015-02-01/smoke-2.json | 16 + models/apis/glue/2017-03-31/api-2.json | 220 ++- models/apis/glue/2017-03-31/docs-2.json | 143 +- models/apis/glue/2017-03-31/paginators-1.json | 6 + models/apis/kms/2014-11-01/examples-1.json | 6 +- .../apis/mediaconvert/2017-08-29/api-2.json | 39 +- .../apis/mediaconvert/2017-08-29/docs-2.json | 25 +- .../secretsmanager/2017-10-17/docs-2.json | 4 +- models/apis/waf/2015-08-24/api-2.json | 4 +- .../waf/2015-08-24/endpoint-rule-set-1.json | 416 ++++++ .../apis/waf/2015-08-24/endpoint-tests-1.json | 376 +++++ models/apis/waf/2015-08-24/smoke-2.json | 18 + service/acmpca/api.go | 40 +- service/codebuild/api.go | 122 ++ service/glue/api.go | 1329 ++++++++++++++++- service/glue/errors.go | 7 + service/glue/glueiface/interface.go | 23 + service/kms/examples_test.go | 2 +- service/mediaconvert/api.go | 102 +- service/secretsmanager/api.go | 5 +- 34 files changed, 3201 insertions(+), 291 deletions(-) create mode 100644 models/apis/batch/2016-08-10/smoke-2.json create mode 100644 models/apis/cognito-idp/2016-04-18/smoke-2.json create mode 100644 models/apis/ds/2015-04-16/smoke-2.json create mode 100644 models/apis/elasticfilesystem/2015-02-01/smoke-2.json create mode 100644 models/apis/waf/2015-08-24/endpoint-rule-set-1.json create mode 100644 models/apis/waf/2015-08-24/endpoint-tests-1.json create mode 100644 models/apis/waf/2015-08-24/smoke-2.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 180bbddebaa..9e1b62a1dba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +Release v1.54.3 (2024-06-17) +=== + +### Service Client Updates +* `service/acm-pca`: Updates service API and documentation +* `service/batch`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/codebuild`: Updates service API and documentation + * AWS CodeBuild now supports global and organization GitHub webhooks +* `service/cognito-idp`: Updates service API +* `service/ds`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/elasticfilesystem`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/glue`: Updates service API, documentation, and paginators + * This release introduces a new feature, Usage profiles. Usage profiles allow the AWS Glue admin to create different profiles for various classes of users within the account, enforcing limits and defaults for jobs and sessions. +* `service/kms`: Updates service examples + * Updating SDK example for KMS DeriveSharedSecret API. +* `service/mediaconvert`: Updates service API and documentation + * This release includes support for creating I-frame only video segments for DASH trick play. +* `service/secretsmanager`: Updates service documentation + * Doc only update for Secrets Manager +* `service/waf`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. + Release v1.54.2 (2024-06-14) === diff --git a/aws/version.go b/aws/version.go index 31717f9b936..67027464f5a 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.54.2" +const SDKVersion = "1.54.3" diff --git a/models/apis/acm-pca/2017-08-22/api-2.json b/models/apis/acm-pca/2017-08-22/api-2.json index 1da95ab4163..5e4bae6de34 100644 --- a/models/apis/acm-pca/2017-08-22/api-2.json +++ b/models/apis/acm-pca/2017-08-22/api-2.json @@ -11,7 +11,8 @@ "serviceId":"ACM PCA", "signatureVersion":"v4", "targetPrefix":"ACMPrivateCA", - "uid":"acm-pca-2017-08-22" + "uid":"acm-pca-2017-08-22", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateCertificateAuthority":{ diff --git a/models/apis/acm-pca/2017-08-22/docs-2.json b/models/apis/acm-pca/2017-08-22/docs-2.json index 1bc0e4cf813..bb764107e36 100644 --- a/models/apis/acm-pca/2017-08-22/docs-2.json +++ b/models/apis/acm-pca/2017-08-22/docs-2.json @@ -2,7 +2,7 @@ "version": "2.0", "service": "
This is the Amazon Web Services Private Certificate Authority API Reference. It provides descriptions, syntax, and usage examples for each of the actions and data types involved in creating and managing a private certificate authority (CA) for your organization.
The documentation for each action shows the API request parameters and the JSON response. Alternatively, you can use one of the Amazon Web Services SDKs to access an API that is tailored to the programming language or platform that you prefer. For more information, see Amazon Web Services SDKs.
Each Amazon Web Services Private CA API operation has a quota that determines the number of times the operation can be called per second. Amazon Web Services Private CA throttles API requests at different rates depending on the operation. Throttling means that Amazon Web Services Private CA rejects an otherwise valid request because the request exceeds the operation's quota for the number of requests per second. When a request is throttled, Amazon Web Services Private CA returns a ThrottlingException error. Amazon Web Services Private CA does not guarantee a minimum request rate for APIs.
To see an up-to-date list of your Amazon Web Services Private CA quotas, or to request a quota increase, log into your Amazon Web Services account and visit the Service Quotas console.
", "operations": { - "CreateCertificateAuthority": "Creates a root or subordinate private certificate authority (CA). You must specify the CA configuration, an optional configuration for Online Certificate Status Protocol (OCSP) and/or a certificate revocation list (CRL), the CA type, and an optional idempotency token to avoid accidental creation of multiple CAs. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses, and X.500 subject information. The OCSP configuration can optionally specify a custom URL for the OCSP responder. The CRL configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this action returns the Amazon Resource Name (ARN) of the CA.
Both Amazon Web Services Private CA and the IAM principal must have permission to write to the S3 bucket that you specify. If the IAM principal making the call does not have permission to write to the bucket, then an exception is thrown. For more information, see Access policies for CRLs in Amazon S3.
Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs.
", + "CreateCertificateAuthority": "Creates a root or subordinate private certificate authority (CA). You must specify the CA configuration, an optional configuration for Online Certificate Status Protocol (OCSP) and/or a certificate revocation list (CRL), the CA type, and an optional idempotency token to avoid accidental creation of multiple CAs. The CA configuration specifies the name of the algorithm and key size to be used to create the CA private key, the type of signing algorithm that the CA uses, and X.500 subject information. The OCSP configuration can optionally specify a custom URL for the OCSP responder. The CRL configuration specifies the CRL expiration period in days (the validity period of the CRL), the Amazon S3 bucket that will contain the CRL, and a CNAME alias for the S3 bucket that is included in certificates issued by the CA. If successful, this action returns the Amazon Resource Name (ARN) of the CA.
Both Amazon Web Services Private CA and the IAM principal must have permission to write to the S3 bucket that you specify. If the IAM principal making the call does not have permission to write to the bucket, then an exception is thrown. For more information, see Access policies for CRLs in Amazon S3.
Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs.
", "CreateCertificateAuthorityAuditReport": "Creates an audit report that lists every time that your CA private key is used. The report is saved in the Amazon S3 bucket that you specify on input. The IssueCertificate and RevokeCertificate actions use the private key.
Both Amazon Web Services Private CA and the IAM principal must have permission to write to the S3 bucket that you specify. If the IAM principal making the call does not have permission to write to the bucket, then an exception is thrown. For more information, see Access policies for CRLs in Amazon S3.
Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your Audit Reports.
You can generate a maximum of one report every 30 minutes.
Grants one or more permissions on a private CA to the Certificate Manager (ACM) service principal (acm.amazonaws.com
). These permissions allow ACM to issue and renew ACM certificates that reside in the same Amazon Web Services account as the CA.
You can list current permissions with the ListPermissions action and revoke them with the DeletePermission action.
About Permissions
If the private CA and the certificates it issues reside in the same account, you can use CreatePermission
to grant permissions for ACM to carry out automatic certificate renewals.
For automatic certificate renewal to succeed, the ACM service principal needs permissions to create, retrieve, and list certificates.
If the private CA and the ACM certificates reside in different accounts, then permissions cannot be used to enable automatic renewals. Instead, the ACM certificate owner must set up a resource-based policy to enable cross-account issuance and renewals. For more information, see Using a Resource Based Policy with Amazon Web Services Private CA.
Deletes a private certificate authority (CA). You must provide the Amazon Resource Name (ARN) of the private CA that you want to delete. You can find the ARN by calling the ListCertificateAuthorities action.
Deleting a CA will invalidate other CAs and certificates below it in your CA hierarchy.
Before you can delete a CA that you have created and activated, you must disable it. To do this, call the UpdateCertificateAuthority action and set the CertificateAuthorityStatus parameter to DISABLED
.
Additionally, you can delete a CA if you are waiting for it to be created (that is, the status of the CA is CREATING
). You can also delete it if the CA has been created but you haven't yet imported the signed certificate into Amazon Web Services Private CA (that is, the status of the CA is PENDING_CERTIFICATE
).
When you successfully call DeleteCertificateAuthority, the CA's status changes to DELETED
. However, the CA won't be permanently deleted until the restoration period has passed. By default, if you do not set the PermanentDeletionTimeInDays
parameter, the CA remains restorable for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority action returns the time remaining in the restoration window of a private CA in the DELETED
state. To restore an eligible CA, call the RestoreCertificateAuthority action.
Retrieves the certificate and certificate chain for your private certificate authority (CA) or one that has been shared with you. Both the certificate and the chain are base64 PEM-encoded. The chain does not include the CA certificate. Each certificate in the chain signs the one before it.
", "GetCertificateAuthorityCsr": "Retrieves the certificate signing request (CSR) for your private certificate authority (CA). The CSR is created when you call the CreateCertificateAuthority action. Sign the CSR with your Amazon Web Services Private CA-hosted or on-premises root or subordinate CA. Then import the signed certificate back into Amazon Web Services Private CA by calling the ImportCertificateAuthorityCertificate action. The CSR is returned as a base64 PEM-encoded string.
", "GetPolicy": "Retrieves the resource-based policy attached to a private CA. If either the private CA resource or the policy cannot be found, this action returns a ResourceNotFoundException
.
The policy can be attached or updated with PutPolicy and removed with DeletePolicy.
About Policies
A policy grants access on a private CA to an Amazon Web Services customer account, to Amazon Web Services Organizations, or to an Amazon Web Services Organizations unit. Policies are under the control of a CA administrator. For more information, see Using a Resource Based Policy with Amazon Web Services Private CA.
A policy permits a user of Certificate Manager (ACM) to issue ACM certificates signed by a CA in another account.
For ACM to manage automatic renewal of these certificates, the ACM user must configure a Service Linked Role (SLR). The SLR allows the ACM service to assume the identity of the user, subject to confirmation against the Amazon Web Services Private CA policy. For more information, see Using a Service Linked Role with ACM.
Updates made in Amazon Web Services Resource Manager (RAM) are reflected in policies. For more information, see Attach a Policy for Cross-Account Access.
Imports a signed private CA certificate into Amazon Web Services Private CA. This action is used when you are using a chain of trust whose root is located outside Amazon Web Services Private CA. Before you can call this action, the following preparations must in place:
In Amazon Web Services Private CA, call the CreateCertificateAuthority action to create the private CA that you plan to back with the imported certificate.
Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR).
Sign the CSR using a root or intermediate CA hosted by either an on-premises PKI hierarchy or by a commercial CA.
Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.
Amazon Web Services Private CA supports three scenarios for installing a CA certificate:
Installing a certificate for a root CA hosted by Amazon Web Services Private CA.
Installing a subordinate CA certificate whose parent authority is hosted by Amazon Web Services Private CA.
Installing a subordinate CA certificate whose parent authority is externally hosted.
The following additional requirements apply when you import a CA certificate.
Only a self-signed certificate can be imported as a root CA.
A self-signed certificate cannot be imported as a subordinate CA.
Your certificate chain must not include the private CA certificate that you are importing.
Your root CA must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built.
The chain must be PEM-encoded.
The maximum allowed size of a certificate is 32 KB.
The maximum allowed size of a certificate chain is 2 MB.
Enforcement of Critical Constraints
Amazon Web Services Private CA allows the following extensions to be marked critical in the imported CA certificate or chain.
Basic constraints (must be marked critical)
Subject alternative names
Key usage
Extended key usage
Authority key identifier
Subject key identifier
Issuer alternative name
Subject directory attributes
Subject information access
Certificate policies
Policy mappings
Inhibit anyPolicy
Amazon Web Services Private CA rejects the following extensions when they are marked critical in an imported CA certificate or chain.
Name constraints
Policy constraints
CRL distribution points
Authority information access
Freshest CRL
Any other extension
Imports a signed private CA certificate into Amazon Web Services Private CA. This action is used when you are using a chain of trust whose root is located outside Amazon Web Services Private CA. Before you can call this action, the following preparations must in place:
In Amazon Web Services Private CA, call the CreateCertificateAuthority action to create the private CA that you plan to back with the imported certificate.
Call the GetCertificateAuthorityCsr action to generate a certificate signing request (CSR).
Sign the CSR using a root or intermediate CA hosted by either an on-premises PKI hierarchy or by a commercial CA.
Create a certificate chain and copy the signed certificate and the certificate chain to your working directory.
Amazon Web Services Private CA supports three scenarios for installing a CA certificate:
Installing a certificate for a root CA hosted by Amazon Web Services Private CA.
Installing a subordinate CA certificate whose parent authority is hosted by Amazon Web Services Private CA.
Installing a subordinate CA certificate whose parent authority is externally hosted.
The following additional requirements apply when you import a CA certificate.
Only a self-signed certificate can be imported as a root CA.
A self-signed certificate cannot be imported as a subordinate CA.
Your certificate chain must not include the private CA certificate that you are importing.
Your root CA must be the last certificate in your chain. The subordinate certificate, if any, that your root CA signed must be next to last. The subordinate certificate signed by the preceding subordinate CA must come next, and so on until your chain is built.
The chain must be PEM-encoded.
The maximum allowed size of a certificate is 32 KB.
The maximum allowed size of a certificate chain is 2 MB.
Enforcement of Critical Constraints
Amazon Web Services Private CA allows the following extensions to be marked critical in the imported CA certificate or chain.
Authority key identifier
Basic constraints (must be marked critical)
Certificate policies
Extended key usage
Inhibit anyPolicy
Issuer alternative name
Key usage
Name constraints
Policy mappings
Subject alternative name
Subject directory attributes
Subject key identifier
Subject information access
Amazon Web Services Private CA rejects the following extensions when they are marked critical in an imported CA certificate or chain.
Authority information access
CRL distribution points
Freshest CRL
Policy constraints
Amazon Web Services Private Certificate Authority will also reject any other extension marked as critical not contained on the preceding list of allowed extensions.
", "IssueCertificate": "Uses your private certificate authority (CA), or one that has been shared with you, to issue a client certificate. This action returns the Amazon Resource Name (ARN) of the certificate. You can retrieve the certificate by calling the GetCertificate action and specifying the ARN.
You cannot use the ACM ListCertificateAuthorities action to retrieve the ARNs of the certificates that you issue by using Amazon Web Services Private CA.
Lists the private certificate authorities that you created by using the CreateCertificateAuthority action.
", "ListPermissions": "List all permissions on a private CA, if any, granted to the Certificate Manager (ACM) service principal (acm.amazonaws.com).
These permissions allow ACM to issue and renew ACM certificates that reside in the same Amazon Web Services account as the CA.
Permissions can be granted with the CreatePermission action and revoked with the DeletePermission action.
About Permissions
If the private CA and the certificates it issues reside in the same account, you can use CreatePermission
to grant permissions for ACM to carry out automatic certificate renewals.
For automatic certificate renewal to succeed, the ACM service principal needs permissions to create, retrieve, and list certificates.
If the private CA and the ACM certificates reside in different accounts, then permissions cannot be used to enable automatic renewals. Instead, the ACM certificate owner must set up a resource-based policy to enable cross-account issuance and renewals. For more information, see Using a Resource Based Policy with Amazon Web Services Private CA.
Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the Enabled parameter to true
. Your private CA writes CRLs to an S3 bucket that you specify in the S3BucketName parameter. You can hide the name of your bucket by specifying a value for the CustomCname parameter. Your private CA by default copies the CNAME or the S3 bucket name to the CRL Distribution Points extension of each certificate it issues. If you want to configure this default behavior to be something different, you can set the CrlDistributionPointExtensionConfiguration parameter. Your S3 bucket policy must give write permission to Amazon Web Services Private CA.
Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs.
Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's expiration date or when a certificate is revoked. When a certificate is revoked, it appears in the CRL until the certificate expires, and then in one additional CRL after expiration, and it always appears in the audit report.
A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, Amazon Web Services Private CA makes further attempts every 15 minutes.
CRLs contain the following fields:
Version: The current version number defined in RFC 5280 is V2. The integer value is 0x1.
Signature Algorithm: The name of the algorithm used to sign the CRL.
Issuer: The X.500 distinguished name of your private CA that issued the CRL.
Last Update: The issue date and time of this CRL.
Next Update: The day and time by which the next CRL will be issued.
Revoked Certificates: List of revoked certificates. Each list item contains the following information.
Serial Number: The serial number, in hexadecimal format, of the revoked certificate.
Revocation Date: Date and time the certificate was revoked.
CRL Entry Extensions: Optional extensions for the CRL entry.
X509v3 CRL Reason Code: Reason the certificate was revoked.
CRL Extensions: Optional extensions for the CRL.
X509v3 Authority Key Identifier: Identifies the public key associated with the private key used to sign the certificate.
X509v3 CRL Number:: Decimal sequence number for the CRL.
Signature Algorithm: Algorithm used by your private CA to sign the CRL.
Signature Value: Signature computed over the CRL.
Certificate revocation lists created by Amazon Web Services Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL.
openssl crl -inform DER -text -in crl_path -noout
For more information, see Planning a certificate revocation list (CRL) in the Amazon Web Services Private Certificate Authority User Guide
", + "base": "Contains configuration information for a certificate revocation list (CRL). Your private certificate authority (CA) creates base CRLs. Delta CRLs are not supported. You can enable CRLs for your new or an existing private CA by setting the Enabled parameter to true
. Your private CA writes CRLs to an S3 bucket that you specify in the S3BucketName parameter. You can hide the name of your bucket by specifying a value for the CustomCname parameter. Your private CA by default copies the CNAME or the S3 bucket name to the CRL Distribution Points extension of each certificate it issues. If you want to configure this default behavior to be something different, you can set the CrlDistributionPointExtensionConfiguration parameter. Your S3 bucket policy must give write permission to Amazon Web Services Private CA.
Amazon Web Services Private CA assets that are stored in Amazon S3 can be protected with encryption. For more information, see Encrypting Your CRLs.
Your private CA uses the value in the ExpirationInDays parameter to calculate the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's expiration date or when a certificate is revoked. When a certificate is revoked, it appears in the CRL until the certificate expires, and then in one additional CRL after expiration, and it always appears in the audit report.
A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, Amazon Web Services Private CA makes further attempts every 15 minutes.
CRLs contain the following fields:
Version: The current version number defined in RFC 5280 is V2. The integer value is 0x1.
Signature Algorithm: The name of the algorithm used to sign the CRL.
Issuer: The X.500 distinguished name of your private CA that issued the CRL.
Last Update: The issue date and time of this CRL.
Next Update: The day and time by which the next CRL will be issued.
Revoked Certificates: List of revoked certificates. Each list item contains the following information.
Serial Number: The serial number, in hexadecimal format, of the revoked certificate.
Revocation Date: Date and time the certificate was revoked.
CRL Entry Extensions: Optional extensions for the CRL entry.
X509v3 CRL Reason Code: Reason the certificate was revoked.
CRL Extensions: Optional extensions for the CRL.
X509v3 Authority Key Identifier: Identifies the public key associated with the private key used to sign the certificate.
X509v3 CRL Number:: Decimal sequence number for the CRL.
Signature Algorithm: Algorithm used by your private CA to sign the CRL.
Signature Value: Signature computed over the CRL.
Certificate revocation lists created by Amazon Web Services Private CA are DER-encoded. You can use the following OpenSSL command to list a CRL.
openssl crl -inform DER -text -in crl_path -noout
For more information, see Planning a certificate revocation list (CRL) in the Amazon Web Services Private Certificate Authority User Guide
", "refs": { "RevocationConfiguration$CrlConfiguration": "Configuration of the certificate revocation list (CRL), if any, maintained by your private CA. A CRL is typically updated approximately 30 minutes after a certificate is revoked. If for any reason a CRL update fails, Amazon Web Services Private CA makes further attempts every 15 minutes.
" } diff --git a/models/apis/batch/2016-08-10/api-2.json b/models/apis/batch/2016-08-10/api-2.json index b1e74cf89e9..d3884b4234a 100644 --- a/models/apis/batch/2016-08-10/api-2.json +++ b/models/apis/batch/2016-08-10/api-2.json @@ -10,7 +10,8 @@ "serviceFullName":"AWS Batch", "serviceId":"Batch", "signatureVersion":"v4", - "uid":"batch-2016-08-10" + "uid":"batch-2016-08-10", + "auth":["aws.auth#sigv4"] }, "operations":{ "CancelJob":{ diff --git a/models/apis/batch/2016-08-10/smoke-2.json b/models/apis/batch/2016-08-10/smoke-2.json new file mode 100644 index 00000000000..3b0f5cc4787 --- /dev/null +++ b/models/apis/batch/2016-08-10/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeComputeEnvironmentsSuccess", + "operationName": "DescribeComputeEnvironments", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/codebuild/2016-10-06/api-2.json b/models/apis/codebuild/2016-10-06/api-2.json index 8819e28ae38..6d7e01f3770 100644 --- a/models/apis/codebuild/2016-10-06/api-2.json +++ b/models/apis/codebuild/2016-10-06/api-2.json @@ -10,7 +10,8 @@ "serviceId":"CodeBuild", "signatureVersion":"v4", "targetPrefix":"CodeBuild_20161006", - "uid":"codebuild-2016-10-06" + "uid":"codebuild-2016-10-06", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchDeleteBuilds":{ @@ -1205,7 +1206,8 @@ "branchFilter":{"shape":"String"}, "filterGroups":{"shape":"FilterGroups"}, "buildType":{"shape":"WebhookBuildType"}, - "manualCreation":{"shape":"WrapperBoolean"} + "manualCreation":{"shape":"WrapperBoolean"}, + "scopeConfiguration":{"shape":"ScopeConfiguration"} } }, "CreateWebhookOutput":{ @@ -2441,6 +2443,18 @@ "desiredCapacity":{"shape":"FleetCapacity"} } }, + "ScopeConfiguration":{ + "type":"structure", + "required":[ + "name", + "scope" + ], + "members":{ + "name":{"shape":"String"}, + "domain":{"shape":"String"}, + "scope":{"shape":"WebhookScopeType"} + } + }, "SecurityGroupIds":{ "type":"list", "member":{"shape":"NonEmptyString"}, @@ -2848,7 +2862,8 @@ "filterGroups":{"shape":"FilterGroups"}, "buildType":{"shape":"WebhookBuildType"}, "manualCreation":{"shape":"WrapperBoolean"}, - "lastModifiedSecret":{"shape":"Timestamp"} + "lastModifiedSecret":{"shape":"Timestamp"}, + "scopeConfiguration":{"shape":"ScopeConfiguration"} } }, "WebhookBuildType":{ @@ -2884,6 +2899,13 @@ "RELEASE_NAME" ] }, + "WebhookScopeType":{ + "type":"string", + "enum":[ + "GITHUB_ORGANIZATION", + "GITHUB_GLOBAL" + ] + }, "WrapperBoolean":{"type":"boolean"}, "WrapperDouble":{"type":"double"}, "WrapperInt":{"type":"integer"}, diff --git a/models/apis/codebuild/2016-10-06/docs-2.json b/models/apis/codebuild/2016-10-06/docs-2.json index 7f419bb7a87..5a30ef5c2dd 100644 --- a/models/apis/codebuild/2016-10-06/docs-2.json +++ b/models/apis/codebuild/2016-10-06/docs-2.json @@ -1601,6 +1601,13 @@ "Fleet$scalingConfiguration": "The scaling configuration of the compute fleet.
" } }, + "ScopeConfiguration": { + "base": "Contains configuration information about the scope for a webhook.
", + "refs": { + "CreateWebhookInput$scopeConfiguration": "The scope configuration for global or organization webhooks.
Global or organization webhooks are only available for GitHub and Github Enterprise webhooks.
The scope configuration for global or organization webhooks.
Global or organization webhooks are only available for GitHub and Github Enterprise webhooks.
The ARN of an S3 bucket and the path prefix for S3 logs. If your Amazon S3 bucket name is my-bucket
, and your path prefix is build-log
, then acceptable formats are my-bucket/build-log
or arn:aws:s3:::my-bucket/build-log
.
The Amazon Web Services account identifier of the owner of the Amazon S3 bucket. This allows report data to be exported to an Amazon S3 bucket that is owned by an account other than the account running the build.
", "S3ReportExportConfig$path": "The path to the exported report's raw data results.
", + "ScopeConfiguration$name": "The name of either the enterprise or organization that will send webhook events to CodeBuild, depending on if the webhook is a global or organization webhook respectively.
", + "ScopeConfiguration$domain": "The domain of the GitHub Enterprise organization. Note that this parameter is only required if your project's source type is GITHUB_ENTERPRISE
", "SourceAuth$resource": "The resource value that applies to the specified authorization type.
", "SourceCredentialsInfo$resource": "The connection ARN if your serverType type is GITLAB or GITLAB_SELF_MANAGED and your authType is CODECONNECTIONS.
", "StartBuildBatchInput$sourceVersion": "The version of the batch build input to be built, for this build only. If not specified, the latest version is used. If specified, the contents depends on the source provider:
The commit ID, branch, or Git tag to use.
The commit ID, pull request ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a pull request ID is specified, it must use the format pr/pull-request-ID
(for example pr/25
). If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
The commit ID, branch name, or tag name that corresponds to the version of the source code you want to build. If a branch name is specified, the branch's HEAD commit ID is used. If not specified, the default branch's HEAD commit ID is used.
The version ID of the object that represents the build input ZIP file to use.
If sourceVersion
is specified at the project level, then this sourceVersion
(at the build level) takes precedence.
For more information, see Source Version Sample with CodeBuild in the CodeBuild User Guide.
", @@ -2047,7 +2056,13 @@ "WebhookFilterType": { "base": null, "refs": { - "WebhookFilter$type": " The type of webhook filter. There are nine webhook filter types: EVENT
, ACTOR_ACCOUNT_ID
, HEAD_REF
, BASE_REF
, FILE_PATH
, COMMIT_MESSAGE
, TAG_NAME
, RELEASE_NAME
, and WORKFLOW_NAME
.
EVENT
A webhook event triggers a build when the provided pattern
matches one of nine event types: PUSH
, PULL_REQUEST_CREATED
, PULL_REQUEST_UPDATED
, PULL_REQUEST_CLOSED
, PULL_REQUEST_REOPENED
, PULL_REQUEST_MERGED
, RELEASED
, PRERELEASED
, and WORKFLOW_JOB_QUEUED
. The EVENT
patterns are specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED
filters all push, pull request created, and pull request updated events.
Types PULL_REQUEST_REOPENED
and WORKFLOW_JOB_QUEUED
work with GitHub and GitHub Enterprise only. Types RELEASED
and PRERELEASED
work with GitHub only.
ACTOR_ACCOUNT_ID
A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression pattern
.
HEAD_REF
A webhook event triggers a build when the head reference matches the regular expression pattern
. For example, refs/heads/branch-name
and refs/tags/tag-name
.
Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.
BASE_REF
A webhook event triggers a build when the base reference matches the regular expression pattern
. For example, refs/heads/branch-name
.
Works with pull request events only.
FILE_PATH
A webhook triggers a build when the path of a changed file matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
COMMIT_MESSAGE
A webhook triggers a build when the head commit message matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
TAG_NAME
A webhook triggers a build when the tag name of the release matches the regular expression pattern
.
Works with RELEASED
and PRERELEASED
events only.
RELEASE_NAME
A webhook triggers a build when the release name matches the regular expression pattern
.
Works with RELEASED
and PRERELEASED
events only.
WORKFLOW_NAME
A webhook triggers a build when the workflow name matches the regular expression pattern
.
Works with WORKFLOW_JOB_QUEUED
events only.
The type of webhook filter. There are nine webhook filter types: EVENT
, ACTOR_ACCOUNT_ID
, HEAD_REF
, BASE_REF
, FILE_PATH
, COMMIT_MESSAGE
, TAG_NAME
, RELEASE_NAME
, and WORKFLOW_NAME
.
EVENT
A webhook event triggers a build when the provided pattern
matches one of nine event types: PUSH
, PULL_REQUEST_CREATED
, PULL_REQUEST_UPDATED
, PULL_REQUEST_CLOSED
, PULL_REQUEST_REOPENED
, PULL_REQUEST_MERGED
, RELEASED
, PRERELEASED
, and WORKFLOW_JOB_QUEUED
. The EVENT
patterns are specified as a comma-separated string. For example, PUSH, PULL_REQUEST_CREATED, PULL_REQUEST_UPDATED
filters all push, pull request created, and pull request updated events.
Types PULL_REQUEST_REOPENED
and WORKFLOW_JOB_QUEUED
work with GitHub and GitHub Enterprise only. Types RELEASED
and PRERELEASED
work with GitHub only.
ACTOR_ACCOUNT_ID
A webhook event triggers a build when a GitHub, GitHub Enterprise, or Bitbucket account ID matches the regular expression pattern
.
HEAD_REF
A webhook event triggers a build when the head reference matches the regular expression pattern
. For example, refs/heads/branch-name
and refs/tags/tag-name
.
Works with GitHub and GitHub Enterprise push, GitHub and GitHub Enterprise pull request, Bitbucket push, and Bitbucket pull request events.
BASE_REF
A webhook event triggers a build when the base reference matches the regular expression pattern
. For example, refs/heads/branch-name
.
Works with pull request events only.
FILE_PATH
A webhook triggers a build when the path of a changed file matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
COMMIT_MESSAGE
A webhook triggers a build when the head commit message matches the regular expression pattern
.
Works with GitHub and Bitbucket events push and pull requests events. Also works with GitHub Enterprise push events, but does not work with GitHub Enterprise pull request events.
TAG_NAME
A webhook triggers a build when the tag name of the release matches the regular expression pattern
.
Works with RELEASED
and PRERELEASED
events only.
RELEASE_NAME
A webhook triggers a build when the release name matches the regular expression pattern
.
Works with RELEASED
and PRERELEASED
events only.
REPOSITORY_NAME
A webhook triggers a build when the repository name matches the regular expression pattern.
Works with GitHub global or organization webhooks only.
WORKFLOW_NAME
A webhook triggers a build when the workflow name matches the regular expression pattern
.
Works with WORKFLOW_JOB_QUEUED
events only.
The type of scope for a GitHub webhook.
" } }, "WrapperBoolean": { diff --git a/models/apis/cognito-idp/2016-04-18/api-2.json b/models/apis/cognito-idp/2016-04-18/api-2.json index f993db5e9e7..895da14b98e 100644 --- a/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/models/apis/cognito-idp/2016-04-18/api-2.json @@ -10,7 +10,8 @@ "serviceId":"Cognito Identity Provider", "signatureVersion":"v4", "targetPrefix":"AWSCognitoIdentityProviderService", - "uid":"cognito-idp-2016-04-18" + "uid":"cognito-idp-2016-04-18", + "auth":["aws.auth#sigv4"] }, "operations":{ "AddCustomAttributes":{ @@ -545,7 +546,8 @@ {"shape":"SoftwareTokenMFANotFoundException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ChangePassword":{ "name":"ChangePassword", @@ -568,7 +570,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ConfirmDevice":{ "name":"ConfirmDevice", @@ -593,7 +596,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ConfirmForgotPassword":{ "name":"ConfirmForgotPassword", @@ -621,7 +625,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ConfirmSignUp":{ "name":"ConfirmSignUp", @@ -648,7 +653,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "CreateGroup":{ "name":"CreateGroup", @@ -841,7 +847,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "DeleteUserAttributes":{ "name":"DeleteUserAttributes", @@ -862,7 +869,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "DeleteUserPool":{ "name":"DeleteUserPool", @@ -1043,7 +1051,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ForgotPassword":{ "name":"ForgotPassword", @@ -1070,7 +1079,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "GetCSVHeader":{ "name":"GetCSVHeader", @@ -1108,7 +1118,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "GetGroup":{ "name":"GetGroup", @@ -1207,7 +1218,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "GetUserAttributeVerificationCode":{ "name":"GetUserAttributeVerificationCode", @@ -1236,7 +1248,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "GetUserPoolMfaConfig":{ "name":"GetUserPoolMfaConfig", @@ -1272,7 +1285,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "InitiateAuth":{ "name":"InitiateAuth", @@ -1299,7 +1313,8 @@ {"shape":"InvalidSmsRoleTrustRelationshipException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ListDevices":{ "name":"ListDevices", @@ -1321,7 +1336,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "ListGroups":{ "name":"ListGroups", @@ -1491,7 +1507,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "RespondToAuthChallenge":{ "name":"RespondToAuthChallenge", @@ -1524,7 +1541,8 @@ {"shape":"SoftwareTokenMFANotFoundException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "RevokeToken":{ "name":"RevokeToken", @@ -1543,7 +1561,8 @@ {"shape":"UnsupportedTokenTypeException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "SetLogDeliveryConfiguration":{ "name":"SetLogDeliveryConfiguration", @@ -1614,7 +1633,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "SetUserPoolMfaConfig":{ "name":"SetUserPoolMfaConfig", @@ -1653,7 +1673,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "SignUp":{ "name":"SignUp", @@ -1681,7 +1702,8 @@ {"shape":"CodeDeliveryFailureException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "StartUserImportJob":{ "name":"StartUserImportJob", @@ -1766,7 +1788,8 @@ {"shape":"UserPoolAddOnNotEnabledException"}, {"shape":"InternalErrorException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "UpdateDeviceStatus":{ "name":"UpdateDeviceStatus", @@ -1788,7 +1811,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "UpdateGroup":{ "name":"UpdateGroup", @@ -1869,7 +1893,8 @@ {"shape":"InternalErrorException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "UpdateUserPool":{ "name":"UpdateUserPool", @@ -1952,7 +1977,8 @@ {"shape":"CodeMismatchException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] }, "VerifyUserAttribute":{ "name":"VerifyUserAttribute", @@ -1977,7 +2003,8 @@ {"shape":"AliasExistsException"}, {"shape":"ForbiddenException"} ], - "authtype":"none" + "authtype":"none", + "auth":["smithy.api#noAuth"] } }, "shapes":{ diff --git a/models/apis/cognito-idp/2016-04-18/smoke-2.json b/models/apis/cognito-idp/2016-04-18/smoke-2.json new file mode 100644 index 00000000000..52e0b4612ed --- /dev/null +++ b/models/apis/cognito-idp/2016-04-18/smoke-2.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListUserPoolsSuccess", + "operationName": "ListUserPools", + "input": { + "MaxResults": 10 + }, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/ds/2015-04-16/api-2.json b/models/apis/ds/2015-04-16/api-2.json index 0a6bc467f32..37d19166778 100644 --- a/models/apis/ds/2015-04-16/api-2.json +++ b/models/apis/ds/2015-04-16/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"ds", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"Directory Service", "serviceFullName":"AWS Directory Service", "serviceId":"Directory Service", "signatureVersion":"v4", "targetPrefix":"DirectoryService_20150416", - "uid":"ds-2015-04-16" + "uid":"ds-2015-04-16", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptSharedDirectory":{ diff --git a/models/apis/ds/2015-04-16/endpoint-rule-set-1.json b/models/apis/ds/2015-04-16/endpoint-rule-set-1.json index 6775abd6efb..fdcdb95dcb7 100644 --- a/models/apis/ds/2015-04-16/endpoint-rule-set-1.json +++ b/models/apis/ds/2015-04-16/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ds-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://ds-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ds-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://ds-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://ds.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://ds.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://ds.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://ds.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/ds/2015-04-16/smoke-2.json b/models/apis/ds/2015-04-16/smoke-2.json new file mode 100644 index 00000000000..2cb72370f6a --- /dev/null +++ b/models/apis/ds/2015-04-16/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeDirectoriesSuccess", + "operationName": "DescribeDirectories", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/elasticfilesystem/2015-02-01/api-2.json b/models/apis/elasticfilesystem/2015-02-01/api-2.json index 3e618e227b0..c358f0ebb5b 100644 --- a/models/apis/elasticfilesystem/2015-02-01/api-2.json +++ b/models/apis/elasticfilesystem/2015-02-01/api-2.json @@ -4,11 +4,13 @@ "apiVersion":"2015-02-01", "endpointPrefix":"elasticfilesystem", "protocol":"rest-json", + "protocols":["rest-json"], "serviceAbbreviation":"EFS", "serviceFullName":"Amazon Elastic File System", "serviceId":"EFS", "signatureVersion":"v4", - "uid":"elasticfilesystem-2015-02-01" + "uid":"elasticfilesystem-2015-02-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateAccessPoint":{ diff --git a/models/apis/elasticfilesystem/2015-02-01/smoke-2.json b/models/apis/elasticfilesystem/2015-02-01/smoke-2.json new file mode 100644 index 00000000000..eb899878601 --- /dev/null +++ b/models/apis/elasticfilesystem/2015-02-01/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeFileSystemsSuccess", + "operationName": "DescribeFileSystems", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index 279321d23aa..6b73c4630b6 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -686,6 +686,23 @@ {"shape":"ConcurrentModificationException"} ] }, + "CreateUsageProfile":{ + "name":"CreateUsageProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUsageProfileRequest"}, + "output":{"shape":"CreateUsageProfileResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"AlreadyExistsException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"OperationNotSupportedException"} + ] + }, "CreateUserDefinedFunction":{ "name":"CreateUserDefinedFunction", "http":{ @@ -1086,6 +1103,21 @@ {"shape":"ConcurrentModificationException"} ] }, + "DeleteUsageProfile":{ + "name":"DeleteUsageProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUsageProfileRequest"}, + "output":{"shape":"DeleteUsageProfileResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"OperationNotSupportedException"} + ] + }, "DeleteUserDefinedFunction":{ "name":"DeleteUserDefinedFunction", "http":{ @@ -2062,6 +2094,22 @@ {"shape":"FederationSourceRetryableException"} ] }, + "GetUsageProfile":{ + "name":"GetUsageProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetUsageProfileRequest"}, + "output":{"shape":"GetUsageProfileResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"OperationNotSupportedException"} + ] + }, "GetUserDefinedFunction":{ "name":"GetUserDefinedFunction", "http":{ @@ -2441,6 +2489,21 @@ {"shape":"OperationTimeoutException"} ] }, + "ListUsageProfiles":{ + "name":"ListUsageProfiles", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsageProfilesRequest"}, + "output":{"shape":"ListUsageProfilesResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationNotSupportedException"} + ] + }, "ListWorkflows":{ "name":"ListWorkflows", "http":{ @@ -3294,6 +3357,23 @@ {"shape":"ConcurrentModificationException"} ] }, + "UpdateUsageProfile":{ + "name":"UpdateUsageProfile", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUsageProfileRequest"}, + "output":{"shape":"UpdateUsageProfileResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"OperationNotSupportedException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "UpdateUserDefinedFunction":{ "name":"UpdateUserDefinedFunction", "http":{ @@ -3434,6 +3514,10 @@ "max":30, "min":1 }, + "AllowedValuesStringList":{ + "type":"list", + "member":{"shape":"ConfigValueString"} + }, "AlreadyExistsException":{ "type":"structure", "members":{ @@ -4870,6 +4954,26 @@ "type":"list", "member":{"shape":"Condition"} }, + "ConfigValueString":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z0-9_.-]+" + }, + "ConfigurationMap":{ + "type":"map", + "key":{"shape":"NameString"}, + "value":{"shape":"ConfigurationObject"} + }, + "ConfigurationObject":{ + "type":"structure", + "members":{ + "DefaultValue":{"shape":"ConfigValueString"}, + "AllowedValues":{"shape":"AllowedValuesStringList"}, + "MinValue":{"shape":"ConfigValueString"}, + "MaxValue":{"shape":"ConfigValueString"} + } + }, "ConflictException":{ "type":"structure", "members":{ @@ -5764,6 +5868,25 @@ "Name":{"shape":"NameString"} } }, + "CreateUsageProfileRequest":{ + "type":"structure", + "required":[ + "Name", + "Configuration" + ], + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "Configuration":{"shape":"ProfileConfiguration"}, + "Tags":{"shape":"TagsMap"} + } + }, + "CreateUsageProfileResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, "CreateUserDefinedFunctionRequest":{ "type":"structure", "required":[ @@ -6699,6 +6822,18 @@ "Name":{"shape":"NameString"} } }, + "DeleteUsageProfileRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "DeleteUsageProfileResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteUserDefinedFunctionRequest":{ "type":"structure", "required":[ @@ -8527,6 +8662,23 @@ "RowFilter":{"shape":"PredicateString"} } }, + "GetUsageProfileRequest":{ + "type":"structure", + "required":["Name"], + "members":{ + "Name":{"shape":"NameString"} + } + }, + "GetUsageProfileResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "Configuration":{"shape":"ProfileConfiguration"}, + "CreatedOn":{"shape":"TimestampValue"}, + "LastModifiedOn":{"shape":"TimestampValue"} + } + }, "GetUserDefinedFunctionRequest":{ "type":"structure", "required":[ @@ -9093,7 +9245,8 @@ "CodeGenConfigurationNodes":{"shape":"CodeGenConfigurationNodes"}, "ExecutionClass":{"shape":"ExecutionClass"}, "SourceControlDetails":{"shape":"SourceControlDetails"}, - "MaintenanceWindow":{"shape":"MaintenanceWindow"} + "MaintenanceWindow":{"shape":"MaintenanceWindow"}, + "ProfileName":{"shape":"NameString"} } }, "JobBookmarkEntry":{ @@ -9186,7 +9339,8 @@ "GlueVersion":{"shape":"GlueVersionString"}, "DPUSeconds":{"shape":"NullableDouble"}, "ExecutionClass":{"shape":"ExecutionClass"}, - "MaintenanceWindow":{"shape":"MaintenanceWindow"} + "MaintenanceWindow":{"shape":"MaintenanceWindow"}, + "ProfileName":{"shape":"NameString"} } }, "JobRunList":{ @@ -9752,6 +9906,20 @@ "NextToken":{"shape":"GenericString"} } }, + "ListUsageProfilesRequest":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"OrchestrationToken"}, + "MaxResults":{"shape":"OrchestrationPageSize200"} + } + }, + "ListUsageProfilesResponse":{ + "type":"structure", + "members":{ + "Profiles":{"shape":"UsageProfileDefinitionList"}, + "NextToken":{"shape":"OrchestrationToken"} + } + }, "ListWorkflowsRequest":{ "type":"structure", "members":{ @@ -10253,6 +10421,13 @@ "IcebergInput":{"shape":"IcebergInput"} } }, + "OperationNotSupportedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, "OperationTimeoutException":{ "type":"structure", "members":{ @@ -10696,6 +10871,13 @@ "max":1, "min":0 }, + "ProfileConfiguration":{ + "type":"structure", + "members":{ + "SessionConfiguration":{"shape":"ConfigurationMap"}, + "JobConfiguration":{"shape":"ConfigurationMap"} + } + }, "PropertyPredicate":{ "type":"structure", "members":{ @@ -11765,7 +11947,8 @@ "CompletedOn":{"shape":"TimestampValue"}, "ExecutionTime":{"shape":"NullableDouble"}, "DPUSeconds":{"shape":"NullableDouble"}, - "IdleTimeout":{"shape":"IdleTimeout"} + "IdleTimeout":{"shape":"IdleTimeout"}, + "ProfileName":{"shape":"NameString"} } }, "SessionCommand":{ @@ -13408,6 +13591,24 @@ "Trigger":{"shape":"Trigger"} } }, + "UpdateUsageProfileRequest":{ + "type":"structure", + "required":[ + "Name", + "Configuration" + ], + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "Configuration":{"shape":"ProfileConfiguration"} + } + }, + "UpdateUsageProfileResponse":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"} + } + }, "UpdateUserDefinedFunctionRequest":{ "type":"structure", "required":[ @@ -13462,6 +13663,19 @@ } }, "UriString":{"type":"string"}, + "UsageProfileDefinition":{ + "type":"structure", + "members":{ + "Name":{"shape":"NameString"}, + "Description":{"shape":"DescriptionString"}, + "CreatedOn":{"shape":"TimestampValue"}, + "LastModifiedOn":{"shape":"TimestampValue"} + } + }, + "UsageProfileDefinitionList":{ + "type":"list", + "member":{"shape":"UsageProfileDefinition"} + }, "UserDefinedFunction":{ "type":"structure", "members":{ diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index 00aa1dbd1cb..7ee2067492d 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -44,6 +44,7 @@ "CreateTable": "Creates a new table definition in the Data Catalog.
", "CreateTableOptimizer": "Creates a new table optimizer for a specific function. compaction
is the only currently supported optimizer type.
Creates a new trigger.
", + "CreateUsageProfile": "Creates an Glue usage profile.
", "CreateUserDefinedFunction": "Creates a new function definition in the Data Catalog.
", "CreateWorkflow": "Creates a new workflow.
", "DeleteBlueprint": "Deletes an existing blueprint.
", @@ -70,6 +71,7 @@ "DeleteTableOptimizer": "Deletes an optimizer and all associated metadata for a table. The optimization will no longer be performed on the table.
", "DeleteTableVersion": "Deletes a specified version of a table.
", "DeleteTrigger": "Deletes a specified trigger. If the trigger is not found, no exception is thrown.
", + "DeleteUsageProfile": "Deletes the Glue specified usage profile.
", "DeleteUserDefinedFunction": "Deletes an existing function definition from the Data Catalog.
", "DeleteWorkflow": "Deletes a workflow.
", "GetBlueprint": "Retrieves the details of a blueprint.
", @@ -100,7 +102,7 @@ "GetDevEndpoints": "Retrieves all the development endpoints in this Amazon Web Services account.
When you create a development endpoint in a virtual private cloud (VPC), Glue returns only a private IP address and the public IP address field is not populated. When you create a non-VPC development endpoint, Glue returns only a public IP address.
Retrieves an existing job definition.
", "GetJobBookmark": "Returns information on a job bookmark entry.
For more information about enabling and using job bookmarks, see:
", - "GetJobRun": "Retrieves the metadata for a given job run.
", + "GetJobRun": "Retrieves the metadata for a given job run. Job run history is accessible for 90 days for your workflow and job run.
", "GetJobRuns": "Retrieves metadata for all runs of a given job definition.
", "GetJobs": "Retrieves all current job definitions.
", "GetMLTaskRun": "Gets details for a specific task run on a machine learning transform. Machine learning task runs are asynchronous tasks that Glue runs on your behalf as part of various machine learning workflows. You can check the stats of any task run by calling GetMLTaskRun
with the TaskRunID
and its parent transform's TransformID
.
Retrieves partition metadata from the Data Catalog that contains unfiltered metadata.
For IAM authorization, the public IAM action associated with this API is glue:GetPartition
.
Retrieves partition metadata from the Data Catalog that contains unfiltered metadata.
For IAM authorization, the public IAM action associated with this API is glue:GetPartitions
.
Allows a third-party analytical engine to retrieve unfiltered table metadata from the Data Catalog.
For IAM authorization, the public IAM action associated with this API is glue:GetTable
.
Retrieves information about the specified Glue usage profile.
", "GetUserDefinedFunction": "Retrieves a specified function definition from the Data Catalog.
", "GetUserDefinedFunctions": "Retrieves multiple function definitions from the Data Catalog.
", "GetWorkflow": "Retrieves resource metadata for a workflow.
", - "GetWorkflowRun": "Retrieves the metadata for a given workflow run.
", + "GetWorkflowRun": "Retrieves the metadata for a given workflow run. Job run history is accessible for 90 days for your workflow and job run.
", "GetWorkflowRunProperties": "Retrieves the workflow run properties which were set during the run.
", "GetWorkflowRuns": "Retrieves metadata for all runs of a given workflow.
", "ImportCatalogToGlue": "Imports an existing Amazon Athena Data Catalog to Glue.
", @@ -160,6 +163,7 @@ "ListStatements": "Lists statements for the session.
", "ListTableOptimizerRuns": "Lists the history of previous optimizer runs for a specific table.
", "ListTriggers": "Retrieves the names of all trigger resources in this Amazon Web Services account, or the resources with the specified tag. This operation allows you to see which resources are available in your account, and their names.
This operation takes the optional Tags
field, which you can use as a filter on the response so that tagged resources can be retrieved as a group. If you choose to use tags filtering, only resources with the tag are retrieved.
List all the Glue usage profiles.
", "ListWorkflows": "Lists names of workflows created in the account.
", "PutDataCatalogEncryptionSettings": "Sets the security configuration for a specified catalog. After the configuration has been set, the specified encryption is applied to every catalog write thereafter.
", "PutResourcePolicy": "Sets the Data Catalog resource policy for access control.
", @@ -213,6 +217,7 @@ "UpdateTable": "Updates a metadata table in the Data Catalog.
", "UpdateTableOptimizer": "Updates the configuration for an existing table optimizer.
", "UpdateTrigger": "Updates a trigger definition.
", + "UpdateUsageProfile": "Update an Glue usage profile.
", "UpdateUserDefinedFunction": "Updates an existing function definition in the Data Catalog.
", "UpdateWorkflow": "Updates an existing workflow.
" }, @@ -310,6 +315,12 @@ "Aggregate$Aggs": "Specifies the aggregate functions to be performed on specified fields.
" } }, + "AllowedValuesStringList": { + "base": null, + "refs": { + "ConfigurationObject$AllowedValues": "A list of allowed values for the parameter.
" + } + }, "AlreadyExistsException": { "base": "A resource to be created or added already exists.
", "refs": { @@ -1546,6 +1557,28 @@ "Predicate$Conditions": "A list of the conditions that determine when the trigger will fire.
" } }, + "ConfigValueString": { + "base": null, + "refs": { + "AllowedValuesStringList$member": null, + "ConfigurationObject$DefaultValue": "A default value for the parameter.
", + "ConfigurationObject$MinValue": "A minimum allowed value for the parameter.
", + "ConfigurationObject$MaxValue": "A maximum allowed value for the parameter.
" + } + }, + "ConfigurationMap": { + "base": null, + "refs": { + "ProfileConfiguration$SessionConfiguration": "A key-value map of configuration parameters for Glue sessions.
", + "ProfileConfiguration$JobConfiguration": "A key-value map of configuration parameters for Glue jobs.
" + } + }, + "ConfigurationObject": { + "base": "Specifies the values that an admin sets for each job or session parameter configured in a Glue usage profile.
", + "refs": { + "ConfigurationMap$value": null + } + }, "ConflictException": { "base": "The CreatePartitions
API was called on a table that has indexes enabled.
A description of the schema if specified when created.
", "CreateSessionRequest$Description": "The description of the session.
", "CreateTriggerRequest$Description": "A description of the new trigger.
", + "CreateUsageProfileRequest$Description": "A description of the usage profile.
", "DataQualityRulesetFilterCriteria$Description": "The description of the ruleset filter criteria.
", "DataQualityRulesetListDetails$Description": "A description of the data quality ruleset.
", "Database$Description": "A description of the database.
", @@ -2865,6 +2919,7 @@ "GetMLTransformResponse$Description": "A description of the transform.
", "GetRegistryResponse$Description": "A description of the registry.
", "GetSchemaResponse$Description": "A description of schema if specified when created
", + "GetUsageProfileResponse$Description": "A description of the usage profile.
", "GlueTableAdditionalOptions$value": null, "Job$Description": "A description of the job.
", "JobUpdate$Description": "Description of the job being defined.
", @@ -2882,7 +2937,9 @@ "UpdateDataQualityRulesetResponse$Description": "A description of the ruleset.
", "UpdateMLTransformRequest$Description": "A description of the transform. The default is an empty string.
", "UpdateRegistryInput$Description": "A description of the registry. If description is not provided, this field will not be updated.
", - "UpdateSchemaInput$Description": "The new description for the schema.
" + "UpdateSchemaInput$Description": "The new description for the schema.
", + "UpdateUsageProfileRequest$Description": "A description of the usage profile.
", + "UsageProfileDefinition$Description": "A description of the usage profile.
" } }, "DescriptionStringRemovable": { @@ -4358,6 +4415,16 @@ "refs": { } }, + "GetUsageProfileRequest": { + "base": null, + "refs": { + } + }, + "GetUsageProfileResponse": { + "base": null, + "refs": { + } + }, "GetUserDefinedFunctionRequest": { "base": null, "refs": { @@ -5373,6 +5440,16 @@ "refs": { } }, + "ListUsageProfilesRequest": { + "base": null, + "refs": { + } + }, + "ListUsageProfilesResponse": { + "base": null, + "refs": { + } + }, "ListWorkflowsRequest": { "base": null, "refs": { @@ -5624,6 +5701,7 @@ "InvalidStateException$Message": "A message describing the problem.
", "MLTransformNotReadyException$Message": "A message describing the problem.
", "NoScheduleException$Message": "A message describing the problem.
", + "OperationNotSupportedException$Message": "A message describing the problem.
", "OperationTimeoutException$Message": "A message describing the problem.
", "PermissionTypeMismatchException$Message": "There is a mismatch between the SupportedPermissionType used in the query request and the permissions defined on the target table.
", "ResourceNotReadyException$Message": "A message describing the problem.
", @@ -5777,6 +5855,7 @@ "ColumnStatisticsTaskRun$WorkerType": "The type of workers being used for generating stats. The default is g.1x
.
The name of the job whose JobRuns
this condition applies to, and on which this trigger waits.
The name of the crawler to which this condition applies.
", + "ConfigurationMap$key": null, "Connection$Name": "The name of the connection definition.
", "Connection$LastUpdatedBy": "The user, group, or role that last updated this connection definition.
", "ConnectionInput$Name": "The name of the connection.
", @@ -5816,6 +5895,8 @@ "CreateTriggerRequest$Name": "The name of the trigger.
", "CreateTriggerRequest$WorkflowName": "The name of the workflow associated with the trigger.
", "CreateTriggerResponse$Name": "The name of the trigger.
", + "CreateUsageProfileRequest$Name": "The name of the usage profile.
", + "CreateUsageProfileResponse$Name": "The name of the usage profile that was created.
", "CreateUserDefinedFunctionRequest$DatabaseName": "The name of the catalog database in which to create the function.
", "CreateWorkflowRequest$Name": "The name to be assigned to the workflow. It should be unique within your account.
", "CreateWorkflowResponse$Name": "The name of the workflow which was provided as part of the request.
", @@ -5876,6 +5957,7 @@ "DeleteTableVersionRequest$TableName": "The name of the table. For Hive compatibility, this name is entirely lowercase.
", "DeleteTriggerRequest$Name": "The name of the trigger to delete.
", "DeleteTriggerResponse$Name": "The name of the trigger that was deleted.
", + "DeleteUsageProfileRequest$Name": "The name of the usage profile to delete.
", "DeleteUserDefinedFunctionRequest$DatabaseName": "The name of the catalog database where the function is located.
", "DeleteUserDefinedFunctionRequest$FunctionName": "The name of the function definition to be deleted.
", "DeleteWorkflowRequest$Name": "Name of the workflow to be deleted.
", @@ -5943,6 +6025,8 @@ "GetUnfilteredPartitionsMetadataRequest$TableName": "The name of the table that contains the partition.
", "GetUnfilteredTableMetadataRequest$DatabaseName": "(Required) Specifies the name of a database that contains the table.
", "GetUnfilteredTableMetadataRequest$Name": "(Required) Specifies the name of a table for which you are requesting metadata.
", + "GetUsageProfileRequest$Name": "The name of the usage profile to retrieve.
", + "GetUsageProfileResponse$Name": "The name of the usage profile.
", "GetUserDefinedFunctionRequest$DatabaseName": "The name of the catalog database where the function is located.
", "GetUserDefinedFunctionRequest$FunctionName": "The name of the function.
", "GetUserDefinedFunctionsRequest$DatabaseName": "The name of the catalog database where the functions are located. If none is provided, functions from all the databases across the catalog will be returned.
", @@ -5959,10 +6043,12 @@ "GrokClassifier$Name": "The name of the classifier.
", "Job$Name": "The name you assign to this job definition.
", "Job$SecurityConfiguration": "The name of the SecurityConfiguration
structure to be used with this job.
The name of an Glue usage profile associated with the job.
", "JobNameList$member": null, "JobRun$TriggerName": "The name of the trigger that started this job run.
", "JobRun$JobName": "The name of the job definition being used in this run.
", "JobRun$SecurityConfiguration": "The name of the SecurityConfiguration
structure to be used with this job run.
The name of an Glue usage profile associated with the job run.
", "JobUpdate$SecurityConfiguration": "The name of the SecurityConfiguration
structure to be used with this job.
The name of the classifier.
", "KeyList$member": null, @@ -6001,6 +6087,7 @@ "SerDeInfo$SerializationLibrary": "Usually the class that implements the SerDe. An example is org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe
.
The ID of the session.
", "Session$SecurityConfiguration": "The name of the SecurityConfiguration structure to be used with the session.
", + "Session$ProfileName": "The name of an Glue usage profile associated with the session.
", "SessionCommand$Name": "Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'.
", "SessionIdList$member": null, "StartColumnStatisticsTaskRunRequest$DatabaseName": "The name of the database where the table resides.
", @@ -6076,11 +6163,14 @@ "UpdateTableOptimizerRequest$TableName": "The name of the table.
", "UpdateTableRequest$DatabaseName": "The name of the catalog database in which the table resides. For Hive compatibility, this name is entirely lowercase.
", "UpdateTriggerRequest$Name": "The name of the trigger to update.
", + "UpdateUsageProfileRequest$Name": "The name of the usage profile.
", + "UpdateUsageProfileResponse$Name": "The name of the usage profile that was updated.
", "UpdateUserDefinedFunctionRequest$DatabaseName": "The name of the catalog database where the function to be updated is located.
", "UpdateUserDefinedFunctionRequest$FunctionName": "The name of the function.
", "UpdateWorkflowRequest$Name": "Name of the workflow to be updated.
", "UpdateWorkflowResponse$Name": "The name of the workflow which was specified in input.
", "UpdateXMLClassifierRequest$Name": "The name of the classifier.
", + "UsageProfileDefinition$Name": "The name of the usage profile.
", "UserDefinedFunction$FunctionName": "The name of the function.
", "UserDefinedFunction$DatabaseName": "The name of the catalog database that contains the function.
", "UserDefinedFunction$ClassName": "The Java class that contains the function code.
", @@ -6491,6 +6581,11 @@ "CreateTableRequest$OpenTableFormatInput": "Specifies an OpenTableFormatInput
structure when creating an open format table.
The operation is not available in the region.
", + "refs": { + } + }, "OperationTimeoutException": { "base": "The operation timed out.
", "refs": { @@ -6580,7 +6675,8 @@ "refs": { "GetJobRunsRequest$MaxResults": "The maximum size of the response.
", "GetTriggersRequest$MaxResults": "The maximum size of the response.
", - "ListTriggersRequest$MaxResults": "The maximum size of a list to return.
" + "ListTriggersRequest$MaxResults": "The maximum size of a list to return.
", + "ListUsageProfilesRequest$MaxResults": "The maximum number of usage profiles to return in a single response.
" } }, "OrchestrationPageSize25": { @@ -6623,7 +6719,9 @@ "ListSessionsRequest$NextToken": "The token for the next set of results, or null if there are no more result.
", "ListSessionsResponse$NextToken": "The token for the next set of results, or null if there are no more result.
", "ListStatementsRequest$NextToken": "A continuation token, if this is a continuation call.
", - "ListStatementsResponse$NextToken": "A continuation token, if not all statements have yet been returned.
" + "ListStatementsResponse$NextToken": "A continuation token, if not all statements have yet been returned.
", + "ListUsageProfilesRequest$NextToken": "A continuation token, included if this is a continuation call.
", + "ListUsageProfilesResponse$NextToken": "A continuation token, present if the current list segment is not the last.
" } }, "Order": { @@ -6988,6 +7086,14 @@ "Spigot$Prob": "The probability (a decimal value with a maximum value of 1) of picking any given record. A value of 1 indicates that each row read from the dataset should be included in the sample output.
" } }, + "ProfileConfiguration": { + "base": "Specifies the job and session values that an admin configures in an Glue usage profile.
", + "refs": { + "CreateUsageProfileRequest$Configuration": "A ProfileConfiguration
object specifying the job and session values for the profile.
A ProfileConfiguration
object specifying the job and session values for the profile.
A ProfileConfiguration
object specifying the job and session values for the profile.
Defines a property predicate.
", "refs": { @@ -8428,6 +8534,7 @@ "CreateSchemaResponse$Tags": "The tags for the schema.
", "CreateSessionRequest$Tags": "The map of key value pairs (tags) belonging to the session.
", "CreateTriggerRequest$Tags": "The tags to use with this trigger. You may use tags to limit access to the trigger. For more information about tags in Glue, see Amazon Web Services Tags in Glue in the developer guide.
", + "CreateUsageProfileRequest$Tags": "A list of tags applied to the usage profile.
", "CreateWorkflowRequest$Tags": "The tags to be used with this workflow.
", "GetTagsResponse$Tags": "The requested tags.
", "ListBlueprintsRequest$Tags": "Filters the list by an Amazon Web Services resource tag.
", @@ -8634,6 +8741,8 @@ "CreateSecurityConfigurationResponse$CreatedTimestamp": "The time at which the new security configuration was created.
", "DevEndpoint$CreatedTimestamp": "The point in time at which this DevEndpoint was created.
", "DevEndpoint$LastModifiedTimestamp": "The point in time at which this DevEndpoint
was last modified.
The date and time when the usage profile was created.
", + "GetUsageProfileResponse$LastModifiedOn": "The date and time when the usage profile was last modified.
", "Job$CreatedOn": "The time and date that this job definition was created.
", "Job$LastModifiedOn": "The last point in time when this job definition was modified.
", "JobRun$StartedOn": "The date and time at which this job run was started.
", @@ -8643,6 +8752,8 @@ "SecurityConfiguration$CreatedTimeStamp": "The time at which this security configuration was created.
", "Session$CreatedOn": "The time and date when the session was created.
", "Session$CompletedOn": "The date and time that this session is completed.
", + "UsageProfileDefinition$CreatedOn": "The date and time when the usage profile was created.
", + "UsageProfileDefinition$LastModifiedOn": "The date and time when the usage profile was last modified.
", "Workflow$CreatedOn": "The date and time when the workflow was created.
", "Workflow$LastModifiedOn": "The date and time when the workflow was last modified.
", "WorkflowRun$StartedOn": "The date and time when the workflow run was started.
", @@ -9166,6 +9277,16 @@ "refs": { } }, + "UpdateUsageProfileRequest": { + "base": null, + "refs": { + } + }, + "UpdateUsageProfileResponse": { + "base": null, + "refs": { + } + }, "UpdateUserDefinedFunctionRequest": { "base": null, "refs": { @@ -9222,6 +9343,18 @@ "StartMLLabelingSetGenerationTaskRunRequest$OutputS3Path": "The Amazon Simple Storage Service (Amazon S3) path where you generate the labeling set.
" } }, + "UsageProfileDefinition": { + "base": "Describes an Glue usage profile.
", + "refs": { + "UsageProfileDefinitionList$member": null + } + }, + "UsageProfileDefinitionList": { + "base": null, + "refs": { + "ListUsageProfilesResponse$Profiles": "A list of usage profile (UsageProfileDefinition
) objects.
Represents the equivalent of a Hive user-defined function (UDF
) definition.
Retrieves the contents of the encrypted fields SecretString
or SecretBinary
for up to 20 secrets. To retrieve a single secret, call GetSecretValue.
To choose which secrets to retrieve, you can specify a list of secrets by name or ARN, or you can use filters. If Secrets Manager encounters errors such as AccessDeniedException
while attempting to retrieve any of the secrets, you can see the errors in Errors
in the response.
Secrets Manager generates CloudTrail GetSecretValue
log entries for each secret you request 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:BatchGetSecretValue
, and you must have secretsmanager:GetSecretValue
for each secret. If you use filters, you must also have secretsmanager:ListSecrets
. If the secrets are encrypted using customer-managed keys instead of the Amazon Web Services managed key aws/secretsmanager
, then you also need kms:Decrypt
permissions for the keys. For more information, see IAM policy actions for Secrets Manager and Authentication and access control in Secrets Manager.
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.
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 secrets that use managed rotation, you need to create the secret through the managing service. For more information, see Secrets Manager secrets managed by other Amazon Web Services services.
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.
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 secrets that use managed rotation, you need to create the secret through the managing service. For more information, see Secrets Manager secrets managed by other Amazon Web Services services.
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
. To add replica Regions, you must also have secretsmanager:ReplicateSecretToRegions
. 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.
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.
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.
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.
Specifies whether to include secrets scheduled for deletion. By default, secrets scheduled for deletion aren't included.
", "PutResourcePolicyRequest$BlockPublicPolicy": "Specifies whether to block resource-based policies that allow broad access to the secret, for example those that use a wildcard for the principal. By default, public policies aren't blocked.
Resource policy validation and the BlockPublicPolicy parameter help protect your resources by preventing public access from being granted through the resource policies that are directly attached to your secrets. In addition to using these features, carefully inspect the following policies to confirm that they do not grant public access:
Identity-based policies attached to associated Amazon Web Services principals (for example, IAM roles)
Resource-based policies attached to associated Amazon Web Services resources (for example, Key Management Service (KMS) keys)
To review permissions to your secrets, see Determine who has permissions to your secrets.
Specifies whether to overwrite a secret with the same name in the destination Region. By default, secrets aren't overwritten.
", - "RotateSecretRequest$RotateImmediately": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in RotateSecretRequest$RotationRules.
For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret
step of the Lambda rotation function. The test creates an AWSPENDING
version of the secret and then removes it.
By default, Secrets Manager rotates the secret immediately.
", + "RotateSecretRequest$RotateImmediately": "Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. The rotation schedule is defined in RotateSecretRequest$RotationRules.
For secrets that use a Lambda rotation function to rotate, if you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the testSecret
step of the Lambda rotation function. The test creates an AWSPENDING
version of the secret and then removes it.
By default, Secrets Manager rotates the secret immediately.
", "ValidateResourcePolicyResponse$PolicyValidationPassed": "True if your policy passes validation, otherwise false.
" } }, diff --git a/models/apis/waf/2015-08-24/api-2.json b/models/apis/waf/2015-08-24/api-2.json index 848964d98b5..ca6cc463254 100644 --- a/models/apis/waf/2015-08-24/api-2.json +++ b/models/apis/waf/2015-08-24/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"waf", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceAbbreviation":"WAF", "serviceFullName":"AWS WAF", "serviceId":"WAF", "signatureVersion":"v4", "targetPrefix":"AWSWAF_20150824", - "uid":"waf-2015-08-24" + "uid":"waf-2015-08-24", + "auth":["aws.auth#sigv4"] }, "operations":{ "CreateByteMatchSet":{ diff --git a/models/apis/waf/2015-08-24/endpoint-rule-set-1.json b/models/apis/waf/2015-08-24/endpoint-rule-set-1.json new file mode 100644 index 00000000000..21e2168f123 --- /dev/null +++ b/models/apis/waf/2015-08-24/endpoint-rule-set-1.json @@ -0,0 +1,416 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://waf.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://waf-fips.amazonaws.com", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://waf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://waf-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://waf.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://waf.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/waf/2015-08-24/endpoint-tests-1.json b/models/apis/waf/2015-08-24/endpoint-tests-1.json new file mode 100644 index 00000000000..e13c0127017 --- /dev/null +++ b/models/apis/waf/2015-08-24/endpoint-tests-1.json @@ -0,0 +1,376 @@ +{ + "testCases": [ + { + "documentation": "For region aws-global with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf.amazonaws.com" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region aws-global with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf-fips.amazonaws.com" + } + }, + "params": { + "Region": "aws-global", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf-fips.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "waf", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://waf.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://waf.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://waf.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/waf/2015-08-24/smoke-2.json b/models/apis/waf/2015-08-24/smoke-2.json new file mode 100644 index 00000000000..1d9b3a03d2e --- /dev/null +++ b/models/apis/waf/2015-08-24/smoke-2.json @@ -0,0 +1,18 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListRulesSuccess", + "operationName": "ListRules", + "input": { + "Limit": 20 + }, + "expectation": { + "success": {} + }, + "config": { + "region": "us-east-1" + } + } + ] +} \ No newline at end of file diff --git a/service/acmpca/api.go b/service/acmpca/api.go index 4decb2447f5..ce9eb4410a6 100644 --- a/service/acmpca/api.go +++ b/service/acmpca/api.go @@ -76,7 +76,7 @@ func (c *ACMPCA) CreateCertificateAuthorityRequest(input *CreateCertificateAutho // // Amazon Web Services Private CA assets that are stored in Amazon S3 can be // protected with encryption. For more information, see Encrypting Your CRLs -// (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). +// (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html#crl-encryption). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1417,44 +1417,46 @@ func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCerti // Amazon Web Services Private CA allows the following extensions to be marked // critical in the imported CA certificate or chain. // -// - Basic constraints (must be marked critical) +// - Authority key identifier // -// - Subject alternative names +// - Basic constraints (must be marked critical) // -// - Key usage +// - Certificate policies // // - Extended key usage // -// - Authority key identifier -// -// - Subject key identifier +// - Inhibit anyPolicy // // - Issuer alternative name // -// - Subject directory attributes -// -// - Subject information access +// - Key usage // -// - Certificate policies +// - Name constraints // // - Policy mappings // -// - Inhibit anyPolicy +// - Subject alternative name // -// Amazon Web Services Private CA rejects the following extensions when they -// are marked critical in an imported CA certificate or chain. +// - Subject directory attributes // -// - Name constraints +// - Subject key identifier // -// - Policy constraints +// - Subject information access // -// - CRL distribution points +// Amazon Web Services Private CA rejects the following extensions when they +// are marked critical in an imported CA certificate or chain. // // - Authority information access // +// - CRL distribution points +// // - Freshest CRL // -// - Any other extension +// - Policy constraints +// +// Amazon Web Services Private Certificate Authority will also reject any other +// extension marked as critical not contained on the preceding list of allowed +// extensions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4039,7 +4041,7 @@ func (s CreatePermissionOutput) GoString() string { // // Amazon Web Services Private CA assets that are stored in Amazon S3 can be // protected with encryption. For more information, see Encrypting Your CRLs -// (https://docs.aws.amazon.com/privateca/latest/userguide/PcaCreateCa.html#crl-encryption). +// (https://docs.aws.amazon.com/privateca/latest/userguide/crl-planning.html#crl-encryption). // // Your private CA uses the value in the ExpirationInDays parameter to calculate // the nextUpdate field in the CRL. The CRL is refreshed prior to a certificate's diff --git a/service/codebuild/api.go b/service/codebuild/api.go index 16cef87786e..b3fd9cdaeb9 100644 --- a/service/codebuild/api.go +++ b/service/codebuild/api.go @@ -8179,6 +8179,12 @@ type CreateWebhookInput struct { // // ProjectName is a required field ProjectName *string `locationName:"projectName" min:"2" type:"string" required:"true"` + + // The scope configuration for global or organization webhooks. + // + // Global or organization webhooks are only available for GitHub and Github + // Enterprise webhooks. + ScopeConfiguration *ScopeConfiguration `locationName:"scopeConfiguration" type:"structure"` } // String returns the string representation. @@ -8208,6 +8214,11 @@ func (s *CreateWebhookInput) Validate() error { if s.ProjectName != nil && len(*s.ProjectName) < 2 { invalidParams.Add(request.NewErrParamMinLen("ProjectName", 2)) } + if s.ScopeConfiguration != nil { + if err := s.ScopeConfiguration.Validate(); err != nil { + invalidParams.AddNested("ScopeConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8245,6 +8256,12 @@ func (s *CreateWebhookInput) SetProjectName(v string) *CreateWebhookInput { return s } +// SetScopeConfiguration sets the ScopeConfiguration field's value. +func (s *CreateWebhookInput) SetScopeConfiguration(v *ScopeConfiguration) *CreateWebhookInput { + s.ScopeConfiguration = v + return s +} + type CreateWebhookOutput struct { _ struct{} `type:"structure"` @@ -15125,6 +15142,79 @@ func (s *ScalingConfigurationOutput_) SetTargetTrackingScalingConfigs(v []*Targe return s } +// Contains configuration information about the scope for a webhook. +type ScopeConfiguration struct { + _ struct{} `type:"structure"` + + // The domain of the GitHub Enterprise organization. Note that this parameter + // is only required if your project's source type is GITHUB_ENTERPRISE + Domain *string `locationName:"domain" type:"string"` + + // The name of either the enterprise or organization that will send webhook + // events to CodeBuild, depending on if the webhook is a global or organization + // webhook respectively. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The type of scope for a GitHub webhook. + // + // Scope is a required field + Scope *string `locationName:"scope" type:"string" required:"true" enum:"WebhookScopeType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScopeConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ScopeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScopeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScopeConfiguration"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Scope == nil { + invalidParams.Add(request.NewErrParamRequired("Scope")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomain sets the Domain field's value. +func (s *ScopeConfiguration) SetDomain(v string) *ScopeConfiguration { + s.Domain = &v + return s +} + +// SetName sets the Name field's value. +func (s *ScopeConfiguration) SetName(v string) *ScopeConfiguration { + s.Name = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *ScopeConfiguration) SetScope(v string) *ScopeConfiguration { + s.Scope = &v + return s +} + // Information about the authorization settings for CodeBuild to access the // source code to be built. // @@ -17968,6 +18058,12 @@ type Webhook struct { // The CodeBuild endpoint where webhook events are sent. PayloadUrl *string `locationName:"payloadUrl" min:"1" type:"string"` + // The scope configuration for global or organization webhooks. + // + // Global or organization webhooks are only available for GitHub and Github + // Enterprise webhooks. + ScopeConfiguration *ScopeConfiguration `locationName:"scopeConfiguration" type:"structure"` + // The secret token of the associated repository. // // A Bitbucket webhook does not support secret. @@ -18031,6 +18127,12 @@ func (s *Webhook) SetPayloadUrl(v string) *Webhook { return s } +// SetScopeConfiguration sets the ScopeConfiguration field's value. +func (s *Webhook) SetScopeConfiguration(v *ScopeConfiguration) *Webhook { + s.ScopeConfiguration = v + return s +} + // SetSecret sets the Secret field's value. func (s *Webhook) SetSecret(v string) *Webhook { s.Secret = &v @@ -18111,6 +18213,10 @@ type WebhookFilter struct { // the regular expression pattern. Works with RELEASED and PRERELEASED events // only. // + // * REPOSITORY_NAME A webhook triggers a build when the repository name + // matches the regular expression pattern. Works with GitHub global or organization + // webhooks only. + // // * WORKFLOW_NAME A webhook triggers a build when the workflow name matches // the regular expression pattern. Works with WORKFLOW_JOB_QUEUED events // only. @@ -19225,3 +19331,19 @@ func WebhookFilterType_Values() []string { WebhookFilterTypeReleaseName, } } + +const ( + // WebhookScopeTypeGithubOrganization is a WebhookScopeType enum value + WebhookScopeTypeGithubOrganization = "GITHUB_ORGANIZATION" + + // WebhookScopeTypeGithubGlobal is a WebhookScopeType enum value + WebhookScopeTypeGithubGlobal = "GITHUB_GLOBAL" +) + +// WebhookScopeType_Values returns all elements of the WebhookScopeType enum +func WebhookScopeType_Values() []string { + return []string{ + WebhookScopeTypeGithubOrganization, + WebhookScopeTypeGithubGlobal, + } +} diff --git a/service/glue/api.go b/service/glue/api.go index 5fb05266877..ebb4bfa946a 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -3915,6 +3915,100 @@ func (c *Glue) CreateTriggerWithContext(ctx aws.Context, input *CreateTriggerInp return out, req.Send() } +const opCreateUsageProfile = "CreateUsageProfile" + +// CreateUsageProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateUsageProfile 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 CreateUsageProfile for more information on using the CreateUsageProfile +// 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 CreateUsageProfileRequest method. +// req, resp := client.CreateUsageProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUsageProfile +func (c *Glue) CreateUsageProfileRequest(input *CreateUsageProfileInput) (req *request.Request, output *CreateUsageProfileOutput) { + op := &request.Operation{ + Name: opCreateUsageProfile, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateUsageProfileInput{} + } + + output = &CreateUsageProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateUsageProfile API operation for AWS Glue. +// +// Creates an Glue usage profile. +// +// Returns awserr.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 Glue's +// API operation CreateUsageProfile for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// The input provided was not valid. +// +// - InternalServiceException +// An internal service error occurred. +// +// - AlreadyExistsException +// A resource to be created or added already exists. +// +// - OperationTimeoutException +// The operation timed out. +// +// - ResourceNumberLimitExceededException +// A resource numerical limit was exceeded. +// +// - OperationNotSupportedException +// The operation is not available in the region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateUsageProfile +func (c *Glue) CreateUsageProfile(input *CreateUsageProfileInput) (*CreateUsageProfileOutput, error) { + req, out := c.CreateUsageProfileRequest(input) + return out, req.Send() +} + +// CreateUsageProfileWithContext is the same as CreateUsageProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateUsageProfile 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 *Glue) CreateUsageProfileWithContext(ctx aws.Context, input *CreateUsageProfileInput, opts ...request.Option) (*CreateUsageProfileOutput, error) { + req, out := c.CreateUsageProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateUserDefinedFunction = "CreateUserDefinedFunction" // CreateUserDefinedFunctionRequest generates a "aws/request.Request" representing the @@ -6306,6 +6400,95 @@ func (c *Glue) DeleteTriggerWithContext(ctx aws.Context, input *DeleteTriggerInp return out, req.Send() } +const opDeleteUsageProfile = "DeleteUsageProfile" + +// DeleteUsageProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUsageProfile 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 DeleteUsageProfile for more information on using the DeleteUsageProfile +// 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 DeleteUsageProfileRequest method. +// req, resp := client.DeleteUsageProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteUsageProfile +func (c *Glue) DeleteUsageProfileRequest(input *DeleteUsageProfileInput) (req *request.Request, output *DeleteUsageProfileOutput) { + op := &request.Operation{ + Name: opDeleteUsageProfile, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteUsageProfileInput{} + } + + output = &DeleteUsageProfileOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteUsageProfile API operation for AWS Glue. +// +// Deletes the Glue specified usage profile. +// +// Returns awserr.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 Glue's +// API operation DeleteUsageProfile for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// The input provided was not valid. +// +// - InternalServiceException +// An internal service error occurred. +// +// - OperationTimeoutException +// The operation timed out. +// +// - OperationNotSupportedException +// The operation is not available in the region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteUsageProfile +func (c *Glue) DeleteUsageProfile(input *DeleteUsageProfileInput) (*DeleteUsageProfileOutput, error) { + req, out := c.DeleteUsageProfileRequest(input) + return out, req.Send() +} + +// DeleteUsageProfileWithContext is the same as DeleteUsageProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUsageProfile 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 *Glue) DeleteUsageProfileWithContext(ctx aws.Context, input *DeleteUsageProfileInput, opts ...request.Option) (*DeleteUsageProfileOutput, error) { + req, out := c.DeleteUsageProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteUserDefinedFunction = "DeleteUserDefinedFunction" // DeleteUserDefinedFunctionRequest generates a "aws/request.Request" representing the @@ -9419,7 +9602,8 @@ func (c *Glue) GetJobRunRequest(input *GetJobRunInput) (req *request.Request, ou // GetJobRun API operation for AWS Glue. // -// Retrieves the metadata for a given job run. +// Retrieves the metadata for a given job run. Job run history is accessible +// for 90 days for your workflow and job run. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -13196,6 +13380,97 @@ func (c *Glue) GetUnfilteredTableMetadataWithContext(ctx aws.Context, input *Get return out, req.Send() } +const opGetUsageProfile = "GetUsageProfile" + +// GetUsageProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetUsageProfile 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 GetUsageProfile for more information on using the GetUsageProfile +// 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 GetUsageProfileRequest method. +// req, resp := client.GetUsageProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUsageProfile +func (c *Glue) GetUsageProfileRequest(input *GetUsageProfileInput) (req *request.Request, output *GetUsageProfileOutput) { + op := &request.Operation{ + Name: opGetUsageProfile, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetUsageProfileInput{} + } + + output = &GetUsageProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUsageProfile API operation for AWS Glue. +// +// Retrieves information about the specified Glue usage profile. +// +// Returns awserr.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 Glue's +// API operation GetUsageProfile for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// The input provided was not valid. +// +// - InternalServiceException +// An internal service error occurred. +// +// - EntityNotFoundException +// A specified entity does not exist +// +// - OperationTimeoutException +// The operation timed out. +// +// - OperationNotSupportedException +// The operation is not available in the region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetUsageProfile +func (c *Glue) GetUsageProfile(input *GetUsageProfileInput) (*GetUsageProfileOutput, error) { + req, out := c.GetUsageProfileRequest(input) + return out, req.Send() +} + +// GetUsageProfileWithContext is the same as GetUsageProfile with the addition of +// the ability to pass a context and additional request options. +// +// See GetUsageProfile 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 *Glue) GetUsageProfileWithContext(ctx aws.Context, input *GetUsageProfileInput, opts ...request.Option) (*GetUsageProfileOutput, error) { + req, out := c.GetUsageProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetUserDefinedFunction = "GetUserDefinedFunction" // GetUserDefinedFunctionRequest generates a "aws/request.Request" representing the @@ -13566,7 +13841,8 @@ func (c *Glue) GetWorkflowRunRequest(input *GetWorkflowRunInput) (req *request.R // GetWorkflowRun API operation for AWS Glue. // -// Retrieves the metadata for a given workflow run. +// Retrieves the metadata for a given workflow run. Job run history is accessible +// for 90 days for your workflow and job run. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -16584,6 +16860,151 @@ func (c *Glue) ListTriggersPagesWithContext(ctx aws.Context, input *ListTriggers return p.Err() } +const opListUsageProfiles = "ListUsageProfiles" + +// ListUsageProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListUsageProfiles 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 ListUsageProfiles for more information on using the ListUsageProfiles +// 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 ListUsageProfilesRequest method. +// req, resp := client.ListUsageProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListUsageProfiles +func (c *Glue) ListUsageProfilesRequest(input *ListUsageProfilesInput) (req *request.Request, output *ListUsageProfilesOutput) { + op := &request.Operation{ + Name: opListUsageProfiles, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListUsageProfilesInput{} + } + + output = &ListUsageProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsageProfiles API operation for AWS Glue. +// +// List all the Glue usage profiles. +// +// Returns awserr.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 Glue's +// API operation ListUsageProfiles for usage and error information. +// +// Returned Error Types: +// +// - InternalServiceException +// An internal service error occurred. +// +// - OperationTimeoutException +// The operation timed out. +// +// - InvalidInputException +// The input provided was not valid. +// +// - OperationNotSupportedException +// The operation is not available in the region. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/ListUsageProfiles +func (c *Glue) ListUsageProfiles(input *ListUsageProfilesInput) (*ListUsageProfilesOutput, error) { + req, out := c.ListUsageProfilesRequest(input) + return out, req.Send() +} + +// ListUsageProfilesWithContext is the same as ListUsageProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsageProfiles 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 *Glue) ListUsageProfilesWithContext(ctx aws.Context, input *ListUsageProfilesInput, opts ...request.Option) (*ListUsageProfilesOutput, error) { + req, out := c.ListUsageProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListUsageProfilesPages iterates over the pages of a ListUsageProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUsageProfiles 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 ListUsageProfiles operation. +// pageNum := 0 +// err := client.ListUsageProfilesPages(params, +// func(page *glue.ListUsageProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *Glue) ListUsageProfilesPages(input *ListUsageProfilesInput, fn func(*ListUsageProfilesOutput, bool) bool) error { + return c.ListUsageProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUsageProfilesPagesWithContext same as ListUsageProfilesPages 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 *Glue) ListUsageProfilesPagesWithContext(ctx aws.Context, input *ListUsageProfilesInput, fn func(*ListUsageProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUsageProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUsageProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListUsageProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListWorkflows = "ListWorkflows" // ListWorkflowsRequest generates a "aws/request.Request" representing the @@ -21692,6 +22113,100 @@ func (c *Glue) UpdateTriggerWithContext(ctx aws.Context, input *UpdateTriggerInp return out, req.Send() } +const opUpdateUsageProfile = "UpdateUsageProfile" + +// UpdateUsageProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUsageProfile 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 UpdateUsageProfile for more information on using the UpdateUsageProfile +// 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 UpdateUsageProfileRequest method. +// req, resp := client.UpdateUsageProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUsageProfile +func (c *Glue) UpdateUsageProfileRequest(input *UpdateUsageProfileInput) (req *request.Request, output *UpdateUsageProfileOutput) { + op := &request.Operation{ + Name: opUpdateUsageProfile, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateUsageProfileInput{} + } + + output = &UpdateUsageProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUsageProfile API operation for AWS Glue. +// +// Update an Glue usage profile. +// +// Returns awserr.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 Glue's +// API operation UpdateUsageProfile for usage and error information. +// +// Returned Error Types: +// +// - InvalidInputException +// The input provided was not valid. +// +// - InternalServiceException +// An internal service error occurred. +// +// - EntityNotFoundException +// A specified entity does not exist +// +// - OperationTimeoutException +// The operation timed out. +// +// - OperationNotSupportedException +// The operation is not available in the region. +// +// - ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateUsageProfile +func (c *Glue) UpdateUsageProfile(input *UpdateUsageProfileInput) (*UpdateUsageProfileOutput, error) { + req, out := c.UpdateUsageProfileRequest(input) + return out, req.Send() +} + +// UpdateUsageProfileWithContext is the same as UpdateUsageProfile with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUsageProfile 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 *Glue) UpdateUsageProfileWithContext(ctx aws.Context, input *UpdateUsageProfileInput, opts ...request.Option) (*UpdateUsageProfileOutput, error) { + req, out := c.UpdateUsageProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateUserDefinedFunction = "UpdateUserDefinedFunction" // UpdateUserDefinedFunctionRequest generates a "aws/request.Request" representing the @@ -29781,6 +30296,85 @@ func (s *ConditionCheckFailureException) RequestID() string { return s.RespMetadata.RequestID } +// Specifies the values that an admin sets for each job or session parameter +// configured in a Glue usage profile. +type ConfigurationObject struct { + _ struct{} `type:"structure"` + + // A list of allowed values for the parameter. + AllowedValues []*string `type:"list"` + + // A default value for the parameter. + DefaultValue *string `min:"1" type:"string"` + + // A maximum allowed value for the parameter. + MaxValue *string `min:"1" type:"string"` + + // A minimum allowed value for the parameter. + MinValue *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 ConfigurationObject) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfigurationObject) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfigurationObject) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfigurationObject"} + if s.DefaultValue != nil && len(*s.DefaultValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DefaultValue", 1)) + } + if s.MaxValue != nil && len(*s.MaxValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MaxValue", 1)) + } + if s.MinValue != nil && len(*s.MinValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MinValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedValues sets the AllowedValues field's value. +func (s *ConfigurationObject) SetAllowedValues(v []*string) *ConfigurationObject { + s.AllowedValues = v + return s +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *ConfigurationObject) SetDefaultValue(v string) *ConfigurationObject { + s.DefaultValue = &v + return s +} + +// SetMaxValue sets the MaxValue field's value. +func (s *ConfigurationObject) SetMaxValue(v string) *ConfigurationObject { + s.MaxValue = &v + return s +} + +// SetMinValue sets the MinValue field's value. +func (s *ConfigurationObject) SetMinValue(v string) *ConfigurationObject { + s.MinValue = &v + return s +} + // The CreatePartitions API was called on a table that has indexes enabled. type ConflictException struct { _ struct{} `type:"structure"` @@ -35742,6 +36336,124 @@ func (s *CreateTriggerOutput) SetName(v string) *CreateTriggerOutput { return s } +type CreateUsageProfileInput struct { + _ struct{} `type:"structure"` + + // A ProfileConfiguration object specifying the job and session values for the + // profile. + // + // Configuration is a required field + Configuration *ProfileConfiguration `type:"structure" required:"true"` + + // A description of the usage profile. + Description *string `type:"string"` + + // The name of the usage profile. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A list of tags applied to the usage profile. + Tags map[string]*string `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 CreateUsageProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateUsageProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUsageProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUsageProfileInput"} + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + 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.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateUsageProfileInput) SetConfiguration(v *ProfileConfiguration) *CreateUsageProfileInput { + s.Configuration = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateUsageProfileInput) SetDescription(v string) *CreateUsageProfileInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateUsageProfileInput) SetName(v string) *CreateUsageProfileInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateUsageProfileInput) SetTags(v map[string]*string) *CreateUsageProfileInput { + s.Tags = v + return s +} + +type CreateUsageProfileOutput struct { + _ struct{} `type:"structure"` + + // The name of the usage profile that was created. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateUsageProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateUsageProfileOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *CreateUsageProfileOutput) SetName(v string) *CreateUsageProfileOutput { + s.Name = &v + return s +} + type CreateUserDefinedFunctionInput struct { _ struct{} `type:"structure"` @@ -40571,6 +41283,77 @@ func (s *DeleteTriggerOutput) SetName(v string) *DeleteTriggerOutput { return s } +type DeleteUsageProfileInput struct { + _ struct{} `type:"structure"` + + // The name of the usage profile to delete. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteUsageProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteUsageProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUsageProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUsageProfileInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DeleteUsageProfileInput) SetName(v string) *DeleteUsageProfileInput { + s.Name = &v + return s +} + +type DeleteUsageProfileOutput 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 DeleteUsageProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteUsageProfileOutput) GoString() string { + return s.String() +} + type DeleteUserDefinedFunctionInput struct { _ struct{} `type:"structure"` @@ -51953,6 +52736,123 @@ func (s *GetUnfilteredTableMetadataOutput) SetTable(v *TableData) *GetUnfiltered return s } +type GetUsageProfileInput struct { + _ struct{} `type:"structure"` + + // The name of the usage profile to retrieve. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetUsageProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetUsageProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUsageProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUsageProfileInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *GetUsageProfileInput) SetName(v string) *GetUsageProfileInput { + s.Name = &v + return s +} + +type GetUsageProfileOutput struct { + _ struct{} `type:"structure"` + + // A ProfileConfiguration object specifying the job and session values for the + // profile. + Configuration *ProfileConfiguration `type:"structure"` + + // The date and time when the usage profile was created. + CreatedOn *time.Time `type:"timestamp"` + + // A description of the usage profile. + Description *string `type:"string"` + + // The date and time when the usage profile was last modified. + LastModifiedOn *time.Time `type:"timestamp"` + + // The name of the usage profile. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetUsageProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetUsageProfileOutput) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *GetUsageProfileOutput) SetConfiguration(v *ProfileConfiguration) *GetUsageProfileOutput { + s.Configuration = v + return s +} + +// SetCreatedOn sets the CreatedOn field's value. +func (s *GetUsageProfileOutput) SetCreatedOn(v time.Time) *GetUsageProfileOutput { + s.CreatedOn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetUsageProfileOutput) SetDescription(v string) *GetUsageProfileOutput { + s.Description = &v + return s +} + +// SetLastModifiedOn sets the LastModifiedOn field's value. +func (s *GetUsageProfileOutput) SetLastModifiedOn(v time.Time) *GetUsageProfileOutput { + s.LastModifiedOn = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetUsageProfileOutput) SetName(v string) *GetUsageProfileOutput { + s.Name = &v + return s +} + type GetUserDefinedFunctionInput struct { _ struct{} `type:"structure"` @@ -54457,6 +55357,9 @@ type Job struct { // runs. NumberOfWorkers *int64 `type:"integer"` + // The name of an Glue usage profile associated with the job. + ProfileName *string `min:"1" type:"string"` + // The name or Amazon Resource Name (ARN) of the IAM role associated with this // job. Role *string `type:"string"` @@ -54662,6 +55565,12 @@ func (s *Job) SetNumberOfWorkers(v int64) *Job { return s } +// SetProfileName sets the ProfileName field's value. +func (s *Job) SetProfileName(v string) *Job { + s.ProfileName = &v + return s +} + // SetRole sets the Role field's value. func (s *Job) SetRole(v string) *Job { s.Role = &v @@ -55083,6 +55992,9 @@ type JobRun struct { // in the StartJobRun action. PreviousRunId *string `min:"1" type:"string"` + // The name of an Glue usage profile associated with the job run. + ProfileName *string `min:"1" type:"string"` + // The name of the SecurityConfiguration structure to be used with this job // run. SecurityConfiguration *string `min:"1" type:"string"` @@ -55293,6 +56205,12 @@ func (s *JobRun) SetPreviousRunId(v string) *JobRun { return s } +// SetProfileName sets the ProfileName field's value. +func (s *JobRun) SetProfileName(v string) *JobRun { + s.ProfileName = &v + return s +} + // SetSecurityConfiguration sets the SecurityConfiguration field's value. func (s *JobRun) SetSecurityConfiguration(v string) *JobRun { s.SecurityConfiguration = &v @@ -58916,6 +59834,99 @@ func (s *ListTriggersOutput) SetTriggerNames(v []*string) *ListTriggersOutput { return s } +type ListUsageProfilesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of usage profiles to return in a single response. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, included if this is a continuation call. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUsageProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUsageProfilesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUsageProfilesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsageProfilesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUsageProfilesInput) SetMaxResults(v int64) *ListUsageProfilesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsageProfilesInput) SetNextToken(v string) *ListUsageProfilesInput { + s.NextToken = &v + return s +} + +type ListUsageProfilesOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, present if the current list segment is not the last. + NextToken *string `type:"string"` + + // A list of usage profile (UsageProfileDefinition) objects. + Profiles []*UsageProfileDefinition `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 ListUsageProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListUsageProfilesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsageProfilesOutput) SetNextToken(v string) *ListUsageProfilesOutput { + s.NextToken = &v + return s +} + +// SetProfiles sets the Profiles field's value. +func (s *ListUsageProfilesOutput) SetProfiles(v []*UsageProfileDefinition) *ListUsageProfilesOutput { + s.Profiles = v + return s +} + type ListWorkflowsInput struct { _ struct{} `type:"structure"` @@ -60931,6 +61942,71 @@ func (s *OpenTableFormatInput_) SetIcebergInput(v *IcebergInput_) *OpenTableForm return s } +// The operation is not available in the region. +type OperationNotSupportedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OperationNotSupportedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OperationNotSupportedException) GoString() string { + return s.String() +} + +func newErrorOperationNotSupportedException(v protocol.ResponseMetadata) error { + return &OperationNotSupportedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *OperationNotSupportedException) Code() string { + return "OperationNotSupportedException" +} + +// Message returns the exception's message. +func (s *OperationNotSupportedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *OperationNotSupportedException) OrigErr() error { + return nil +} + +func (s *OperationNotSupportedException) 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 *OperationNotSupportedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *OperationNotSupportedException) RequestID() string { + return s.RespMetadata.RequestID +} + // The operation timed out. type OperationTimeoutException struct { _ struct{} `type:"structure"` @@ -62341,6 +63417,78 @@ func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPerm return s } +// Specifies the job and session values that an admin configures in an Glue +// usage profile. +type ProfileConfiguration struct { + _ struct{} `type:"structure"` + + // A key-value map of configuration parameters for Glue jobs. + JobConfiguration map[string]*ConfigurationObject `type:"map"` + + // A key-value map of configuration parameters for Glue sessions. + SessionConfiguration map[string]*ConfigurationObject `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 ProfileConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProfileConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProfileConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProfileConfiguration"} + if s.JobConfiguration != nil { + for i, v := range s.JobConfiguration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "JobConfiguration", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SessionConfiguration != nil { + for i, v := range s.SessionConfiguration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "SessionConfiguration", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobConfiguration sets the JobConfiguration field's value. +func (s *ProfileConfiguration) SetJobConfiguration(v map[string]*ConfigurationObject) *ProfileConfiguration { + s.JobConfiguration = v + return s +} + +// SetSessionConfiguration sets the SessionConfiguration field's value. +func (s *ProfileConfiguration) SetSessionConfiguration(v map[string]*ConfigurationObject) *ProfileConfiguration { + s.SessionConfiguration = v + return s +} + // Defines a property predicate. type PropertyPredicate struct { _ struct{} `type:"structure"` @@ -68202,6 +69350,9 @@ type Session struct { // The number of workers of a defined WorkerType to use for the session. NumberOfWorkers *int64 `type:"integer"` + // The name of an Glue usage profile associated with the session. + ProfileName *string `min:"1" type:"string"` + // The code execution progress of the session. Progress *float64 `type:"double"` @@ -68323,6 +69474,12 @@ func (s *Session) SetNumberOfWorkers(v int64) *Session { return s } +// SetProfileName sets the ProfileName field's value. +func (s *Session) SetProfileName(v string) *Session { + s.ProfileName = &v + return s +} + // SetProgress sets the Progress field's value. func (s *Session) SetProgress(v float64) *Session { s.Progress = &v @@ -77585,6 +78742,115 @@ func (s *UpdateTriggerOutput) SetTrigger(v *Trigger) *UpdateTriggerOutput { return s } +type UpdateUsageProfileInput struct { + _ struct{} `type:"structure"` + + // A ProfileConfiguration object specifying the job and session values for the + // profile. + // + // Configuration is a required field + Configuration *ProfileConfiguration `type:"structure" required:"true"` + + // A description of the usage profile. + Description *string `type:"string"` + + // The name of the usage profile. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUsageProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUsageProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUsageProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUsageProfileInput"} + if s.Configuration == nil { + invalidParams.Add(request.NewErrParamRequired("Configuration")) + } + 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.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *UpdateUsageProfileInput) SetConfiguration(v *ProfileConfiguration) *UpdateUsageProfileInput { + s.Configuration = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateUsageProfileInput) SetDescription(v string) *UpdateUsageProfileInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateUsageProfileInput) SetName(v string) *UpdateUsageProfileInput { + s.Name = &v + return s +} + +type UpdateUsageProfileOutput struct { + _ struct{} `type:"structure"` + + // The name of the usage profile that was updated. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUsageProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateUsageProfileOutput) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *UpdateUsageProfileOutput) SetName(v string) *UpdateUsageProfileOutput { + s.Name = &v + return s +} + type UpdateUserDefinedFunctionInput struct { _ struct{} `type:"structure"` @@ -77937,6 +79203,65 @@ func (s *UpsertRedshiftTargetOptions) SetUpsertKeys(v []*string) *UpsertRedshift return s } +// Describes an Glue usage profile. +type UsageProfileDefinition struct { + _ struct{} `type:"structure"` + + // The date and time when the usage profile was created. + CreatedOn *time.Time `type:"timestamp"` + + // A description of the usage profile. + Description *string `type:"string"` + + // The date and time when the usage profile was last modified. + LastModifiedOn *time.Time `type:"timestamp"` + + // The name of the usage profile. + Name *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UsageProfileDefinition) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UsageProfileDefinition) GoString() string { + return s.String() +} + +// SetCreatedOn sets the CreatedOn field's value. +func (s *UsageProfileDefinition) SetCreatedOn(v time.Time) *UsageProfileDefinition { + s.CreatedOn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UsageProfileDefinition) SetDescription(v string) *UsageProfileDefinition { + s.Description = &v + return s +} + +// SetLastModifiedOn sets the LastModifiedOn field's value. +func (s *UsageProfileDefinition) SetLastModifiedOn(v time.Time) *UsageProfileDefinition { + s.LastModifiedOn = &v + return s +} + +// SetName sets the Name field's value. +func (s *UsageProfileDefinition) SetName(v string) *UsageProfileDefinition { + s.Name = &v + return s +} + // Represents the equivalent of a Hive user-defined function (UDF) definition. type UserDefinedFunction struct { _ struct{} `type:"structure"` diff --git a/service/glue/errors.go b/service/glue/errors.go index fd39cc89ad6..be65bbab41d 100644 --- a/service/glue/errors.go +++ b/service/glue/errors.go @@ -166,6 +166,12 @@ const ( // There is no applicable schedule. ErrCodeNoScheduleException = "NoScheduleException" + // ErrCodeOperationNotSupportedException for service response error code + // "OperationNotSupportedException". + // + // The operation is not available in the region. + ErrCodeOperationNotSupportedException = "OperationNotSupportedException" + // ErrCodeOperationTimeoutException for service response error code // "OperationTimeoutException". // @@ -248,6 +254,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidStateException": newErrorInvalidStateException, "MLTransformNotReadyException": newErrorMLTransformNotReadyException, "NoScheduleException": newErrorNoScheduleException, + "OperationNotSupportedException": newErrorOperationNotSupportedException, "OperationTimeoutException": newErrorOperationTimeoutException, "PermissionTypeMismatchException": newErrorPermissionTypeMismatchException, "ResourceNotReadyException": newErrorResourceNotReadyException, diff --git a/service/glue/glueiface/interface.go b/service/glue/glueiface/interface.go index 8f83920dda6..809aa977e3a 100644 --- a/service/glue/glueiface/interface.go +++ b/service/glue/glueiface/interface.go @@ -228,6 +228,10 @@ type GlueAPI interface { CreateTriggerWithContext(aws.Context, *glue.CreateTriggerInput, ...request.Option) (*glue.CreateTriggerOutput, error) CreateTriggerRequest(*glue.CreateTriggerInput) (*request.Request, *glue.CreateTriggerOutput) + CreateUsageProfile(*glue.CreateUsageProfileInput) (*glue.CreateUsageProfileOutput, error) + CreateUsageProfileWithContext(aws.Context, *glue.CreateUsageProfileInput, ...request.Option) (*glue.CreateUsageProfileOutput, error) + CreateUsageProfileRequest(*glue.CreateUsageProfileInput) (*request.Request, *glue.CreateUsageProfileOutput) + CreateUserDefinedFunction(*glue.CreateUserDefinedFunctionInput) (*glue.CreateUserDefinedFunctionOutput, error) CreateUserDefinedFunctionWithContext(aws.Context, *glue.CreateUserDefinedFunctionInput, ...request.Option) (*glue.CreateUserDefinedFunctionOutput, error) CreateUserDefinedFunctionRequest(*glue.CreateUserDefinedFunctionInput) (*request.Request, *glue.CreateUserDefinedFunctionOutput) @@ -332,6 +336,10 @@ type GlueAPI interface { DeleteTriggerWithContext(aws.Context, *glue.DeleteTriggerInput, ...request.Option) (*glue.DeleteTriggerOutput, error) DeleteTriggerRequest(*glue.DeleteTriggerInput) (*request.Request, *glue.DeleteTriggerOutput) + DeleteUsageProfile(*glue.DeleteUsageProfileInput) (*glue.DeleteUsageProfileOutput, error) + DeleteUsageProfileWithContext(aws.Context, *glue.DeleteUsageProfileInput, ...request.Option) (*glue.DeleteUsageProfileOutput, error) + DeleteUsageProfileRequest(*glue.DeleteUsageProfileInput) (*request.Request, *glue.DeleteUsageProfileOutput) + DeleteUserDefinedFunction(*glue.DeleteUserDefinedFunctionInput) (*glue.DeleteUserDefinedFunctionOutput, error) DeleteUserDefinedFunctionWithContext(aws.Context, *glue.DeleteUserDefinedFunctionInput, ...request.Option) (*glue.DeleteUserDefinedFunctionOutput, error) DeleteUserDefinedFunctionRequest(*glue.DeleteUserDefinedFunctionInput) (*request.Request, *glue.DeleteUserDefinedFunctionOutput) @@ -648,6 +656,10 @@ type GlueAPI interface { GetUnfilteredTableMetadataWithContext(aws.Context, *glue.GetUnfilteredTableMetadataInput, ...request.Option) (*glue.GetUnfilteredTableMetadataOutput, error) GetUnfilteredTableMetadataRequest(*glue.GetUnfilteredTableMetadataInput) (*request.Request, *glue.GetUnfilteredTableMetadataOutput) + GetUsageProfile(*glue.GetUsageProfileInput) (*glue.GetUsageProfileOutput, error) + GetUsageProfileWithContext(aws.Context, *glue.GetUsageProfileInput, ...request.Option) (*glue.GetUsageProfileOutput, error) + GetUsageProfileRequest(*glue.GetUsageProfileInput) (*request.Request, *glue.GetUsageProfileOutput) + GetUserDefinedFunction(*glue.GetUserDefinedFunctionInput) (*glue.GetUserDefinedFunctionOutput, error) GetUserDefinedFunctionWithContext(aws.Context, *glue.GetUserDefinedFunctionInput, ...request.Option) (*glue.GetUserDefinedFunctionOutput, error) GetUserDefinedFunctionRequest(*glue.GetUserDefinedFunctionInput) (*request.Request, *glue.GetUserDefinedFunctionOutput) @@ -809,6 +821,13 @@ type GlueAPI interface { ListTriggersPages(*glue.ListTriggersInput, func(*glue.ListTriggersOutput, bool) bool) error ListTriggersPagesWithContext(aws.Context, *glue.ListTriggersInput, func(*glue.ListTriggersOutput, bool) bool, ...request.Option) error + ListUsageProfiles(*glue.ListUsageProfilesInput) (*glue.ListUsageProfilesOutput, error) + ListUsageProfilesWithContext(aws.Context, *glue.ListUsageProfilesInput, ...request.Option) (*glue.ListUsageProfilesOutput, error) + ListUsageProfilesRequest(*glue.ListUsageProfilesInput) (*request.Request, *glue.ListUsageProfilesOutput) + + ListUsageProfilesPages(*glue.ListUsageProfilesInput, func(*glue.ListUsageProfilesOutput, bool) bool) error + ListUsageProfilesPagesWithContext(aws.Context, *glue.ListUsageProfilesInput, func(*glue.ListUsageProfilesOutput, bool) bool, ...request.Option) error + ListWorkflows(*glue.ListWorkflowsInput) (*glue.ListWorkflowsOutput, error) ListWorkflowsWithContext(aws.Context, *glue.ListWorkflowsInput, ...request.Option) (*glue.ListWorkflowsOutput, error) ListWorkflowsRequest(*glue.ListWorkflowsInput) (*request.Request, *glue.ListWorkflowsOutput) @@ -1027,6 +1046,10 @@ type GlueAPI interface { UpdateTriggerWithContext(aws.Context, *glue.UpdateTriggerInput, ...request.Option) (*glue.UpdateTriggerOutput, error) UpdateTriggerRequest(*glue.UpdateTriggerInput) (*request.Request, *glue.UpdateTriggerOutput) + UpdateUsageProfile(*glue.UpdateUsageProfileInput) (*glue.UpdateUsageProfileOutput, error) + UpdateUsageProfileWithContext(aws.Context, *glue.UpdateUsageProfileInput, ...request.Option) (*glue.UpdateUsageProfileOutput, error) + UpdateUsageProfileRequest(*glue.UpdateUsageProfileInput) (*request.Request, *glue.UpdateUsageProfileOutput) + UpdateUserDefinedFunction(*glue.UpdateUserDefinedFunctionInput) (*glue.UpdateUserDefinedFunctionOutput, error) UpdateUserDefinedFunctionWithContext(aws.Context, *glue.UpdateUserDefinedFunctionInput, ...request.Option) (*glue.UpdateUserDefinedFunctionOutput, error) UpdateUserDefinedFunctionRequest(*glue.UpdateUserDefinedFunctionInput) (*request.Request, *glue.UpdateUserDefinedFunctionOutput) diff --git a/service/kms/examples_test.go b/service/kms/examples_test.go index 444ed032fea..f9d3edf9203 100644 --- a/service/kms/examples_test.go +++ b/service/kms/examples_test.go @@ -1106,7 +1106,7 @@ func ExampleKMS_DeriveSharedSecret_shared00() { input := &kms.DeriveSharedSecretInput{ KeyAgreementAlgorithm: aws.String("ECDH"), KeyId: aws.String("1234abcd-12ab-34cd-56ef-1234567890ab"), - PublicKey: []byte("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag+iSK341kr2kFTpINN7T1ZaX9vfXBdGR+VtkRKMWoHQeWzHrPZ+3irvpXNCKxGUxmPNsJSjPUhuSXT5+0VrY/LEYLQ5lUTrhU6z5/OK0kzaCc66DXc5ipSloS4Xyg+QcYSMxe9xuqO5HtzFImUSKBm1W6eDT6lHnSbpi7vXzNbIX7pWxKw9nmQvQIDAQAB"), + PublicKey: []byte("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvH3Yj0wbkLEpUl95Cv1cJVjsVNSjwGq3tCLnzXfhVwVvmzGN8pYj3U8nKwgouaHbBWNJYjP5VutbbkKS4Kv4GojwZBJyHN17kmxo8yTjRmjR15SKIQ8cqRA2uaERMLnpztIXdZp232PQPbWGxDyXYJ0aJ5EFSag"), } result, err := svc.DeriveSharedSecret(input) diff --git a/service/mediaconvert/api.go b/service/mediaconvert/api.go index 43abc43545b..d00ad05c363 100644 --- a/service/mediaconvert/api.go +++ b/service/mediaconvert/api.go @@ -6906,6 +6906,17 @@ type CmafGroupSettings struct { // generation. CodecSpecification *string `locationName:"codecSpecification" type:"string" enum:"CmafCodecSpecification"` + // Specify whether MediaConvert generates I-frame only video segments for DASH + // trick play, also known as trick mode. When specified, the I-frame only video + // segments are included within an additional AdaptationSet in your DASH output + // manifest. To generate I-frame only video segments: Enter a name as a text + // string, up to 256 character long. This name is appended to the end of this + // output group's base filename, that you specify as part of your destination + // URI, and used for the I-frame only video segment files. You may also include + // format identifiers. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html#using-settings-variables-with-streaming-outputs + // To not generate I-frame only video segments: Leave blank. + DashIFrameTrickPlayNameModifier *string `locationName:"dashIFrameTrickPlayNameModifier" min:"1" type:"string"` + // Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. // To write a SegmentTimeline in each video Representation: Keep the default // value, Basic. To write a common SegmentTimeline in the video AdaptationSet: @@ -7074,6 +7085,9 @@ func (s CmafGroupSettings) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CmafGroupSettings) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CmafGroupSettings"} + if s.DashIFrameTrickPlayNameModifier != nil && len(*s.DashIFrameTrickPlayNameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashIFrameTrickPlayNameModifier", 1)) + } if s.FragmentLength != nil && *s.FragmentLength < 1 { invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) } @@ -7131,6 +7145,12 @@ func (s *CmafGroupSettings) SetCodecSpecification(v string) *CmafGroupSettings { return s } +// SetDashIFrameTrickPlayNameModifier sets the DashIFrameTrickPlayNameModifier field's value. +func (s *CmafGroupSettings) SetDashIFrameTrickPlayNameModifier(v string) *CmafGroupSettings { + s.DashIFrameTrickPlayNameModifier = &v + return s +} + // SetDashManifestStyle sets the DashManifestStyle field's value. func (s *CmafGroupSettings) SetDashManifestStyle(v string) *CmafGroupSettings { s.DashManifestStyle = &v @@ -8985,6 +9005,17 @@ type DashIsoGroupSettings struct { // URL than the manifest file. BaseUrl *string `locationName:"baseUrl" type:"string"` + // Specify whether MediaConvert generates I-frame only video segments for DASH + // trick play, also known as trick mode. When specified, the I-frame only video + // segments are included within an additional AdaptationSet in your DASH output + // manifest. To generate I-frame only video segments: Enter a name as a text + // string, up to 256 character long. This name is appended to the end of this + // output group's base filename, that you specify as part of your destination + // URI, and used for the I-frame only video segment files. You may also include + // format identifiers. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html#using-settings-variables-with-streaming-outputs + // To not generate I-frame only video segments: Leave blank. + DashIFrameTrickPlayNameModifier *string `locationName:"dashIFrameTrickPlayNameModifier" min:"1" type:"string"` + // Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. // To write a SegmentTimeline in each video Representation: Keep the default // value, Basic. To write a common SegmentTimeline in the video AdaptationSet: @@ -9134,6 +9165,9 @@ func (s DashIsoGroupSettings) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DashIsoGroupSettings) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DashIsoGroupSettings"} + if s.DashIFrameTrickPlayNameModifier != nil && len(*s.DashIFrameTrickPlayNameModifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DashIFrameTrickPlayNameModifier", 1)) + } if s.FragmentLength != nil && *s.FragmentLength < 1 { invalidParams.Add(request.NewErrParamMinValue("FragmentLength", 1)) } @@ -9180,6 +9214,12 @@ func (s *DashIsoGroupSettings) SetBaseUrl(v string) *DashIsoGroupSettings { return s } +// SetDashIFrameTrickPlayNameModifier sets the DashIFrameTrickPlayNameModifier field's value. +func (s *DashIsoGroupSettings) SetDashIFrameTrickPlayNameModifier(v string) *DashIsoGroupSettings { + s.DashIFrameTrickPlayNameModifier = &v + return s +} + // SetDashManifestStyle sets the DashManifestStyle field's value. func (s *DashIsoGroupSettings) SetDashManifestStyle(v string) *DashIsoGroupSettings { s.DashManifestStyle = &v @@ -16432,10 +16472,30 @@ func (s *InputTemplate) SetVideoSelector(v *VideoSelector) *InputTemplate { type InputVideoGenerator struct { _ struct{} `type:"structure"` - // Specify an integer value for Black video duration from 50 to 86400000 to - // generate a black video input for that many milliseconds. Required when you - // include Video generator. + // Specify the number of audio channels to include in your video generator input. + // MediaConvert creates these audio channels as silent audio within a single + // audio track. Enter an integer from 1 to 32. + Channels *int64 `locationName:"channels" min:"1" type:"integer"` + + // Specify the duration, in milliseconds, for your video generator input.Enter + // an integer from 50 to 86400000. Duration *int64 `locationName:"duration" min:"50" type:"integer"` + + // Specify the denominator of the fraction that represents the frame rate for + // your video generator input. When you do, you must also specify a value for + // Frame rate numerator. MediaConvert uses a default frame rate of 29.97 when + // you leave Frame rate numerator and Frame rate denominator blank. + FramerateDenominator *int64 `locationName:"framerateDenominator" min:"1" type:"integer"` + + // Specify the numerator of the fraction that represents the frame rate for + // your video generator input. When you do, you must also specify a value for + // Frame rate denominator. MediaConvert uses a default frame rate of 29.97 when + // you leave Frame rate numerator and Frame rate denominator blank. + FramerateNumerator *int64 `locationName:"framerateNumerator" min:"1" type:"integer"` + + // Specify the audio sample rate, in Hz, for the silent audio in your video + // generator input.Enter an integer from 32000 to 48000. + SampleRate *int64 `locationName:"sampleRate" min:"32000" type:"integer"` } // String returns the string representation. @@ -16459,9 +16519,21 @@ func (s InputVideoGenerator) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *InputVideoGenerator) Validate() error { invalidParams := request.ErrInvalidParams{Context: "InputVideoGenerator"} + if s.Channels != nil && *s.Channels < 1 { + invalidParams.Add(request.NewErrParamMinValue("Channels", 1)) + } if s.Duration != nil && *s.Duration < 50 { invalidParams.Add(request.NewErrParamMinValue("Duration", 50)) } + if s.FramerateDenominator != nil && *s.FramerateDenominator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateDenominator", 1)) + } + if s.FramerateNumerator != nil && *s.FramerateNumerator < 1 { + invalidParams.Add(request.NewErrParamMinValue("FramerateNumerator", 1)) + } + if s.SampleRate != nil && *s.SampleRate < 32000 { + invalidParams.Add(request.NewErrParamMinValue("SampleRate", 32000)) + } if invalidParams.Len() > 0 { return invalidParams @@ -16469,12 +16541,36 @@ func (s *InputVideoGenerator) Validate() error { return nil } +// SetChannels sets the Channels field's value. +func (s *InputVideoGenerator) SetChannels(v int64) *InputVideoGenerator { + s.Channels = &v + return s +} + // SetDuration sets the Duration field's value. func (s *InputVideoGenerator) SetDuration(v int64) *InputVideoGenerator { s.Duration = &v return s } +// SetFramerateDenominator sets the FramerateDenominator field's value. +func (s *InputVideoGenerator) SetFramerateDenominator(v int64) *InputVideoGenerator { + s.FramerateDenominator = &v + return s +} + +// SetFramerateNumerator sets the FramerateNumerator field's value. +func (s *InputVideoGenerator) SetFramerateNumerator(v int64) *InputVideoGenerator { + s.FramerateNumerator = &v + return s +} + +// SetSampleRate sets the SampleRate field's value. +func (s *InputVideoGenerator) SetSampleRate(v int64) *InputVideoGenerator { + s.SampleRate = &v + return s +} + // These settings apply to a specific graphic overlay. You can include multiple // overlays in your job. type InsertableImage struct { diff --git a/service/secretsmanager/api.go b/service/secretsmanager/api.go index 0d59a266109..b744f45c770 100644 --- a/service/secretsmanager/api.go +++ b/service/secretsmanager/api.go @@ -401,7 +401,8 @@ func (c *SecretsManager) CreateSecretRequest(input *CreateSecretInput) (req *req // 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, +// the secret, you also need secretsmanager:TagResource. To add replica Regions, +// you must also have 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). // @@ -6648,7 +6649,7 @@ type RotateSecretInput struct { // // For secrets that use a Lambda rotation function to rotate, if you don't immediately // rotate the secret, Secrets Manager tests the rotation configuration by running - // the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html) + // the testSecret step (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_lambda-functions.html#rotate-secrets_lambda-functions-code) // of the Lambda rotation function. The test creates an AWSPENDING version of // the secret and then removes it. //