From 81960d7add5555f04b5c9b1a69083738543a43c3 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Fri, 5 Mar 2021 11:17:25 -0800 Subject: [PATCH] Release v1.37.25 (2021-03-05) (#3812) Release v1.37.25 (2021-03-05) === ### Service Client Updates * `service/appflow`: Updates service documentation * `service/athena`: Updates service API, documentation, and paginators * Adds APIs to create, list, update, and delete prepared SQL statements that have optional placeholder parameters. A prepared statement can use different values for these parameters each time it is run. * `service/codepipeline`: Updates service API * Updated the parameters to make actionType required for UpdateActionType * `service/ec2`: Updates service API and documentation * Expands EC2/Spot Fleet capacity-optimized allocation strategy to allow users to prioritize instance pools. Fleet attempts to fulfill priorities on a best-effort basis but optimizes for capacity first. * `service/license-manager`: Updates service API * `service/medialive`: Updates service API and documentation * Medialive now supports the ability to transfer AWS Elemental Link devices to another region. * `service/network-firewall`: Updates service API and documentation * `service/shield`: Updates service API and documentation * Add support for tagging of Shield protection and protection group resources. --- CHANGELOG.md | 18 + aws/version.go | 2 +- models/apis/appflow/2020-08-23/docs-2.json | 48 +- models/apis/athena/2017-05-18/api-2.json | 190 +++ models/apis/athena/2017-05-18/docs-2.json | 110 +- .../apis/athena/2017-05-18/paginators-1.json | 5 + .../apis/codepipeline/2015-07-09/api-2.json | 1 + models/apis/ec2/2016-11-15/api-2.json | 34 +- models/apis/ec2/2016-11-15/docs-2.json | 16 +- .../license-manager/2018-08-01/api-2.json | 1 - models/apis/medialive/2017-10-14/api-2.json | 8 + models/apis/medialive/2017-10-14/docs-2.json | 1 + .../network-firewall/2020-11-12/api-2.json | 11 +- .../network-firewall/2020-11-12/docs-2.json | 19 +- models/apis/shield/2016-06-02/api-2.json | 133 ++- models/apis/shield/2016-06-02/docs-2.json | 75 +- service/appflow/api.go | 35 +- service/athena/api.go | 1034 ++++++++++++++++- service/athena/athenaiface/interface.go | 23 + service/codepipeline/api.go | 7 +- service/ec2/api.go | 116 +- service/licensemanager/api.go | 7 +- service/medialive/api.go | 8 + service/networkfirewall/api.go | 94 +- service/networkfirewall/doc.go | 2 - service/shield/api.go | 610 ++++++++++ service/shield/shieldiface/interface.go | 12 + 27 files changed, 2491 insertions(+), 129 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb80478a43c..b4fb463f352 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,21 @@ +Release v1.37.25 (2021-03-05) +=== + +### Service Client Updates +* `service/appflow`: Updates service documentation +* `service/athena`: Updates service API, documentation, and paginators + * Adds APIs to create, list, update, and delete prepared SQL statements that have optional placeholder parameters. A prepared statement can use different values for these parameters each time it is run. +* `service/codepipeline`: Updates service API + * Updated the parameters to make actionType required for UpdateActionType +* `service/ec2`: Updates service API and documentation + * Expands EC2/Spot Fleet capacity-optimized allocation strategy to allow users to prioritize instance pools. Fleet attempts to fulfill priorities on a best-effort basis but optimizes for capacity first. +* `service/license-manager`: Updates service API +* `service/medialive`: Updates service API and documentation + * Medialive now supports the ability to transfer AWS Elemental Link devices to another region. +* `service/network-firewall`: Updates service API and documentation +* `service/shield`: Updates service API and documentation + * Add support for tagging of Shield protection and protection group resources. + Release v1.37.24 (2021-03-04) === diff --git a/aws/version.go b/aws/version.go index 28e010f9c25..73bd73ea143 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.37.24" +const SDKVersion = "1.37.25" diff --git a/models/apis/appflow/2020-08-23/docs-2.json b/models/apis/appflow/2020-08-23/docs-2.json index e8d54c68c02..45183e999c6 100644 --- a/models/apis/appflow/2020-08-23/docs-2.json +++ b/models/apis/appflow/2020-08-23/docs-2.json @@ -41,7 +41,7 @@ "base": null, "refs": { "GoogleAnalyticsConnectorProfileCredentials$accessToken": "

The credentials used to access protected Google Analytics resources.

", - "HoneycodeConnectorProfileCredentials$accessToken": null, + "HoneycodeConnectorProfileCredentials$accessToken": "

The credentials used to access protected Amazon Honeycode resources.

", "MarketoConnectorProfileCredentials$accessToken": "

The credentials used to access protected Marketo resources.

", "SalesforceConnectorProfileCredentials$accessToken": "

The credentials used to access protected Salesforce resources.

", "SlackConnectorProfileCredentials$accessToken": "

The credentials used to access protected Slack resources.

", @@ -368,7 +368,7 @@ "base": null, "refs": { "ConnectorConfiguration$supportedDestinationConnectors": "

Lists the connectors that are available for use as destinations.

", - "DescribeConnectorsRequest$connectorTypes": "

The type of connector, such as Salesforce, Amplitude, and so on.

Locke refers to a new destination known as Amazon Connect Customer Profiles. At this time, we recommend that you do not use this destination.

" + "DescribeConnectorsRequest$connectorTypes": "

The type of connector, such as Salesforce, Amplitude, and so on.

" } }, "CreateConnectorProfileRequest": { @@ -399,15 +399,15 @@ } }, "CustomerProfilesDestinationProperties": { - "base": null, + "base": "

The properties that are applied when Amazon Connect Customer Profiles is used as a destination.

", "refs": { - "DestinationConnectorProperties$CustomerProfiles": null + "DestinationConnectorProperties$CustomerProfiles": "

The properties required to query Amazon Connect Customer Profiles.

" } }, "CustomerProfilesMetadata": { - "base": null, + "base": "

The connector metadata specific to Amazon Connect Customer Profiles.

", "refs": { - "ConnectorMetadata$CustomerProfiles": null + "ConnectorMetadata$CustomerProfiles": "

The connector metadata specific to Amazon Connect Customer Profiles.

" } }, "DataPullMode": { @@ -468,7 +468,7 @@ "FlowDefinition$lastUpdatedAt": "

Specifies when the flow was last updated.

", "ScheduledTriggerProperties$scheduleStartTime": "

Specifies the scheduled start time for a schedule-triggered flow.

", "ScheduledTriggerProperties$scheduleEndTime": "

Specifies the scheduled end time for a schedule-triggered flow.

", - "ScheduledTriggerProperties$firstExecutionFrom": null + "ScheduledTriggerProperties$firstExecutionFrom": "

Specifies the date range for the records to import from the connector in the first flow run.

" } }, "DatetimeTypeFieldName": { @@ -588,7 +588,7 @@ "DomainName": { "base": null, "refs": { - "CustomerProfilesDestinationProperties$domainName": null + "CustomerProfilesDestinationProperties$domainName": "

The unique name of the Amazon Connect Customer Profiles domain.

" } }, "DynatraceConnectorOperator": { @@ -837,27 +837,27 @@ } }, "HoneycodeConnectorProfileCredentials": { - "base": null, + "base": "

The connector-specific credentials required when using Amazon Honeycode.

", "refs": { - "ConnectorProfileCredentials$Honeycode": null + "ConnectorProfileCredentials$Honeycode": "

The connector-specific credentials required when using Amazon Honeycode.

" } }, "HoneycodeConnectorProfileProperties": { - "base": null, + "base": "

The connector-specific properties required when using Amazon Honeycode.

", "refs": { - "ConnectorProfileProperties$Honeycode": null + "ConnectorProfileProperties$Honeycode": "

The connector-specific properties required by Amazon Honeycode.

" } }, "HoneycodeDestinationProperties": { - "base": null, + "base": "

The properties that are applied when Amazon Honeycode is used as a destination.

", "refs": { - "DestinationConnectorProperties$Honeycode": null + "DestinationConnectorProperties$Honeycode": "

The properties required to query Amazon Honeycode.

" } }, "HoneycodeMetadata": { - "base": null, + "base": "

The connector metadata specific to Amazon Honeycode.

", "refs": { - "ConnectorMetadata$Honeycode": null + "ConnectorMetadata$Honeycode": "

The connector metadata specific to Amazon Honeycode.

" } }, "IdFieldNameList": { @@ -989,9 +989,9 @@ } }, "LookoutMetricsDestinationProperties": { - "base": null, + "base": "

The properties that are applied when Amazon Lookout for Metrics is used as a destination.

", "refs": { - "DestinationConnectorProperties$LookoutMetrics": null + "DestinationConnectorProperties$LookoutMetrics": "

The properties required to query Amazon Lookout for Metrics.

" } }, "MarketoConnectorOperator": { @@ -1069,7 +1069,7 @@ "base": null, "refs": { "GoogleAnalyticsMetadata$oAuthScopes": "

The desired authorization scope for the Google Analytics account.

", - "HoneycodeMetadata$oAuthScopes": null, + "HoneycodeMetadata$oAuthScopes": "

The desired authorization scope for the Amazon Honeycode account.

", "SalesforceMetadata$oAuthScopes": "

The desired authorization scope for the Salesforce account.

", "SlackMetadata$oAuthScopes": "

The desired authorization scope for the Slack account.

", "ZendeskMetadata$oAuthScopes": "

The desired authorization scope for the Zendesk account.

" @@ -1083,7 +1083,7 @@ "DynatraceSourceProperties$object": "

The object specified in the Dynatrace flow source.

", "EventBridgeDestinationProperties$object": "

The object specified in the Amazon EventBridge flow destination.

", "GoogleAnalyticsSourceProperties$object": "

The object specified in the Google Analytics flow source.

", - "HoneycodeDestinationProperties$object": null, + "HoneycodeDestinationProperties$object": "

The object specified in the Amazon Honeycode flow destination.

", "InforNexusSourceProperties$object": "

The object specified in the Infor Nexus flow source.

", "MarketoSourceProperties$object": "

The object specified in the Marketo flow source.

", "RedshiftDestinationProperties$object": "

The object specified in the Amazon Redshift flow destination.

", @@ -1101,7 +1101,7 @@ "ObjectTypeName": { "base": null, "refs": { - "CustomerProfilesDestinationProperties$objectTypeName": null + "CustomerProfilesDestinationProperties$objectTypeName": "

The object specified in the Amazon Connect Customer Profiles flow destination.

" } }, "Operator": { @@ -1135,13 +1135,13 @@ "PrefixFormat": { "base": null, "refs": { - "PrefixConfig$prefixFormat": "

Determines the format of the prefix, and whether it applies to the file name, file path, or both.

" + "PrefixConfig$prefixFormat": "

Determines the level of granularity that's included in the prefix.

" } }, "PrefixType": { "base": null, "refs": { - "PrefixConfig$prefixType": "

Determines the level of granularity that's included in the prefix.

" + "PrefixConfig$prefixType": "

Determines the format of the prefix, and whether it applies to the file name, file path, or both.

" } }, "PrivateLinkServiceName": { @@ -1190,7 +1190,7 @@ "base": null, "refs": { "GoogleAnalyticsConnectorProfileCredentials$refreshToken": "

The credentials used to acquire new access tokens. This is required only for OAuth2 access tokens, and is not required for OAuth1 access tokens.

", - "HoneycodeConnectorProfileCredentials$refreshToken": null, + "HoneycodeConnectorProfileCredentials$refreshToken": "

The credentials used to acquire new access tokens.

", "SalesforceConnectorProfileCredentials$refreshToken": "

The credentials used to acquire new access tokens.

" } }, diff --git a/models/apis/athena/2017-05-18/api-2.json b/models/apis/athena/2017-05-18/api-2.json index 41829859f85..892c66b75f3 100644 --- a/models/apis/athena/2017-05-18/api-2.json +++ b/models/apis/athena/2017-05-18/api-2.json @@ -65,6 +65,19 @@ ], "idempotent":true }, + "CreatePreparedStatement":{ + "name":"CreatePreparedStatement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreatePreparedStatementInput"}, + "output":{"shape":"CreatePreparedStatementOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ] + }, "CreateWorkGroup":{ "name":"CreateWorkGroup", "http":{ @@ -105,6 +118,20 @@ ], "idempotent":true }, + "DeletePreparedStatement":{ + "name":"DeletePreparedStatement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeletePreparedStatementInput"}, + "output":{"shape":"DeletePreparedStatementOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "DeleteWorkGroup":{ "name":"DeleteWorkGroup", "http":{ @@ -159,6 +186,20 @@ {"shape":"InvalidRequestException"} ] }, + "GetPreparedStatement":{ + "name":"GetPreparedStatement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"GetPreparedStatementInput"}, + "output":{"shape":"GetPreparedStatementOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetQueryExecution":{ "name":"GetQueryExecution", "http":{ @@ -265,6 +306,19 @@ {"shape":"InvalidRequestException"} ] }, + "ListPreparedStatements":{ + "name":"ListPreparedStatements", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListPreparedStatementsInput"}, + "output":{"shape":"ListPreparedStatementsOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"} + ] + }, "ListQueryExecutions":{ "name":"ListQueryExecutions", "http":{ @@ -389,6 +443,20 @@ {"shape":"InvalidRequestException"} ] }, + "UpdatePreparedStatement":{ + "name":"UpdatePreparedStatement", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdatePreparedStatementInput"}, + "output":{"shape":"UpdatePreparedStatementOutput"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateWorkGroup":{ "name":"UpdateWorkGroup", "http":{ @@ -543,6 +611,25 @@ "NamedQueryId":{"shape":"NamedQueryId"} } }, + "CreatePreparedStatementInput":{ + "type":"structure", + "required":[ + "StatementName", + "WorkGroup", + "QueryStatement" + ], + "members":{ + "StatementName":{"shape":"StatementName"}, + "WorkGroup":{"shape":"WorkGroupName"}, + "QueryStatement":{"shape":"QueryString"}, + "Description":{"shape":"DescriptionString"} + } + }, + "CreatePreparedStatementOutput":{ + "type":"structure", + "members":{ + } + }, "CreateWorkGroupInput":{ "type":"structure", "required":["Name"], @@ -642,6 +729,22 @@ "members":{ } }, + "DeletePreparedStatementInput":{ + "type":"structure", + "required":[ + "StatementName", + "WorkGroup" + ], + "members":{ + "StatementName":{"shape":"StatementName"}, + "WorkGroup":{"shape":"WorkGroupName"} + } + }, + "DeletePreparedStatementOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteWorkGroupInput":{ "type":"structure", "required":["WorkGroup"], @@ -743,6 +846,23 @@ "NamedQuery":{"shape":"NamedQuery"} } }, + "GetPreparedStatementInput":{ + "type":"structure", + "required":[ + "StatementName", + "WorkGroup" + ], + "members":{ + "StatementName":{"shape":"StatementName"}, + "WorkGroup":{"shape":"WorkGroupName"} + } + }, + "GetPreparedStatementOutput":{ + "type":"structure", + "members":{ + "PreparedStatement":{"shape":"PreparedStatement"} + } + }, "GetQueryExecutionInput":{ "type":"structure", "required":["QueryExecutionId"], @@ -892,6 +1012,22 @@ "NextToken":{"shape":"Token"} } }, + "ListPreparedStatementsInput":{ + "type":"structure", + "required":["WorkGroup"], + "members":{ + "WorkGroup":{"shape":"WorkGroupName"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"MaxPreparedStatementsCount"} + } + }, + "ListPreparedStatementsOutput":{ + "type":"structure", + "members":{ + "PreparedStatements":{"shape":"PreparedStatementsList"}, + "NextToken":{"shape":"Token"} + } + }, "ListQueryExecutionsInput":{ "type":"structure", "members":{ @@ -983,6 +1119,12 @@ "max":50, "min":0 }, + "MaxPreparedStatementsCount":{ + "type":"integer", + "box":true, + "max":50, + "min":1 + }, "MaxQueryExecutionsCount":{ "type":"integer", "box":true, @@ -1060,6 +1202,29 @@ "type":"string", "max":51200 }, + "PreparedStatement":{ + "type":"structure", + "members":{ + "StatementName":{"shape":"StatementName"}, + "QueryStatement":{"shape":"QueryString"}, + "WorkGroupName":{"shape":"WorkGroupName"}, + "Description":{"shape":"DescriptionString"}, + "LastModifiedTime":{"shape":"Date"} + } + }, + "PreparedStatementSummary":{ + "type":"structure", + "members":{ + "StatementName":{"shape":"StatementName"}, + "LastModifiedTime":{"shape":"Date"} + } + }, + "PreparedStatementsList":{ + "type":"list", + "member":{"shape":"PreparedStatementSummary"}, + "max":50, + "min":0 + }, "QueryExecution":{ "type":"structure", "members":{ @@ -1195,6 +1360,12 @@ "QueryExecutionId":{"shape":"QueryExecutionId"} } }, + "StatementName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z_][a-zA-Z0-9_@:]{1,256}" + }, "StatementType":{ "type":"string", "enum":[ @@ -1363,6 +1534,25 @@ "members":{ } }, + "UpdatePreparedStatementInput":{ + "type":"structure", + "required":[ + "StatementName", + "WorkGroup", + "QueryStatement" + ], + "members":{ + "StatementName":{"shape":"StatementName"}, + "WorkGroup":{"shape":"WorkGroupName"}, + "QueryStatement":{"shape":"QueryString"}, + "Description":{"shape":"DescriptionString"} + } + }, + "UpdatePreparedStatementOutput":{ + "type":"structure", + "members":{ + } + }, "UpdateWorkGroupInput":{ "type":"structure", "required":["WorkGroup"], diff --git a/models/apis/athena/2017-05-18/docs-2.json b/models/apis/athena/2017-05-18/docs-2.json index 9175a2028d8..06befc22557 100644 --- a/models/apis/athena/2017-05-18/docs-2.json +++ b/models/apis/athena/2017-05-18/docs-2.json @@ -6,13 +6,16 @@ "BatchGetQueryExecution": "

Returns the details of a single query execution or a list of up to 50 query executions, which you provide as an array of query execution ID strings. Requires you to have access to the workgroup in which the queries ran. To get a list of query execution IDs, use ListQueryExecutionsInput$WorkGroup. Query executions differ from named (saved) queries. Use BatchGetNamedQueryInput to get details about named queries.

", "CreateDataCatalog": "

Creates (registers) a data catalog with the specified name and properties. Catalogs created are visible to all users of the same AWS account.

", "CreateNamedQuery": "

Creates a named query in the specified workgroup. Requires that you have access to the workgroup.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "CreatePreparedStatement": "

Creates a prepared statement for use with SQL queries in Athena.

", "CreateWorkGroup": "

Creates a workgroup with the specified name.

", "DeleteDataCatalog": "

Deletes a data catalog.

", "DeleteNamedQuery": "

Deletes the named query if you have access to the workgroup in which the query was saved.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "DeletePreparedStatement": "

Deletes the prepared statement with the specified name from the specified workgroup.

", "DeleteWorkGroup": "

Deletes the workgroup with the specified name. The primary workgroup cannot be deleted.

", "GetDataCatalog": "

Returns the specified data catalog.

", "GetDatabase": "

Returns a database object for the specified database and data catalog.

", "GetNamedQuery": "

Returns information about a single query. Requires that you have access to the workgroup in which the query was saved.

", + "GetPreparedStatement": "

Retrieves the prepared statement with the specified name from the specified workgroup.

", "GetQueryExecution": "

Returns information about a single execution of a query if you have access to the workgroup in which the query ran. Each time a query executes, information about the query execution is saved with a unique ID.

", "GetQueryResults": "

Streams the results of a single query execution specified by QueryExecutionId from the Athena query results location in Amazon S3. For more information, see Query Results in the Amazon Athena User Guide. This request does not execute the query but returns results. Use StartQueryExecution to run a query.

To stream query results successfully, the IAM principal with permission to call GetQueryResults also must have permissions to the Amazon S3 GetObject action for the Athena query results location.

IAM principals with permission to the Amazon S3 GetObject action for the query results location are able to retrieve query results from Amazon S3 even if permission to the GetQueryResults action is denied. To restrict user or role access, ensure that Amazon S3 permissions to the Athena query location are denied.

", "GetTableMetadata": "

Returns table metadata for the specified catalog, database, and table.

", @@ -21,6 +24,7 @@ "ListDatabases": "

Lists the databases in the specified data catalog.

", "ListEngineVersions": "

Returns a list of engine versions that are available to choose from, including the Auto option.

", "ListNamedQueries": "

Provides a list of available query IDs only for queries saved in the specified workgroup. Requires that you have access to the specified workgroup. If a workgroup is not specified, lists the saved queries for the primary workgroup.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", + "ListPreparedStatements": "

Lists the prepared statements in the specfied workgroup.

", "ListQueryExecutions": "

Provides a list of available query execution IDs for the queries in the specified workgroup. If a workgroup is not specified, returns a list of query execution IDs for the primary workgroup. Requires you to have access to the workgroup in which the queries ran.

For code samples using the AWS SDK for Java, see Examples and Code Samples in the Amazon Athena User Guide.

", "ListTableMetadata": "

Lists the metadata for the tables in the specified data catalog database.

", "ListTagsForResource": "

Lists the tags associated with an Athena workgroup or data catalog resource.

", @@ -30,6 +34,7 @@ "TagResource": "

Adds one or more tags to an Athena resource. A tag is a label that you assign to a resource. In Athena, a resource can be a workgroup or data catalog. Each tag consists of a key and an optional value, both of which you define. For example, you can use tags to categorize Athena workgroups or data catalogs by purpose, owner, or environment. Use a consistent set of tag keys to make it easier to search and filter workgroups or data catalogs in your account. For best practices, see Tagging Best Practices. Tag keys can be from 1 to 128 UTF-8 Unicode characters, and tag values can be from 0 to 256 UTF-8 Unicode characters. Tags can use letters and numbers representable in UTF-8, and the following characters: + - = . _ : / @. Tag keys and values are case-sensitive. Tag keys must be unique per resource. If you specify more than one tag, separate them by commas.

", "UntagResource": "

Removes one or more tags from a data catalog or workgroup resource.

", "UpdateDataCatalog": "

Updates the data catalog that has the specified name.

", + "UpdatePreparedStatement": "

Updates a prepared statement.

", "UpdateWorkGroup": "

Updates the workgroup with the specified name. The workgroup's name cannot be changed.

" }, "shapes": { @@ -163,6 +168,16 @@ "refs": { } }, + "CreatePreparedStatementInput": { + "base": null, + "refs": { + } + }, + "CreatePreparedStatementOutput": { + "base": null, + "refs": { + } + }, "CreateWorkGroupInput": { "base": null, "refs": { @@ -224,6 +239,8 @@ "Date": { "base": null, "refs": { + "PreparedStatement$LastModifiedTime": "

The last modified time of the prepared statement.

", + "PreparedStatementSummary$LastModifiedTime": "

The last modified time of the prepared statement.

", "QueryExecutionStatus$SubmissionDateTime": "

The date and time that the query was submitted.

", "QueryExecutionStatus$CompletionDateTime": "

The date and time that the query completed.

", "WorkGroup$CreationTime": "

The date and time the workgroup was created.

", @@ -256,6 +273,16 @@ "refs": { } }, + "DeletePreparedStatementInput": { + "base": null, + "refs": { + } + }, + "DeletePreparedStatementOutput": { + "base": null, + "refs": { + } + }, "DeleteWorkGroupInput": { "base": null, "refs": { @@ -271,10 +298,13 @@ "refs": { "CreateDataCatalogInput$Description": "

A description of the data catalog to be created.

", "CreateNamedQueryInput$Description": "

The query description.

", + "CreatePreparedStatementInput$Description": "

The description of the prepared statement.

", "DataCatalog$Description": "

An optional description of the data catalog.

", "Database$Description": "

An optional description of the database.

", "NamedQuery$Description": "

The query description.

", - "UpdateDataCatalogInput$Description": "

New or modified text that describes the data catalog.

" + "PreparedStatement$Description": "

The description of the prepared statement.

", + "UpdateDataCatalogInput$Description": "

New or modified text that describes the data catalog.

", + "UpdatePreparedStatementInput$Description": "

The description of the prepared statement.

" } }, "EncryptionConfiguration": { @@ -362,6 +392,16 @@ "refs": { } }, + "GetPreparedStatementInput": { + "base": null, + "refs": { + } + }, + "GetPreparedStatementOutput": { + "base": null, + "refs": { + } + }, "GetQueryExecutionInput": { "base": null, "refs": { @@ -472,6 +512,16 @@ "refs": { } }, + "ListPreparedStatementsInput": { + "base": null, + "refs": { + } + }, + "ListPreparedStatementsOutput": { + "base": null, + "refs": { + } + }, "ListQueryExecutionsInput": { "base": null, "refs": { @@ -548,6 +598,12 @@ "ListNamedQueriesInput$MaxResults": "

The maximum number of queries to return in this request.

" } }, + "MaxPreparedStatementsCount": { + "base": null, + "refs": { + "ListPreparedStatementsInput$MaxResults": "

The maximum number of results to return in this request.

" + } + }, "MaxQueryExecutionsCount": { "base": null, "refs": { @@ -646,6 +702,24 @@ "ParametersMap$value": null } }, + "PreparedStatement": { + "base": "

A prepared SQL statement for use with Athena.

", + "refs": { + "GetPreparedStatementOutput$PreparedStatement": "

The name of the prepared statement that was retrieved.

" + } + }, + "PreparedStatementSummary": { + "base": "

The name and last modified time of the prepared statement.

", + "refs": { + "PreparedStatementsList$member": null + } + }, + "PreparedStatementsList": { + "base": null, + "refs": { + "ListPreparedStatementsOutput$PreparedStatements": "

The list of prepared statements for the workgroup.

" + } + }, "QueryExecution": { "base": "

Information about a single instance of a query execution.

", "refs": { @@ -707,9 +781,12 @@ "base": null, "refs": { "CreateNamedQueryInput$QueryString": "

The contents of the query with all query statements.

", + "CreatePreparedStatementInput$QueryStatement": "

The query string for the prepared statement.

", "NamedQuery$QueryString": "

The SQL query statements that comprise the query.

", + "PreparedStatement$QueryStatement": "

The query string for the prepared statement.

", "QueryExecution$Query": "

The SQL query statements which the query execution ran.

", - "StartQueryExecutionInput$QueryString": "

The SQL query statements to be executed.

" + "StartQueryExecutionInput$QueryString": "

The SQL query statements to be executed.

", + "UpdatePreparedStatementInput$QueryStatement": "

The query string for the prepared statement.

" } }, "ResourceNotFoundException": { @@ -765,6 +842,17 @@ "refs": { } }, + "StatementName": { + "base": null, + "refs": { + "CreatePreparedStatementInput$StatementName": "

The name of the prepared statement.

", + "DeletePreparedStatementInput$StatementName": "

The name of the prepared statement to delete.

", + "GetPreparedStatementInput$StatementName": "

The name of the prepared statement to retrieve.

", + "PreparedStatement$StatementName": "

The name of the prepared statement.

", + "PreparedStatementSummary$StatementName": "

The name of the prepared statement.

", + "UpdatePreparedStatementInput$StatementName": "

The name of the prepared statement.

" + } + }, "StatementType": { "base": null, "refs": { @@ -886,6 +974,8 @@ "ListEngineVersionsOutput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", "ListNamedQueriesInput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", "ListNamedQueriesOutput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", + "ListPreparedStatementsInput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", + "ListPreparedStatementsOutput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", "ListQueryExecutionsInput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", "ListQueryExecutionsOutput$NextToken": "

A token to be used by the next request if this request is truncated.

", "ListTableMetadataInput$NextToken": "

A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the NextToken from the response object of the previous page call.

", @@ -951,6 +1041,16 @@ "refs": { } }, + "UpdatePreparedStatementInput": { + "base": null, + "refs": { + } + }, + "UpdatePreparedStatementOutput": { + "base": null, + "refs": { + } + }, "UpdateWorkGroupInput": { "base": null, "refs": { @@ -993,14 +1093,20 @@ "base": null, "refs": { "CreateNamedQueryInput$WorkGroup": "

The name of the workgroup in which the named query is being created.

", + "CreatePreparedStatementInput$WorkGroup": "

The name of the workgroup to which the prepared statement belongs.

", "CreateWorkGroupInput$Name": "

The workgroup name.

", + "DeletePreparedStatementInput$WorkGroup": "

The workgroup to which the statement to be deleted belongs.

", "DeleteWorkGroupInput$WorkGroup": "

The unique name of the workgroup to delete.

", + "GetPreparedStatementInput$WorkGroup": "

The workgroup to which the statement to be retrieved belongs.

", "GetWorkGroupInput$WorkGroup": "

The name of the workgroup.

", "ListNamedQueriesInput$WorkGroup": "

The name of the workgroup from which the named queries are being returned. If a workgroup is not specified, the saved queries for the primary workgroup are returned.

", + "ListPreparedStatementsInput$WorkGroup": "

The workgroup to list the prepared statements for.

", "ListQueryExecutionsInput$WorkGroup": "

The name of the workgroup from which queries are being returned. If a workgroup is not specified, a list of available query execution IDs for the queries in the primary workgroup is returned.

", "NamedQuery$WorkGroup": "

The name of the workgroup that contains the named query.

", + "PreparedStatement$WorkGroupName": "

The name of the workgroup to which the prepared statement belongs.

", "QueryExecution$WorkGroup": "

The name of the workgroup in which the query ran.

", "StartQueryExecutionInput$WorkGroup": "

The name of the workgroup in which the query is being started.

", + "UpdatePreparedStatementInput$WorkGroup": "

The workgroup for the prepared statement.

", "UpdateWorkGroupInput$WorkGroup": "

The specified workgroup that will be updated.

", "WorkGroup$Name": "

The workgroup name.

", "WorkGroupSummary$Name": "

The name of the workgroup.

" diff --git a/models/apis/athena/2017-05-18/paginators-1.json b/models/apis/athena/2017-05-18/paginators-1.json index f323d611949..d813cda77ae 100644 --- a/models/apis/athena/2017-05-18/paginators-1.json +++ b/models/apis/athena/2017-05-18/paginators-1.json @@ -22,6 +22,11 @@ "limit_key": "MaxResults", "output_token": "NextToken" }, + "ListPreparedStatements": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, "ListQueryExecutions": { "input_token": "NextToken", "limit_key": "MaxResults", diff --git a/models/apis/codepipeline/2015-07-09/api-2.json b/models/apis/codepipeline/2015-07-09/api-2.json index c057beca79c..907ad15a0e9 100644 --- a/models/apis/codepipeline/2015-07-09/api-2.json +++ b/models/apis/codepipeline/2015-07-09/api-2.json @@ -2669,6 +2669,7 @@ }, "UpdateActionTypeInput":{ "type":"structure", + "required":["actionType"], "members":{ "actionType":{"shape":"ActionTypeDeclaration"} } diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 614e73776eb..1847a995e70 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -4398,7 +4398,8 @@ "enum":[ "lowestPrice", "diversified", - "capacityOptimized" + "capacityOptimized", + "capacityOptimizedPrioritized" ] }, "AllowedPrincipal":{ @@ -4940,17 +4941,17 @@ "AssociateSubnetCidrBlockRequest":{ "type":"structure", "required":[ - "Ipv6CidrBlock", - "SubnetId" + "SubnetId", + "Ipv6CidrBlock" ], "members":{ - "Ipv6CidrBlock":{ - "shape":"String", - "locationName":"ipv6CidrBlock" - }, "SubnetId":{ "shape":"SubnetId", "locationName":"subnetId" + }, + "Ipv6CidrBlock":{ + "shape":"String", + "locationName":"ipv6CidrBlock" } } }, @@ -7909,11 +7910,10 @@ "CreateNatGatewayRequest":{ "type":"structure", "required":[ - "AllocationId", - "SubnetId" + "SubnetId", + "AllocationId" ], "members":{ - "AllocationId":{"shape":"AllocationId"}, "ClientToken":{ "shape":"String", "idempotencyToken":true @@ -7923,7 +7923,8 @@ "TagSpecifications":{ "shape":"TagSpecificationList", "locationName":"TagSpecification" - } + }, + "AllocationId":{"shape":"AllocationId"} } }, "CreateNatGatewayResult":{ @@ -8393,8 +8394,8 @@ "CreateSubnetRequest":{ "type":"structure", "required":[ - "CidrBlock", - "VpcId" + "VpcId", + "CidrBlock" ], "members":{ "TagSpecifications":{ @@ -8403,14 +8404,14 @@ }, "AvailabilityZone":{"shape":"String"}, "AvailabilityZoneId":{"shape":"String"}, - "CidrBlock":{"shape":"String"}, "Ipv6CidrBlock":{"shape":"String"}, "OutpostArn":{"shape":"String"}, "VpcId":{"shape":"VpcId"}, "DryRun":{ "shape":"Boolean", "locationName":"dryRun" - } + }, + "CidrBlock":{"shape":"String"} } }, "CreateSubnetResult":{ @@ -28565,7 +28566,8 @@ "enum":[ "lowest-price", "diversified", - "capacity-optimized" + "capacity-optimized", + "capacity-optimized-prioritized" ] }, "SpotCapacityRebalance":{ diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index d2e07ce1091..b2d8fa392af 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -681,7 +681,7 @@ "AllocationStrategy": { "base": null, "refs": { - "SpotFleetRequestConfigData$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet request.

If the allocation strategy is lowestPrice, Spot Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, Spot Fleet launches instances from all the Spot Instance pools that you specify.

If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

" + "SpotFleetRequestConfigData$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the Spot Fleet request.

If the allocation strategy is lowestPrice, Spot Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, Spot Fleet launches instances from all the Spot Instance pools that you specify.

If the allocation strategy is capacityOptimized (recommended), Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacityOptimizedPrioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacityOptimizedPrioritized is supported only if your Spot Fleet uses a launch template. Note that if the OnDemandAllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

" } }, "AllowedPrincipal": { @@ -6073,11 +6073,11 @@ "FleetData$FulfilledCapacity": "

The number of units fulfilled by this request compared to the set target capacity.

", "FleetData$FulfilledOnDemandCapacity": "

The number of units fulfilled by this request compared to the set target On-Demand capacity.

", "FleetLaunchTemplateOverrides$WeightedCapacity": "

The number of units provided by the specified instance type.

", - "FleetLaunchTemplateOverrides$Priority": "

The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the override has the lowest priority.

", + "FleetLaunchTemplateOverrides$Priority": "

The priority for the launch template override. The highest priority is launched first.

If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use first in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the override has the lowest priority. You can set the same priority for different launch template overrides.

", "FleetLaunchTemplateOverridesRequest$WeightedCapacity": "

The number of units provided by the specified instance type.

", - "FleetLaunchTemplateOverridesRequest$Priority": "

The priority for the launch template override. If AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.

", + "FleetLaunchTemplateOverridesRequest$Priority": "

The priority for the launch template override. The highest priority is launched first.

If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacity-optimized-prioritized, EC2 Fleet uses priority on a best-effort basis to determine which launch template override to use first in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

", "LaunchTemplateOverrides$WeightedCapacity": "

The number of units provided by the specified instance type.

", - "LaunchTemplateOverrides$Priority": "

The priority for the launch template override. If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity. The highest priority is launched first. Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority.

", + "LaunchTemplateOverrides$Priority": "

The priority for the launch template override. The highest priority is launched first.

If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority to determine which launch template override to use first in fulfilling On-Demand capacity.

If the Spot AllocationStrategy is set to capacityOptimizedPrioritized, Spot Fleet uses priority on a best-effort basis to determine which launch template override to use first in fulfilling Spot capacity, but optimizes for capacity first.

Valid values are whole numbers starting at 0. The lower the number, the higher the priority. If no number is set, the launch template override has the lowest priority. You can set the same priority for different launch template overrides.

", "PriceSchedule$Price": "

The fixed price for the term.

", "PriceScheduleSpecification$Price": "

The fixed price for the term.

", "PricingDetail$Price": "

The price per instance.

", @@ -7688,7 +7688,7 @@ "ImageAttributeName": { "base": null, "refs": { - "DescribeImageAttributeRequest$Attribute": "

The AMI attribute.

Note: Depending on your account privileges, the blockDeviceMapping attribute may return a Client.AuthFailure error. If this happens, use DescribeImages to get information about the block device mapping for the AMI.

" + "DescribeImageAttributeRequest$Attribute": "

The AMI attribute.

Note: The blockDeviceMapping attribute is deprecated. Using this attribute returns the Client.AuthFailure error. To get information about the block device mappings for an AMI, use the DescribeImages action.

" } }, "ImageDiskContainer": { @@ -12916,8 +12916,8 @@ "SpotAllocationStrategy": { "base": null, "refs": { - "SpotOptions$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

", - "SpotOptionsRequest$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized, EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

" + "SpotOptions$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized (recommended), EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

", + "SpotOptionsRequest$AllocationStrategy": "

Indicates how to allocate the target Spot Instance capacity across the Spot Instance pools specified by the EC2 Fleet.

If the allocation strategy is lowest-price, EC2 Fleet launches instances from the Spot Instance pools with the lowest price. This is the default allocation strategy.

If the allocation strategy is diversified, EC2 Fleet launches instances from all of the Spot Instance pools that you specify.

If the allocation strategy is capacity-optimized (recommended), EC2 Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching. To give certain instance types a higher chance of launching first, use capacity-optimized-prioritized. Set a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. You can assign the same priority to different LaunchTemplateOverrides. EC2 implements the priorities on a best-effort basis, but optimizes for capacity first. capacity-optimized-prioritized is supported only if your fleet uses a launch template. Note that if the On-Demand AllocationStrategy is set to prioritized, the same priority is applied when fulfilling On-Demand capacity.

" } }, "SpotCapacityRebalance": { @@ -13519,9 +13519,9 @@ "CreateSpotDatafeedSubscriptionRequest$Prefix": "

The prefix for the data feed file names.

", "CreateSubnetRequest$AvailabilityZone": "

The Availability Zone or Local Zone for the subnet.

Default: AWS selects one for you. If you create more than one subnet in your VPC, we do not necessarily select a different zone for each subnet.

To create a subnet in a Local Zone, set this value to the Local Zone ID, for example us-west-2-lax-1a. For information about the Regions that support Local Zones, see Available Regions in the Amazon Elastic Compute Cloud User Guide.

To create a subnet in an Outpost, set this value to the Availability Zone for the Outpost and specify the Outpost ARN.

", "CreateSubnetRequest$AvailabilityZoneId": "

The AZ ID or the Local Zone ID of the subnet.

", - "CreateSubnetRequest$CidrBlock": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", "CreateSubnetRequest$Ipv6CidrBlock": "

The IPv6 network range for the subnet, in CIDR notation. The subnet size must use a /64 prefix length.

", "CreateSubnetRequest$OutpostArn": "

The Amazon Resource Name (ARN) of the Outpost. If you specify an Outpost ARN, you must also specify the Availability Zone of the Outpost subnet.

", + "CreateSubnetRequest$CidrBlock": "

The IPv4 network range for the subnet, in CIDR notation. For example, 10.0.0.0/24. We modify the specified CIDR block to its canonical form; for example, if you specify 100.68.0.18/18, we modify it to 100.68.0.0/18.

", "CreateTrafficMirrorFilterRequest$Description": "

The description of the Traffic Mirror filter.

", "CreateTrafficMirrorFilterRequest$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", "CreateTrafficMirrorFilterResult$ClientToken": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see How to Ensure Idempotency.

", diff --git a/models/apis/license-manager/2018-08-01/api-2.json b/models/apis/license-manager/2018-08-01/api-2.json index 43407542823..d72e917221d 100644 --- a/models/apis/license-manager/2018-08-01/api-2.json +++ b/models/apis/license-manager/2018-08-01/api-2.json @@ -1975,7 +1975,6 @@ "type":"structure", "required":[ "ProductInformationFilterName", - "ProductInformationFilterValue", "ProductInformationFilterComparator" ], "members":{ diff --git a/models/apis/medialive/2017-10-14/api-2.json b/models/apis/medialive/2017-10-14/api-2.json index 2da2ae44b79..76d50d18798 100644 --- a/models/apis/medialive/2017-10-14/api-2.json +++ b/models/apis/medialive/2017-10-14/api-2.json @@ -11505,6 +11505,10 @@ "shape": "__string", "locationName": "targetCustomerId" }, + "TargetRegion": { + "shape": "__string", + "locationName": "targetRegion" + }, "TransferMessage": { "shape": "__string", "locationName": "transferMessage" @@ -11523,6 +11527,10 @@ "shape": "__string", "locationName": "targetCustomerId" }, + "TargetRegion": { + "shape": "__string", + "locationName": "targetRegion" + }, "TransferMessage": { "shape": "__string", "locationName": "transferMessage" diff --git a/models/apis/medialive/2017-10-14/docs-2.json b/models/apis/medialive/2017-10-14/docs-2.json index 5e8914e1010..e082334fc87 100644 --- a/models/apis/medialive/2017-10-14/docs-2.json +++ b/models/apis/medialive/2017-10-14/docs-2.json @@ -4270,6 +4270,7 @@ "TeletextSourceSettings$PageNumber": "Specifies the teletext page number within the data stream from which to extract captions. Range of 0x100 (256) to 0x8FF (2303). Unused for passthrough. Should be specified as a hexadecimal string with no \"0x\" prefix.", "ThumbnailData$Body": "The binary data for the thumbnail that the Link device has most recently sent to MediaLive.", "TransferInputDevice$TargetCustomerId": "The AWS account ID (12 digits) for the recipient of the device transfer.", + "TransferInputDevice$TargetRegion": "The target AWS region to transfer the device.", "TransferInputDevice$TransferMessage": "An optional message for the recipient. Maximum 280 characters.", "TransferringInputDeviceSummary$Id": "The unique ID of the input device.", "TransferringInputDeviceSummary$Message": "The optional message that the sender has attached to the transfer.", diff --git a/models/apis/network-firewall/2020-11-12/api-2.json b/models/apis/network-firewall/2020-11-12/api-2.json index 79f8e63e127..41b83177189 100644 --- a/models/apis/network-firewall/2020-11-12/api-2.json +++ b/models/apis/network-firewall/2020-11-12/api-2.json @@ -45,7 +45,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"}, {"shape":"InvalidTokenException"}, - {"shape":"InvalidOperationException"} + {"shape":"InvalidOperationException"}, + {"shape":"InsufficientCapacityException"} ] }, "CreateFirewall":{ @@ -140,6 +141,7 @@ "input":{"shape":"DeleteResourcePolicyRequest"}, "output":{"shape":"DeleteResourcePolicyResponse"}, "errors":[ + {"shape":"InvalidRequestException"}, {"shape":"InternalServerError"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} @@ -216,6 +218,7 @@ "input":{"shape":"DescribeResourcePolicyRequest"}, "output":{"shape":"DescribeResourcePolicyResponse"}, "errors":[ + {"shape":"InvalidRequestException"}, {"shape":"InternalServerError"}, {"shape":"ResourceNotFoundException"}, {"shape":"ThrottlingException"} @@ -304,7 +307,8 @@ "input":{"shape":"ListTagsForResourceRequest"}, "output":{"shape":"ListTagsForResourceResponse"}, "errors":[ - {"shape":"ResourceNotFoundException"} + {"shape":"ResourceNotFoundException"}, + {"shape":"InvalidRequestException"} ] }, "PutResourcePolicy":{ @@ -1197,7 +1201,8 @@ "PerObjectStatus":{ "type":"structure", "members":{ - "SyncStatus":{"shape":"PerObjectSyncStatus"} + "SyncStatus":{"shape":"PerObjectSyncStatus"}, + "UpdateToken":{"shape":"UpdateToken"} } }, "PerObjectSyncStatus":{ diff --git a/models/apis/network-firewall/2020-11-12/docs-2.json b/models/apis/network-firewall/2020-11-12/docs-2.json index 6e585e7b129..8fb5f4e1ecf 100644 --- a/models/apis/network-firewall/2020-11-12/docs-2.json +++ b/models/apis/network-firewall/2020-11-12/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

This is the API Reference for AWS Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors.

Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source intrusion detection system (IDS) engine. For information about Suricata, see the Suricata website.

You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples:

To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

To start using Network Firewall, do the following:

  1. (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC.

  2. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall.

  3. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have.

  4. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior.

  5. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy.

  6. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints.

", + "service": "

This is the API Reference for AWS Network Firewall. This guide is for developers who need detailed information about the Network Firewall API actions, data types, and errors.

Network Firewall is a stateful, managed, network firewall and intrusion detection and prevention service for Amazon Virtual Private Cloud (Amazon VPC). With Network Firewall, you can filter traffic at the perimeter of your VPC. This includes filtering traffic going to and coming from an internet gateway, NAT gateway, or over VPN or AWS Direct Connect. Network Firewall uses rules that are compatible with Suricata, a free, open source intrusion detection system (IDS) engine. For information about Suricata, see the Suricata website.

You can use Network Firewall to monitor and protect your VPC traffic in a number of ways. The following are just a few examples:

To enable Network Firewall for your VPCs, you perform steps in both Amazon VPC and in Network Firewall. For information about using Amazon VPC, see Amazon VPC User Guide.

To start using Network Firewall, do the following:

  1. (Optional) If you don't already have a VPC that you want to protect, create it in Amazon VPC.

  2. In Amazon VPC, in each Availability Zone where you want to have a firewall endpoint, create a subnet for the sole use of Network Firewall.

  3. In Network Firewall, create stateless and stateful rule groups, to define the components of the network traffic filtering behavior that you want your firewall to have.

  4. In Network Firewall, create a firewall policy that uses your rule groups and specifies additional default traffic filtering behavior.

  5. In Network Firewall, create a firewall and specify your new firewall policy and VPC subnets. Network Firewall creates a firewall endpoint in each subnet that you specify, with the behavior that's defined in the firewall policy.

  6. In Amazon VPC, use ingress routing enhancements to route traffic through the new firewall endpoints.

", "operations": { "AssociateFirewallPolicy": "

Associates a FirewallPolicy to a Firewall.

A firewall policy defines how to monitor and manage your VPC network traffic, using a collection of inspection rule groups and other settings. Each firewall requires one firewall policy association, and you can use the same firewall policy for multiple firewalls.

", "AssociateSubnets": "

Associates the specified subnets in the Amazon VPC to the firewall. You can specify one subnet for each of the Availability Zones that the VPC spans.

This request creates an AWS Network Firewall firewall endpoint in each of the subnets. To enable the firewall's protections, you must also modify the VPC's route tables for each subnet's Availability Zone, to redirect the traffic that's coming into and going out of the zone through the firewall endpoint.

", @@ -613,7 +613,7 @@ } }, "PerObjectStatus": { - "base": "

", + "base": "

Provides configuration status for a single policy or rule group that is used for a firewall endpoint. Network Firewall provides each endpoint with the rules that are configured in the firewall policy. Each time you add a subnet or modify the associated firewall policy, Network Firewall synchronizes the rules in the endpoint, so it can properly filter network traffic. This is part of a SyncState for a firewall.

", "refs": { "SyncStateConfig$value": null } @@ -621,7 +621,7 @@ "PerObjectSyncStatus": { "base": null, "refs": { - "PerObjectStatus$SyncStatus": "

" + "PerObjectStatus$SyncStatus": "

Indicates whether this object is in sync with the version indicated in the update token.

" } }, "PolicyString": { @@ -886,7 +886,7 @@ "RuleTargets": { "base": null, "refs": { - "RulesSourceList$Targets": "

The domains that you want to inspect for in your traffic flows. To provide multiple domains, separate them with commas.

" + "RulesSourceList$Targets": "

The domains that you want to inspect for in your traffic flows. To provide multiple domains, separate them with commas. Valid domain specifications are the following:

" } }, "RuleVariableName": { @@ -909,7 +909,7 @@ } }, "RulesSourceList": { - "base": "

Stateful inspection criteria for a domain list rule group.

", + "base": "

Stateful inspection criteria for a domain list rule group.

For HTTPS traffic, domain filtering is SNI-based. It uses the server name indicator extension of the TLS handshake.

By default, Network Firewall domain list inspection only includes traffic coming from the VPC where you deploy the firewall. To inspect traffic from IP addresses outside of the deployment VPC, you set the HOME_NET rule variable to include the CIDR range of the deployment VPC plus the other CIDR ranges. For more information, see RuleVariables in this guide and Stateful domain list rule groups in AWS Network Firewall in the Network Firewall Developer Guide

", "refs": { "RulesSource$RulesSourceList": "

Stateful inspection criteria for a domain list rule group.

" } @@ -918,7 +918,7 @@ "base": null, "refs": { "CreateRuleGroupRequest$Rules": "

The name of a file containing stateful rule group rules specifications in Suricata flat format, with one rule per line. Use this to import your existing Suricata compatible rule groups.

You must provide either this rules setting or a populated RuleGroup setting, but not both.

You can provide your rule group specification in a file through this setting when you create or update your rule group. The call response returns a RuleGroup object that Network Firewall has populated from your file. Network Firewall uses the file contents to populate the rule group rules, but does not maintain a reference to the file or use the file in any way after performing the create or update. If you call DescribeRuleGroup to retrieve the rule group, Network Firewall returns rules settings inside a RuleGroup object.

", - "RulesSource$RulesString": "

Stateful inspection criteria, provided in Suricata compatible intrusion prevention system (IPS) rules. Suricata is an open-source network IPS that includes a standard rule-based language for network traffic inspection.

These rules contain the inspection criteria and the action to take for traffic that matches the criteria, so this type of rule group doesn't have a separate action setting.

You can provide the rules from a file that you've stored in an Amazon S3 bucket, or by providing the rules in a Suricata rules string. To import from Amazon S3, provide the fully qualified name of the file that contains the rules definitions. To provide a Suricata rule string, provide the complete, Suricata compatible rule.

", + "RulesSource$RulesString": "

Stateful inspection criteria, provided in Suricata compatible intrusion prevention system (IPS) rules. Suricata is an open-source network IPS that includes a standard rule-based language for network traffic inspection.

These rules contain the inspection criteria and the action to take for traffic that matches the criteria, so this type of rule group doesn't have a separate action setting.

", "UpdateRuleGroupRequest$Rules": "

The name of a file containing stateful rule group rules specifications in Suricata flat format, with one rule per line. Use this to import your existing Suricata compatible rule groups.

You must provide either this rules setting or a populated RuleGroup setting, but not both.

You can provide your rule group specification in a file through this setting when you create or update your rule group. The call response returns a RuleGroup object that Network Firewall has populated from your file. Network Firewall uses the file contents to populate the rule group rules, but does not maintain a reference to the file or use the file in any way after performing the create or update. If you call DescribeRuleGroup to retrieve the rule group, Network Firewall returns rules settings inside a RuleGroup object.

" } }, @@ -973,7 +973,7 @@ "StatefulRuleProtocol": { "base": null, "refs": { - "Header$Protocol": "

The protocol to inspect for. To match with any protocol, specify ANY.

" + "Header$Protocol": "

The protocol to inspect for.

" } }, "StatefulRules": { @@ -986,7 +986,7 @@ "base": null, "refs": { "FirewallPolicy$StatelessDefaultActions": "

The actions to take on a packet if it doesn't match any of the stateless rules in the policy. If you want non-matching packets to be forwarded for stateful inspection, specify aws:forward_to_sfe.

You must specify one of the standard actions: aws:pass, aws:drop, or aws:forward_to_sfe. In addition, you can specify custom actions that are compatible with your standard section choice.

For example, you could specify [\"aws:pass\"] or you could specify [\"aws:pass\", “customActionName”]. For information about compatibility, see the custom action descriptions under CustomAction.

", - "FirewallPolicy$StatelessFragmentDefaultActions": "

The actions to take on a fragmented packet if it doesn't match any of the stateless rules in the policy. If you want non-matching fragmented packets to be forwarded for stateful inspection, specify aws:forward_to_sfe.

You must specify one of the standard actions: aws:pass, aws:drop, or aws:forward_to_sfe. In addition, you can specify custom actions that are compatible with your standard section choice.

For example, you could specify [\"aws:pass\"] or you could specify [\"aws:pass\", “customActionName”]. For information about compatibility, see the custom action descriptions under CustomAction.

", + "FirewallPolicy$StatelessFragmentDefaultActions": "

The actions to take on a fragmented UDP packet if it doesn't match any of the stateless rules in the policy. Network Firewall only manages UDP packet fragments and silently drops packet fragments for other protocols. If you want non-matching fragmented UDP packets to be forwarded for stateful inspection, specify aws:forward_to_sfe.

You must specify one of the standard actions: aws:pass, aws:drop, or aws:forward_to_sfe. In addition, you can specify custom actions that are compatible with your standard section choice.

For example, you could specify [\"aws:pass\"] or you could specify [\"aws:pass\", “customActionName”]. For information about compatibility, see the custom action descriptions under CustomAction.

", "RuleDefinition$Actions": "

The actions to take on a packet that matches one of the stateless rule definition's match attributes. You must specify a standard action and you can add custom actions.

Network Firewall only forwards a packet for stateful rule inspection if you specify aws:forward_to_sfe for a rule that the packet matches, or if the packet doesn't match any stateless rule and you specify aws:forward_to_sfe for the StatelessDefaultActions setting for the FirewallPolicy.

For every rule, you must specify exactly one of the following standard actions.

Additionally, you can specify a custom action. To do this, you define a custom action by name and type, then provide the name you've assigned to the action in this Actions setting. For information about the options, see CustomAction.

To provide more than one action in this setting, separate the settings with a comma. For example, if you have a custom PublishMetrics action that you've named MyMetricsAction, then you could specify the standard action aws:pass and the custom action with [“aws:pass”, “MyMetricsAction”].

" } }, @@ -1135,7 +1135,7 @@ "TargetTypes": { "base": null, "refs": { - "RulesSourceList$TargetTypes": "

" + "RulesSourceList$TargetTypes": "

The protocols you want to inspect. Specify TLS_SNI for HTTPS. Specity HTTP_HOST for HTTP. You can specify either or both.

" } }, "ThrottlingException": { @@ -1242,6 +1242,7 @@ "DescribeRuleGroupResponse$UpdateToken": "

A token used for optimistic locking. Network Firewall returns a token to your requests that access the rule group. The token marks the state of the rule group resource at the time of the request.

To make changes to the rule group, you provide the token in your request. Network Firewall uses the token to ensure that the rule group hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the rule group again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.

", "DisassociateSubnetsRequest$UpdateToken": "

An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

", "DisassociateSubnetsResponse$UpdateToken": "

An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

", + "PerObjectStatus$UpdateToken": "

The current version of the object that is either in sync or pending synchronization.

", "UpdateFirewallDeleteProtectionRequest$UpdateToken": "

An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

", "UpdateFirewallDeleteProtectionResponse$UpdateToken": "

An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

", "UpdateFirewallDescriptionRequest$UpdateToken": "

An optional token that you can use for optimistic locking. Network Firewall returns a token to your requests that access the firewall. The token marks the state of the firewall resource at the time of the request.

To make an unconditional change to the firewall, omit the token in your update request. Without the token, Network Firewall performs your updates regardless of whether the firewall has changed since you last retrieved it.

To make a conditional change to the firewall, provide the token in your update request. Network Firewall uses the token to ensure that the firewall hasn't changed since you last retrieved it. If it has changed, the operation fails with an InvalidTokenException. If this happens, retrieve the firewall again to get a current copy of it with a new token. Reapply your changes as needed, then try the operation again using the new token.

", diff --git a/models/apis/shield/2016-06-02/api-2.json b/models/apis/shield/2016-06-02/api-2.json index e115376d027..0c85014a348 100644 --- a/models/apis/shield/2016-06-02/api-2.json +++ b/models/apis/shield/2016-06-02/api-2.json @@ -410,6 +410,50 @@ {"shape":"InvalidPaginationTokenException"} ] }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidResourceException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidResourceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalErrorException"}, + {"shape":"InvalidResourceException"}, + {"shape":"InvalidParameterException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "UpdateEmergencyContactSettings":{ "name":"UpdateEmergencyContactSettings", "http":{ @@ -662,7 +706,8 @@ "Aggregation":{"shape":"ProtectionGroupAggregation"}, "Pattern":{"shape":"ProtectionGroupPattern"}, "ResourceType":{"shape":"ProtectedResourceType"}, - "Members":{"shape":"ProtectionGroupMembers"} + "Members":{"shape":"ProtectionGroupMembers"}, + "Tags":{"shape":"TagList"} } }, "CreateProtectionGroupResponse":{ @@ -678,7 +723,8 @@ ], "members":{ "Name":{"shape":"ProtectionName"}, - "ResourceArn":{"shape":"ResourceArn"} + "ResourceArn":{"shape":"ResourceArn"}, + "Tags":{"shape":"TagList"} } }, "CreateProtectionResponse":{ @@ -1054,6 +1100,19 @@ "NextToken":{"shape":"Token"} } }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["ResourceARN"], + "members":{ + "ResourceARN":{"shape":"ResourceArn"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "Tags":{"shape":"TagList"} + } + }, "LockedSubscriptionException":{ "type":"structure", "members":{ @@ -1135,7 +1194,8 @@ "Id":{"shape":"ProtectionId"}, "Name":{"shape":"ProtectionName"}, "ResourceArn":{"shape":"ResourceArn"}, - "HealthCheckIds":{"shape":"HealthCheckIds"} + "HealthCheckIds":{"shape":"HealthCheckIds"}, + "ProtectionArn":{"shape":"ResourceArn"} } }, "ProtectionGroup":{ @@ -1151,7 +1211,8 @@ "Aggregation":{"shape":"ProtectionGroupAggregation"}, "Pattern":{"shape":"ProtectionGroupPattern"}, "ResourceType":{"shape":"ProtectedResourceType"}, - "Members":{"shape":"ProtectionGroupMembers"} + "Members":{"shape":"ProtectionGroupMembers"}, + "ProtectionGroupArn":{"shape":"ResourceArn"} } }, "ProtectionGroupAggregation":{ @@ -1301,7 +1362,8 @@ "AutoRenew":{"shape":"AutoRenew"}, "Limits":{"shape":"Limits"}, "ProactiveEngagementStatus":{"shape":"ProactiveEngagementStatus"}, - "SubscriptionLimits":{"shape":"SubscriptionLimits"} + "SubscriptionLimits":{"shape":"SubscriptionLimits"}, + "SubscriptionArn":{"shape":"ResourceArn"} } }, "SubscriptionLimits":{ @@ -1349,6 +1411,51 @@ "type":"list", "member":{"shape":"SummarizedCounter"} }, + "Tag":{ + "type":"structure", + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1 + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{"shape":"ResourceArn"}, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, "TimeRange":{ "type":"structure", "members":{ @@ -1376,6 +1483,22 @@ "REQUESTS" ] }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{"shape":"ResourceArn"}, + "TagKeys":{"shape":"TagKeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, "UpdateEmergencyContactSettingsRequest":{ "type":"structure", "members":{ diff --git a/models/apis/shield/2016-06-02/docs-2.json b/models/apis/shield/2016-06-02/docs-2.json index c9c26b6e6ed..a7d48df98de 100644 --- a/models/apis/shield/2016-06-02/docs-2.json +++ b/models/apis/shield/2016-06-02/docs-2.json @@ -29,6 +29,9 @@ "ListProtectionGroups": "

Retrieves the ProtectionGroup objects for the account.

", "ListProtections": "

Lists all Protection objects for the account.

", "ListResourcesInProtectionGroup": "

Retrieves the resources that are included in the protection group.

", + "ListTagsForResource": "

Gets information about AWS tags for a specified Amazon Resource Name (ARN) in AWS Shield.

", + "TagResource": "

Adds or updates tags for a resource in AWS Shield.

", + "UntagResource": "

Removes tags from a resource in AWS Shield.

", "UpdateEmergencyContactSettings": "

Updates the details of the list of email addresses and phone numbers that the DDoS Response Team (DRT) can use to contact you if you have proactive engagement enabled, for escalations to the DRT and to initiate proactive customer support.

", "UpdateProtectionGroup": "

Updates an existing protection group. A protection group is a grouping of protected resources so they can be handled as a collective. This resource grouping improves the accuracy of detection and reduces false positives.

", "UpdateSubscription": "

Updates the details of an existing subscription. Only enter values for parameters you want to change. Empty parameters are not updated.

" @@ -546,6 +549,16 @@ "refs": { } }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, "LockedSubscriptionException": { "base": "

You are trying to update a subscription that has not yet completed the 1-year commitment. You can change the AutoRenew parameter during the last 30 days of your subscription. This exception indicates that you are attempting to change AutoRenew prior to that period.

", "refs": { @@ -741,10 +754,16 @@ "AttackDetail$ResourceArn": "

The ARN (Amazon Resource Name) of the resource that was attacked.

", "CreateProtectionRequest$ResourceArn": "

The ARN (Amazon Resource Name) of the resource to be protected.

The ARN should be in one of the following formats:

", "DescribeProtectionRequest$ResourceArn": "

The ARN (Amazon Resource Name) of the AWS resource for the Protection object that is described. When submitting the DescribeProtection request you must provide either the ResourceArn or the ProtectionID, but not both.

", + "ListTagsForResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the resource to get tags for.

", "Protection$ResourceArn": "

The ARN (Amazon Resource Name) of the AWS resource that is protected.

", + "Protection$ProtectionArn": "

The ARN (Amazon Resource Name) of the protection.

", + "ProtectionGroup$ProtectionGroupArn": "

The ARN (Amazon Resource Name) of the protection group.

", "ProtectionGroupMembers$member": null, "ResourceArnFilterList$member": null, - "ResourceArnList$member": null + "ResourceArnList$member": null, + "Subscription$SubscriptionArn": "

The ARN (Amazon Resource Name) of the subscription.

", + "TagResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the resource that you want to add or update tags for.

", + "UntagResourceRequest$ResourceARN": "

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

" } }, "ResourceArnFilterList": { @@ -852,6 +871,50 @@ "SummarizedAttackVector$VectorCounters": "

The list of counters that describe the details of the attack.

" } }, + "Tag": { + "base": "

A tag associated with an AWS resource. Tags are key:value pairs that you can use to categorize and manage your resources, for purposes like billing or other management. Typically, the tag key represents a category, such as \"environment\", and the tag value represents a specific value within that category, such as \"test,\" \"development,\" or \"production\". Or 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.

", + "refs": { + "TagList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

Part of the key:value pair that defines a tag. You can use a tag key to describe a category of information, such as \"customer.\" Tag keys are case-sensitive.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$TagKeys": "

The tag key for each tag that you want to remove from the resource.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreateProtectionGroupRequest$Tags": "

One or more tag key-value pairs for the protection group.

", + "CreateProtectionRequest$Tags": "

One or more tag key-value pairs for the Protection object that is created.

", + "ListTagsForResourceResponse$Tags": "

A list of tag key and value pairs associated with the specified resource.

", + "TagResourceRequest$Tags": "

The tags that you want to modify or add to the resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

Part of the key:value pair that defines a tag. You can use a tag value to describe a specific value within a category, such as \"companyA\" or \"companyB.\" Tag values are case-sensitive.

" + } + }, "TimeRange": { "base": "

The time range.

", "refs": { @@ -892,6 +955,16 @@ "AttackProperty$Unit": "

The unit of the Value of the contributions.

" } }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, "UpdateEmergencyContactSettingsRequest": { "base": null, "refs": { diff --git a/service/appflow/api.go b/service/appflow/api.go index 8d4564f60aa..c527326bc9e 100644 --- a/service/appflow/api.go +++ b/service/appflow/api.go @@ -2383,6 +2383,7 @@ type ConnectorMetadata struct { // The connector metadata specific to Amplitude. Amplitude *AmplitudeMetadata `type:"structure"` + // The connector metadata specific to Amazon Connect Customer Profiles. CustomerProfiles *CustomerProfilesMetadata `type:"structure"` // The connector metadata specific to Datadog. @@ -2397,6 +2398,7 @@ type ConnectorMetadata struct { // The connector metadata specific to Google Analytics. GoogleAnalytics *GoogleAnalyticsMetadata `type:"structure"` + // The connector metadata specific to Amazon Honeycode. Honeycode *HoneycodeMetadata `type:"structure"` // The connector metadata specific to Infor Nexus. @@ -2918,6 +2920,7 @@ type ConnectorProfileCredentials struct { // The connector-specific credentials required when using Google Analytics. GoogleAnalytics *GoogleAnalyticsConnectorProfileCredentials `type:"structure"` + // The connector-specific credentials required when using Amazon Honeycode. Honeycode *HoneycodeConnectorProfileCredentials `type:"structure"` // The connector-specific credentials required when using Infor Nexus. @@ -3161,6 +3164,7 @@ type ConnectorProfileProperties struct { // The connector-specific properties required Google Analytics. GoogleAnalytics *GoogleAnalyticsConnectorProfileProperties `type:"structure"` + // The connector-specific properties required by Amazon Honeycode. Honeycode *HoneycodeConnectorProfileProperties `type:"structure"` // The connector-specific properties required by Infor Nexus. @@ -3738,12 +3742,17 @@ func (s *CreateFlowOutput) SetFlowStatus(v string) *CreateFlowOutput { return s } +// The properties that are applied when Amazon Connect Customer Profiles is +// used as a destination. type CustomerProfilesDestinationProperties struct { _ struct{} `type:"structure"` + // The unique name of the Amazon Connect Customer Profiles domain. + // // DomainName is a required field DomainName *string `locationName:"domainName" type:"string" required:"true"` + // The object specified in the Amazon Connect Customer Profiles flow destination. ObjectTypeName *string `locationName:"objectTypeName" type:"string"` } @@ -3782,6 +3791,7 @@ func (s *CustomerProfilesDestinationProperties) SetObjectTypeName(v string) *Cus return s } +// The connector metadata specific to Amazon Connect Customer Profiles. type CustomerProfilesMetadata struct { _ struct{} `type:"structure"` } @@ -4258,9 +4268,6 @@ type DescribeConnectorsInput struct { _ struct{} `type:"structure"` // The type of connector, such as Salesforce, Amplitude, and so on. - // - // Locke refers to a new destination known as Amazon Connect Customer Profiles. - // At this time, we recommend that you do not use this destination. ConnectorTypes []*string `locationName:"connectorTypes" type:"list"` // The pagination token for the next page of data. @@ -4623,13 +4630,16 @@ func (s *DescribeFlowOutput) SetTriggerConfig(v *TriggerConfig) *DescribeFlowOut type DestinationConnectorProperties struct { _ struct{} `type:"structure"` + // The properties required to query Amazon Connect Customer Profiles. CustomerProfiles *CustomerProfilesDestinationProperties `type:"structure"` // The properties required to query Amazon EventBridge. EventBridge *EventBridgeDestinationProperties `type:"structure"` + // The properties required to query Amazon Honeycode. Honeycode *HoneycodeDestinationProperties `type:"structure"` + // The properties required to query Amazon Lookout for Metrics. LookoutMetrics *LookoutMetricsDestinationProperties `type:"structure"` // The properties required to query Amazon Redshift. @@ -5716,15 +5726,18 @@ func (s *GoogleAnalyticsSourceProperties) SetObject(v string) *GoogleAnalyticsSo return s } +// The connector-specific credentials required when using Amazon Honeycode. type HoneycodeConnectorProfileCredentials struct { _ struct{} `type:"structure"` + // The credentials used to access protected Amazon Honeycode resources. AccessToken *string `locationName:"accessToken" type:"string" sensitive:"true"` // Used by select connectors for which the OAuth workflow is supported, such // as Salesforce, Google Analytics, Marketo, Zendesk, and Slack. OAuthRequest *ConnectorOAuthRequest `locationName:"oAuthRequest" type:"structure"` + // The credentials used to acquire new access tokens. RefreshToken *string `locationName:"refreshToken" type:"string"` } @@ -5756,6 +5769,7 @@ func (s *HoneycodeConnectorProfileCredentials) SetRefreshToken(v string) *Honeyc return s } +// The connector-specific properties required when using Amazon Honeycode. type HoneycodeConnectorProfileProperties struct { _ struct{} `type:"structure"` } @@ -5770,6 +5784,7 @@ func (s HoneycodeConnectorProfileProperties) GoString() string { return s.String() } +// The properties that are applied when Amazon Honeycode is used as a destination. type HoneycodeDestinationProperties struct { _ struct{} `type:"structure"` @@ -5780,6 +5795,8 @@ type HoneycodeDestinationProperties struct { // part of the destination connector details. ErrorHandlingConfig *ErrorHandlingConfig `locationName:"errorHandlingConfig" type:"structure"` + // The object specified in the Amazon Honeycode flow destination. + // // Object is a required field Object *string `locationName:"object" type:"string" required:"true"` } @@ -5824,9 +5841,11 @@ func (s *HoneycodeDestinationProperties) SetObject(v string) *HoneycodeDestinati return s } +// The connector metadata specific to Amazon Honeycode. type HoneycodeMetadata struct { _ struct{} `type:"structure"` + // The desired authorization scope for the Amazon Honeycode account. OAuthScopes []*string `locationName:"oAuthScopes" type:"list"` } @@ -6319,6 +6338,8 @@ func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForRe return s } +// The properties that are applied when Amazon Lookout for Metrics is used as +// a destination. type LookoutMetricsDestinationProperties struct { _ struct{} `type:"structure"` } @@ -6505,11 +6526,11 @@ func (s *MarketoSourceProperties) SetObject(v string) *MarketoSourceProperties { type PrefixConfig struct { _ struct{} `type:"structure"` - // Determines the format of the prefix, and whether it applies to the file name, - // file path, or both. + // Determines the level of granularity that's included in the prefix. PrefixFormat *string `locationName:"prefixFormat" type:"string" enum:"PrefixFormat"` - // Determines the level of granularity that's included in the prefix. + // Determines the format of the prefix, and whether it applies to the file name, + // file path, or both. PrefixType *string `locationName:"prefixType" type:"string" enum:"PrefixType"` } @@ -7270,6 +7291,8 @@ type ScheduledTriggerProperties struct { // complete data transfer for each flow run. DataPullMode *string `locationName:"dataPullMode" type:"string" enum:"DataPullMode"` + // Specifies the date range for the records to import from the connector in + // the first flow run. FirstExecutionFrom *time.Time `locationName:"firstExecutionFrom" type:"timestamp"` // Specifies the scheduled end time for a schedule-triggered flow. diff --git a/service/athena/api.go b/service/athena/api.go index 69aabc15f02..4c7b01eb8f3 100644 --- a/service/athena/api.go +++ b/service/athena/api.go @@ -369,6 +369,91 @@ func (c *Athena) CreateNamedQueryWithContext(ctx aws.Context, input *CreateNamed return out, req.Send() } +const opCreatePreparedStatement = "CreatePreparedStatement" + +// CreatePreparedStatementRequest generates a "aws/request.Request" representing the +// client's request for the CreatePreparedStatement 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 CreatePreparedStatement for more information on using the CreatePreparedStatement +// 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 CreatePreparedStatementRequest method. +// req, resp := client.CreatePreparedStatementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePreparedStatement +func (c *Athena) CreatePreparedStatementRequest(input *CreatePreparedStatementInput) (req *request.Request, output *CreatePreparedStatementOutput) { + op := &request.Operation{ + Name: opCreatePreparedStatement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreatePreparedStatementInput{} + } + + output = &CreatePreparedStatementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// CreatePreparedStatement API operation for Amazon Athena. +// +// Creates a prepared statement for use with SQL queries in Athena. +// +// 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 Athena's +// API operation CreatePreparedStatement for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/CreatePreparedStatement +func (c *Athena) CreatePreparedStatement(input *CreatePreparedStatementInput) (*CreatePreparedStatementOutput, error) { + req, out := c.CreatePreparedStatementRequest(input) + return out, req.Send() +} + +// CreatePreparedStatementWithContext is the same as CreatePreparedStatement with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePreparedStatement 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 *Athena) CreatePreparedStatementWithContext(ctx aws.Context, input *CreatePreparedStatementInput, opts ...request.Option) (*CreatePreparedStatementOutput, error) { + req, out := c.CreatePreparedStatementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateWorkGroup = "CreateWorkGroup" // CreateWorkGroupRequest generates a "aws/request.Request" representing the @@ -629,6 +714,95 @@ func (c *Athena) DeleteNamedQueryWithContext(ctx aws.Context, input *DeleteNamed return out, req.Send() } +const opDeletePreparedStatement = "DeletePreparedStatement" + +// DeletePreparedStatementRequest generates a "aws/request.Request" representing the +// client's request for the DeletePreparedStatement 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 DeletePreparedStatement for more information on using the DeletePreparedStatement +// 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 DeletePreparedStatementRequest method. +// req, resp := client.DeletePreparedStatementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeletePreparedStatement +func (c *Athena) DeletePreparedStatementRequest(input *DeletePreparedStatementInput) (req *request.Request, output *DeletePreparedStatementOutput) { + op := &request.Operation{ + Name: opDeletePreparedStatement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePreparedStatementInput{} + } + + output = &DeletePreparedStatementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePreparedStatement API operation for Amazon Athena. +// +// Deletes the prepared statement with the specified name from the specified +// workgroup. +// +// 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 Athena's +// API operation DeletePreparedStatement for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ResourceNotFoundException +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/DeletePreparedStatement +func (c *Athena) DeletePreparedStatement(input *DeletePreparedStatementInput) (*DeletePreparedStatementOutput, error) { + req, out := c.DeletePreparedStatementRequest(input) + return out, req.Send() +} + +// DeletePreparedStatementWithContext is the same as DeletePreparedStatement with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePreparedStatement 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 *Athena) DeletePreparedStatementWithContext(ctx aws.Context, input *DeletePreparedStatementInput, opts ...request.Option) (*DeletePreparedStatementOutput, error) { + req, out := c.DeletePreparedStatementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteWorkGroup = "DeleteWorkGroup" // DeleteWorkGroupRequest generates a "aws/request.Request" representing the @@ -975,6 +1149,94 @@ func (c *Athena) GetNamedQueryWithContext(ctx aws.Context, input *GetNamedQueryI return out, req.Send() } +const opGetPreparedStatement = "GetPreparedStatement" + +// GetPreparedStatementRequest generates a "aws/request.Request" representing the +// client's request for the GetPreparedStatement 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 GetPreparedStatement for more information on using the GetPreparedStatement +// 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 GetPreparedStatementRequest method. +// req, resp := client.GetPreparedStatementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetPreparedStatement +func (c *Athena) GetPreparedStatementRequest(input *GetPreparedStatementInput) (req *request.Request, output *GetPreparedStatementOutput) { + op := &request.Operation{ + Name: opGetPreparedStatement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPreparedStatementInput{} + } + + output = &GetPreparedStatementOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPreparedStatement API operation for Amazon Athena. +// +// Retrieves the prepared statement with the specified name from the specified +// workgroup. +// +// 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 Athena's +// API operation GetPreparedStatement for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ResourceNotFoundException +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/GetPreparedStatement +func (c *Athena) GetPreparedStatement(input *GetPreparedStatementInput) (*GetPreparedStatementOutput, error) { + req, out := c.GetPreparedStatementRequest(input) + return out, req.Send() +} + +// GetPreparedStatementWithContext is the same as GetPreparedStatement with the addition of +// the ability to pass a context and additional request options. +// +// See GetPreparedStatement 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 *Athena) GetPreparedStatementWithContext(ctx aws.Context, input *GetPreparedStatementInput, opts ...request.Option) (*GetPreparedStatementOutput, error) { + req, out := c.GetPreparedStatementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetQueryExecution = "GetQueryExecution" // GetQueryExecutionRequest generates a "aws/request.Request" representing the @@ -1916,6 +2178,148 @@ func (c *Athena) ListNamedQueriesPagesWithContext(ctx aws.Context, input *ListNa return p.Err() } +const opListPreparedStatements = "ListPreparedStatements" + +// ListPreparedStatementsRequest generates a "aws/request.Request" representing the +// client's request for the ListPreparedStatements 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 ListPreparedStatements for more information on using the ListPreparedStatements +// 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 ListPreparedStatementsRequest method. +// req, resp := client.ListPreparedStatementsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListPreparedStatements +func (c *Athena) ListPreparedStatementsRequest(input *ListPreparedStatementsInput) (req *request.Request, output *ListPreparedStatementsOutput) { + op := &request.Operation{ + Name: opListPreparedStatements, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPreparedStatementsInput{} + } + + output = &ListPreparedStatementsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPreparedStatements API operation for Amazon Athena. +// +// Lists the prepared statements in the specfied workgroup. +// +// 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 Athena's +// API operation ListPreparedStatements for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/ListPreparedStatements +func (c *Athena) ListPreparedStatements(input *ListPreparedStatementsInput) (*ListPreparedStatementsOutput, error) { + req, out := c.ListPreparedStatementsRequest(input) + return out, req.Send() +} + +// ListPreparedStatementsWithContext is the same as ListPreparedStatements with the addition of +// the ability to pass a context and additional request options. +// +// See ListPreparedStatements 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 *Athena) ListPreparedStatementsWithContext(ctx aws.Context, input *ListPreparedStatementsInput, opts ...request.Option) (*ListPreparedStatementsOutput, error) { + req, out := c.ListPreparedStatementsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPreparedStatementsPages iterates over the pages of a ListPreparedStatements operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPreparedStatements 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 ListPreparedStatements operation. +// pageNum := 0 +// err := client.ListPreparedStatementsPages(params, +// func(page *athena.ListPreparedStatementsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Athena) ListPreparedStatementsPages(input *ListPreparedStatementsInput, fn func(*ListPreparedStatementsOutput, bool) bool) error { + return c.ListPreparedStatementsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPreparedStatementsPagesWithContext same as ListPreparedStatementsPages 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 *Athena) ListPreparedStatementsPagesWithContext(ctx aws.Context, input *ListPreparedStatementsInput, fn func(*ListPreparedStatementsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPreparedStatementsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPreparedStatementsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPreparedStatementsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListQueryExecutions = "ListQueryExecutions" // ListQueryExecutionsRequest generates a "aws/request.Request" representing the @@ -2954,6 +3358,94 @@ func (c *Athena) UpdateDataCatalogWithContext(ctx aws.Context, input *UpdateData return out, req.Send() } +const opUpdatePreparedStatement = "UpdatePreparedStatement" + +// UpdatePreparedStatementRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePreparedStatement 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 UpdatePreparedStatement for more information on using the UpdatePreparedStatement +// 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 UpdatePreparedStatementRequest method. +// req, resp := client.UpdatePreparedStatementRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdatePreparedStatement +func (c *Athena) UpdatePreparedStatementRequest(input *UpdatePreparedStatementInput) (req *request.Request, output *UpdatePreparedStatementOutput) { + op := &request.Operation{ + Name: opUpdatePreparedStatement, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdatePreparedStatementInput{} + } + + output = &UpdatePreparedStatementOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdatePreparedStatement API operation for Amazon Athena. +// +// Updates a prepared statement. +// +// 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 Athena's +// API operation UpdatePreparedStatement for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// Indicates a platform issue, which may be due to a transient condition or +// outage. +// +// * InvalidRequestException +// Indicates that something is wrong with the input to the request. For example, +// a required parameter may be missing or out of range. +// +// * ResourceNotFoundException +// A resource, such as a workgroup, was not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/athena-2017-05-18/UpdatePreparedStatement +func (c *Athena) UpdatePreparedStatement(input *UpdatePreparedStatementInput) (*UpdatePreparedStatementOutput, error) { + req, out := c.UpdatePreparedStatementRequest(input) + return out, req.Send() +} + +// UpdatePreparedStatementWithContext is the same as UpdatePreparedStatement with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePreparedStatement 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 *Athena) UpdatePreparedStatementWithContext(ctx aws.Context, input *UpdatePreparedStatementInput, opts ...request.Option) (*UpdatePreparedStatementOutput, error) { + req, out := c.UpdatePreparedStatementRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateWorkGroup = "UpdateWorkGroup" // UpdateWorkGroupRequest generates a "aws/request.Request" representing the @@ -3607,6 +4099,104 @@ func (s *CreateNamedQueryOutput) SetNamedQueryId(v string) *CreateNamedQueryOutp return s } +type CreatePreparedStatementInput struct { + _ struct{} `type:"structure"` + + // The description of the prepared statement. + Description *string `min:"1" type:"string"` + + // The query string for the prepared statement. + // + // QueryStatement is a required field + QueryStatement *string `min:"1" type:"string" required:"true"` + + // The name of the prepared statement. + // + // StatementName is a required field + StatementName *string `min:"1" type:"string" required:"true"` + + // The name of the workgroup to which the prepared statement belongs. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CreatePreparedStatementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePreparedStatementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePreparedStatementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePreparedStatementInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.QueryStatement == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStatement")) + } + if s.QueryStatement != nil && len(*s.QueryStatement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryStatement", 1)) + } + if s.StatementName == nil { + invalidParams.Add(request.NewErrParamRequired("StatementName")) + } + if s.StatementName != nil && len(*s.StatementName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatementName", 1)) + } + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreatePreparedStatementInput) SetDescription(v string) *CreatePreparedStatementInput { + s.Description = &v + return s +} + +// SetQueryStatement sets the QueryStatement field's value. +func (s *CreatePreparedStatementInput) SetQueryStatement(v string) *CreatePreparedStatementInput { + s.QueryStatement = &v + return s +} + +// SetStatementName sets the StatementName field's value. +func (s *CreatePreparedStatementInput) SetStatementName(v string) *CreatePreparedStatementInput { + s.StatementName = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *CreatePreparedStatementInput) SetWorkGroup(v string) *CreatePreparedStatementInput { + s.WorkGroup = &v + return s +} + +type CreatePreparedStatementOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s CreatePreparedStatementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreatePreparedStatementOutput) GoString() string { + return s.String() +} + type CreateWorkGroupInput struct { _ struct{} `type:"structure"` @@ -3958,17 +4548,86 @@ func (s *DeleteNamedQueryInput) SetNamedQueryId(v string) *DeleteNamedQueryInput return s } -type DeleteNamedQueryOutput struct { +type DeleteNamedQueryOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteNamedQueryOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteNamedQueryOutput) GoString() string { + return s.String() +} + +type DeletePreparedStatementInput struct { + _ struct{} `type:"structure"` + + // The name of the prepared statement to delete. + // + // StatementName is a required field + StatementName *string `min:"1" type:"string" required:"true"` + + // The workgroup to which the statement to be deleted belongs. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePreparedStatementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePreparedStatementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePreparedStatementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePreparedStatementInput"} + if s.StatementName == nil { + invalidParams.Add(request.NewErrParamRequired("StatementName")) + } + if s.StatementName != nil && len(*s.StatementName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatementName", 1)) + } + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatementName sets the StatementName field's value. +func (s *DeletePreparedStatementInput) SetStatementName(v string) *DeletePreparedStatementInput { + s.StatementName = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *DeletePreparedStatementInput) SetWorkGroup(v string) *DeletePreparedStatementInput { + s.WorkGroup = &v + return s +} + +type DeletePreparedStatementOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteNamedQueryOutput) String() string { +func (s DeletePreparedStatementOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteNamedQueryOutput) GoString() string { +func (s DeletePreparedStatementOutput) GoString() string { return s.String() } @@ -4350,6 +5009,84 @@ func (s *GetNamedQueryOutput) SetNamedQuery(v *NamedQuery) *GetNamedQueryOutput return s } +type GetPreparedStatementInput struct { + _ struct{} `type:"structure"` + + // The name of the prepared statement to retrieve. + // + // StatementName is a required field + StatementName *string `min:"1" type:"string" required:"true"` + + // The workgroup to which the statement to be retrieved belongs. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPreparedStatementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPreparedStatementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPreparedStatementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPreparedStatementInput"} + if s.StatementName == nil { + invalidParams.Add(request.NewErrParamRequired("StatementName")) + } + if s.StatementName != nil && len(*s.StatementName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatementName", 1)) + } + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStatementName sets the StatementName field's value. +func (s *GetPreparedStatementInput) SetStatementName(v string) *GetPreparedStatementInput { + s.StatementName = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *GetPreparedStatementInput) SetWorkGroup(v string) *GetPreparedStatementInput { + s.WorkGroup = &v + return s +} + +type GetPreparedStatementOutput struct { + _ struct{} `type:"structure"` + + // The name of the prepared statement that was retrieved. + PreparedStatement *PreparedStatement `type:"structure"` +} + +// String returns the string representation +func (s GetPreparedStatementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPreparedStatementOutput) GoString() string { + return s.String() +} + +// SetPreparedStatement sets the PreparedStatement field's value. +func (s *GetPreparedStatementOutput) SetPreparedStatement(v *PreparedStatement) *GetPreparedStatementOutput { + s.PreparedStatement = v + return s +} + type GetQueryExecutionInput struct { _ struct{} `type:"structure"` @@ -5167,6 +5904,106 @@ func (s *ListNamedQueriesOutput) SetNextToken(v string) *ListNamedQueriesOutput return s } +type ListPreparedStatementsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to return in this request. + MaxResults *int64 `min:"1" type:"integer"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` + + // The workgroup to list the prepared statements for. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListPreparedStatementsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPreparedStatementsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPreparedStatementsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPreparedStatementsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPreparedStatementsInput) SetMaxResults(v int64) *ListPreparedStatementsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPreparedStatementsInput) SetNextToken(v string) *ListPreparedStatementsInput { + s.NextToken = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *ListPreparedStatementsInput) SetWorkGroup(v string) *ListPreparedStatementsInput { + s.WorkGroup = &v + return s +} + +type ListPreparedStatementsOutput struct { + _ struct{} `type:"structure"` + + // A token generated by the Athena service that specifies where to continue + // pagination if a previous request was truncated. To obtain the next set of + // pages, pass in the NextToken from the response object of the previous page + // call. + NextToken *string `min:"1" type:"string"` + + // The list of prepared statements for the workgroup. + PreparedStatements []*PreparedStatementSummary `type:"list"` +} + +// String returns the string representation +func (s ListPreparedStatementsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPreparedStatementsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPreparedStatementsOutput) SetNextToken(v string) *ListPreparedStatementsOutput { + s.NextToken = &v + return s +} + +// SetPreparedStatements sets the PreparedStatements field's value. +func (s *ListPreparedStatementsOutput) SetPreparedStatements(v []*PreparedStatementSummary) *ListPreparedStatementsOutput { + s.PreparedStatements = v + return s +} + type ListQueryExecutionsInput struct { _ struct{} `type:"structure"` @@ -5711,6 +6548,99 @@ func (s *NamedQuery) SetWorkGroup(v string) *NamedQuery { return s } +// A prepared SQL statement for use with Athena. +type PreparedStatement struct { + _ struct{} `type:"structure"` + + // The description of the prepared statement. + Description *string `min:"1" type:"string"` + + // The last modified time of the prepared statement. + LastModifiedTime *time.Time `type:"timestamp"` + + // The query string for the prepared statement. + QueryStatement *string `min:"1" type:"string"` + + // The name of the prepared statement. + StatementName *string `min:"1" type:"string"` + + // The name of the workgroup to which the prepared statement belongs. + WorkGroupName *string `type:"string"` +} + +// String returns the string representation +func (s PreparedStatement) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PreparedStatement) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *PreparedStatement) SetDescription(v string) *PreparedStatement { + s.Description = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *PreparedStatement) SetLastModifiedTime(v time.Time) *PreparedStatement { + s.LastModifiedTime = &v + return s +} + +// SetQueryStatement sets the QueryStatement field's value. +func (s *PreparedStatement) SetQueryStatement(v string) *PreparedStatement { + s.QueryStatement = &v + return s +} + +// SetStatementName sets the StatementName field's value. +func (s *PreparedStatement) SetStatementName(v string) *PreparedStatement { + s.StatementName = &v + return s +} + +// SetWorkGroupName sets the WorkGroupName field's value. +func (s *PreparedStatement) SetWorkGroupName(v string) *PreparedStatement { + s.WorkGroupName = &v + return s +} + +// The name and last modified time of the prepared statement. +type PreparedStatementSummary struct { + _ struct{} `type:"structure"` + + // The last modified time of the prepared statement. + LastModifiedTime *time.Time `type:"timestamp"` + + // The name of the prepared statement. + StatementName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s PreparedStatementSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PreparedStatementSummary) GoString() string { + return s.String() +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *PreparedStatementSummary) SetLastModifiedTime(v time.Time) *PreparedStatementSummary { + s.LastModifiedTime = &v + return s +} + +// SetStatementName sets the StatementName field's value. +func (s *PreparedStatementSummary) SetStatementName(v string) *PreparedStatementSummary { + s.StatementName = &v + return s +} + // Information about a single instance of a query execution. type QueryExecution struct { _ struct{} `type:"structure"` @@ -7019,6 +7949,104 @@ func (s UpdateDataCatalogOutput) GoString() string { return s.String() } +type UpdatePreparedStatementInput struct { + _ struct{} `type:"structure"` + + // The description of the prepared statement. + Description *string `min:"1" type:"string"` + + // The query string for the prepared statement. + // + // QueryStatement is a required field + QueryStatement *string `min:"1" type:"string" required:"true"` + + // The name of the prepared statement. + // + // StatementName is a required field + StatementName *string `min:"1" type:"string" required:"true"` + + // The workgroup for the prepared statement. + // + // WorkGroup is a required field + WorkGroup *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdatePreparedStatementInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePreparedStatementInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePreparedStatementInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePreparedStatementInput"} + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) + } + if s.QueryStatement == nil { + invalidParams.Add(request.NewErrParamRequired("QueryStatement")) + } + if s.QueryStatement != nil && len(*s.QueryStatement) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryStatement", 1)) + } + if s.StatementName == nil { + invalidParams.Add(request.NewErrParamRequired("StatementName")) + } + if s.StatementName != nil && len(*s.StatementName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StatementName", 1)) + } + if s.WorkGroup == nil { + invalidParams.Add(request.NewErrParamRequired("WorkGroup")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdatePreparedStatementInput) SetDescription(v string) *UpdatePreparedStatementInput { + s.Description = &v + return s +} + +// SetQueryStatement sets the QueryStatement field's value. +func (s *UpdatePreparedStatementInput) SetQueryStatement(v string) *UpdatePreparedStatementInput { + s.QueryStatement = &v + return s +} + +// SetStatementName sets the StatementName field's value. +func (s *UpdatePreparedStatementInput) SetStatementName(v string) *UpdatePreparedStatementInput { + s.StatementName = &v + return s +} + +// SetWorkGroup sets the WorkGroup field's value. +func (s *UpdatePreparedStatementInput) SetWorkGroup(v string) *UpdatePreparedStatementInput { + s.WorkGroup = &v + return s +} + +type UpdatePreparedStatementOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UpdatePreparedStatementOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdatePreparedStatementOutput) GoString() string { + return s.String() +} + type UpdateWorkGroupInput struct { _ struct{} `type:"structure"` diff --git a/service/athena/athenaiface/interface.go b/service/athena/athenaiface/interface.go index 351d49adc05..5c973467676 100644 --- a/service/athena/athenaiface/interface.go +++ b/service/athena/athenaiface/interface.go @@ -76,6 +76,10 @@ type AthenaAPI interface { CreateNamedQueryWithContext(aws.Context, *athena.CreateNamedQueryInput, ...request.Option) (*athena.CreateNamedQueryOutput, error) CreateNamedQueryRequest(*athena.CreateNamedQueryInput) (*request.Request, *athena.CreateNamedQueryOutput) + CreatePreparedStatement(*athena.CreatePreparedStatementInput) (*athena.CreatePreparedStatementOutput, error) + CreatePreparedStatementWithContext(aws.Context, *athena.CreatePreparedStatementInput, ...request.Option) (*athena.CreatePreparedStatementOutput, error) + CreatePreparedStatementRequest(*athena.CreatePreparedStatementInput) (*request.Request, *athena.CreatePreparedStatementOutput) + CreateWorkGroup(*athena.CreateWorkGroupInput) (*athena.CreateWorkGroupOutput, error) CreateWorkGroupWithContext(aws.Context, *athena.CreateWorkGroupInput, ...request.Option) (*athena.CreateWorkGroupOutput, error) CreateWorkGroupRequest(*athena.CreateWorkGroupInput) (*request.Request, *athena.CreateWorkGroupOutput) @@ -88,6 +92,10 @@ type AthenaAPI interface { DeleteNamedQueryWithContext(aws.Context, *athena.DeleteNamedQueryInput, ...request.Option) (*athena.DeleteNamedQueryOutput, error) DeleteNamedQueryRequest(*athena.DeleteNamedQueryInput) (*request.Request, *athena.DeleteNamedQueryOutput) + DeletePreparedStatement(*athena.DeletePreparedStatementInput) (*athena.DeletePreparedStatementOutput, error) + DeletePreparedStatementWithContext(aws.Context, *athena.DeletePreparedStatementInput, ...request.Option) (*athena.DeletePreparedStatementOutput, error) + DeletePreparedStatementRequest(*athena.DeletePreparedStatementInput) (*request.Request, *athena.DeletePreparedStatementOutput) + DeleteWorkGroup(*athena.DeleteWorkGroupInput) (*athena.DeleteWorkGroupOutput, error) DeleteWorkGroupWithContext(aws.Context, *athena.DeleteWorkGroupInput, ...request.Option) (*athena.DeleteWorkGroupOutput, error) DeleteWorkGroupRequest(*athena.DeleteWorkGroupInput) (*request.Request, *athena.DeleteWorkGroupOutput) @@ -104,6 +112,10 @@ type AthenaAPI interface { GetNamedQueryWithContext(aws.Context, *athena.GetNamedQueryInput, ...request.Option) (*athena.GetNamedQueryOutput, error) GetNamedQueryRequest(*athena.GetNamedQueryInput) (*request.Request, *athena.GetNamedQueryOutput) + GetPreparedStatement(*athena.GetPreparedStatementInput) (*athena.GetPreparedStatementOutput, error) + GetPreparedStatementWithContext(aws.Context, *athena.GetPreparedStatementInput, ...request.Option) (*athena.GetPreparedStatementOutput, error) + GetPreparedStatementRequest(*athena.GetPreparedStatementInput) (*request.Request, *athena.GetPreparedStatementOutput) + GetQueryExecution(*athena.GetQueryExecutionInput) (*athena.GetQueryExecutionOutput, error) GetQueryExecutionWithContext(aws.Context, *athena.GetQueryExecutionInput, ...request.Option) (*athena.GetQueryExecutionOutput, error) GetQueryExecutionRequest(*athena.GetQueryExecutionInput) (*request.Request, *athena.GetQueryExecutionOutput) @@ -148,6 +160,13 @@ type AthenaAPI interface { ListNamedQueriesPages(*athena.ListNamedQueriesInput, func(*athena.ListNamedQueriesOutput, bool) bool) error ListNamedQueriesPagesWithContext(aws.Context, *athena.ListNamedQueriesInput, func(*athena.ListNamedQueriesOutput, bool) bool, ...request.Option) error + ListPreparedStatements(*athena.ListPreparedStatementsInput) (*athena.ListPreparedStatementsOutput, error) + ListPreparedStatementsWithContext(aws.Context, *athena.ListPreparedStatementsInput, ...request.Option) (*athena.ListPreparedStatementsOutput, error) + ListPreparedStatementsRequest(*athena.ListPreparedStatementsInput) (*request.Request, *athena.ListPreparedStatementsOutput) + + ListPreparedStatementsPages(*athena.ListPreparedStatementsInput, func(*athena.ListPreparedStatementsOutput, bool) bool) error + ListPreparedStatementsPagesWithContext(aws.Context, *athena.ListPreparedStatementsInput, func(*athena.ListPreparedStatementsOutput, bool) bool, ...request.Option) error + ListQueryExecutions(*athena.ListQueryExecutionsInput) (*athena.ListQueryExecutionsOutput, error) ListQueryExecutionsWithContext(aws.Context, *athena.ListQueryExecutionsInput, ...request.Option) (*athena.ListQueryExecutionsOutput, error) ListQueryExecutionsRequest(*athena.ListQueryExecutionsInput) (*request.Request, *athena.ListQueryExecutionsOutput) @@ -196,6 +215,10 @@ type AthenaAPI interface { UpdateDataCatalogWithContext(aws.Context, *athena.UpdateDataCatalogInput, ...request.Option) (*athena.UpdateDataCatalogOutput, error) UpdateDataCatalogRequest(*athena.UpdateDataCatalogInput) (*request.Request, *athena.UpdateDataCatalogOutput) + UpdatePreparedStatement(*athena.UpdatePreparedStatementInput) (*athena.UpdatePreparedStatementOutput, error) + UpdatePreparedStatementWithContext(aws.Context, *athena.UpdatePreparedStatementInput, ...request.Option) (*athena.UpdatePreparedStatementOutput, error) + UpdatePreparedStatementRequest(*athena.UpdatePreparedStatementInput) (*request.Request, *athena.UpdatePreparedStatementOutput) + UpdateWorkGroup(*athena.UpdateWorkGroupInput) (*athena.UpdateWorkGroupOutput, error) UpdateWorkGroupWithContext(aws.Context, *athena.UpdateWorkGroupInput, ...request.Option) (*athena.UpdateWorkGroupOutput, error) UpdateWorkGroupRequest(*athena.UpdateWorkGroupInput) (*request.Request, *athena.UpdateWorkGroupOutput) diff --git a/service/codepipeline/api.go b/service/codepipeline/api.go index 0c08fff9778..4264cec81ee 100644 --- a/service/codepipeline/api.go +++ b/service/codepipeline/api.go @@ -13583,7 +13583,9 @@ type UpdateActionTypeInput struct { _ struct{} `type:"structure"` // The action type definition for the action type to be updated. - ActionType *ActionTypeDeclaration `locationName:"actionType" type:"structure"` + // + // ActionType is a required field + ActionType *ActionTypeDeclaration `locationName:"actionType" type:"structure" required:"true"` } // String returns the string representation @@ -13599,6 +13601,9 @@ func (s UpdateActionTypeInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *UpdateActionTypeInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "UpdateActionTypeInput"} + if s.ActionType == nil { + invalidParams.Add(request.NewErrParamRequired("ActionType")) + } if s.ActionType != nil { if err := s.ActionType.Validate(); err != nil { invalidParams.AddNested("ActionType", err.(request.ErrInvalidParams)) diff --git a/service/ec2/api.go b/service/ec2/api.go index e380fb0e9cd..c9525219cd9 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -65874,9 +65874,9 @@ type DescribeImageAttributeInput struct { // The AMI attribute. // - // Note: Depending on your account privileges, the blockDeviceMapping attribute - // may return a Client.AuthFailure error. If this happens, use DescribeImages - // to get information about the block device mapping for the AMI. + // Note: The blockDeviceMapping attribute is deprecated. Using this attribute + // returns the Client.AuthFailure error. To get information about the block + // device mappings for an AMI, use the DescribeImages action. // // Attribute is a required field Attribute *string `type:"string" required:"true" enum:"ImageAttributeName"` @@ -82374,12 +82374,21 @@ type FleetLaunchTemplateOverrides struct { // The location where the instance launched, if applicable. Placement *PlacementResponse `locationName:"placement" type:"structure"` - // The priority for the launch template override. If AllocationStrategy is set - // to prioritized, EC2 Fleet uses priority to determine which launch template - // override to use first in fulfilling On-Demand capacity. The highest priority - // is launched first. Valid values are whole numbers starting at 0. The lower - // the number, the higher the priority. If no number is set, the override has - // the lowest priority. + // The priority for the launch template override. The highest priority is launched + // first. + // + // If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses + // priority to determine which launch template override to use first in fulfilling + // On-Demand capacity. + // + // If the Spot AllocationStrategy is set to capacity-optimized-prioritized, + // EC2 Fleet uses priority on a best-effort basis to determine which launch + // template override to use first in fulfilling Spot capacity, but optimizes + // for capacity first. + // + // Valid values are whole numbers starting at 0. The lower the number, the higher + // the priority. If no number is set, the override has the lowest priority. + // You can set the same priority for different launch template overrides. Priority *float64 `locationName:"priority" type:"double"` // The ID of the subnet in which to launch the instances. @@ -82457,12 +82466,21 @@ type FleetLaunchTemplateOverridesRequest struct { // The location where the instance launched, if applicable. Placement *Placement `type:"structure"` - // The priority for the launch template override. If AllocationStrategy is set - // to prioritized, EC2 Fleet uses priority to determine which launch template - // override to use first in fulfilling On-Demand capacity. The highest priority - // is launched first. Valid values are whole numbers starting at 0. The lower - // the number, the higher the priority. If no number is set, the launch template - // override has the lowest priority. + // The priority for the launch template override. The highest priority is launched + // first. + // + // If the On-Demand AllocationStrategy is set to prioritized, EC2 Fleet uses + // priority to determine which launch template override to use first in fulfilling + // On-Demand capacity. + // + // If the Spot AllocationStrategy is set to capacity-optimized-prioritized, + // EC2 Fleet uses priority on a best-effort basis to determine which launch + // template override to use first in fulfilling Spot capacity, but optimizes + // for capacity first. + // + // Valid values are whole numbers starting at 0. The lower the number, the higher + // the priority. If no number is set, the launch template override has the lowest + // priority. You can set the same priority for different launch template overrides. Priority *float64 `type:"double"` // The IDs of the subnets in which to launch the instances. Separate multiple @@ -92954,12 +92972,21 @@ type LaunchTemplateOverrides struct { // The instance type. InstanceType *string `locationName:"instanceType" type:"string" enum:"InstanceType"` - // The priority for the launch template override. If OnDemandAllocationStrategy - // is set to prioritized, Spot Fleet uses priority to determine which launch - // template override to use first in fulfilling On-Demand capacity. The highest - // priority is launched first. Valid values are whole numbers starting at 0. - // The lower the number, the higher the priority. If no number is set, the launch - // template override has the lowest priority. + // The priority for the launch template override. The highest priority is launched + // first. + // + // If OnDemandAllocationStrategy is set to prioritized, Spot Fleet uses priority + // to determine which launch template override to use first in fulfilling On-Demand + // capacity. + // + // If the Spot AllocationStrategy is set to capacityOptimizedPrioritized, Spot + // Fleet uses priority on a best-effort basis to determine which launch template + // override to use first in fulfilling Spot capacity, but optimizes for capacity + // first. + // + // Valid values are whole numbers starting at 0. The lower the number, the higher + // the priority. If no number is set, the launch template override has the lowest + // priority. You can set the same priority for different launch template overrides. Priority *float64 `locationName:"priority" type:"double"` // The maximum price per unit hour that you are willing to pay for a Spot Instance. @@ -113148,9 +113175,16 @@ type SpotFleetRequestConfigData struct { // If the allocation strategy is diversified, Spot Fleet launches instances // from all the Spot Instance pools that you specify. // - // If the allocation strategy is capacityOptimized, Spot Fleet launches instances - // from Spot Instance pools with optimal capacity for the number of instances - // that are launching. + // If the allocation strategy is capacityOptimized (recommended), Spot Fleet + // launches instances from Spot Instance pools with optimal capacity for the + // number of instances that are launching. To give certain instance types a + // higher chance of launching first, use capacityOptimizedPrioritized. Set a + // priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. + // You can assign the same priority to different LaunchTemplateOverrides. EC2 + // implements the priorities on a best-effort basis, but optimizes for capacity + // first. capacityOptimizedPrioritized is supported only if your Spot Fleet + // uses a launch template. Note that if the OnDemandAllocationStrategy is set + // to prioritized, the same priority is applied when fulfilling On-Demand capacity. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"AllocationStrategy"` // A unique, case-sensitive identifier that you provide to ensure the idempotency @@ -113926,9 +113960,16 @@ type SpotOptions struct { // If the allocation strategy is diversified, EC2 Fleet launches instances from // all of the Spot Instance pools that you specify. // - // If the allocation strategy is capacity-optimized, EC2 Fleet launches instances - // from Spot Instance pools with optimal capacity for the number of instances - // that are launching. + // If the allocation strategy is capacity-optimized (recommended), EC2 Fleet + // launches instances from Spot Instance pools with optimal capacity for the + // number of instances that are launching. To give certain instance types a + // higher chance of launching first, use capacity-optimized-prioritized. Set + // a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. + // You can assign the same priority to different LaunchTemplateOverrides. EC2 + // implements the priorities on a best-effort basis, but optimizes for capacity + // first. capacity-optimized-prioritized is supported only if your fleet uses + // a launch template. Note that if the On-Demand AllocationStrategy is set to + // prioritized, the same priority is applied when fulfilling On-Demand capacity. AllocationStrategy *string `locationName:"allocationStrategy" type:"string" enum:"SpotAllocationStrategy"` // The behavior when a Spot Instance is interrupted. The default is terminate. @@ -114032,9 +114073,16 @@ type SpotOptionsRequest struct { // If the allocation strategy is diversified, EC2 Fleet launches instances from // all of the Spot Instance pools that you specify. // - // If the allocation strategy is capacity-optimized, EC2 Fleet launches instances - // from Spot Instance pools with optimal capacity for the number of instances - // that are launching. + // If the allocation strategy is capacity-optimized (recommended), EC2 Fleet + // launches instances from Spot Instance pools with optimal capacity for the + // number of instances that are launching. To give certain instance types a + // higher chance of launching first, use capacity-optimized-prioritized. Set + // a priority for each instance type by using the Priority parameter for LaunchTemplateOverrides. + // You can assign the same priority to different LaunchTemplateOverrides. EC2 + // implements the priorities on a best-effort basis, but optimizes for capacity + // first. capacity-optimized-prioritized is supported only if your fleet uses + // a launch template. Note that if the On-Demand AllocationStrategy is set to + // prioritized, the same priority is applied when fulfilling On-Demand capacity. AllocationStrategy *string `type:"string" enum:"SpotAllocationStrategy"` // The behavior when a Spot Instance is interrupted. The default is terminate. @@ -121992,6 +122040,9 @@ const ( // AllocationStrategyCapacityOptimized is a AllocationStrategy enum value AllocationStrategyCapacityOptimized = "capacityOptimized" + + // AllocationStrategyCapacityOptimizedPrioritized is a AllocationStrategy enum value + AllocationStrategyCapacityOptimizedPrioritized = "capacityOptimizedPrioritized" ) // AllocationStrategy_Values returns all elements of the AllocationStrategy enum @@ -122000,6 +122051,7 @@ func AllocationStrategy_Values() []string { AllocationStrategyLowestPrice, AllocationStrategyDiversified, AllocationStrategyCapacityOptimized, + AllocationStrategyCapacityOptimizedPrioritized, } } @@ -126940,6 +126992,9 @@ const ( // SpotAllocationStrategyCapacityOptimized is a SpotAllocationStrategy enum value SpotAllocationStrategyCapacityOptimized = "capacity-optimized" + + // SpotAllocationStrategyCapacityOptimizedPrioritized is a SpotAllocationStrategy enum value + SpotAllocationStrategyCapacityOptimizedPrioritized = "capacity-optimized-prioritized" ) // SpotAllocationStrategy_Values returns all elements of the SpotAllocationStrategy enum @@ -126948,6 +127003,7 @@ func SpotAllocationStrategy_Values() []string { SpotAllocationStrategyLowestPrice, SpotAllocationStrategyDiversified, SpotAllocationStrategyCapacityOptimized, + SpotAllocationStrategyCapacityOptimizedPrioritized, } } diff --git a/service/licensemanager/api.go b/service/licensemanager/api.go index 40add308fe6..cf02e63ea97 100644 --- a/service/licensemanager/api.go +++ b/service/licensemanager/api.go @@ -9923,9 +9923,7 @@ type ProductInformationFilter struct { ProductInformationFilterName *string `type:"string" required:"true"` // Filter value. - // - // ProductInformationFilterValue is a required field - ProductInformationFilterValue []*string `type:"list" required:"true"` + ProductInformationFilterValue []*string `type:"list"` } // String returns the string representation @@ -9947,9 +9945,6 @@ func (s *ProductInformationFilter) Validate() error { if s.ProductInformationFilterName == nil { invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterName")) } - if s.ProductInformationFilterValue == nil { - invalidParams.Add(request.NewErrParamRequired("ProductInformationFilterValue")) - } if invalidParams.Len() > 0 { return invalidParams diff --git a/service/medialive/api.go b/service/medialive/api.go index 93f53ec9c81..80a18359093 100644 --- a/service/medialive/api.go +++ b/service/medialive/api.go @@ -25045,6 +25045,8 @@ type TransferInputDeviceInput struct { TargetCustomerId *string `locationName:"targetCustomerId" type:"string"` + TargetRegion *string `locationName:"targetRegion" type:"string"` + TransferMessage *string `locationName:"transferMessage" type:"string"` } @@ -25086,6 +25088,12 @@ func (s *TransferInputDeviceInput) SetTargetCustomerId(v string) *TransferInputD return s } +// SetTargetRegion sets the TargetRegion field's value. +func (s *TransferInputDeviceInput) SetTargetRegion(v string) *TransferInputDeviceInput { + s.TargetRegion = &v + return s +} + // SetTransferMessage sets the TransferMessage field's value. func (s *TransferInputDeviceInput) SetTransferMessage(v string) *TransferInputDeviceInput { s.TransferMessage = &v diff --git a/service/networkfirewall/api.go b/service/networkfirewall/api.go index 9f1e841b598..038a81dc863 100644 --- a/service/networkfirewall/api.go +++ b/service/networkfirewall/api.go @@ -209,6 +209,10 @@ func (c *NetworkFirewall) AssociateSubnetsRequest(input *AssociateSubnetsInput) // The operation failed because it's not valid. For example, you might have // tried to delete a rule group or firewall policy that's in use. // +// * InsufficientCapacityException +// AWS doesn't currently have enough available capacity to fulfill your request. +// Try your request later. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/AssociateSubnets func (c *NetworkFirewall) AssociateSubnets(input *AssociateSubnetsInput) (*AssociateSubnetsOutput, error) { req, out := c.AssociateSubnetsRequest(input) @@ -838,6 +842,17 @@ func (c *NetworkFirewall) DeleteResourcePolicyRequest(input *DeleteResourcePolic // API operation DeleteResourcePolicy for usage and error information. // // Returned Error Types: +// * InvalidRequestException +// The operation failed because of a problem with your request. Examples include: +// +// * You specified an unsupported parameter name or value. +// +// * You tried to update a property with a value that isn't among the available +// types. +// +// * Your request references an ARN that is malformed, or corresponds to +// a resource that isn't valid in the context of the request. +// // * InternalServerError // Your request is valid, but Network Firewall couldn’t perform the operation // because of a system problem. Retry your request. @@ -1319,6 +1334,17 @@ func (c *NetworkFirewall) DescribeResourcePolicyRequest(input *DescribeResourceP // API operation DescribeResourcePolicy for usage and error information. // // Returned Error Types: +// * InvalidRequestException +// The operation failed because of a problem with your request. Examples include: +// +// * You specified an unsupported parameter name or value. +// +// * You tried to update a property with a value that isn't among the available +// types. +// +// * Your request references an ARN that is malformed, or corresponds to +// a resource that isn't valid in the context of the request. +// // * InternalServerError // Your request is valid, but Network Firewall couldn’t perform the operation // because of a system problem. Retry your request. @@ -2089,6 +2115,17 @@ func (c *NetworkFirewall) ListTagsForResourceRequest(input *ListTagsForResourceI // * ResourceNotFoundException // Unable to locate a resource using the parameters that you provided. // +// * InvalidRequestException +// The operation failed because of a problem with your request. Examples include: +// +// * You specified an unsupported parameter name or value. +// +// * You tried to update a property with a value that isn't among the available +// types. +// +// * Your request references an ARN that is malformed, or corresponds to +// a resource that isn't valid in the context of the request. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/network-firewall-2020-11-12/ListTagsForResource func (c *NetworkFirewall) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { req, out := c.ListTagsForResourceRequest(input) @@ -5632,9 +5669,11 @@ type FirewallPolicy struct { // StatelessDefaultActions is a required field StatelessDefaultActions []*string `type:"list" required:"true"` - // The actions to take on a fragmented packet if it doesn't match any of the - // stateless rules in the policy. If you want non-matching fragmented packets - // to be forwarded for stateful inspection, specify aws:forward_to_sfe. + // The actions to take on a fragmented UDP packet if it doesn't match any of + // the stateless rules in the policy. Network Firewall only manages UDP packet + // fragments and silently drops packet fragments for other protocols. If you + // want non-matching fragmented UDP packets to be forwarded for stateful inspection, + // specify aws:forward_to_sfe. // // You must specify one of the standard actions: aws:pass, aws:drop, or aws:forward_to_sfe. // In addition, you can specify custom actions that are compatible with your @@ -5966,7 +6005,7 @@ type Header struct { // Direction is a required field Direction *string `type:"string" required:"true" enum:"StatefulRuleDirection"` - // The protocol to inspect for. To match with any protocol, specify ANY. + // The protocol to inspect for. // // Protocol is a required field Protocol *string `type:"string" required:"true" enum:"StatefulRuleProtocol"` @@ -7271,10 +7310,21 @@ func (s *MatchAttributes) SetTCPFlags(v []*TCPFlagField) *MatchAttributes { return s } +// Provides configuration status for a single policy or rule group that is used +// for a firewall endpoint. Network Firewall provides each endpoint with the +// rules that are configured in the firewall policy. Each time you add a subnet +// or modify the associated firewall policy, Network Firewall synchronizes the +// rules in the endpoint, so it can properly filter network traffic. This is +// part of a SyncState for a firewall. type PerObjectStatus struct { _ struct{} `type:"structure"` + // Indicates whether this object is in sync with the version indicated in the + // update token. SyncStatus *string `type:"string" enum:"PerObjectSyncStatus"` + + // The current version of the object that is either in sync or pending synchronization. + UpdateToken *string `min:"1" type:"string"` } // String returns the string representation @@ -7293,6 +7343,12 @@ func (s *PerObjectStatus) SetSyncStatus(v string) *PerObjectStatus { return s } +// SetUpdateToken sets the UpdateToken field's value. +func (s *PerObjectStatus) SetUpdateToken(v string) *PerObjectStatus { + s.UpdateToken = &v + return s +} + // A single port range specification. This is used for source and destination // port ranges in the stateless rule MatchAttributes, SourcePorts, and DestinationPorts // settings. @@ -8058,12 +8114,6 @@ type RulesSource struct { // These rules contain the inspection criteria and the action to take for traffic // that matches the criteria, so this type of rule group doesn't have a separate // action setting. - // - // You can provide the rules from a file that you've stored in an Amazon S3 - // bucket, or by providing the rules in a Suricata rules string. To import from - // Amazon S3, provide the fully qualified name of the file that contains the - // rules definitions. To provide a Suricata rule string, provide the complete, - // Suricata compatible rule. RulesString *string `type:"string"` // The 5-tuple stateful inspection criteria. This contains an array of individual @@ -8139,6 +8189,17 @@ func (s *RulesSource) SetStatelessRulesAndCustomActions(v *StatelessRulesAndCust } // Stateful inspection criteria for a domain list rule group. +// +// For HTTPS traffic, domain filtering is SNI-based. It uses the server name +// indicator extension of the TLS handshake. +// +// By default, Network Firewall domain list inspection only includes traffic +// coming from the VPC where you deploy the firewall. To inspect traffic from +// IP addresses outside of the deployment VPC, you set the HOME_NET rule variable +// to include the CIDR range of the deployment VPC plus the other CIDR ranges. +// For more information, see RuleVariables in this guide and Stateful domain +// list rule groups in AWS Network Firewall (https://docs.aws.amazon.com/network-firewall/latest/developerguide/stateful-rule-groups-domain-names.html) +// in the Network Firewall Developer Guide type RulesSourceList struct { _ struct{} `type:"structure"` @@ -8147,11 +8208,22 @@ type RulesSourceList struct { // GeneratedRulesType is a required field GeneratedRulesType *string `type:"string" required:"true" enum:"GeneratedRulesType"` + // The protocols you want to inspect. Specify TLS_SNI for HTTPS. Specity HTTP_HOST + // for HTTP. You can specify either or both. + // // TargetTypes is a required field TargetTypes []*string `type:"list" required:"true"` // The domains that you want to inspect for in your traffic flows. To provide - // multiple domains, separate them with commas. + // multiple domains, separate them with commas. Valid domain specifications + // are the following: + // + // * Explicit names. For example, abc.example.com matches only the domain + // abc.example.com. + // + // * Names that use a domain wildcard, which you indicate with an initial + // '.'. For example,.example.com matches example.com and matches all subdomains + // of example.com, such as abc.example.com and www.example.com. // // Targets is a required field Targets []*string `type:"list" required:"true"` diff --git a/service/networkfirewall/doc.go b/service/networkfirewall/doc.go index cfc6a78b187..acbc9083b1a 100644 --- a/service/networkfirewall/doc.go +++ b/service/networkfirewall/doc.go @@ -40,8 +40,6 @@ // // * Perform deep packet inspection on traffic entering or leaving your VPC. // -// * Rate limit traffic going from AWS to on-premises IP destinations. -// // * Use stateful protocol detection to filter protocols like HTTPS, regardless // of the port used. // diff --git a/service/shield/api.go b/service/shield/api.go index 912d49c7cb6..7db46423686 100644 --- a/service/shield/api.go +++ b/service/shield/api.go @@ -2848,6 +2848,281 @@ func (c *Shield) ListResourcesInProtectionGroupPagesWithContext(ctx aws.Context, return p.Err() } +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResource +func (c *Shield) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Shield. +// +// Gets information about AWS tags for a specified Amazon Resource Name (ARN) +// in AWS Shield. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * InvalidResourceException +// Exception that indicates that the resource is invalid. You might not have +// access to the resource, or the resource might not exist. +// +// * ResourceNotFoundException +// Exception indicating the specified resource does not exist. If available, +// this exception includes details in additional properties. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResource +func (c *Shield) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Shield) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResource +func (c *Shield) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AWS Shield. +// +// Adds or updates tags for a resource in AWS Shield. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * InvalidResourceException +// Exception that indicates that the resource is invalid. You might not have +// access to the resource, or the resource might not exist. +// +// * InvalidParameterException +// Exception that indicates that the parameters passed to the API are invalid. +// If available, this exception includes details in additional properties. +// +// * ResourceNotFoundException +// Exception indicating the specified resource does not exist. If available, +// this exception includes details in additional properties. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResource +func (c *Shield) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Shield) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResource +func (c *Shield) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AWS Shield. +// +// Removes tags from a resource in AWS Shield. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Shield's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InternalErrorException +// Exception that indicates that a problem occurred with the service infrastructure. +// You can retry the request. +// +// * InvalidResourceException +// Exception that indicates that the resource is invalid. You might not have +// access to the resource, or the resource might not exist. +// +// * InvalidParameterException +// Exception that indicates that the parameters passed to the API are invalid. +// If available, this exception includes details in additional properties. +// +// * ResourceNotFoundException +// Exception indicating the specified resource does not exist. If available, +// this exception includes details in additional properties. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResource +func (c *Shield) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Shield) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateEmergencyContactSettings = "UpdateEmergencyContactSettings" // UpdateEmergencyContactSettingsRequest generates a "aws/request.Request" representing the @@ -3993,6 +4268,9 @@ type CreateProtectionGroupInput struct { // you set Pattern to BY_RESOURCE_TYPE and you must not set it for any other // Pattern setting. ResourceType *string `type:"string" enum:"ProtectedResourceType"` + + // One or more tag key-value pairs for the protection group. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -4020,6 +4298,16 @@ func (s *CreateProtectionGroupInput) Validate() error { if s.ProtectionGroupId != nil && len(*s.ProtectionGroupId) < 1 { invalidParams.Add(request.NewErrParamMinLen("ProtectionGroupId", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -4057,6 +4345,12 @@ func (s *CreateProtectionGroupInput) SetResourceType(v string) *CreateProtection return s } +// SetTags sets the Tags field's value. +func (s *CreateProtectionGroupInput) SetTags(v []*Tag) *CreateProtectionGroupInput { + s.Tags = v + return s +} + type CreateProtectionGroupOutput struct { _ struct{} `type:"structure"` } @@ -4097,6 +4391,9 @@ type CreateProtectionInput struct { // // ResourceArn is a required field ResourceArn *string `min:"1" type:"string" required:"true"` + + // One or more tag key-value pairs for the Protection object that is created. + Tags []*Tag `type:"list"` } // String returns the string representation @@ -4124,6 +4421,16 @@ func (s *CreateProtectionInput) Validate() error { if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -4143,6 +4450,12 @@ func (s *CreateProtectionInput) SetResourceArn(v string) *CreateProtectionInput return s } +// SetTags sets the Tags field's value. +func (s *CreateProtectionInput) SetTags(v []*Tag) *CreateProtectionInput { + s.Tags = v + return s +} + type CreateProtectionOutput struct { _ struct{} `type:"structure"` @@ -5842,6 +6155,70 @@ func (s *ListResourcesInProtectionGroupOutput) SetResourceArns(v []*string) *Lis return s } +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to get tags for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of tag key and value pairs associated with the specified resource. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + // You are trying to update a subscription that has not yet completed the 1-year // commitment. You can change the AutoRenew parameter during the last 30 days // of your subscription. This exception indicates that you are attempting to @@ -6052,6 +6429,9 @@ type Protection struct { // The name of the protection. For example, My CloudFront distributions. Name *string `min:"1" type:"string"` + // The ARN (Amazon Resource Name) of the protection. + ProtectionArn *string `min:"1" type:"string"` + // The ARN (Amazon Resource Name) of the AWS resource that is protected. ResourceArn *string `min:"1" type:"string"` } @@ -6084,6 +6464,12 @@ func (s *Protection) SetName(v string) *Protection { return s } +// SetProtectionArn sets the ProtectionArn field's value. +func (s *Protection) SetProtectionArn(v string) *Protection { + s.ProtectionArn = &v + return s +} + // SetResourceArn sets the ResourceArn field's value. func (s *Protection) SetResourceArn(v string) *Protection { s.ResourceArn = &v @@ -6130,6 +6516,9 @@ type ProtectionGroup struct { // Pattern is a required field Pattern *string `type:"string" required:"true" enum:"ProtectionGroupPattern"` + // The ARN (Amazon Resource Name) of the protection group. + ProtectionGroupArn *string `min:"1" type:"string"` + // The name of the protection group. You use this to identify the protection // group in lists and to manage the protection group, for example to update, // delete, or describe it. @@ -6172,6 +6561,12 @@ func (s *ProtectionGroup) SetPattern(v string) *ProtectionGroup { return s } +// SetProtectionGroupArn sets the ProtectionGroupArn field's value. +func (s *ProtectionGroup) SetProtectionGroupArn(v string) *ProtectionGroup { + s.ProtectionGroupArn = &v + return s +} + // SetProtectionGroupId sets the ProtectionGroupId field's value. func (s *ProtectionGroup) SetProtectionGroupId(v string) *ProtectionGroup { s.ProtectionGroupId = &v @@ -6505,6 +6900,9 @@ type Subscription struct { // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). StartTime *time.Time `type:"timestamp"` + // The ARN (Amazon Resource Name) of the subscription. + SubscriptionArn *string `min:"1" type:"string"` + // Limits settings for your subscription. // // SubscriptionLimits is a required field @@ -6554,6 +6952,12 @@ func (s *Subscription) SetStartTime(v time.Time) *Subscription { return s } +// SetSubscriptionArn sets the SubscriptionArn field's value. +func (s *Subscription) SetSubscriptionArn(v string) *Subscription { + s.SubscriptionArn = &v + return s +} + // SetSubscriptionLimits sets the SubscriptionLimits field's value. func (s *Subscription) SetSubscriptionLimits(v *SubscriptionLimits) *Subscription { s.SubscriptionLimits = v @@ -6707,6 +7111,142 @@ func (s *SummarizedCounter) SetUnit(v string) *SummarizedCounter { return s } +// A tag associated with an AWS resource. Tags are key:value pairs that you +// can use to categorize and manage your resources, for purposes like billing +// or other management. Typically, the tag key represents a category, such as +// "environment", and the tag value represents a specific value within that +// category, such as "test," "development," or "production". Or 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. +type Tag struct { + _ struct{} `type:"structure"` + + // Part of the key:value pair that defines a tag. You can use a tag key to describe + // a category of information, such as "customer." Tag keys are case-sensitive. + Key *string `min:"1" type:"string"` + + // Part of the key:value pair that defines a tag. You can use a tag value to + // describe a specific value within a category, such as "companyA" or "companyB." + // Tag values are case-sensitive. + Value *string `type:"string"` +} + +// String returns the string representation +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to add or update + // tags for. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The tags that you want to modify or add to the resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + // The time range. type TimeRange struct { _ struct{} `type:"structure"` @@ -6742,6 +7282,76 @@ func (s *TimeRange) SetToExclusive(v time.Time) *TimeRange { return s } +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to remove tags + // from. + // + // ResourceARN is a required field + ResourceARN *string `min:"1" type:"string" required:"true"` + + // The tag key for each tag that you want to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + type UpdateEmergencyContactSettingsInput struct { _ struct{} `type:"structure"` diff --git a/service/shield/shieldiface/interface.go b/service/shield/shieldiface/interface.go index 3356fc59752..2e662e2d1fb 100644 --- a/service/shield/shieldiface/interface.go +++ b/service/shield/shieldiface/interface.go @@ -180,6 +180,18 @@ type ShieldAPI interface { ListResourcesInProtectionGroupPages(*shield.ListResourcesInProtectionGroupInput, func(*shield.ListResourcesInProtectionGroupOutput, bool) bool) error ListResourcesInProtectionGroupPagesWithContext(aws.Context, *shield.ListResourcesInProtectionGroupInput, func(*shield.ListResourcesInProtectionGroupOutput, bool) bool, ...request.Option) error + ListTagsForResource(*shield.ListTagsForResourceInput) (*shield.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *shield.ListTagsForResourceInput, ...request.Option) (*shield.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*shield.ListTagsForResourceInput) (*request.Request, *shield.ListTagsForResourceOutput) + + TagResource(*shield.TagResourceInput) (*shield.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *shield.TagResourceInput, ...request.Option) (*shield.TagResourceOutput, error) + TagResourceRequest(*shield.TagResourceInput) (*request.Request, *shield.TagResourceOutput) + + UntagResource(*shield.UntagResourceInput) (*shield.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *shield.UntagResourceInput, ...request.Option) (*shield.UntagResourceOutput, error) + UntagResourceRequest(*shield.UntagResourceInput) (*request.Request, *shield.UntagResourceOutput) + UpdateEmergencyContactSettings(*shield.UpdateEmergencyContactSettingsInput) (*shield.UpdateEmergencyContactSettingsOutput, error) UpdateEmergencyContactSettingsWithContext(aws.Context, *shield.UpdateEmergencyContactSettingsInput, ...request.Option) (*shield.UpdateEmergencyContactSettingsOutput, error) UpdateEmergencyContactSettingsRequest(*shield.UpdateEmergencyContactSettingsInput) (*request.Request, *shield.UpdateEmergencyContactSettingsOutput)