From 0e4b7a753c6eb06d011d4b142378460428750bdf Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Mon, 29 Mar 2021 11:15:33 -0700 Subject: [PATCH] Release v1.38.8 (2021-03-29) (#3842) Release v1.38.8 (2021-03-29) === ### Service Client Updates * `service/docdb`: Updates service API, documentation, and paginators * This release adds support for Event Subscriptions to DocumentDB. * `service/glue`: Updates service API and documentation * Allow Dots in Registry and Schema Names for CreateRegistry, CreateSchema; Fixed issue when duplicate keys are present and not returned as part of QuerySchemaVersionMetadata. * `service/iam`: Updates service API * AWS Identity and Access Management GetAccessKeyLastUsed API will throw a custom error if customer public key is not found for access keys. * `service/location`: Updates service API and documentation * `service/wafv2`: Updates service API and documentation --- CHANGELOG.md | 13 + aws/endpoints/defaults.go | 132 +- aws/version.go | 2 +- models/apis/docdb/2014-10-31/api-2.json | 335 ++++ models/apis/docdb/2014-10-31/docs-2.json | 168 +- .../apis/docdb/2014-10-31/paginators-1.json | 6 + models/apis/glue/2017-03-31/api-2.json | 16 +- models/apis/glue/2017-03-31/docs-2.json | 24 +- models/apis/iam/2010-05-08/api-2.json | 5 +- models/apis/location/2020-11-19/api-2.json | 24 +- models/apis/location/2020-11-19/docs-2.json | 88 +- models/apis/wafv2/2019-07-29/api-2.json | 109 +- models/apis/wafv2/2019-07-29/docs-2.json | 93 +- models/endpoints/endpoints.json | 128 ++ service/docdb/api.go | 1488 ++++++++++++++++- service/docdb/docdbiface/interface.go | 31 +- service/docdb/errors.go | 56 + service/glue/api.go | 79 +- service/iam/api.go | 6 + service/locationservice/api.go | 389 ++++- service/wafv2/api.go | 739 +++++++- 21 files changed, 3634 insertions(+), 297 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36b3f560fbc..413d6cbad9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,16 @@ +Release v1.38.8 (2021-03-29) +=== + +### Service Client Updates +* `service/docdb`: Updates service API, documentation, and paginators + * This release adds support for Event Subscriptions to DocumentDB. +* `service/glue`: Updates service API and documentation + * Allow Dots in Registry and Schema Names for CreateRegistry, CreateSchema; Fixed issue when duplicate keys are present and not returned as part of QuerySchemaVersionMetadata. +* `service/iam`: Updates service API + * AWS Identity and Access Management GetAccessKeyLastUsed API will throw a custom error if customer public key is not found for access keys. +* `service/location`: Updates service API and documentation +* `service/wafv2`: Updates service API and documentation + Release v1.38.7 (2021-03-26) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index d138454cf47..11df2e641da 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -5425,6 +5425,90 @@ var awsPartition = partition{ DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ + "accesspoint-af-south-1": endpoint{ + Hostname: "s3-accesspoint.af-south-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-east-1": endpoint{ + Hostname: "s3-accesspoint.ap-east-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-northeast-1": endpoint{ + Hostname: "s3-accesspoint.ap-northeast-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-northeast-2": endpoint{ + Hostname: "s3-accesspoint.ap-northeast-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-northeast-3": endpoint{ + Hostname: "s3-accesspoint.ap-northeast-3.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-south-1": endpoint{ + Hostname: "s3-accesspoint.ap-south-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-southeast-1": endpoint{ + Hostname: "s3-accesspoint.ap-southeast-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ap-southeast-2": endpoint{ + Hostname: "s3-accesspoint.ap-southeast-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-ca-central-1": endpoint{ + Hostname: "s3-accesspoint.ca-central-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-eu-central-1": endpoint{ + Hostname: "s3-accesspoint.eu-central-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-eu-north-1": endpoint{ + Hostname: "s3-accesspoint.eu-north-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-eu-south-1": endpoint{ + Hostname: "s3-accesspoint.eu-south-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-eu-west-1": endpoint{ + Hostname: "s3-accesspoint.eu-west-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-eu-west-2": endpoint{ + Hostname: "s3-accesspoint.eu-west-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-eu-west-3": endpoint{ + Hostname: "s3-accesspoint.eu-west-3.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-me-south-1": endpoint{ + Hostname: "s3-accesspoint.me-south-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-sa-east-1": endpoint{ + Hostname: "s3-accesspoint.sa-east-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-us-east-1": endpoint{ + Hostname: "s3-accesspoint.us-east-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-us-east-2": endpoint{ + Hostname: "s3-accesspoint.us-east-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-us-west-1": endpoint{ + Hostname: "s3-accesspoint.us-west-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-us-west-2": endpoint{ + Hostname: "s3-accesspoint.us-west-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{ @@ -5457,8 +5541,28 @@ var awsPartition = partition{ Hostname: "s3.eu-west-1.amazonaws.com", SignatureVersions: []string{"s3", "s3v4"}, }, - "eu-west-2": endpoint{}, - "eu-west-3": endpoint{}, + "eu-west-2": endpoint{}, + "eu-west-3": endpoint{}, + "fips-accesspoint-ca-central-1": endpoint{ + Hostname: "s3-accesspoint-fips.ca-central-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "fips-accesspoint-us-east-1": endpoint{ + Hostname: "s3-accesspoint-fips.us-east-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "fips-accesspoint-us-east-2": endpoint{ + Hostname: "s3-accesspoint-fips.us-east-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "fips-accesspoint-us-west-1": endpoint{ + Hostname: "s3-accesspoint-fips.us-west-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "fips-accesspoint-us-west-2": endpoint{ + Hostname: "s3-accesspoint-fips.us-west-2.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, "me-south-1": endpoint{}, "s3-external-1": endpoint{ Hostname: "s3-external-1.amazonaws.com", @@ -7825,6 +7929,14 @@ var awscnPartition = partition{ DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ + "accesspoint-cn-north-1": endpoint{ + Hostname: "s3-accesspoint.cn-north-1.amazonaws.com.cn", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-cn-northwest-1": endpoint{ + Hostname: "s3-accesspoint.cn-northwest-1.amazonaws.com.cn", + SignatureVersions: []string{"s3v4"}, + }, "cn-north-1": endpoint{}, "cn-northwest-1": endpoint{}, }, @@ -9399,6 +9511,22 @@ var awsusgovPartition = partition{ DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}", }, Endpoints: endpoints{ + "accesspoint-us-gov-east-1": endpoint{ + Hostname: "s3-accesspoint.us-gov-east-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "accesspoint-us-gov-west-1": endpoint{ + Hostname: "s3-accesspoint.us-gov-west-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "fips-accesspoint-us-gov-east-1": endpoint{ + Hostname: "s3-accesspoint-fips.us-gov-east-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, + "fips-accesspoint-us-gov-west-1": endpoint{ + Hostname: "s3-accesspoint-fips.us-gov-west-1.amazonaws.com", + SignatureVersions: []string{"s3v4"}, + }, "fips-us-gov-west-1": endpoint{ Hostname: "s3-fips.us-gov-west-1.amazonaws.com", CredentialScope: credentialScope{ diff --git a/aws/version.go b/aws/version.go index 5b7ae3b1560..5aef660e176 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.38.7" +const SDKVersion = "1.38.8" diff --git a/models/apis/docdb/2014-10-31/api-2.json b/models/apis/docdb/2014-10-31/api-2.json index 17e94f3510c..30a6cf61ee9 100644 --- a/models/apis/docdb/2014-10-31/api-2.json +++ b/models/apis/docdb/2014-10-31/api-2.json @@ -13,6 +13,22 @@ "xmlNamespace":"http://rds.amazonaws.com/doc/2014-10-31/" }, "operations":{ + "AddSourceIdentifierToSubscription":{ + "name":"AddSourceIdentifierToSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AddSourceIdentifierToSubscriptionMessage"}, + "output":{ + "shape":"AddSourceIdentifierToSubscriptionResult", + "resultWrapper":"AddSourceIdentifierToSubscriptionResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"SourceNotFoundFault"} + ] + }, "AddTagsToResource":{ "name":"AddTagsToResource", "http":{ @@ -192,6 +208,27 @@ {"shape":"InvalidSubnet"} ] }, + "CreateEventSubscription":{ + "name":"CreateEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateEventSubscriptionMessage"}, + "output":{ + "shape":"CreateEventSubscriptionResult", + "resultWrapper":"CreateEventSubscriptionResult" + }, + "errors":[ + {"shape":"EventSubscriptionQuotaExceededFault"}, + {"shape":"SubscriptionAlreadyExistFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"SNSTopicArnNotFoundFault"}, + {"shape":"SubscriptionCategoryNotFoundFault"}, + {"shape":"SourceNotFoundFault"} + ] + }, "DeleteDBCluster":{ "name":"DeleteDBCluster", "http":{ @@ -271,6 +308,22 @@ {"shape":"DBSubnetGroupNotFoundFault"} ] }, + "DeleteEventSubscription":{ + "name":"DeleteEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteEventSubscriptionMessage"}, + "output":{ + "shape":"DeleteEventSubscriptionResult", + "resultWrapper":"DeleteEventSubscriptionResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"InvalidEventSubscriptionStateFault"} + ] + }, "DescribeCertificates":{ "name":"DescribeCertificates", "http":{ @@ -427,6 +480,21 @@ "resultWrapper":"DescribeEventCategoriesResult" } }, + "DescribeEventSubscriptions":{ + "name":"DescribeEventSubscriptions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventSubscriptionsMessage"}, + "output":{ + "shape":"EventSubscriptionsMessage", + "resultWrapper":"DescribeEventSubscriptionsResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"} + ] + }, "DescribeEvents":{ "name":"DescribeEvents", "http":{ @@ -604,6 +672,26 @@ {"shape":"InvalidSubnet"} ] }, + "ModifyEventSubscription":{ + "name":"ModifyEventSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ModifyEventSubscriptionMessage"}, + "output":{ + "shape":"ModifyEventSubscriptionResult", + "resultWrapper":"ModifyEventSubscriptionResult" + }, + "errors":[ + {"shape":"EventSubscriptionQuotaExceededFault"}, + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"SNSInvalidTopicFault"}, + {"shape":"SNSNoAuthorizationFault"}, + {"shape":"SNSTopicArnNotFoundFault"}, + {"shape":"SubscriptionCategoryNotFoundFault"} + ] + }, "RebootDBInstance":{ "name":"RebootDBInstance", "http":{ @@ -620,6 +708,22 @@ {"shape":"DBInstanceNotFoundFault"} ] }, + "RemoveSourceIdentifierFromSubscription":{ + "name":"RemoveSourceIdentifierFromSubscription", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RemoveSourceIdentifierFromSubscriptionMessage"}, + "output":{ + "shape":"RemoveSourceIdentifierFromSubscriptionResult", + "resultWrapper":"RemoveSourceIdentifierFromSubscriptionResult" + }, + "errors":[ + {"shape":"SubscriptionNotFoundFault"}, + {"shape":"SourceNotFoundFault"} + ] + }, "RemoveTagsFromResource":{ "name":"RemoveTagsFromResource", "http":{ @@ -744,6 +848,23 @@ } }, "shapes":{ + "AddSourceIdentifierToSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SourceIdentifier" + ], + "members":{ + "SubscriptionName":{"shape":"String"}, + "SourceIdentifier":{"shape":"String"} + } + }, + "AddSourceIdentifierToSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, "AddTagsToResourceMessage":{ "type":"structure", "required":[ @@ -1027,6 +1148,28 @@ "DBSubnetGroup":{"shape":"DBSubnetGroup"} } }, + "CreateEventSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SnsTopicArn" + ], + "members":{ + "SubscriptionName":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "SourceType":{"shape":"String"}, + "EventCategories":{"shape":"EventCategoriesList"}, + "SourceIds":{"shape":"SourceIdsList"}, + "Enabled":{"shape":"BooleanOptional"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, "DBCluster":{ "type":"structure", "members":{ @@ -1593,6 +1736,19 @@ "DBSubnetGroupName":{"shape":"String"} } }, + "DeleteEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{"shape":"String"} + } + }, + "DeleteEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, "DescribeCertificatesMessage":{ "type":"structure", "members":{ @@ -1712,6 +1868,15 @@ "Filters":{"shape":"FilterList"} } }, + "DescribeEventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "SubscriptionName":{"shape":"String"}, + "Filters":{"shape":"FilterList"}, + "MaxRecords":{"shape":"IntegerOptional"}, + "Marker":{"shape":"String"} + } + }, "DescribeEventsMessage":{ "type":"structure", "members":{ @@ -1812,6 +1977,47 @@ "locationName":"Event" } }, + "EventSubscription":{ + "type":"structure", + "members":{ + "CustomerAwsId":{"shape":"String"}, + "CustSubscriptionId":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "Status":{"shape":"String"}, + "SubscriptionCreationTime":{"shape":"String"}, + "SourceType":{"shape":"String"}, + "SourceIdsList":{"shape":"SourceIdsList"}, + "EventCategoriesList":{"shape":"EventCategoriesList"}, + "Enabled":{"shape":"Boolean"}, + "EventSubscriptionArn":{"shape":"String"} + }, + "wrapper":true + }, + "EventSubscriptionQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"EventSubscriptionQuotaExceeded", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "EventSubscriptionsList":{ + "type":"list", + "member":{ + "shape":"EventSubscription", + "locationName":"EventSubscription" + } + }, + "EventSubscriptionsMessage":{ + "type":"structure", + "members":{ + "Marker":{"shape":"String"}, + "EventSubscriptionsList":{"shape":"EventSubscriptionsList"} + } + }, "EventsMessage":{ "type":"structure", "members":{ @@ -1991,6 +2197,17 @@ }, "exception":true }, + "InvalidEventSubscriptionStateFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"InvalidEventSubscriptionState", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, "InvalidRestoreFault":{ "type":"structure", "members":{ @@ -2144,6 +2361,23 @@ "DBSubnetGroup":{"shape":"DBSubnetGroup"} } }, + "ModifyEventSubscriptionMessage":{ + "type":"structure", + "required":["SubscriptionName"], + "members":{ + "SubscriptionName":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "SourceType":{"shape":"String"}, + "EventCategories":{"shape":"EventCategoriesList"}, + "Enabled":{"shape":"BooleanOptional"} + } + }, + "ModifyEventSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, "OrderableDBInstanceOption":{ "type":"structure", "members":{ @@ -2264,6 +2498,23 @@ "DBInstance":{"shape":"DBInstance"} } }, + "RemoveSourceIdentifierFromSubscriptionMessage":{ + "type":"structure", + "required":[ + "SubscriptionName", + "SourceIdentifier" + ], + "members":{ + "SubscriptionName":{"shape":"String"}, + "SourceIdentifier":{"shape":"String"} + } + }, + "RemoveSourceIdentifierFromSubscriptionResult":{ + "type":"structure", + "members":{ + "EventSubscription":{"shape":"EventSubscription"} + } + }, "RemoveTagsFromResourceMessage":{ "type":"structure", "required":[ @@ -2357,6 +2608,39 @@ "DBCluster":{"shape":"DBCluster"} } }, + "SNSInvalidTopicFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SNSInvalidTopic", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SNSNoAuthorizationFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SNSNoAuthorization", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SNSTopicArnNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SNSTopicArnNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "SharedSnapshotQuotaExceededFault":{ "type":"structure", "members":{ @@ -2379,6 +2663,24 @@ }, "exception":true }, + "SourceIdsList":{ + "type":"list", + "member":{ + "shape":"String", + "locationName":"SourceId" + } + }, + "SourceNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SourceNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "SourceType":{ "type":"string", "enum":[ @@ -2472,6 +2774,39 @@ "locationName":"Subnet" } }, + "SubscriptionAlreadyExistFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SubscriptionAlreadyExist", + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "SubscriptionCategoryNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SubscriptionCategoryNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "SubscriptionNotFoundFault":{ + "type":"structure", + "members":{ + }, + "error":{ + "code":"SubscriptionNotFound", + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, "TStamp":{"type":"timestamp"}, "Tag":{ "type":"structure", diff --git a/models/apis/docdb/2014-10-31/docs-2.json b/models/apis/docdb/2014-10-31/docs-2.json index 7ee1bb6d74e..7da7d344560 100644 --- a/models/apis/docdb/2014-10-31/docs-2.json +++ b/models/apis/docdb/2014-10-31/docs-2.json @@ -2,6 +2,7 @@ "version": "2.0", "service": "
Amazon DocumentDB API documentation
", "operations": { + "AddSourceIdentifierToSubscription": "Adds a source identifier to an existing event notification subscription.
", "AddTagsToResource": "Adds metadata tags to an Amazon DocumentDB resource. You can use these tags with cost allocation reporting to track costs that are associated with Amazon DocumentDB resources. or in a Condition
statement in an AWS Identity and Access Management (IAM) policy for Amazon DocumentDB.
Applies a pending maintenance action to a resource (for example, to an Amazon DocumentDB instance).
", "CopyDBClusterParameterGroup": "Copies the specified cluster parameter group.
", @@ -11,11 +12,13 @@ "CreateDBClusterSnapshot": "Creates a snapshot of a cluster.
", "CreateDBInstance": "Creates a new instance.
", "CreateDBSubnetGroup": "Creates a new subnet group. subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region.
", + "CreateEventSubscription": "Creates an Amazon DocumentDB event notification subscription. This action requires a topic Amazon Resource Name (ARN) created by using the Amazon DocumentDB console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the topic. The ARN is displayed in the Amazon SNS console.
You can specify the type of source (SourceType
) that you want to be notified of. You can also provide a list of Amazon DocumentDB sources (SourceIds
) that trigger the events, and you can provide a list of event categories (EventCategories
) for events that you want to be notified of. For example, you can specify SourceType = db-instance
, SourceIds = mydbinstance1, mydbinstance2
and EventCategories = Availability, Backup
.
If you specify both the SourceType
and SourceIds
(such as SourceType = db-instance
and SourceIdentifier = myDBInstance1
), you are notified of all the db-instance
events for the specified source. If you specify a SourceType
but do not specify a SourceIdentifier
, you receive notice of the events for that source type for all your Amazon DocumentDB sources. If you do not specify either the SourceType
or the SourceIdentifier
, you are notified of events generated from all Amazon DocumentDB sources belonging to your customer account.
Deletes a previously provisioned cluster. When you delete a cluster, all automated backups for that cluster are deleted and can't be recovered. Manual DB cluster snapshots of the specified cluster are not deleted.
", "DeleteDBClusterParameterGroup": "Deletes a specified cluster parameter group. The cluster parameter group to be deleted can't be associated with any clusters.
", "DeleteDBClusterSnapshot": "Deletes a cluster snapshot. If the snapshot is being copied, the copy operation is terminated.
The cluster snapshot must be in the available
state to be deleted.
Deletes a previously provisioned instance.
", "DeleteDBSubnetGroup": "Deletes a subnet group.
The specified database subnet group must not be associated with any DB instances.
Deletes an Amazon DocumentDB event notification subscription.
", "DescribeCertificates": "Returns a list of certificate authority (CA) certificates provided by Amazon DocumentDB for this AWS account.
", "DescribeDBClusterParameterGroups": "Returns a list of DBClusterParameterGroup
descriptions. If a DBClusterParameterGroupName
parameter is specified, the list contains only the description of the specified cluster parameter group.
Returns the detailed parameter list for a particular cluster parameter group.
", @@ -27,6 +30,7 @@ "DescribeDBSubnetGroups": "Returns a list of DBSubnetGroup
descriptions. If a DBSubnetGroupName
is specified, the list will contain only the descriptions of the specified DBSubnetGroup
.
Returns the default engine and system parameter information for the cluster database engine.
", "DescribeEventCategories": "Displays a list of categories for all event source types, or, if specified, for a specified source type.
", + "DescribeEventSubscriptions": "Lists all the subscription descriptions for a customer account. The description for a subscription includes SubscriptionName
, SNSTopicARN
, CustomerID
, SourceType
, SourceID
, CreationTime
, and Status
.
If you specify a SubscriptionName
, lists the description for that subscription.
Returns events related to instances, security groups, snapshots, and DB parameter groups for the past 14 days. You can obtain events specific to a particular DB instance, security group, snapshot, or parameter group by providing the name as a parameter. By default, the events of the past hour are returned.
", "DescribeOrderableDBInstanceOptions": "Returns a list of orderable instance options for the specified engine.
", "DescribePendingMaintenanceActions": "Returns a list of resources (for example, instances) that have at least one pending maintenance action.
", @@ -37,7 +41,9 @@ "ModifyDBClusterSnapshotAttribute": "Adds an attribute and values to, or removes an attribute and values from, a manual DB cluster snapshot.
To share a manual cluster snapshot with other AWS accounts, specify restore
as the AttributeName
, and use the ValuesToAdd
parameter to add a list of IDs of the AWS accounts that are authorized to restore the manual cluster snapshot. Use the value all
to make the manual cluster snapshot public, which means that it can be copied or restored by all AWS accounts. Do not add the all
value for any manual DB cluster snapshots that contain private information that you don't want available to all AWS accounts. If a manual cluster snapshot is encrypted, it can be shared, but only by specifying a list of authorized AWS account IDs for the ValuesToAdd
parameter. You can't use all
as a value for that parameter in this case.
Modifies settings for an instance. You can change one or more database configuration parameters by specifying these parameters and the new values in the request.
", "ModifyDBSubnetGroup": "Modifies an existing subnet group. subnet groups must contain at least one subnet in at least two Availability Zones in the AWS Region.
", + "ModifyEventSubscription": "Modifies an existing Amazon DocumentDB event notification subscription.
", "RebootDBInstance": "You might need to reboot your instance, usually for maintenance reasons. For example, if you make certain changes, or if you change the cluster parameter group that is associated with the instance, you must reboot the instance for the changes to take effect.
Rebooting an instance restarts the database engine service. Rebooting an instance results in a momentary outage, during which the instance status is set to rebooting.
", + "RemoveSourceIdentifierFromSubscription": "Removes a source identifier from an existing Amazon DocumentDB event notification subscription.
", "RemoveTagsFromResource": "Removes metadata tags from an Amazon DocumentDB resource.
", "ResetDBClusterParameterGroup": " Modifies the parameters of a cluster parameter group to the default value. To reset specific parameters, submit a list of the following: ParameterName
and ApplyMethod
. To reset the entire cluster parameter group, specify the DBClusterParameterGroupName
and ResetAllParameters
parameters.
When you reset the entire group, dynamic parameters are updated immediately and static parameters are set to pending-reboot
to take effect on the next DB instance reboot.
Creates a new cluster from a snapshot or cluster snapshot.
If a snapshot is specified, the target cluster is created from the source DB snapshot with a default configuration and default security group.
If a cluster snapshot is specified, the target cluster is created from the source cluster restore point with the same configuration as the original source DB cluster, except that the new cluster is created with the default security group.
", @@ -46,6 +52,16 @@ "StopDBCluster": "Stops the running cluster that is specified by DBClusterIdentifier
. The cluster must be in the available state. For more information, see Stopping and Starting an Amazon DocumentDB Cluster.
Represents the input to AddSourceIdentifierToSubscription.
", + "refs": { + } + }, + "AddSourceIdentifierToSubscriptionResult": { + "base": null, + "refs": { + } + }, "AddTagsToResourceMessage": { "base": "Represents the input to AddTagsToResource.
", "refs": { @@ -119,6 +135,7 @@ "DescribeDBClusterSnapshotsMessage$IncludeShared": "Set to true
to include shared manual cluster snapshots from other AWS accounts that this AWS account has been given permission to copy or restore, and otherwise false
. The default is false
.
Set to true
to include manual cluster snapshots that are public and can be copied or restored by any AWS account, and otherwise false
. The default is false
.
Indicates that only the default version of the specified engine or engine and major version combination is returned.
", + "EventSubscription$Enabled": "A Boolean value indicating whether the subscription is enabled. A value of true
indicates that the subscription is enabled.
A value that specifies whether the changes in this request and any pending changes are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
setting for the cluster. If this parameter is set to false
, changes to the cluster are applied during the next maintenance window.
The ApplyImmediately
parameter affects only the NewDBClusterIdentifier
and MasterUserPassword
values. If you set this parameter value to false
, the changes to the NewDBClusterIdentifier
and MasterUserPassword
values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately
parameter.
Default: false
Specifies whether the modifications in this request and any pending modifications are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow
setting for the instance.
If this parameter is set to false
, changes to the instance are applied during the next maintenance window. Some parameter changes can cause an outage and are applied on the next reboot.
Default: false
Indicates whether an instance is in a virtual private cloud (VPC).
", @@ -136,11 +153,13 @@ "CreateDBClusterMessage$StorageEncrypted": "Specifies whether the cluster is encrypted.
", "CreateDBClusterMessage$DeletionProtection": "Specifies whether this cluster can be deleted. If DeletionProtection
is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection
is disabled. DeletionProtection
protects clusters from being accidentally deleted.
Indicates that minor engine upgrades are applied automatically to the instance during the maintenance window.
Default: true
A Boolean value; set to true
to activate the subscription, set to false
to create the subscription but not active it.
If this parameter is specified and the requested engine supports the CharacterSetName
parameter for CreateDBInstance
, the response includes a list of supported character sets for each engine version.
If this parameter is specified and the requested engine supports the TimeZone
parameter for CreateDBInstance
, the response includes a list of supported time zones for each engine version.
The virtual private cloud (VPC) filter value. Specify this parameter to show only the available VPC or non-VPC offerings.
", "ModifyDBClusterMessage$DeletionProtection": "Specifies whether this cluster can be deleted. If DeletionProtection
is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection
is disabled. DeletionProtection
protects clusters from being accidentally deleted.
Indicates that minor version upgrades are applied automatically to the instance during the maintenance window. Changing this parameter doesn't result in an outage except in the following case, and the change is asynchronously applied as soon as possible. An outage results if this parameter is set to true
during the maintenance window, and a newer minor version is available, and Amazon DocumentDB has enabled automatic patching for that engine version.
A Boolean value; set to true
to activate the subscription.
Indicates that the Single-AZ instance is to change to a Multi-AZ deployment.
", "RebootDBInstanceMessage$ForceFailover": " When true
, the reboot is conducted through a Multi-AZ failover.
Constraint: You can't specify true
if the instance is not configured for Multi-AZ.
Specifies whether this cluster can be deleted. If DeletionProtection
is enabled, the cluster cannot be deleted unless it is modified and DeletionProtection
is disabled. DeletionProtection
protects clusters from being accidentally deleted.
Represents the input to CreateEventSubscription.
", + "refs": { + } + }, + "CreateEventSubscriptionResult": { + "base": null, + "refs": { + } + }, "DBCluster": { "base": "Detailed information about a cluster.
", "refs": { @@ -572,6 +601,16 @@ "refs": { } }, + "DeleteEventSubscriptionMessage": { + "base": "Represents the input to DeleteEventSubscription.
", + "refs": { + } + }, + "DeleteEventSubscriptionResult": { + "base": null, + "refs": { + } + }, "DescribeCertificatesMessage": { "base": null, "refs": { @@ -637,6 +676,11 @@ "refs": { } }, + "DescribeEventSubscriptionsMessage": { + "base": "Represents the input to DescribeEventSubscriptions.
", + "refs": { + } + }, "DescribeEventsMessage": { "base": "Represents the input to DescribeEvents.
", "refs": { @@ -673,9 +717,12 @@ "EventCategoriesList": { "base": null, "refs": { + "CreateEventSubscriptionMessage$EventCategories": " A list of event categories for a SourceType
that you want to subscribe to.
A list of event categories that trigger notifications for an event notification subscription.
", "Event$EventCategories": "Specifies the category for the event.
", - "EventCategoriesMap$EventCategories": "The event categories for the specified source type.
" + "EventCategoriesMap$EventCategories": "The event categories for the specified source type.
", + "EventSubscription$EventCategoriesList": "A list of event categories for the Amazon DocumentDB event notification subscription.
", + "ModifyEventSubscriptionMessage$EventCategories": " A list of event categories for a SourceType
that you want to subscribe to.
Detailed information about one or more events.
" } }, + "EventSubscription": { + "base": "Detailed information about an event to which you have subscribed.
", + "refs": { + "AddSourceIdentifierToSubscriptionResult$EventSubscription": null, + "CreateEventSubscriptionResult$EventSubscription": null, + "DeleteEventSubscriptionResult$EventSubscription": null, + "EventSubscriptionsList$member": null, + "ModifyEventSubscriptionResult$EventSubscription": null, + "RemoveSourceIdentifierFromSubscriptionResult$EventSubscription": null + } + }, + "EventSubscriptionQuotaExceededFault": { + "base": "You have reached the maximum number of event subscriptions.
", + "refs": { + } + }, + "EventSubscriptionsList": { + "base": null, + "refs": { + "EventSubscriptionsMessage$EventSubscriptionsList": "A list of event subscriptions.
" + } + }, + "EventSubscriptionsMessage": { + "base": "Represents the output of DescribeEventSubscriptions.
", + "refs": { + } + }, "EventsMessage": { "base": "Represents the output of DescribeEvents.
", "refs": { @@ -735,6 +809,7 @@ "DescribeDBSubnetGroupsMessage$Filters": "This parameter is not currently supported.
", "DescribeEngineDefaultClusterParametersMessage$Filters": "This parameter is not currently supported.
", "DescribeEventCategoriesMessage$Filters": "This parameter is not currently supported.
", + "DescribeEventSubscriptionsMessage$Filters": "This parameter is not currently supported.
", "DescribeEventsMessage$Filters": "This parameter is not currently supported.
", "DescribeOrderableDBInstanceOptionsMessage$Filters": "This parameter is not currently supported.
", "DescribePendingMaintenanceActionsMessage$Filters": "A filter that specifies one or more resources to return pending maintenance actions for.
Supported filters:
db-cluster-id
- Accepts cluster identifiers and cluster Amazon Resource Names (ARNs). The results list includes only pending maintenance actions for the clusters identified by these ARNs.
db-instance-id
- Accepts instance identifiers and instance ARNs. The results list includes only pending maintenance actions for the DB instances identified by these ARNs.
The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: Minimum 20, maximum 100.
", "DescribeDBSubnetGroupsMessage$MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: Minimum 20, maximum 100.
", "DescribeEngineDefaultClusterParametersMessage$MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: Minimum 20, maximum 100.
", + "DescribeEventSubscriptionsMessage$MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: Minimum 20, maximum 100.
", "DescribeEventsMessage$Duration": "The number of minutes to retrieve events for.
Default: 60
", "DescribeEventsMessage$MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: Minimum 20, maximum 100.
", "DescribeOrderableDBInstanceOptionsMessage$MaxRecords": " The maximum number of records to include in the response. If more records exist than the specified MaxRecords
value, a pagination token (marker) is included in the response so that the remaining results can be retrieved.
Default: 100
Constraints: Minimum 20, maximum 100.
", @@ -850,6 +926,11 @@ "refs": { } }, + "InvalidEventSubscriptionStateFault": { + "base": "Someone else might be modifying a subscription. Wait a few seconds, and try again.
", + "refs": { + } + }, "InvalidRestoreFault": { "base": "You cannot restore from a virtual private cloud (VPC) backup to a non-VPC DB instance.
", "refs": { @@ -941,6 +1022,16 @@ "refs": { } }, + "ModifyEventSubscriptionMessage": { + "base": "Represents the input to ModifyEventSubscription.
", + "refs": { + } + }, + "ModifyEventSubscriptionResult": { + "base": null, + "refs": { + } + }, "OrderableDBInstanceOption": { "base": "The options that are available for an instance.
", "refs": { @@ -1018,6 +1109,16 @@ "refs": { } }, + "RemoveSourceIdentifierFromSubscriptionMessage": { + "base": "Represents the input to RemoveSourceIdentifierFromSubscription.
", + "refs": { + } + }, + "RemoveSourceIdentifierFromSubscriptionResult": { + "base": null, + "refs": { + } + }, "RemoveTagsFromResourceMessage": { "base": "Represents the input to RemoveTagsFromResource.
", "refs": { @@ -1060,6 +1161,21 @@ "refs": { } }, + "SNSInvalidTopicFault": { + "base": "Amazon SNS has responded that there is a problem with the specified topic.
", + "refs": { + } + }, + "SNSNoAuthorizationFault": { + "base": "You do not have permission to publish to the SNS topic Amazon Resource Name (ARN).
", + "refs": { + } + }, + "SNSTopicArnNotFoundFault": { + "base": "The SNS topic Amazon Resource Name (ARN) does not exist.
", + "refs": { + } + }, "SharedSnapshotQuotaExceededFault": { "base": "You have exceeded the maximum number of accounts that you can share a manual DB snapshot with.
", "refs": { @@ -1070,6 +1186,18 @@ "refs": { } }, + "SourceIdsList": { + "base": null, + "refs": { + "CreateEventSubscriptionMessage$SourceIds": "The list of identifiers of the event sources for which events are returned. If not specified, then all sources are included in the response. An identifier must begin with a letter and must contain only ASCII letters, digits, and hyphens; it can't end with a hyphen or contain two consecutive hyphens.
Constraints:
If SourceIds
are provided, SourceType
must also be provided.
If the source type is an instance, a DBInstanceIdentifier
must be provided.
If the source type is a security group, a DBSecurityGroupName
must be provided.
If the source type is a parameter group, a DBParameterGroupName
must be provided.
If the source type is a snapshot, a DBSnapshotIdentifier
must be provided.
A list of source IDs for the Amazon DocumentDB event notification subscription.
" + } + }, + "SourceNotFoundFault": { + "base": "The requested source could not be found.
", + "refs": { + } + }, "SourceType": { "base": null, "refs": { @@ -1110,6 +1238,8 @@ "String": { "base": null, "refs": { + "AddSourceIdentifierToSubscriptionMessage$SubscriptionName": "The name of the Amazon DocumentDB event notification subscription that you want to add a source identifier to.
", + "AddSourceIdentifierToSubscriptionMessage$SourceIdentifier": "The identifier of the event source to be added:
If the source type is an instance, a DBInstanceIdentifier
must be provided.
If the source type is a security group, a DBSecurityGroupName
must be provided.
If the source type is a parameter group, a DBParameterGroupName
must be provided.
If the source type is a snapshot, a DBSnapshotIdentifier
must be provided.
The Amazon DocumentDB resource that the tags are added to. This value is an Amazon Resource Name .
", "ApplyPendingMaintenanceActionMessage$ResourceIdentifier": "The Amazon Resource Name (ARN) of the resource that the pending maintenance action applies to.
", "ApplyPendingMaintenanceActionMessage$ApplyAction": "The pending maintenance action to apply to this resource.
Valid values: system-update
, db-upgrade
The identifier of the cluster that the instance will belong to.
", "CreateDBSubnetGroupMessage$DBSubnetGroupName": "The name for the subnet group. This value is stored as a lowercase string.
Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.
Example: mySubnetgroup
The description for the subnet group.
", + "CreateEventSubscriptionMessage$SubscriptionName": "The name of the subscription.
Constraints: The name must be fewer than 255 characters.
", + "CreateEventSubscriptionMessage$SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. Amazon SNS creates the ARN when you create a topic and subscribe to it.
", + "CreateEventSubscriptionMessage$SourceType": "The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, you would set this parameter to db-instance
. If this value is not specified, all events are returned.
Valid values: db-instance
, db-cluster
, db-parameter-group
, db-security-group
, db-snapshot
, db-cluster-snapshot
Contains a user-supplied cluster identifier. This identifier is the unique key that identifies a cluster.
", "DBCluster$DBClusterParameterGroup": "Specifies the name of the cluster parameter group for the cluster.
", "DBCluster$DBSubnetGroup": "Specifies information on the subnet group that is associated with the cluster, including the name, description, and subnets in the subnet group.
", @@ -1230,6 +1363,7 @@ "DeleteDBClusterSnapshotMessage$DBClusterSnapshotIdentifier": "The identifier of the cluster snapshot to delete.
Constraints: Must be the name of an existing cluster snapshot in the available
state.
The instance identifier for the instance to be deleted. This parameter isn't case sensitive.
Constraints:
Must match the name of an existing instance.
The name of the database subnet group to delete.
You can't delete the default subnet group.
Constraints:
Must match the name of an existing DBSubnetGroup
. Must not be default.
Example: mySubnetgroup
The name of the Amazon DocumentDB event notification subscription that you want to delete.
", "DescribeCertificatesMessage$CertificateIdentifier": "The user-supplied certificate identifier. If this parameter is specified, information for only the specified certificate is returned. If this parameter is omitted, a list of up to MaxRecords
certificates is returned. This parameter is not case sensitive.
Constraints
Must match an existing CertificateIdentifier
.
An optional pagination token provided by a previous DescribeCertificates
request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The name of a specific cluster parameter group to return details for.
Constraints:
If provided, must match the name of an existing DBClusterParameterGroup
.
The name of the cluster parameter group family to return the engine parameter information for.
", "DescribeEngineDefaultClusterParametersMessage$Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The type of source that is generating the events.
Valid values: db-instance
, db-parameter-group
, db-security-group
, db-snapshot
The name of the Amazon DocumentDB event notification subscription that you want to describe.
", + "DescribeEventSubscriptionsMessage$Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The identifier of the event source for which events are returned. If not specified, then all sources are included in the response.
Constraints:
If SourceIdentifier
is provided, SourceType
must also be provided.
If the source type is DBInstance
, a DBInstanceIdentifier
must be provided.
If the source type is DBSecurityGroup
, a DBSecurityGroupName
must be provided.
If the source type is DBParameterGroup
, a DBParameterGroupName
must be provided.
If the source type is DBSnapshot
, a DBSnapshotIdentifier
must be provided.
Cannot end with a hyphen or contain two consecutive hyphens.
An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
The name of the engine to retrieve instance options for.
", @@ -1273,6 +1409,14 @@ "Event$SourceArn": "The Amazon Resource Name (ARN) for the event.
", "EventCategoriesList$member": null, "EventCategoriesMap$SourceType": "The source type that the returned categories belong to.
", + "EventSubscription$CustomerAwsId": "The AWS customer account that is associated with the Amazon DocumentDB event notification subscription.
", + "EventSubscription$CustSubscriptionId": "The Amazon DocumentDB event notification subscription ID.
", + "EventSubscription$SnsTopicArn": "The topic ARN of the Amazon DocumentDB event notification subscription.
", + "EventSubscription$Status": "The status of the Amazon DocumentDB event notification subscription.
Constraints:
Can be one of the following: creating
, modifying
, deleting
, active
, no-permission
, topic-not-exist
The no-permission
status indicates that Amazon DocumentDB no longer has permission to post to the SNS topic. The topic-not-exist
status indicates that the topic was deleted after the subscription was created.
The time at which the Amazon DocumentDB event notification subscription was created.
", + "EventSubscription$SourceType": "The source type for the Amazon DocumentDB event notification subscription.
", + "EventSubscription$EventSubscriptionArn": "The Amazon Resource Name (ARN) for the event subscription.
", + "EventSubscriptionsMessage$Marker": "An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
An optional pagination token provided by a previous request. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords
.
A cluster identifier to force a failover for. This parameter is not case sensitive.
Constraints:
Must match the identifier of an existing DBCluster
.
The name of the instance to promote to the primary instance.
You must specify the instance identifier for an Amazon DocumentDB replica in the cluster. For example, mydbcluster-replica1
.
Indicates the certificate that needs to be associated with the instance.
", "ModifyDBSubnetGroupMessage$DBSubnetGroupName": "The name for the subnet group. This value is stored as a lowercase string. You can't modify the default subnet group.
Constraints: Must match the name of an existing DBSubnetGroup
. Must not be default.
Example: mySubnetgroup
The description for the subnet group.
", + "ModifyEventSubscriptionMessage$SubscriptionName": "The name of the Amazon DocumentDB event notification subscription.
", + "ModifyEventSubscriptionMessage$SnsTopicArn": "The Amazon Resource Name (ARN) of the SNS topic created for event notification. The ARN is created by Amazon SNS when you create a topic and subscribe to it.
", + "ModifyEventSubscriptionMessage$SourceType": "The type of source that is generating the events. For example, if you want to be notified of events generated by an instance, set this parameter to db-instance
. If this value is not specified, all events are returned.
Valid values: db-instance
, db-parameter-group
, db-security-group
, db-snapshot
The engine type of an instance.
", "OrderableDBInstanceOption$EngineVersion": "The engine version of an instance.
", "OrderableDBInstanceOption$DBInstanceClass": "The instance class for an instance.
", @@ -1324,6 +1471,8 @@ "PendingModifiedValues$CACertificateIdentifier": "Specifies the identifier of the certificate authority (CA) certificate for the DB instance.
", "PendingModifiedValues$DBSubnetGroupName": "The new subnet group for the instance.
", "RebootDBInstanceMessage$DBInstanceIdentifier": "The instance identifier. This parameter is stored as a lowercase string.
Constraints:
Must match the identifier of an existing DBInstance
.
The name of the Amazon DocumentDB event notification subscription that you want to remove a source identifier from.
", + "RemoveSourceIdentifierFromSubscriptionMessage$SourceIdentifier": "The source identifier to be removed from the subscription, such as the instance identifier for an instance, or the name of a security group.
", "RemoveTagsFromResourceMessage$ResourceName": "The Amazon DocumentDB resource that the tags are removed from. This value is an Amazon Resource Name (ARN).
", "ResetDBClusterParameterGroupMessage$DBClusterParameterGroupName": "The name of the cluster parameter group to reset.
", "ResourcePendingMaintenanceActions$ResourceIdentifier": "The Amazon Resource Name (ARN) of the resource that has pending maintenance actions.
", @@ -1337,6 +1486,7 @@ "RestoreDBClusterToPointInTimeMessage$SourceDBClusterIdentifier": "The identifier of the source cluster from which to restore.
Constraints:
Must match the identifier of an existing DBCluster
.
The subnet group name to use for the new cluster.
Constraints: If provided, must match the name of an existing DBSubnetGroup
.
Example: mySubnetgroup
The AWS KMS key identifier to use when restoring an encrypted cluster from an encrypted cluster.
The AWS KMS key identifier is the Amazon Resource Name (ARN) for the AWS KMS encryption key. If you are restoring a cluster with the same AWS account that owns the AWS KMS encryption key used to encrypt the new cluster, then you can use the AWS KMS key alias instead of the ARN for the AWS KMS encryption key.
You can restore to a new cluster and encrypt the new cluster with an AWS KMS key that is different from the AWS KMS key used to encrypt the source cluster. The new DB cluster is encrypted with the AWS KMS key identified by the KmsKeyId
parameter.
If you do not specify a value for the KmsKeyId
parameter, then the following occurs:
If the cluster is encrypted, then the restored cluster is encrypted using the AWS KMS key that was used to encrypt the source cluster.
If the cluster is not encrypted, then the restored cluster is not encrypted.
If DBClusterIdentifier
refers to a cluster that is not encrypted, then the restore request is rejected.
The identifier of the cluster to restart. Example: docdb-2019-05-28-15-24-52
The identifier of the cluster to stop. Example: docdb-2019-05-28-15-24-52
Specifies the identifier of the subnet.
", @@ -1376,6 +1526,21 @@ "DBSubnetGroup$Subnets": "Detailed information about one or more subnets within a subnet group.
" } }, + "SubscriptionAlreadyExistFault": { + "base": "The provided subscription name already exists.
", + "refs": { + } + }, + "SubscriptionCategoryNotFoundFault": { + "base": "The provided category does not exist.
", + "refs": { + } + }, + "SubscriptionNotFoundFault": { + "base": "The subscription name does not exist.
", + "refs": { + } + }, "TStamp": { "base": null, "refs": { @@ -1414,6 +1579,7 @@ "CreateDBClusterSnapshotMessage$Tags": "The tags to be assigned to the cluster snapshot.
", "CreateDBInstanceMessage$Tags": "The tags to be assigned to the instance. You can assign up to 10 tags to an instance.
", "CreateDBSubnetGroupMessage$Tags": "The tags to be assigned to the subnet group.
", + "CreateEventSubscriptionMessage$Tags": "The tags to be assigned to the event subscription.
", "RestoreDBClusterFromSnapshotMessage$Tags": "The tags to be assigned to the restored cluster.
", "RestoreDBClusterToPointInTimeMessage$Tags": "The tags to be assigned to the restored cluster.
", "TagListMessage$TagList": "A list of one or more tags.
" diff --git a/models/apis/docdb/2014-10-31/paginators-1.json b/models/apis/docdb/2014-10-31/paginators-1.json index e24915e3de6..8caea8f7ded 100644 --- a/models/apis/docdb/2014-10-31/paginators-1.json +++ b/models/apis/docdb/2014-10-31/paginators-1.json @@ -48,6 +48,12 @@ "output_token": "Marker", "result_key": "DBSubnetGroups" }, + "DescribeEventSubscriptions": { + "input_token": "Marker", + "limit_key": "MaxRecords", + "output_token": "Marker", + "result_key": "EventSubscriptionsList" + }, "DescribeEvents": { "input_token": "Marker", "limit_key": "MaxRecords", diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index 74368de5890..57b018b0880 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -6164,7 +6164,8 @@ "type":"structure", "members":{ "MetadataValue":{"shape":"MetadataValueString"}, - "CreatedTime":{"shape":"CreatedTimestamp"} + "CreatedTime":{"shape":"CreatedTimestamp"}, + "OtherMetadataValueList":{"shape":"OtherMetadataValueList"} } }, "MetadataInfoMap":{ @@ -6313,6 +6314,17 @@ "type":"list", "member":{"shape":"Order"} }, + "OtherMetadataValueList":{ + "type":"list", + "member":{"shape":"OtherMetadataValueListItem"} + }, + "OtherMetadataValueListItem":{ + "type":"structure", + "members":{ + "MetadataValue":{"shape":"MetadataValueString"}, + "CreatedTime":{"shape":"CreatedTimestamp"} + } + }, "PageSize":{ "type":"integer", "box":true, @@ -6925,7 +6937,7 @@ "type":"string", "max":255, "min":1, - "pattern":"[a-zA-Z0-9-_$#]+" + "pattern":"[a-zA-Z0-9-_$#.]+" }, "SchemaRegistryTokenString":{"type":"string"}, "SchemaStatus":{ diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index 4a32f75d711..59b34010764 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -86,7 +86,7 @@ "GetPartitions": "Retrieves information about the partitions in a table.
", "GetPlan": "Gets code to perform a specified mapping.
", "GetRegistry": "Describes the specified registry in detail.
", - "GetResourcePolicies": "Retrieves the security configurations for the resource policies set on individual resources, and also the account-level policy.
This operation also returns the Data Catalog resource policy. However, if you enabled metadata encryption in Data Catalog settings, and you do not have permission on the AWS KMS key, the operation can't return the Data Catalog resource policy.
", + "GetResourcePolicies": "Retrieves the resource policies set on individual resources by AWS Resource Access Manager during cross-account permission grants. Also retrieves the Data Catalog resource policy.
If you enabled metadata encryption in Data Catalog settings, and you do not have permission on the AWS KMS key, the operation can't return the Data Catalog resource policy.
", "GetResourcePolicy": "Retrieves a specified resource policy.
", "GetSchema": "Describes the specified schema in detail.
", "GetSchemaByDefinition": "Retrieves a schema by the SchemaDefinition
. The schema definition is sent to the Schema Registry, canonicalized, and hashed. If the hash is matched within the scope of the SchemaName
or ARN (or the default registry, if none is supplied), that schema’s metadata is returned. Otherwise, a 404 or NotFound error is returned. Schema versions in Deleted
statuses will not be included in the results.
The date and time the schema was created.
", "GetSchemaVersionResponse$CreatedTime": "The date and time the schema version was created.
", "MetadataInfo$CreatedTime": "The time at which the entry was created.
", + "OtherMetadataValueListItem$CreatedTime": "The time at which the entry was created.
", "RegistryListItem$CreatedTime": "The data the registry was created.
", "SchemaListItem$CreatedTime": "The date and time that a schema was created.
", "SchemaVersionListItem$CreatedTime": "The date and time the schema version was created.
" @@ -1755,7 +1756,7 @@ "EnableHybridValues": { "base": null, "refs": { - "PutResourcePolicyRequest$EnableHybrid": "Allows you to specify if you want to use both resource-level and account/catalog-level resource policies. A resource-level policy is a policy attached to an individual resource such as a database or a table.
The default value of NO
indicates that resource-level policies cannot co-exist with an account-level policy. A value of YES
means the use of both resource-level and account/catalog-level resource policies is allowed.
If 'TRUE'
, indicates that you are using both methods to grant cross-account access to Data Catalog resources:
By directly updating the resource policy with PutResourePolicy
By using the Grant permissions command on the AWS Management Console.
Must be set to 'TRUE'
if you have already used the Management Console to grant cross-account access, otherwise the call fails. Default is 'FALSE'.
A value of MUST_EXIST
is used to update a policy. A value of NOT_EXIST
is used to create a new policy. If a value of NONE
or a null value is used, the call will not depend on the existence of a policy.
A value of MUST_EXIST
is used to update a policy. A value of NOT_EXIST
is used to create a new policy. If a value of NONE
or a null value is used, the call does not depend on the existence of a policy.
The ARN of the AWS Glue resource for the resource policy to be deleted.
", "DeleteSchemaResponse$SchemaArn": "The Amazon Resource Name (ARN) of the schema being deleted.
", "GetRegistryResponse$RegistryArn": "The Amazon Resource Name (ARN) of the registry.
", - "GetResourcePolicyRequest$ResourceArn": "The ARN of the AWS Glue resource for the resource policy to be retrieved. For more information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern
", + "GetResourcePolicyRequest$ResourceArn": "The ARN of the AWS Glue resource for which to retrieve the resource policy. If not supplied, the Data Catalog resource policy is returned. Use GetResourcePolicies
to view all existing resource policies. For more information see Specifying AWS Glue Resource ARNs.
The Amazon Resource Name (ARN) of the schema.
", "GetSchemaResponse$RegistryArn": "The Amazon Resource Name (ARN) of the registry.
", "GetSchemaResponse$SchemaArn": "The Amazon Resource Name (ARN) of the schema.
", "GetSchemaVersionResponse$SchemaArn": "The Amazon Resource Name (ARN) of the schema.
", "GetTagsRequest$ResourceArn": "The Amazon Resource Name (ARN) of the resource for which to retrieve tags.
", - "PutResourcePolicyRequest$ResourceArn": "The ARN of the AWS Glue resource for the resource policy to be set. For more information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern
", + "PutResourcePolicyRequest$ResourceArn": "Do not use. For internal use only.
", "PutSchemaVersionMetadataResponse$SchemaArn": "The Amazon Resource Name (ARN) for the schema.
", "RegistryId$RegistryArn": "Arn of the registry to be updated. One of RegistryArn
or RegistryName
has to be provided.
The Amazon Resource Name (ARN) of the registry.
", @@ -3276,6 +3277,7 @@ "refs": { "MetadataInfo$MetadataValue": "The metadata key’s corresponding value.
", "MetadataKeyValuePair$MetadataValue": "A metadata key’s corresponding value.
", + "OtherMetadataValueListItem$MetadataValue": "The metadata key’s corresponding value for the other metadata belonging to the same metadata key.
", "PutSchemaVersionMetadataResponse$MetadataValue": "The value of the metadata key.
", "RemoveSchemaVersionMetadataResponse$MetadataValue": "The value of the metadata key.
" } @@ -3719,6 +3721,18 @@ "StorageDescriptor$SortColumns": "A list specifying the sort order of each bucket in the table.
" } }, + "OtherMetadataValueList": { + "base": null, + "refs": { + "MetadataInfo$OtherMetadataValueList": "Other metadata belonging to the same metadata key.
" + } + }, + "OtherMetadataValueListItem": { + "base": "A structure containing other metadata for a schema version belonging to the same metadata key.
", + "refs": { + "OtherMetadataValueList$member": null + } + }, "PageSize": { "base": null, "refs": { diff --git a/models/apis/iam/2010-05-08/api-2.json b/models/apis/iam/2010-05-08/api-2.json index 60f5ad6cbcc..27ff0f2f8bc 100644 --- a/models/apis/iam/2010-05-08/api-2.json +++ b/models/apis/iam/2010-05-08/api-2.json @@ -816,7 +816,10 @@ "output":{ "shape":"GetAccessKeyLastUsedResponse", "resultWrapper":"GetAccessKeyLastUsedResult" - } + }, + "errors":[ + {"shape":"NoSuchEntityException"} + ] }, "GetAccountAuthorizationDetails":{ "name":"GetAccountAuthorizationDetails", diff --git a/models/apis/location/2020-11-19/api-2.json b/models/apis/location/2020-11-19/api-2.json index 8a19346482b..7632c857829 100644 --- a/models/apis/location/2020-11-19/api-2.json +++ b/models/apis/location/2020-11-19/api-2.json @@ -1015,7 +1015,8 @@ "members":{ "CollectionName":{"shape":"ResourceName"}, "Description":{"shape":"ResourceDescription"}, - "PricingPlan":{"shape":"PricingPlan"} + "PricingPlan":{"shape":"PricingPlan"}, + "PricingPlanDataSource":{"shape":"String"} } }, "CreateGeofenceCollectionResponse":{ @@ -1095,6 +1096,7 @@ "members":{ "Description":{"shape":"ResourceDescription"}, "PricingPlan":{"shape":"PricingPlan"}, + "PricingPlanDataSource":{"shape":"String"}, "TrackerName":{"shape":"ResourceName"} } }, @@ -1199,6 +1201,7 @@ "CollectionName", "CreateTime", "Description", + "PricingPlan", "UpdateTime" ], "members":{ @@ -1206,6 +1209,8 @@ "CollectionName":{"shape":"ResourceName"}, "CreateTime":{"shape":"Timestamp"}, "Description":{"shape":"ResourceDescription"}, + "PricingPlan":{"shape":"PricingPlan"}, + "PricingPlanDataSource":{"shape":"String"}, "UpdateTime":{"shape":"Timestamp"} } }, @@ -1229,6 +1234,7 @@ "Description", "MapArn", "MapName", + "PricingPlan", "UpdateTime" ], "members":{ @@ -1238,6 +1244,7 @@ "Description":{"shape":"ResourceDescription"}, "MapArn":{"shape":"Arn"}, "MapName":{"shape":"ResourceName"}, + "PricingPlan":{"shape":"PricingPlan"}, "UpdateTime":{"shape":"Timestamp"} } }, @@ -1261,6 +1268,7 @@ "Description", "IndexArn", "IndexName", + "PricingPlan", "UpdateTime" ], "members":{ @@ -1270,6 +1278,7 @@ "Description":{"shape":"ResourceDescription"}, "IndexArn":{"shape":"Arn"}, "IndexName":{"shape":"ResourceName"}, + "PricingPlan":{"shape":"PricingPlan"}, "UpdateTime":{"shape":"Timestamp"} } }, @@ -1289,6 +1298,7 @@ "required":[ "CreateTime", "Description", + "PricingPlan", "TrackerArn", "TrackerName", "UpdateTime" @@ -1296,6 +1306,8 @@ "members":{ "CreateTime":{"shape":"Timestamp"}, "Description":{"shape":"ResourceDescription"}, + "PricingPlan":{"shape":"PricingPlan"}, + "PricingPlanDataSource":{"shape":"String"}, "TrackerArn":{"shape":"Arn"}, "TrackerName":{"shape":"ResourceName"}, "UpdateTime":{"shape":"Timestamp"} @@ -1683,12 +1695,15 @@ "CollectionName", "CreateTime", "Description", + "PricingPlan", "UpdateTime" ], "members":{ "CollectionName":{"shape":"ResourceName"}, "CreateTime":{"shape":"Timestamp"}, "Description":{"shape":"ResourceDescription"}, + "PricingPlan":{"shape":"PricingPlan"}, + "PricingPlanDataSource":{"shape":"String"}, "UpdateTime":{"shape":"Timestamp"} } }, @@ -1765,6 +1780,7 @@ "DataSource", "Description", "MapName", + "PricingPlan", "UpdateTime" ], "members":{ @@ -1772,6 +1788,7 @@ "DataSource":{"shape":"String"}, "Description":{"shape":"ResourceDescription"}, "MapName":{"shape":"ResourceName"}, + "PricingPlan":{"shape":"PricingPlan"}, "UpdateTime":{"shape":"Timestamp"} } }, @@ -1807,6 +1824,7 @@ "DataSource", "Description", "IndexName", + "PricingPlan", "UpdateTime" ], "members":{ @@ -1814,6 +1832,7 @@ "DataSource":{"shape":"String"}, "Description":{"shape":"ResourceDescription"}, "IndexName":{"shape":"ResourceName"}, + "PricingPlan":{"shape":"PricingPlan"}, "UpdateTime":{"shape":"Timestamp"} } }, @@ -1874,12 +1893,15 @@ "required":[ "CreateTime", "Description", + "PricingPlan", "TrackerName", "UpdateTime" ], "members":{ "CreateTime":{"shape":"Timestamp"}, "Description":{"shape":"ResourceDescription"}, + "PricingPlan":{"shape":"PricingPlan"}, + "PricingPlanDataSource":{"shape":"String"}, "TrackerName":{"shape":"ResourceName"}, "UpdateTime":{"shape":"Timestamp"} } diff --git a/models/apis/location/2020-11-19/docs-2.json b/models/apis/location/2020-11-19/docs-2.json index e3794ac6a80..3b1d5b3d30a 100644 --- a/models/apis/location/2020-11-19/docs-2.json +++ b/models/apis/location/2020-11-19/docs-2.json @@ -2,12 +2,12 @@ "version": "2.0", "service": "Suite of geospatial services including Maps, Places, Tracking, and Geofencing
", "operations": { - "AssociateTrackerConsumer": "Creates an association between a geofence collection and a tracker resource. This allows the tracker resource to communicate location data to the linked geofence collection.
", + "AssociateTrackerConsumer": "Creates an association between a geofence collection and a tracker resource. This allows the tracker resource to communicate location data to the linked geofence collection.
Currently not supported — Cross-account configurations, such as creating associations between a tracker resource in one account and a geofence collection in another account.
Deletes a batch of geofences from a geofence collection.
This action deletes the resource permanently. You can't undo this action.
Used in geofence monitoring. Evaluates device positions against the position of geofences in a given geofence collection.
", - "BatchGetDevicePosition": "A batch request to retrieve device positions.
The response will return the device positions from the last 24 hours.
A batch request for storing geofences into a given geofence collection.
", - "BatchUpdateDevicePosition": "Uploads a position update for one or more devices to a tracker resource. The data is used for API queries requesting the device position and position history.
Limitation — Location data is sampled at a fixed rate of 1 position per 30 second interval, and retained for 1 year before it is deleted.
Evaluates device positions against the geofence geometries from a given geofence collection. The evaluation determines if the device has entered or exited a geofenced area, which publishes ENTER or EXIT geofence events to Amazon EventBridge.
The last geofence that a device was observed within, if any, is tracked for 30 days after the most recent device position update
A batch request to retrieve all device positions.
", + "BatchPutGeofence": "A batch request for storing geofence geometries into a given geofence collection.
", + "BatchUpdateDevicePosition": "Uploads position update data for one or more devices to a tracker resource. Amazon Location uses the data when reporting the last known device position and position history.
Only one position update is stored per sample time. Location data is sampled at a fixed rate of one position per 30-second interval, and retained for one year before it is deleted.
Creates a geofence collection, which manages and stores geofences.
", "CreateMap": "Creates a map resource in your AWS account, which provides map tiles of different styles sourced from global location data providers.
By using Maps, you agree that AWS may transmit your API queries to your selected third party provider for processing, which may be outside the AWS region you are currently using. For more information, see the AWS Service Terms for Amazon Location Service.
Creates a Place index resource in your AWS account, which supports Places functions with geospatial data sourced from your chosen data provider.
By using Places, you agree that AWS may transmit your API queries to your selected third party provider for processing, which may be outside the AWS region you are currently using.
Because of licensing limitations, you may not use HERE to store results for locations in Japan. For more information, see the AWS Service Terms for Amazon Location Service.
Retrieves the map resource details.
", "DescribePlaceIndex": "Retrieves the Place index resource details.
", "DescribeTracker": "Retrieves the tracker resource details.
", - "DisassociateTrackerConsumer": "Removes the association bewteen a tracker resource and a geofence collection.
Once you unlink a tracker resource from a geofence collection, the tracker positions will no longer be automatically evaluated against geofences.
Retrieves the latest device position.
Limitation — Device positions are deleted after one year.
Retrieves the device position history from a tracker resource within a specified range of time.
Limitation — Device positions are deleted after one year.
Removes the association between a tracker resource and a geofence collection.
Once you unlink a tracker resource from a geofence collection, the tracker positions will no longer be automatically evaluated against geofences.
Retrieves a device's most recent position according to its sample time.
Device positions are deleted after one year.
Retrieves the device position history from a tracker resource within a specified range of time.
Device positions are deleted after 1 year.
Retrieves the geofence details from a geofence collection.
", "GetMapGlyphs": "Retrieves glyphs used to display labels on a map.
", "GetMapSprites": "Retrieves the sprite sheet corresponding to a map resource. The sprite sheet is a PNG image paired with a JSON document describing the offsets of individual icons that will be displayed on a rendered map.
", @@ -34,7 +34,7 @@ "ListPlaceIndexes": "Lists Place index resources in your AWS account.
", "ListTrackerConsumers": "Lists geofence collections currently associated to the given tracker resource.
", "ListTrackers": "Lists tracker resources in your AWS account.
", - "PutGeofence": "Stores a geofence to a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.
", + "PutGeofence": "Stores a geofence geometry in a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.
", "SearchPlaceIndexForPosition": "Reverse geocodes a given coordinate and returns a legible address. Allows you to search for Places or points of interest near a given position.
By using Places, you agree that AWS may transmit your API queries to your selected third party provider for processing, which may be outside the AWS region you are currently using.
Because of licensing limitations, you may not use HERE to store results for locations in Japan. For more information, see the AWS Service Terms for Amazon Location Service.
Geocodes free-form text, such as an address, name, city, or region to allow you to search for Places or points of interest.
Includes the option to apply additional parameters to narrow your list of results.
You can search for places near a given position using BiasPosition
, or filter results within a bounding box using FilterBBox
. Providing both parameters simultaneously returns an error.
By using Places, you agree that AWS may transmit your API queries to your selected third party provider for processing, which may be outside the AWS region you are currently using.
Also, when using HERE as your data provider, you may not (a) use HERE Places for Asset Management, or (b) select the Storage
option for the IntendedUse
parameter when requesting Places in Japan. For more information, see the AWS Service Terms for Amazon Location Service.
Contains geofence details.
", + "base": "Contains geofence geometry details.
", "refs": { "BatchPutGeofenceRequestEntriesList$member": null } @@ -456,12 +456,12 @@ } }, "GeofenceGeometry": { - "base": "Contains the geofence geometry details.
Limitation — Amazon Location does not currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.
Contains the geofence geometry details.
Amazon Location does not currently support polygons with holes, multipolygons, polygons that are wound clockwise, or that cross the antimeridian.
The geometry details for the geofence.
", + "BatchPutGeofenceRequestEntry$Geometry": "Contains the polygon details to specify the position of the geofence.
Each geofence polygon can have a maximum of 1,000 vertices.
Contains the geofence geometry details describing a polygon.
", "ListGeofenceResponseEntry$Geometry": "Contains the geofence geometry details describing a polygon.
", - "PutGeofenceRequest$Geometry": "Contains the polygon details to specify the position of the geofence.
" + "PutGeofenceRequest$Geometry": "Contains the polygon details to specify the position of the geofence.
Each geofence polygon can have a maximum of 1,000 vertices.
The device whose position you retrieved.
", "DevicePositionUpdate$DeviceId": "The device associated to the position update.
", "GetDevicePositionHistoryRequest$DeviceId": "The device whose position history you want to retrieve.
", - "GetDevicePositionRequest$DeviceId": "The device whose position you want to retreieve.
", + "GetDevicePositionRequest$DeviceId": "The device whose position you want to retrieve.
", "GetDevicePositionResponse$DeviceId": "The device whose position you retrieved.
", "GetGeofenceRequest$GeofenceId": "The geofence you're retrieving details for.
", "GetGeofenceResponse$GeofenceId": "The geofence identifier.
", @@ -800,7 +800,7 @@ "base": null, "refs": { "DevicePosition$Position": "The last known device position.
", - "DevicePositionUpdate$Position": "The latest device position defined in WGS 84 format: [Xlongitude, Ylatitude]
.
The latest device position defined in WGS 84 format: [X or longitude, Y or latitude]
.
The last known device position.
", "LinearRing$member": null, "PlaceGeometry$Point": "A single point geometry specifies a location for a Place using WGS 84 coordinates:
x — Specifies the x coordinate or longitude.
y — Specifies the y coordinate or latitude.
Specifies the pricing plan for your geofence collection. There's three pricing plan options:
RequestBasedUsage
— Selects the \"Request-Based Usage\" pricing plan.
MobileAssetTracking
— Selects the \"Mobile Asset Tracking\" pricing plan.
MobileAssetManagement
— Selects the \"Mobile Asset Management\" pricing plan.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", - "CreateMapRequest$PricingPlan": "Specifies the pricing plan for your map resource. There's three pricing plan options:
RequestBasedUsage
— Selects the \"Request-Based Usage\" pricing plan.
MobileAssetTracking
— Selects the \"Mobile Asset Tracking\" pricing plan.
MobileAssetManagement
— Selects the \"Mobile Asset Management\" pricing plan.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", - "CreatePlaceIndexRequest$PricingPlan": "Specifies the pricing plan for your Place index resource. There's three pricing plan options:
RequestBasedUsage
— Selects the \"Request-Based Usage\" pricing plan.
MobileAssetTracking
— Selects the \"Mobile Asset Tracking\" pricing plan.
MobileAssetManagement
— Selects the \"Mobile Asset Management\" pricing plan.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", - "CreateTrackerRequest$PricingPlan": "Specifies the pricing plan for your tracker resource. There's three pricing plan options:
RequestBasedUsage
— Selects the \"Request-Based Usage\" pricing plan.
MobileAssetTracking
— Selects the \"Mobile Asset Tracking\" pricing plan.
MobileAssetManagement
— Selects the \"Mobile Asset Management\" pricing plan.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
" + "CreateGeofenceCollectionRequest$PricingPlan": "Specifies the pricing plan for your geofence collection.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "CreateMapRequest$PricingPlan": "Specifies the pricing plan for your map resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "CreatePlaceIndexRequest$PricingPlan": "Specifies the pricing plan for your Place index resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "CreateTrackerRequest$PricingPlan": "Specifies the pricing plan for your tracker resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "DescribeGeofenceCollectionResponse$PricingPlan": "The pricing plan selected for the specified geofence collection.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "DescribeMapResponse$PricingPlan": "The pricing plan selected for the specified map resource.
<p>For additional details and restrictions on each pricing plan option, see the <a href="https://aws.amazon.com/location/pricing/">Amazon Location Service pricing page</a>.</p>
",
+ "DescribePlaceIndexResponse$PricingPlan": "The pricing plan selected for the specified Place index resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "DescribeTrackerResponse$PricingPlan": "The pricing plan selected for the specified tracker resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "ListGeofenceCollectionsResponseEntry$PricingPlan": "The pricing plan for the specified geofence collection.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "ListMapsResponseEntry$PricingPlan": "The pricing plan for the specified map resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "ListPlaceIndexesResponseEntry$PricingPlan": "The pricing plan for the specified Place index resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
", + "ListTrackersResponseEntry$PricingPlan": "The pricing plan for the specified tracker resource.
For additional details and restrictions on each pricing plan option, see the Amazon Location Service pricing page.
" } }, "PutGeofenceRequest": { @@ -854,13 +862,13 @@ "BatchEvaluateGeofencesRequest$CollectionName": "The geofence collection used in evaluating the position of devices against its geofences.
", "BatchPutGeofenceRequest$CollectionName": "The geofence collection storing the geofences.
", "BatchUpdateDevicePositionRequest$TrackerName": "The name of the tracker resource to update.
", - "CreateGeofenceCollectionRequest$CollectionName": "A custom name for the geofence collection.
Requirements:
Contain only alphanumeric characters (A–Z, a–z, 0-9), hyphens (-), and underscores (_).
Must be a unique geofence collection name.
No spaces allowed. For example, ExampleGeofenceCollection
.
A custom name for the geofence collection.
Requirements:
Contain only alphanumeric characters (A–Z, a–z, 0-9), hyphens (-), periods (.), and underscores (_).
Must be a unique geofence collection name.
No spaces allowed. For example, ExampleGeofenceCollection
.
The name for the geofence collection.
", - "CreateMapRequest$MapName": "The name for the map resource.
Requirements:
Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), and underscores (_).
Must be a unique map resource name.
No spaces allowed. For example, ExampleMap
.
The name for the map resource.
Requirements:
Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).
Must be a unique map resource name.
No spaces allowed. For example, ExampleMap
.
The name of the map resource.
", - "CreatePlaceIndexRequest$IndexName": "The name of the Place index resource.
Requirements:
Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-) and underscores (_) ).
Must be a unique Place index resource name.
No spaces allowed. For example, ExamplePlaceIndex
.
The name of the Place index resource.
Requirements:
Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).
Must be a unique Place index resource name.
No spaces allowed. For example, ExamplePlaceIndex
.
The name for the Place index resource.
", - "CreateTrackerRequest$TrackerName": "The name for the tracker resource.
Requirements:
Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-) and underscores (_).
Must be a unique tracker resource name.
No spaces allowed. For example, ExampleTracker
.
The name for the tracker resource.
Requirements:
Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).
Must be a unique tracker resource name.
No spaces allowed. For example, ExampleTracker
.
The name of the tracker resource.
", "DeleteGeofenceCollectionRequest$CollectionName": "The name of the geofence collection to be deleted.
", "DeleteMapRequest$MapName": "The name of the map resource to be deleted.
", @@ -960,9 +968,13 @@ "AccessDeniedException$Message": null, "BatchItemError$Message": "A message with the reason for the batch request error.
", "ConflictException$Message": null, - "CreatePlaceIndexRequest$DataSource": "Specifies the data provider of geospatial data.
", + "CreateGeofenceCollectionRequest$PricingPlanDataSource": "Specifies the plan data source. Required if the Mobile Asset Tracking (MAT) or the Mobile Asset Management (MAM) pricing plan is selected.
Billing is determined by the resource usage, the associated pricing plan, and the data source that was specified. For more information about each pricing plan option and restrictions, see the Amazon Location Service pricing page.
Valid Values: Esri
| Here
Specifies the data provider of geospatial data.
This field is case-sensitive. Enter the valid values as shown. For example, entering HERE
will return an error.
Valid values include:
Esri
Here
For additional details on data providers, see the Amazon Location Service data providers page.
", + "CreateTrackerRequest$PricingPlanDataSource": "Specifies the plan data source. Required if the Mobile Asset Tracking (MAT) or the Mobile Asset Management (MAM) pricing plan is selected.
Billing is determined by the resource usage, the associated pricing plan, and data source that was specified. For more information about each pricing plan option and restrictions, see the Amazon Location Service pricing page.
Valid Values: Esri
| Here
The data source selected for the geofence collection and associated pricing plan.
", "DescribeMapResponse$DataSource": "Specifies the data provider for the associated map tiles.
", - "DescribePlaceIndexResponse$DataSource": "The data provider of geospatial data.
", + "DescribePlaceIndexResponse$DataSource": "The data provider of geospatial data. Indicates one of the available providers:
Esri
Here
For additional details on data providers, see the Amazon Location Service data providers page.
", + "DescribeTrackerResponse$PricingPlanDataSource": "The data source selected for the tracker resource and associated pricing plan.
", "GetGeofenceResponse$Status": "Identifies the state of the geofence. A geofence will hold one of the following states:
ACTIVE
— The geofence has been indexed by the system.
PENDING
— The geofence is being processed by the system.
FAILED
— The geofence failed to be indexed by the system.
DELETED
— The geofence has been deleted from the system index.
DELETING
— The geofence is being deleted from the system index.
A comma-separated list of fonts to load glyphs from in order of preference.. For example, Noto Sans, Arial Unicode
.
The map glyph content type. For example, application/octet-stream
.
The style descriptor's content type. For example, application/json
.
The map tile's content type. For example, application/vnd.mapbox-vector-tile
.
The data source selected for the geofence collection and associated pricing plan.
", "ListGeofenceResponseEntry$Status": "Identifies the state of the geofence. A geofence will hold one of the following states:
ACTIVE
— The geofence has been indexed by the system.
PENDING
— The geofence is being processed by the system.
FAILED
— The geofence failed to be indexed by the system.
DELETED
— The geofence has been deleted from the system index.
DELETING
— The geofence is being deleted from the system index.
Specifies the data provider for the associated map tiles.
", - "ListPlaceIndexesResponseEntry$DataSource": "The data provider of geospatial data.
", + "ListPlaceIndexesResponseEntry$DataSource": "The data provider of geospatial data. Indicates one of the available providers:
Esri
HERE
For additional details on data providers, see the Amazon Location Service data providers page.
", + "ListTrackersResponseEntry$PricingPlanDataSource": "The data source selected for the tracker resource and associated pricing plan.
", "Place$AddressNumber": "The numerical portion of an address, such as a building number.
", "Place$Country": "A country/region specified using ISO 3166 3-digit country/region code. For example, CAN
.
The full name and address of the point of interest such as a city, region, or country. For example, 123 Any Street, Any Town, USA
.
The name for a street or a road to identify a location. For example, Main Street
.
A country, or an area that's part of a larger region . For example, Metro Vancouver
.
The data provider of geospatial data for the Place index resource.
", - "SearchPlaceIndexForTextSummary$DataSource": "The data provider of geospatial data for the Place index resource.
", + "SearchPlaceIndexForPositionSummary$DataSource": "The data provider of geospatial data. Indicates one of the available providers:
Esri
HERE
For additional details on data providers, see the Amazon Location Service data providers page.
", + "SearchPlaceIndexForTextSummary$DataSource": "The data provider of geospatial data. Indicates one of the available providers:
Esri
HERE
For additional details on data providers, see the Amazon Location Service data providers page.
", "ThrottlingException$Message": null, "ValidationException$Message": null, "ValidationExceptionField$Message": "A message with the reason for the validation exception error.
", @@ -1014,7 +1028,7 @@ "BatchEvaluateGeofencesError$SampleTime": "Specifies a timestamp for when the error occurred in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when a position sample was attempted in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the Place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the Place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the tracker resource recieved the position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the position was detected and sampled in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the position update was received in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The given time for EndTimeExclusive
must be after the time for StartTimeInclusive
.
Specify the start time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The given time for EndTimeExclusive
must be after the time for StartTimeInclusive
.
The timestamp for when the tracker resource recieved the position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the position was detected and sampled in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
. By default, the value will be the time that the request is made.
Requirement:
The time specified for EndTimeExclusive
must be after the time for StartTimeInclusive
.
Specify the start time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
. By default, the value will be 24 hours prior to the time that the request is made.
Requirement:
The time specified for StartTimeInclusive
must be before EndTimeExclusive
.
The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the Place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the Place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the position was detected and sampled in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
.
The timestamp for when the geofence was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ
Attaches an IAM policy to the specified resource. Use this to share a rule group across accounts.
You must be the owner of the rule group to perform this operation.
This action is subject to the following restrictions:
You can attach only one policy with each PutPermissionPolicy
request.
The ARN in the request must be a valid WAF RuleGroup ARN and the rule group must exist in the same region.
The user making the request must be the owner of the rule group.
Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing. For example, you might set the tag key to \"customer\" and the value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for a resource.
You can tag the AWS resources that you manage through AWS WAF: web ACLs, rule groups, IP sets, and regex pattern sets. You can't manage or view tags through the AWS WAF console.
", "UntagResource": "Disassociates tags from an AWS resource. Tags are key:value pairs that you can associate with AWS resources. For example, the tag key might be \"customer\" and the tag value might be \"companyA.\" You can specify one or more tags to add to each container. You can add up to 50 tags to each AWS resource.
", - "UpdateIPSet": "Updates the specified IPSet.
This operation completely replaces any IP address specifications that you already have in the IP set with the ones that you provide to this call. If you want to add to or modify the addresses that are already in the IP set, retrieve those by calling GetIPSet, update them, and provide the complete updated array of IP addresses to this call.
Updates the specified IPSet.
", "UpdateRegexPatternSet": "Updates the specified RegexPatternSet.
", "UpdateRuleGroup": "Updates the specified RuleGroup.
A rule group defines a collection of rules to inspect and control web requests that you can use in a WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.
", "UpdateWebACL": "Updates the specified WebACL.
A Web ACL defines a collection of rules to use to inspect and control web requests. Each rule has an action defined (allow, block, or count) for requests that match the statement of the rule. In the Web ACL, you assign a default action to take (allow, block) for any request that does not match any of the rules. The rules in a Web ACL can be a combination of the types Rule, RuleGroup, and managed rule group. You can associate a Web ACL with one or more AWS resources to protect. The resources can be Amazon CloudFront, an Amazon API Gateway REST API, an Application Load Balancer, or an AWS AppSync GraphQL API.
" @@ -63,7 +63,7 @@ } }, "AllowAction": { - "base": "Specifies that AWS WAF should allow requests.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", + "base": "Specifies that AWS WAF should allow the request and optionally defines additional custom handling for the request.
This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", "refs": { "DefaultAction$Allow": "Specifies that AWS WAF should allow requests by default.
", "RuleAction$Allow": "Instructs AWS WAF to allow the web request.
" @@ -86,7 +86,7 @@ } }, "BlockAction": { - "base": "Specifies that AWS WAF should block requests.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", + "base": "Specifies that AWS WAF should block the request and optionally defines additional custom handling for the response to the web request.
This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", "refs": { "DefaultAction$Block": "Specifies that AWS WAF should block requests by default.
", "RuleAction$Block": "Instructs AWS WAF to block the web request.
" @@ -101,7 +101,7 @@ "BodyParsingFallbackBehavior": { "base": null, "refs": { - "JsonBody$InvalidFallbackBehavior": "What AWS WAF should do if it fails to completely parse the JSON body. The options are the following:
EVALUATE_AS_STRING
- Inspect the body as plain text. AWS WAF applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
MATCH
- Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.
NO_MATCH
- Treat the web request as not matching the rule statement.
If you don't provide this setting, AWS WAF parses and evaluates the content only up to the first parsing failure that it encounters.
AWS WAF does its best to parse the entire JSON body, but might be forced to stop for reasons such as invalid characters, duplicate keys, truncation, and any content whose root node isn't an object or an array.
AWS WAF parses the JSON in the following examples as two valid key, value pairs:
Missing comma: {\"key1\":\"value1\"\"key2\":\"value2\"}
Missing colon: {\"key1\":\"value1\",\"key2\"\"value2\"}
Extra colons: {\"key1\"::\"value1\",\"key2\"\"value2\"}
The inspection behavior to fall back to if the JSON in the request body is invalid. For AWS WAF, invalid JSON is any content that isn't complete syntactical JSON, content whose root node isn't an object or an array, and duplicate keys in the content.
You can specify the following fallback behaviors:
MATCH
- Treat the web request as matching the rule statement. AWS WAF applies the rule action to the request.
NO_MATCH
- Treat the web request as not matching the rule statement.
EVALUATE_AS_STRING
- Inspect the body as plain text. This option applies the text transformations and inspection criteria that you defined for the JSON inspection to the body text string.
If you don't provide this setting, when AWS WAF encounters invalid JSON, it parses and inspects what it can, up to the first invalid JSON that it encounters.
" } }, "Boolean": { @@ -151,7 +151,7 @@ } }, "CountAction": { - "base": "Specifies that AWS WAF should count requests.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", + "base": "Specifies that AWS WAF should count the request. Optionally defines additional custom handling for the request.
This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", "refs": { "OverrideAction$Count": "Override the rule action setting to count.
", "RuleAction$Count": "Instructs AWS WAF to count the web request and allow it.
" @@ -215,8 +215,63 @@ "refs": { } }, + "CustomHTTPHeader": { + "base": "A custom header for custom request and response handling. This is used in CustomResponse and CustomRequestHandling.
", + "refs": { + "CustomHTTPHeaders$member": null + } + }, + "CustomHTTPHeaderName": { + "base": null, + "refs": { + "CustomHTTPHeader$Name": "The name of the custom header.
For custom request header insertion, when AWS WAF inserts the header into the request, it prefixes this name x-amzn-waf-
, to avoid confusion with the headers that are already in the request. For example, for the header name sample
, AWS WAF inserts the header x-amzn-waf-sample
.
The value of the custom header.
" + } + }, + "CustomHTTPHeaders": { + "base": null, + "refs": { + "CustomRequestHandling$InsertHeaders": "The HTTP headers to insert into the request. Duplicate header names are not allowed.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
", + "CustomResponse$ResponseHeaders": "The HTTP headers to use in the response. Duplicate header names are not allowed.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
" + } + }, + "CustomRequestHandling": { + "base": "Custom request handling behavior that inserts custom headers into a web request. You can add custom request handling for the rule actions allow and count.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
", + "refs": { + "AllowAction$CustomRequestHandling": "Defines custom handling for the web request.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
", + "CountAction$CustomRequestHandling": "Defines custom handling for the web request.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
" + } + }, + "CustomResponse": { + "base": "A custom response to send to the client. You can define a custom response for rule actions and default web ACL actions that are set to BlockAction.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
", + "refs": { + "BlockAction$CustomResponse": "Defines a custom response for the web request.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
" + } + }, + "CustomResponseBodies": { + "base": null, + "refs": { + "CreateRuleGroupRequest$CustomResponseBodies": "A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
", + "CreateWebACLRequest$CustomResponseBodies": "A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
", + "RuleGroup$CustomResponseBodies": "A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
", + "UpdateRuleGroupRequest$CustomResponseBodies": "A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the rule group, and then use them in the rules that you define in the rule group.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
", + "UpdateWebACLRequest$CustomResponseBodies": "A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
", + "WebACL$CustomResponseBodies": "A map of custom response keys and content bodies. When you create a rule with a block action, you can send a custom response to the web request. You define these for the web ACL, and then use them in the rules and default actions that you define in the web ACL.
For information about customizing web requests and responses, see Customizing web requests and responses in AWS WAF in the AWS WAF Developer Guide.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
" + } + }, + "CustomResponseBody": { + "base": "The response body to use in a custom response to a web request. This is referenced by key from CustomResponse CustomResponseBodyKey
.
In a WebACL, this is the action that you want AWS WAF to perform when a web request doesn't match any of the rules in the WebACL
. The default action must be a terminating action, so count is not allowed.
In a WebACL, this is the action that you want AWS WAF to perform when a web request doesn't match any of the rules in the WebACL
. The default action must be a terminating action, so you can't use count.
The action to perform if none of the Rules
contained in the WebACL
match.
The action to perform if none of the Rules
contained in the WebACL
match.
The name of the set. You cannot change the name after you create the set.
", "CreateRuleGroupRequest$Name": "The name of the rule group. You cannot change the name of a rule group after you create it.
", "CreateWebACLRequest$Name": "The name of the Web ACL. You cannot change the name of a Web ACL after you create it.
", + "CustomResponse$CustomResponseBodyKey": "References the response body that you want AWS WAF to return to the web request client. You can define a custom response for a rule action or a default web ACL action that is set to block. To do this, you first define the response body key and value in the CustomResponseBodies
setting for the WebACL or RuleGroup where you want to use it. Then, in the rule action or web ACL default action BlockAction
setting, you reference the response body using this key.
The name of the IP set. You cannot change the name of an IPSet
after you create it.
The name of the set. You cannot change the name after you create the set.
", "DeleteRuleGroupRequest$Name": "The name of the rule group. You cannot change the name of a rule group after you create it.
", @@ -608,7 +665,8 @@ "HTTPHeaders": { "base": null, "refs": { - "HTTPRequest$Headers": "A complex type that contains the name and value for each header in the sampled web request.
" + "HTTPRequest$Headers": "A complex type that contains the name and value for each header in the sampled web request.
", + "SampledHTTPRequest$RequestHeadersInserted": "Custom request headers inserted by AWS WAF into the request, according to the custom request configuration for the matching rule action.
" } }, "HTTPMethod": { @@ -917,7 +975,7 @@ } }, "NoneAction": { - "base": "Specifies that AWS WAF should do nothing. This is generally used to try out a rule without performing any actions. You set the OverrideAction
on the Rule.
This is used only in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", + "base": "Specifies that AWS WAF should do nothing. This is generally used to try out a rule without performing any actions. You set the OverrideAction
on the Rule.
This is used in the context of other settings, for example to specify values for RuleAction and web ACL DefaultAction.
", "refs": { "OverrideAction$None": "Don't override the rule action setting.
" } @@ -1133,6 +1191,25 @@ "ListResourcesForWebACLRequest$ResourceType": "Used for web ACLs that are scoped for regional applications. A regional application can be an Application Load Balancer (ALB), an API Gateway REST API, or an AppSync GraphQL API.
" } }, + "ResponseContent": { + "base": null, + "refs": { + "CustomResponseBody$Content": "The payload of the custom response.
You can use JSON escape strings in JSON content. To do this, you must specify JSON content in the ContentType
setting.
For information about the limits on count and size for custom request and response settings, see AWS WAF quotas in the AWS WAF Developer Guide.
" + } + }, + "ResponseContentType": { + "base": null, + "refs": { + "CustomResponseBody$ContentType": "The type of content in the payload that you are defining in the Content
string.
The HTTP status code to return to the client.
For a list of status codes that you can use in your custom reqponses, see Supported status codes for custom response in the AWS WAF Developer Guide.
", + "SampledHTTPRequest$ResponseCodeSent": "The response code that was sent for the request.
" + } + }, "Rule": { "base": "A single rule, which you can use in a WebACL or RuleGroup to identify web requests that you want to allow, block, or count. Each rule includes one top-level Statement that AWS WAF uses to identify matching web requests, and parameters that govern how AWS WAF handles them.
", "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 5f6079dcecb..ddc9574fd26 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5210,6 +5210,90 @@ "signatureVersions" : [ "s3v4" ] }, "endpoints" : { + "accesspoint-af-south-1" : { + "hostname" : "s3-accesspoint.af-south-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-east-1" : { + "hostname" : "s3-accesspoint.ap-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-northeast-1" : { + "hostname" : "s3-accesspoint.ap-northeast-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-northeast-2" : { + "hostname" : "s3-accesspoint.ap-northeast-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-northeast-3" : { + "hostname" : "s3-accesspoint.ap-northeast-3.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-south-1" : { + "hostname" : "s3-accesspoint.ap-south-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-southeast-1" : { + "hostname" : "s3-accesspoint.ap-southeast-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ap-southeast-2" : { + "hostname" : "s3-accesspoint.ap-southeast-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-ca-central-1" : { + "hostname" : "s3-accesspoint.ca-central-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-eu-central-1" : { + "hostname" : "s3-accesspoint.eu-central-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-eu-north-1" : { + "hostname" : "s3-accesspoint.eu-north-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-eu-south-1" : { + "hostname" : "s3-accesspoint.eu-south-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-eu-west-1" : { + "hostname" : "s3-accesspoint.eu-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-eu-west-2" : { + "hostname" : "s3-accesspoint.eu-west-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-eu-west-3" : { + "hostname" : "s3-accesspoint.eu-west-3.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-me-south-1" : { + "hostname" : "s3-accesspoint.me-south-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-sa-east-1" : { + "hostname" : "s3-accesspoint.sa-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-us-east-1" : { + "hostname" : "s3-accesspoint.us-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-us-east-2" : { + "hostname" : "s3-accesspoint.us-east-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-us-west-1" : { + "hostname" : "s3-accesspoint.us-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-us-west-2" : { + "hostname" : "s3-accesspoint.us-west-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { @@ -5244,6 +5328,26 @@ }, "eu-west-2" : { }, "eu-west-3" : { }, + "fips-accesspoint-ca-central-1" : { + "hostname" : "s3-accesspoint-fips.ca-central-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "fips-accesspoint-us-east-1" : { + "hostname" : "s3-accesspoint-fips.us-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "fips-accesspoint-us-east-2" : { + "hostname" : "s3-accesspoint-fips.us-east-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "fips-accesspoint-us-west-1" : { + "hostname" : "s3-accesspoint-fips.us-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "fips-accesspoint-us-west-2" : { + "hostname" : "s3-accesspoint-fips.us-west-2.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, "me-south-1" : { }, "s3-external-1" : { "credentialScope" : { @@ -7512,6 +7616,14 @@ "signatureVersions" : [ "s3v4" ] }, "endpoints" : { + "accesspoint-cn-north-1" : { + "hostname" : "s3-accesspoint.cn-north-1.amazonaws.com.cn", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-cn-northwest-1" : { + "hostname" : "s3-accesspoint.cn-northwest-1.amazonaws.com.cn", + "signatureVersions" : [ "s3v4" ] + }, "cn-north-1" : { }, "cn-northwest-1" : { } } @@ -8982,6 +9094,22 @@ "signatureVersions" : [ "s3", "s3v4" ] }, "endpoints" : { + "accesspoint-us-gov-east-1" : { + "hostname" : "s3-accesspoint.us-gov-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "accesspoint-us-gov-west-1" : { + "hostname" : "s3-accesspoint.us-gov-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "fips-accesspoint-us-gov-east-1" : { + "hostname" : "s3-accesspoint-fips.us-gov-east-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, + "fips-accesspoint-us-gov-west-1" : { + "hostname" : "s3-accesspoint-fips.us-gov-west-1.amazonaws.com", + "signatureVersions" : [ "s3v4" ] + }, "fips-us-gov-west-1" : { "credentialScope" : { "region" : "us-gov-west-1" diff --git a/service/docdb/api.go b/service/docdb/api.go index bacc69d58c7..b707fa193eb 100644 --- a/service/docdb/api.go +++ b/service/docdb/api.go @@ -13,6 +13,88 @@ import ( "github.com/aws/aws-sdk-go/private/protocol/query" ) +const opAddSourceIdentifierToSubscription = "AddSourceIdentifierToSubscription" + +// AddSourceIdentifierToSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the AddSourceIdentifierToSubscription 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 AddSourceIdentifierToSubscription for more information on using the AddSourceIdentifierToSubscription +// 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 AddSourceIdentifierToSubscriptionRequest method. +// req, resp := client.AddSourceIdentifierToSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddSourceIdentifierToSubscription +func (c *DocDB) AddSourceIdentifierToSubscriptionRequest(input *AddSourceIdentifierToSubscriptionInput) (req *request.Request, output *AddSourceIdentifierToSubscriptionOutput) { + op := &request.Operation{ + Name: opAddSourceIdentifierToSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AddSourceIdentifierToSubscriptionInput{} + } + + output = &AddSourceIdentifierToSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddSourceIdentifierToSubscription API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Adds a source identifier to an existing event notification subscription. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation AddSourceIdentifierToSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" +// The subscription name does not exist. +// +// * ErrCodeSourceNotFoundFault "SourceNotFound" +// The requested source could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/AddSourceIdentifierToSubscription +func (c *DocDB) AddSourceIdentifierToSubscription(input *AddSourceIdentifierToSubscriptionInput) (*AddSourceIdentifierToSubscriptionOutput, error) { + req, out := c.AddSourceIdentifierToSubscriptionRequest(input) + return out, req.Send() +} + +// AddSourceIdentifierToSubscriptionWithContext is the same as AddSourceIdentifierToSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See AddSourceIdentifierToSubscription 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 *DocDB) AddSourceIdentifierToSubscriptionWithContext(ctx aws.Context, input *AddSourceIdentifierToSubscriptionInput, opts ...request.Option) (*AddSourceIdentifierToSubscriptionOutput, error) { + req, out := c.AddSourceIdentifierToSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAddTagsToResource = "AddTagsToResource" // AddTagsToResourceRequest generates a "aws/request.Request" representing the @@ -918,6 +1000,123 @@ func (c *DocDB) CreateDBSubnetGroupWithContext(ctx aws.Context, input *CreateDBS return out, req.Send() } +const opCreateEventSubscription = "CreateEventSubscription" + +// CreateEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the CreateEventSubscription 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 CreateEventSubscription for more information on using the CreateEventSubscription +// 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 CreateEventSubscriptionRequest method. +// req, resp := client.CreateEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateEventSubscription +func (c *DocDB) CreateEventSubscriptionRequest(input *CreateEventSubscriptionInput) (req *request.Request, output *CreateEventSubscriptionOutput) { + op := &request.Operation{ + Name: opCreateEventSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateEventSubscriptionInput{} + } + + output = &CreateEventSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Creates an Amazon DocumentDB event notification subscription. This action +// requires a topic Amazon Resource Name (ARN) created by using the Amazon DocumentDB +// console, the Amazon SNS console, or the Amazon SNS API. To obtain an ARN +// with Amazon SNS, you must create a topic in Amazon SNS and subscribe to the +// topic. The ARN is displayed in the Amazon SNS console. +// +// You can specify the type of source (SourceType) that you want to be notified +// of. You can also provide a list of Amazon DocumentDB sources (SourceIds) +// that trigger the events, and you can provide a list of event categories (EventCategories) +// for events that you want to be notified of. For example, you can specify +// SourceType = db-instance, SourceIds = mydbinstance1, mydbinstance2 and EventCategories +// = Availability, Backup. +// +// If you specify both the SourceType and SourceIds (such as SourceType = db-instance +// and SourceIdentifier = myDBInstance1), you are notified of all the db-instance +// events for the specified source. If you specify a SourceType but do not specify +// a SourceIdentifier, you receive notice of the events for that source type +// for all your Amazon DocumentDB sources. If you do not specify either the +// SourceType or the SourceIdentifier, you are notified of events generated +// from all Amazon DocumentDB sources belonging to your customer account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation CreateEventSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded" +// You have reached the maximum number of event subscriptions. +// +// * ErrCodeSubscriptionAlreadyExistFault "SubscriptionAlreadyExist" +// The provided subscription name already exists. +// +// * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic" +// Amazon SNS has responded that there is a problem with the specified topic. +// +// * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization" +// You do not have permission to publish to the SNS topic Amazon Resource Name +// (ARN). +// +// * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound" +// The SNS topic Amazon Resource Name (ARN) does not exist. +// +// * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound" +// The provided category does not exist. +// +// * ErrCodeSourceNotFoundFault "SourceNotFound" +// The requested source could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateEventSubscription +func (c *DocDB) CreateEventSubscription(input *CreateEventSubscriptionInput) (*CreateEventSubscriptionOutput, error) { + req, out := c.CreateEventSubscriptionRequest(input) + return out, req.Send() +} + +// CreateEventSubscriptionWithContext is the same as CreateEventSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEventSubscription 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 *DocDB) CreateEventSubscriptionWithContext(ctx aws.Context, input *CreateEventSubscriptionInput, opts ...request.Option) (*CreateEventSubscriptionOutput, error) { + req, out := c.CreateEventSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDBCluster = "DeleteDBCluster" // DeleteDBClusterRequest generates a "aws/request.Request" representing the @@ -1361,6 +1560,89 @@ func (c *DocDB) DeleteDBSubnetGroupWithContext(ctx aws.Context, input *DeleteDBS return out, req.Send() } +const opDeleteEventSubscription = "DeleteEventSubscription" + +// DeleteEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEventSubscription 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 DeleteEventSubscription for more information on using the DeleteEventSubscription +// 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 DeleteEventSubscriptionRequest method. +// req, resp := client.DeleteEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteEventSubscription +func (c *DocDB) DeleteEventSubscriptionRequest(input *DeleteEventSubscriptionInput) (req *request.Request, output *DeleteEventSubscriptionOutput) { + op := &request.Operation{ + Name: opDeleteEventSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteEventSubscriptionInput{} + } + + output = &DeleteEventSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Deletes an Amazon DocumentDB event notification subscription. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DeleteEventSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" +// The subscription name does not exist. +// +// * ErrCodeInvalidEventSubscriptionStateFault "InvalidEventSubscriptionState" +// Someone else might be modifying a subscription. Wait a few seconds, and try +// again. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DeleteEventSubscription +func (c *DocDB) DeleteEventSubscription(input *DeleteEventSubscriptionInput) (*DeleteEventSubscriptionOutput, error) { + req, out := c.DeleteEventSubscriptionRequest(input) + return out, req.Send() +} + +// DeleteEventSubscriptionWithContext is the same as DeleteEventSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEventSubscription 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 *DocDB) DeleteEventSubscriptionWithContext(ctx aws.Context, input *DeleteEventSubscriptionInput, opts ...request.Option) (*DeleteEventSubscriptionOutput, error) { + req, out := c.DeleteEventSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeCertificates = "DescribeCertificates" // DescribeCertificatesRequest generates a "aws/request.Request" representing the @@ -2698,35 +2980,35 @@ func (c *DocDB) DescribeEventCategoriesWithContext(ctx aws.Context, input *Descr return out, req.Send() } -const opDescribeEvents = "DescribeEvents" +const opDescribeEventSubscriptions = "DescribeEventSubscriptions" -// DescribeEventsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeEvents operation. The "output" return +// DescribeEventSubscriptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEventSubscriptions 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 DescribeEvents for more information on using the DescribeEvents +// See DescribeEventSubscriptions for more information on using the DescribeEventSubscriptions // 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 DescribeEventsRequest method. -// req, resp := client.DescribeEventsRequest(params) +// // Example sending a request using the DescribeEventSubscriptionsRequest method. +// req, resp := client.DescribeEventSubscriptionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents -func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventSubscriptions +func (c *DocDB) DescribeEventSubscriptionsRequest(input *DescribeEventSubscriptionsInput) (req *request.Request, output *DescribeEventSubscriptionsOutput) { op := &request.Operation{ - Name: opDescribeEvents, + Name: opDescribeEventSubscriptions, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2738,86 +3020,92 @@ func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request. } if input == nil { - input = &DescribeEventsInput{} + input = &DescribeEventSubscriptionsInput{} } - output = &DescribeEventsOutput{} + output = &DescribeEventSubscriptionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility. +// DescribeEventSubscriptions API operation for Amazon DocumentDB with MongoDB compatibility. // -// Returns events related to instances, security groups, snapshots, and DB parameter -// groups for the past 14 days. You can obtain events specific to a particular -// DB instance, security group, snapshot, or parameter group by providing the -// name as a parameter. By default, the events of the past hour are returned. +// Lists all the subscription descriptions for a customer account. The description +// for a subscription includes SubscriptionName, SNSTopicARN, CustomerID, SourceType, +// SourceID, CreationTime, and Status. +// +// If you specify a SubscriptionName, lists the description for that subscription. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's -// API operation DescribeEvents for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents -func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { - req, out := c.DescribeEventsRequest(input) +// API operation DescribeEventSubscriptions for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" +// The subscription name does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEventSubscriptions +func (c *DocDB) DescribeEventSubscriptions(input *DescribeEventSubscriptionsInput) (*DescribeEventSubscriptionsOutput, error) { + req, out := c.DescribeEventSubscriptionsRequest(input) return out, req.Send() } -// DescribeEventsWithContext is the same as DescribeEvents with the addition of +// DescribeEventSubscriptionsWithContext is the same as DescribeEventSubscriptions with the addition of // the ability to pass a context and additional request options. // -// See DescribeEvents for details on how to use this API operation. +// See DescribeEventSubscriptions 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 *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { - req, out := c.DescribeEventsRequest(input) +func (c *DocDB) DescribeEventSubscriptionsWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, opts ...request.Option) (*DescribeEventSubscriptionsOutput, error) { + req, out := c.DescribeEventSubscriptionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// DescribeEventSubscriptionsPages iterates over the pages of a DescribeEventSubscriptions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeEvents method for more information on how to use this operation. +// See DescribeEventSubscriptions 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 DescribeEvents operation. +// // Example iterating over at most 3 pages of a DescribeEventSubscriptions operation. // pageNum := 0 -// err := client.DescribeEventsPages(params, -// func(page *docdb.DescribeEventsOutput, lastPage bool) bool { +// err := client.DescribeEventSubscriptionsPages(params, +// func(page *docdb.DescribeEventSubscriptionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { - return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *DocDB) DescribeEventSubscriptionsPages(input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool) error { + return c.DescribeEventSubscriptionsPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeEventsPagesWithContext same as DescribeEventsPages except +// DescribeEventSubscriptionsPagesWithContext same as DescribeEventSubscriptionsPages 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 *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { +func (c *DocDB) DescribeEventSubscriptionsPagesWithContext(ctx aws.Context, input *DescribeEventSubscriptionsInput, fn func(*DescribeEventSubscriptionsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeEventsInput + var inCpy *DescribeEventSubscriptionsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeEventsRequest(inCpy) + req, _ := c.DescribeEventSubscriptionsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2825,7 +3113,7 @@ func (c *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeE } for p.Next() { - if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeEventSubscriptionsOutput), !p.HasNextPage()) { break } } @@ -2833,35 +3121,35 @@ func (c *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeE return p.Err() } -const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions" +const opDescribeEvents = "DescribeEvents" -// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeOrderableDBInstanceOptions operation. The "output" return +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents 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 DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions +// See DescribeEvents for more information on using the DescribeEvents // 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 DescribeOrderableDBInstanceOptionsRequest method. -// req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params) +// // Example sending a request using the DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions -func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents +func (c *DocDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { op := &request.Operation{ - Name: opDescribeOrderableDBInstanceOptions, + Name: opDescribeEvents, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2873,31 +3161,166 @@ func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderab } if input == nil { - input = &DescribeOrderableDBInstanceOptionsInput{} + input = &DescribeEventsInput{} } - output = &DescribeOrderableDBInstanceOptionsOutput{} + output = &DescribeEventsOutput{} req = c.newRequest(op, input, output) return } -// DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility. +// DescribeEvents API operation for Amazon DocumentDB with MongoDB compatibility. // -// Returns a list of orderable instance options for the specified engine. +// Returns events related to instances, security groups, snapshots, and DB parameter +// groups for the past 14 days. You can obtain events specific to a particular +// DB instance, security group, snapshot, or parameter group by providing the +// name as a parameter. By default, the events of the past hour are returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's -// API operation DescribeOrderableDBInstanceOptions for usage and error information. -// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions -func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) { - req, out := c.DescribeOrderableDBInstanceOptionsRequest(input) +// API operation DescribeEvents for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeEvents +func (c *DocDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { + req, out := c.DescribeEventsRequest(input) return out, req.Send() } -// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of +// DescribeEventsWithContext is the same as DescribeEvents with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEvents 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 *DocDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { + req, out := c.DescribeEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeEventsPages iterates over the pages of a DescribeEvents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeEvents 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 DescribeEvents operation. +// pageNum := 0 +// err := client.DescribeEventsPages(params, +// func(page *docdb.DescribeEventsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *DocDB) DescribeEventsPages(input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool) error { + return c.DescribeEventsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeEventsPagesWithContext same as DescribeEventsPages 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 *DocDB) DescribeEventsPagesWithContext(ctx aws.Context, input *DescribeEventsInput, fn func(*DescribeEventsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeEventsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeEventsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeEventsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeOrderableDBInstanceOptions = "DescribeOrderableDBInstanceOptions" + +// DescribeOrderableDBInstanceOptionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeOrderableDBInstanceOptions 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 DescribeOrderableDBInstanceOptions for more information on using the DescribeOrderableDBInstanceOptions +// 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 DescribeOrderableDBInstanceOptionsRequest method. +// req, resp := client.DescribeOrderableDBInstanceOptionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions +func (c *DocDB) DescribeOrderableDBInstanceOptionsRequest(input *DescribeOrderableDBInstanceOptionsInput) (req *request.Request, output *DescribeOrderableDBInstanceOptionsOutput) { + op := &request.Operation{ + Name: opDescribeOrderableDBInstanceOptions, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"Marker"}, + OutputTokens: []string{"Marker"}, + LimitToken: "MaxRecords", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeOrderableDBInstanceOptionsInput{} + } + + output = &DescribeOrderableDBInstanceOptionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeOrderableDBInstanceOptions API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Returns a list of orderable instance options for the specified engine. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation DescribeOrderableDBInstanceOptions for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/DescribeOrderableDBInstanceOptions +func (c *DocDB) DescribeOrderableDBInstanceOptions(input *DescribeOrderableDBInstanceOptionsInput) (*DescribeOrderableDBInstanceOptionsOutput, error) { + req, out := c.DescribeOrderableDBInstanceOptionsRequest(input) + return out, req.Send() +} + +// DescribeOrderableDBInstanceOptionsWithContext is the same as DescribeOrderableDBInstanceOptions with the addition of // the ability to pass a context and additional request options. // // See DescribeOrderableDBInstanceOptions for details on how to use this API operation. @@ -3809,6 +4232,101 @@ func (c *DocDB) ModifyDBSubnetGroupWithContext(ctx aws.Context, input *ModifyDBS return out, req.Send() } +const opModifyEventSubscription = "ModifyEventSubscription" + +// ModifyEventSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the ModifyEventSubscription 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 ModifyEventSubscription for more information on using the ModifyEventSubscription +// 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 ModifyEventSubscriptionRequest method. +// req, resp := client.ModifyEventSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyEventSubscription +func (c *DocDB) ModifyEventSubscriptionRequest(input *ModifyEventSubscriptionInput) (req *request.Request, output *ModifyEventSubscriptionOutput) { + op := &request.Operation{ + Name: opModifyEventSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ModifyEventSubscriptionInput{} + } + + output = &ModifyEventSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// ModifyEventSubscription API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Modifies an existing Amazon DocumentDB event notification subscription. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation ModifyEventSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeEventSubscriptionQuotaExceededFault "EventSubscriptionQuotaExceeded" +// You have reached the maximum number of event subscriptions. +// +// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" +// The subscription name does not exist. +// +// * ErrCodeSNSInvalidTopicFault "SNSInvalidTopic" +// Amazon SNS has responded that there is a problem with the specified topic. +// +// * ErrCodeSNSNoAuthorizationFault "SNSNoAuthorization" +// You do not have permission to publish to the SNS topic Amazon Resource Name +// (ARN). +// +// * ErrCodeSNSTopicArnNotFoundFault "SNSTopicArnNotFound" +// The SNS topic Amazon Resource Name (ARN) does not exist. +// +// * ErrCodeSubscriptionCategoryNotFoundFault "SubscriptionCategoryNotFound" +// The provided category does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/ModifyEventSubscription +func (c *DocDB) ModifyEventSubscription(input *ModifyEventSubscriptionInput) (*ModifyEventSubscriptionOutput, error) { + req, out := c.ModifyEventSubscriptionRequest(input) + return out, req.Send() +} + +// ModifyEventSubscriptionWithContext is the same as ModifyEventSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See ModifyEventSubscription 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 *DocDB) ModifyEventSubscriptionWithContext(ctx aws.Context, input *ModifyEventSubscriptionInput, opts ...request.Option) (*ModifyEventSubscriptionOutput, error) { + req, out := c.ModifyEventSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRebootDBInstance = "RebootDBInstance" // RebootDBInstanceRequest generates a "aws/request.Request" representing the @@ -3898,6 +4416,89 @@ func (c *DocDB) RebootDBInstanceWithContext(ctx aws.Context, input *RebootDBInst return out, req.Send() } +const opRemoveSourceIdentifierFromSubscription = "RemoveSourceIdentifierFromSubscription" + +// RemoveSourceIdentifierFromSubscriptionRequest generates a "aws/request.Request" representing the +// client's request for the RemoveSourceIdentifierFromSubscription 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 RemoveSourceIdentifierFromSubscription for more information on using the RemoveSourceIdentifierFromSubscription +// 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 RemoveSourceIdentifierFromSubscriptionRequest method. +// req, resp := client.RemoveSourceIdentifierFromSubscriptionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveSourceIdentifierFromSubscription +func (c *DocDB) RemoveSourceIdentifierFromSubscriptionRequest(input *RemoveSourceIdentifierFromSubscriptionInput) (req *request.Request, output *RemoveSourceIdentifierFromSubscriptionOutput) { + op := &request.Operation{ + Name: opRemoveSourceIdentifierFromSubscription, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RemoveSourceIdentifierFromSubscriptionInput{} + } + + output = &RemoveSourceIdentifierFromSubscriptionOutput{} + req = c.newRequest(op, input, output) + return +} + +// RemoveSourceIdentifierFromSubscription API operation for Amazon DocumentDB with MongoDB compatibility. +// +// Removes a source identifier from an existing Amazon DocumentDB event notification +// subscription. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon DocumentDB with MongoDB compatibility's +// API operation RemoveSourceIdentifierFromSubscription for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubscriptionNotFoundFault "SubscriptionNotFound" +// The subscription name does not exist. +// +// * ErrCodeSourceNotFoundFault "SourceNotFound" +// The requested source could not be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/RemoveSourceIdentifierFromSubscription +func (c *DocDB) RemoveSourceIdentifierFromSubscription(input *RemoveSourceIdentifierFromSubscriptionInput) (*RemoveSourceIdentifierFromSubscriptionOutput, error) { + req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input) + return out, req.Send() +} + +// RemoveSourceIdentifierFromSubscriptionWithContext is the same as RemoveSourceIdentifierFromSubscription with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveSourceIdentifierFromSubscription 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 *DocDB) RemoveSourceIdentifierFromSubscriptionWithContext(ctx aws.Context, input *RemoveSourceIdentifierFromSubscriptionInput, opts ...request.Option) (*RemoveSourceIdentifierFromSubscriptionOutput, error) { + req, out := c.RemoveSourceIdentifierFromSubscriptionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opRemoveTagsFromResource = "RemoveTagsFromResource" // RemoveTagsFromResourceRequest generates a "aws/request.Request" representing the @@ -4521,6 +5122,93 @@ func (c *DocDB) StopDBClusterWithContext(ctx aws.Context, input *StopDBClusterIn return out, req.Send() } +// Represents the input to AddSourceIdentifierToSubscription. +type AddSourceIdentifierToSubscriptionInput struct { + _ struct{} `type:"structure"` + + // The identifier of the event source to be added: + // + // * If the source type is an instance, a DBInstanceIdentifier must be provided. + // + // * If the source type is a security group, a DBSecurityGroupName must be + // provided. + // + // * If the source type is a parameter group, a DBParameterGroupName must + // be provided. + // + // * If the source type is a snapshot, a DBSnapshotIdentifier must be provided. + // + // SourceIdentifier is a required field + SourceIdentifier *string `type:"string" required:"true"` + + // The name of the Amazon DocumentDB event notification subscription that you + // want to add a source identifier to. + // + // SubscriptionName is a required field + SubscriptionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s AddSourceIdentifierToSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddSourceIdentifierToSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddSourceIdentifierToSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddSourceIdentifierToSubscriptionInput"} + if s.SourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceIdentifier")) + } + if s.SubscriptionName == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *AddSourceIdentifierToSubscriptionInput) SetSourceIdentifier(v string) *AddSourceIdentifierToSubscriptionInput { + s.SourceIdentifier = &v + return s +} + +// SetSubscriptionName sets the SubscriptionName field's value. +func (s *AddSourceIdentifierToSubscriptionInput) SetSubscriptionName(v string) *AddSourceIdentifierToSubscriptionInput { + s.SubscriptionName = &v + return s +} + +type AddSourceIdentifierToSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about an event to which you have subscribed. + EventSubscription *EventSubscription `type:"structure"` +} + +// String returns the string representation +func (s AddSourceIdentifierToSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AddSourceIdentifierToSubscriptionOutput) GoString() string { + return s.String() +} + +// SetEventSubscription sets the EventSubscription field's value. +func (s *AddSourceIdentifierToSubscriptionOutput) SetEventSubscription(v *EventSubscription) *AddSourceIdentifierToSubscriptionOutput { + s.EventSubscription = v + return s +} + // Represents the input to AddTagsToResource. type AddTagsToResourceInput struct { _ struct{} `type:"structure"` @@ -5999,6 +6687,153 @@ func (s *CreateDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *CreateDB return s } +// Represents the input to CreateEventSubscription. +type CreateEventSubscriptionInput struct { + _ struct{} `type:"structure"` + + // A Boolean value; set to true to activate the subscription, set to false to + // create the subscription but not active it. + Enabled *bool `type:"boolean"` + + // A list of event categories for a SourceType that you want to subscribe to. + EventCategories []*string `locationNameList:"EventCategory" type:"list"` + + // The Amazon Resource Name (ARN) of the SNS topic created for event notification. + // Amazon SNS creates the ARN when you create a topic and subscribe to it. + // + // SnsTopicArn is a required field + SnsTopicArn *string `type:"string" required:"true"` + + // The list of identifiers of the event sources for which events are returned. + // If not specified, then all sources are included in the response. An identifier + // must begin with a letter and must contain only ASCII letters, digits, and + // hyphens; it can't end with a hyphen or contain two consecutive hyphens. + // + // Constraints: + // + // * If SourceIds are provided, SourceType must also be provided. + // + // * If the source type is an instance, a DBInstanceIdentifier must be provided. + // + // * If the source type is a security group, a DBSecurityGroupName must be + // provided. + // + // * If the source type is a parameter group, a DBParameterGroupName must + // be provided. + // + // * If the source type is a snapshot, a DBSnapshotIdentifier must be provided. + SourceIds []*string `locationNameList:"SourceId" type:"list"` + + // The type of source that is generating the events. For example, if you want + // to be notified of events generated by an instance, you would set this parameter + // to db-instance. If this value is not specified, all events are returned. + // + // Valid values: db-instance, db-cluster, db-parameter-group, db-security-group, + // db-snapshot, db-cluster-snapshot + SourceType *string `type:"string"` + + // The name of the subscription. + // + // Constraints: The name must be fewer than 255 characters. + // + // SubscriptionName is a required field + SubscriptionName *string `type:"string" required:"true"` + + // The tags to be assigned to the event subscription. + Tags []*Tag `locationNameList:"Tag" type:"list"` +} + +// String returns the string representation +func (s CreateEventSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEventSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEventSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEventSubscriptionInput"} + if s.SnsTopicArn == nil { + invalidParams.Add(request.NewErrParamRequired("SnsTopicArn")) + } + if s.SubscriptionName == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CreateEventSubscriptionInput) SetEnabled(v bool) *CreateEventSubscriptionInput { + s.Enabled = &v + return s +} + +// SetEventCategories sets the EventCategories field's value. +func (s *CreateEventSubscriptionInput) SetEventCategories(v []*string) *CreateEventSubscriptionInput { + s.EventCategories = v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *CreateEventSubscriptionInput) SetSnsTopicArn(v string) *CreateEventSubscriptionInput { + s.SnsTopicArn = &v + return s +} + +// SetSourceIds sets the SourceIds field's value. +func (s *CreateEventSubscriptionInput) SetSourceIds(v []*string) *CreateEventSubscriptionInput { + s.SourceIds = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *CreateEventSubscriptionInput) SetSourceType(v string) *CreateEventSubscriptionInput { + s.SourceType = &v + return s +} + +// SetSubscriptionName sets the SubscriptionName field's value. +func (s *CreateEventSubscriptionInput) SetSubscriptionName(v string) *CreateEventSubscriptionInput { + s.SubscriptionName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEventSubscriptionInput) SetTags(v []*Tag) *CreateEventSubscriptionInput { + s.Tags = v + return s +} + +type CreateEventSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about an event to which you have subscribed. + EventSubscription *EventSubscription `type:"structure"` +} + +// String returns the string representation +func (s CreateEventSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateEventSubscriptionOutput) GoString() string { + return s.String() +} + +// SetEventSubscription sets the EventSubscription field's value. +func (s *CreateEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *CreateEventSubscriptionOutput { + s.EventSubscription = v + return s +} + // Detailed information about a cluster. type DBCluster struct { _ struct{} `type:"structure"` @@ -7543,6 +8378,69 @@ func (s DeleteDBSubnetGroupOutput) GoString() string { return s.String() } +// Represents the input to DeleteEventSubscription. +type DeleteEventSubscriptionInput struct { + _ struct{} `type:"structure"` + + // The name of the Amazon DocumentDB event notification subscription that you + // want to delete. + // + // SubscriptionName is a required field + SubscriptionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteEventSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEventSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEventSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEventSubscriptionInput"} + if s.SubscriptionName == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSubscriptionName sets the SubscriptionName field's value. +func (s *DeleteEventSubscriptionInput) SetSubscriptionName(v string) *DeleteEventSubscriptionInput { + s.SubscriptionName = &v + return s +} + +type DeleteEventSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about an event to which you have subscribed. + EventSubscription *EventSubscription `type:"structure"` +} + +// String returns the string representation +func (s DeleteEventSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteEventSubscriptionOutput) GoString() string { + return s.String() +} + +// SetEventSubscription sets the EventSubscription field's value. +func (s *DeleteEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *DeleteEventSubscriptionOutput { + s.EventSubscription = v + return s +} + type DescribeCertificatesInput struct { _ struct{} `type:"structure"` @@ -8792,62 +9690,154 @@ func (s *DescribeEngineDefaultClusterParametersInput) SetMarker(v string) *Descr return s } -// SetMaxRecords sets the MaxRecords field's value. -func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput { - s.MaxRecords = &v +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeEngineDefaultClusterParametersInput) SetMaxRecords(v int64) *DescribeEngineDefaultClusterParametersInput { + s.MaxRecords = &v + return s +} + +type DescribeEngineDefaultClusterParametersOutput struct { + _ struct{} `type:"structure"` + + // Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters + // operation. + EngineDefaults *EngineDefaults `type:"structure"` +} + +// String returns the string representation +func (s DescribeEngineDefaultClusterParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngineDefaultClusterParametersOutput) GoString() string { + return s.String() +} + +// SetEngineDefaults sets the EngineDefaults field's value. +func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput { + s.EngineDefaults = v + return s +} + +// Represents the input to DescribeEventCategories. +type DescribeEventCategoriesInput struct { + _ struct{} `type:"structure"` + + // This parameter is not currently supported. + Filters []*Filter `locationNameList:"Filter" type:"list"` + + // The type of source that is generating the events. + // + // Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot + SourceType *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEventCategoriesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventCategoriesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeEventCategoriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"} + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput { + s.Filters = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput { + s.SourceType = &v return s } -type DescribeEngineDefaultClusterParametersOutput struct { +// Represents the output of DescribeEventCategories. +type DescribeEventCategoriesOutput struct { _ struct{} `type:"structure"` - // Contains the result of a successful invocation of the DescribeEngineDefaultClusterParameters - // operation. - EngineDefaults *EngineDefaults `type:"structure"` + // A list of event category maps. + EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"` } // String returns the string representation -func (s DescribeEngineDefaultClusterParametersOutput) String() string { +func (s DescribeEventCategoriesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeEngineDefaultClusterParametersOutput) GoString() string { +func (s DescribeEventCategoriesOutput) GoString() string { return s.String() } -// SetEngineDefaults sets the EngineDefaults field's value. -func (s *DescribeEngineDefaultClusterParametersOutput) SetEngineDefaults(v *EngineDefaults) *DescribeEngineDefaultClusterParametersOutput { - s.EngineDefaults = v +// SetEventCategoriesMapList sets the EventCategoriesMapList field's value. +func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput { + s.EventCategoriesMapList = v return s } -// Represents the input to DescribeEventCategories. -type DescribeEventCategoriesInput struct { +// Represents the input to DescribeEventSubscriptions. +type DescribeEventSubscriptionsInput struct { _ struct{} `type:"structure"` // This parameter is not currently supported. Filters []*Filter `locationNameList:"Filter" type:"list"` - // The type of source that is generating the events. + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxRecords value, a pagination token (marker) is + // included in the response so that the remaining results can be retrieved. // - // Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot - SourceType *string `type:"string"` + // Default: 100 + // + // Constraints: Minimum 20, maximum 100. + MaxRecords *int64 `type:"integer"` + + // The name of the Amazon DocumentDB event notification subscription that you + // want to describe. + SubscriptionName *string `type:"string"` } // String returns the string representation -func (s DescribeEventCategoriesInput) String() string { +func (s DescribeEventSubscriptionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeEventCategoriesInput) GoString() string { +func (s DescribeEventSubscriptionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeEventCategoriesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeEventCategoriesInput"} +func (s *DescribeEventSubscriptionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeEventSubscriptionsInput"} if s.Filters != nil { for i, v := range s.Filters { if v == nil { @@ -8866,38 +9856,61 @@ func (s *DescribeEventCategoriesInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *DescribeEventCategoriesInput) SetFilters(v []*Filter) *DescribeEventCategoriesInput { +func (s *DescribeEventSubscriptionsInput) SetFilters(v []*Filter) *DescribeEventSubscriptionsInput { s.Filters = v return s } -// SetSourceType sets the SourceType field's value. -func (s *DescribeEventCategoriesInput) SetSourceType(v string) *DescribeEventCategoriesInput { - s.SourceType = &v +// SetMarker sets the Marker field's value. +func (s *DescribeEventSubscriptionsInput) SetMarker(v string) *DescribeEventSubscriptionsInput { + s.Marker = &v return s } -// Represents the output of DescribeEventCategories. -type DescribeEventCategoriesOutput struct { +// SetMaxRecords sets the MaxRecords field's value. +func (s *DescribeEventSubscriptionsInput) SetMaxRecords(v int64) *DescribeEventSubscriptionsInput { + s.MaxRecords = &v + return s +} + +// SetSubscriptionName sets the SubscriptionName field's value. +func (s *DescribeEventSubscriptionsInput) SetSubscriptionName(v string) *DescribeEventSubscriptionsInput { + s.SubscriptionName = &v + return s +} + +// Represents the output of DescribeEventSubscriptions. +type DescribeEventSubscriptionsOutput struct { _ struct{} `type:"structure"` - // A list of event category maps. - EventCategoriesMapList []*EventCategoriesMap `locationNameList:"EventCategoriesMap" type:"list"` + // A list of event subscriptions. + EventSubscriptionsList []*EventSubscription `locationNameList:"EventSubscription" type:"list"` + + // An optional pagination token provided by a previous request. If this parameter + // is specified, the response includes only records beyond the marker, up to + // the value specified by MaxRecords. + Marker *string `type:"string"` } // String returns the string representation -func (s DescribeEventCategoriesOutput) String() string { +func (s DescribeEventSubscriptionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeEventCategoriesOutput) GoString() string { +func (s DescribeEventSubscriptionsOutput) GoString() string { return s.String() } -// SetEventCategoriesMapList sets the EventCategoriesMapList field's value. -func (s *DescribeEventCategoriesOutput) SetEventCategoriesMapList(v []*EventCategoriesMap) *DescribeEventCategoriesOutput { - s.EventCategoriesMapList = v +// SetEventSubscriptionsList sets the EventSubscriptionsList field's value. +func (s *DescribeEventSubscriptionsOutput) SetEventSubscriptionsList(v []*EventSubscription) *DescribeEventSubscriptionsOutput { + s.EventSubscriptionsList = v + return s +} + +// SetMarker sets the Marker field's value. +func (s *DescribeEventSubscriptionsOutput) SetMarker(v string) *DescribeEventSubscriptionsOutput { + s.Marker = &v return s } @@ -9562,6 +10575,123 @@ func (s *EventCategoriesMap) SetSourceType(v string) *EventCategoriesMap { return s } +// Detailed information about an event to which you have subscribed. +type EventSubscription struct { + _ struct{} `type:"structure"` + + // The Amazon DocumentDB event notification subscription ID. + CustSubscriptionId *string `type:"string"` + + // The AWS customer account that is associated with the Amazon DocumentDB event + // notification subscription. + CustomerAwsId *string `type:"string"` + + // A Boolean value indicating whether the subscription is enabled. A value of + // true indicates that the subscription is enabled. + Enabled *bool `type:"boolean"` + + // A list of event categories for the Amazon DocumentDB event notification subscription. + EventCategoriesList []*string `locationNameList:"EventCategory" type:"list"` + + // The Amazon Resource Name (ARN) for the event subscription. + EventSubscriptionArn *string `type:"string"` + + // The topic ARN of the Amazon DocumentDB event notification subscription. + SnsTopicArn *string `type:"string"` + + // A list of source IDs for the Amazon DocumentDB event notification subscription. + SourceIdsList []*string `locationNameList:"SourceId" type:"list"` + + // The source type for the Amazon DocumentDB event notification subscription. + SourceType *string `type:"string"` + + // The status of the Amazon DocumentDB event notification subscription. + // + // Constraints: + // + // Can be one of the following: creating, modifying, deleting, active, no-permission, + // topic-not-exist + // + // The no-permission status indicates that Amazon DocumentDB no longer has permission + // to post to the SNS topic. The topic-not-exist status indicates that the topic + // was deleted after the subscription was created. + Status *string `type:"string"` + + // The time at which the Amazon DocumentDB event notification subscription was + // created. + SubscriptionCreationTime *string `type:"string"` +} + +// String returns the string representation +func (s EventSubscription) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EventSubscription) GoString() string { + return s.String() +} + +// SetCustSubscriptionId sets the CustSubscriptionId field's value. +func (s *EventSubscription) SetCustSubscriptionId(v string) *EventSubscription { + s.CustSubscriptionId = &v + return s +} + +// SetCustomerAwsId sets the CustomerAwsId field's value. +func (s *EventSubscription) SetCustomerAwsId(v string) *EventSubscription { + s.CustomerAwsId = &v + return s +} + +// SetEnabled sets the Enabled field's value. +func (s *EventSubscription) SetEnabled(v bool) *EventSubscription { + s.Enabled = &v + return s +} + +// SetEventCategoriesList sets the EventCategoriesList field's value. +func (s *EventSubscription) SetEventCategoriesList(v []*string) *EventSubscription { + s.EventCategoriesList = v + return s +} + +// SetEventSubscriptionArn sets the EventSubscriptionArn field's value. +func (s *EventSubscription) SetEventSubscriptionArn(v string) *EventSubscription { + s.EventSubscriptionArn = &v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *EventSubscription) SetSnsTopicArn(v string) *EventSubscription { + s.SnsTopicArn = &v + return s +} + +// SetSourceIdsList sets the SourceIdsList field's value. +func (s *EventSubscription) SetSourceIdsList(v []*string) *EventSubscription { + s.SourceIdsList = v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *EventSubscription) SetSourceType(v string) *EventSubscription { + s.SourceType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EventSubscription) SetStatus(v string) *EventSubscription { + s.Status = &v + return s +} + +// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value. +func (s *EventSubscription) SetSubscriptionCreationTime(v string) *EventSubscription { + s.SubscriptionCreationTime = &v + return s +} + // Represents the input to FailoverDBCluster. type FailoverDBClusterInput struct { _ struct{} `type:"structure"` @@ -10487,6 +11617,110 @@ func (s *ModifyDBSubnetGroupOutput) SetDBSubnetGroup(v *DBSubnetGroup) *ModifyDB return s } +// Represents the input to ModifyEventSubscription. +type ModifyEventSubscriptionInput struct { + _ struct{} `type:"structure"` + + // A Boolean value; set to true to activate the subscription. + Enabled *bool `type:"boolean"` + + // A list of event categories for a SourceType that you want to subscribe to. + EventCategories []*string `locationNameList:"EventCategory" type:"list"` + + // The Amazon Resource Name (ARN) of the SNS topic created for event notification. + // The ARN is created by Amazon SNS when you create a topic and subscribe to + // it. + SnsTopicArn *string `type:"string"` + + // The type of source that is generating the events. For example, if you want + // to be notified of events generated by an instance, set this parameter to + // db-instance. If this value is not specified, all events are returned. + // + // Valid values: db-instance, db-parameter-group, db-security-group, db-snapshot + SourceType *string `type:"string"` + + // The name of the Amazon DocumentDB event notification subscription. + // + // SubscriptionName is a required field + SubscriptionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ModifyEventSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyEventSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ModifyEventSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ModifyEventSubscriptionInput"} + if s.SubscriptionName == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *ModifyEventSubscriptionInput) SetEnabled(v bool) *ModifyEventSubscriptionInput { + s.Enabled = &v + return s +} + +// SetEventCategories sets the EventCategories field's value. +func (s *ModifyEventSubscriptionInput) SetEventCategories(v []*string) *ModifyEventSubscriptionInput { + s.EventCategories = v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *ModifyEventSubscriptionInput) SetSnsTopicArn(v string) *ModifyEventSubscriptionInput { + s.SnsTopicArn = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *ModifyEventSubscriptionInput) SetSourceType(v string) *ModifyEventSubscriptionInput { + s.SourceType = &v + return s +} + +// SetSubscriptionName sets the SubscriptionName field's value. +func (s *ModifyEventSubscriptionInput) SetSubscriptionName(v string) *ModifyEventSubscriptionInput { + s.SubscriptionName = &v + return s +} + +type ModifyEventSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about an event to which you have subscribed. + EventSubscription *EventSubscription `type:"structure"` +} + +// String returns the string representation +func (s ModifyEventSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ModifyEventSubscriptionOutput) GoString() string { + return s.String() +} + +// SetEventSubscription sets the EventSubscription field's value. +func (s *ModifyEventSubscriptionOutput) SetEventSubscription(v *EventSubscription) *ModifyEventSubscriptionOutput { + s.EventSubscription = v + return s +} + // The options that are available for an instance. type OrderableDBInstanceOption struct { _ struct{} `type:"structure"` @@ -11004,6 +12238,84 @@ func (s *RebootDBInstanceOutput) SetDBInstance(v *DBInstance) *RebootDBInstanceO return s } +// Represents the input to RemoveSourceIdentifierFromSubscription. +type RemoveSourceIdentifierFromSubscriptionInput struct { + _ struct{} `type:"structure"` + + // The source identifier to be removed from the subscription, such as the instance + // identifier for an instance, or the name of a security group. + // + // SourceIdentifier is a required field + SourceIdentifier *string `type:"string" required:"true"` + + // The name of the Amazon DocumentDB event notification subscription that you + // want to remove a source identifier from. + // + // SubscriptionName is a required field + SubscriptionName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RemoveSourceIdentifierFromSubscriptionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveSourceIdentifierFromSubscriptionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RemoveSourceIdentifierFromSubscriptionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveSourceIdentifierFromSubscriptionInput"} + if s.SourceIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("SourceIdentifier")) + } + if s.SubscriptionName == nil { + invalidParams.Add(request.NewErrParamRequired("SubscriptionName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceIdentifier sets the SourceIdentifier field's value. +func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSourceIdentifier(v string) *RemoveSourceIdentifierFromSubscriptionInput { + s.SourceIdentifier = &v + return s +} + +// SetSubscriptionName sets the SubscriptionName field's value. +func (s *RemoveSourceIdentifierFromSubscriptionInput) SetSubscriptionName(v string) *RemoveSourceIdentifierFromSubscriptionInput { + s.SubscriptionName = &v + return s +} + +type RemoveSourceIdentifierFromSubscriptionOutput struct { + _ struct{} `type:"structure"` + + // Detailed information about an event to which you have subscribed. + EventSubscription *EventSubscription `type:"structure"` +} + +// String returns the string representation +func (s RemoveSourceIdentifierFromSubscriptionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RemoveSourceIdentifierFromSubscriptionOutput) GoString() string { + return s.String() +} + +// SetEventSubscription sets the EventSubscription field's value. +func (s *RemoveSourceIdentifierFromSubscriptionOutput) SetEventSubscription(v *EventSubscription) *RemoveSourceIdentifierFromSubscriptionOutput { + s.EventSubscription = v + return s +} + // Represents the input to RemoveTagsFromResource. type RemoveTagsFromResourceInput struct { _ struct{} `type:"structure"` diff --git a/service/docdb/docdbiface/interface.go b/service/docdb/docdbiface/interface.go index 60ba90d3ffc..f2582207319 100644 --- a/service/docdb/docdbiface/interface.go +++ b/service/docdb/docdbiface/interface.go @@ -26,7 +26,7 @@ import ( // // myFunc uses an SDK service client to make a request to // // Amazon DocumentDB with MongoDB compatibility. // func myFunc(svc docdbiface.DocDBAPI) bool { -// // Make svc.AddTagsToResource request +// // Make svc.AddSourceIdentifierToSubscription request // } // // func main() { @@ -42,7 +42,7 @@ import ( // type mockDocDBClient struct { // docdbiface.DocDBAPI // } -// func (m *mockDocDBClient) AddTagsToResource(input *docdb.AddTagsToResourceInput) (*docdb.AddTagsToResourceOutput, error) { +// func (m *mockDocDBClient) AddSourceIdentifierToSubscription(input *docdb.AddSourceIdentifierToSubscriptionInput) (*docdb.AddSourceIdentifierToSubscriptionOutput, error) { // // mock response/functionality // } // @@ -60,6 +60,10 @@ import ( // and waiters. Its suggested to use the pattern above for testing, or using // tooling to generate mocks to satisfy the interfaces. type DocDBAPI interface { + AddSourceIdentifierToSubscription(*docdb.AddSourceIdentifierToSubscriptionInput) (*docdb.AddSourceIdentifierToSubscriptionOutput, error) + AddSourceIdentifierToSubscriptionWithContext(aws.Context, *docdb.AddSourceIdentifierToSubscriptionInput, ...request.Option) (*docdb.AddSourceIdentifierToSubscriptionOutput, error) + AddSourceIdentifierToSubscriptionRequest(*docdb.AddSourceIdentifierToSubscriptionInput) (*request.Request, *docdb.AddSourceIdentifierToSubscriptionOutput) + AddTagsToResource(*docdb.AddTagsToResourceInput) (*docdb.AddTagsToResourceOutput, error) AddTagsToResourceWithContext(aws.Context, *docdb.AddTagsToResourceInput, ...request.Option) (*docdb.AddTagsToResourceOutput, error) AddTagsToResourceRequest(*docdb.AddTagsToResourceInput) (*request.Request, *docdb.AddTagsToResourceOutput) @@ -96,6 +100,10 @@ type DocDBAPI interface { CreateDBSubnetGroupWithContext(aws.Context, *docdb.CreateDBSubnetGroupInput, ...request.Option) (*docdb.CreateDBSubnetGroupOutput, error) CreateDBSubnetGroupRequest(*docdb.CreateDBSubnetGroupInput) (*request.Request, *docdb.CreateDBSubnetGroupOutput) + CreateEventSubscription(*docdb.CreateEventSubscriptionInput) (*docdb.CreateEventSubscriptionOutput, error) + CreateEventSubscriptionWithContext(aws.Context, *docdb.CreateEventSubscriptionInput, ...request.Option) (*docdb.CreateEventSubscriptionOutput, error) + CreateEventSubscriptionRequest(*docdb.CreateEventSubscriptionInput) (*request.Request, *docdb.CreateEventSubscriptionOutput) + DeleteDBCluster(*docdb.DeleteDBClusterInput) (*docdb.DeleteDBClusterOutput, error) DeleteDBClusterWithContext(aws.Context, *docdb.DeleteDBClusterInput, ...request.Option) (*docdb.DeleteDBClusterOutput, error) DeleteDBClusterRequest(*docdb.DeleteDBClusterInput) (*request.Request, *docdb.DeleteDBClusterOutput) @@ -116,6 +124,10 @@ type DocDBAPI interface { DeleteDBSubnetGroupWithContext(aws.Context, *docdb.DeleteDBSubnetGroupInput, ...request.Option) (*docdb.DeleteDBSubnetGroupOutput, error) DeleteDBSubnetGroupRequest(*docdb.DeleteDBSubnetGroupInput) (*request.Request, *docdb.DeleteDBSubnetGroupOutput) + DeleteEventSubscription(*docdb.DeleteEventSubscriptionInput) (*docdb.DeleteEventSubscriptionOutput, error) + DeleteEventSubscriptionWithContext(aws.Context, *docdb.DeleteEventSubscriptionInput, ...request.Option) (*docdb.DeleteEventSubscriptionOutput, error) + DeleteEventSubscriptionRequest(*docdb.DeleteEventSubscriptionInput) (*request.Request, *docdb.DeleteEventSubscriptionOutput) + DescribeCertificates(*docdb.DescribeCertificatesInput) (*docdb.DescribeCertificatesOutput, error) DescribeCertificatesWithContext(aws.Context, *docdb.DescribeCertificatesInput, ...request.Option) (*docdb.DescribeCertificatesOutput, error) DescribeCertificatesRequest(*docdb.DescribeCertificatesInput) (*request.Request, *docdb.DescribeCertificatesOutput) @@ -184,6 +196,13 @@ type DocDBAPI interface { DescribeEventCategoriesWithContext(aws.Context, *docdb.DescribeEventCategoriesInput, ...request.Option) (*docdb.DescribeEventCategoriesOutput, error) DescribeEventCategoriesRequest(*docdb.DescribeEventCategoriesInput) (*request.Request, *docdb.DescribeEventCategoriesOutput) + DescribeEventSubscriptions(*docdb.DescribeEventSubscriptionsInput) (*docdb.DescribeEventSubscriptionsOutput, error) + DescribeEventSubscriptionsWithContext(aws.Context, *docdb.DescribeEventSubscriptionsInput, ...request.Option) (*docdb.DescribeEventSubscriptionsOutput, error) + DescribeEventSubscriptionsRequest(*docdb.DescribeEventSubscriptionsInput) (*request.Request, *docdb.DescribeEventSubscriptionsOutput) + + DescribeEventSubscriptionsPages(*docdb.DescribeEventSubscriptionsInput, func(*docdb.DescribeEventSubscriptionsOutput, bool) bool) error + DescribeEventSubscriptionsPagesWithContext(aws.Context, *docdb.DescribeEventSubscriptionsInput, func(*docdb.DescribeEventSubscriptionsOutput, bool) bool, ...request.Option) error + DescribeEvents(*docdb.DescribeEventsInput) (*docdb.DescribeEventsOutput, error) DescribeEventsWithContext(aws.Context, *docdb.DescribeEventsInput, ...request.Option) (*docdb.DescribeEventsOutput, error) DescribeEventsRequest(*docdb.DescribeEventsInput) (*request.Request, *docdb.DescribeEventsOutput) @@ -233,10 +252,18 @@ type DocDBAPI interface { ModifyDBSubnetGroupWithContext(aws.Context, *docdb.ModifyDBSubnetGroupInput, ...request.Option) (*docdb.ModifyDBSubnetGroupOutput, error) ModifyDBSubnetGroupRequest(*docdb.ModifyDBSubnetGroupInput) (*request.Request, *docdb.ModifyDBSubnetGroupOutput) + ModifyEventSubscription(*docdb.ModifyEventSubscriptionInput) (*docdb.ModifyEventSubscriptionOutput, error) + ModifyEventSubscriptionWithContext(aws.Context, *docdb.ModifyEventSubscriptionInput, ...request.Option) (*docdb.ModifyEventSubscriptionOutput, error) + ModifyEventSubscriptionRequest(*docdb.ModifyEventSubscriptionInput) (*request.Request, *docdb.ModifyEventSubscriptionOutput) + RebootDBInstance(*docdb.RebootDBInstanceInput) (*docdb.RebootDBInstanceOutput, error) RebootDBInstanceWithContext(aws.Context, *docdb.RebootDBInstanceInput, ...request.Option) (*docdb.RebootDBInstanceOutput, error) RebootDBInstanceRequest(*docdb.RebootDBInstanceInput) (*request.Request, *docdb.RebootDBInstanceOutput) + RemoveSourceIdentifierFromSubscription(*docdb.RemoveSourceIdentifierFromSubscriptionInput) (*docdb.RemoveSourceIdentifierFromSubscriptionOutput, error) + RemoveSourceIdentifierFromSubscriptionWithContext(aws.Context, *docdb.RemoveSourceIdentifierFromSubscriptionInput, ...request.Option) (*docdb.RemoveSourceIdentifierFromSubscriptionOutput, error) + RemoveSourceIdentifierFromSubscriptionRequest(*docdb.RemoveSourceIdentifierFromSubscriptionInput) (*request.Request, *docdb.RemoveSourceIdentifierFromSubscriptionOutput) + RemoveTagsFromResource(*docdb.RemoveTagsFromResourceInput) (*docdb.RemoveTagsFromResourceOutput, error) RemoveTagsFromResourceWithContext(aws.Context, *docdb.RemoveTagsFromResourceInput, ...request.Option) (*docdb.RemoveTagsFromResourceOutput, error) RemoveTagsFromResourceRequest(*docdb.RemoveTagsFromResourceInput) (*request.Request, *docdb.RemoveTagsFromResourceOutput) diff --git a/service/docdb/errors.go b/service/docdb/errors.go index 98309f9a33e..69ccbe6a513 100644 --- a/service/docdb/errors.go +++ b/service/docdb/errors.go @@ -144,6 +144,12 @@ const ( // The upgrade failed because a resource that the depends on can't be modified. ErrCodeDBUpgradeDependencyFailureFault = "DBUpgradeDependencyFailure" + // ErrCodeEventSubscriptionQuotaExceededFault for service response error code + // "EventSubscriptionQuotaExceeded". + // + // You have reached the maximum number of event subscriptions. + ErrCodeEventSubscriptionQuotaExceededFault = "EventSubscriptionQuotaExceeded" + // ErrCodeInstanceQuotaExceededFault for service response error code // "InstanceQuotaExceeded". // @@ -221,6 +227,13 @@ const ( // The subnet isn't in the available state. ErrCodeInvalidDBSubnetStateFault = "InvalidDBSubnetStateFault" + // ErrCodeInvalidEventSubscriptionStateFault for service response error code + // "InvalidEventSubscriptionState". + // + // Someone else might be modifying a subscription. Wait a few seconds, and try + // again. + ErrCodeInvalidEventSubscriptionStateFault = "InvalidEventSubscriptionState" + // ErrCodeInvalidRestoreFault for service response error code // "InvalidRestoreFault". // @@ -254,6 +267,25 @@ const ( // The specified resource ID was not found. ErrCodeResourceNotFoundFault = "ResourceNotFoundFault" + // ErrCodeSNSInvalidTopicFault for service response error code + // "SNSInvalidTopic". + // + // Amazon SNS has responded that there is a problem with the specified topic. + ErrCodeSNSInvalidTopicFault = "SNSInvalidTopic" + + // ErrCodeSNSNoAuthorizationFault for service response error code + // "SNSNoAuthorization". + // + // You do not have permission to publish to the SNS topic Amazon Resource Name + // (ARN). + ErrCodeSNSNoAuthorizationFault = "SNSNoAuthorization" + + // ErrCodeSNSTopicArnNotFoundFault for service response error code + // "SNSTopicArnNotFound". + // + // The SNS topic Amazon Resource Name (ARN) does not exist. + ErrCodeSNSTopicArnNotFoundFault = "SNSTopicArnNotFound" + // ErrCodeSharedSnapshotQuotaExceededFault for service response error code // "SharedSnapshotQuotaExceeded". // @@ -267,6 +299,12 @@ const ( // The request would cause you to exceed the allowed number of snapshots. ErrCodeSnapshotQuotaExceededFault = "SnapshotQuotaExceeded" + // ErrCodeSourceNotFoundFault for service response error code + // "SourceNotFound". + // + // The requested source could not be found. + ErrCodeSourceNotFoundFault = "SourceNotFound" + // ErrCodeStorageQuotaExceededFault for service response error code // "StorageQuotaExceeded". // @@ -285,4 +323,22 @@ const ( // // The subnet is already in use in the Availability Zone. ErrCodeSubnetAlreadyInUse = "SubnetAlreadyInUse" + + // ErrCodeSubscriptionAlreadyExistFault for service response error code + // "SubscriptionAlreadyExist". + // + // The provided subscription name already exists. + ErrCodeSubscriptionAlreadyExistFault = "SubscriptionAlreadyExist" + + // ErrCodeSubscriptionCategoryNotFoundFault for service response error code + // "SubscriptionCategoryNotFound". + // + // The provided category does not exist. + ErrCodeSubscriptionCategoryNotFoundFault = "SubscriptionCategoryNotFound" + + // ErrCodeSubscriptionNotFoundFault for service response error code + // "SubscriptionNotFound". + // + // The subscription name does not exist. + ErrCodeSubscriptionNotFoundFault = "SubscriptionNotFound" ) diff --git a/service/glue/api.go b/service/glue/api.go index 4aee2a4c45a..1805b0995ca 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -8380,11 +8380,11 @@ func (c *Glue) GetResourcePoliciesRequest(input *GetResourcePoliciesInput) (req // GetResourcePolicies API operation for AWS Glue. // -// Retrieves the security configurations for the resource policies set on individual -// resources, and also the account-level policy. +// Retrieves the resource policies set on individual resources by AWS Resource +// Access Manager during cross-account permission grants. Also retrieves the +// Data Catalog resource policy. // -// This operation also returns the Data Catalog resource policy. However, if -// you enabled metadata encryption in Data Catalog settings, and you do not +// If you enabled metadata encryption in Data Catalog settings, and you do not // have permission on the AWS KMS key, the operation can't return the Data Catalog // resource policy. // @@ -30031,9 +30031,10 @@ func (s *GetResourcePoliciesOutput) SetNextToken(v string) *GetResourcePoliciesO type GetResourcePolicyInput struct { _ struct{} `type:"structure"` - // The ARN of the AWS Glue resource for the resource policy to be retrieved. - // For more information about AWS Glue resource ARNs, see the AWS Glue ARN string - // pattern (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id) + // The ARN of the AWS Glue resource for which to retrieve the resource policy. + // If not supplied, the Data Catalog resource policy is returned. Use GetResourcePolicies + // to view all existing resource policies. For more information see Specifying + // AWS Glue Resource ARNs (https://docs.aws.amazon.com/glue/latest/dg/glue-specifying-resource-arns.html). ResourceArn *string `min:"1" type:"string"` } @@ -35206,6 +35207,9 @@ type MetadataInfo struct { // The metadata key’s corresponding value. MetadataValue *string `min:"1" type:"string"` + + // Other metadata belonging to the same metadata key. + OtherMetadataValueList []*OtherMetadataValueListItem `type:"list"` } // String returns the string representation @@ -35230,6 +35234,12 @@ func (s *MetadataInfo) SetMetadataValue(v string) *MetadataInfo { return s } +// SetOtherMetadataValueList sets the OtherMetadataValueList field's value. +func (s *MetadataInfo) SetOtherMetadataValueList(v []*OtherMetadataValueListItem) *MetadataInfo { + s.OtherMetadataValueList = v + return s +} + // A structure containing a key value pair for metadata. type MetadataKeyValuePair struct { _ struct{} `type:"structure"` @@ -35606,6 +35616,41 @@ func (s *Order) SetSortOrder(v int64) *Order { return s } +// A structure containing other metadata for a schema version belonging to the +// same metadata key. +type OtherMetadataValueListItem struct { + _ struct{} `type:"structure"` + + // The time at which the entry was created. + CreatedTime *string `type:"string"` + + // The metadata key’s corresponding value for the other metadata belonging + // to the same metadata key. + MetadataValue *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s OtherMetadataValueListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OtherMetadataValueListItem) GoString() string { + return s.String() +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *OtherMetadataValueListItem) SetCreatedTime(v string) *OtherMetadataValueListItem { + s.CreatedTime = &v + return s +} + +// SetMetadataValue sets the MetadataValue field's value. +func (s *OtherMetadataValueListItem) SetMetadataValue(v string) *OtherMetadataValueListItem { + s.MetadataValue = &v + return s +} + // Represents a slice of table data. type Partition struct { _ struct{} `type:"structure"` @@ -36295,18 +36340,20 @@ func (s PutDataCatalogEncryptionSettingsOutput) GoString() string { type PutResourcePolicyInput struct { _ struct{} `type:"structure"` - // Allows you to specify if you want to use both resource-level and account/catalog-level - // resource policies. A resource-level policy is a policy attached to an individual - // resource such as a database or a table. + // If 'TRUE', indicates that you are using both methods to grant cross-account + // access to Data Catalog resources: + // + // * By directly updating the resource policy with PutResourePolicy + // + // * By using the Grant permissions command on the AWS Management Console. // - // The default value of NO indicates that resource-level policies cannot co-exist - // with an account-level policy. A value of YES means the use of both resource-level - // and account/catalog-level resource policies is allowed. + // Must be set to 'TRUE' if you have already used the Management Console to + // grant cross-account access, otherwise the call fails. Default is 'FALSE'. EnableHybrid *string `type:"string" enum:"EnableHybridValues"` // A value of MUST_EXIST is used to update a policy. A value of NOT_EXIST is // used to create a new policy. If a value of NONE or a null value is used, - // the call will not depend on the existence of a policy. + // the call does not depend on the existence of a policy. PolicyExistsCondition *string `type:"string" enum:"ExistCondition"` // The hash value returned when the previous policy was set using PutResourcePolicy. @@ -36319,9 +36366,7 @@ type PutResourcePolicyInput struct { // PolicyInJson is a required field PolicyInJson *string `min:"2" type:"string" required:"true"` - // The ARN of the AWS Glue resource for the resource policy to be set. For more - // information about AWS Glue resource ARNs, see the AWS Glue ARN string pattern - // (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-common.html#aws-glue-api-regex-aws-glue-arn-id) + // Do not use. For internal use only. ResourceArn *string `min:"1" type:"string"` } diff --git a/service/iam/api.go b/service/iam/api.go index f071db0843c..60b726d0615 100644 --- a/service/iam/api.go +++ b/service/iam/api.go @@ -5491,6 +5491,12 @@ func (c *IAM) GetAccessKeyLastUsedRequest(input *GetAccessKeyLastUsedInput) (req // // See the AWS API reference guide for AWS Identity and Access Management's // API operation GetAccessKeyLastUsed for usage and error information. +// +// Returned Error Codes: +// * ErrCodeNoSuchEntityException "NoSuchEntity" +// The request was rejected because it referenced a resource entity that does +// not exist. The error message describes the resource. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetAccessKeyLastUsed func (c *IAM) GetAccessKeyLastUsed(input *GetAccessKeyLastUsedInput) (*GetAccessKeyLastUsedOutput, error) { req, out := c.GetAccessKeyLastUsedRequest(input) diff --git a/service/locationservice/api.go b/service/locationservice/api.go index d15eca6fd2e..6134a0f55fd 100644 --- a/service/locationservice/api.go +++ b/service/locationservice/api.go @@ -64,6 +64,10 @@ func (c *LocationService) AssociateTrackerConsumerRequest(input *AssociateTracke // This allows the tracker resource to communicate location data to the linked // geofence collection. // +// Currently not supported — Cross-account configurations, such as creating +// associations between a tracker resource in one account and a geofence collection +// in another account. +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -257,8 +261,13 @@ func (c *LocationService) BatchEvaluateGeofencesRequest(input *BatchEvaluateGeof // BatchEvaluateGeofences API operation for Amazon Location Service. // -// Used in geofence monitoring. Evaluates device positions against the position -// of geofences in a given geofence collection. +// Evaluates device positions against the geofence geometries from a given geofence +// collection. The evaluation determines if the device has entered or exited +// a geofenced area, which publishes ENTER or EXIT geofence events to Amazon +// EventBridge. +// +// The last geofence that a device was observed within, if any, is tracked for +// 30 days after the most recent device position update // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -353,9 +362,7 @@ func (c *LocationService) BatchGetDevicePositionRequest(input *BatchGetDevicePos // BatchGetDevicePosition API operation for Amazon Location Service. // -// A batch request to retrieve device positions. -// -// The response will return the device positions from the last 24 hours. +// A batch request to retrieve all device positions. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -450,7 +457,7 @@ func (c *LocationService) BatchPutGeofenceRequest(input *BatchPutGeofenceInput) // BatchPutGeofence API operation for Amazon Location Service. // -// A batch request for storing geofences into a given geofence collection. +// A batch request for storing geofence geometries into a given geofence collection. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -545,12 +552,13 @@ func (c *LocationService) BatchUpdateDevicePositionRequest(input *BatchUpdateDev // BatchUpdateDevicePosition API operation for Amazon Location Service. // -// Uploads a position update for one or more devices to a tracker resource. -// The data is used for API queries requesting the device position and position -// history. +// Uploads position update data for one or more devices to a tracker resource. +// Amazon Location uses the data when reporting the last known device position +// and position history. // -// Limitation — Location data is sampled at a fixed rate of 1 position per -// 30 second interval, and retained for 1 year before it is deleted. +// Only one position update is stored per sample time. Location data is sampled +// at a fixed rate of one position per 30-second interval, and retained for +// one year before it is deleted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1819,7 +1827,7 @@ func (c *LocationService) DisassociateTrackerConsumerRequest(input *Disassociate // DisassociateTrackerConsumer API operation for Amazon Location Service. // -// Removes the association bewteen a tracker resource and a geofence collection. +// Removes the association between a tracker resource and a geofence collection. // // Once you unlink a tracker resource from a geofence collection, the tracker // positions will no longer be automatically evaluated against geofences. @@ -1917,9 +1925,9 @@ func (c *LocationService) GetDevicePositionRequest(input *GetDevicePositionInput // GetDevicePosition API operation for Amazon Location Service. // -// Retrieves the latest device position. +// Retrieves a device's most recent position according to its sample time. // -// Limitation — Device positions are deleted after one year. +// Device positions are deleted after one year. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2023,7 +2031,7 @@ func (c *LocationService) GetDevicePositionHistoryRequest(input *GetDevicePositi // Retrieves the device position history from a tracker resource within a specified // range of time. // -// Limitation — Device positions are deleted after one year. +// Device positions are deleted after 1 year. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3564,8 +3572,8 @@ func (c *LocationService) PutGeofenceRequest(input *PutGeofenceInput) (req *requ // PutGeofence API operation for Amazon Location Service. // -// Stores a geofence to a given geofence collection, or updates the geometry -// of an existing geofence if a geofence ID is included in the request. +// Stores a geofence geometry in a given geofence collection, or updates the +// geometry of an existing geofence if a geofence ID is included in the request. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4542,7 +4550,7 @@ func (s *BatchPutGeofenceOutput) SetSuccesses(v []*BatchPutGeofenceSuccess) *Bat return s } -// Contains geofence details. +// Contains geofence geometry details. type BatchPutGeofenceRequestEntry struct { _ struct{} `type:"structure"` @@ -4551,7 +4559,10 @@ type BatchPutGeofenceRequestEntry struct { // GeofenceId is a required field GeofenceId *string `min:"1" type:"string" required:"true"` - // The geometry details for the geofence. + // Contains the polygon details to specify the position of the geofence. + // + // Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html) + // can have a maximum of 1,000 vertices. // // Geometry is a required field Geometry *GeofenceGeometry `type:"structure" required:"true"` @@ -4670,8 +4681,8 @@ type BatchUpdateDevicePositionError struct { // Error is a required field Error *BatchItemError `type:"structure" required:"true"` - // The timestamp for when a position sample was attempted in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) - // format: YYYY-MM-DDThh:mm:ss.sssZ. + // The timestamp at which the device position was determined. Uses ISO 8601 + // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. // // SampleTime is a required field SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` @@ -4862,7 +4873,7 @@ type CreateGeofenceCollectionInput struct { // Requirements: // // * Contain only alphanumeric characters (A–Z, a–z, 0-9), hyphens (-), - // and underscores (_). + // periods (.), and underscores (_). // // * Must be a unique geofence collection name. // @@ -4874,22 +4885,24 @@ type CreateGeofenceCollectionInput struct { // An optional description for the geofence collection. Description *string `type:"string"` - // Specifies the pricing plan for your geofence collection. There's three pricing - // plan options: - // - // * RequestBasedUsage — Selects the "Request-Based Usage" pricing plan. - // - // * MobileAssetTracking — Selects the "Mobile Asset Tracking" pricing - // plan. - // - // * MobileAssetManagement — Selects the "Mobile Asset Management" pricing - // plan. + // Specifies the pricing plan for your geofence collection. // // For additional details and restrictions on each pricing plan option, see // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). // // PricingPlan is a required field PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + + // Specifies the plan data source. Required if the Mobile Asset Tracking (MAT) + // or the Mobile Asset Management (MAM) pricing plan is selected. + // + // Billing is determined by the resource usage, the associated pricing plan, + // and the data source that was specified. For more information about each pricing + // plan option and restrictions, see the Amazon Location Service pricing page + // (https://aws.amazon.com/location/pricing/). + // + // Valid Values: Esri | Here + PricingPlanDataSource *string `type:"string"` } // String returns the string representation @@ -4939,6 +4952,12 @@ func (s *CreateGeofenceCollectionInput) SetPricingPlan(v string) *CreateGeofence return s } +// SetPricingPlanDataSource sets the PricingPlanDataSource field's value. +func (s *CreateGeofenceCollectionInput) SetPricingPlanDataSource(v string) *CreateGeofenceCollectionInput { + s.PricingPlanDataSource = &v + return s +} + type CreateGeofenceCollectionOutput struct { _ struct{} `type:"structure"` @@ -5004,7 +5023,7 @@ type CreateMapInput struct { // Requirements: // // * Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens - // (-), and underscores (_). + // (-), periods (.), and underscores (_). // // * Must be a unique map resource name. // @@ -5013,16 +5032,7 @@ type CreateMapInput struct { // MapName is a required field MapName *string `min:"1" type:"string" required:"true"` - // Specifies the pricing plan for your map resource. There's three pricing plan - // options: - // - // * RequestBasedUsage — Selects the "Request-Based Usage" pricing plan. - // - // * MobileAssetTracking — Selects the "Mobile Asset Tracking" pricing - // plan. - // - // * MobileAssetManagement — Selects the "Mobile Asset Management" pricing - // plan. + // Specifies the pricing plan for your map resource. // // For additional details and restrictions on each pricing plan option, see // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). @@ -5148,6 +5158,18 @@ type CreatePlaceIndexInput struct { // Specifies the data provider of geospatial data. // + // This field is case-sensitive. Enter the valid values as shown. For example, + // entering HERE will return an error. + // + // Valid values include: + // + // * Esri + // + // * Here + // + // For additional details on data providers, see the Amazon Location Service + // data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html). + // // DataSource is a required field DataSource *string `type:"string" required:"true"` @@ -5161,8 +5183,8 @@ type CreatePlaceIndexInput struct { // // Requirements: // - // * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-) and - // underscores (_) ). + // * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), + // periods (.), and underscores (_). // // * Must be a unique Place index resource name. // @@ -5171,16 +5193,7 @@ type CreatePlaceIndexInput struct { // IndexName is a required field IndexName *string `min:"1" type:"string" required:"true"` - // Specifies the pricing plan for your Place index resource. There's three pricing - // plan options: - // - // * RequestBasedUsage — Selects the "Request-Based Usage" pricing plan. - // - // * MobileAssetTracking — Selects the "Mobile Asset Tracking" pricing - // plan. - // - // * MobileAssetManagement — Selects the "Mobile Asset Management" pricing - // plan. + // Specifies the pricing plan for your Place index resource. // // For additional details and restrictions on each pricing plan option, see // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). @@ -5306,16 +5319,7 @@ type CreateTrackerInput struct { // An optional description for the tracker resource. Description *string `type:"string"` - // Specifies the pricing plan for your tracker resource. There's three pricing - // plan options: - // - // * RequestBasedUsage — Selects the "Request-Based Usage" pricing plan. - // - // * MobileAssetTracking — Selects the "Mobile Asset Tracking" pricing - // plan. - // - // * MobileAssetManagement — Selects the "Mobile Asset Management" pricing - // plan. + // Specifies the pricing plan for your tracker resource. // // For additional details and restrictions on each pricing plan option, see // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). @@ -5323,12 +5327,23 @@ type CreateTrackerInput struct { // PricingPlan is a required field PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + // Specifies the plan data source. Required if the Mobile Asset Tracking (MAT) + // or the Mobile Asset Management (MAM) pricing plan is selected. + // + // Billing is determined by the resource usage, the associated pricing plan, + // and data source that was specified. For more information about each pricing + // plan option and restrictions, see the Amazon Location Service pricing page + // (https://aws.amazon.com/location/pricing/). + // + // Valid Values: Esri | Here + PricingPlanDataSource *string `type:"string"` + // The name for the tracker resource. // // Requirements: // - // * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-) and - // underscores (_). + // * Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), + // periods (.), and underscores (_). // // * Must be a unique tracker resource name. // @@ -5379,6 +5394,12 @@ func (s *CreateTrackerInput) SetPricingPlan(v string) *CreateTrackerInput { return s } +// SetPricingPlanDataSource sets the PricingPlanDataSource field's value. +func (s *CreateTrackerInput) SetPricingPlanDataSource(v string) *CreateTrackerInput { + s.PricingPlanDataSource = &v + return s +} + // SetTrackerName sets the TrackerName field's value. func (s *CreateTrackerInput) SetTrackerName(v string) *CreateTrackerInput { s.TrackerName = &v @@ -5762,6 +5783,18 @@ type DescribeGeofenceCollectionOutput struct { // Description is a required field Description *string `type:"string" required:"true"` + // The pricing plan selected for the specified geofence collection. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + + // The data source selected for the geofence collection and associated pricing + // plan. + PricingPlanDataSource *string `type:"string"` + // The timestamp for when the geofence collection was last updated in ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ // @@ -5803,6 +5836,18 @@ func (s *DescribeGeofenceCollectionOutput) SetDescription(v string) *DescribeGeo return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *DescribeGeofenceCollectionOutput) SetPricingPlan(v string) *DescribeGeofenceCollectionOutput { + s.PricingPlan = &v + return s +} + +// SetPricingPlanDataSource sets the PricingPlanDataSource field's value. +func (s *DescribeGeofenceCollectionOutput) SetPricingPlanDataSource(v string) *DescribeGeofenceCollectionOutput { + s.PricingPlanDataSource = &v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *DescribeGeofenceCollectionOutput) SetUpdateTime(v time.Time) *DescribeGeofenceCollectionOutput { s.UpdateTime = &v @@ -5885,6 +5930,15 @@ type DescribeMapOutput struct { // MapName is a required field MapName *string `min:"1" type:"string" required:"true"` + // The pricing plan selected for the specified map resource. + // + //For additional details and restrictions on each pricing plan option, + // see the Amazon Location + // Service pricing page.
+ // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + // The timestamp for when the map resource was last update in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) // format: YYYY-MM-DDThh:mm:ss.sssZ. // @@ -5938,6 +5992,12 @@ func (s *DescribeMapOutput) SetMapName(v string) *DescribeMapOutput { return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *DescribeMapOutput) SetPricingPlan(v string) *DescribeMapOutput { + s.PricingPlan = &v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *DescribeMapOutput) SetUpdateTime(v time.Time) *DescribeMapOutput { s.UpdateTime = &v @@ -5994,7 +6054,14 @@ type DescribePlaceIndexOutput struct { // CreateTime is a required field CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The data provider of geospatial data. + // The data provider of geospatial data. Indicates one of the available providers: + // + // * Esri + // + // * Here + // + // For additional details on data providers, see the Amazon Location Service + // data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html). // // DataSource is a required field DataSource *string `type:"string" required:"true"` @@ -6020,6 +6087,14 @@ type DescribePlaceIndexOutput struct { // IndexName is a required field IndexName *string `min:"1" type:"string" required:"true"` + // The pricing plan selected for the specified Place index resource. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + // The timestamp for when the Place index resource was last updated in ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. // @@ -6073,6 +6148,12 @@ func (s *DescribePlaceIndexOutput) SetIndexName(v string) *DescribePlaceIndexOut return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *DescribePlaceIndexOutput) SetPricingPlan(v string) *DescribePlaceIndexOutput { + s.PricingPlan = &v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *DescribePlaceIndexOutput) SetUpdateTime(v time.Time) *DescribePlaceIndexOutput { s.UpdateTime = &v @@ -6134,6 +6215,18 @@ type DescribeTrackerOutput struct { // Description is a required field Description *string `type:"string" required:"true"` + // The pricing plan selected for the specified tracker resource. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + + // The data source selected for the tracker resource and associated pricing + // plan. + PricingPlanDataSource *string `type:"string"` + // The Amazon Resource Name (ARN) for the tracker resource. Used when you need // to specify a resource across all AWS. // @@ -6174,6 +6267,18 @@ func (s *DescribeTrackerOutput) SetDescription(v string) *DescribeTrackerOutput return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *DescribeTrackerOutput) SetPricingPlan(v string) *DescribeTrackerOutput { + s.PricingPlan = &v + return s +} + +// SetPricingPlanDataSource sets the PricingPlanDataSource field's value. +func (s *DescribeTrackerOutput) SetPricingPlanDataSource(v string) *DescribeTrackerOutput { + s.PricingPlanDataSource = &v + return s +} + // SetTrackerArn sets the TrackerArn field's value. func (s *DescribeTrackerOutput) SetTrackerArn(v string) *DescribeTrackerOutput { s.TrackerArn = &v @@ -6204,13 +6309,14 @@ type DevicePosition struct { // Position is a required field Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"` - // The timestamp for when the tracker resource recieved the position in ISO - // 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. + // The timestamp for when the tracker resource received the device position + // in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: + // YYYY-MM-DDThh:mm:ss.sssZ. // // ReceivedTime is a required field ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The timestamp for when the position was detected and sampled in ISO 8601 + // The timestamp at which the device's position was determined. Uses ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. // // SampleTime is a required field @@ -6261,13 +6367,13 @@ type DevicePositionUpdate struct { DeviceId *string `min:"1" type:"string" required:"true"` // The latest device position defined in WGS 84 (https://earth-info.nga.mil/GandG/wgs84/index.html) - // format: [Xlongitude, Ylatitude]. + // format: [X or longitude, Y or latitude]. // // Position is a required field Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"` - // The timestamp for when the position update was received in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) - // format: YYYY-MM-DDThh:mm:ss.sssZ + // The timestamp at which the device's position was determined. Uses ISO 8601 + // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ // // SampleTime is a required field SampleTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` @@ -6404,8 +6510,8 @@ func (s DisassociateTrackerConsumerOutput) GoString() string { // Contains the geofence geometry details. // -// Limitation — Amazon Location does not currently support polygons with holes, -// multipolygons, polygons that are wound clockwise, or that cross the antimeridian. +// Amazon Location does not currently support polygons with holes, multipolygons, +// polygons that are wound clockwise, or that cross the antimeridian. type GeofenceGeometry struct { _ struct{} `type:"structure"` @@ -6460,9 +6566,12 @@ type GetDevicePositionHistoryInput struct { DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"` // Specify the end time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) - // format: YYYY-MM-DDThh:mm:ss.sssZ. + // format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time + // that the request is made. // - // * The given time for EndTimeExclusive must be after the time for StartTimeInclusive. + // Requirement: + // + // * The time specified for EndTimeExclusive must be after the time for StartTimeInclusive. EndTimeExclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The pagination token specifying which page of results to return in the response. @@ -6472,9 +6581,12 @@ type GetDevicePositionHistoryInput struct { NextToken *string `min:"1" type:"string"` // Specify the start time for the position history in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) - // format: YYYY-MM-DDThh:mm:ss.sssZ. + // format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours + // prior to the time that the request is made. // - // * The given time for EndTimeExclusive must be after the time for StartTimeInclusive. + // Requirement: + // + // * The time specified for StartTimeInclusive must be before EndTimeExclusive. StartTimeInclusive *time.Time `type:"timestamp" timestampFormat:"iso8601"` // The tracker resource receiving the request for the device position history. @@ -6586,7 +6698,7 @@ func (s *GetDevicePositionHistoryOutput) SetNextToken(v string) *GetDevicePositi type GetDevicePositionInput struct { _ struct{} `type:"structure"` - // The device whose position you want to retreieve. + // The device whose position you want to retrieve. // // DeviceId is a required field DeviceId *string `location:"uri" locationName:"DeviceId" min:"1" type:"string" required:"true"` @@ -6652,13 +6764,14 @@ type GetDevicePositionOutput struct { // Position is a required field Position []*float64 `min:"2" type:"list" required:"true" sensitive:"true"` - // The timestamp for when the tracker resource recieved the position in ISO - // 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. + // The timestamp for when the tracker resource received the device position + // in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) format: + // YYYY-MM-DDThh:mm:ss.sssZ. // // ReceivedTime is a required field ReceivedTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The timestamp for when the position was detected and sampled in ISO 8601 + // The timestamp at which the device's position was determined. Uses ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. // // SampleTime is a required field @@ -7413,6 +7526,18 @@ type ListGeofenceCollectionsResponseEntry struct { // Description is a required field Description *string `type:"string" required:"true"` + // The pricing plan for the specified geofence collection. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + + // The data source selected for the geofence collection and associated pricing + // plan. + PricingPlanDataSource *string `type:"string"` + // Specifies a timestamp for when the resource was last updated in ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ // @@ -7448,6 +7573,18 @@ func (s *ListGeofenceCollectionsResponseEntry) SetDescription(v string) *ListGeo return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlan(v string) *ListGeofenceCollectionsResponseEntry { + s.PricingPlan = &v + return s +} + +// SetPricingPlanDataSource sets the PricingPlanDataSource field's value. +func (s *ListGeofenceCollectionsResponseEntry) SetPricingPlanDataSource(v string) *ListGeofenceCollectionsResponseEntry { + s.PricingPlanDataSource = &v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *ListGeofenceCollectionsResponseEntry) SetUpdateTime(v time.Time) *ListGeofenceCollectionsResponseEntry { s.UpdateTime = &v @@ -7742,6 +7879,14 @@ type ListMapsResponseEntry struct { // MapName is a required field MapName *string `min:"1" type:"string" required:"true"` + // The pricing plan for the specified map resource. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + // The timestamp for when the map resource was last updated in ISO 8601 (https://www.iso.org/iso-8601-date-and-time-format.html) // format: YYYY-MM-DDThh:mm:ss.sssZ. // @@ -7783,6 +7928,12 @@ func (s *ListMapsResponseEntry) SetMapName(v string) *ListMapsResponseEntry { return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *ListMapsResponseEntry) SetPricingPlan(v string) *ListMapsResponseEntry { + s.PricingPlan = &v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *ListMapsResponseEntry) SetUpdateTime(v time.Time) *ListMapsResponseEntry { s.UpdateTime = &v @@ -7888,7 +8039,14 @@ type ListPlaceIndexesResponseEntry struct { // CreateTime is a required field CreateTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"` - // The data provider of geospatial data. + // The data provider of geospatial data. Indicates one of the available providers: + // + // * Esri + // + // * HERE + // + // For additional details on data providers, see the Amazon Location Service + // data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html). // // DataSource is a required field DataSource *string `type:"string" required:"true"` @@ -7903,6 +8061,14 @@ type ListPlaceIndexesResponseEntry struct { // IndexName is a required field IndexName *string `min:"1" type:"string" required:"true"` + // The pricing plan for the specified Place index resource. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + // The timestamp for when the Place index resource was last updated in ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. // @@ -7944,6 +8110,12 @@ func (s *ListPlaceIndexesResponseEntry) SetIndexName(v string) *ListPlaceIndexes return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *ListPlaceIndexesResponseEntry) SetPricingPlan(v string) *ListPlaceIndexesResponseEntry { + s.PricingPlan = &v + return s +} + // SetUpdateTime sets the UpdateTime field's value. func (s *ListPlaceIndexesResponseEntry) SetUpdateTime(v time.Time) *ListPlaceIndexesResponseEntry { s.UpdateTime = &v @@ -8159,12 +8331,24 @@ type ListTrackersResponseEntry struct { // Description is a required field Description *string `type:"string" required:"true"` + // The pricing plan for the specified tracker resource. + // + // For additional details and restrictions on each pricing plan option, see + // the Amazon Location Service pricing page (https://aws.amazon.com/location/pricing/). + // + // PricingPlan is a required field + PricingPlan *string `type:"string" required:"true" enum:"PricingPlan"` + + // The data source selected for the tracker resource and associated pricing + // plan. + PricingPlanDataSource *string `type:"string"` + // The name of the tracker resource. // // TrackerName is a required field TrackerName *string `min:"1" type:"string" required:"true"` - // The timestamp for when the position was detected and sampled in ISO 8601 + // The timestamp at which the device's position was determined. Uses ISO 8601 // (https://www.iso.org/iso-8601-date-and-time-format.html) format: YYYY-MM-DDThh:mm:ss.sssZ. // // UpdateTime is a required field @@ -8193,6 +8377,18 @@ func (s *ListTrackersResponseEntry) SetDescription(v string) *ListTrackersRespon return s } +// SetPricingPlan sets the PricingPlan field's value. +func (s *ListTrackersResponseEntry) SetPricingPlan(v string) *ListTrackersResponseEntry { + s.PricingPlan = &v + return s +} + +// SetPricingPlanDataSource sets the PricingPlanDataSource field's value. +func (s *ListTrackersResponseEntry) SetPricingPlanDataSource(v string) *ListTrackersResponseEntry { + s.PricingPlanDataSource = &v + return s +} + // SetTrackerName sets the TrackerName field's value. func (s *ListTrackersResponseEntry) SetTrackerName(v string) *ListTrackersResponseEntry { s.TrackerName = &v @@ -8412,6 +8608,9 @@ type PutGeofenceInput struct { // Contains the polygon details to specify the position of the geofence. // + // Each geofence polygon (https://docs.aws.amazon.com/location-geofences/latest/APIReference/API_GeofenceGeometry.html) + // can have a maximum of 1,000 vertices. + // // Geometry is a required field Geometry *GeofenceGeometry `type:"structure" required:"true"` } @@ -8751,7 +8950,14 @@ func (s *SearchPlaceIndexForPositionOutput) SetSummary(v *SearchPlaceIndexForPos type SearchPlaceIndexForPositionSummary struct { _ struct{} `type:"structure"` - // The data provider of geospatial data for the Place index resource. + // The data provider of geospatial data. Indicates one of the available providers: + // + // * Esri + // + // * HERE + // + // For additional details on data providers, see the Amazon Location Service + // data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html). // // DataSource is a required field DataSource *string `type:"string" required:"true"` @@ -8981,7 +9187,14 @@ type SearchPlaceIndexForTextSummary struct { // Contains the coordinates for the bias position entered in the geocoding request. BiasPosition []*float64 `min:"2" type:"list" sensitive:"true"` - // The data provider of geospatial data for the Place index resource. + // The data provider of geospatial data. Indicates one of the available providers: + // + // * Esri + // + // * HERE + // + // For additional details on data providers, see the Amazon Location Service + // data providers page (https://docs.aws.amazon.com/location/latest/developerguide/what-is-data-provider.html). // // DataSource is a required field DataSource *string `type:"string" required:"true"` diff --git a/service/wafv2/api.go b/service/wafv2/api.go index 82a3c6fe029..069dde97983 100644 --- a/service/wafv2/api.go +++ b/service/wafv2/api.go @@ -4103,12 +4103,6 @@ func (c *WAFV2) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Reques // // Updates the specified IPSet. // -// This operation completely replaces any IP address specifications that you -// already have in the IP set with the ones that you provide to this call. If -// you want to add to or modify the addresses that are already in the IP set, -// retrieve those by calling GetIPSet, update them, and provide the complete -// updated array of IP addresses to this call. -// // Returns awserr.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. @@ -4603,12 +4597,20 @@ func (s AllQueryArguments) GoString() string { return s.String() } -// Specifies that AWS WAF should allow requests. +// Specifies that AWS WAF should allow the request and optionally defines additional +// custom handling for the request. // -// This is used only in the context of other settings, for example to specify -// values for RuleAction and web ACL DefaultAction. +// This is used in the context of other settings, for example to specify values +// for RuleAction and web ACL DefaultAction. type AllowAction struct { _ struct{} `type:"structure"` + + // Defines custom handling for the web request. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomRequestHandling *CustomRequestHandling `type:"structure"` } // String returns the string representation @@ -4621,6 +4623,27 @@ func (s AllowAction) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *AllowAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AllowAction"} + if s.CustomRequestHandling != nil { + if err := s.CustomRequestHandling.Validate(); err != nil { + invalidParams.AddNested("CustomRequestHandling", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomRequestHandling sets the CustomRequestHandling field's value. +func (s *AllowAction) SetCustomRequestHandling(v *CustomRequestHandling) *AllowAction { + s.CustomRequestHandling = v + return s +} + // A logical rule statement used to combine other rule statements with AND logic. // You provide more than one Statement within the AndStatement. type AndStatement struct { @@ -4744,12 +4767,20 @@ func (s AssociateWebACLOutput) GoString() string { return s.String() } -// Specifies that AWS WAF should block requests. +// Specifies that AWS WAF should block the request and optionally defines additional +// custom handling for the response to the web request. // -// This is used only in the context of other settings, for example to specify -// values for RuleAction and web ACL DefaultAction. +// This is used in the context of other settings, for example to specify values +// for RuleAction and web ACL DefaultAction. type BlockAction struct { _ struct{} `type:"structure"` + + // Defines a custom response for the web request. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomResponse *CustomResponse `type:"structure"` } // String returns the string representation @@ -4762,6 +4793,27 @@ func (s BlockAction) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *BlockAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BlockAction"} + if s.CustomResponse != nil { + if err := s.CustomResponse.Validate(); err != nil { + invalidParams.AddNested("CustomResponse", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomResponse sets the CustomResponse field's value. +func (s *BlockAction) SetCustomResponse(v *CustomResponse) *BlockAction { + s.CustomResponse = v + return s +} + // The body of a web request. This immediately follows the request headers. // // This is used only to indicate the web request component for AWS WAF to inspect, @@ -5050,12 +5102,20 @@ func (s *CheckCapacityOutput) SetCapacity(v int64) *CheckCapacityOutput { return s } -// Specifies that AWS WAF should count requests. +// Specifies that AWS WAF should count the request. Optionally defines additional +// custom handling for the request. // -// This is used only in the context of other settings, for example to specify -// values for RuleAction and web ACL DefaultAction. +// This is used in the context of other settings, for example to specify values +// for RuleAction and web ACL DefaultAction. type CountAction struct { _ struct{} `type:"structure"` + + // Defines custom handling for the web request. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomRequestHandling *CustomRequestHandling `type:"structure"` } // String returns the string representation @@ -5068,6 +5128,27 @@ func (s CountAction) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *CountAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CountAction"} + if s.CustomRequestHandling != nil { + if err := s.CustomRequestHandling.Validate(); err != nil { + invalidParams.AddNested("CustomRequestHandling", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomRequestHandling sets the CustomRequestHandling field's value. +func (s *CountAction) SetCustomRequestHandling(v *CustomRequestHandling) *CountAction { + s.CustomRequestHandling = v + return s +} + type CreateIPSetInput struct { _ struct{} `type:"structure"` @@ -5412,6 +5493,20 @@ type CreateRuleGroupInput struct { // Capacity is a required field Capacity *int64 `min:"1" type:"long" required:"true"` + // A map of custom response keys and content bodies. When you create a rule + // with a block action, you can send a custom response to the web request. You + // define these for the rule group, and then use them in the rules that you + // define in the rule group. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + // + // For information about the limits on count and size for custom request and + // response settings, see AWS WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"` + // A description of the rule group that helps with identification. Description *string `min:"1" type:"string"` @@ -5470,6 +5565,9 @@ func (s *CreateRuleGroupInput) Validate() error { if s.Capacity != nil && *s.Capacity < 1 { invalidParams.Add(request.NewErrParamMinValue("Capacity", 1)) } + if s.CustomResponseBodies != nil && len(s.CustomResponseBodies) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomResponseBodies", 1)) + } if s.Description != nil && len(*s.Description) < 1 { invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } @@ -5488,6 +5586,16 @@ func (s *CreateRuleGroupInput) Validate() error { if s.VisibilityConfig == nil { invalidParams.Add(request.NewErrParamRequired("VisibilityConfig")) } + if s.CustomResponseBodies != nil { + for i, v := range s.CustomResponseBodies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomResponseBodies", i), err.(request.ErrInvalidParams)) + } + } + } if s.Rules != nil { for i, v := range s.Rules { if v == nil { @@ -5526,6 +5634,12 @@ func (s *CreateRuleGroupInput) SetCapacity(v int64) *CreateRuleGroupInput { return s } +// SetCustomResponseBodies sets the CustomResponseBodies field's value. +func (s *CreateRuleGroupInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *CreateRuleGroupInput { + s.CustomResponseBodies = v + return s +} + // SetDescription sets the Description field's value. func (s *CreateRuleGroupInput) SetDescription(v string) *CreateRuleGroupInput { s.Description = &v @@ -5591,6 +5705,20 @@ func (s *CreateRuleGroupOutput) SetSummary(v *RuleGroupSummary) *CreateRuleGroup type CreateWebACLInput struct { _ struct{} `type:"structure"` + // A map of custom response keys and content bodies. When you create a rule + // with a block action, you can send a custom response to the web request. You + // define these for the web ACL, and then use them in the rules and default + // actions that you define in the web ACL. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + // + // For information about the limits on count and size for custom request and + // response settings, see AWS WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"` + // The action to perform if none of the Rules contained in the WebACL match. // // DefaultAction is a required field @@ -5648,6 +5776,9 @@ func (s CreateWebACLInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateWebACLInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateWebACLInput"} + if s.CustomResponseBodies != nil && len(s.CustomResponseBodies) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomResponseBodies", 1)) + } if s.DefaultAction == nil { invalidParams.Add(request.NewErrParamRequired("DefaultAction")) } @@ -5669,6 +5800,21 @@ func (s *CreateWebACLInput) Validate() error { if s.VisibilityConfig == nil { invalidParams.Add(request.NewErrParamRequired("VisibilityConfig")) } + if s.CustomResponseBodies != nil { + for i, v := range s.CustomResponseBodies { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CustomResponseBodies", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DefaultAction != nil { + if err := s.DefaultAction.Validate(); err != nil { + invalidParams.AddNested("DefaultAction", err.(request.ErrInvalidParams)) + } + } if s.Rules != nil { for i, v := range s.Rules { if v == nil { @@ -5701,6 +5847,12 @@ func (s *CreateWebACLInput) Validate() error { return nil } +// SetCustomResponseBodies sets the CustomResponseBodies field's value. +func (s *CreateWebACLInput) SetCustomResponseBodies(v map[string]*CustomResponseBody) *CreateWebACLInput { + s.CustomResponseBodies = v + return s +} + // SetDefaultAction sets the DefaultAction field's value. func (s *CreateWebACLInput) SetDefaultAction(v *DefaultAction) *CreateWebACLInput { s.DefaultAction = v @@ -5768,9 +5920,294 @@ func (s *CreateWebACLOutput) SetSummary(v *WebACLSummary) *CreateWebACLOutput { return s } +// A custom header for custom request and response handling. This is used in +// CustomResponse and CustomRequestHandling. +type CustomHTTPHeader struct { + _ struct{} `type:"structure"` + + // The name of the custom header. + // + // For custom request header insertion, when AWS WAF inserts the header into + // the request, it prefixes this name x-amzn-waf-, to avoid confusion with the + // headers that are already in the request. For example, for the header name + // sample, AWS WAF inserts the header x-amzn-waf-sample. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The value of the custom header. + // + // Value is a required field + Value *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CustomHTTPHeader) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomHTTPHeader) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomHTTPHeader) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomHTTPHeader"} + 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.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *CustomHTTPHeader) SetName(v string) *CustomHTTPHeader { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *CustomHTTPHeader) SetValue(v string) *CustomHTTPHeader { + s.Value = &v + return s +} + +// Custom request handling behavior that inserts custom headers into a web request. +// You can add custom request handling for the rule actions allow and count. +// +// For information about customizing web requests and responses, see Customizing +// web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) +// in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). +type CustomRequestHandling struct { + _ struct{} `type:"structure"` + + // The HTTP headers to insert into the request. Duplicate header names are not + // allowed. + // + // For information about the limits on count and size for custom request and + // response settings, see AWS WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + // + // InsertHeaders is a required field + InsertHeaders []*CustomHTTPHeader `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s CustomRequestHandling) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomRequestHandling) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomRequestHandling) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomRequestHandling"} + if s.InsertHeaders == nil { + invalidParams.Add(request.NewErrParamRequired("InsertHeaders")) + } + if s.InsertHeaders != nil && len(s.InsertHeaders) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InsertHeaders", 1)) + } + if s.InsertHeaders != nil { + for i, v := range s.InsertHeaders { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InsertHeaders", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInsertHeaders sets the InsertHeaders field's value. +func (s *CustomRequestHandling) SetInsertHeaders(v []*CustomHTTPHeader) *CustomRequestHandling { + s.InsertHeaders = v + return s +} + +// A custom response to send to the client. You can define a custom response +// for rule actions and default web ACL actions that are set to BlockAction. +// +// For information about customizing web requests and responses, see Customizing +// web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) +// in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). +type CustomResponse struct { + _ struct{} `type:"structure"` + + // References the response body that you want AWS WAF to return to the web request + // client. You can define a custom response for a rule action or a default web + // ACL action that is set to block. To do this, you first define the response + // body key and value in the CustomResponseBodies setting for the WebACL or + // RuleGroup where you want to use it. Then, in the rule action or web ACL default + // action BlockAction setting, you reference the response body using this key. + CustomResponseBodyKey *string `min:"1" type:"string"` + + // The HTTP status code to return to the client. + // + // For a list of status codes that you can use in your custom reqponses, see + // Supported status codes for custom response (https://docs.aws.amazon.com/waf/latest/developerguide/customizing-the-response-status-codes.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + // + // ResponseCode is a required field + ResponseCode *int64 `min:"200" type:"integer" required:"true"` + + // The HTTP headers to use in the response. Duplicate header names are not allowed. + // + // For information about the limits on count and size for custom request and + // response settings, see AWS WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + ResponseHeaders []*CustomHTTPHeader `min:"1" type:"list"` +} + +// String returns the string representation +func (s CustomResponse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomResponse) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomResponse) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomResponse"} + if s.CustomResponseBodyKey != nil && len(*s.CustomResponseBodyKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CustomResponseBodyKey", 1)) + } + if s.ResponseCode == nil { + invalidParams.Add(request.NewErrParamRequired("ResponseCode")) + } + if s.ResponseCode != nil && *s.ResponseCode < 200 { + invalidParams.Add(request.NewErrParamMinValue("ResponseCode", 200)) + } + if s.ResponseHeaders != nil && len(s.ResponseHeaders) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResponseHeaders", 1)) + } + if s.ResponseHeaders != nil { + for i, v := range s.ResponseHeaders { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResponseHeaders", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCustomResponseBodyKey sets the CustomResponseBodyKey field's value. +func (s *CustomResponse) SetCustomResponseBodyKey(v string) *CustomResponse { + s.CustomResponseBodyKey = &v + return s +} + +// SetResponseCode sets the ResponseCode field's value. +func (s *CustomResponse) SetResponseCode(v int64) *CustomResponse { + s.ResponseCode = &v + return s +} + +// SetResponseHeaders sets the ResponseHeaders field's value. +func (s *CustomResponse) SetResponseHeaders(v []*CustomHTTPHeader) *CustomResponse { + s.ResponseHeaders = v + return s +} + +// The response body to use in a custom response to a web request. This is referenced +// by key from CustomResponse CustomResponseBodyKey. +type CustomResponseBody struct { + _ struct{} `type:"structure"` + + // The payload of the custom response. + // + // You can use JSON escape strings in JSON content. To do this, you must specify + // JSON content in the ContentType setting. + // + // For information about the limits on count and size for custom request and + // response settings, see AWS WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + // + // Content is a required field + Content *string `min:"1" type:"string" required:"true"` + + // The type of content in the payload that you are defining in the Content string. + // + // ContentType is a required field + ContentType *string `type:"string" required:"true" enum:"ResponseContentType"` +} + +// String returns the string representation +func (s CustomResponseBody) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomResponseBody) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CustomResponseBody) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CustomResponseBody"} + if s.Content == nil { + invalidParams.Add(request.NewErrParamRequired("Content")) + } + if s.Content != nil && len(*s.Content) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Content", 1)) + } + if s.ContentType == nil { + invalidParams.Add(request.NewErrParamRequired("ContentType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContent sets the Content field's value. +func (s *CustomResponseBody) SetContent(v string) *CustomResponseBody { + s.Content = &v + return s +} + +// SetContentType sets the ContentType field's value. +func (s *CustomResponseBody) SetContentType(v string) *CustomResponseBody { + s.ContentType = &v + return s +} + // In a WebACL, this is the action that you want AWS WAF to perform when a web // request doesn't match any of the rules in the WebACL. The default action -// must be a terminating action, so count is not allowed. +// must be a terminating action, so you can't use count. type DefaultAction struct { _ struct{} `type:"structure"` @@ -5791,6 +6228,26 @@ func (s DefaultAction) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *DefaultAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DefaultAction"} + if s.Allow != nil { + if err := s.Allow.Validate(); err != nil { + invalidParams.AddNested("Allow", err.(request.ErrInvalidParams)) + } + } + if s.Block != nil { + if err := s.Block.Validate(); err != nil { + invalidParams.AddNested("Block", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAllow sets the Allow field's value. func (s *DefaultAction) SetAllow(v *AllowAction) *DefaultAction { s.Allow = v @@ -8655,33 +9112,25 @@ func (s *IPSetSummary) SetName(v string) *IPSetSummary { type JsonBody struct { _ struct{} `type:"structure"` - // What AWS WAF should do if it fails to completely parse the JSON body. The - // options are the following: + // The inspection behavior to fall back to if the JSON in the request body is + // invalid. For AWS WAF, invalid JSON is any content that isn't complete syntactical + // JSON, content whose root node isn't an object or an array, and duplicate + // keys in the content. // - // * EVALUATE_AS_STRING - Inspect the body as plain text. AWS WAF applies - // the text transformations and inspection criteria that you defined for - // the JSON inspection to the body text string. + // You can specify the following fallback behaviors: // // * MATCH - Treat the web request as matching the rule statement. AWS WAF // applies the rule action to the request. // // * NO_MATCH - Treat the web request as not matching the rule statement. // - // If you don't provide this setting, AWS WAF parses and evaluates the content - // only up to the first parsing failure that it encounters. - // - // AWS WAF does its best to parse the entire JSON body, but might be forced - // to stop for reasons such as invalid characters, duplicate keys, truncation, - // and any content whose root node isn't an object or an array. - // - // AWS WAF parses the JSON in the following examples as two valid key, value - // pairs: - // - // * Missing comma: {"key1":"value1""key2":"value2"} - // - // * Missing colon: {"key1":"value1","key2""value2"} + // * EVALUATE_AS_STRING - Inspect the body as plain text. This option applies + // the text transformations and inspection criteria that you defined for + // the JSON inspection to the body text string. // - // * Extra colons: {"key1"::"value1","key2""value2"} + // If you don't provide this setting, when AWS WAF encounters invalid JSON, + // it parses and inspects what it can, up to the first invalid JSON that it + // encounters. InvalidFallbackBehavior *string `type:"string" enum:"BodyParsingFallbackBehavior"` // The patterns to look for in the JSON body. AWS WAF inspects the results of @@ -9907,8 +10356,8 @@ func (s Method) GoString() string { // a rule without performing any actions. You set the OverrideAction on the // Rule. // -// This is used only in the context of other settings, for example to specify -// values for RuleAction and web ACL DefaultAction. +// This is used in the context of other settings, for example to specify values +// for RuleAction and web ACL DefaultAction. type NoneAction struct { _ struct{} `type:"structure"` } @@ -10054,6 +10503,21 @@ func (s OverrideAction) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *OverrideAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OverrideAction"} + if s.Count != nil { + if err := s.Count.Validate(); err != nil { + invalidParams.AddNested("Count", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCount sets the Count field's value. func (s *OverrideAction) SetCount(v *CountAction) *OverrideAction { s.Count = v @@ -10781,6 +11245,16 @@ func (s *Rule) Validate() error { if s.VisibilityConfig == nil { invalidParams.Add(request.NewErrParamRequired("VisibilityConfig")) } + if s.Action != nil { + if err := s.Action.Validate(); err != nil { + invalidParams.AddNested("Action", err.(request.ErrInvalidParams)) + } + } + if s.OverrideAction != nil { + if err := s.OverrideAction.Validate(); err != nil { + invalidParams.AddNested("OverrideAction", err.(request.ErrInvalidParams)) + } + } if s.Statement != nil { if err := s.Statement.Validate(); err != nil { invalidParams.AddNested("Statement", err.(request.ErrInvalidParams)) @@ -10859,6 +11333,31 @@ func (s RuleAction) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *RuleAction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RuleAction"} + if s.Allow != nil { + if err := s.Allow.Validate(); err != nil { + invalidParams.AddNested("Allow", err.(request.ErrInvalidParams)) + } + } + if s.Block != nil { + if err := s.Block.Validate(); err != nil { + invalidParams.AddNested("Block", err.(request.ErrInvalidParams)) + } + } + if s.Count != nil { + if err := s.Count.Validate(); err != nil { + invalidParams.AddNested("Count", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetAllow sets the Allow field's value. func (s *RuleAction) SetAllow(v *AllowAction) *RuleAction { s.Allow = v @@ -10908,6 +11407,20 @@ type RuleGroup struct { // Capacity is a required field Capacity *int64 `min:"1" type:"long" required:"true"` + // A map of custom response keys and content bodies. When you create a rule + // with a block action, you can send a custom response to the web request. You + // define these for the rule group, and then use them in the rules that you + // define in the rule group. + // + // For information about customizing web requests and responses, see Customizing + // web requests and responses in AWS WAF (https://docs.aws.amazon.com/waf/latest/developerguide/waf-custom-request-response.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + // + // For information about the limits on count and size for custom request and + // response settings, see AWS WAF quotas (https://docs.aws.amazon.com/waf/latest/developerguide/limits.html) + // in the AWS WAF Developer Guide (https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html). + CustomResponseBodies map[string]*CustomResponseBody `min:"1" type:"map"` + // A description of the rule group that helps with identification. Description *string `min:"1" type:"string"` @@ -10958,6 +11471,12 @@ func (s *RuleGroup) SetCapacity(v int64) *RuleGroup { return s } +// SetCustomResponseBodies sets the CustomResponseBodies field's value. +func (s *RuleGroup) SetCustomResponseBodies(v map[string]*CustomResponseBody) *RuleGroup { + s.CustomResponseBodies = v + return s +} + // SetDescription sets the Description field's value. func (s *RuleGroup) SetDescription(v string) *RuleGroup { s.Description = &v @@ -11181,6 +11700,13 @@ type SampledHTTPRequest struct { // Request is a required field Request *HTTPRequest `type:"structure" required:"true"` + // Custom request headers inserted by AWS WAF into the request, according to + // the custom request configuration for the matching rule action. + RequestHeadersInserted []*HTTPHeader `type:"list"` + + // The response code that was sent for the request. + ResponseCodeSent *int64 `min:"200" type:"integer"` + // The name of the Rule that the request matched. For managed rule groups, the // format for this name is