From 91a3034147b29a432a344de88a37eabe665c1679 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Thu, 19 Aug 2021 11:15:32 -0700 Subject: [PATCH] Release v1.40.26 (2021-08-19) (#4064) Release v1.40.26 (2021-08-19) === ### Service Client Updates * `service/appflow`: Updates service API and documentation * `service/application-autoscaling`: Updates service API and documentation * `service/ec2`: Updates service API and documentation * The ImportImage API now supports the ability to create AMIs with AWS-managed licenses for Microsoft SQL Server for both Windows and Linux. * `service/memorydb`: Updates service API, documentation, paginators, and examples --- CHANGELOG.md | 10 + aws/endpoints/defaults.go | 7 + aws/version.go | 2 +- models/apis/appflow/2020-08-23/api-2.json | 207 +- models/apis/appflow/2020-08-23/docs-2.json | 161 +- .../2016-02-06/api-2.json | 12 +- .../2016-02-06/docs-2.json | 100 +- models/apis/ec2/2016-11-15/api-2.json | 11 +- models/apis/ec2/2016-11-15/docs-2.json | 31 +- models/apis/memorydb/2021-01-01/api-2.json | 2026 +++ models/apis/memorydb/2021-01-01/docs-2.json | 1437 ++ .../apis/memorydb/2021-01-01/examples-1.json | 5 + .../memorydb/2021-01-01/paginators-1.json | 4 + models/endpoints/endpoints.json | 6 + service/appflow/api.go | 742 +- service/appflow/doc.go | 4 +- service/applicationautoscaling/api.go | 329 +- service/applicationautoscaling/doc.go | 34 +- service/ec2/api.go | 155 +- service/memorydb/api.go | 11061 ++++++++++++++++ service/memorydb/doc.go | 34 + service/memorydb/errors.go | 258 + service/memorydb/memorydbiface/interface.go | 204 + service/memorydb/service.go | 106 + 24 files changed, 16675 insertions(+), 271 deletions(-) create mode 100644 models/apis/memorydb/2021-01-01/api-2.json create mode 100644 models/apis/memorydb/2021-01-01/docs-2.json create mode 100644 models/apis/memorydb/2021-01-01/examples-1.json create mode 100644 models/apis/memorydb/2021-01-01/paginators-1.json create mode 100644 service/memorydb/api.go create mode 100644 service/memorydb/doc.go create mode 100644 service/memorydb/errors.go create mode 100644 service/memorydb/memorydbiface/interface.go create mode 100644 service/memorydb/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index b92c2b5903c..0d1887d0b34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,13 @@ +Release v1.40.26 (2021-08-19) +=== + +### Service Client Updates +* `service/appflow`: Updates service API and documentation +* `service/application-autoscaling`: Updates service API and documentation +* `service/ec2`: Updates service API and documentation + * The ImportImage API now supports the ability to create AMIs with AWS-managed licenses for Microsoft SQL Server for both Windows and Linux. +* `service/memorydb`: Updates service API, documentation, paginators, and examples + Release v1.40.25 (2021-08-18) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 4538d2f08c5..19006b2a744 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -3808,6 +3808,7 @@ var awsPartition = partition{ Endpoints: endpoints{ "ap-northeast-1": endpoint{}, + "ap-south-1": endpoint{}, "ap-southeast-2": endpoint{}, "eu-central-1": endpoint{}, "eu-west-1": endpoint{}, @@ -10885,6 +10886,12 @@ var awsisoPartition = partition{ }, }, }, + "route53resolver": service{ + + Endpoints: endpoints{ + "us-iso-east-1": endpoint{}, + }, + }, "runtime.sagemaker": service{ Endpoints: endpoints{ diff --git a/aws/version.go b/aws/version.go index 308fcb73745..ef99d37feb3 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.40.25" +const SDKVersion = "1.40.26" diff --git a/models/apis/appflow/2020-08-23/api-2.json b/models/apis/appflow/2020-08-23/api-2.json index c9b6138c94b..86d6d59ef6d 100644 --- a/models/apis/appflow/2020-08-23/api-2.json +++ b/models/apis/appflow/2020-08-23/api-2.json @@ -363,16 +363,42 @@ "max":256, "pattern":"\\S+" }, + "ApplicationHostUrl":{ + "type":"string", + "max":256, + "pattern":"^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + }, "ApplicationKey":{ "type":"string", "max":512, "pattern":"\\S+" }, + "ApplicationServicePath":{ + "type":"string", + "max":512, + "pattern":"\\S+" + }, "AuthCode":{ "type":"string", "max":512, "pattern":"\\S+" }, + "AuthCodeUrl":{ + "type":"string", + "max":256, + "pattern":"^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + }, + "BasicAuthCredentials":{ + "type":"structure", + "required":[ + "username", + "password" + ], + "members":{ + "username":{"shape":"Username"}, + "password":{"shape":"Password"} + } + }, "Boolean":{"type":"boolean"}, "BucketName":{ "type":"string", @@ -397,6 +423,12 @@ "max":512, "pattern":"\\S+" }, + "ClientNumber":{ + "type":"string", + "max":3, + "min":3, + "pattern":"^\\d{3}$" + }, "ClientSecret":{ "type":"string", "max":512, @@ -500,7 +532,8 @@ "EventBridge":{"shape":"EventBridgeMetadata"}, "Upsolver":{"shape":"UpsolverMetadata"}, "CustomerProfiles":{"shape":"CustomerProfilesMetadata"}, - "Honeycode":{"shape":"HoneycodeMetadata"} + "Honeycode":{"shape":"HoneycodeMetadata"}, + "SAPOData":{"shape":"SAPODataMetadata"} } }, "ConnectorOAuthRequest":{ @@ -526,7 +559,8 @@ "Slack":{"shape":"SlackConnectorOperator"}, "Trendmicro":{"shape":"TrendmicroConnectorOperator"}, "Veeva":{"shape":"VeevaConnectorOperator"}, - "Zendesk":{"shape":"ZendeskConnectorOperator"} + "Zendesk":{"shape":"ZendeskConnectorOperator"}, + "SAPOData":{"shape":"SAPODataConnectorOperator"} } }, "ConnectorProfile":{ @@ -539,7 +573,8 @@ "credentialsArn":{"shape":"ARN"}, "connectorProfileProperties":{"shape":"ConnectorProfileProperties"}, "createdAt":{"shape":"Date"}, - "lastUpdatedAt":{"shape":"Date"} + "lastUpdatedAt":{"shape":"Date"}, + "privateConnectionProvisioningState":{"shape":"PrivateConnectionProvisioningState"} } }, "ConnectorProfileArn":{ @@ -576,7 +611,8 @@ "Snowflake":{"shape":"SnowflakeConnectorProfileCredentials"}, "Trendmicro":{"shape":"TrendmicroConnectorProfileCredentials"}, "Veeva":{"shape":"VeevaConnectorProfileCredentials"}, - "Zendesk":{"shape":"ZendeskConnectorProfileCredentials"} + "Zendesk":{"shape":"ZendeskConnectorProfileCredentials"}, + "SAPOData":{"shape":"SAPODataConnectorProfileCredentials"} } }, "ConnectorProfileDetailList":{ @@ -612,7 +648,8 @@ "Snowflake":{"shape":"SnowflakeConnectorProfileProperties"}, "Trendmicro":{"shape":"TrendmicroConnectorProfileProperties"}, "Veeva":{"shape":"VeevaConnectorProfileProperties"}, - "Zendesk":{"shape":"ZendeskConnectorProfileProperties"} + "Zendesk":{"shape":"ZendeskConnectorProfileProperties"}, + "SAPOData":{"shape":"SAPODataConnectorProfileProperties"} } }, "ConnectorServerException":{ @@ -646,7 +683,8 @@ "LookoutMetrics", "Upsolver", "Honeycode", - "CustomerProfiles" + "CustomerProfiles", + "SAPOData" ] }, "ConnectorTypeList":{ @@ -957,6 +995,11 @@ "type":"list", "member":{"shape":"DestinationFlowConfig"} }, + "DocumentType":{ + "type":"string", + "max":512, + "pattern":"[\\s\\w_-]+" + }, "DomainName":{ "type":"string", "max":64, @@ -1392,6 +1435,11 @@ "tags":{"shape":"TagMap"} } }, + "LogonLanguage":{ + "type":"string", + "max":2, + "pattern":"^[a-zA-Z0-9_]*$" + }, "Long":{"type":"long"}, "LookoutMetricsDestinationProperties":{ "type":"structure", @@ -1471,10 +1519,37 @@ "max":2048, "pattern":"\\S+" }, + "OAuthCredentials":{ + "type":"structure", + "required":[ + "clientId", + "clientSecret" + ], + "members":{ + "clientId":{"shape":"ClientId"}, + "clientSecret":{"shape":"ClientSecret"}, + "accessToken":{"shape":"AccessToken"}, + "refreshToken":{"shape":"RefreshToken"}, + "oAuthRequest":{"shape":"ConnectorOAuthRequest"} + } + }, + "OAuthProperties":{ + "type":"structure", + "required":[ + "tokenUrl", + "authCodeUrl", + "oAuthScopes" + ], + "members":{ + "tokenUrl":{"shape":"TokenUrl"}, + "authCodeUrl":{"shape":"AuthCodeUrl"}, + "oAuthScopes":{"shape":"OAuthScopeList"} + } + }, "OAuthScope":{ "type":"string", "max":128, - "pattern":"[\\w]*" + "pattern":"[/\\w]*" }, "OAuthScopeList":{ "type":"list", @@ -1542,6 +1617,11 @@ "pattern":".*", "sensitive":true }, + "PortNumber":{ + "type":"integer", + "max":65535, + "min":1 + }, "PrefixConfig":{ "type":"structure", "members":{ @@ -1567,10 +1647,41 @@ "PATH_AND_FILENAME" ] }, + "PrivateConnectionProvisioningFailureCause":{ + "type":"string", + "enum":[ + "CONNECTOR_AUTHENTICATION", + "CONNECTOR_SERVER", + "INTERNAL_SERVER", + "ACCESS_DENIED", + "VALIDATION" + ] + }, + "PrivateConnectionProvisioningFailureMessage":{ + "type":"string", + "max":2048, + "pattern":"[\\s\\w/!@#+=.-]*" + }, + "PrivateConnectionProvisioningState":{ + "type":"structure", + "members":{ + "status":{"shape":"PrivateConnectionProvisioningStatus"}, + "failureMessage":{"shape":"PrivateConnectionProvisioningFailureMessage"}, + "failureCause":{"shape":"PrivateConnectionProvisioningFailureCause"} + } + }, + "PrivateConnectionProvisioningStatus":{ + "type":"string", + "enum":[ + "FAILED", + "PENDING", + "CREATED" + ] + }, "PrivateLinkServiceName":{ "type":"string", "max":512, - "pattern":"\\S+" + "pattern":"^$|com.amazonaws.vpce.[\\w/!:@#.\\-]+" }, "Property":{ "type":"string", @@ -1707,6 +1818,71 @@ "bucketPrefix":{"shape":"BucketPrefix"} } }, + "SAPODataConnectorOperator":{ + "type":"string", + "enum":[ + "PROJECTION", + "LESS_THAN", + "CONTAINS", + "GREATER_THAN", + "BETWEEN", + "LESS_THAN_OR_EQUAL_TO", + "GREATER_THAN_OR_EQUAL_TO", + "EQUAL_TO", + "NOT_EQUAL_TO", + "ADDITION", + "MULTIPLICATION", + "DIVISION", + "SUBTRACTION", + "MASK_ALL", + "MASK_FIRST_N", + "MASK_LAST_N", + "VALIDATE_NON_NULL", + "VALIDATE_NON_ZERO", + "VALIDATE_NON_NEGATIVE", + "VALIDATE_NUMERIC", + "NO_OP" + ] + }, + "SAPODataConnectorProfileCredentials":{ + "type":"structure", + "members":{ + "basicAuthCredentials":{"shape":"BasicAuthCredentials"}, + "oAuthCredentials":{"shape":"OAuthCredentials"} + } + }, + "SAPODataConnectorProfileProperties":{ + "type":"structure", + "required":[ + "applicationHostUrl", + "applicationServicePath", + "portNumber", + "clientNumber" + ], + "members":{ + "applicationHostUrl":{"shape":"ApplicationHostUrl"}, + "applicationServicePath":{"shape":"ApplicationServicePath"}, + "portNumber":{ + "shape":"PortNumber", + "box":true + }, + "clientNumber":{"shape":"ClientNumber"}, + "logonLanguage":{"shape":"LogonLanguage"}, + "privateLinkServiceName":{"shape":"PrivateLinkServiceName"}, + "oAuthProperties":{"shape":"OAuthProperties"} + } + }, + "SAPODataMetadata":{ + "type":"structure", + "members":{ + } + }, + "SAPODataSourceProperties":{ + "type":"structure", + "members":{ + "objectPath":{"shape":"Object"} + } + }, "SalesforceConnectorOperator":{ "type":"string", "enum":[ @@ -2048,7 +2224,8 @@ "Slack":{"shape":"SlackSourceProperties"}, "Trendmicro":{"shape":"TrendmicroSourceProperties"}, "Veeva":{"shape":"VeevaSourceProperties"}, - "Zendesk":{"shape":"ZendeskSourceProperties"} + "Zendesk":{"shape":"ZendeskSourceProperties"}, + "SAPOData":{"shape":"SAPODataSourceProperties"} } }, "SourceFieldProperties":{ @@ -2214,6 +2391,11 @@ "max":256, "pattern":".*" }, + "TokenUrl":{ + "type":"string", + "max":256, + "pattern":"^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]" + }, "TrendmicroConnectorOperator":{ "type":"string", "enum":[ @@ -2339,6 +2521,7 @@ "required":[ "flowName", "triggerConfig", + "sourceFlowConfig", "destinationFlowConfigList", "tasks" ], @@ -2465,7 +2648,11 @@ "type":"structure", "required":["object"], "members":{ - "object":{"shape":"Object"} + "object":{"shape":"Object"}, + "documentType":{"shape":"DocumentType"}, + "includeSourceFiles":{"shape":"Boolean"}, + "includeRenditions":{"shape":"Boolean"}, + "includeAllVersions":{"shape":"Boolean"} } }, "Warehouse":{ diff --git a/models/apis/appflow/2020-08-23/docs-2.json b/models/apis/appflow/2020-08-23/docs-2.json index 17118906615..030b1edff59 100644 --- a/models/apis/appflow/2020-08-23/docs-2.json +++ b/models/apis/appflow/2020-08-23/docs-2.json @@ -1,8 +1,8 @@ { "version": "2.0", - "service": "

Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.

Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon S3 and Amazon Redshift.

Use the following links to get started on the Amazon AppFlow API:

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code and redirecturi) with the connector-specific ConnectorProfileProperties when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the Authorize Apps with OAuth documentation.

", + "service": "

Welcome to the Amazon AppFlow API reference. This guide is for developers who need detailed information about the Amazon AppFlow API operations, data types, and errors.

Amazon AppFlow is a fully managed integration service that enables you to securely transfer data between software as a service (SaaS) applications like Salesforce, Marketo, Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

Use the following links to get started on the Amazon AppFlow API:

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User Guide.

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include applicable OAuth attributes (such as auth-code and redirecturi) with the connector-specific ConnectorProfileProperties when creating a new connector profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the Authorize Apps with OAuth documentation.

", "operations": { - "CreateConnectorProfile": "

Creates a new connector profile associated with your AWS account. There is a soft quota of 100 connector profiles per AWS account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel.

", + "CreateConnectorProfile": "

Creates a new connector profile associated with your Amazon Web Services account. There is a soft quota of 100 connector profiles per Amazon Web Services account. If you need more connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support channel.

", "CreateFlow": "

Enables your application to create a new flow using Amazon AppFlow. You must create a connector profile before calling this API. Please note that the Request Syntax below shows syntax for multiple destinations, however, you can only transfer data to one item in this list at a time. Amazon AppFlow does not currently support flows to multiple destinations at once.

", "DeleteConnectorProfile": "

Enables you to delete an existing connector profile.

", "DeleteFlow": "

Enables your application to delete an existing flow. Before deleting the flow, Amazon AppFlow validates the request by checking the flow configuration and status. You can delete flows one at a time.

", @@ -43,6 +43,7 @@ "GoogleAnalyticsConnectorProfileCredentials$accessToken": "

The credentials used to access protected Google Analytics resources.

", "HoneycodeConnectorProfileCredentials$accessToken": "

The credentials used to access protected Amazon Honeycode resources.

", "MarketoConnectorProfileCredentials$accessToken": "

The credentials used to access protected Marketo resources.

", + "OAuthCredentials$accessToken": "

The access token used to access protected SAPOData resources.

", "SalesforceConnectorProfileCredentials$accessToken": "

The credentials used to access protected Salesforce resources.

", "SlackConnectorProfileCredentials$accessToken": "

The credentials used to access protected Slack resources.

", "ZendeskConnectorProfileCredentials$accessToken": "

The credentials used to access protected Zendesk resources.

" @@ -117,18 +118,42 @@ "DynatraceConnectorProfileCredentials$apiToken": "

The API tokens used by Dynatrace API to authenticate various API calls.

" } }, + "ApplicationHostUrl": { + "base": null, + "refs": { + "SAPODataConnectorProfileProperties$applicationHostUrl": "

The location of the SAPOData resource.

" + } + }, "ApplicationKey": { "base": null, "refs": { "DatadogConnectorProfileCredentials$applicationKey": "

Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.

" } }, + "ApplicationServicePath": { + "base": null, + "refs": { + "SAPODataConnectorProfileProperties$applicationServicePath": "

The application path to catalog service.

" + } + }, "AuthCode": { "base": null, "refs": { "ConnectorOAuthRequest$authCode": "

The code provided by the connector when it has been authenticated via the connected app.

" } }, + "AuthCodeUrl": { + "base": null, + "refs": { + "OAuthProperties$authCodeUrl": "

The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type authentication.

" + } + }, + "BasicAuthCredentials": { + "base": "

The basic auth credentials required for basic authentication.

", + "refs": { + "SAPODataConnectorProfileCredentials$basicAuthCredentials": "

The SAPOData basic authentication credentials.

" + } + }, "Boolean": { "base": null, "refs": { @@ -148,7 +173,10 @@ "SalesforceSourceProperties$enableDynamicFieldUpdate": "

The flag that enables dynamic fetching of new (recently added) fields in the Salesforce objects while running a flow.

", "SalesforceSourceProperties$includeDeletedRecords": "

Indicates whether Amazon AppFlow includes deleted files in the flow run.

", "SourceFieldProperties$isRetrievable": "

Indicates whether the field can be returned in a search result.

", - "SourceFieldProperties$isQueryable": "

Indicates if the field can be queried.

" + "SourceFieldProperties$isQueryable": "

Indicates if the field can be queried.

", + "VeevaSourceProperties$includeSourceFiles": "

Boolean value to include source files in Veeva document extract flow.

", + "VeevaSourceProperties$includeRenditions": "

Boolean value to include file renditions in Veeva document extract flow.

", + "VeevaSourceProperties$includeAllVersions": "

Boolean value to include All Versions of files in Veeva document extract flow.

" } }, "BucketName": { @@ -187,15 +215,23 @@ "refs": { "GoogleAnalyticsConnectorProfileCredentials$clientId": "

The identifier for the desired client.

", "MarketoConnectorProfileCredentials$clientId": "

The identifier for the desired client.

", + "OAuthCredentials$clientId": "

The identifier for the desired client.

", "SlackConnectorProfileCredentials$clientId": "

The identifier for the client.

", "ZendeskConnectorProfileCredentials$clientId": "

The identifier for the desired client.

" } }, + "ClientNumber": { + "base": null, + "refs": { + "SAPODataConnectorProfileProperties$clientNumber": "

The client number for the client creating the connection.

" + } + }, "ClientSecret": { "base": null, "refs": { "GoogleAnalyticsConnectorProfileCredentials$clientSecret": "

The client secret used by the OAuth client to authenticate to the authorization server.

", "MarketoConnectorProfileCredentials$clientSecret": "

The client secret used by the OAuth client to authenticate to the authorization server.

", + "OAuthCredentials$clientSecret": "

The client secret used by the OAuth client to authenticate to the authorization server.

", "SlackConnectorProfileCredentials$clientSecret": "

The client secret used by the OAuth client to authenticate to the authorization server.

", "ZendeskConnectorProfileCredentials$clientSecret": "

The client secret used by the OAuth client to authenticate to the authorization server.

" } @@ -209,7 +245,7 @@ "base": null, "refs": { "ConnectorProfile$connectionMode": "

Indicates the connection mode and if it is public or private.

", - "CreateConnectorProfileRequest$connectionMode": "

Indicates the connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet.

", + "CreateConnectorProfileRequest$connectionMode": "

Indicates the connection mode and specifies whether it is public or private. Private flows use Amazon Web Services PrivateLink to route data over Amazon Web Services infrastructure without exposing it to the public internet.

", "UpdateConnectorProfileRequest$connectionMode": "

Indicates the connection mode and if it is public or private.

" } }, @@ -272,6 +308,7 @@ "GoogleAnalyticsConnectorProfileCredentials$oAuthRequest": "

The OAuth requirement needed to request security tokens from the connector endpoint.

", "HoneycodeConnectorProfileCredentials$oAuthRequest": null, "MarketoConnectorProfileCredentials$oAuthRequest": "

The OAuth requirement needed to request security tokens from the connector endpoint.

", + "OAuthCredentials$oAuthRequest": "

The OAuth requirement needed to request security tokens from the connector endpoint.

", "SalesforceConnectorProfileCredentials$oAuthRequest": "

The OAuth requirement needed to request security tokens from the connector endpoint.

", "SlackConnectorProfileCredentials$oAuthRequest": "

The OAuth requirement needed to request security tokens from the connector endpoint.

", "ZendeskConnectorProfileCredentials$oAuthRequest": "

The OAuth requirement needed to request security tokens from the connector endpoint.

" @@ -319,21 +356,21 @@ "ConnectorProfileName": { "base": null, "refs": { - "ConnectorProfile$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account.

", + "ConnectorProfile$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account.

", "ConnectorProfileNameList$member": null, - "CreateConnectorProfileRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in your AWS account.

", + "CreateConnectorProfileRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in your Amazon Web Services account.

", "DeleteConnectorProfileRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in your account.

", - "DescribeConnectorEntityRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account.

", - "DestinationFlowConfig$connectorProfileName": "

The name of the connector profile. This name must be unique for each connector profile in the AWS account.

", - "ListConnectorEntitiesRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account, and is used to query the downstream connector.

", - "SourceFlowConfig$connectorProfileName": "

The name of the connector profile. This name must be unique for each connector profile in the AWS account.

", - "UpdateConnectorProfileRequest$connectorProfileName": "

The name of the connector profile and is unique for each ConnectorProfile in the AWS Account.

" + "DescribeConnectorEntityRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account.

", + "DestinationFlowConfig$connectorProfileName": "

The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

", + "ListConnectorEntitiesRequest$connectorProfileName": "

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account, and is used to query the downstream connector.

", + "SourceFlowConfig$connectorProfileName": "

The name of the connector profile. This name must be unique for each connector profile in the Amazon Web Services account.

", + "UpdateConnectorProfileRequest$connectorProfileName": "

The name of the connector profile and is unique for each ConnectorProfile in the Amazon Web Services account.

" } }, "ConnectorProfileNameList": { "base": null, "refs": { - "DescribeConnectorProfilesRequest$connectorProfileNames": "

The name of the connector profile. The name is unique for each ConnectorProfile in the AWS account.

" + "DescribeConnectorProfilesRequest$connectorProfileNames": "

The name of the connector profile. The name is unique for each ConnectorProfile in the Amazon Web Services account.

" } }, "ConnectorProfileProperties": { @@ -585,6 +622,12 @@ "UpdateFlowRequest$destinationFlowConfigList": "

The configuration that controls how Amazon AppFlow transfers data to the destination connector.

" } }, + "DocumentType": { + "base": null, + "refs": { + "VeevaSourceProperties$documentType": "

The document type specified in the Veeva document extract flow.

" + } + }, "DomainName": { "base": null, "refs": { @@ -981,6 +1024,12 @@ "refs": { } }, + "LogonLanguage": { + "base": null, + "refs": { + "SAPODataConnectorProfileProperties$logonLanguage": "

The logon language of SAPOData instance.

" + } + }, "Long": { "base": null, "refs": { @@ -1061,6 +1110,18 @@ "ListFlowsResponse$nextToken": "

The pagination token for next page of data.

" } }, + "OAuthCredentials": { + "base": "

The OAuth credentials required for OAuth type authentication.

", + "refs": { + "SAPODataConnectorProfileCredentials$oAuthCredentials": "

The SAPOData OAuth type authentication credentials.

" + } + }, + "OAuthProperties": { + "base": "

The OAuth properties required for OAuth type authentication.

", + "refs": { + "SAPODataConnectorProfileProperties$oAuthProperties": "

The SAPOData OAuth properties required for OAuth type authentication.

" + } + }, "OAuthScope": { "base": null, "refs": { @@ -1072,6 +1133,7 @@ "refs": { "GoogleAnalyticsMetadata$oAuthScopes": "

The desired authorization scope for the Google Analytics account.

", "HoneycodeMetadata$oAuthScopes": "

The desired authorization scope for the Amazon Honeycode account.

", + "OAuthProperties$oAuthScopes": "

The OAuth scopes required for OAuth type authentication.

", "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.

" @@ -1089,6 +1151,7 @@ "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.

", + "SAPODataSourceProperties$objectPath": "

The object path specified in the SAPOData flow source.

", "SalesforceDestinationProperties$object": "

The object specified in the Salesforce flow destination.

", "SalesforceSourceProperties$object": "

The object specified in the Salesforce flow source.

", "ServiceNowSourceProperties$object": "

The object specified in the ServiceNow flow source.

", @@ -1122,12 +1185,19 @@ "Password": { "base": null, "refs": { + "BasicAuthCredentials$password": "

The password to use to connect to a resource.

", "RedshiftConnectorProfileCredentials$password": "

The password that corresponds to the user name.

", "ServiceNowConnectorProfileCredentials$password": "

The password that corresponds to the user name.

", "SnowflakeConnectorProfileCredentials$password": "

The password that corresponds to the user name.

", "VeevaConnectorProfileCredentials$password": "

The password that corresponds to the user name.

" } }, + "PortNumber": { + "base": null, + "refs": { + "SAPODataConnectorProfileProperties$portNumber": "

The port number of the SAPOData instance.

" + } + }, "PrefixConfig": { "base": "

Determines the prefix that Amazon AppFlow applies to the destination folder name. You can name your destination folders according to the flow frequency and date.

", "refs": { @@ -1147,9 +1217,34 @@ "PrefixConfig$prefixType": "

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

" } }, + "PrivateConnectionProvisioningFailureCause": { + "base": null, + "refs": { + "PrivateConnectionProvisioningState$failureCause": "

Specifies the private connection provisioning failure cause.

" + } + }, + "PrivateConnectionProvisioningFailureMessage": { + "base": null, + "refs": { + "PrivateConnectionProvisioningState$failureMessage": "

Specifies the private connection provisioning failure reason.

" + } + }, + "PrivateConnectionProvisioningState": { + "base": "

Specifies the private connection provisioning state.

", + "refs": { + "ConnectorProfile$privateConnectionProvisioningState": "

Specifies the private connection provisioning state.

" + } + }, + "PrivateConnectionProvisioningStatus": { + "base": null, + "refs": { + "PrivateConnectionProvisioningState$status": "

Specifies the private connection provisioning status.

" + } + }, "PrivateLinkServiceName": { "base": null, "refs": { + "SAPODataConnectorProfileProperties$privateLinkServiceName": "

The SAPOData Private Link service name to be used for private data transfers.

", "SnowflakeConnectorProfileProperties$privateLinkServiceName": "

The Snowflake Private Link service name to be used for private data transfers.

" } }, @@ -1194,6 +1289,7 @@ "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": "

The credentials used to acquire new access tokens.

", + "OAuthCredentials$refreshToken": "

The refresh token used to refresh expired access token.

", "SalesforceConnectorProfileCredentials$refreshToken": "

The credentials used to acquire new access tokens.

" } }, @@ -1201,13 +1297,13 @@ "base": null, "refs": { "RegionList$member": null, - "SnowflakeConnectorProfileProperties$region": "

The AWS Region of the Snowflake account.

" + "SnowflakeConnectorProfileProperties$region": "

The Amazon Web Services Region of the Snowflake account.

" } }, "RegionList": { "base": null, "refs": { - "SnowflakeMetadata$supportedRegions": "

Specifies the supported AWS Regions when using Snowflake.

" + "SnowflakeMetadata$supportedRegions": "

Specifies the supported Amazon Web Services Regions when using Snowflake.

" } }, "ResourceNotFoundException": { @@ -1251,6 +1347,36 @@ "SourceConnectorProperties$S3": "

Specifies the information that is required for querying Amazon S3.

" } }, + "SAPODataConnectorOperator": { + "base": null, + "refs": { + "ConnectorOperator$SAPOData": "

The operation to be performed on the provided SAPOData source fields.

" + } + }, + "SAPODataConnectorProfileCredentials": { + "base": "

The connector-specific profile credentials required when using SAPOData.

", + "refs": { + "ConnectorProfileCredentials$SAPOData": null + } + }, + "SAPODataConnectorProfileProperties": { + "base": "

The connector-specific profile properties required when using SAPOData.

", + "refs": { + "ConnectorProfileProperties$SAPOData": null + } + }, + "SAPODataMetadata": { + "base": "

The connector metadata specific to SAPOData.

", + "refs": { + "ConnectorMetadata$SAPOData": null + } + }, + "SAPODataSourceProperties": { + "base": "

The properties that are applied when using SAPOData as a flow source.

", + "refs": { + "SourceConnectorProperties$SAPOData": null + } + }, "SalesforceConnectorOperator": { "base": null, "refs": { @@ -1589,6 +1715,12 @@ "ScheduledTriggerProperties$timezone": "

Specifies the time zone used when referring to the date and time of a scheduled-triggered flow, such as America/New_York.

" } }, + "TokenUrl": { + "base": null, + "refs": { + "OAuthProperties$tokenUrl": "

The token url required to fetch access/refresh tokens using authorization code and also to refresh expired access token using refresh token.

" + } + }, "TrendmicroConnectorOperator": { "base": null, "refs": { @@ -1716,6 +1848,7 @@ "Username": { "base": null, "refs": { + "BasicAuthCredentials$username": "

The username to use to connect to a resource.

", "InforNexusConnectorProfileCredentials$userId": "

The identifier for the user.

", "RedshiftConnectorProfileCredentials$username": "

The name of the user.

", "ServiceNowConnectorProfileCredentials$username": "

The name of the user.

", diff --git a/models/apis/application-autoscaling/2016-02-06/api-2.json b/models/apis/application-autoscaling/2016-02-06/api-2.json index e834fdedddc..ccc24fcd32c 100644 --- a/models/apis/application-autoscaling/2016-02-06/api-2.json +++ b/models/apis/application-autoscaling/2016-02-06/api-2.json @@ -435,7 +435,10 @@ "LambdaProvisionedConcurrencyUtilization", "CassandraReadCapacityUtilization", "CassandraWriteCapacityUtilization", - "KafkaBrokerStorageUtilization" + "KafkaBrokerStorageUtilization", + "ElastiCachePrimaryEngineCPUUtilization", + "ElastiCacheReplicaEngineCPUUtilization", + "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage" ] }, "MetricUnit":{"type":"string"}, @@ -581,7 +584,9 @@ "lambda:function:ProvisionedConcurrency", "cassandra:table:ReadCapacityUnits", "cassandra:table:WriteCapacityUnits", - "kafka:broker-storage:VolumeSize" + "kafka:broker-storage:VolumeSize", + "elasticache:replication-group:NodeGroups", + "elasticache:replication-group:Replicas" ] }, "ScalableTarget":{ @@ -736,7 +741,8 @@ "comprehend", "lambda", "cassandra", - "kafka" + "kafka", + "elasticache" ] }, "StepAdjustment":{ diff --git a/models/apis/application-autoscaling/2016-02-06/docs-2.json b/models/apis/application-autoscaling/2016-02-06/docs-2.json index 84d4f2150f4..ec22f323b79 100644 --- a/models/apis/application-autoscaling/2016-02-06/docs-2.json +++ b/models/apis/application-autoscaling/2016-02-06/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "

With Application Auto Scaling, you can configure automatic scaling for the following resources:

API Summary

The Application Auto Scaling service API includes three key sets of actions:

To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.

", + "service": "

With Application Auto Scaling, you can configure automatic scaling for the following resources:

API Summary

The Application Auto Scaling service API includes three key sets of actions:

To learn more about Application Auto Scaling, including information about granting IAM users required permissions for Application Auto Scaling actions, see the Application Auto Scaling User Guide.

", "operations": { "DeleteScalingPolicy": "

Deletes the specified scaling policy for an Application Auto Scaling scalable target.

Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

For more information, see Delete a step scaling policy and Delete a target tracking scaling policy in the Application Auto Scaling User Guide.

", "DeleteScheduledAction": "

Deletes the specified scheduled action for an Application Auto Scaling scalable target.

For more information, see Delete a scheduled action in the Application Auto Scaling User Guide.

", @@ -41,13 +41,13 @@ "Cooldown": { "base": null, "refs": { - "StepScalingPolicyConfiguration$Cooldown": "

The amount of time, in seconds, to wait for a previous scaling activity to take effect.

With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the cooldown time. The scaling policy won't increase the desired capacity again unless either a larger scale out is triggered or the cooldown period ends. While the cooldown period is in effect, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.

With scale-in policies, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity stops and doesn't complete.

Application Auto Scaling provides a default value of 300 for the following scalable targets:

For all other scalable targets, the default value is 0:

", - "TargetTrackingScalingPolicyConfiguration$ScaleOutCooldown": "

The amount of time, in seconds, to wait for a previous scale-out activity to take effect.

With the scale-out cooldown period, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target tracking scaling policy, it starts to calculate the cooldown time. The scaling policy won't increase the desired capacity again unless either a larger scale out is triggered or the cooldown period ends. While the cooldown period is in effect, the capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity.

Application Auto Scaling provides a default value of 300 for the following scalable targets:

For all other scalable targets, the default value is 0:

", - "TargetTrackingScalingPolicyConfiguration$ScaleInCooldown": "

The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.

With the scale-in cooldown period, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, the scale-in cooldown period stops and doesn't complete.

Application Auto Scaling provides a default value of 300 for the following scalable targets:

For all other scalable targets, the default value is 0:

" + "StepScalingPolicyConfiguration$Cooldown": "

The amount of time, in seconds, to wait for a previous scaling activity to take effect.

With scale-out policies, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a step scaling policy, it starts to calculate the cooldown time. The scaling policy won't increase the desired capacity again unless either a larger scale out is triggered or the cooldown period ends. While the cooldown period is in effect, capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity. For example, when an alarm triggers a step scaling policy to increase the capacity by 2, the scaling activity completes successfully, and a cooldown period starts. If the alarm triggers again during the cooldown period but at a more aggressive step adjustment of 3, the previous increase of 2 is considered part of the current capacity. Therefore, only 1 is added to the capacity.

With scale-in policies, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the cooldown period after a scale-in activity, Application Auto Scaling scales out the target immediately. In this case, the cooldown period for the scale-in activity stops and doesn't complete.

Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:

For all other scalable targets, the default value is 0:

", + "TargetTrackingScalingPolicyConfiguration$ScaleOutCooldown": "

The amount of time, in seconds, to wait for a previous scale-out activity to take effect.

With the scale-out cooldown period, the intention is to continuously (but not excessively) scale out. After Application Auto Scaling successfully scales out using a target tracking scaling policy, it starts to calculate the cooldown time. The scaling policy won't increase the desired capacity again unless either a larger scale out is triggered or the cooldown period ends. While the cooldown period is in effect, the capacity added by the initiating scale-out activity is calculated as part of the desired capacity for the next scale-out activity.

Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:

For all other scalable targets, the default value is 0:

", + "TargetTrackingScalingPolicyConfiguration$ScaleInCooldown": "

The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start.

With the scale-in cooldown period, the intention is to scale in conservatively to protect your application’s availability, so scale-in activities are blocked until the cooldown period has expired. However, if another alarm triggers a scale-out activity during the scale-in cooldown period, Application Auto Scaling scales out the target immediately. In this case, the scale-in cooldown period stops and doesn't complete.

Application Auto Scaling provides a default value of 600 for Amazon ElastiCache replication groups and a default value of 300 for the following scalable targets:

For all other scalable targets, the default value is 0:

" } }, "CustomizedMetricSpecification": { - "base": "

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling.

For information about the available metrics for a service, see AWS Services That Publish CloudWatch Metrics in the Amazon CloudWatch User Guide.

To create your customized metric specification:

For more information about CloudWatch, see Amazon CloudWatch Concepts.

", + "base": "

Represents a CloudWatch metric of your choosing for a target tracking scaling policy to use with Application Auto Scaling.

For information about the available metrics for a service, see Amazon Web Services Services That Publish CloudWatch Metrics in the Amazon CloudWatch User Guide.

To create your customized metric specification:

For more information about CloudWatch, see Amazon CloudWatch Concepts.

", "refs": { "TargetTrackingScalingPolicyConfiguration$CustomizedMetricSpecification": "

A customized metric. You can specify either a predefined metric or a customized metric.

" } @@ -258,12 +258,12 @@ "PolicyType": { "base": null, "refs": { - "PutScalingPolicyRequest$PolicyType": "

The policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR

StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for Apache Cassandra), or Amazon MSK.

For more information, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

", + "PutScalingPolicyRequest$PolicyType": "

The policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR

StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces (for Apache Cassandra), Amazon MSK, or Amazon ElastiCache for Redis.

For more information, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

", "ScalingPolicy$PolicyType": "

The scaling policy type.

" } }, "PredefinedMetricSpecification": { - "base": "

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

Only the AWS services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building dashboards with CloudWatch in the Application Auto Scaling User Guide.

", + "base": "

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building dashboards with CloudWatch in the Application Auto Scaling User Guide.

", "refs": { "TargetTrackingScalingPolicyConfiguration$PredefinedMetricSpecification": "

A predefined metric. You can specify either a predefined metric or a customized metric.

" } @@ -321,36 +321,36 @@ "base": null, "refs": { "DeleteScalingPolicyRequest$PolicyName": "

The name of the scaling policy.

", - "DeleteScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "DeleteScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", "DeleteScheduledActionRequest$ScheduledActionName": "

The name of the scheduled action.

", - "DeleteScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "DeregisterScalableTargetRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", - "DescribeScalingActivitiesRequest$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", - "DescribeScalingPoliciesRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", - "DescribeScheduledActionsRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "PutScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", + "DeleteScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "DeregisterScalableTargetRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "DescribeScalingActivitiesRequest$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", + "DescribeScalingPoliciesRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", + "DescribeScheduledActionsRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "PutScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", "PutScalingPolicyResponse$PolicyARN": "

The Amazon Resource Name (ARN) of the resulting scaling policy.

", "PutScheduledActionRequest$Schedule": "

The schedule for this action. The following formats are supported:

At expressions are useful for one-time schedules. Cron expressions are useful for scheduled actions that run periodically at a specified date and time, and rate expressions are useful for scheduled actions that run at a regular interval.

At and cron expressions use Universal Coordinated Time (UTC) by default.

The cron format consists of six fields separated by white spaces: [Minutes] [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year].

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information and examples, see Example scheduled actions for Application Auto Scaling in the Application Auto Scaling User Guide.

", "PutScheduledActionRequest$Timezone": "

Specifies the time zone used when setting a scheduled action by using an at or cron expression. If a time zone is not provided, UTC is used by default.

Valid values are the canonical names of the IANA time zones supported by Joda-Time (such as Etc/GMT+9 or Pacific/Tahiti). For more information, see https://www.joda.org/joda-time/timezones.html.

", - "PutScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "RegisterScalableTargetRequest$ResourceId": "

The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier.

", + "PutScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "RegisterScalableTargetRequest$ResourceId": "

The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier.

", "RegisterScalableTargetRequest$RoleARN": "

This parameter is required for services that do not support service-linked roles (such as Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which it creates if it does not yet exist. For more information, see Application Auto Scaling IAM roles.

", "ResourceIdsMaxLen1600$member": null, - "ScalableTarget$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "ScalableTarget$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", "ScalableTarget$RoleARN": "

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

", - "ScalingActivity$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", + "ScalingActivity$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", "ScalingPolicy$PolicyARN": "

The Amazon Resource Name (ARN) of the scaling policy.

", - "ScalingPolicy$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", + "ScalingPolicy$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", "ScheduledAction$ScheduledActionARN": "

The Amazon Resource Name (ARN) of the scheduled action.

", "ScheduledAction$Schedule": "

The schedule for this action. The following formats are supported:

At expressions are useful for one-time schedules. Cron expressions are useful for scheduled actions that run periodically at a specified date and time, and rate expressions are useful for scheduled actions that run at a regular interval.

At and cron expressions use Universal Coordinated Time (UTC) by default.

The cron format consists of six fields separated by white spaces: [Minutes] [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year].

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information and examples, see Example scheduled actions for Application Auto Scaling in the Application Auto Scaling User Guide.

", "ScheduledAction$Timezone": "

The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression.

", - "ScheduledAction$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

" + "ScheduledAction$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

" } }, "ResourceIdsMaxLen1600": { "base": null, "refs": { - "DescribeScalableTargetsRequest$ResourceIds": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "DescribeScalableTargetsRequest$ResourceIds": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", "DescribeScalingPoliciesRequest$PolicyNames": "

The names of the scaling policies to describe.

", "DescribeScheduledActionsRequest$ScheduledActionNames": "

The names of the scheduled actions to describe.

" } @@ -358,26 +358,26 @@ "ResourceLabel": { "base": null, "refs": { - "PredefinedMetricSpecification$ResourceLabel": "

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Spot Fleet request or ECS service.

You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format is app/<load-balancer-name>/<load-balancer-id>/targetgroup/<target-group-name>/<target-group-id>, where:

This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d.

To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.

" + "PredefinedMetricSpecification$ResourceLabel": "

Identifies the resource associated with the metric type. You can't specify a resource label unless the metric type is ALBRequestCountPerTarget and there is a target group attached to the Spot Fleet request or ECS service.

You create the resource label by appending the final portion of the load balancer ARN and the final portion of the target group ARN into a single value, separated by a forward slash (/). The format of the resource label is:

app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff.

Where:

To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers API operation. To find the ARN for the target group, use the DescribeTargetGroups API operation.

" } }, "ScalableDimension": { "base": null, "refs": { - "DeleteScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "DeleteScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "DeregisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", - "DescribeScalableTargetsRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "DescribeScalingActivitiesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "DescribeScalingPoliciesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "DescribeScheduledActionsRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "PutScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "PutScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "RegisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", - "ScalableTarget$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", - "ScalingActivity$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "ScalingPolicy$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "ScheduledAction$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

" + "DeleteScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "DeleteScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "DeregisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", + "DescribeScalableTargetsRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "DescribeScalingActivitiesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "DescribeScalingPoliciesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "DescribeScheduledActionsRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "PutScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "PutScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "RegisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", + "ScalableTarget$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", + "ScalingActivity$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "ScalingPolicy$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "ScheduledAction$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

" } }, "ScalableTarget": { @@ -465,20 +465,20 @@ "ServiceNamespace": { "base": null, "refs": { - "DeleteScalingPolicyRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "DeleteScheduledActionRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "DeregisterScalableTargetRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "DescribeScalableTargetsRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "DescribeScalingActivitiesRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "DescribeScalingPoliciesRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "DescribeScheduledActionsRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "PutScalingPolicyRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "PutScheduledActionRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "RegisterScalableTargetRequest$ServiceNamespace": "

The namespace of the AWS service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", - "ScalableTarget$ServiceNamespace": "

The namespace of the AWS service that provides the resource, or a custom-resource.

", - "ScalingActivity$ServiceNamespace": "

The namespace of the AWS service that provides the resource, or a custom-resource.

", - "ScalingPolicy$ServiceNamespace": "

The namespace of the AWS service that provides the resource, or a custom-resource.

", - "ScheduledAction$ServiceNamespace": "

The namespace of the AWS service that provides the resource, or a custom-resource.

" + "DeleteScalingPolicyRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "DeleteScheduledActionRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "DeregisterScalableTargetRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "DescribeScalableTargetsRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "DescribeScalingActivitiesRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "DescribeScalingPoliciesRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "DescribeScheduledActionsRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "PutScalingPolicyRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "PutScheduledActionRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "RegisterScalableTargetRequest$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource. For a resource provided by your own application or service, use custom-resource instead.

", + "ScalableTarget$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource, or a custom-resource.

", + "ScalingActivity$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource, or a custom-resource.

", + "ScalingPolicy$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource, or a custom-resource.

", + "ScheduledAction$ServiceNamespace": "

The namespace of the Amazon Web Services service that provides the resource, or a custom-resource.

" } }, "StepAdjustment": { diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index 590072afab1..f68d492ab13 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -19218,7 +19218,8 @@ "TagSpecifications":{ "shape":"TagSpecificationList", "locationName":"TagSpecification" - } + }, + "UsageOperation":{"shape":"String"} } }, "ImportImageResult":{ @@ -19283,6 +19284,10 @@ "Tags":{ "shape":"TagList", "locationName":"tagSet" + }, + "UsageOperation":{ + "shape":"String", + "locationName":"usageOperation" } } }, @@ -19348,6 +19353,10 @@ "LicenseSpecifications":{ "shape":"ImportImageLicenseSpecificationListResponse", "locationName":"licenseSpecifications" + }, + "UsageOperation":{ + "shape":"String", + "locationName":"usageOperation" } } }, diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index da195bdf420..dc8137fc07a 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -360,10 +360,10 @@ "GetTransitGatewayRouteTablePropagations": "

Gets information about the route table propagations for the specified transit gateway route table.

", "ImportClientVpnClientCertificateRevocationList": "

Uploads a client certificate revocation list to the specified Client VPN endpoint. Uploading a client certificate revocation list overwrites the existing client certificate revocation list.

Uploading a client certificate revocation list resets existing client connections.

", "ImportImage": "

Import single or multi-volume disk images or EBS snapshots into an Amazon Machine Image (AMI).

For more information, see Importing a VM as an image using VM Import/Export in the VM Import/Export User Guide.

", - "ImportInstance": "

Creates an import instance task using metadata from the specified disk image.

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage instead.

This API action is not supported by the AWS Command Line Interface (AWS CLI). For information about using the Amazon EC2 CLI, which is deprecated, see Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "ImportInstance": "

Creates an import instance task using metadata from the specified disk image.

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage instead.

This API action is not supported by the Command Line Interface (CLI). For information about using the Amazon EC2 CLI, which is deprecated, see Importing a VM to Amazon EC2 in the Amazon EC2 CLI Reference PDF file.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", "ImportKeyPair": "

Imports the public key from an RSA or ED25519 key pair that you created with a third-party tool. Compare this with CreateKeyPair, in which Amazon Web Services creates the key pair and gives the keys to you (Amazon Web Services keeps a copy of the public key). With ImportKeyPair, you create the key pair and give Amazon Web Services just the public key. The private key is never transferred between you and Amazon Web Services.

For more information about key pairs, see Amazon EC2 key pairs in the Amazon Elastic Compute Cloud User Guide.

", "ImportSnapshot": "

Imports a disk into an EBS snapshot.

For more information, see Importing a disk as a snapshot using VM Import/Export in the VM Import/Export User Guide.

", - "ImportVolume": "

Creates an import volume task using metadata from the specified disk image.

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage instead. To import a disk to a snapshot, use ImportSnapshot instead.

This API action is not supported by the AWS Command Line Interface (AWS CLI). For information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", + "ImportVolume": "

Creates an import volume task using metadata from the specified disk image.

This API action supports only single-volume VMs. To import multi-volume VMs, use ImportImage instead. To import a disk to a snapshot, use ImportSnapshot instead.

This API action is not supported by the Command Line Interface (CLI). For information about using the Amazon EC2 CLI, which is deprecated, see Importing Disks to Amazon EBS in the Amazon EC2 CLI Reference PDF file.

For information about the import manifest referenced by this API action, see VM Import Manifest.

", "ModifyAddressAttribute": "

Modifies an attribute of the specified Elastic IP address. For requirements, see Using reverse DNS for email applications.

", "ModifyAvailabilityZoneGroup": "

Changes the opt-in status of the Local Zone and Wavelength Zone group for your account.

Use DescribeAvailabilityZones to view the value for GroupName.

", "ModifyCapacityReservation": "

Modifies a Capacity Reservation's capacity and the conditions under which it is to be released. You cannot change a Capacity Reservation's instance type, EBS optimization, instance store settings, platform, Availability Zone, or instance eligibility. If you need to modify any of these attributes, we recommend that you cancel the Capacity Reservation, and then create a new one with the required attributes.

", @@ -1813,14 +1813,14 @@ "ImportClientVpnClientCertificateRevocationListRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ImportClientVpnClientCertificateRevocationListResult$Return": "

Returns true if the request succeeds; otherwise, it returns an error.

", "ImportImageRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportImageRequest$Encrypted": "

Specifies whether the destination AMI of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "ImportImageRequest$Encrypted": "

Specifies whether the destination AMI of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "ImportImageResult$Encrypted": "

Indicates whether the AMI is encrypted.

", "ImportImageTask$Encrypted": "

Indicates whether the image is encrypted.

", "ImportInstanceLaunchSpecification$Monitoring": "

Indicates whether monitoring is enabled.

", "ImportInstanceRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ImportKeyPairRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "ImportSnapshotRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", - "ImportSnapshotRequest$Encrypted": "

Specifies whether the destination snapshot of the imported image should be encrypted. The default CMK for EBS is used unless you specify a non-default AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", + "ImportSnapshotRequest$Encrypted": "

Specifies whether the destination snapshot of the imported image should be encrypted. The default KMS key for EBS is used unless you specify a non-default KMS key using KmsKeyId. For more information, see Amazon EBS Encryption in the Amazon Elastic Compute Cloud User Guide.

", "ImportVolumeRequest$DryRun": "

Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

", "Instance$EbsOptimized": "

Indicates whether the instance is optimized for Amazon EBS I/O. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS Optimized instance.

", "Instance$EnaSupport": "

Specifies whether enhanced networking with ENA is enabled.

", @@ -6934,7 +6934,7 @@ "ExportTaskS3LocationRequest": { "base": "

Describes the destination for an export image task.

", "refs": { - "ExportImageRequest$S3ExportLocation": "

Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

" + "ExportImageRequest$S3ExportLocation": "

Information about the destination Amazon S3 bucket. The bucket must exist and grant WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

" } }, "ExportTaskState": { @@ -9687,9 +9687,9 @@ "CopyImageRequest$KmsKeyId": "

The identifier of the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating encrypted volumes. If this parameter is not specified, your AWS managed CMK for EBS is used. If you specify a CMK, you must also set the encrypted state to true.

You can specify a CMK using any of the following:

AWS authenticates the CMK asynchronously. Therefore, if you specify an identifier that is not valid, the action can appear to complete, but eventually fails.

The specified CMK must exist in the destination Region.

Amazon EBS does not support asymmetric CMKs.

", "CopySnapshotRequest$KmsKeyId": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

", "CreateVolumeRequest$KmsKeyId": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

", - "ImportImageRequest$KmsKeyId": "

An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the AMI is being copied to.

Amazon EBS does not support asymmetric CMKs.

", - "ImportImageResult$KmsKeyId": "

The identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted AMI.

", - "ImportSnapshotRequest$KmsKeyId": "

An identifier for the symmetric AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default CMK; if this parameter is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The CMK identifier may be provided in any of the following formats:

AWS parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified CMK must exist in the Region that the snapshot is being copied to.

Amazon EBS does not support asymmetric CMKs.

", + "ImportImageRequest$KmsKeyId": "

An identifier for the symmetric KMS key to use when creating the encrypted AMI. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The KMS key identifier may be provided in any of the following formats:

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified KMS key must exist in the Region that the AMI is being copied to.

Amazon EBS does not support asymmetric KMS keys.

", + "ImportImageResult$KmsKeyId": "

The identifier for the symmetric KMS key that was used to create the encrypted AMI.

", + "ImportSnapshotRequest$KmsKeyId": "

An identifier for the symmetric KMS key to use when creating the encrypted snapshot. This parameter is only required if you want to use a non-default KMS key; if this parameter is not specified, the default KMS key for EBS is used. If a KmsKeyId is specified, the Encrypted flag must also be set.

The KMS key identifier may be provided in any of the following formats:

Amazon Web Services parses KmsKeyId asynchronously, meaning that the action you call may appear to complete even though you provided an invalid identifier. This action will eventually report failure.

The specified KMS key must exist in the Region that the snapshot is being copied to.

Amazon EBS does not support asymmetric KMS keys.

", "LaunchTemplateEbsBlockDevice$KmsKeyId": "

The ARN of the Key Management Service (KMS) CMK used for encryption.

", "LaunchTemplateEbsBlockDeviceRequest$KmsKeyId": "

The ARN of the symmetric Key Management Service (KMS) CMK used for encryption.

", "ModifyEbsDefaultKmsKeyIdRequest$KmsKeyId": "

The identifier of the Key Management Service (KMS) KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true.

You can specify the KMS key using any of the following:

Amazon Web Services authenticates the KMS key asynchronously. Therefore, if you specify an ID, alias, or ARN that is not valid, the action can appear to complete, but eventually fails.

Amazon EBS does not support asymmetric KMS keys.

" @@ -14723,9 +14723,9 @@ "ExportTaskS3Location$S3Prefix": "

The prefix (logical hierarchy) in the bucket.

", "ExportTaskS3LocationRequest$S3Bucket": "

The destination Amazon S3 bucket.

", "ExportTaskS3LocationRequest$S3Prefix": "

The prefix (logical hierarchy) in the bucket.

", - "ExportToS3Task$S3Bucket": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", + "ExportToS3Task$S3Bucket": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

", "ExportToS3Task$S3Key": "

The encryption key for your S3 bucket.

", - "ExportToS3TaskSpecification$S3Bucket": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com.

", + "ExportToS3TaskSpecification$S3Bucket": "

The Amazon S3 bucket for the destination image. The destination bucket must exist and grant WRITE and READ_ACP permissions to the Amazon Web Services account vm-import-export@amazon.com.

", "ExportToS3TaskSpecification$S3Prefix": "

The image is written to a single object in the Amazon S3 bucket at the S3 key s3prefix + exportTaskId + '.' + diskImageFormat.

", "ExportTransitGatewayRoutesRequest$S3Bucket": "

The name of the S3 bucket.

", "ExportTransitGatewayRoutesResult$S3Location": "

The URL of the exported file in Amazon S3. For example, s3://bucket_name/VPCTransitGateway/TransitGatewayRouteTables/file_name.

", @@ -14860,9 +14860,10 @@ "ImportImageRequest$ClientToken": "

The token to enable idempotency for VM import requests.

", "ImportImageRequest$Description": "

A description string for the import image task.

", "ImportImageRequest$Hypervisor": "

The target hypervisor platform.

Valid values: xen

", - "ImportImageRequest$LicenseType": "

The license type to be used for the Amazon Machine Image (AMI) after importing.

By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify AWS to replace the source-system license with an AWS license, if appropriate. Specify BYOL to retain the source-system license, if appropriate.

To use BYOL, you must have existing licenses with rights to use these licenses in a third party cloud, such as AWS. For more information, see Prerequisites in the VM Import/Export User Guide.

", + "ImportImageRequest$LicenseType": "

The license type to be used for the Amazon Machine Image (AMI) after importing.

By default, we detect the source-system operating system (OS) and apply the appropriate license. Specify AWS to replace the source-system license with an Amazon Web Services license, if appropriate. Specify BYOL to retain the source-system license, if appropriate.

To use BYOL, you must have existing licenses with rights to use these licenses in a third party cloud, such as Amazon Web Services. For more information, see Prerequisites in the VM Import/Export User Guide.

", "ImportImageRequest$Platform": "

The operating system of the virtual machine.

Valid values: Windows | Linux

", "ImportImageRequest$RoleName": "

The name of the role to use when not using the default role, 'vmimport'.

", + "ImportImageRequest$UsageOperation": "

The usage operation value. For more information, see AMI billing information fields in the Amazon Elastic Compute Cloud User Guide.

", "ImportImageResult$Architecture": "

The architecture of the virtual machine.

", "ImportImageResult$Description": "

A description of the import task.

", "ImportImageResult$Hypervisor": "

The target hypervisor of the import task.

", @@ -14872,17 +14873,19 @@ "ImportImageResult$Progress": "

The progress of the task.

", "ImportImageResult$Status": "

A brief status of the task.

", "ImportImageResult$StatusMessage": "

A detailed status message of the import task.

", + "ImportImageResult$UsageOperation": "

The usage operation value.

", "ImportImageTask$Architecture": "

The architecture of the virtual machine.

Valid values: i386 | x86_64 | arm64

", "ImportImageTask$Description": "

A description of the import task.

", "ImportImageTask$Hypervisor": "

The target hypervisor for the import task.

Valid values: xen

", "ImportImageTask$ImageId": "

The ID of the Amazon Machine Image (AMI) of the imported virtual machine.

", "ImportImageTask$ImportTaskId": "

The ID of the import image task.

", - "ImportImageTask$KmsKeyId": "

The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted image.

", + "ImportImageTask$KmsKeyId": "

The identifier for the KMS key that was used to create the encrypted image.

", "ImportImageTask$LicenseType": "

The license type of the virtual machine.

", "ImportImageTask$Platform": "

The description string for the import image task.

", "ImportImageTask$Progress": "

The percentage of progress of the import image task.

", "ImportImageTask$Status": "

A brief status for the import image task.

", "ImportImageTask$StatusMessage": "

A descriptive status message for the import image task.

", + "ImportImageTask$UsageOperation": "

The usage operation value.

", "ImportInstanceLaunchSpecification$AdditionalInfo": "

Reserved.

", "ImportInstanceLaunchSpecification$PrivateIpAddress": "

[EC2-VPC] An available IP address from the IP address range of the subnet.

", "ImportInstanceRequest$Description": "

A description for the instance being imported.

", @@ -15468,7 +15471,7 @@ "SnapshotInfo$OutpostArn": "

The ARN of the Outpost on which the snapshot is stored. For more information, see Amazon EBS local snapshots on Outposts in the Amazon Elastic Compute Cloud User Guide.

", "SnapshotTaskDetail$Description": "

The description of the snapshot.

", "SnapshotTaskDetail$Format": "

The format of the disk image from which the snapshot is created.

", - "SnapshotTaskDetail$KmsKeyId": "

The identifier for the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to create the encrypted snapshot.

", + "SnapshotTaskDetail$KmsKeyId": "

The identifier for the KMS key that was used to create the encrypted snapshot.

", "SnapshotTaskDetail$Progress": "

The percentage of completion for the import snapshot task.

", "SnapshotTaskDetail$SnapshotId": "

The snapshot ID of the disk being imported.

", "SnapshotTaskDetail$Status": "

A brief status for the import snapshot task.

", @@ -15655,7 +15658,7 @@ "UserBucket$S3Key": "

The file name of the disk image.

", "UserBucketDetails$S3Bucket": "

The Amazon S3 bucket from which the disk image was created.

", "UserBucketDetails$S3Key": "

The file name of the disk image.

", - "UserData$Data": "

The user data. If you are using an AWS SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", + "UserData$Data": "

The user data. If you are using an Amazon Web Services SDK or command line tool, Base64-encoding is performed for you, and you can load the text from a file. Otherwise, you must provide Base64-encoded text.

", "UserGroupStringList$member": null, "UserIdGroupPair$Description": "

A description for the security group rule that references this user ID group pair.

Constraints: Up to 255 characters in length. Allowed characters are a-z, A-Z, 0-9, spaces, and ._-:/()#,@[]+=;{}!$*

", "UserIdGroupPair$GroupId": "

The ID of the security group.

", diff --git a/models/apis/memorydb/2021-01-01/api-2.json b/models/apis/memorydb/2021-01-01/api-2.json new file mode 100644 index 00000000000..a90ac808b34 --- /dev/null +++ b/models/apis/memorydb/2021-01-01/api-2.json @@ -0,0 +1,2026 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-01-01", + "endpointPrefix":"memory-db", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"Amazon MemoryDB", + "serviceFullName":"Amazon MemoryDB", + "serviceId":"MemoryDB", + "signatureVersion":"v4", + "signingName":"memorydb", + "targetPrefix":"AmazonMemoryDB", + "uid":"memorydb-2021-01-01" + }, + "operations":{ + "BatchUpdateCluster":{ + "name":"BatchUpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"BatchUpdateClusterRequest"}, + "output":{"shape":"BatchUpdateClusterResponse"}, + "errors":[ + {"shape":"ServiceUpdateNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ] + }, + "CopySnapshot":{ + "name":"CopySnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CopySnapshotRequest"}, + "output":{"shape":"CopySnapshotResponse"}, + "errors":[ + {"shape":"SnapshotAlreadyExistsFault"}, + {"shape":"SnapshotNotFoundFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"InvalidSnapshotStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"TagQuotaPerResourceExceeded"} + ] + }, + "CreateACL":{ + "name":"CreateACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateACLRequest"}, + "output":{"shape":"CreateACLResponse"}, + "errors":[ + {"shape":"UserNotFoundFault"}, + {"shape":"DuplicateUserNameFault"}, + {"shape":"ACLAlreadyExistsFault"}, + {"shape":"DefaultUserRequired"}, + {"shape":"ACLQuotaExceededFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TagQuotaPerResourceExceeded"} + ] + }, + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"ClusterAlreadyExistsFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"NodeQuotaForClusterExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InsufficientClusterCapacityFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"ShardsPerClusterQuotaExceededFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidCredentialsException"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"ACLNotFoundFault"}, + {"shape":"InvalidACLStateFault"} + ] + }, + "CreateParameterGroup":{ + "name":"CreateParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateParameterGroupRequest"}, + "output":{"shape":"CreateParameterGroupResponse"}, + "errors":[ + {"shape":"ParameterGroupQuotaExceededFault"}, + {"shape":"ParameterGroupAlreadyExistsFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "CreateSnapshot":{ + "name":"CreateSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotRequest"}, + "output":{"shape":"CreateSnapshotResponse"}, + "errors":[ + {"shape":"SnapshotAlreadyExistsFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"SnapshotQuotaExceededFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"TagQuotaPerResourceExceeded"} + ] + }, + "CreateSubnetGroup":{ + "name":"CreateSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSubnetGroupRequest"}, + "output":{"shape":"CreateSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupAlreadyExistsFault"}, + {"shape":"SubnetGroupQuotaExceededFault"}, + {"shape":"SubnetQuotaExceededFault"}, + {"shape":"InvalidSubnet"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"SubnetNotAllowedFault"}, + {"shape":"TagQuotaPerResourceExceeded"} + ] + }, + "CreateUser":{ + "name":"CreateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateUserRequest"}, + "output":{"shape":"CreateUserResponse"}, + "errors":[ + {"shape":"UserAlreadyExistsFault"}, + {"shape":"UserQuotaExceededFault"}, + {"shape":"DuplicateUserNameFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"TagQuotaPerResourceExceeded"} + ] + }, + "DeleteACL":{ + "name":"DeleteACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteACLRequest"}, + "output":{"shape":"DeleteACLResponse"}, + "errors":[ + {"shape":"ACLNotFoundFault"}, + {"shape":"InvalidACLStateFault"}, + {"shape":"InvalidParameterValueException"} + ] + }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"SnapshotAlreadyExistsFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DeleteParameterGroup":{ + "name":"DeleteParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteParameterGroupRequest"}, + "output":{"shape":"DeleteParameterGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DeleteSnapshot":{ + "name":"DeleteSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSnapshotRequest"}, + "output":{"shape":"DeleteSnapshotResponse"}, + "errors":[ + {"shape":"SnapshotNotFoundFault"}, + {"shape":"InvalidSnapshotStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DeleteSubnetGroup":{ + "name":"DeleteSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSubnetGroupRequest"}, + "output":{"shape":"DeleteSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupInUseFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ] + }, + "DeleteUser":{ + "name":"DeleteUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteUserRequest"}, + "output":{"shape":"DeleteUserResponse"}, + "errors":[ + {"shape":"InvalidUserStateFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"InvalidParameterValueException"} + ] + }, + "DescribeACLs":{ + "name":"DescribeACLs", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeACLsRequest"}, + "output":{"shape":"DescribeACLsResponse"}, + "errors":[ + {"shape":"ACLNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeClusters":{ + "name":"DescribeClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClustersRequest"}, + "output":{"shape":"DescribeClustersResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeEngineVersions":{ + "name":"DescribeEngineVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEngineVersionsRequest"}, + "output":{"shape":"DescribeEngineVersionsResponse"}, + "errors":[ + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeEvents":{ + "name":"DescribeEvents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeEventsRequest"}, + "output":{"shape":"DescribeEventsResponse"}, + "errors":[ + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeParameterGroups":{ + "name":"DescribeParameterGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParameterGroupsRequest"}, + "output":{"shape":"DescribeParameterGroupsResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeParameters":{ + "name":"DescribeParameters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeParametersRequest"}, + "output":{"shape":"DescribeParametersResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeServiceUpdates":{ + "name":"DescribeServiceUpdates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeServiceUpdatesRequest"}, + "output":{"shape":"DescribeServiceUpdatesResponse"}, + "errors":[ + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeSnapshots":{ + "name":"DescribeSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSnapshotsRequest"}, + "output":{"shape":"DescribeSnapshotsResponse"}, + "errors":[ + {"shape":"SnapshotNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "DescribeSubnetGroups":{ + "name":"DescribeSubnetGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSubnetGroupsRequest"}, + "output":{"shape":"DescribeSubnetGroupsResponse"}, + "errors":[ + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ] + }, + "DescribeUsers":{ + "name":"DescribeUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUsersRequest"}, + "output":{"shape":"DescribeUsersResponse"}, + "errors":[ + {"shape":"UserNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "FailoverShard":{ + "name":"FailoverShard", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"FailoverShardRequest"}, + "output":{"shape":"FailoverShardResponse"}, + "errors":[ + {"shape":"APICallRateForCustomerExceededFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ShardNotFoundFault"}, + {"shape":"ClusterNotFoundFault"}, + {"shape":"TestFailoverNotAvailableFault"}, + {"shape":"InvalidKMSKeyFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "ListAllowedNodeTypeUpdates":{ + "name":"ListAllowedNodeTypeUpdates", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListAllowedNodeTypeUpdatesRequest"}, + "output":{"shape":"ListAllowedNodeTypeUpdatesResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterCombinationException"}, + {"shape":"InvalidParameterValueException"} + ] + }, + "ListTags":{ + "name":"ListTags", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsRequest"}, + "output":{"shape":"ListTagsResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"SnapshotNotFoundFault"}, + {"shape":"InvalidARNFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"ACLNotFoundFault"} + ] + }, + "ResetParameterGroup":{ + "name":"ResetParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ResetParameterGroupRequest"}, + "output":{"shape":"ResetParameterGroupResponse"}, + "errors":[ + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"SnapshotNotFoundFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"ACLNotFoundFault"}, + {"shape":"TagQuotaPerResourceExceeded"}, + {"shape":"InvalidARNFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"SnapshotNotFoundFault"}, + {"shape":"InvalidARNFault"}, + {"shape":"TagNotFoundFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"ACLNotFoundFault"} + ] + }, + "UpdateACL":{ + "name":"UpdateACL", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateACLRequest"}, + "output":{"shape":"UpdateACLResponse"}, + "errors":[ + {"shape":"ACLNotFoundFault"}, + {"shape":"UserNotFoundFault"}, + {"shape":"DuplicateUserNameFault"}, + {"shape":"DefaultUserRequired"}, + {"shape":"InvalidACLStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "UpdateCluster":{ + "name":"UpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClusterRequest"}, + "output":{"shape":"UpdateClusterResponse"}, + "errors":[ + {"shape":"ClusterNotFoundFault"}, + {"shape":"InvalidClusterStateFault"}, + {"shape":"InvalidNodeStateFault"}, + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidVPCNetworkStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidKMSKeyFault"}, + {"shape":"NodeQuotaForClusterExceededFault"}, + {"shape":"ClusterQuotaForCustomerExceededFault"}, + {"shape":"ShardsPerClusterQuotaExceededFault"}, + {"shape":"NodeQuotaForCustomerExceededFault"}, + {"shape":"NoOperationFault"}, + {"shape":"InvalidACLStateFault"}, + {"shape":"ACLNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "UpdateParameterGroup":{ + "name":"UpdateParameterGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateParameterGroupRequest"}, + "output":{"shape":"UpdateParameterGroupResponse"}, + "errors":[ + {"shape":"ParameterGroupNotFoundFault"}, + {"shape":"InvalidParameterGroupStateFault"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + }, + "UpdateSubnetGroup":{ + "name":"UpdateSubnetGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSubnetGroupRequest"}, + "output":{"shape":"UpdateSubnetGroupResponse"}, + "errors":[ + {"shape":"SubnetGroupNotFoundFault"}, + {"shape":"SubnetQuotaExceededFault"}, + {"shape":"SubnetInUse"}, + {"shape":"InvalidSubnet"}, + {"shape":"ServiceLinkedRoleNotFoundFault"}, + {"shape":"SubnetNotAllowedFault"} + ] + }, + "UpdateUser":{ + "name":"UpdateUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateUserRequest"}, + "output":{"shape":"UpdateUserResponse"}, + "errors":[ + {"shape":"UserNotFoundFault"}, + {"shape":"InvalidUserStateFault"}, + {"shape":"InvalidParameterValueException"}, + {"shape":"InvalidParameterCombinationException"} + ] + } + }, + "shapes":{ + "ACL":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Status":{"shape":"String"}, + "UserNames":{"shape":"UserNameList"}, + "MinimumEngineVersion":{"shape":"String"}, + "PendingChanges":{"shape":"ACLPendingChanges"}, + "Clusters":{"shape":"ACLClusterNameList"}, + "ARN":{"shape":"String"} + } + }, + "ACLAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ACLClusterNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ACLList":{ + "type":"list", + "member":{"shape":"ACL"} + }, + "ACLName":{ + "type":"string", + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9\\-]*" + }, + "ACLNameList":{ + "type":"list", + "member":{"shape":"ACLName"} + }, + "ACLNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ACLPendingChanges":{ + "type":"structure", + "members":{ + "UserNamesToRemove":{"shape":"UserNameList"}, + "UserNamesToAdd":{"shape":"UserNameList"} + } + }, + "ACLQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ACLsUpdateStatus":{ + "type":"structure", + "members":{ + "ACLToApply":{"shape":"ACLName"} + } + }, + "APICallRateForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "AZStatus":{ + "type":"string", + "enum":[ + "singleaz", + "multiaz" + ] + }, + "AccessString":{ + "type":"string", + "pattern":".*\\S.*" + }, + "Authentication":{ + "type":"structure", + "members":{ + "Type":{"shape":"AuthenticationType"}, + "PasswordCount":{"shape":"IntegerOptional"} + } + }, + "AuthenticationMode":{ + "type":"structure", + "members":{ + "Type":{"shape":"InputAuthenticationType"}, + "Passwords":{"shape":"PasswordListInput"} + } + }, + "AuthenticationType":{ + "type":"string", + "enum":[ + "password", + "no-password" + ] + }, + "AvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"} + } + }, + "AwsQueryErrorMessage":{"type":"string"}, + "BatchUpdateClusterRequest":{ + "type":"structure", + "required":["ClusterNames"], + "members":{ + "ClusterNames":{"shape":"ClusterNameList"}, + "ServiceUpdate":{"shape":"ServiceUpdateRequest"} + } + }, + "BatchUpdateClusterResponse":{ + "type":"structure", + "members":{ + "ProcessedClusters":{"shape":"ClusterList"}, + "UnprocessedClusters":{"shape":"UnprocessedClusterList"} + } + }, + "Boolean":{"type":"boolean"}, + "BooleanOptional":{"type":"boolean"}, + "Cluster":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Description":{"shape":"String"}, + "Status":{"shape":"String"}, + "PendingUpdates":{"shape":"ClusterPendingUpdates"}, + "NumberOfShards":{"shape":"IntegerOptional"}, + "Shards":{"shape":"ShardList"}, + "AvailabilityMode":{"shape":"AZStatus"}, + "ClusterEndpoint":{"shape":"Endpoint"}, + "NodeType":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "EnginePatchVersion":{"shape":"String"}, + "ParameterGroupName":{"shape":"String"}, + "ParameterGroupStatus":{"shape":"String"}, + "SecurityGroups":{"shape":"SecurityGroupMembershipList"}, + "SubnetGroupName":{"shape":"String"}, + "TLSEnabled":{"shape":"BooleanOptional"}, + "KmsKeyId":{"shape":"String"}, + "ARN":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "SnsTopicStatus":{"shape":"String"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "MaintenanceWindow":{"shape":"String"}, + "SnapshotWindow":{"shape":"String"}, + "ACLName":{"shape":"ACLName"}, + "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"} + } + }, + "ClusterAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ClusterConfiguration":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Description":{"shape":"String"}, + "NodeType":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "MaintenanceWindow":{"shape":"String"}, + "TopicArn":{"shape":"String"}, + "Port":{"shape":"IntegerOptional"}, + "ParameterGroupName":{"shape":"String"}, + "SubnetGroupName":{"shape":"String"}, + "VpcId":{"shape":"String"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "SnapshotWindow":{"shape":"String"}, + "NumShards":{"shape":"IntegerOptional"}, + "Shards":{"shape":"ShardDetails"} + } + }, + "ClusterList":{ + "type":"list", + "member":{"shape":"Cluster"} + }, + "ClusterNameList":{ + "type":"list", + "member":{"shape":"String"}, + "max":20 + }, + "ClusterNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ClusterPendingUpdates":{ + "type":"structure", + "members":{ + "Resharding":{"shape":"ReshardingStatus"}, + "ACLs":{"shape":"ACLsUpdateStatus"}, + "ServiceUpdates":{"shape":"PendingModifiedServiceUpdateList"} + } + }, + "ClusterQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "CopySnapshotRequest":{ + "type":"structure", + "required":[ + "SourceSnapshotName", + "TargetSnapshotName" + ], + "members":{ + "SourceSnapshotName":{"shape":"String"}, + "TargetSnapshotName":{"shape":"String"}, + "TargetBucket":{"shape":"TargetBucket"}, + "KmsKeyId":{"shape":"KmsKeyId"}, + "Tags":{"shape":"TagList"} + } + }, + "CopySnapshotResponse":{ + "type":"structure", + "members":{ + "Snapshot":{"shape":"Snapshot"} + } + }, + "CreateACLRequest":{ + "type":"structure", + "required":["ACLName"], + "members":{ + "ACLName":{"shape":"String"}, + "UserNames":{"shape":"UserNameListInput"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateACLResponse":{ + "type":"structure", + "members":{ + "ACL":{"shape":"ACL"} + } + }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NodeType", + "ACLName" + ], + "members":{ + "ClusterName":{"shape":"String"}, + "NodeType":{"shape":"String"}, + "ParameterGroupName":{"shape":"String"}, + "Description":{"shape":"String"}, + "NumShards":{"shape":"IntegerOptional"}, + "NumReplicasPerShard":{"shape":"IntegerOptional"}, + "SubnetGroupName":{"shape":"String"}, + "SecurityGroupIds":{"shape":"SecurityGroupIdsList"}, + "MaintenanceWindow":{"shape":"String"}, + "Port":{"shape":"IntegerOptional"}, + "SnsTopicArn":{"shape":"String"}, + "TLSEnabled":{"shape":"BooleanOptional"}, + "KmsKeyId":{"shape":"String"}, + "SnapshotArns":{"shape":"SnapshotArnsList"}, + "SnapshotName":{"shape":"String"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "Tags":{"shape":"TagList"}, + "SnapshotWindow":{"shape":"String"}, + "ACLName":{"shape":"ACLName"}, + "EngineVersion":{"shape":"String"}, + "AutoMinorVersionUpgrade":{"shape":"BooleanOptional"} + } + }, + "CreateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "CreateParameterGroupRequest":{ + "type":"structure", + "required":[ + "ParameterGroupName", + "Family" + ], + "members":{ + "ParameterGroupName":{"shape":"String"}, + "Family":{"shape":"String"}, + "Description":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{"shape":"ParameterGroup"} + } + }, + "CreateSnapshotRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "SnapshotName" + ], + "members":{ + "ClusterName":{"shape":"String"}, + "SnapshotName":{"shape":"String"}, + "KmsKeyId":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateSnapshotResponse":{ + "type":"structure", + "members":{ + "Snapshot":{"shape":"Snapshot"} + } + }, + "CreateSubnetGroupRequest":{ + "type":"structure", + "required":[ + "SubnetGroupName", + "SubnetIds" + ], + "members":{ + "SubnetGroupName":{"shape":"String"}, + "Description":{"shape":"String"}, + "SubnetIds":{"shape":"SubnetIdentifierList"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{"shape":"SubnetGroup"} + } + }, + "CreateUserRequest":{ + "type":"structure", + "required":[ + "UserName", + "AuthenticationMode", + "AccessString" + ], + "members":{ + "UserName":{"shape":"UserName"}, + "AuthenticationMode":{"shape":"AuthenticationMode"}, + "AccessString":{"shape":"AccessString"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateUserResponse":{ + "type":"structure", + "members":{ + "User":{"shape":"User"} + } + }, + "DefaultUserRequired":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "DeleteACLRequest":{ + "type":"structure", + "required":["ACLName"], + "members":{ + "ACLName":{"shape":"String"} + } + }, + "DeleteACLResponse":{ + "type":"structure", + "members":{ + "ACL":{"shape":"ACL"} + } + }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{"shape":"String"}, + "FinalSnapshotName":{"shape":"String"} + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "DeleteParameterGroupRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{"shape":"String"} + } + }, + "DeleteParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{"shape":"ParameterGroup"} + } + }, + "DeleteSnapshotRequest":{ + "type":"structure", + "required":["SnapshotName"], + "members":{ + "SnapshotName":{"shape":"String"} + } + }, + "DeleteSnapshotResponse":{ + "type":"structure", + "members":{ + "Snapshot":{"shape":"Snapshot"} + } + }, + "DeleteSubnetGroupRequest":{ + "type":"structure", + "required":["SubnetGroupName"], + "members":{ + "SubnetGroupName":{"shape":"String"} + } + }, + "DeleteSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{"shape":"SubnetGroup"} + } + }, + "DeleteUserRequest":{ + "type":"structure", + "required":["UserName"], + "members":{ + "UserName":{"shape":"UserName"} + } + }, + "DeleteUserResponse":{ + "type":"structure", + "members":{ + "User":{"shape":"User"} + } + }, + "DescribeACLsRequest":{ + "type":"structure", + "members":{ + "ACLName":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeACLsResponse":{ + "type":"structure", + "members":{ + "ACLs":{"shape":"ACLList"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeClustersRequest":{ + "type":"structure", + "members":{ + "ClusterName":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"}, + "ShowShardDetails":{"shape":"BooleanOptional"} + } + }, + "DescribeClustersResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Clusters":{"shape":"ClusterList"} + } + }, + "DescribeEngineVersionsRequest":{ + "type":"structure", + "members":{ + "EngineVersion":{"shape":"String"}, + "ParameterGroupFamily":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"}, + "DefaultOnly":{"shape":"Boolean"} + } + }, + "DescribeEngineVersionsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "EngineVersions":{"shape":"EngineVersionInfoList"} + } + }, + "DescribeEventsRequest":{ + "type":"structure", + "members":{ + "SourceName":{"shape":"String"}, + "SourceType":{"shape":"SourceType"}, + "StartTime":{"shape":"TStamp"}, + "EndTime":{"shape":"TStamp"}, + "Duration":{"shape":"IntegerOptional"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeEventsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Events":{"shape":"EventList"} + } + }, + "DescribeParameterGroupsRequest":{ + "type":"structure", + "members":{ + "ParameterGroupName":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeParameterGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "ParameterGroups":{"shape":"ParameterGroupList"} + } + }, + "DescribeParametersRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeParametersResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Parameters":{"shape":"ParametersList"} + } + }, + "DescribeServiceUpdatesRequest":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{"shape":"String"}, + "ClusterNames":{"shape":"ClusterNameList"}, + "Status":{"shape":"ServiceUpdateStatusList"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeServiceUpdatesResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "ServiceUpdates":{"shape":"ServiceUpdateList"} + } + }, + "DescribeSnapshotsRequest":{ + "type":"structure", + "members":{ + "ClusterName":{"shape":"String"}, + "SnapshotName":{"shape":"String"}, + "Source":{"shape":"String"}, + "NextToken":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "ShowDetail":{"shape":"BooleanOptional"} + } + }, + "DescribeSnapshotsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "Snapshots":{"shape":"SnapshotList"} + } + }, + "DescribeSubnetGroupsRequest":{ + "type":"structure", + "members":{ + "SubnetGroupName":{"shape":"String"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeSubnetGroupsResponse":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"String"}, + "SubnetGroups":{"shape":"SubnetGroupList"} + } + }, + "DescribeUsersRequest":{ + "type":"structure", + "members":{ + "UserName":{"shape":"UserName"}, + "Filters":{"shape":"FilterList"}, + "MaxResults":{"shape":"IntegerOptional"}, + "NextToken":{"shape":"String"} + } + }, + "DescribeUsersResponse":{ + "type":"structure", + "members":{ + "Users":{"shape":"UserList"}, + "NextToken":{"shape":"String"} + } + }, + "Double":{"type":"double"}, + "DuplicateUserNameFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "Endpoint":{ + "type":"structure", + "members":{ + "Address":{"shape":"String"}, + "Port":{"shape":"Integer"} + } + }, + "EngineVersionInfo":{ + "type":"structure", + "members":{ + "EngineVersion":{"shape":"String"}, + "EnginePatchVersion":{"shape":"String"}, + "ParameterGroupFamily":{"shape":"String"} + } + }, + "EngineVersionInfoList":{ + "type":"list", + "member":{"shape":"EngineVersionInfo"} + }, + "Event":{ + "type":"structure", + "members":{ + "SourceName":{"shape":"String"}, + "SourceType":{"shape":"SourceType"}, + "Message":{"shape":"String"}, + "Date":{"shape":"TStamp"} + } + }, + "EventList":{ + "type":"list", + "member":{"shape":"Event"} + }, + "FailoverShardRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "ShardName" + ], + "members":{ + "ClusterName":{"shape":"String"}, + "ShardName":{"shape":"String"} + } + }, + "FailoverShardResponse":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "Filter":{ + "type":"structure", + "required":[ + "Name", + "Values" + ], + "members":{ + "Name":{"shape":"FilterName"}, + "Values":{"shape":"FilterValueList"} + } + }, + "FilterList":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "FilterName":{ + "type":"string", + "pattern":".*\\S.*" + }, + "FilterValue":{ + "type":"string", + "pattern":".*\\S.*" + }, + "FilterValueList":{ + "type":"list", + "member":{"shape":"FilterValue"}, + "min":1 + }, + "InputAuthenticationType":{ + "type":"string", + "enum":["password"] + }, + "InsufficientClusterCapacityFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "Integer":{"type":"integer"}, + "IntegerOptional":{"type":"integer"}, + "InvalidACLStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidARNFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidClusterStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidCredentialsException":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidKMSKeyFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidNodeStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidParameterCombinationException":{ + "type":"structure", + "members":{ + "message":{"shape":"AwsQueryErrorMessage"} + }, + "exception":true, + "synthetic":true + }, + "InvalidParameterGroupStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidParameterValueException":{ + "type":"structure", + "members":{ + "message":{"shape":"AwsQueryErrorMessage"} + }, + "exception":true, + "synthetic":true + }, + "InvalidSnapshotStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidSubnet":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidUserStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "InvalidVPCNetworkStateFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "KeyList":{ + "type":"list", + "member":{"shape":"String"} + }, + "KmsKeyId":{ + "type":"string", + "max":2048 + }, + "ListAllowedNodeTypeUpdatesRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{"shape":"String"} + } + }, + "ListAllowedNodeTypeUpdatesResponse":{ + "type":"structure", + "members":{ + "ScaleUpNodeTypes":{"shape":"NodeTypeList"}, + "ScaleDownNodeTypes":{"shape":"NodeTypeList"} + } + }, + "ListTagsRequest":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"String"} + } + }, + "ListTagsResponse":{ + "type":"structure", + "members":{ + "TagList":{"shape":"TagList"} + } + }, + "NoOperationFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "Node":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Status":{"shape":"String"}, + "AvailabilityZone":{"shape":"String"}, + "CreateTime":{"shape":"TStamp"}, + "Endpoint":{"shape":"Endpoint"} + } + }, + "NodeList":{ + "type":"list", + "member":{"shape":"Node"} + }, + "NodeQuotaForClusterExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "NodeQuotaForCustomerExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "NodeTypeList":{ + "type":"list", + "member":{"shape":"String"} + }, + "Parameter":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Value":{"shape":"String"}, + "Description":{"shape":"String"}, + "DataType":{"shape":"String"}, + "AllowedValues":{"shape":"String"}, + "MinimumEngineVersion":{"shape":"String"} + } + }, + "ParameterGroup":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Family":{"shape":"String"}, + "Description":{"shape":"String"}, + "ARN":{"shape":"String"} + } + }, + "ParameterGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ParameterGroupList":{ + "type":"list", + "member":{"shape":"ParameterGroup"} + }, + "ParameterGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ParameterGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ParameterNameList":{ + "type":"list", + "member":{"shape":"String"} + }, + "ParameterNameValue":{ + "type":"structure", + "members":{ + "ParameterName":{"shape":"String"}, + "ParameterValue":{"shape":"String"} + } + }, + "ParameterNameValueList":{ + "type":"list", + "member":{"shape":"ParameterNameValue"} + }, + "ParametersList":{ + "type":"list", + "member":{"shape":"Parameter"} + }, + "PasswordListInput":{ + "type":"list", + "member":{"shape":"String"}, + "min":1 + }, + "PendingModifiedServiceUpdate":{ + "type":"structure", + "members":{ + "ServiceUpdateName":{"shape":"String"}, + "Status":{"shape":"ServiceUpdateStatus"} + } + }, + "PendingModifiedServiceUpdateList":{ + "type":"list", + "member":{"shape":"PendingModifiedServiceUpdate"} + }, + "ReplicaConfigurationRequest":{ + "type":"structure", + "members":{ + "ReplicaCount":{"shape":"Integer"} + } + }, + "ResetParameterGroupRequest":{ + "type":"structure", + "required":["ParameterGroupName"], + "members":{ + "ParameterGroupName":{"shape":"String"}, + "AllParameters":{"shape":"Boolean"}, + "ParameterNames":{"shape":"ParameterNameList"} + } + }, + "ResetParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{"shape":"ParameterGroup"} + } + }, + "ReshardingStatus":{ + "type":"structure", + "members":{ + "SlotMigration":{"shape":"SlotMigration"} + } + }, + "SecurityGroupIdsList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SecurityGroupMembership":{ + "type":"structure", + "members":{ + "SecurityGroupId":{"shape":"String"}, + "Status":{"shape":"String"} + } + }, + "SecurityGroupMembershipList":{ + "type":"list", + "member":{"shape":"SecurityGroupMembership"} + }, + "ServiceLinkedRoleNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ServiceUpdate":{ + "type":"structure", + "members":{ + "ClusterName":{"shape":"String"}, + "ServiceUpdateName":{"shape":"String"}, + "ReleaseDate":{"shape":"TStamp"}, + "Description":{"shape":"String"}, + "Status":{"shape":"ServiceUpdateStatus"}, + "Type":{"shape":"ServiceUpdateType"}, + "NodesUpdated":{"shape":"String"}, + "AutoUpdateStartDate":{"shape":"TStamp"} + } + }, + "ServiceUpdateList":{ + "type":"list", + "member":{"shape":"ServiceUpdate"} + }, + "ServiceUpdateNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ServiceUpdateRequest":{ + "type":"structure", + "members":{ + "ServiceUpdateNameToApply":{"shape":"String"} + } + }, + "ServiceUpdateStatus":{ + "type":"string", + "enum":[ + "available", + "in-progress", + "complete", + "scheduled" + ] + }, + "ServiceUpdateStatusList":{ + "type":"list", + "member":{"shape":"ServiceUpdateStatus"}, + "max":4 + }, + "ServiceUpdateType":{ + "type":"string", + "enum":["security-update"] + }, + "Shard":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Status":{"shape":"String"}, + "Slots":{"shape":"String"}, + "Nodes":{"shape":"NodeList"}, + "NumberOfNodes":{"shape":"IntegerOptional"} + } + }, + "ShardConfiguration":{ + "type":"structure", + "members":{ + "Slots":{"shape":"String"}, + "ReplicaCount":{"shape":"IntegerOptional"} + } + }, + "ShardConfigurationRequest":{ + "type":"structure", + "members":{ + "ShardCount":{"shape":"Integer"} + } + }, + "ShardDetail":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Configuration":{"shape":"ShardConfiguration"}, + "Size":{"shape":"String"}, + "SnapshotCreationTime":{"shape":"TStamp"} + } + }, + "ShardDetails":{ + "type":"list", + "member":{"shape":"ShardDetail"} + }, + "ShardList":{ + "type":"list", + "member":{"shape":"Shard"} + }, + "ShardNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "ShardsPerClusterQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SlotMigration":{ + "type":"structure", + "members":{ + "ProgressPercentage":{"shape":"Double"} + } + }, + "Snapshot":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Status":{"shape":"String"}, + "Source":{"shape":"String"}, + "KmsKeyId":{"shape":"String"}, + "ARN":{"shape":"String"}, + "ClusterConfiguration":{"shape":"ClusterConfiguration"} + } + }, + "SnapshotAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SnapshotArnsList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SnapshotList":{ + "type":"list", + "member":{"shape":"Snapshot"} + }, + "SnapshotNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SnapshotQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SourceType":{ + "type":"string", + "enum":[ + "node", + "parameter-group", + "subnet-group", + "cluster", + "user", + "acl" + ] + }, + "String":{"type":"string"}, + "Subnet":{ + "type":"structure", + "members":{ + "Identifier":{"shape":"String"}, + "AvailabilityZone":{"shape":"AvailabilityZone"} + } + }, + "SubnetGroup":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Description":{"shape":"String"}, + "VpcId":{"shape":"String"}, + "Subnets":{"shape":"SubnetList"}, + "ARN":{"shape":"String"} + } + }, + "SubnetGroupAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SubnetGroupInUseFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SubnetGroupList":{ + "type":"list", + "member":{"shape":"SubnetGroup"} + }, + "SubnetGroupNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SubnetGroupQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SubnetIdentifierList":{ + "type":"list", + "member":{"shape":"String"} + }, + "SubnetInUse":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SubnetList":{ + "type":"list", + "member":{"shape":"Subnet"} + }, + "SubnetNotAllowedFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "SubnetQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "TStamp":{"type":"timestamp"}, + "Tag":{ + "type":"structure", + "members":{ + "Key":{"shape":"String"}, + "Value":{"shape":"String"} + } + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200 + }, + "TagNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "TagQuotaPerResourceExceeded":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "Tags" + ], + "members":{ + "ResourceArn":{"shape":"String"}, + "Tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + "TagList":{"shape":"TagList"} + } + }, + "TargetBucket":{ + "type":"string", + "max":255, + "pattern":"^[A-Za-z0-9._-]+$" + }, + "TestFailoverNotAvailableFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "UnprocessedCluster":{ + "type":"structure", + "members":{ + "ClusterName":{"shape":"String"}, + "ErrorType":{"shape":"String"}, + "ErrorMessage":{"shape":"String"} + } + }, + "UnprocessedClusterList":{ + "type":"list", + "member":{"shape":"UnprocessedCluster"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "ResourceArn", + "TagKeys" + ], + "members":{ + "ResourceArn":{"shape":"String"}, + "TagKeys":{"shape":"KeyList"} + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + "TagList":{"shape":"TagList"} + } + }, + "UpdateACLRequest":{ + "type":"structure", + "required":["ACLName"], + "members":{ + "ACLName":{"shape":"String"}, + "UserNamesToAdd":{"shape":"UserNameListInput"}, + "UserNamesToRemove":{"shape":"UserNameListInput"} + } + }, + "UpdateACLResponse":{ + "type":"structure", + "members":{ + "ACL":{"shape":"ACL"} + } + }, + "UpdateClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{"shape":"String"}, + "Description":{"shape":"String"}, + "SecurityGroupIds":{"shape":"SecurityGroupIdsList"}, + "MaintenanceWindow":{"shape":"String"}, + "SnsTopicArn":{"shape":"String"}, + "SnsTopicStatus":{"shape":"String"}, + "ParameterGroupName":{"shape":"String"}, + "SnapshotWindow":{"shape":"String"}, + "SnapshotRetentionLimit":{"shape":"IntegerOptional"}, + "NodeType":{"shape":"String"}, + "EngineVersion":{"shape":"String"}, + "ReplicaConfiguration":{"shape":"ReplicaConfigurationRequest"}, + "ShardConfiguration":{"shape":"ShardConfigurationRequest"}, + "ACLName":{"shape":"ACLName"} + } + }, + "UpdateClusterResponse":{ + "type":"structure", + "members":{ + "Cluster":{"shape":"Cluster"} + } + }, + "UpdateParameterGroupRequest":{ + "type":"structure", + "required":[ + "ParameterGroupName", + "ParameterNameValues" + ], + "members":{ + "ParameterGroupName":{"shape":"String"}, + "ParameterNameValues":{"shape":"ParameterNameValueList"} + } + }, + "UpdateParameterGroupResponse":{ + "type":"structure", + "members":{ + "ParameterGroup":{"shape":"ParameterGroup"} + } + }, + "UpdateSubnetGroupRequest":{ + "type":"structure", + "required":["SubnetGroupName"], + "members":{ + "SubnetGroupName":{"shape":"String"}, + "Description":{"shape":"String"}, + "SubnetIds":{"shape":"SubnetIdentifierList"} + } + }, + "UpdateSubnetGroupResponse":{ + "type":"structure", + "members":{ + "SubnetGroup":{"shape":"SubnetGroup"} + } + }, + "UpdateUserRequest":{ + "type":"structure", + "required":["UserName"], + "members":{ + "UserName":{"shape":"UserName"}, + "AuthenticationMode":{"shape":"AuthenticationMode"}, + "AccessString":{"shape":"AccessString"} + } + }, + "UpdateUserResponse":{ + "type":"structure", + "members":{ + "User":{"shape":"User"} + } + }, + "User":{ + "type":"structure", + "members":{ + "Name":{"shape":"String"}, + "Status":{"shape":"String"}, + "AccessString":{"shape":"String"}, + "ACLNames":{"shape":"ACLNameList"}, + "MinimumEngineVersion":{"shape":"String"}, + "Authentication":{"shape":"Authentication"}, + "ARN":{"shape":"String"} + } + }, + "UserAlreadyExistsFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "UserList":{ + "type":"list", + "member":{"shape":"User"} + }, + "UserName":{ + "type":"string", + "min":1, + "pattern":"[a-zA-Z][a-zA-Z0-9\\-]*" + }, + "UserNameList":{ + "type":"list", + "member":{"shape":"UserName"} + }, + "UserNameListInput":{ + "type":"list", + "member":{"shape":"UserName"}, + "min":1 + }, + "UserNotFoundFault":{ + "type":"structure", + "members":{ + }, + "exception":true + }, + "UserQuotaExceededFault":{ + "type":"structure", + "members":{ + }, + "exception":true + } + } +} diff --git a/models/apis/memorydb/2021-01-01/docs-2.json b/models/apis/memorydb/2021-01-01/docs-2.json new file mode 100644 index 00000000000..7bece85a2fb --- /dev/null +++ b/models/apis/memorydb/2021-01-01/docs-2.json @@ -0,0 +1,1437 @@ +{ + "version": "2.0", + "service": "

Amazon MemoryDB for Redis is a fully managed, Redis-compatible, in-memory database that delivers ultra-fast performance and Multi-AZ durability for modern applications built using microservices architectures. MemoryDB stores the entire database in-memory, enabling low latency and high throughput data access. It is compatible with Redis, a popular open source data store, enabling you to leverage Redis’ flexible and friendly data structures, APIs, and commands.

", + "operations": { + "BatchUpdateCluster": "

Apply the service update to a list of clusters supplied. For more information on service updates and applying them, see Applying the service updates.

", + "CopySnapshot": "

Makes a copy of an existing snapshot.

", + "CreateACL": "

Creates an Access Control List. For more information, see Authenticating users with Access Contol Lists (ACLs).

", + "CreateCluster": "

Creates a cluster. All nodes in the cluster run the same protocol-compliant engine software.

", + "CreateParameterGroup": "

Creates a new MemoryDB parameter group. A parameter group is a collection of parameters and their values that are applied to all of the nodes in any cluster. For more information, see Configuring engine parameters using parameter groups.

", + "CreateSnapshot": "

Creates a copy of an entire cluster at a specific moment in time.

", + "CreateSubnetGroup": "

Creates a subnet group. A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC, you must specify a subnet group. MemoryDB uses that subnet group to choose a subnet and IP addresses within that subnet to associate with your nodes. For more information, see Subnets and subnet groups.

", + "CreateUser": "

Creates a MemoryDB user. For more information, see Authenticating users with Access Contol Lists (ACLs).

", + "DeleteACL": "

Deletes an Access Control List. The ACL must first be disassociated from the cluster before it can be deleted. For more information, see Authenticating users with Access Contol Lists (ACLs).

", + "DeleteCluster": "

Deletes a cluster. It also deletes all associated nodes and node endpoints

", + "DeleteParameterGroup": "

Deletes the specified parameter group. You cannot delete a parameter group if it is associated with any clusters. You cannot delete the default parameter groups in your account.

", + "DeleteSnapshot": "

Deletes an existing snapshot. When you receive a successful response from this operation, MemoryDB immediately begins deleting the snapshot; you cannot cancel or revert this operation.

", + "DeleteSubnetGroup": "

Deletes a subnet group. You cannot delete a default subnet group or one that is associated with any clusters.

", + "DeleteUser": "

Deletes a user. The user will be removed from all ACLs and in turn removed from all clusters.

", + "DescribeACLs": "

Returns a list of ACLs

", + "DescribeClusters": "

Returns information about all provisioned clusters if no cluster identifier is specified, or about a specific cluster if a cluster name is supplied.

", + "DescribeEngineVersions": "

Returns a list of the available Redis engine versions.

", + "DescribeEvents": "

Returns events related to clusters, security groups, and parameter groups. You can obtain events specific to a particular cluster, security group, or parameter group by providing the name as a parameter. By default, only the events occurring within the last hour are returned; however, you can retrieve up to 14 days' worth of events if necessary.

", + "DescribeParameterGroups": "

Returns a list of parameter group descriptions. If a parameter group name is specified, the list contains only the descriptions for that group.

", + "DescribeParameters": "

Returns the detailed parameter list for a particular parameter group.

", + "DescribeServiceUpdates": "

Returns details of the service updates

", + "DescribeSnapshots": "

Returns information about cluster snapshots. By default, DescribeSnapshots lists all of your snapshots; it can optionally describe a single snapshot, or just the snapshots associated with a particular cluster.

", + "DescribeSubnetGroups": "

Returns a list of subnet group descriptions. If a subnet group name is specified, the list contains only the description of that group.

", + "DescribeUsers": "

Returns a list of users.

", + "FailoverShard": "

Used to failover a shard

", + "ListAllowedNodeTypeUpdates": "

Lists all available node types that you can scale to from your cluster's current node type. When you use the UpdateCluster operation to scale your cluster, the value of the NodeType parameter must be one of the node types returned by this operation.

", + "ListTags": "

Lists all tags currently on a named resource. A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track your MemoryDB resources. For more information, see Tagging your MemoryDB resources

", + "ResetParameterGroup": "

Modifies the parameters of a parameter group to the engine or system default value. You can reset specific parameters by submitting a list of parameter names. To reset the entire parameter group, specify the AllParameters and ParameterGroupName parameters.

", + "TagResource": "

A tag is a key-value pair where the key and value are case-sensitive. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. For more information, see Resource-level permissions.

For example, you can use cost-allocation tags to your MemoryDB resources, Amazon generates a cost allocation report as a comma-separated value (CSV) file with your usage and costs aggregated by your tags. You can apply tags that represent business categories (such as cost centers, application names, or owners) to organize your costs across multiple services. For more information, see Using Cost Allocation Tags.

", + "UntagResource": "

Use this operation to remove tags on a resource

", + "UpdateACL": "

Changes the list of users that belong to the Access Control List.

", + "UpdateCluster": "

Modifies the settings for a cluster. You can use this operation to change one or more cluster configuration settings by specifying the settings and the new values.

", + "UpdateParameterGroup": "

Updates the parameters of a parameter group. You can modify up to 20 parameters in a single request by submitting a list parameter name and value pairs.

", + "UpdateSubnetGroup": "

Updates a subnet group. For more information, see Updating a subnet group

", + "UpdateUser": "

Changes user password(s) and/or access string.

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

An Access Control List. You can authenticate users with Access Contol Lists. ACLs enable you to control cluster access by grouping users. These Access control lists are designed as a way to organize access to clusters.

", + "refs": { + "ACLList$member": null, + "CreateACLResponse$ACL": "

The newly-created Access Control List.

", + "DeleteACLResponse$ACL": "

The Access Control List object that has been deleted.

", + "UpdateACLResponse$ACL": "

The updated Access Control List

" + } + }, + "ACLAlreadyExistsFault": { + "base": "

", + "refs": { + } + }, + "ACLClusterNameList": { + "base": null, + "refs": { + "ACL$Clusters": "

A list of clusters associated with the ACL.

" + } + }, + "ACLList": { + "base": null, + "refs": { + "DescribeACLsResponse$ACLs": "

The list of ACLs

" + } + }, + "ACLName": { + "base": null, + "refs": { + "ACLNameList$member": null, + "ACLsUpdateStatus$ACLToApply": "

A list of ACLs pending to be applied.

", + "Cluster$ACLName": "

The name of the Access Control List associated with this cluster.

", + "CreateClusterRequest$ACLName": "

The name of the Access Control List to associate with the cluster.

", + "UpdateClusterRequest$ACLName": "

The Access Control List that is associated with the cluster

" + } + }, + "ACLNameList": { + "base": null, + "refs": { + "User$ACLNames": "

The names of the Access Control Lists to which the user belongs

" + } + }, + "ACLNotFoundFault": { + "base": "

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

Returns the updates being applied to the ACL.

", + "refs": { + "ACL$PendingChanges": "

A list of updates being applied to the ACL.

" + } + }, + "ACLQuotaExceededFault": { + "base": "

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

The status of the ACL update

", + "refs": { + "ClusterPendingUpdates$ACLs": "

A list of ACLs associated with the cluster that are being updated

" + } + }, + "APICallRateForCustomerExceededFault": { + "base": "

", + "refs": { + } + }, + "AZStatus": { + "base": null, + "refs": { + "Cluster$AvailabilityMode": "

Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

" + } + }, + "AccessString": { + "base": null, + "refs": { + "CreateUserRequest$AccessString": "

Access permissions string used for this user.

", + "UpdateUserRequest$AccessString": "

Access permissions string used for this user.

" + } + }, + "Authentication": { + "base": "

Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

", + "refs": { + "User$Authentication": "

Denotes whether the user requires a password to authenticate.

" + } + }, + "AuthenticationMode": { + "base": "

Denotes the user's authentication properties, such as whether it requires a password to authenticate. Used in output responses.

", + "refs": { + "CreateUserRequest$AuthenticationMode": "

Denotes the user's authentication properties, such as whether it requires a password to authenticate.

", + "UpdateUserRequest$AuthenticationMode": "

Denotes the user's authentication properties, such as whether it requires a password to authenticate.

" + } + }, + "AuthenticationType": { + "base": null, + "refs": { + "Authentication$Type": "

Indicates whether the user requires a password to authenticate.

" + } + }, + "AvailabilityZone": { + "base": "

Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz).

", + "refs": { + "Subnet$AvailabilityZone": "

The Availability Zone where the subnet resides

" + } + }, + "AwsQueryErrorMessage": { + "base": null, + "refs": { + "InvalidParameterCombinationException$message": null, + "InvalidParameterValueException$message": null + } + }, + "BatchUpdateClusterRequest": { + "base": null, + "refs": { + } + }, + "BatchUpdateClusterResponse": { + "base": null, + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "DescribeEngineVersionsRequest$DefaultOnly": "

If true, specifies that only the default version of the specified engine or engine and major version combination is to be returned.

", + "ResetParameterGroupRequest$AllParameters": "

If true, all parameters in the parameter group are reset to their default values. If false, only the parameters listed by ParameterNames are reset to their default values.

" + } + }, + "BooleanOptional": { + "base": null, + "refs": { + "Cluster$TLSEnabled": "

A flag to indicate if In-transit encryption is enabled

", + "Cluster$AutoMinorVersionUpgrade": "

When set to true, the cluster will automatically receive minor engine version upgrades after launch.

", + "CreateClusterRequest$TLSEnabled": "

A flag to enable in-transit encryption on the cluster.

", + "CreateClusterRequest$AutoMinorVersionUpgrade": "

When set to true, the cluster will automatically receive minor engine version upgrades after launch.

", + "DescribeClustersRequest$ShowShardDetails": "

An optional flag that can be included in the request to retrieve information about the individual shard(s).

", + "DescribeSnapshotsRequest$ShowDetail": "

A Boolean value which if true, the shard configuration is included in the snapshot description.

" + } + }, + "Cluster": { + "base": "

Contains all of the attributes of a specific cluster.

", + "refs": { + "ClusterList$member": null, + "CreateClusterResponse$Cluster": "

The newly-created cluster.

", + "DeleteClusterResponse$Cluster": "

The cluster object that has been deleted

", + "FailoverShardResponse$Cluster": "

The cluster being failed over

", + "UpdateClusterResponse$Cluster": "

The updated cluster

" + } + }, + "ClusterAlreadyExistsFault": { + "base": "

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

A list of cluster configuration options.

", + "refs": { + "Snapshot$ClusterConfiguration": "

The configuration of the cluster from which the snapshot was taken

" + } + }, + "ClusterList": { + "base": null, + "refs": { + "BatchUpdateClusterResponse$ProcessedClusters": "

The list of clusters that have been updated.

", + "DescribeClustersResponse$Clusters": "

A list of clusters

" + } + }, + "ClusterNameList": { + "base": null, + "refs": { + "BatchUpdateClusterRequest$ClusterNames": "

The cluster names to apply the updates.

", + "DescribeServiceUpdatesRequest$ClusterNames": "

The list of cluster names to identify service updates to apply

" + } + }, + "ClusterNotFoundFault": { + "base": "

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

A list of updates being applied to the cluster

", + "refs": { + "Cluster$PendingUpdates": "

A group of settings that are currently being applied.

" + } + }, + "ClusterQuotaForCustomerExceededFault": { + "base": "

", + "refs": { + } + }, + "CopySnapshotRequest": { + "base": null, + "refs": { + } + }, + "CopySnapshotResponse": { + "base": null, + "refs": { + } + }, + "CreateACLRequest": { + "base": null, + "refs": { + } + }, + "CreateACLResponse": { + "base": null, + "refs": { + } + }, + "CreateClusterRequest": { + "base": null, + "refs": { + } + }, + "CreateClusterResponse": { + "base": null, + "refs": { + } + }, + "CreateParameterGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateParameterGroupResponse": { + "base": null, + "refs": { + } + }, + "CreateSnapshotRequest": { + "base": null, + "refs": { + } + }, + "CreateSnapshotResponse": { + "base": null, + "refs": { + } + }, + "CreateSubnetGroupRequest": { + "base": null, + "refs": { + } + }, + "CreateSubnetGroupResponse": { + "base": null, + "refs": { + } + }, + "CreateUserRequest": { + "base": null, + "refs": { + } + }, + "CreateUserResponse": { + "base": null, + "refs": { + } + }, + "DefaultUserRequired": { + "base": "

", + "refs": { + } + }, + "DeleteACLRequest": { + "base": null, + "refs": { + } + }, + "DeleteACLResponse": { + "base": null, + "refs": { + } + }, + "DeleteClusterRequest": { + "base": null, + "refs": { + } + }, + "DeleteClusterResponse": { + "base": null, + "refs": { + } + }, + "DeleteParameterGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteParameterGroupResponse": { + "base": null, + "refs": { + } + }, + "DeleteSnapshotRequest": { + "base": null, + "refs": { + } + }, + "DeleteSnapshotResponse": { + "base": null, + "refs": { + } + }, + "DeleteSubnetGroupRequest": { + "base": null, + "refs": { + } + }, + "DeleteSubnetGroupResponse": { + "base": null, + "refs": { + } + }, + "DeleteUserRequest": { + "base": null, + "refs": { + } + }, + "DeleteUserResponse": { + "base": null, + "refs": { + } + }, + "DescribeACLsRequest": { + "base": null, + "refs": { + } + }, + "DescribeACLsResponse": { + "base": null, + "refs": { + } + }, + "DescribeClustersRequest": { + "base": null, + "refs": { + } + }, + "DescribeClustersResponse": { + "base": null, + "refs": { + } + }, + "DescribeEngineVersionsRequest": { + "base": null, + "refs": { + } + }, + "DescribeEngineVersionsResponse": { + "base": null, + "refs": { + } + }, + "DescribeEventsRequest": { + "base": null, + "refs": { + } + }, + "DescribeEventsResponse": { + "base": null, + "refs": { + } + }, + "DescribeParameterGroupsRequest": { + "base": null, + "refs": { + } + }, + "DescribeParameterGroupsResponse": { + "base": null, + "refs": { + } + }, + "DescribeParametersRequest": { + "base": null, + "refs": { + } + }, + "DescribeParametersResponse": { + "base": null, + "refs": { + } + }, + "DescribeServiceUpdatesRequest": { + "base": null, + "refs": { + } + }, + "DescribeServiceUpdatesResponse": { + "base": null, + "refs": { + } + }, + "DescribeSnapshotsRequest": { + "base": null, + "refs": { + } + }, + "DescribeSnapshotsResponse": { + "base": null, + "refs": { + } + }, + "DescribeSubnetGroupsRequest": { + "base": null, + "refs": { + } + }, + "DescribeSubnetGroupsResponse": { + "base": null, + "refs": { + } + }, + "DescribeUsersRequest": { + "base": null, + "refs": { + } + }, + "DescribeUsersResponse": { + "base": null, + "refs": { + } + }, + "Double": { + "base": null, + "refs": { + "SlotMigration$ProgressPercentage": "

The percentage of the slot migration that is complete.

" + } + }, + "DuplicateUserNameFault": { + "base": "

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

Represents the information required for client programs to connect to the cluster and its nodes.

", + "refs": { + "Cluster$ClusterEndpoint": "

The cluster's configuration endpoint

", + "Node$Endpoint": "

The hostname for connecting to this node.

" + } + }, + "EngineVersionInfo": { + "base": "

Provides details of the Redis engine version

", + "refs": { + "EngineVersionInfoList$member": null + } + }, + "EngineVersionInfoList": { + "base": null, + "refs": { + "DescribeEngineVersionsResponse$EngineVersions": "

A list of engine version details. Each element in the list contains detailed information about one engine version.

" + } + }, + "Event": { + "base": "

Represents a single occurrence of something interesting within the system. Some examples of events are creating a cluster or adding or removing a node.

", + "refs": { + "EventList$member": null + } + }, + "EventList": { + "base": null, + "refs": { + "DescribeEventsResponse$Events": "

A list of events. Each element in the list contains detailed information about one event.

" + } + }, + "FailoverShardRequest": { + "base": null, + "refs": { + } + }, + "FailoverShardResponse": { + "base": null, + "refs": { + } + }, + "Filter": { + "base": "

Used to streamline results of a search based on the property being filtered.

", + "refs": { + "FilterList$member": null + } + }, + "FilterList": { + "base": null, + "refs": { + "DescribeUsersRequest$Filters": "

Filter to determine the list of users to return.

" + } + }, + "FilterName": { + "base": null, + "refs": { + "Filter$Name": "

The property being filtered. For example, UserName.

" + } + }, + "FilterValue": { + "base": null, + "refs": { + "FilterValueList$member": null + } + }, + "FilterValueList": { + "base": null, + "refs": { + "Filter$Values": "

The property values to filter on. For example, \"user-123\".

" + } + }, + "InputAuthenticationType": { + "base": null, + "refs": { + "AuthenticationMode$Type": "

Indicates whether the user requires a password to authenticate. All newly-created users require a password.

" + } + }, + "InsufficientClusterCapacityFault": { + "base": "

", + "refs": { + } + }, + "Integer": { + "base": null, + "refs": { + "Endpoint$Port": "

The port number that the engine is listening on.

", + "ReplicaConfigurationRequest$ReplicaCount": "

The number of replicas to scale up or down to

", + "ShardConfigurationRequest$ShardCount": "

The number of shards in the cluster

" + } + }, + "IntegerOptional": { + "base": null, + "refs": { + "Authentication$PasswordCount": "

The number of passwords belonging to the user. The maximum is two.

", + "Cluster$NumberOfShards": "

The number of shards in the cluster

", + "Cluster$SnapshotRetentionLimit": "

The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

", + "ClusterConfiguration$Port": "

The port used by the cluster

", + "ClusterConfiguration$SnapshotRetentionLimit": "

The snapshot retention limit set by the cluster

", + "ClusterConfiguration$NumShards": "

The number of shards in the cluster

", + "CreateClusterRequest$NumShards": "

The number of shards the cluster will contain.

Clusters can have up to 500 shards, with your data partitioned across the shards. For example, you can choose to configure a 500 node cluster that ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards (single primary and no replicas). Make sure there are enough available IP addresses to accommodate the increase. Common pitfalls include the subnets in the subnet group have too small a CIDR range or the subnets are shared and heavily used by other clusters.

", + "CreateClusterRequest$NumReplicasPerShard": "

The number of replicas to apply to each shard. The limit is 5.

", + "CreateClusterRequest$Port": "

The port number on which each of the nodes accepts connections.

", + "CreateClusterRequest$SnapshotRetentionLimit": "

The number of days for which MemoryDB retains automatic snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

", + "DescribeACLsRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeClustersRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeEngineVersionsRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeEventsRequest$Duration": "

The number of minutes worth of events to retrieve.

", + "DescribeEventsRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeParameterGroupsRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeParametersRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeServiceUpdatesRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeSnapshotsRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeSubnetGroupsRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "DescribeUsersRequest$MaxResults": "

The maximum number of records to include in the response. If more records exist than the specified MaxResults value, a token is included in the response so that the remaining results can be retrieved.

", + "Shard$NumberOfNodes": "

The number of nodes in the shard

", + "ShardConfiguration$ReplicaCount": "

The number of read replica nodes in this shard.

", + "UpdateClusterRequest$SnapshotRetentionLimit": "

The number of days for which MemoryDB retains automatic cluster snapshots before deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot that was taken today is retained for 5 days before being deleted.

" + } + }, + "InvalidACLStateFault": { + "base": "

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

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

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

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

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

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

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

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

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

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

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

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

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

The list of keys of the tags that are to be removed

" + } + }, + "KmsKeyId": { + "base": null, + "refs": { + "CopySnapshotRequest$KmsKeyId": "

The ID of the KMS key used to encrypt the target snapshot.

" + } + }, + "ListAllowedNodeTypeUpdatesRequest": { + "base": null, + "refs": { + } + }, + "ListAllowedNodeTypeUpdatesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsRequest": { + "base": null, + "refs": { + } + }, + "ListTagsResponse": { + "base": null, + "refs": { + } + }, + "NoOperationFault": { + "base": "

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

Represents an individual node within a cluster. Each node runs its own instance of the cluster's protocol-compliant caching software.

", + "refs": { + "NodeList$member": null + } + }, + "NodeList": { + "base": null, + "refs": { + "Shard$Nodes": "

A list containing information about individual nodes within the shard

" + } + }, + "NodeQuotaForClusterExceededFault": { + "base": "

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

", + "refs": { + } + }, + "NodeTypeList": { + "base": null, + "refs": { + "ListAllowedNodeTypeUpdatesResponse$ScaleUpNodeTypes": "

A list node types which you can use to scale up your cluster.

", + "ListAllowedNodeTypeUpdatesResponse$ScaleDownNodeTypes": "

A list node types which you can use to scale down your cluster.

" + } + }, + "Parameter": { + "base": "

Describes an individual setting that controls some aspect of MemoryDB behavior.

", + "refs": { + "ParametersList$member": null + } + }, + "ParameterGroup": { + "base": "

Represents the output of a CreateParameterGroup operation. A parameter group represents a combination of specific values for the parameters that are passed to the engine software during startup.

", + "refs": { + "CreateParameterGroupResponse$ParameterGroup": "

The newly-created parameter group.

", + "DeleteParameterGroupResponse$ParameterGroup": "

The parameter group that has been deleted.

", + "ParameterGroupList$member": null, + "ResetParameterGroupResponse$ParameterGroup": "

The parameter group being reset.

", + "UpdateParameterGroupResponse$ParameterGroup": "

The updated parameter group

" + } + }, + "ParameterGroupAlreadyExistsFault": { + "base": "

", + "refs": { + } + }, + "ParameterGroupList": { + "base": null, + "refs": { + "DescribeParameterGroupsResponse$ParameterGroups": "

A list of parameter groups. Each element in the list contains detailed information about one parameter group.

" + } + }, + "ParameterGroupNotFoundFault": { + "base": "

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

", + "refs": { + } + }, + "ParameterNameList": { + "base": null, + "refs": { + "ResetParameterGroupRequest$ParameterNames": "

An array of parameter names to reset to their default values. If AllParameters is true, do not use ParameterNames. If AllParameters is false, you must specify the name of at least one parameter to reset.

" + } + }, + "ParameterNameValue": { + "base": "

Describes a name-value pair that is used to update the value of a parameter.

", + "refs": { + "ParameterNameValueList$member": null + } + }, + "ParameterNameValueList": { + "base": null, + "refs": { + "UpdateParameterGroupRequest$ParameterNameValues": "

An array of parameter names and values for the parameter update. You must supply at least one parameter name and value; subsequent arguments are optional. A maximum of 20 parameters may be updated per request.

" + } + }, + "ParametersList": { + "base": null, + "refs": { + "DescribeParametersResponse$Parameters": "

A list of parameters specific to a particular parameter group. Each element in the list contains detailed information about one parameter.

" + } + }, + "PasswordListInput": { + "base": null, + "refs": { + "AuthenticationMode$Passwords": "

The password(s) used for authentication

" + } + }, + "PendingModifiedServiceUpdate": { + "base": "

Update action that has yet to be processed for the corresponding apply/stop request

", + "refs": { + "PendingModifiedServiceUpdateList$member": null + } + }, + "PendingModifiedServiceUpdateList": { + "base": null, + "refs": { + "ClusterPendingUpdates$ServiceUpdates": "

A list of service updates being applied to the cluster

" + } + }, + "ReplicaConfigurationRequest": { + "base": "

A request to configure the number of replicas in a shard

", + "refs": { + "UpdateClusterRequest$ReplicaConfiguration": "

The number of replicas that will reside in each shard

" + } + }, + "ResetParameterGroupRequest": { + "base": null, + "refs": { + } + }, + "ResetParameterGroupResponse": { + "base": null, + "refs": { + } + }, + "ReshardingStatus": { + "base": "

The status of the online resharding

", + "refs": { + "ClusterPendingUpdates$Resharding": "

The status of an online resharding operation.

" + } + }, + "SecurityGroupIdsList": { + "base": null, + "refs": { + "CreateClusterRequest$SecurityGroupIds": "

A list of security group names to associate with this cluster.

", + "UpdateClusterRequest$SecurityGroupIds": "

The SecurityGroupIds to update

" + } + }, + "SecurityGroupMembership": { + "base": "

Represents a single security group and its status.

", + "refs": { + "SecurityGroupMembershipList$member": null + } + }, + "SecurityGroupMembershipList": { + "base": null, + "refs": { + "Cluster$SecurityGroups": "

A list of security groups used by the cluster

" + } + }, + "ServiceLinkedRoleNotFoundFault": { + "base": "

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

An update that you can apply to your MemoryDB clusters.

", + "refs": { + "ServiceUpdateList$member": null + } + }, + "ServiceUpdateList": { + "base": null, + "refs": { + "DescribeServiceUpdatesResponse$ServiceUpdates": "

A list of service updates

" + } + }, + "ServiceUpdateNotFoundFault": { + "base": "

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

A request to apply a service update

", + "refs": { + "BatchUpdateClusterRequest$ServiceUpdate": "

The unique ID of the service update

" + } + }, + "ServiceUpdateStatus": { + "base": null, + "refs": { + "PendingModifiedServiceUpdate$Status": "

The status of the service update

", + "ServiceUpdate$Status": "

The status of the service update

", + "ServiceUpdateStatusList$member": null + } + }, + "ServiceUpdateStatusList": { + "base": null, + "refs": { + "DescribeServiceUpdatesRequest$Status": "

The status(es) of the service updates to filter on

" + } + }, + "ServiceUpdateType": { + "base": null, + "refs": { + "ServiceUpdate$Type": "

Reflects the nature of the service update

" + } + }, + "Shard": { + "base": "

Represents a collection of nodes in a cluster. One node in the node group is the read/write primary node. All the other nodes are read-only Replica nodes.

", + "refs": { + "ShardList$member": null + } + }, + "ShardConfiguration": { + "base": "

Shard configuration options. Each shard configuration has the following: Slots and ReplicaCount.

", + "refs": { + "ShardDetail$Configuration": "

The configuration details of the shard

" + } + }, + "ShardConfigurationRequest": { + "base": "

A request to configure the sharding properties of a cluster

", + "refs": { + "UpdateClusterRequest$ShardConfiguration": "

The number of shards in the cluster

" + } + }, + "ShardDetail": { + "base": "

Provides details of a shard in a snapshot

", + "refs": { + "ShardDetails$member": null + } + }, + "ShardDetails": { + "base": null, + "refs": { + "ClusterConfiguration$Shards": "

The list of shards in the cluster

" + } + }, + "ShardList": { + "base": null, + "refs": { + "Cluster$Shards": "

A list of shards that are members of the cluster.

" + } + }, + "ShardNotFoundFault": { + "base": null, + "refs": { + } + }, + "ShardsPerClusterQuotaExceededFault": { + "base": "

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

Represents the progress of an online resharding operation.

", + "refs": { + "ReshardingStatus$SlotMigration": "

The status of the online resharding slot migration

" + } + }, + "Snapshot": { + "base": "

Represents a copy of an entire cluster as of the time when the snapshot was taken.

", + "refs": { + "CopySnapshotResponse$Snapshot": "

Represents a copy of an entire cluster as of the time when the snapshot was taken.

", + "CreateSnapshotResponse$Snapshot": "

The newly-created snapshot.

", + "DeleteSnapshotResponse$Snapshot": "

The snapshot object that has been deleted.

", + "SnapshotList$member": null + } + }, + "SnapshotAlreadyExistsFault": { + "base": "

", + "refs": { + } + }, + "SnapshotArnsList": { + "base": null, + "refs": { + "CreateClusterRequest$SnapshotArns": "

A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot files stored in Amazon S3. The snapshot files are used to populate the new cluster. The Amazon S3 object name in the ARN cannot contain any commas.

" + } + }, + "SnapshotList": { + "base": null, + "refs": { + "DescribeSnapshotsResponse$Snapshots": "

A list of snapshots. Each item in the list contains detailed information about one snapshot.

" + } + }, + "SnapshotNotFoundFault": { + "base": "

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

", + "refs": { + } + }, + "SourceType": { + "base": null, + "refs": { + "DescribeEventsRequest$SourceType": "

The event source to retrieve events for. If no value is specified, all events are returned.

", + "Event$SourceType": "

Specifies the origin of this event - a cluster, a parameter group, a security group, etc.

" + } + }, + "String": { + "base": null, + "refs": { + "ACL$Name": "

The name of the Access Control List

", + "ACL$Status": "

Indicates ACL status. Can be \"creating\", \"active\", \"modifying\", \"deleting\".

", + "ACL$MinimumEngineVersion": "

The minimum engine version supported for the ACL

", + "ACL$ARN": "

The Amazon Resource Name (ARN) of the ACL

", + "ACLClusterNameList$member": null, + "AvailabilityZone$Name": "

The name of the Availability Zone.

", + "Cluster$Name": "

The user-supplied name of the cluster. This identifier is a unique key that identifies a cluster.

", + "Cluster$Description": "

A description of the cluster

", + "Cluster$Status": "

The status of the cluster. For example, Available, Updating, Creating.

", + "Cluster$NodeType": "

The cluster's node type

", + "Cluster$EngineVersion": "

The Redis engine version used by the cluster

", + "Cluster$EnginePatchVersion": "

The Redis engine patch version used by the cluster

", + "Cluster$ParameterGroupName": "

The name of the parameter group used by the cluster

", + "Cluster$ParameterGroupStatus": "

The status of the parameter group used by the cluster, for example 'active' or 'applying'.

", + "Cluster$SubnetGroupName": "

The name of the subnet group used by the cluster

", + "Cluster$KmsKeyId": "

The ID of the KMS key used to encrypt the cluster

", + "Cluster$ARN": "

The Amazon Resource Name (ARN) of the cluster.

", + "Cluster$SnsTopicArn": "

The Amazon Resource Name (ARN) of the SNS notification topic

", + "Cluster$SnsTopicStatus": "

The SNS topic must be in Active status to receive notifications

", + "Cluster$MaintenanceWindow": "

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

", + "Cluster$SnapshotWindow": "

The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

", + "ClusterConfiguration$Name": "

The name of the cluster

", + "ClusterConfiguration$Description": "

The description of the cluster configuration

", + "ClusterConfiguration$NodeType": "

The node type used for the cluster

", + "ClusterConfiguration$EngineVersion": "

The Redis engine version used by the cluster

", + "ClusterConfiguration$MaintenanceWindow": "

The specified maintenance window for the cluster

", + "ClusterConfiguration$TopicArn": "

The Amazon Resource Name (ARN) of the SNS notification topic for the cluster

", + "ClusterConfiguration$ParameterGroupName": "

The name of parameter group used by the cluster

", + "ClusterConfiguration$SubnetGroupName": "

The name of the subnet group used by the cluster

", + "ClusterConfiguration$VpcId": "

The ID of the VPC the cluster belongs to

", + "ClusterConfiguration$SnapshotWindow": "

The snapshot window set by the cluster

", + "ClusterNameList$member": null, + "CopySnapshotRequest$SourceSnapshotName": "

The name of an existing snapshot from which to make a copy.

", + "CopySnapshotRequest$TargetSnapshotName": "

A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot, therefore this name must be unique within its context - MemoryDB or an Amazon S3 bucket if exporting.

", + "CreateACLRequest$ACLName": "

The name of the Access Control List.

", + "CreateClusterRequest$ClusterName": "

The name of the cluster. This value must be unique as it also serves as the cluster identifier.

", + "CreateClusterRequest$NodeType": "

The compute and memory capacity of the nodes in the cluster.

", + "CreateClusterRequest$ParameterGroupName": "

The name of the parameter group associated with the cluster.

", + "CreateClusterRequest$Description": "

An optional description of the cluster.

", + "CreateClusterRequest$SubnetGroupName": "

The name of the subnet group to be used for the cluster.

", + "CreateClusterRequest$MaintenanceWindow": "

Specifies the weekly time range during which maintenance on the cluster is performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum maintenance window is a 60 minute period.

", + "CreateClusterRequest$SnsTopicArn": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) topic to which notifications are sent.

", + "CreateClusterRequest$KmsKeyId": "

The ID of the KMS key used to encrypt the cluster.

", + "CreateClusterRequest$SnapshotName": "

The name of a snapshot from which to restore data into the new cluster. The snapshot status changes to restoring while the new cluster is being created.

", + "CreateClusterRequest$SnapshotWindow": "

The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your shard.

Example: 05:00-09:00

If you do not specify this parameter, MemoryDB automatically chooses an appropriate time range.

", + "CreateClusterRequest$EngineVersion": "

The version number of the Redis engine to be used for the cluster.

", + "CreateParameterGroupRequest$ParameterGroupName": "

The name of the parameter group.

", + "CreateParameterGroupRequest$Family": "

The name of the parameter group family that the parameter group can be used with.

", + "CreateParameterGroupRequest$Description": "

An optional description of the parameter group.

", + "CreateSnapshotRequest$ClusterName": "

The snapshot is created from this cluster.

", + "CreateSnapshotRequest$SnapshotName": "

A name for the snapshot being created.

", + "CreateSnapshotRequest$KmsKeyId": "

The ID of the KMS key used to encrypt the snapshot.

", + "CreateSubnetGroupRequest$SubnetGroupName": "

The name of the subnet group.

", + "CreateSubnetGroupRequest$Description": "

A description for the subnet group.

", + "DeleteACLRequest$ACLName": "

The name of the Access Control List to delete

", + "DeleteClusterRequest$ClusterName": "

The name of the cluster to be deleted

", + "DeleteClusterRequest$FinalSnapshotName": "

The user-supplied name of a final cluster snapshot. This is the unique name that identifies the snapshot. MemoryDB creates the snapshot, and then deletes the cluster immediately afterward.

", + "DeleteParameterGroupRequest$ParameterGroupName": "

The name of the parameter group to delete.

", + "DeleteSnapshotRequest$SnapshotName": "

The name of the snapshot to delete

", + "DeleteSubnetGroupRequest$SubnetGroupName": "

The name of the subnet group to delete

", + "DescribeACLsRequest$ACLName": "

The name of the ACL

", + "DescribeACLsRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeACLsResponse$NextToken": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeClustersRequest$ClusterName": "

The name of the cluster

", + "DescribeClustersRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeClustersResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeEngineVersionsRequest$EngineVersion": "

The Redis engine version

", + "DescribeEngineVersionsRequest$ParameterGroupFamily": "

The name of a specific parameter group family to return details for.

", + "DescribeEngineVersionsRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeEngineVersionsResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeEventsRequest$SourceName": "

The identifier of the event source for which events are returned. If not specified, all sources are included in the response.

", + "DescribeEventsRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeEventsResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeParameterGroupsRequest$ParameterGroupName": "

The name of a specific parameter group to return details for.

", + "DescribeParameterGroupsRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeParameterGroupsResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeParametersRequest$ParameterGroupName": "

he name of a specific parameter group to return details for.

", + "DescribeParametersRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeParametersResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeServiceUpdatesRequest$ServiceUpdateName": "

The unique ID of the service update to describe.

", + "DescribeServiceUpdatesRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeServiceUpdatesResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeSnapshotsRequest$ClusterName": "

A user-supplied cluster identifier. If this parameter is specified, only snapshots associated with that specific cluster are described.

", + "DescribeSnapshotsRequest$SnapshotName": "

A user-supplied name of the snapshot. If this parameter is specified, only this named snapshot is described.

", + "DescribeSnapshotsRequest$Source": "

If set to system, the output shows snapshots that were automatically created by MemoryDB. If set to user the output shows snapshots that were manually created. If omitted, the output shows both automatically and manually created snapshots.

", + "DescribeSnapshotsRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeSnapshotsResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeSubnetGroupsRequest$SubnetGroupName": "

The name of the subnet group to return details for.

", + "DescribeSubnetGroupsRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeSubnetGroupsResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeUsersRequest$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "DescribeUsersResponse$NextToken": "

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

", + "Endpoint$Address": "

The DNS hostname of the node.

", + "EngineVersionInfo$EngineVersion": "

The engine version

", + "EngineVersionInfo$EnginePatchVersion": "

The patched engine version

", + "EngineVersionInfo$ParameterGroupFamily": "

Specifies the name of the parameter group family to which the engine default parameters apply.

", + "Event$SourceName": "

The name for the source of the event. For example, if the event occurred at the cluster level, the identifier would be the name of the cluster.

", + "Event$Message": "

The text of the event.

", + "FailoverShardRequest$ClusterName": "

The cluster being failed over

", + "FailoverShardRequest$ShardName": "

The name of the shard

", + "KeyList$member": null, + "ListAllowedNodeTypeUpdatesRequest$ClusterName": "

The name of the cluster you want to scale. MemoryDB uses the cluster name to identify the current node type being used by this cluster, and from that to create a list of node types you can scale up to.

", + "ListTagsRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource for which you want the list of tags

", + "Node$Name": "

The node identifier. A node name is a numeric identifier (0001, 0002, etc.). The combination of cluster name, shard name and node name uniquely identifies every node used in a customer's Amazon account.

", + "Node$Status": "

The status of the service update on the node

", + "Node$AvailabilityZone": "

The Availability Zone in which the node resides

", + "NodeTypeList$member": null, + "Parameter$Name": "

The name of the parameter

", + "Parameter$Value": "

The value of the parameter

", + "Parameter$Description": "

A description of the parameter

", + "Parameter$DataType": "

The parameter's data type

", + "Parameter$AllowedValues": "

The valid range of values for the parameter.

", + "Parameter$MinimumEngineVersion": "

The earliest engine version to which the parameter can apply.

", + "ParameterGroup$Name": "

The name of the parameter group

", + "ParameterGroup$Family": "

The name of the parameter group family that this parameter group is compatible with.

", + "ParameterGroup$Description": "

A description of the parameter group

", + "ParameterGroup$ARN": "

The Amazon Resource Name (ARN) of the parameter group

", + "ParameterNameList$member": null, + "ParameterNameValue$ParameterName": "

The name of the parameter

", + "ParameterNameValue$ParameterValue": "

The value of the parameter

", + "PasswordListInput$member": null, + "PendingModifiedServiceUpdate$ServiceUpdateName": "

The unique ID of the service update

", + "ResetParameterGroupRequest$ParameterGroupName": "

The name of the parameter group to reset.

", + "SecurityGroupIdsList$member": null, + "SecurityGroupMembership$SecurityGroupId": "

The identifier of the security group.

", + "SecurityGroupMembership$Status": "

The status of the security group membership. The status changes whenever a security group is modified, or when the security groups assigned to a cluster are modified.

", + "ServiceUpdate$ClusterName": "

The name of the cluster to which the service update applies

", + "ServiceUpdate$ServiceUpdateName": "

The unique ID of the service update

", + "ServiceUpdate$Description": "

Provides details of the service update

", + "ServiceUpdate$NodesUpdated": "

A list of nodes updated by the service update

", + "ServiceUpdateRequest$ServiceUpdateNameToApply": "

The unique ID of the service update

", + "Shard$Name": "

The name of the shard

", + "Shard$Status": "

The current state of this replication group - creating, available, modifying, deleting.

", + "Shard$Slots": "

The keyspace for this shard.

", + "ShardConfiguration$Slots": "

A string that specifies the keyspace for a particular node group. Keyspaces range from 0 to 16,383. The string is in the format startkey-endkey.

", + "ShardDetail$Name": "

The name of the shard

", + "ShardDetail$Size": "

The size of the shard's snapshot

", + "Snapshot$Name": "

The name of the snapshot

", + "Snapshot$Status": "

The status of the snapshot. Valid values: creating | available | restoring | copying | deleting.

", + "Snapshot$Source": "

Indicates whether the snapshot is from an automatic backup (automated) or was created manually (manual).

", + "Snapshot$KmsKeyId": "

The ID of the KMS key used to encrypt the snapshot.

", + "Snapshot$ARN": "

The ARN (Amazon Resource Name) of the snapshot.

", + "SnapshotArnsList$member": null, + "Subnet$Identifier": "

The unique identifier for the subnet.

", + "SubnetGroup$Name": "

The name of the subnet group

", + "SubnetGroup$Description": "

A description of the subnet group

", + "SubnetGroup$VpcId": "

The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group.

", + "SubnetGroup$ARN": "

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

", + "SubnetIdentifierList$member": null, + "Tag$Key": "

The key for the tag. May not be null.

", + "Tag$Value": "

The tag's value. May be null.

", + "TagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource to which the tags are to be added

", + "UnprocessedCluster$ClusterName": "

The name of the cluster

", + "UnprocessedCluster$ErrorType": "

The error type associated with the update failure

", + "UnprocessedCluster$ErrorMessage": "

The error message associated with the update failure

", + "UntagResourceRequest$ResourceArn": "

The Amazon Resource Name (ARN) of the resource to which the tags are to be removed

", + "UpdateACLRequest$ACLName": "

The name of the Access Control List

", + "UpdateClusterRequest$ClusterName": "

The name of the cluster to update

", + "UpdateClusterRequest$Description": "

The description of the cluster to update

", + "UpdateClusterRequest$MaintenanceWindow": "

The maintenance window to update

", + "UpdateClusterRequest$SnsTopicArn": "

The SNS topic ARN to update

", + "UpdateClusterRequest$SnsTopicStatus": "

The status of the Amazon SNS notification topic. Notifications are sent only if the status is active.

", + "UpdateClusterRequest$ParameterGroupName": "

The name of the parameter group to update

", + "UpdateClusterRequest$SnapshotWindow": "

The daily time range (in UTC) during which MemoryDB begins taking a daily snapshot of your cluster.

", + "UpdateClusterRequest$NodeType": "

A valid node type that you want to scale this cluster up or down to.

", + "UpdateClusterRequest$EngineVersion": "

The upgraded version of the engine to be run on the nodes. You can upgrade to a newer engine version, but you cannot downgrade to an earlier engine version. If you want to use an earlier engine version, you must delete the existing cluster and create it anew with the earlier engine version.

", + "UpdateParameterGroupRequest$ParameterGroupName": "

The name of the parameter group to update.

", + "UpdateSubnetGroupRequest$SubnetGroupName": "

The name of the subnet group

", + "UpdateSubnetGroupRequest$Description": "

A description of the subnet group

", + "User$Name": "

The name of the user

", + "User$Status": "

Indicates the user status. Can be \"active\", \"modifying\" or \"deleting\".

", + "User$AccessString": "

Access permissions string used for this user.

", + "User$MinimumEngineVersion": "

The minimum engine version supported for the user

", + "User$ARN": "

The Amazon Resource Name (ARN) of the user.

" + } + }, + "Subnet": { + "base": "

Represents the subnet associated with a cluster. This parameter refers to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with MemoryDB.

", + "refs": { + "SubnetList$member": null + } + }, + "SubnetGroup": { + "base": "

Represents the output of one of the following operations:

A subnet group is a collection of subnets (typically private) that you can designate for your clusters running in an Amazon Virtual Private Cloud (VPC) environment.

", + "refs": { + "CreateSubnetGroupResponse$SubnetGroup": "

The newly-created subnet group

", + "DeleteSubnetGroupResponse$SubnetGroup": "

The subnet group object that has been deleted.

", + "SubnetGroupList$member": null, + "UpdateSubnetGroupResponse$SubnetGroup": "

The updated subnet group

" + } + }, + "SubnetGroupAlreadyExistsFault": { + "base": "

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

", + "refs": { + } + }, + "SubnetGroupList": { + "base": null, + "refs": { + "DescribeSubnetGroupsResponse$SubnetGroups": "

A list of subnet groups. Each element in the list contains detailed information about one group.

" + } + }, + "SubnetGroupNotFoundFault": { + "base": "

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

", + "refs": { + } + }, + "SubnetIdentifierList": { + "base": null, + "refs": { + "CreateSubnetGroupRequest$SubnetIds": "

A list of VPC subnet IDs for the subnet group.

", + "UpdateSubnetGroupRequest$SubnetIds": "

The EC2 subnet IDs for the subnet group.

" + } + }, + "SubnetInUse": { + "base": "

", + "refs": { + } + }, + "SubnetList": { + "base": null, + "refs": { + "SubnetGroup$Subnets": "

A list of subnets associated with the subnet group.

" + } + }, + "SubnetNotAllowedFault": { + "base": "

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

", + "refs": { + } + }, + "TStamp": { + "base": null, + "refs": { + "DescribeEventsRequest$StartTime": "

The beginning of the time interval to retrieve events for, specified in ISO 8601 format. Example: 2017-03-30T07:03:49.555Z

", + "DescribeEventsRequest$EndTime": "

The end of the time interval for which to retrieve events, specified in ISO 8601 format. Example: 2017-03-30T07:03:49.555Z

", + "Event$Date": "

The date and time when the event occurred.

", + "Node$CreateTime": "

The date and time when the node was created.

", + "ServiceUpdate$ReleaseDate": "

The date when the service update is initially available

", + "ServiceUpdate$AutoUpdateStartDate": "

The date at which the service update will be automatically applied

", + "ShardDetail$SnapshotCreationTime": "

The date and time that the shard's snapshot was created

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

A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see Tagging your MemoryDB resources

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

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "CreateACLRequest$Tags": "

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "CreateClusterRequest$Tags": "

A list of tags to be added to this resource. Tags are comma-separated key,value pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue.

", + "CreateParameterGroupRequest$Tags": "

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "CreateSnapshotRequest$Tags": "

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "CreateSubnetGroupRequest$Tags": "

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "CreateUserRequest$Tags": "

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "ListTagsResponse$TagList": "

A list of tags as key-value pairs.

", + "TagResourceRequest$Tags": "

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

", + "TagResourceResponse$TagList": "

A list of tags as key-value pairs.

", + "UntagResourceResponse$TagList": "

The list of tags removed

" + } + }, + "TagNotFoundFault": { + "base": "

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

", + "refs": { + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TargetBucket": { + "base": null, + "refs": { + "CopySnapshotRequest$TargetBucket": "

The Amazon S3 bucket to which the snapshot is exported. This parameter is used only when exporting a snapshot for external access. When using this parameter to export a snapshot, be sure MemoryDB has the needed permissions to this S3 bucket. For more information, see Step 2: Grant MemoryDB Access to Your Amazon S3 Bucket.

" + } + }, + "TestFailoverNotAvailableFault": { + "base": "

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

A cluster whose updates have failed

", + "refs": { + "UnprocessedClusterList$member": null + } + }, + "UnprocessedClusterList": { + "base": null, + "refs": { + "BatchUpdateClusterResponse$UnprocessedClusters": "

The list of clusters where updates have not been applied.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateACLRequest": { + "base": null, + "refs": { + } + }, + "UpdateACLResponse": { + "base": null, + "refs": { + } + }, + "UpdateClusterRequest": { + "base": null, + "refs": { + } + }, + "UpdateClusterResponse": { + "base": null, + "refs": { + } + }, + "UpdateParameterGroupRequest": { + "base": null, + "refs": { + } + }, + "UpdateParameterGroupResponse": { + "base": null, + "refs": { + } + }, + "UpdateSubnetGroupRequest": { + "base": null, + "refs": { + } + }, + "UpdateSubnetGroupResponse": { + "base": null, + "refs": { + } + }, + "UpdateUserRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserResponse": { + "base": null, + "refs": { + } + }, + "User": { + "base": "

You create users and assign them specific permissions by using an access string. You assign the users to Access Control Lists aligned with a specific role (administrators, human resources) that are then deployed to one or more MemoryDB clusters.

", + "refs": { + "CreateUserResponse$User": "

The newly-created user.

", + "DeleteUserResponse$User": "

The user object that has been deleted.

", + "UpdateUserResponse$User": "

The updated user

", + "UserList$member": null + } + }, + "UserAlreadyExistsFault": { + "base": "

", + "refs": { + } + }, + "UserList": { + "base": null, + "refs": { + "DescribeUsersResponse$Users": "

A list of users.

" + } + }, + "UserName": { + "base": null, + "refs": { + "CreateUserRequest$UserName": "

The name of the user. This value must be unique as it also serves as the user identifier.

", + "DeleteUserRequest$UserName": "

The name of the user to delete

", + "DescribeUsersRequest$UserName": "

The name of the user

", + "UpdateUserRequest$UserName": "

The name of the user

", + "UserNameList$member": null, + "UserNameListInput$member": null + } + }, + "UserNameList": { + "base": null, + "refs": { + "ACL$UserNames": "

The list of user names that belong to the ACL.

", + "ACLPendingChanges$UserNamesToRemove": "

A list of user names being removed from the ACL

", + "ACLPendingChanges$UserNamesToAdd": "

A list of users being added to the ACL

" + } + }, + "UserNameListInput": { + "base": null, + "refs": { + "CreateACLRequest$UserNames": "

The list of users that belong to the Access Control List.

", + "UpdateACLRequest$UserNamesToAdd": "

The list of users to add to the Access Control List

", + "UpdateACLRequest$UserNamesToRemove": "

The list of users to remove from the Access Control List

" + } + }, + "UserNotFoundFault": { + "base": "

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

", + "refs": { + } + } + } +} diff --git a/models/apis/memorydb/2021-01-01/examples-1.json b/models/apis/memorydb/2021-01-01/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/memorydb/2021-01-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/memorydb/2021-01-01/paginators-1.json b/models/apis/memorydb/2021-01-01/paginators-1.json new file mode 100644 index 00000000000..5677bd8e4a2 --- /dev/null +++ b/models/apis/memorydb/2021-01-01/paginators-1.json @@ -0,0 +1,4 @@ +{ + "pagination": { + } +} diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 515dda11b96..db6465c5fbc 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -3683,6 +3683,7 @@ "iotanalytics" : { "endpoints" : { "ap-northeast-1" : { }, + "ap-south-1" : { }, "ap-southeast-2" : { }, "eu-central-1" : { }, "eu-west-1" : { }, @@ -10454,6 +10455,11 @@ "isRegionalized" : false, "partitionEndpoint" : "aws-iso-global" }, + "route53resolver" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, "runtime.sagemaker" : { "endpoints" : { "us-iso-east-1" : { } diff --git a/service/appflow/api.go b/service/appflow/api.go index ba5c95da6be..4193174cc4e 100644 --- a/service/appflow/api.go +++ b/service/appflow/api.go @@ -57,10 +57,11 @@ func (c *Appflow) CreateConnectorProfileRequest(input *CreateConnectorProfileInp // CreateConnectorProfile API operation for Amazon Appflow. // -// Creates a new connector profile associated with your AWS account. There is -// a soft quota of 100 connector profiles per AWS account. If you need more -// connector profiles than this quota allows, you can submit a request to the -// Amazon AppFlow team through the Amazon AppFlow support channel. +// Creates a new connector profile associated with your Amazon Web Services +// account. There is a soft quota of 100 connector profiles per Amazon Web Services +// account. If you need more connector profiles than this quota allows, you +// can submit a request to the Amazon AppFlow team through the Amazon AppFlow +// support channel. // // 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 @@ -2049,6 +2050,59 @@ func (s *AmplitudeSourceProperties) SetObject(v string) *AmplitudeSourceProperti return s } +// The basic auth credentials required for basic authentication. +type BasicAuthCredentials struct { + _ struct{} `type:"structure"` + + // The password to use to connect to a resource. + // + // Password is a required field + Password *string `locationName:"password" type:"string" required:"true" sensitive:"true"` + + // The username to use to connect to a resource. + // + // Username is a required field + Username *string `locationName:"username" type:"string" required:"true"` +} + +// String returns the string representation +func (s BasicAuthCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BasicAuthCredentials) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BasicAuthCredentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BasicAuthCredentials"} + if s.Password == nil { + invalidParams.Add(request.NewErrParamRequired("Password")) + } + if s.Username == nil { + invalidParams.Add(request.NewErrParamRequired("Username")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPassword sets the Password field's value. +func (s *BasicAuthCredentials) SetPassword(v string) *BasicAuthCredentials { + s.Password = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *BasicAuthCredentials) SetUsername(v string) *BasicAuthCredentials { + s.Username = &v + return s +} + // There was a conflict when processing the request (for example, a flow with // the given name already exists within the account. Check for conflicting resource // names and try again. @@ -2413,6 +2467,9 @@ type ConnectorMetadata struct { // The connector metadata specific to Amazon S3. S3 *S3Metadata `type:"structure"` + // The connector metadata specific to SAPOData. + SAPOData *SAPODataMetadata `type:"structure"` + // The connector metadata specific to Salesforce. Salesforce *SalesforceMetadata `type:"structure"` @@ -2517,6 +2574,12 @@ func (s *ConnectorMetadata) SetS3(v *S3Metadata) *ConnectorMetadata { return s } +// SetSAPOData sets the SAPOData field's value. +func (s *ConnectorMetadata) SetSAPOData(v *SAPODataMetadata) *ConnectorMetadata { + s.SAPOData = v + return s +} + // SetSalesforce sets the Salesforce field's value. func (s *ConnectorMetadata) SetSalesforce(v *SalesforceMetadata) *ConnectorMetadata { s.Salesforce = v @@ -2632,6 +2695,9 @@ type ConnectorOperator struct { // The operation to be performed on the provided Amazon S3 source fields. S3 *string `type:"string" enum:"S3ConnectorOperator"` + // The operation to be performed on the provided SAPOData source fields. + SAPOData *string `type:"string" enum:"SAPODataConnectorOperator"` + // The operation to be performed on the provided Salesforce source fields. Salesforce *string `type:"string" enum:"SalesforceConnectorOperator"` @@ -2706,6 +2772,12 @@ func (s *ConnectorOperator) SetS3(v string) *ConnectorOperator { return s } +// SetSAPOData sets the SAPOData field's value. +func (s *ConnectorOperator) SetSAPOData(v string) *ConnectorOperator { + s.SAPOData = &v + return s +} + // SetSalesforce sets the Salesforce field's value. func (s *ConnectorOperator) SetSalesforce(v string) *ConnectorOperator { s.Salesforce = &v @@ -2763,7 +2835,7 @@ type ConnectorProfile struct { ConnectorProfileArn *string `locationName:"connectorProfileArn" type:"string"` // The name of the connector profile. The name is unique for each ConnectorProfile - // in the AWS account. + // in the Amazon Web Services account. ConnectorProfileName *string `locationName:"connectorProfileName" type:"string"` // The connector-specific properties of the profile configuration. @@ -2780,6 +2852,9 @@ type ConnectorProfile struct { // Specifies when the connector profile was last updated. LastUpdatedAt *time.Time `locationName:"lastUpdatedAt" type:"timestamp"` + + // Specifies the private connection provisioning state. + PrivateConnectionProvisioningState *PrivateConnectionProvisioningState `locationName:"privateConnectionProvisioningState" type:"structure"` } // String returns the string representation @@ -2840,6 +2915,12 @@ func (s *ConnectorProfile) SetLastUpdatedAt(v time.Time) *ConnectorProfile { return s } +// SetPrivateConnectionProvisioningState sets the PrivateConnectionProvisioningState field's value. +func (s *ConnectorProfile) SetPrivateConnectionProvisioningState(v *PrivateConnectionProvisioningState) *ConnectorProfile { + s.PrivateConnectionProvisioningState = v + return s +} + // Defines the connector-specific configuration and credentials for the connector // profile. type ConnectorProfileConfig struct { @@ -2932,6 +3013,9 @@ type ConnectorProfileCredentials struct { // The connector-specific credentials required when using Amazon Redshift. Redshift *RedshiftConnectorProfileCredentials `type:"structure"` + // The connector-specific profile credentials required when using SAPOData. + SAPOData *SAPODataConnectorProfileCredentials `type:"structure"` + // The connector-specific credentials required when using Salesforce. Salesforce *SalesforceConnectorProfileCredentials `type:"structure"` @@ -3005,6 +3089,11 @@ func (s *ConnectorProfileCredentials) Validate() error { invalidParams.AddNested("Redshift", err.(request.ErrInvalidParams)) } } + if s.SAPOData != nil { + if err := s.SAPOData.Validate(); err != nil { + invalidParams.AddNested("SAPOData", err.(request.ErrInvalidParams)) + } + } if s.Salesforce != nil { if err := s.Salesforce.Validate(); err != nil { invalidParams.AddNested("Salesforce", err.(request.ErrInvalidParams)) @@ -3100,6 +3189,12 @@ func (s *ConnectorProfileCredentials) SetRedshift(v *RedshiftConnectorProfileCre return s } +// SetSAPOData sets the SAPOData field's value. +func (s *ConnectorProfileCredentials) SetSAPOData(v *SAPODataConnectorProfileCredentials) *ConnectorProfileCredentials { + s.SAPOData = v + return s +} + // SetSalesforce sets the Salesforce field's value. func (s *ConnectorProfileCredentials) SetSalesforce(v *SalesforceConnectorProfileCredentials) *ConnectorProfileCredentials { s.Salesforce = v @@ -3176,6 +3271,9 @@ type ConnectorProfileProperties struct { // The connector-specific properties required by Amazon Redshift. Redshift *RedshiftConnectorProfileProperties `type:"structure"` + // The connector-specific profile properties required when using SAPOData. + SAPOData *SAPODataConnectorProfileProperties `type:"structure"` + // The connector-specific properties required by Salesforce. Salesforce *SalesforceConnectorProfileProperties `type:"structure"` @@ -3239,6 +3337,11 @@ func (s *ConnectorProfileProperties) Validate() error { invalidParams.AddNested("Redshift", err.(request.ErrInvalidParams)) } } + if s.SAPOData != nil { + if err := s.SAPOData.Validate(); err != nil { + invalidParams.AddNested("SAPOData", err.(request.ErrInvalidParams)) + } + } if s.ServiceNow != nil { if err := s.ServiceNow.Validate(); err != nil { invalidParams.AddNested("ServiceNow", err.(request.ErrInvalidParams)) @@ -3319,6 +3422,12 @@ func (s *ConnectorProfileProperties) SetRedshift(v *RedshiftConnectorProfileProp return s } +// SetSAPOData sets the SAPOData field's value. +func (s *ConnectorProfileProperties) SetSAPOData(v *SAPODataConnectorProfileProperties) *ConnectorProfileProperties { + s.SAPOData = v + return s +} + // SetSalesforce sets the Salesforce field's value. func (s *ConnectorProfileProperties) SetSalesforce(v *SalesforceConnectorProfileProperties) *ConnectorProfileProperties { s.Salesforce = v @@ -3427,8 +3536,8 @@ type CreateConnectorProfileInput struct { _ struct{} `type:"structure"` // Indicates the connection mode and specifies whether it is public or private. - // Private flows use AWS PrivateLink to route data over AWS infrastructure without - // exposing it to the public internet. + // Private flows use Amazon Web Services PrivateLink to route data over Amazon + // Web Services infrastructure without exposing it to the public internet. // // ConnectionMode is a required field ConnectionMode *string `locationName:"connectionMode" type:"string" required:"true" enum:"ConnectionMode"` @@ -3439,7 +3548,7 @@ type CreateConnectorProfileInput struct { ConnectorProfileConfig *ConnectorProfileConfig `locationName:"connectorProfileConfig" type:"structure" required:"true"` // The name of the connector profile. The name is unique for each ConnectorProfile - // in your AWS account. + // in your Amazon Web Services account. // // ConnectorProfileName is a required field ConnectorProfileName *string `locationName:"connectorProfileName" type:"string" required:"true"` @@ -4091,7 +4200,7 @@ type DescribeConnectorEntityInput struct { ConnectorEntityName *string `locationName:"connectorEntityName" type:"string" required:"true"` // The name of the connector profile. The name is unique for each ConnectorProfile - // in the AWS account. + // in the Amazon Web Services account. ConnectorProfileName *string `locationName:"connectorProfileName" type:"string"` // The type of connector application, such as Salesforce, Amplitude, and so @@ -4170,7 +4279,7 @@ type DescribeConnectorProfilesInput struct { _ struct{} `type:"structure"` // The name of the connector profile. The name is unique for each ConnectorProfile - // in the AWS account. + // in the Amazon Web Services account. ConnectorProfileNames []*string `locationName:"connectorProfileNames" type:"list"` // The type of connector, such as Salesforce, Amplitude, and so on. @@ -4857,7 +4966,7 @@ type DestinationFlowConfig struct { _ struct{} `type:"structure"` // The name of the connector profile. This name must be unique for each connector - // profile in the AWS account. + // profile in the Amazon Web Services account. ConnectorProfileName *string `locationName:"connectorProfileName" type:"string"` // The type of connector, such as Salesforce, Amplitude, and so on. @@ -6140,7 +6249,7 @@ type ListConnectorEntitiesInput struct { _ struct{} `type:"structure"` // The name of the connector profile. The name is unique for each ConnectorProfile - // in the AWS account, and is used to query the downstream connector. + // in the Amazon Web Services account, and is used to query the downstream connector. ConnectorProfileName *string `locationName:"connectorProfileName" type:"string"` // The type of connector, such as Salesforce, Amplitude, and so on. @@ -6534,6 +6643,157 @@ func (s *MarketoSourceProperties) SetObject(v string) *MarketoSourceProperties { return s } +// The OAuth credentials required for OAuth type authentication. +type OAuthCredentials struct { + _ struct{} `type:"structure"` + + // The access token used to access protected SAPOData resources. + AccessToken *string `locationName:"accessToken" type:"string" sensitive:"true"` + + // The identifier for the desired client. + // + // ClientId is a required field + ClientId *string `locationName:"clientId" type:"string" required:"true"` + + // The client secret used by the OAuth client to authenticate to the authorization + // server. + // + // ClientSecret is a required field + ClientSecret *string `locationName:"clientSecret" type:"string" required:"true" sensitive:"true"` + + // The OAuth requirement needed to request security tokens from the connector + // endpoint. + OAuthRequest *ConnectorOAuthRequest `locationName:"oAuthRequest" type:"structure"` + + // The refresh token used to refresh expired access token. + RefreshToken *string `locationName:"refreshToken" type:"string"` +} + +// String returns the string representation +func (s OAuthCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OAuthCredentials) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OAuthCredentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OAuthCredentials"} + if s.ClientId == nil { + invalidParams.Add(request.NewErrParamRequired("ClientId")) + } + if s.ClientSecret == nil { + invalidParams.Add(request.NewErrParamRequired("ClientSecret")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessToken sets the AccessToken field's value. +func (s *OAuthCredentials) SetAccessToken(v string) *OAuthCredentials { + s.AccessToken = &v + return s +} + +// SetClientId sets the ClientId field's value. +func (s *OAuthCredentials) SetClientId(v string) *OAuthCredentials { + s.ClientId = &v + return s +} + +// SetClientSecret sets the ClientSecret field's value. +func (s *OAuthCredentials) SetClientSecret(v string) *OAuthCredentials { + s.ClientSecret = &v + return s +} + +// SetOAuthRequest sets the OAuthRequest field's value. +func (s *OAuthCredentials) SetOAuthRequest(v *ConnectorOAuthRequest) *OAuthCredentials { + s.OAuthRequest = v + return s +} + +// SetRefreshToken sets the RefreshToken field's value. +func (s *OAuthCredentials) SetRefreshToken(v string) *OAuthCredentials { + s.RefreshToken = &v + return s +} + +// The OAuth properties required for OAuth type authentication. +type OAuthProperties struct { + _ struct{} `type:"structure"` + + // The authorization code url required to redirect to SAP Login Page to fetch + // authorization code for OAuth type authentication. + // + // AuthCodeUrl is a required field + AuthCodeUrl *string `locationName:"authCodeUrl" type:"string" required:"true"` + + // The OAuth scopes required for OAuth type authentication. + // + // OAuthScopes is a required field + OAuthScopes []*string `locationName:"oAuthScopes" type:"list" required:"true"` + + // The token url required to fetch access/refresh tokens using authorization + // code and also to refresh expired access token using refresh token. + // + // TokenUrl is a required field + TokenUrl *string `locationName:"tokenUrl" type:"string" required:"true"` +} + +// String returns the string representation +func (s OAuthProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s OAuthProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OAuthProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OAuthProperties"} + if s.AuthCodeUrl == nil { + invalidParams.Add(request.NewErrParamRequired("AuthCodeUrl")) + } + if s.OAuthScopes == nil { + invalidParams.Add(request.NewErrParamRequired("OAuthScopes")) + } + if s.TokenUrl == nil { + invalidParams.Add(request.NewErrParamRequired("TokenUrl")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuthCodeUrl sets the AuthCodeUrl field's value. +func (s *OAuthProperties) SetAuthCodeUrl(v string) *OAuthProperties { + s.AuthCodeUrl = &v + return s +} + +// SetOAuthScopes sets the OAuthScopes field's value. +func (s *OAuthProperties) SetOAuthScopes(v []*string) *OAuthProperties { + s.OAuthScopes = v + return s +} + +// SetTokenUrl sets the TokenUrl field's value. +func (s *OAuthProperties) SetTokenUrl(v string) *OAuthProperties { + s.TokenUrl = &v + return s +} + // Determines the prefix that Amazon AppFlow applies to the destination folder // name. You can name your destination folders according to the flow frequency // and date. @@ -6570,6 +6830,48 @@ func (s *PrefixConfig) SetPrefixType(v string) *PrefixConfig { return s } +// Specifies the private connection provisioning state. +type PrivateConnectionProvisioningState struct { + _ struct{} `type:"structure"` + + // Specifies the private connection provisioning failure cause. + FailureCause *string `locationName:"failureCause" type:"string" enum:"PrivateConnectionProvisioningFailureCause"` + + // Specifies the private connection provisioning failure reason. + FailureMessage *string `locationName:"failureMessage" type:"string"` + + // Specifies the private connection provisioning status. + Status *string `locationName:"status" type:"string" enum:"PrivateConnectionProvisioningStatus"` +} + +// String returns the string representation +func (s PrivateConnectionProvisioningState) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PrivateConnectionProvisioningState) GoString() string { + return s.String() +} + +// SetFailureCause sets the FailureCause field's value. +func (s *PrivateConnectionProvisioningState) SetFailureCause(v string) *PrivateConnectionProvisioningState { + s.FailureCause = &v + return s +} + +// SetFailureMessage sets the FailureMessage field's value. +func (s *PrivateConnectionProvisioningState) SetFailureMessage(v string) *PrivateConnectionProvisioningState { + s.FailureMessage = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PrivateConnectionProvisioningState) SetStatus(v string) *PrivateConnectionProvisioningState { + s.Status = &v + return s +} + // The connector-specific profile credentials required when using Amazon Redshift. type RedshiftConnectorProfileCredentials struct { _ struct{} `type:"structure"` @@ -7036,6 +7338,217 @@ func (s *S3SourceProperties) SetBucketPrefix(v string) *S3SourceProperties { return s } +// The connector-specific profile credentials required when using SAPOData. +type SAPODataConnectorProfileCredentials struct { + _ struct{} `type:"structure"` + + // The SAPOData basic authentication credentials. + BasicAuthCredentials *BasicAuthCredentials `locationName:"basicAuthCredentials" type:"structure"` + + // The SAPOData OAuth type authentication credentials. + OAuthCredentials *OAuthCredentials `locationName:"oAuthCredentials" type:"structure"` +} + +// String returns the string representation +func (s SAPODataConnectorProfileCredentials) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAPODataConnectorProfileCredentials) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SAPODataConnectorProfileCredentials) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SAPODataConnectorProfileCredentials"} + if s.BasicAuthCredentials != nil { + if err := s.BasicAuthCredentials.Validate(); err != nil { + invalidParams.AddNested("BasicAuthCredentials", err.(request.ErrInvalidParams)) + } + } + if s.OAuthCredentials != nil { + if err := s.OAuthCredentials.Validate(); err != nil { + invalidParams.AddNested("OAuthCredentials", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBasicAuthCredentials sets the BasicAuthCredentials field's value. +func (s *SAPODataConnectorProfileCredentials) SetBasicAuthCredentials(v *BasicAuthCredentials) *SAPODataConnectorProfileCredentials { + s.BasicAuthCredentials = v + return s +} + +// SetOAuthCredentials sets the OAuthCredentials field's value. +func (s *SAPODataConnectorProfileCredentials) SetOAuthCredentials(v *OAuthCredentials) *SAPODataConnectorProfileCredentials { + s.OAuthCredentials = v + return s +} + +// The connector-specific profile properties required when using SAPOData. +type SAPODataConnectorProfileProperties struct { + _ struct{} `type:"structure"` + + // The location of the SAPOData resource. + // + // ApplicationHostUrl is a required field + ApplicationHostUrl *string `locationName:"applicationHostUrl" type:"string" required:"true"` + + // The application path to catalog service. + // + // ApplicationServicePath is a required field + ApplicationServicePath *string `locationName:"applicationServicePath" type:"string" required:"true"` + + // The client number for the client creating the connection. + // + // ClientNumber is a required field + ClientNumber *string `locationName:"clientNumber" min:"3" type:"string" required:"true"` + + // The logon language of SAPOData instance. + LogonLanguage *string `locationName:"logonLanguage" type:"string"` + + // The SAPOData OAuth properties required for OAuth type authentication. + OAuthProperties *OAuthProperties `locationName:"oAuthProperties" type:"structure"` + + // The port number of the SAPOData instance. + // + // PortNumber is a required field + PortNumber *int64 `locationName:"portNumber" min:"1" type:"integer" required:"true"` + + // The SAPOData Private Link service name to be used for private data transfers. + PrivateLinkServiceName *string `locationName:"privateLinkServiceName" type:"string"` +} + +// String returns the string representation +func (s SAPODataConnectorProfileProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAPODataConnectorProfileProperties) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SAPODataConnectorProfileProperties) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SAPODataConnectorProfileProperties"} + if s.ApplicationHostUrl == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationHostUrl")) + } + if s.ApplicationServicePath == nil { + invalidParams.Add(request.NewErrParamRequired("ApplicationServicePath")) + } + if s.ClientNumber == nil { + invalidParams.Add(request.NewErrParamRequired("ClientNumber")) + } + if s.ClientNumber != nil && len(*s.ClientNumber) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ClientNumber", 3)) + } + if s.PortNumber == nil { + invalidParams.Add(request.NewErrParamRequired("PortNumber")) + } + if s.PortNumber != nil && *s.PortNumber < 1 { + invalidParams.Add(request.NewErrParamMinValue("PortNumber", 1)) + } + if s.OAuthProperties != nil { + if err := s.OAuthProperties.Validate(); err != nil { + invalidParams.AddNested("OAuthProperties", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetApplicationHostUrl sets the ApplicationHostUrl field's value. +func (s *SAPODataConnectorProfileProperties) SetApplicationHostUrl(v string) *SAPODataConnectorProfileProperties { + s.ApplicationHostUrl = &v + return s +} + +// SetApplicationServicePath sets the ApplicationServicePath field's value. +func (s *SAPODataConnectorProfileProperties) SetApplicationServicePath(v string) *SAPODataConnectorProfileProperties { + s.ApplicationServicePath = &v + return s +} + +// SetClientNumber sets the ClientNumber field's value. +func (s *SAPODataConnectorProfileProperties) SetClientNumber(v string) *SAPODataConnectorProfileProperties { + s.ClientNumber = &v + return s +} + +// SetLogonLanguage sets the LogonLanguage field's value. +func (s *SAPODataConnectorProfileProperties) SetLogonLanguage(v string) *SAPODataConnectorProfileProperties { + s.LogonLanguage = &v + return s +} + +// SetOAuthProperties sets the OAuthProperties field's value. +func (s *SAPODataConnectorProfileProperties) SetOAuthProperties(v *OAuthProperties) *SAPODataConnectorProfileProperties { + s.OAuthProperties = v + return s +} + +// SetPortNumber sets the PortNumber field's value. +func (s *SAPODataConnectorProfileProperties) SetPortNumber(v int64) *SAPODataConnectorProfileProperties { + s.PortNumber = &v + return s +} + +// SetPrivateLinkServiceName sets the PrivateLinkServiceName field's value. +func (s *SAPODataConnectorProfileProperties) SetPrivateLinkServiceName(v string) *SAPODataConnectorProfileProperties { + s.PrivateLinkServiceName = &v + return s +} + +// The connector metadata specific to SAPOData. +type SAPODataMetadata struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s SAPODataMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAPODataMetadata) GoString() string { + return s.String() +} + +// The properties that are applied when using SAPOData as a flow source. +type SAPODataSourceProperties struct { + _ struct{} `type:"structure"` + + // The object path specified in the SAPOData flow source. + ObjectPath *string `locationName:"objectPath" type:"string"` +} + +// String returns the string representation +func (s SAPODataSourceProperties) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SAPODataSourceProperties) GoString() string { + return s.String() +} + +// SetObjectPath sets the ObjectPath field's value. +func (s *SAPODataSourceProperties) SetObjectPath(v string) *SAPODataSourceProperties { + s.ObjectPath = &v + return s +} + // The connector-specific profile credentials required when using Salesforce. type SalesforceConnectorProfileCredentials struct { _ struct{} `type:"structure"` @@ -7953,7 +8466,7 @@ type SnowflakeConnectorProfileProperties struct { // The Snowflake Private Link service name to be used for private data transfers. PrivateLinkServiceName *string `locationName:"privateLinkServiceName" type:"string"` - // The AWS Region of the Snowflake account. + // The Amazon Web Services Region of the Snowflake account. Region *string `locationName:"region" type:"string"` // The name of the Amazon S3 stage that was created while setting up an Amazon @@ -8131,7 +8644,7 @@ func (s *SnowflakeDestinationProperties) SetObject(v string) *SnowflakeDestinati type SnowflakeMetadata struct { _ struct{} `type:"structure"` - // Specifies the supported AWS Regions when using Snowflake. + // Specifies the supported Amazon Web Services Regions when using Snowflake. SupportedRegions []*string `locationName:"supportedRegions" type:"list"` } @@ -8176,6 +8689,9 @@ type SourceConnectorProperties struct { // Specifies the information that is required for querying Amazon S3. S3 *S3SourceProperties `type:"structure"` + // The properties that are applied when using SAPOData as a flow source. + SAPOData *SAPODataSourceProperties `type:"structure"` + // Specifies the information that is required for querying Salesforce. Salesforce *SalesforceSourceProperties `type:"structure"` @@ -8330,6 +8846,12 @@ func (s *SourceConnectorProperties) SetS3(v *S3SourceProperties) *SourceConnecto return s } +// SetSAPOData sets the SAPOData field's value. +func (s *SourceConnectorProperties) SetSAPOData(v *SAPODataSourceProperties) *SourceConnectorProperties { + s.SAPOData = v + return s +} + // SetSalesforce sets the Salesforce field's value. func (s *SourceConnectorProperties) SetSalesforce(v *SalesforceSourceProperties) *SourceConnectorProperties { s.Salesforce = v @@ -8412,7 +8934,7 @@ type SourceFlowConfig struct { _ struct{} `type:"structure"` // The name of the connector profile. This name must be unique for each connector - // profile in the AWS account. + // profile in the Amazon Web Services account. ConnectorProfileName *string `locationName:"connectorProfileName" type:"string"` // The type of connector, such as Salesforce, Amplitude, and so on. @@ -9162,7 +9684,7 @@ type UpdateConnectorProfileInput struct { ConnectorProfileConfig *ConnectorProfileConfig `locationName:"connectorProfileConfig" type:"structure" required:"true"` // The name of the connector profile and is unique for each ConnectorProfile - // in the AWS Account. + // in the Amazon Web Services account. // // ConnectorProfileName is a required field ConnectorProfileName *string `locationName:"connectorProfileName" type:"string" required:"true"` @@ -9263,7 +9785,9 @@ type UpdateFlowInput struct { // Contains information about the configuration of the source connector used // in the flow. - SourceFlowConfig *SourceFlowConfig `locationName:"sourceFlowConfig" type:"structure"` + // + // SourceFlowConfig is a required field + SourceFlowConfig *SourceFlowConfig `locationName:"sourceFlowConfig" type:"structure" required:"true"` // A list of tasks that Amazon AppFlow performs while transferring the data // in the flow run. @@ -9296,6 +9820,9 @@ func (s *UpdateFlowInput) Validate() error { if s.FlowName == nil { invalidParams.Add(request.NewErrParamRequired("FlowName")) } + if s.SourceFlowConfig == nil { + invalidParams.Add(request.NewErrParamRequired("SourceFlowConfig")) + } if s.Tasks == nil { invalidParams.Add(request.NewErrParamRequired("Tasks")) } @@ -9715,6 +10242,19 @@ func (s VeevaMetadata) GoString() string { type VeevaSourceProperties struct { _ struct{} `type:"structure"` + // The document type specified in the Veeva document extract flow. + DocumentType *string `locationName:"documentType" type:"string"` + + // Boolean value to include All Versions of files in Veeva document extract + // flow. + IncludeAllVersions *bool `locationName:"includeAllVersions" type:"boolean"` + + // Boolean value to include file renditions in Veeva document extract flow. + IncludeRenditions *bool `locationName:"includeRenditions" type:"boolean"` + + // Boolean value to include source files in Veeva document extract flow. + IncludeSourceFiles *bool `locationName:"includeSourceFiles" type:"boolean"` + // The object specified in the Veeva flow source. // // Object is a required field @@ -9744,6 +10284,30 @@ func (s *VeevaSourceProperties) Validate() error { return nil } +// SetDocumentType sets the DocumentType field's value. +func (s *VeevaSourceProperties) SetDocumentType(v string) *VeevaSourceProperties { + s.DocumentType = &v + return s +} + +// SetIncludeAllVersions sets the IncludeAllVersions field's value. +func (s *VeevaSourceProperties) SetIncludeAllVersions(v bool) *VeevaSourceProperties { + s.IncludeAllVersions = &v + return s +} + +// SetIncludeRenditions sets the IncludeRenditions field's value. +func (s *VeevaSourceProperties) SetIncludeRenditions(v bool) *VeevaSourceProperties { + s.IncludeRenditions = &v + return s +} + +// SetIncludeSourceFiles sets the IncludeSourceFiles field's value. +func (s *VeevaSourceProperties) SetIncludeSourceFiles(v bool) *VeevaSourceProperties { + s.IncludeSourceFiles = &v + return s +} + // SetObject sets the Object field's value. func (s *VeevaSourceProperties) SetObject(v string) *VeevaSourceProperties { s.Object = &v @@ -10109,6 +10673,9 @@ const ( // ConnectorTypeCustomerProfiles is a ConnectorType enum value ConnectorTypeCustomerProfiles = "CustomerProfiles" + + // ConnectorTypeSapodata is a ConnectorType enum value + ConnectorTypeSapodata = "SAPOData" ) // ConnectorType_Values returns all elements of the ConnectorType enum @@ -10135,6 +10702,7 @@ func ConnectorType_Values() []string { ConnectorTypeUpsolver, ConnectorTypeHoneycode, ConnectorTypeCustomerProfiles, + ConnectorTypeSapodata, } } @@ -10726,6 +11294,54 @@ func PrefixType_Values() []string { } } +const ( + // PrivateConnectionProvisioningFailureCauseConnectorAuthentication is a PrivateConnectionProvisioningFailureCause enum value + PrivateConnectionProvisioningFailureCauseConnectorAuthentication = "CONNECTOR_AUTHENTICATION" + + // PrivateConnectionProvisioningFailureCauseConnectorServer is a PrivateConnectionProvisioningFailureCause enum value + PrivateConnectionProvisioningFailureCauseConnectorServer = "CONNECTOR_SERVER" + + // PrivateConnectionProvisioningFailureCauseInternalServer is a PrivateConnectionProvisioningFailureCause enum value + PrivateConnectionProvisioningFailureCauseInternalServer = "INTERNAL_SERVER" + + // PrivateConnectionProvisioningFailureCauseAccessDenied is a PrivateConnectionProvisioningFailureCause enum value + PrivateConnectionProvisioningFailureCauseAccessDenied = "ACCESS_DENIED" + + // PrivateConnectionProvisioningFailureCauseValidation is a PrivateConnectionProvisioningFailureCause enum value + PrivateConnectionProvisioningFailureCauseValidation = "VALIDATION" +) + +// PrivateConnectionProvisioningFailureCause_Values returns all elements of the PrivateConnectionProvisioningFailureCause enum +func PrivateConnectionProvisioningFailureCause_Values() []string { + return []string{ + PrivateConnectionProvisioningFailureCauseConnectorAuthentication, + PrivateConnectionProvisioningFailureCauseConnectorServer, + PrivateConnectionProvisioningFailureCauseInternalServer, + PrivateConnectionProvisioningFailureCauseAccessDenied, + PrivateConnectionProvisioningFailureCauseValidation, + } +} + +const ( + // PrivateConnectionProvisioningStatusFailed is a PrivateConnectionProvisioningStatus enum value + PrivateConnectionProvisioningStatusFailed = "FAILED" + + // PrivateConnectionProvisioningStatusPending is a PrivateConnectionProvisioningStatus enum value + PrivateConnectionProvisioningStatusPending = "PENDING" + + // PrivateConnectionProvisioningStatusCreated is a PrivateConnectionProvisioningStatus enum value + PrivateConnectionProvisioningStatusCreated = "CREATED" +) + +// PrivateConnectionProvisioningStatus_Values returns all elements of the PrivateConnectionProvisioningStatus enum +func PrivateConnectionProvisioningStatus_Values() []string { + return []string{ + PrivateConnectionProvisioningStatusFailed, + PrivateConnectionProvisioningStatusPending, + PrivateConnectionProvisioningStatusCreated, + } +} + const ( // S3ConnectorOperatorProjection is a S3ConnectorOperator enum value S3ConnectorOperatorProjection = "PROJECTION" @@ -10814,6 +11430,98 @@ func S3ConnectorOperator_Values() []string { } } +const ( + // SAPODataConnectorOperatorProjection is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorProjection = "PROJECTION" + + // SAPODataConnectorOperatorLessThan is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorLessThan = "LESS_THAN" + + // SAPODataConnectorOperatorContains is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorContains = "CONTAINS" + + // SAPODataConnectorOperatorGreaterThan is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorGreaterThan = "GREATER_THAN" + + // SAPODataConnectorOperatorBetween is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorBetween = "BETWEEN" + + // SAPODataConnectorOperatorLessThanOrEqualTo is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorLessThanOrEqualTo = "LESS_THAN_OR_EQUAL_TO" + + // SAPODataConnectorOperatorGreaterThanOrEqualTo is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorGreaterThanOrEqualTo = "GREATER_THAN_OR_EQUAL_TO" + + // SAPODataConnectorOperatorEqualTo is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorEqualTo = "EQUAL_TO" + + // SAPODataConnectorOperatorNotEqualTo is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorNotEqualTo = "NOT_EQUAL_TO" + + // SAPODataConnectorOperatorAddition is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorAddition = "ADDITION" + + // SAPODataConnectorOperatorMultiplication is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorMultiplication = "MULTIPLICATION" + + // SAPODataConnectorOperatorDivision is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorDivision = "DIVISION" + + // SAPODataConnectorOperatorSubtraction is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorSubtraction = "SUBTRACTION" + + // SAPODataConnectorOperatorMaskAll is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorMaskAll = "MASK_ALL" + + // SAPODataConnectorOperatorMaskFirstN is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorMaskFirstN = "MASK_FIRST_N" + + // SAPODataConnectorOperatorMaskLastN is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorMaskLastN = "MASK_LAST_N" + + // SAPODataConnectorOperatorValidateNonNull is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorValidateNonNull = "VALIDATE_NON_NULL" + + // SAPODataConnectorOperatorValidateNonZero is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorValidateNonZero = "VALIDATE_NON_ZERO" + + // SAPODataConnectorOperatorValidateNonNegative is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorValidateNonNegative = "VALIDATE_NON_NEGATIVE" + + // SAPODataConnectorOperatorValidateNumeric is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorValidateNumeric = "VALIDATE_NUMERIC" + + // SAPODataConnectorOperatorNoOp is a SAPODataConnectorOperator enum value + SAPODataConnectorOperatorNoOp = "NO_OP" +) + +// SAPODataConnectorOperator_Values returns all elements of the SAPODataConnectorOperator enum +func SAPODataConnectorOperator_Values() []string { + return []string{ + SAPODataConnectorOperatorProjection, + SAPODataConnectorOperatorLessThan, + SAPODataConnectorOperatorContains, + SAPODataConnectorOperatorGreaterThan, + SAPODataConnectorOperatorBetween, + SAPODataConnectorOperatorLessThanOrEqualTo, + SAPODataConnectorOperatorGreaterThanOrEqualTo, + SAPODataConnectorOperatorEqualTo, + SAPODataConnectorOperatorNotEqualTo, + SAPODataConnectorOperatorAddition, + SAPODataConnectorOperatorMultiplication, + SAPODataConnectorOperatorDivision, + SAPODataConnectorOperatorSubtraction, + SAPODataConnectorOperatorMaskAll, + SAPODataConnectorOperatorMaskFirstN, + SAPODataConnectorOperatorMaskLastN, + SAPODataConnectorOperatorValidateNonNull, + SAPODataConnectorOperatorValidateNonZero, + SAPODataConnectorOperatorValidateNonNegative, + SAPODataConnectorOperatorValidateNumeric, + SAPODataConnectorOperatorNoOp, + } +} + const ( // SalesforceConnectorOperatorProjection is a SalesforceConnectorOperator enum value SalesforceConnectorOperatorProjection = "PROJECTION" diff --git a/service/appflow/doc.go b/service/appflow/doc.go index 5bced53aa23..61dae8fb7a6 100644 --- a/service/appflow/doc.go +++ b/service/appflow/doc.go @@ -9,8 +9,8 @@ // // Amazon AppFlow is a fully managed integration service that enables you to // securely transfer data between software as a service (SaaS) applications -// like Salesforce, Marketo, Slack, and ServiceNow, and AWS services like Amazon -// S3 and Amazon Redshift. +// like Salesforce, Marketo, Slack, and ServiceNow, and Amazon Web Services +// like Amazon S3 and Amazon Redshift. // // Use the following links to get started on the Amazon AppFlow API: // diff --git a/service/applicationautoscaling/api.go b/service/applicationautoscaling/api.go index 71b0c40d6c4..bff51e3df61 100644 --- a/service/applicationautoscaling/api.go +++ b/service/applicationautoscaling/api.go @@ -1405,8 +1405,8 @@ func (s *ConcurrentUpdateException) RequestID() string { // Represents a CloudWatch metric of your choosing for a target tracking scaling // policy to use with Application Auto Scaling. // -// For information about the available metrics for a service, see AWS Services -// That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) +// For information about the available metrics for a service, see Amazon Web +// Services Services That Publish CloudWatch Metrics (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/aws-services-cloudwatch-metrics.html) // in the Amazon CloudWatch User Guide. // // To create your customized metric specification: @@ -1577,6 +1577,9 @@ type DeleteScalingPolicyInput struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1585,12 +1588,12 @@ type DeleteScalingPolicyInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -1635,11 +1638,18 @@ type DeleteScalingPolicyInput struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -1773,6 +1783,9 @@ type DeleteScheduledActionInput struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1781,12 +1794,12 @@ type DeleteScheduledActionInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -1831,6 +1844,12 @@ type DeleteScheduledActionInput struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -1839,8 +1858,9 @@ type DeleteScheduledActionInput struct { // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -1974,6 +1994,9 @@ type DeregisterScalableTargetInput struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1982,12 +2005,12 @@ type DeregisterScalableTargetInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -2032,11 +2055,18 @@ type DeregisterScalableTargetInput struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2169,6 +2199,9 @@ type DescribeScalableTargetsInput struct { // // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. + // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -2177,12 +2210,12 @@ type DescribeScalableTargetsInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -2226,10 +2259,17 @@ type DescribeScalableTargetsInput struct { // // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. + // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. ScalableDimension *string `type:"string" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2384,6 +2424,9 @@ type DescribeScalingActivitiesInput struct { // // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. + // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2392,12 +2435,12 @@ type DescribeScalingActivitiesInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -2441,10 +2484,17 @@ type DescribeScalingActivitiesInput struct { // // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. + // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. ScalableDimension *string `type:"string" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2605,6 +2655,9 @@ type DescribeScalingPoliciesInput struct { // // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. + // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2613,12 +2666,12 @@ type DescribeScalingPoliciesInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -2662,10 +2715,17 @@ type DescribeScalingPoliciesInput struct { // // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. + // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. ScalableDimension *string `type:"string" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -2829,6 +2889,9 @@ type DescribeScheduledActionsInput struct { // // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. + // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2837,12 +2900,12 @@ type DescribeScheduledActionsInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -2886,13 +2949,20 @@ type DescribeScheduledActionsInput struct { // // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. + // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The names of the scheduled actions to describe. ScheduledActionNames []*string `type:"list"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -3339,7 +3409,7 @@ func (s *ObjectNotFoundException) RequestID() string { // Represents a predefined metric for a target tracking scaling policy to use // with Application Auto Scaling. // -// Only the AWS services that you're using send metrics to Amazon CloudWatch. +// Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. // To determine whether a desired metric already exists by looking up its namespace // and dimension using the CloudWatch metrics dashboard in the console, follow // the procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) @@ -3359,8 +3429,12 @@ type PredefinedMetricSpecification struct { // // You create the resource label by appending the final portion of the load // balancer ARN and the final portion of the target group ARN into a single - // value, separated by a forward slash (/). The format is app///targetgroup//, - // where: + // value, separated by a forward slash (/). The format of the resource label + // is: + // + // app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff. + // + // Where: // // * app// is the final portion of // the load balancer ARN @@ -3368,8 +3442,6 @@ type PredefinedMetricSpecification struct { // * targetgroup// is the final portion // of the target group ARN. // - // This is an example: app/EC2Co-EcsEl-1TKLTMITMM0EO/f37c06a68c1748aa/targetgroup/EC2Co-Defau-LDNM7Q3ZH1ZN/6d4ea56ca2d6a18d. - // // To find the ARN for an Application Load Balancer, use the DescribeLoadBalancers // (https://docs.aws.amazon.com/elasticloadbalancing/latest/APIReference/API_DescribeLoadBalancers.html) // API operation. To find the ARN for the target group, use the DescribeTargetGroups @@ -3432,7 +3504,7 @@ type PutScalingPolicyInput struct { // TargetTrackingScaling—Not supported for Amazon EMR // // StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon - // Keyspaces (for Apache Cassandra), or Amazon MSK. + // Keyspaces (for Apache Cassandra), Amazon MSK, or Amazon ElastiCache for Redis. // // For more information, see Target tracking scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html) // and Step scaling policies (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html) @@ -3488,6 +3560,9 @@ type PutScalingPolicyInput struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3496,12 +3571,12 @@ type PutScalingPolicyInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -3546,11 +3621,18 @@ type PutScalingPolicyInput struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -3748,6 +3830,9 @@ type PutScheduledActionInput struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -3756,12 +3841,12 @@ type PutScheduledActionInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -3806,6 +3891,12 @@ type PutScheduledActionInput struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -3848,8 +3939,9 @@ type PutScheduledActionInput struct { // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4055,6 +4147,9 @@ type RegisterScalableTargetInput struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4072,12 +4167,12 @@ type RegisterScalableTargetInput struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -4122,11 +4217,18 @@ type RegisterScalableTargetInput struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource. For a resource - // provided by your own application or service, use custom-resource instead. + // The namespace of the Amazon Web Services service that provides the resource. + // For a resource provided by your own application or service, use custom-resource + // instead. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4311,6 +4413,9 @@ type ScalableTarget struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4325,12 +4430,12 @@ type ScalableTarget struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -4375,10 +4480,17 @@ type ScalableTarget struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource, or a custom-resource. + // The namespace of the Amazon Web Services service that provides the resource, + // or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4566,6 +4678,9 @@ type ScalingActivity struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4574,12 +4689,12 @@ type ScalingActivity struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -4624,10 +4739,17 @@ type ScalingActivity struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource, or a custom-resource. + // The namespace of the Amazon Web Services service that provides the resource, + // or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -4802,6 +4924,9 @@ type ScalingPolicy struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4810,12 +4935,12 @@ type ScalingPolicy struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -4860,10 +4985,17 @@ type ScalingPolicy struct { // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` - // The namespace of the AWS service that provides the resource, or a custom-resource. + // The namespace of the Amazon Web Services service that provides the resource, + // or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -5006,6 +5138,9 @@ type ScheduledAction struct { // * Amazon MSK cluster - The resource type and unique identifier are specified // using the cluster ARN. Example: arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5. // + // * Amazon ElastiCache replication group - The resource type is replication-group + // and the unique identifier is the replication group name. Example: replication-group/mycluster. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -5014,12 +5149,12 @@ type ScheduledAction struct { // // * ecs:service:DesiredCount - The desired task count of an ECS service. // - // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot - // Fleet request. - // // * elasticmapreduce:instancegroup:InstanceCount - The instance count of // an EMR Instance Group. // + // * ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot + // Fleet request. + // // * appstream:fleet:DesiredCapacity - The desired capacity of an AppStream // 2.0 fleet. // @@ -5063,6 +5198,12 @@ type ScheduledAction struct { // // * kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) // for brokers in an Amazon MSK cluster. + // + // * elasticache:replication-group:NodeGroups - The number of node groups + // for an Amazon ElastiCache replication group. + // + // * elasticache:replication-group:Replicas - The number of replicas per + // node group for an Amazon ElastiCache replication group. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. @@ -5110,7 +5251,8 @@ type ScheduledAction struct { // ScheduledActionName is a required field ScheduledActionName *string `min:"1" type:"string" required:"true"` - // The namespace of the AWS service that provides the resource, or a custom-resource. + // The namespace of the Amazon Web Services service that provides the resource, + // or a custom-resource. // // ServiceNamespace is a required field ServiceNamespace *string `type:"string" required:"true" enum:"ServiceNamespace"` @@ -5332,8 +5474,9 @@ type StepScalingPolicyConfiguration struct { // Auto Scaling scales out the target immediately. In this case, the cooldown // period for the scale-in activity stops and doesn't complete. // - // Application Auto Scaling provides a default value of 300 for the following - // scalable targets: + // Application Auto Scaling provides a default value of 600 for Amazon ElastiCache + // replication groups and a default value of 300 for the following scalable + // targets: // // * ECS services // @@ -5524,8 +5667,9 @@ type TargetTrackingScalingPolicyConfiguration struct { // Auto Scaling scales out the target immediately. In this case, the scale-in // cooldown period stops and doesn't complete. // - // Application Auto Scaling provides a default value of 300 for the following - // scalable targets: + // Application Auto Scaling provides a default value of 600 for Amazon ElastiCache + // replication groups and a default value of 300 for the following scalable + // targets: // // * ECS services // @@ -5568,8 +5712,9 @@ type TargetTrackingScalingPolicyConfiguration struct { // activity is calculated as part of the desired capacity for the next scale-out // activity. // - // Application Auto Scaling provides a default value of 300 for the following - // scalable targets: + // Application Auto Scaling provides a default value of 600 for Amazon ElastiCache + // replication groups and a default value of 300 for the following scalable + // targets: // // * ECS services // @@ -5856,6 +6001,15 @@ const ( // MetricTypeKafkaBrokerStorageUtilization is a MetricType enum value MetricTypeKafkaBrokerStorageUtilization = "KafkaBrokerStorageUtilization" + + // MetricTypeElastiCachePrimaryEngineCpuutilization is a MetricType enum value + MetricTypeElastiCachePrimaryEngineCpuutilization = "ElastiCachePrimaryEngineCPUUtilization" + + // MetricTypeElastiCacheReplicaEngineCpuutilization is a MetricType enum value + MetricTypeElastiCacheReplicaEngineCpuutilization = "ElastiCacheReplicaEngineCPUUtilization" + + // MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage is a MetricType enum value + MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage = "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage" ) // MetricType_Values returns all elements of the MetricType enum @@ -5878,6 +6032,9 @@ func MetricType_Values() []string { MetricTypeCassandraReadCapacityUtilization, MetricTypeCassandraWriteCapacityUtilization, MetricTypeKafkaBrokerStorageUtilization, + MetricTypeElastiCachePrimaryEngineCpuutilization, + MetricTypeElastiCacheReplicaEngineCpuutilization, + MetricTypeElastiCacheDatabaseMemoryUsageCountedForEvictPercentage, } } @@ -5948,6 +6105,12 @@ const ( // ScalableDimensionKafkaBrokerStorageVolumeSize is a ScalableDimension enum value ScalableDimensionKafkaBrokerStorageVolumeSize = "kafka:broker-storage:VolumeSize" + + // ScalableDimensionElasticacheReplicationGroupNodeGroups is a ScalableDimension enum value + ScalableDimensionElasticacheReplicationGroupNodeGroups = "elasticache:replication-group:NodeGroups" + + // ScalableDimensionElasticacheReplicationGroupReplicas is a ScalableDimension enum value + ScalableDimensionElasticacheReplicationGroupReplicas = "elasticache:replication-group:Replicas" ) // ScalableDimension_Values returns all elements of the ScalableDimension enum @@ -5970,6 +6133,8 @@ func ScalableDimension_Values() []string { ScalableDimensionCassandraTableReadCapacityUnits, ScalableDimensionCassandraTableWriteCapacityUnits, ScalableDimensionKafkaBrokerStorageVolumeSize, + ScalableDimensionElasticacheReplicationGroupNodeGroups, + ScalableDimensionElasticacheReplicationGroupReplicas, } } @@ -6041,6 +6206,9 @@ const ( // ServiceNamespaceKafka is a ServiceNamespace enum value ServiceNamespaceKafka = "kafka" + + // ServiceNamespaceElasticache is a ServiceNamespace enum value + ServiceNamespaceElasticache = "elasticache" ) // ServiceNamespace_Values returns all elements of the ServiceNamespace enum @@ -6058,5 +6226,6 @@ func ServiceNamespace_Values() []string { ServiceNamespaceLambda, ServiceNamespaceCassandra, ServiceNamespaceKafka, + ServiceNamespaceElasticache, } } diff --git a/service/applicationautoscaling/doc.go b/service/applicationautoscaling/doc.go index ae6409361ba..11a5f4951ae 100644 --- a/service/applicationautoscaling/doc.go +++ b/service/applicationautoscaling/doc.go @@ -6,38 +6,40 @@ // With Application Auto Scaling, you can configure automatic scaling for the // following resources: // -// * Amazon ECS services -// -// * Amazon EC2 Spot Fleet requests -// -// * Amazon EMR clusters -// // * Amazon AppStream 2.0 fleets // -// * Amazon DynamoDB tables and global secondary indexes throughput capacity -// // * Amazon Aurora Replicas // -// * Amazon SageMaker endpoint variants +// * Amazon Comprehend document classification and entity recognizer endpoints // -// * Custom resources provided by your own applications or services +// * Amazon DynamoDB tables and global secondary indexes throughput capacity // -// * Amazon Comprehend document classification and entity recognizer endpoints +// * Amazon ECS services // -// * AWS Lambda function provisioned concurrency +// * Amazon ElastiCache for Redis clusters (replication groups) +// +// * Amazon EMR clusters // // * Amazon Keyspaces (for Apache Cassandra) tables // +// * Lambda function provisioned concurrency +// // * Amazon Managed Streaming for Apache Kafka broker storage // +// * Amazon SageMaker endpoint variants +// +// * Spot Fleet (Amazon EC2) requests +// +// * Custom resources provided by your own applications or services +// // API Summary // // The Application Auto Scaling service API includes three key sets of actions: // -// * Register and manage scalable targets - Register AWS or custom resources -// as scalable targets (a resource that Application Auto Scaling can scale), -// set minimum and maximum capacity limits, and retrieve information on existing -// scalable targets. +// * Register and manage scalable targets - Register Amazon Web Services +// or custom resources as scalable targets (a resource that Application Auto +// Scaling can scale), set minimum and maximum capacity limits, and retrieve +// information on existing scalable targets. // // * Configure and manage automatic scaling - Define scaling policies to // dynamically scale your resources in response to CloudWatch alarms, schedule diff --git a/service/ec2/api.go b/service/ec2/api.go index b15d00639bc..069cc451381 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -34267,9 +34267,9 @@ func (c *EC2) ImportInstanceRequest(input *ImportInstanceInput) (req *request.Re // This API action supports only single-volume VMs. To import multi-volume VMs, // use ImportImage instead. // -// This API action is not supported by the AWS Command Line Interface (AWS CLI). -// For information about using the Amazon EC2 CLI, which is deprecated, see -// Importing a VM to Amazon EC2 (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#UsingVirtualMachinesinAmazonEC2) +// This API action is not supported by the Command Line Interface (CLI). For +// information about using the Amazon EC2 CLI, which is deprecated, see Importing +// a VM to Amazon EC2 (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#UsingVirtualMachinesinAmazonEC2) // in the Amazon EC2 CLI Reference PDF file. // // For information about the import manifest referenced by this API action, @@ -34513,9 +34513,9 @@ func (c *EC2) ImportVolumeRequest(input *ImportVolumeInput) (req *request.Reques // use ImportImage instead. To import a disk to a snapshot, use ImportSnapshot // instead. // -// This API action is not supported by the AWS Command Line Interface (AWS CLI). -// For information about using the Amazon EC2 CLI, which is deprecated, see -// Importing Disks to Amazon EBS (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#importing-your-volumes-into-amazon-ebs) +// This API action is not supported by the Command Line Interface (CLI). For +// information about using the Amazon EC2 CLI, which is deprecated, see Importing +// Disks to Amazon EBS (https://awsdocs.s3.amazonaws.com/EC2/ec2-clt.pdf#importing-your-volumes-into-amazon-ebs) // in the Amazon EC2 CLI Reference PDF file. // // For information about the import manifest referenced by this API action, @@ -85905,7 +85905,8 @@ type ExportImageInput struct { RoleName *string `type:"string"` // Information about the destination Amazon S3 bucket. The bucket must exist - // and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com. + // and grant WRITE and READ_ACP permissions to the Amazon Web Services account + // vm-import-export@amazon.com. // // S3ExportLocation is a required field S3ExportLocation *ExportTaskS3LocationRequest `type:"structure" required:"true"` @@ -86361,7 +86362,8 @@ type ExportToS3Task struct { DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"` // The Amazon S3 bucket for the destination image. The destination bucket must - // exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com. + // exist and grant WRITE and READ_ACP permissions to the Amazon Web Services + // account vm-import-export@amazon.com. S3Bucket *string `locationName:"s3Bucket" type:"string"` // The encryption key for your S3 bucket. @@ -86414,7 +86416,8 @@ type ExportToS3TaskSpecification struct { DiskImageFormat *string `locationName:"diskImageFormat" type:"string" enum:"DiskImageFormat"` // The Amazon S3 bucket for the destination image. The destination bucket must - // exist and grant WRITE and READ_ACP permissions to the AWS account vm-import-export@amazon.com. + // exist and grant WRITE and READ_ACP permissions to the Amazon Web Services + // account vm-import-export@amazon.com. S3Bucket *string `locationName:"s3Bucket" type:"string"` // The image is written to a single object in the Amazon S3 bucket at the S3 @@ -92026,9 +92029,8 @@ type ImportImageInput struct { DryRun *bool `type:"boolean"` // Specifies whether the destination AMI of the imported image should be encrypted. - // The default CMK for EBS is used unless you specify a non-default AWS Key - // Management Service (AWS KMS) CMK using KmsKeyId. For more information, see - // Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // The default KMS key for EBS is used unless you specify a non-default KMS + // key using KmsKeyId. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `type:"boolean"` @@ -92037,35 +92039,36 @@ type ImportImageInput struct { // Valid values: xen Hypervisor *string `type:"string"` - // An identifier for the symmetric AWS Key Management Service (AWS KMS) customer - // master key (CMK) to use when creating the encrypted AMI. This parameter is - // only required if you want to use a non-default CMK; if this parameter is - // not specified, the default CMK for EBS is used. If a KmsKeyId is specified, - // the Encrypted flag must also be set. + // An identifier for the symmetric KMS key to use when creating the encrypted + // AMI. This parameter is only required if you want to use a non-default KMS + // key; if this parameter is not specified, the default KMS key for EBS is used. + // If a KmsKeyId is specified, the Encrypted flag must also be set. // - // The CMK identifier may be provided in any of the following formats: + // The KMS key identifier may be provided in any of the following formats: // // * Key ID // // * Key alias. The alias ARN contains the arn:aws:kms namespace, followed - // by the Region of the CMK, the AWS account ID of the CMK owner, the alias - // namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // by the Region of the key, the Amazon Web Services account ID of the key + // owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the Region of the CMK, the AWS account ID of the CMK owner, the key - // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. + // by the Region of the key, the Amazon Web Services account ID of the key + // owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. // // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the Region of the CMK, the AWS account ID of the CMK owner, - // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // followed by the Region of the key, the Amazon Web Services account ID + // of the key owner, the alias namespace, and then the key alias. For example, + // arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // - // AWS parses KmsKeyId asynchronously, meaning that the action you call may - // appear to complete even though you provided an invalid identifier. This action - // will eventually report failure. + // Amazon Web Services parses KmsKeyId asynchronously, meaning that the action + // you call may appear to complete even though you provided an invalid identifier. + // This action will eventually report failure. // - // The specified CMK must exist in the Region that the AMI is being copied to. + // The specified KMS key must exist in the Region that the AMI is being copied + // to. // - // Amazon EBS does not support asymmetric CMKs. + // Amazon EBS does not support asymmetric KMS keys. KmsKeyId *string `type:"string"` // The ARNs of the license configurations. @@ -92075,12 +92078,12 @@ type ImportImageInput struct { // // By default, we detect the source-system operating system (OS) and apply the // appropriate license. Specify AWS to replace the source-system license with - // an AWS license, if appropriate. Specify BYOL to retain the source-system - // license, if appropriate. + // an Amazon Web Services license, if appropriate. Specify BYOL to retain the + // source-system license, if appropriate. // // To use BYOL, you must have existing licenses with rights to use these licenses - // in a third party cloud, such as AWS. For more information, see Prerequisites - // (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) + // in a third party cloud, such as Amazon Web Services. For more information, + // see Prerequisites (https://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html#prerequisites-image) // in the VM Import/Export User Guide. LicenseType *string `type:"string"` @@ -92094,6 +92097,11 @@ type ImportImageInput struct { // The tags to apply to the import image task during creation. TagSpecifications []*TagSpecification `locationName:"TagSpecification" locationNameList:"item" type:"list"` + + // The usage operation value. For more information, see AMI billing information + // fields (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/billing-info-fields.html) + // in the Amazon Elastic Compute Cloud User Guide. + UsageOperation *string `type:"string"` } // String returns the string representation @@ -92190,6 +92198,12 @@ func (s *ImportImageInput) SetTagSpecifications(v []*TagSpecification) *ImportIm return s } +// SetUsageOperation sets the UsageOperation field's value. +func (s *ImportImageInput) SetUsageOperation(v string) *ImportImageInput { + s.UsageOperation = &v + return s +} + // The request information of license configurations. type ImportImageLicenseConfigurationRequest struct { _ struct{} `type:"structure"` @@ -92259,8 +92273,8 @@ type ImportImageOutput struct { // The task ID of the import image task. ImportTaskId *string `locationName:"importTaskId" type:"string"` - // The identifier for the symmetric AWS Key Management Service (AWS KMS) customer - // master key (CMK) that was used to create the encrypted AMI. + // The identifier for the symmetric KMS key that was used to create the encrypted + // AMI. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // The ARNs of the license configurations. @@ -92286,6 +92300,9 @@ type ImportImageOutput struct { // Any tags assigned to the import image task. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The usage operation value. + UsageOperation *string `locationName:"usageOperation" type:"string"` } // String returns the string representation @@ -92388,6 +92405,12 @@ func (s *ImportImageOutput) SetTags(v []*Tag) *ImportImageOutput { return s } +// SetUsageOperation sets the UsageOperation field's value. +func (s *ImportImageOutput) SetUsageOperation(v string) *ImportImageOutput { + s.UsageOperation = &v + return s +} + // Describes an import image task. type ImportImageTask struct { _ struct{} `type:"structure"` @@ -92414,8 +92437,7 @@ type ImportImageTask struct { // The ID of the import image task. ImportTaskId *string `locationName:"importTaskId" type:"string"` - // The identifier for the AWS Key Management Service (AWS KMS) customer master - // key (CMK) that was used to create the encrypted image. + // The identifier for the KMS key that was used to create the encrypted image. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // The ARNs of the license configurations that are associated with the import @@ -92442,6 +92464,9 @@ type ImportImageTask struct { // The tags for the import image task. Tags []*Tag `locationName:"tagSet" locationNameList:"item" type:"list"` + + // The usage operation value. + UsageOperation *string `locationName:"usageOperation" type:"string"` } // String returns the string representation @@ -92544,6 +92569,12 @@ func (s *ImportImageTask) SetTags(v []*Tag) *ImportImageTask { return s } +// SetUsageOperation sets the UsageOperation field's value. +func (s *ImportImageTask) SetUsageOperation(v string) *ImportImageTask { + s.UsageOperation = &v + return s +} + type ImportInstanceInput struct { _ struct{} `type:"structure"` @@ -93048,42 +93079,41 @@ type ImportSnapshotInput struct { DryRun *bool `type:"boolean"` // Specifies whether the destination snapshot of the imported image should be - // encrypted. The default CMK for EBS is used unless you specify a non-default - // AWS Key Management Service (AWS KMS) CMK using KmsKeyId. For more information, - // see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) + // encrypted. The default KMS key for EBS is used unless you specify a non-default + // KMS key using KmsKeyId. For more information, see Amazon EBS Encryption (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html) // in the Amazon Elastic Compute Cloud User Guide. Encrypted *bool `type:"boolean"` - // An identifier for the symmetric AWS Key Management Service (AWS KMS) customer - // master key (CMK) to use when creating the encrypted snapshot. This parameter - // is only required if you want to use a non-default CMK; if this parameter - // is not specified, the default CMK for EBS is used. If a KmsKeyId is specified, - // the Encrypted flag must also be set. + // An identifier for the symmetric KMS key to use when creating the encrypted + // snapshot. This parameter is only required if you want to use a non-default + // KMS key; if this parameter is not specified, the default KMS key for EBS + // is used. If a KmsKeyId is specified, the Encrypted flag must also be set. // - // The CMK identifier may be provided in any of the following formats: + // The KMS key identifier may be provided in any of the following formats: // // * Key ID // // * Key alias. The alias ARN contains the arn:aws:kms namespace, followed - // by the Region of the CMK, the AWS account ID of the CMK owner, the alias - // namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // by the Region of the key, the Amazon Web Services account ID of the key + // owner, the alias namespace, and then the key alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // // * ARN using key ID. The ID ARN contains the arn:aws:kms namespace, followed - // by the Region of the CMK, the AWS account ID of the CMK owner, the key - // namespace, and then the CMK ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. + // by the Region of the key, the Amazon Web Services account ID of the key + // owner, the key namespace, and then the key ID. For example, arn:aws:kms:us-east-1:012345678910:key/abcd1234-a123-456a-a12b-a123b4cd56ef. // // * ARN using key alias. The alias ARN contains the arn:aws:kms namespace, - // followed by the Region of the CMK, the AWS account ID of the CMK owner, - // the alias namespace, and then the CMK alias. For example, arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. + // followed by the Region of the key, the Amazon Web Services account ID + // of the key owner, the alias namespace, and then the key alias. For example, + // arn:aws:kms:us-east-1:012345678910:alias/ExampleAlias. // - // AWS parses KmsKeyId asynchronously, meaning that the action you call may - // appear to complete even though you provided an invalid identifier. This action - // will eventually report failure. + // Amazon Web Services parses KmsKeyId asynchronously, meaning that the action + // you call may appear to complete even though you provided an invalid identifier. + // This action will eventually report failure. // - // The specified CMK must exist in the Region that the snapshot is being copied - // to. + // The specified KMS key must exist in the Region that the snapshot is being + // copied to. // - // Amazon EBS does not support asymmetric CMKs. + // Amazon EBS does not support asymmetric KMS keys. KmsKeyId *string `type:"string"` // The name of the role to use when not using the default role, 'vmimport'. @@ -119217,8 +119247,7 @@ type SnapshotTaskDetail struct { // The format of the disk image from which the snapshot is created. Format *string `locationName:"format" type:"string"` - // The identifier for the AWS Key Management Service (AWS KMS) customer master - // key (CMK) that was used to create the encrypted snapshot. + // The identifier for the KMS key that was used to create the encrypted snapshot. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // The percentage of completion for the import snapshot task. @@ -126142,9 +126171,9 @@ func (s *UserBucketDetails) SetS3Key(v string) *UserBucketDetails { type UserData struct { _ struct{} `type:"structure" sensitive:"true"` - // The user data. If you are using an AWS SDK or command line tool, Base64-encoding - // is performed for you, and you can load the text from a file. Otherwise, you - // must provide Base64-encoded text. + // The user data. If you are using an Amazon Web Services SDK or command line + // tool, Base64-encoding is performed for you, and you can load the text from + // a file. Otherwise, you must provide Base64-encoded text. Data *string `locationName:"data" type:"string"` } diff --git a/service/memorydb/api.go b/service/memorydb/api.go new file mode 100644 index 00000000000..0b6de2190a9 --- /dev/null +++ b/service/memorydb/api.go @@ -0,0 +1,11061 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package memorydb + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" +) + +const opBatchUpdateCluster = "BatchUpdateCluster" + +// BatchUpdateClusterRequest generates a "aws/request.Request" representing the +// client's request for the BatchUpdateCluster 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 BatchUpdateCluster for more information on using the BatchUpdateCluster +// 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 BatchUpdateClusterRequest method. +// req, resp := client.BatchUpdateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/BatchUpdateCluster +func (c *MemoryDB) BatchUpdateClusterRequest(input *BatchUpdateClusterInput) (req *request.Request, output *BatchUpdateClusterOutput) { + op := &request.Operation{ + Name: opBatchUpdateCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &BatchUpdateClusterInput{} + } + + output = &BatchUpdateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// BatchUpdateCluster API operation for Amazon MemoryDB. +// +// Apply the service update to a list of clusters supplied. For more information +// on service updates and applying them, see Applying the service updates (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/managing-updates.html#applying-updates). +// +// 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 MemoryDB's +// API operation BatchUpdateCluster for usage and error information. +// +// Returned Error Types: +// * ServiceUpdateNotFoundFault +// +// * InvalidParameterValueException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/BatchUpdateCluster +func (c *MemoryDB) BatchUpdateCluster(input *BatchUpdateClusterInput) (*BatchUpdateClusterOutput, error) { + req, out := c.BatchUpdateClusterRequest(input) + return out, req.Send() +} + +// BatchUpdateClusterWithContext is the same as BatchUpdateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See BatchUpdateCluster 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 *MemoryDB) BatchUpdateClusterWithContext(ctx aws.Context, input *BatchUpdateClusterInput, opts ...request.Option) (*BatchUpdateClusterOutput, error) { + req, out := c.BatchUpdateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCopySnapshot = "CopySnapshot" + +// CopySnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CopySnapshot 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 CopySnapshot for more information on using the CopySnapshot +// 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 CopySnapshotRequest method. +// req, resp := client.CopySnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CopySnapshot +func (c *MemoryDB) CopySnapshotRequest(input *CopySnapshotInput) (req *request.Request, output *CopySnapshotOutput) { + op := &request.Operation{ + Name: opCopySnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CopySnapshotInput{} + } + + output = &CopySnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CopySnapshot API operation for Amazon MemoryDB. +// +// Makes a copy of an existing snapshot. +// +// 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 MemoryDB's +// API operation CopySnapshot for usage and error information. +// +// Returned Error Types: +// * SnapshotAlreadyExistsFault +// +// * SnapshotNotFoundFault +// +// * SnapshotQuotaExceededFault +// +// * InvalidSnapshotStateFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// * TagQuotaPerResourceExceeded +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CopySnapshot +func (c *MemoryDB) CopySnapshot(input *CopySnapshotInput) (*CopySnapshotOutput, error) { + req, out := c.CopySnapshotRequest(input) + return out, req.Send() +} + +// CopySnapshotWithContext is the same as CopySnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CopySnapshot 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 *MemoryDB) CopySnapshotWithContext(ctx aws.Context, input *CopySnapshotInput, opts ...request.Option) (*CopySnapshotOutput, error) { + req, out := c.CopySnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateACL = "CreateACL" + +// CreateACLRequest generates a "aws/request.Request" representing the +// client's request for the CreateACL 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 CreateACL for more information on using the CreateACL +// 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 CreateACLRequest method. +// req, resp := client.CreateACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateACL +func (c *MemoryDB) CreateACLRequest(input *CreateACLInput) (req *request.Request, output *CreateACLOutput) { + op := &request.Operation{ + Name: opCreateACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateACLInput{} + } + + output = &CreateACLOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateACL API operation for Amazon MemoryDB. +// +// Creates an Access Control List. For more information, see Authenticating +// users with Access Contol Lists (ACLs) (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/Clusters.ACLs.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation CreateACL for usage and error information. +// +// Returned Error Types: +// * UserNotFoundFault +// +// * DuplicateUserNameFault +// +// * ACLAlreadyExistsFault +// +// * DefaultUserRequired +// +// * ACLQuotaExceededFault +// +// * InvalidParameterValueException +// +// * TagQuotaPerResourceExceeded +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateACL +func (c *MemoryDB) CreateACL(input *CreateACLInput) (*CreateACLOutput, error) { + req, out := c.CreateACLRequest(input) + return out, req.Send() +} + +// CreateACLWithContext is the same as CreateACL with the addition of +// the ability to pass a context and additional request options. +// +// See CreateACL 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 *MemoryDB) CreateACLWithContext(ctx aws.Context, input *CreateACLInput, opts ...request.Option) (*CreateACLOutput, error) { + req, out := c.CreateACLRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateCluster = "CreateCluster" + +// CreateClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCluster 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 CreateCluster for more information on using the CreateCluster +// 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 CreateClusterRequest method. +// req, resp := client.CreateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateCluster +func (c *MemoryDB) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { + op := &request.Operation{ + Name: opCreateCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClusterInput{} + } + + output = &CreateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCluster API operation for Amazon MemoryDB. +// +// Creates a cluster. All nodes in the cluster run the same protocol-compliant +// engine software. +// +// 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 MemoryDB's +// API operation CreateCluster for usage and error information. +// +// Returned Error Types: +// * ClusterAlreadyExistsFault +// +// * SubnetGroupNotFoundFault +// +// * ClusterQuotaForCustomerExceededFault +// +// * NodeQuotaForClusterExceededFault +// +// * NodeQuotaForCustomerExceededFault +// +// * ParameterGroupNotFoundFault +// +// * InsufficientClusterCapacityFault +// +// * InvalidVPCNetworkStateFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * ShardsPerClusterQuotaExceededFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// * InvalidCredentialsException +// +// * TagQuotaPerResourceExceeded +// +// * ACLNotFoundFault +// +// * InvalidACLStateFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateCluster +func (c *MemoryDB) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + return out, req.Send() +} + +// CreateClusterWithContext is the same as CreateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCluster 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 *MemoryDB) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateParameterGroup = "CreateParameterGroup" + +// CreateParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateParameterGroup 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 CreateParameterGroup for more information on using the CreateParameterGroup +// 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 CreateParameterGroupRequest method. +// req, resp := client.CreateParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateParameterGroup +func (c *MemoryDB) CreateParameterGroupRequest(input *CreateParameterGroupInput) (req *request.Request, output *CreateParameterGroupOutput) { + op := &request.Operation{ + Name: opCreateParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateParameterGroupInput{} + } + + output = &CreateParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateParameterGroup API operation for Amazon MemoryDB. +// +// Creates a new MemoryDB parameter group. A parameter group is a collection +// of parameters and their values that are applied to all of the nodes in any +// cluster. For more information, see Configuring engine parameters using parameter +// groups (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/ParameterGroups.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation CreateParameterGroup for usage and error information. +// +// Returned Error Types: +// * ParameterGroupQuotaExceededFault +// +// * ParameterGroupAlreadyExistsFault +// +// * InvalidParameterGroupStateFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * TagQuotaPerResourceExceeded +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateParameterGroup +func (c *MemoryDB) CreateParameterGroup(input *CreateParameterGroupInput) (*CreateParameterGroupOutput, error) { + req, out := c.CreateParameterGroupRequest(input) + return out, req.Send() +} + +// CreateParameterGroupWithContext is the same as CreateParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateParameterGroup 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 *MemoryDB) CreateParameterGroupWithContext(ctx aws.Context, input *CreateParameterGroupInput, opts ...request.Option) (*CreateParameterGroupOutput, error) { + req, out := c.CreateParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSnapshot = "CreateSnapshot" + +// CreateSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshot 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 CreateSnapshot for more information on using the CreateSnapshot +// 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 CreateSnapshotRequest method. +// req, resp := client.CreateSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSnapshot +func (c *MemoryDB) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { + op := &request.Operation{ + Name: opCreateSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSnapshotInput{} + } + + output = &CreateSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSnapshot API operation for Amazon MemoryDB. +// +// Creates a copy of an entire cluster at a specific moment in time. +// +// 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 MemoryDB's +// API operation CreateSnapshot for usage and error information. +// +// Returned Error Types: +// * SnapshotAlreadyExistsFault +// +// * ClusterNotFoundFault +// +// * InvalidClusterStateFault +// +// * SnapshotQuotaExceededFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterCombinationException +// +// * InvalidParameterValueException +// +// * TagQuotaPerResourceExceeded +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSnapshot +func (c *MemoryDB) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { + req, out := c.CreateSnapshotRequest(input) + return out, req.Send() +} + +// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSnapshot 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 *MemoryDB) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { + req, out := c.CreateSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateSubnetGroup = "CreateSubnetGroup" + +// CreateSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the CreateSubnetGroup 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 CreateSubnetGroup for more information on using the CreateSubnetGroup +// 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 CreateSubnetGroupRequest method. +// req, resp := client.CreateSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSubnetGroup +func (c *MemoryDB) CreateSubnetGroupRequest(input *CreateSubnetGroupInput) (req *request.Request, output *CreateSubnetGroupOutput) { + op := &request.Operation{ + Name: opCreateSubnetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSubnetGroupInput{} + } + + output = &CreateSubnetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSubnetGroup API operation for Amazon MemoryDB. +// +// Creates a subnet group. A subnet group is a collection of subnets (typically +// private) that you can designate for your clusters running in an Amazon Virtual +// Private Cloud (VPC) environment. When you create a cluster in an Amazon VPC, +// you must specify a subnet group. MemoryDB uses that subnet group to choose +// a subnet and IP addresses within that subnet to associate with your nodes. +// For more information, see Subnets and subnet groups (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/SubnetGroups.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation CreateSubnetGroup for usage and error information. +// +// Returned Error Types: +// * SubnetGroupAlreadyExistsFault +// +// * SubnetGroupQuotaExceededFault +// +// * SubnetQuotaExceededFault +// +// * InvalidSubnet +// +// * ServiceLinkedRoleNotFoundFault +// +// * SubnetNotAllowedFault +// +// * TagQuotaPerResourceExceeded +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateSubnetGroup +func (c *MemoryDB) CreateSubnetGroup(input *CreateSubnetGroupInput) (*CreateSubnetGroupOutput, error) { + req, out := c.CreateSubnetGroupRequest(input) + return out, req.Send() +} + +// CreateSubnetGroupWithContext is the same as CreateSubnetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSubnetGroup 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 *MemoryDB) CreateSubnetGroupWithContext(ctx aws.Context, input *CreateSubnetGroupInput, opts ...request.Option) (*CreateSubnetGroupOutput, error) { + req, out := c.CreateSubnetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateUser = "CreateUser" + +// CreateUserRequest generates a "aws/request.Request" representing the +// client's request for the CreateUser 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 CreateUser for more information on using the CreateUser +// 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 CreateUserRequest method. +// req, resp := client.CreateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateUser +func (c *MemoryDB) CreateUserRequest(input *CreateUserInput) (req *request.Request, output *CreateUserOutput) { + op := &request.Operation{ + Name: opCreateUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateUserInput{} + } + + output = &CreateUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateUser API operation for Amazon MemoryDB. +// +// Creates a MemoryDB user. For more information, see Authenticating users with +// Access Contol Lists (ACLs) (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/Clusters.ACLs.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation CreateUser for usage and error information. +// +// Returned Error Types: +// * UserAlreadyExistsFault +// +// * UserQuotaExceededFault +// +// * DuplicateUserNameFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// * TagQuotaPerResourceExceeded +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/CreateUser +func (c *MemoryDB) CreateUser(input *CreateUserInput) (*CreateUserOutput, error) { + req, out := c.CreateUserRequest(input) + return out, req.Send() +} + +// CreateUserWithContext is the same as CreateUser with the addition of +// the ability to pass a context and additional request options. +// +// See CreateUser 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 *MemoryDB) CreateUserWithContext(ctx aws.Context, input *CreateUserInput, opts ...request.Option) (*CreateUserOutput, error) { + req, out := c.CreateUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteACL = "DeleteACL" + +// DeleteACLRequest generates a "aws/request.Request" representing the +// client's request for the DeleteACL 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 DeleteACL for more information on using the DeleteACL +// 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 DeleteACLRequest method. +// req, resp := client.DeleteACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteACL +func (c *MemoryDB) DeleteACLRequest(input *DeleteACLInput) (req *request.Request, output *DeleteACLOutput) { + op := &request.Operation{ + Name: opDeleteACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteACLInput{} + } + + output = &DeleteACLOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteACL API operation for Amazon MemoryDB. +// +// Deletes an Access Control List. The ACL must first be disassociated from +// the cluster before it can be deleted. For more information, see Authenticating +// users with Access Contol Lists (ACLs) (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/Clusters.ACLs.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation DeleteACL for usage and error information. +// +// Returned Error Types: +// * ACLNotFoundFault +// +// * InvalidACLStateFault +// +// * InvalidParameterValueException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteACL +func (c *MemoryDB) DeleteACL(input *DeleteACLInput) (*DeleteACLOutput, error) { + req, out := c.DeleteACLRequest(input) + return out, req.Send() +} + +// DeleteACLWithContext is the same as DeleteACL with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteACL 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 *MemoryDB) DeleteACLWithContext(ctx aws.Context, input *DeleteACLInput, opts ...request.Option) (*DeleteACLOutput, error) { + req, out := c.DeleteACLRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteCluster = "DeleteCluster" + +// DeleteClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCluster 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 DeleteCluster for more information on using the DeleteCluster +// 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 DeleteClusterRequest method. +// req, resp := client.DeleteClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteCluster +func (c *MemoryDB) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { + op := &request.Operation{ + Name: opDeleteCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClusterInput{} + } + + output = &DeleteClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCluster API operation for Amazon MemoryDB. +// +// Deletes a cluster. It also deletes all associated nodes and node endpoints +// +// 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 MemoryDB's +// API operation DeleteCluster for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * InvalidClusterStateFault +// +// * SnapshotAlreadyExistsFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteCluster +func (c *MemoryDB) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + return out, req.Send() +} + +// DeleteClusterWithContext is the same as DeleteCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCluster 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 *MemoryDB) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteParameterGroup = "DeleteParameterGroup" + +// DeleteParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteParameterGroup 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 DeleteParameterGroup for more information on using the DeleteParameterGroup +// 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 DeleteParameterGroupRequest method. +// req, resp := client.DeleteParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteParameterGroup +func (c *MemoryDB) DeleteParameterGroupRequest(input *DeleteParameterGroupInput) (req *request.Request, output *DeleteParameterGroupOutput) { + op := &request.Operation{ + Name: opDeleteParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteParameterGroupInput{} + } + + output = &DeleteParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteParameterGroup API operation for Amazon MemoryDB. +// +// Deletes the specified parameter group. You cannot delete a parameter group +// if it is associated with any clusters. You cannot delete the default parameter +// groups in your account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation DeleteParameterGroup for usage and error information. +// +// Returned Error Types: +// * InvalidParameterGroupStateFault +// +// * ParameterGroupNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteParameterGroup +func (c *MemoryDB) DeleteParameterGroup(input *DeleteParameterGroupInput) (*DeleteParameterGroupOutput, error) { + req, out := c.DeleteParameterGroupRequest(input) + return out, req.Send() +} + +// DeleteParameterGroupWithContext is the same as DeleteParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteParameterGroup 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 *MemoryDB) DeleteParameterGroupWithContext(ctx aws.Context, input *DeleteParameterGroupInput, opts ...request.Option) (*DeleteParameterGroupOutput, error) { + req, out := c.DeleteParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSnapshot = "DeleteSnapshot" + +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot 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 DeleteSnapshot for more information on using the DeleteSnapshot +// 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 DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSnapshot +func (c *MemoryDB) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { + op := &request.Operation{ + Name: opDeleteSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSnapshotInput{} + } + + output = &DeleteSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSnapshot API operation for Amazon MemoryDB. +// +// Deletes an existing snapshot. When you receive a successful response from +// this operation, MemoryDB immediately begins deleting the snapshot; you cannot +// cancel or revert this operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation DeleteSnapshot for usage and error information. +// +// Returned Error Types: +// * SnapshotNotFoundFault +// +// * InvalidSnapshotStateFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSnapshot +func (c *MemoryDB) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { + req, out := c.DeleteSnapshotRequest(input) + return out, req.Send() +} + +// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSnapshot 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 *MemoryDB) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { + req, out := c.DeleteSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteSubnetGroup = "DeleteSubnetGroup" + +// DeleteSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSubnetGroup 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 DeleteSubnetGroup for more information on using the DeleteSubnetGroup +// 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 DeleteSubnetGroupRequest method. +// req, resp := client.DeleteSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSubnetGroup +func (c *MemoryDB) DeleteSubnetGroupRequest(input *DeleteSubnetGroupInput) (req *request.Request, output *DeleteSubnetGroupOutput) { + op := &request.Operation{ + Name: opDeleteSubnetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSubnetGroupInput{} + } + + output = &DeleteSubnetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSubnetGroup API operation for Amazon MemoryDB. +// +// Deletes a subnet group. You cannot delete a default subnet group or one that +// is associated with any clusters. +// +// 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 MemoryDB's +// API operation DeleteSubnetGroup for usage and error information. +// +// Returned Error Types: +// * SubnetGroupInUseFault +// +// * SubnetGroupNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteSubnetGroup +func (c *MemoryDB) DeleteSubnetGroup(input *DeleteSubnetGroupInput) (*DeleteSubnetGroupOutput, error) { + req, out := c.DeleteSubnetGroupRequest(input) + return out, req.Send() +} + +// DeleteSubnetGroupWithContext is the same as DeleteSubnetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSubnetGroup 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 *MemoryDB) DeleteSubnetGroupWithContext(ctx aws.Context, input *DeleteSubnetGroupInput, opts ...request.Option) (*DeleteSubnetGroupOutput, error) { + req, out := c.DeleteSubnetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteUser = "DeleteUser" + +// DeleteUserRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUser 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 DeleteUser for more information on using the DeleteUser +// 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 DeleteUserRequest method. +// req, resp := client.DeleteUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteUser +func (c *MemoryDB) DeleteUserRequest(input *DeleteUserInput) (req *request.Request, output *DeleteUserOutput) { + op := &request.Operation{ + Name: opDeleteUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteUserInput{} + } + + output = &DeleteUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteUser API operation for Amazon MemoryDB. +// +// Deletes a user. The user will be removed from all ACLs and in turn removed +// from all clusters. +// +// 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 MemoryDB's +// API operation DeleteUser for usage and error information. +// +// Returned Error Types: +// * InvalidUserStateFault +// +// * UserNotFoundFault +// +// * InvalidParameterValueException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DeleteUser +func (c *MemoryDB) DeleteUser(input *DeleteUserInput) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) + return out, req.Send() +} + +// DeleteUserWithContext is the same as DeleteUser with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUser 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 *MemoryDB) DeleteUserWithContext(ctx aws.Context, input *DeleteUserInput, opts ...request.Option) (*DeleteUserOutput, error) { + req, out := c.DeleteUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeACLs = "DescribeACLs" + +// DescribeACLsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeACLs 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 DescribeACLs for more information on using the DescribeACLs +// 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 DescribeACLsRequest method. +// req, resp := client.DescribeACLsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeACLs +func (c *MemoryDB) DescribeACLsRequest(input *DescribeACLsInput) (req *request.Request, output *DescribeACLsOutput) { + op := &request.Operation{ + Name: opDescribeACLs, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeACLsInput{} + } + + output = &DescribeACLsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeACLs API operation for Amazon MemoryDB. +// +// Returns a list of ACLs +// +// 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 MemoryDB's +// API operation DescribeACLs for usage and error information. +// +// Returned Error Types: +// * ACLNotFoundFault +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeACLs +func (c *MemoryDB) DescribeACLs(input *DescribeACLsInput) (*DescribeACLsOutput, error) { + req, out := c.DescribeACLsRequest(input) + return out, req.Send() +} + +// DescribeACLsWithContext is the same as DescribeACLs with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeACLs 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 *MemoryDB) DescribeACLsWithContext(ctx aws.Context, input *DescribeACLsInput, opts ...request.Option) (*DescribeACLsOutput, error) { + req, out := c.DescribeACLsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeClusters = "DescribeClusters" + +// DescribeClustersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusters 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 DescribeClusters for more information on using the DescribeClusters +// 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 DescribeClustersRequest method. +// req, resp := client.DescribeClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeClusters +func (c *MemoryDB) DescribeClustersRequest(input *DescribeClustersInput) (req *request.Request, output *DescribeClustersOutput) { + op := &request.Operation{ + Name: opDescribeClusters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClustersInput{} + } + + output = &DescribeClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClusters API operation for Amazon MemoryDB. +// +// Returns information about all provisioned clusters if no cluster identifier +// is specified, or about a specific cluster if a cluster name is supplied. +// +// 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 MemoryDB's +// API operation DescribeClusters for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeClusters +func (c *MemoryDB) DescribeClusters(input *DescribeClustersInput) (*DescribeClustersOutput, error) { + req, out := c.DescribeClustersRequest(input) + return out, req.Send() +} + +// DescribeClustersWithContext is the same as DescribeClusters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClusters 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 *MemoryDB) DescribeClustersWithContext(ctx aws.Context, input *DescribeClustersInput, opts ...request.Option) (*DescribeClustersOutput, error) { + req, out := c.DescribeClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEngineVersions = "DescribeEngineVersions" + +// DescribeEngineVersionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEngineVersions 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 DescribeEngineVersions for more information on using the DescribeEngineVersions +// 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 DescribeEngineVersionsRequest method. +// req, resp := client.DescribeEngineVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEngineVersions +func (c *MemoryDB) DescribeEngineVersionsRequest(input *DescribeEngineVersionsInput) (req *request.Request, output *DescribeEngineVersionsOutput) { + op := &request.Operation{ + Name: opDescribeEngineVersions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEngineVersionsInput{} + } + + output = &DescribeEngineVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEngineVersions API operation for Amazon MemoryDB. +// +// Returns a list of the available Redis engine versions. +// +// 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 MemoryDB's +// API operation DescribeEngineVersions for usage and error information. +// +// Returned Error Types: +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEngineVersions +func (c *MemoryDB) DescribeEngineVersions(input *DescribeEngineVersionsInput) (*DescribeEngineVersionsOutput, error) { + req, out := c.DescribeEngineVersionsRequest(input) + return out, req.Send() +} + +// DescribeEngineVersionsWithContext is the same as DescribeEngineVersions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEngineVersions 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 *MemoryDB) DescribeEngineVersionsWithContext(ctx aws.Context, input *DescribeEngineVersionsInput, opts ...request.Option) (*DescribeEngineVersionsOutput, error) { + req, out := c.DescribeEngineVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeEvents = "DescribeEvents" + +// DescribeEventsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeEvents operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeEvents for more information on using the DescribeEvents +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DescribeEventsRequest method. +// req, resp := client.DescribeEventsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEvents +func (c *MemoryDB) DescribeEventsRequest(input *DescribeEventsInput) (req *request.Request, output *DescribeEventsOutput) { + op := &request.Operation{ + Name: opDescribeEvents, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeEventsInput{} + } + + output = &DescribeEventsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeEvents API operation for Amazon MemoryDB. +// +// Returns events related to clusters, security groups, and parameter groups. +// You can obtain events specific to a particular cluster, security group, or +// parameter group by providing the name as a parameter. By default, only the +// events occurring within the last hour are returned; however, you can retrieve +// up to 14 days' worth of events if necessary. +// +// 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 MemoryDB's +// API operation DescribeEvents for usage and error information. +// +// Returned Error Types: +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeEvents +func (c *MemoryDB) DescribeEvents(input *DescribeEventsInput) (*DescribeEventsOutput, error) { + req, out := c.DescribeEventsRequest(input) + return out, req.Send() +} + +// DescribeEventsWithContext is the same as DescribeEvents with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeEvents for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *MemoryDB) DescribeEventsWithContext(ctx aws.Context, input *DescribeEventsInput, opts ...request.Option) (*DescribeEventsOutput, error) { + req, out := c.DescribeEventsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeParameterGroups = "DescribeParameterGroups" + +// DescribeParameterGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeParameterGroups 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 DescribeParameterGroups for more information on using the DescribeParameterGroups +// 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 DescribeParameterGroupsRequest method. +// req, resp := client.DescribeParameterGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameterGroups +func (c *MemoryDB) DescribeParameterGroupsRequest(input *DescribeParameterGroupsInput) (req *request.Request, output *DescribeParameterGroupsOutput) { + op := &request.Operation{ + Name: opDescribeParameterGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeParameterGroupsInput{} + } + + output = &DescribeParameterGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeParameterGroups API operation for Amazon MemoryDB. +// +// Returns a list of parameter group descriptions. If a parameter group name +// is specified, the list contains only the descriptions for that group. +// +// 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 MemoryDB's +// API operation DescribeParameterGroups for usage and error information. +// +// Returned Error Types: +// * ParameterGroupNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameterGroups +func (c *MemoryDB) DescribeParameterGroups(input *DescribeParameterGroupsInput) (*DescribeParameterGroupsOutput, error) { + req, out := c.DescribeParameterGroupsRequest(input) + return out, req.Send() +} + +// DescribeParameterGroupsWithContext is the same as DescribeParameterGroups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeParameterGroups 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 *MemoryDB) DescribeParameterGroupsWithContext(ctx aws.Context, input *DescribeParameterGroupsInput, opts ...request.Option) (*DescribeParameterGroupsOutput, error) { + req, out := c.DescribeParameterGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeParameters = "DescribeParameters" + +// DescribeParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeParameters 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 DescribeParameters for more information on using the DescribeParameters +// 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 DescribeParametersRequest method. +// req, resp := client.DescribeParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameters +func (c *MemoryDB) DescribeParametersRequest(input *DescribeParametersInput) (req *request.Request, output *DescribeParametersOutput) { + op := &request.Operation{ + Name: opDescribeParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeParametersInput{} + } + + output = &DescribeParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeParameters API operation for Amazon MemoryDB. +// +// Returns the detailed parameter list for a particular parameter group. +// +// 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 MemoryDB's +// API operation DescribeParameters for usage and error information. +// +// Returned Error Types: +// * ParameterGroupNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeParameters +func (c *MemoryDB) DescribeParameters(input *DescribeParametersInput) (*DescribeParametersOutput, error) { + req, out := c.DescribeParametersRequest(input) + return out, req.Send() +} + +// DescribeParametersWithContext is the same as DescribeParameters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeParameters 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 *MemoryDB) DescribeParametersWithContext(ctx aws.Context, input *DescribeParametersInput, opts ...request.Option) (*DescribeParametersOutput, error) { + req, out := c.DescribeParametersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeServiceUpdates = "DescribeServiceUpdates" + +// DescribeServiceUpdatesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeServiceUpdates 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 DescribeServiceUpdates for more information on using the DescribeServiceUpdates +// 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 DescribeServiceUpdatesRequest method. +// req, resp := client.DescribeServiceUpdatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeServiceUpdates +func (c *MemoryDB) DescribeServiceUpdatesRequest(input *DescribeServiceUpdatesInput) (req *request.Request, output *DescribeServiceUpdatesOutput) { + op := &request.Operation{ + Name: opDescribeServiceUpdates, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeServiceUpdatesInput{} + } + + output = &DescribeServiceUpdatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeServiceUpdates API operation for Amazon MemoryDB. +// +// Returns details of the service updates +// +// 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 MemoryDB's +// API operation DescribeServiceUpdates for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeServiceUpdates +func (c *MemoryDB) DescribeServiceUpdates(input *DescribeServiceUpdatesInput) (*DescribeServiceUpdatesOutput, error) { + req, out := c.DescribeServiceUpdatesRequest(input) + return out, req.Send() +} + +// DescribeServiceUpdatesWithContext is the same as DescribeServiceUpdates with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeServiceUpdates 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 *MemoryDB) DescribeServiceUpdatesWithContext(ctx aws.Context, input *DescribeServiceUpdatesInput, opts ...request.Option) (*DescribeServiceUpdatesOutput, error) { + req, out := c.DescribeServiceUpdatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSnapshots = "DescribeSnapshots" + +// DescribeSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshots 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 DescribeSnapshots for more information on using the DescribeSnapshots +// 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 DescribeSnapshotsRequest method. +// req, resp := client.DescribeSnapshotsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSnapshots +func (c *MemoryDB) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { + op := &request.Operation{ + Name: opDescribeSnapshots, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSnapshotsInput{} + } + + output = &DescribeSnapshotsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSnapshots API operation for Amazon MemoryDB. +// +// Returns information about cluster snapshots. By default, DescribeSnapshots +// lists all of your snapshots; it can optionally describe a single snapshot, +// or just the snapshots associated with a particular cluster. +// +// 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 MemoryDB's +// API operation DescribeSnapshots for usage and error information. +// +// Returned Error Types: +// * SnapshotNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSnapshots +func (c *MemoryDB) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { + req, out := c.DescribeSnapshotsRequest(input) + return out, req.Send() +} + +// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSnapshots 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 *MemoryDB) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { + req, out := c.DescribeSnapshotsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeSubnetGroups = "DescribeSubnetGroups" + +// DescribeSubnetGroupsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSubnetGroups 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 DescribeSubnetGroups for more information on using the DescribeSubnetGroups +// 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 DescribeSubnetGroupsRequest method. +// req, resp := client.DescribeSubnetGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSubnetGroups +func (c *MemoryDB) DescribeSubnetGroupsRequest(input *DescribeSubnetGroupsInput) (req *request.Request, output *DescribeSubnetGroupsOutput) { + op := &request.Operation{ + Name: opDescribeSubnetGroups, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeSubnetGroupsInput{} + } + + output = &DescribeSubnetGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeSubnetGroups API operation for Amazon MemoryDB. +// +// Returns a list of subnet group descriptions. If a subnet group name is specified, +// the list contains only the description of that group. +// +// 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 MemoryDB's +// API operation DescribeSubnetGroups for usage and error information. +// +// Returned Error Types: +// * SubnetGroupNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeSubnetGroups +func (c *MemoryDB) DescribeSubnetGroups(input *DescribeSubnetGroupsInput) (*DescribeSubnetGroupsOutput, error) { + req, out := c.DescribeSubnetGroupsRequest(input) + return out, req.Send() +} + +// DescribeSubnetGroupsWithContext is the same as DescribeSubnetGroups with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeSubnetGroups 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 *MemoryDB) DescribeSubnetGroupsWithContext(ctx aws.Context, input *DescribeSubnetGroupsInput, opts ...request.Option) (*DescribeSubnetGroupsOutput, error) { + req, out := c.DescribeSubnetGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeUsers = "DescribeUsers" + +// DescribeUsersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUsers 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 DescribeUsers for more information on using the DescribeUsers +// 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 DescribeUsersRequest method. +// req, resp := client.DescribeUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeUsers +func (c *MemoryDB) DescribeUsersRequest(input *DescribeUsersInput) (req *request.Request, output *DescribeUsersOutput) { + op := &request.Operation{ + Name: opDescribeUsers, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeUsersInput{} + } + + output = &DescribeUsersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeUsers API operation for Amazon MemoryDB. +// +// Returns a list of users. +// +// 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 MemoryDB's +// API operation DescribeUsers for usage and error information. +// +// Returned Error Types: +// * UserNotFoundFault +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/DescribeUsers +func (c *MemoryDB) DescribeUsers(input *DescribeUsersInput) (*DescribeUsersOutput, error) { + req, out := c.DescribeUsersRequest(input) + return out, req.Send() +} + +// DescribeUsersWithContext is the same as DescribeUsers with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeUsers 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 *MemoryDB) DescribeUsersWithContext(ctx aws.Context, input *DescribeUsersInput, opts ...request.Option) (*DescribeUsersOutput, error) { + req, out := c.DescribeUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opFailoverShard = "FailoverShard" + +// FailoverShardRequest generates a "aws/request.Request" representing the +// client's request for the FailoverShard 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 FailoverShard for more information on using the FailoverShard +// 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 FailoverShardRequest method. +// req, resp := client.FailoverShardRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/FailoverShard +func (c *MemoryDB) FailoverShardRequest(input *FailoverShardInput) (req *request.Request, output *FailoverShardOutput) { + op := &request.Operation{ + Name: opFailoverShard, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &FailoverShardInput{} + } + + output = &FailoverShardOutput{} + req = c.newRequest(op, input, output) + return +} + +// FailoverShard API operation for Amazon MemoryDB. +// +// Used to failover a shard +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation FailoverShard for usage and error information. +// +// Returned Error Types: +// * APICallRateForCustomerExceededFault +// +// * InvalidClusterStateFault +// +// * ShardNotFoundFault +// +// * ClusterNotFoundFault +// +// * TestFailoverNotAvailableFault +// +// * InvalidKMSKeyFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/FailoverShard +func (c *MemoryDB) FailoverShard(input *FailoverShardInput) (*FailoverShardOutput, error) { + req, out := c.FailoverShardRequest(input) + return out, req.Send() +} + +// FailoverShardWithContext is the same as FailoverShard with the addition of +// the ability to pass a context and additional request options. +// +// See FailoverShard 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 *MemoryDB) FailoverShardWithContext(ctx aws.Context, input *FailoverShardInput, opts ...request.Option) (*FailoverShardOutput, error) { + req, out := c.FailoverShardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAllowedNodeTypeUpdates = "ListAllowedNodeTypeUpdates" + +// ListAllowedNodeTypeUpdatesRequest generates a "aws/request.Request" representing the +// client's request for the ListAllowedNodeTypeUpdates 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 ListAllowedNodeTypeUpdates for more information on using the ListAllowedNodeTypeUpdates +// 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 ListAllowedNodeTypeUpdatesRequest method. +// req, resp := client.ListAllowedNodeTypeUpdatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListAllowedNodeTypeUpdates +func (c *MemoryDB) ListAllowedNodeTypeUpdatesRequest(input *ListAllowedNodeTypeUpdatesInput) (req *request.Request, output *ListAllowedNodeTypeUpdatesOutput) { + op := &request.Operation{ + Name: opListAllowedNodeTypeUpdates, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListAllowedNodeTypeUpdatesInput{} + } + + output = &ListAllowedNodeTypeUpdatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAllowedNodeTypeUpdates API operation for Amazon MemoryDB. +// +// Lists all available node types that you can scale to from your cluster's +// current node type. When you use the UpdateCluster operation to scale your +// cluster, the value of the NodeType parameter must be one of the node types +// returned by this operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation ListAllowedNodeTypeUpdates for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterCombinationException +// +// * InvalidParameterValueException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListAllowedNodeTypeUpdates +func (c *MemoryDB) ListAllowedNodeTypeUpdates(input *ListAllowedNodeTypeUpdatesInput) (*ListAllowedNodeTypeUpdatesOutput, error) { + req, out := c.ListAllowedNodeTypeUpdatesRequest(input) + return out, req.Send() +} + +// ListAllowedNodeTypeUpdatesWithContext is the same as ListAllowedNodeTypeUpdates with the addition of +// the ability to pass a context and additional request options. +// +// See ListAllowedNodeTypeUpdates 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 *MemoryDB) ListAllowedNodeTypeUpdatesWithContext(ctx aws.Context, input *ListAllowedNodeTypeUpdatesInput, opts ...request.Option) (*ListAllowedNodeTypeUpdatesOutput, error) { + req, out := c.ListAllowedNodeTypeUpdatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTags = "ListTags" + +// ListTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListTags 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 ListTags for more information on using the ListTags +// 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 ListTagsRequest method. +// req, resp := client.ListTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListTags +func (c *MemoryDB) ListTagsRequest(input *ListTagsInput) (req *request.Request, output *ListTagsOutput) { + op := &request.Operation{ + Name: opListTags, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsInput{} + } + + output = &ListTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTags API operation for Amazon MemoryDB. +// +// Lists all tags currently on a named resource. A tag is a key-value pair where +// the key and value are case-sensitive. You can use tags to categorize and +// track your MemoryDB resources. For more information, see Tagging your MemoryDB +// resources (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/Tagging-Resources.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation ListTags for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * InvalidClusterStateFault +// +// * ParameterGroupNotFoundFault +// +// * SubnetGroupNotFoundFault +// +// * SnapshotNotFoundFault +// +// * InvalidARNFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * UserNotFoundFault +// +// * ACLNotFoundFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ListTags +func (c *MemoryDB) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + return out, req.Send() +} + +// ListTagsWithContext is the same as ListTags with the addition of +// the ability to pass a context and additional request options. +// +// See ListTags 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 *MemoryDB) ListTagsWithContext(ctx aws.Context, input *ListTagsInput, opts ...request.Option) (*ListTagsOutput, error) { + req, out := c.ListTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opResetParameterGroup = "ResetParameterGroup" + +// ResetParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the ResetParameterGroup 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 ResetParameterGroup for more information on using the ResetParameterGroup +// 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 ResetParameterGroupRequest method. +// req, resp := client.ResetParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ResetParameterGroup +func (c *MemoryDB) ResetParameterGroupRequest(input *ResetParameterGroupInput) (req *request.Request, output *ResetParameterGroupOutput) { + op := &request.Operation{ + Name: opResetParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ResetParameterGroupInput{} + } + + output = &ResetParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// ResetParameterGroup API operation for Amazon MemoryDB. +// +// Modifies the parameters of a parameter group to the engine or system default +// value. You can reset specific parameters by submitting a list of parameter +// names. To reset the entire parameter group, specify the AllParameters and +// ParameterGroupName parameters. +// +// 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 MemoryDB's +// API operation ResetParameterGroup for usage and error information. +// +// Returned Error Types: +// * InvalidParameterGroupStateFault +// +// * ParameterGroupNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/ResetParameterGroup +func (c *MemoryDB) ResetParameterGroup(input *ResetParameterGroupInput) (*ResetParameterGroupOutput, error) { + req, out := c.ResetParameterGroupRequest(input) + return out, req.Send() +} + +// ResetParameterGroupWithContext is the same as ResetParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See ResetParameterGroup 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 *MemoryDB) ResetParameterGroupWithContext(ctx aws.Context, input *ResetParameterGroupInput, opts ...request.Option) (*ResetParameterGroupOutput, error) { + req, out := c.ResetParameterGroupRequest(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/memorydb-2021-01-01/TagResource +func (c *MemoryDB) 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) + return +} + +// TagResource API operation for Amazon MemoryDB. +// +// A tag is a key-value pair where the key and value are case-sensitive. You +// can use tags to categorize and track all your MemoryDB resources. When you +// add or remove tags on clusters, those actions will be replicated to all nodes +// in the cluster. For more information, see Resource-level permissions (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/IAM.ResourceLevelPermissions.html). +// +// For example, you can use cost-allocation tags to your MemoryDB resources, +// Amazon generates a cost allocation report as a comma-separated value (CSV) +// file with your usage and costs aggregated by your tags. You can apply tags +// that represent business categories (such as cost centers, application names, +// or owners) to organize your costs across multiple services. For more information, +// see Using Cost Allocation Tags (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/Tagging.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * ParameterGroupNotFoundFault +// +// * SubnetGroupNotFoundFault +// +// * InvalidClusterStateFault +// +// * SnapshotNotFoundFault +// +// * UserNotFoundFault +// +// * ACLNotFoundFault +// +// * TagQuotaPerResourceExceeded +// +// * InvalidARNFault +// +// * ServiceLinkedRoleNotFoundFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/TagResource +func (c *MemoryDB) 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 *MemoryDB) 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/memorydb-2021-01-01/UntagResource +func (c *MemoryDB) 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) + return +} + +// UntagResource API operation for Amazon MemoryDB. +// +// Use this operation to remove tags on a resource +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * InvalidClusterStateFault +// +// * ParameterGroupNotFoundFault +// +// * SubnetGroupNotFoundFault +// +// * SnapshotNotFoundFault +// +// * InvalidARNFault +// +// * TagNotFoundFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * UserNotFoundFault +// +// * ACLNotFoundFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UntagResource +func (c *MemoryDB) 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 *MemoryDB) 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 opUpdateACL = "UpdateACL" + +// UpdateACLRequest generates a "aws/request.Request" representing the +// client's request for the UpdateACL 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 UpdateACL for more information on using the UpdateACL +// 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 UpdateACLRequest method. +// req, resp := client.UpdateACLRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateACL +func (c *MemoryDB) UpdateACLRequest(input *UpdateACLInput) (req *request.Request, output *UpdateACLOutput) { + op := &request.Operation{ + Name: opUpdateACL, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateACLInput{} + } + + output = &UpdateACLOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateACL API operation for Amazon MemoryDB. +// +// Changes the list of users that belong to the Access Control List. +// +// 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 MemoryDB's +// API operation UpdateACL for usage and error information. +// +// Returned Error Types: +// * ACLNotFoundFault +// +// * UserNotFoundFault +// +// * DuplicateUserNameFault +// +// * DefaultUserRequired +// +// * InvalidACLStateFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateACL +func (c *MemoryDB) UpdateACL(input *UpdateACLInput) (*UpdateACLOutput, error) { + req, out := c.UpdateACLRequest(input) + return out, req.Send() +} + +// UpdateACLWithContext is the same as UpdateACL with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateACL 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 *MemoryDB) UpdateACLWithContext(ctx aws.Context, input *UpdateACLInput, opts ...request.Option) (*UpdateACLOutput, error) { + req, out := c.UpdateACLRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCluster = "UpdateCluster" + +// UpdateClusterRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCluster 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 UpdateCluster for more information on using the UpdateCluster +// 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 UpdateClusterRequest method. +// req, resp := client.UpdateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateCluster +func (c *MemoryDB) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) { + op := &request.Operation{ + Name: opUpdateCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateClusterInput{} + } + + output = &UpdateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCluster API operation for Amazon MemoryDB. +// +// Modifies the settings for a cluster. You can use this operation to change +// one or more cluster configuration settings by specifying the settings and +// the new values. +// +// 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 MemoryDB's +// API operation UpdateCluster for usage and error information. +// +// Returned Error Types: +// * ClusterNotFoundFault +// +// * InvalidClusterStateFault +// +// * InvalidNodeStateFault +// +// * ParameterGroupNotFoundFault +// +// * InvalidVPCNetworkStateFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidKMSKeyFault +// +// * NodeQuotaForClusterExceededFault +// +// * ClusterQuotaForCustomerExceededFault +// +// * ShardsPerClusterQuotaExceededFault +// +// * NodeQuotaForCustomerExceededFault +// +// * NoOperationFault +// +// * InvalidACLStateFault +// +// * ACLNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateCluster +func (c *MemoryDB) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) { + req, out := c.UpdateClusterRequest(input) + return out, req.Send() +} + +// UpdateClusterWithContext is the same as UpdateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCluster 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 *MemoryDB) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) { + req, out := c.UpdateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateParameterGroup = "UpdateParameterGroup" + +// UpdateParameterGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateParameterGroup 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 UpdateParameterGroup for more information on using the UpdateParameterGroup +// 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 UpdateParameterGroupRequest method. +// req, resp := client.UpdateParameterGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateParameterGroup +func (c *MemoryDB) UpdateParameterGroupRequest(input *UpdateParameterGroupInput) (req *request.Request, output *UpdateParameterGroupOutput) { + op := &request.Operation{ + Name: opUpdateParameterGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateParameterGroupInput{} + } + + output = &UpdateParameterGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateParameterGroup API operation for Amazon MemoryDB. +// +// Updates the parameters of a parameter group. You can modify up to 20 parameters +// in a single request by submitting a list parameter name and value pairs. +// +// 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 MemoryDB's +// API operation UpdateParameterGroup for usage and error information. +// +// Returned Error Types: +// * ParameterGroupNotFoundFault +// +// * InvalidParameterGroupStateFault +// +// * ServiceLinkedRoleNotFoundFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateParameterGroup +func (c *MemoryDB) UpdateParameterGroup(input *UpdateParameterGroupInput) (*UpdateParameterGroupOutput, error) { + req, out := c.UpdateParameterGroupRequest(input) + return out, req.Send() +} + +// UpdateParameterGroupWithContext is the same as UpdateParameterGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateParameterGroup 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 *MemoryDB) UpdateParameterGroupWithContext(ctx aws.Context, input *UpdateParameterGroupInput, opts ...request.Option) (*UpdateParameterGroupOutput, error) { + req, out := c.UpdateParameterGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSubnetGroup = "UpdateSubnetGroup" + +// UpdateSubnetGroupRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSubnetGroup 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 UpdateSubnetGroup for more information on using the UpdateSubnetGroup +// 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 UpdateSubnetGroupRequest method. +// req, resp := client.UpdateSubnetGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateSubnetGroup +func (c *MemoryDB) UpdateSubnetGroupRequest(input *UpdateSubnetGroupInput) (req *request.Request, output *UpdateSubnetGroupOutput) { + op := &request.Operation{ + Name: opUpdateSubnetGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSubnetGroupInput{} + } + + output = &UpdateSubnetGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSubnetGroup API operation for Amazon MemoryDB. +// +// Updates a subnet group. For more information, see Updating a subnet group +// (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/SubnetGroups.Modifying.html) +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation UpdateSubnetGroup for usage and error information. +// +// Returned Error Types: +// * SubnetGroupNotFoundFault +// +// * SubnetQuotaExceededFault +// +// * SubnetInUse +// +// * InvalidSubnet +// +// * ServiceLinkedRoleNotFoundFault +// +// * SubnetNotAllowedFault +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateSubnetGroup +func (c *MemoryDB) UpdateSubnetGroup(input *UpdateSubnetGroupInput) (*UpdateSubnetGroupOutput, error) { + req, out := c.UpdateSubnetGroupRequest(input) + return out, req.Send() +} + +// UpdateSubnetGroupWithContext is the same as UpdateSubnetGroup with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSubnetGroup 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 *MemoryDB) UpdateSubnetGroupWithContext(ctx aws.Context, input *UpdateSubnetGroupInput, opts ...request.Option) (*UpdateSubnetGroupOutput, error) { + req, out := c.UpdateSubnetGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUser = "UpdateUser" + +// UpdateUserRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUser 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 UpdateUser for more information on using the UpdateUser +// 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 UpdateUserRequest method. +// req, resp := client.UpdateUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateUser +func (c *MemoryDB) UpdateUserRequest(input *UpdateUserInput) (req *request.Request, output *UpdateUserOutput) { + op := &request.Operation{ + Name: opUpdateUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateUserInput{} + } + + output = &UpdateUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUser API operation for Amazon MemoryDB. +// +// Changes user password(s) and/or access string. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon MemoryDB's +// API operation UpdateUser for usage and error information. +// +// Returned Error Types: +// * UserNotFoundFault +// +// * InvalidUserStateFault +// +// * InvalidParameterValueException +// +// * InvalidParameterCombinationException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01/UpdateUser +func (c *MemoryDB) UpdateUser(input *UpdateUserInput) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + return out, req.Send() +} + +// UpdateUserWithContext is the same as UpdateUser with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUser 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 *MemoryDB) UpdateUserWithContext(ctx aws.Context, input *UpdateUserInput, opts ...request.Option) (*UpdateUserOutput, error) { + req, out := c.UpdateUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// An Access Control List. You can authenticate users with Access Contol Lists. +// ACLs enable you to control cluster access by grouping users. These Access +// control lists are designed as a way to organize access to clusters. +type ACL struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the ACL + ARN *string `type:"string"` + + // A list of clusters associated with the ACL. + Clusters []*string `type:"list"` + + // The minimum engine version supported for the ACL + MinimumEngineVersion *string `type:"string"` + + // The name of the Access Control List + Name *string `type:"string"` + + // A list of updates being applied to the ACL. + PendingChanges *ACLPendingChanges `type:"structure"` + + // Indicates ACL status. Can be "creating", "active", "modifying", "deleting". + Status *string `type:"string"` + + // The list of user names that belong to the ACL. + UserNames []*string `type:"list"` +} + +// String returns the string representation +func (s ACL) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ACL) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *ACL) SetARN(v string) *ACL { + s.ARN = &v + return s +} + +// SetClusters sets the Clusters field's value. +func (s *ACL) SetClusters(v []*string) *ACL { + s.Clusters = v + return s +} + +// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. +func (s *ACL) SetMinimumEngineVersion(v string) *ACL { + s.MinimumEngineVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *ACL) SetName(v string) *ACL { + s.Name = &v + return s +} + +// SetPendingChanges sets the PendingChanges field's value. +func (s *ACL) SetPendingChanges(v *ACLPendingChanges) *ACL { + s.PendingChanges = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ACL) SetStatus(v string) *ACL { + s.Status = &v + return s +} + +// SetUserNames sets the UserNames field's value. +func (s *ACL) SetUserNames(v []*string) *ACL { + s.UserNames = v + return s +} + +type ACLAlreadyExistsFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ACLAlreadyExistsFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ACLAlreadyExistsFault) GoString() string { + return s.String() +} + +func newErrorACLAlreadyExistsFault(v protocol.ResponseMetadata) error { + return &ACLAlreadyExistsFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ACLAlreadyExistsFault) Code() string { + return "ACLAlreadyExistsFault" +} + +// Message returns the exception's message. +func (s *ACLAlreadyExistsFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ACLAlreadyExistsFault) OrigErr() error { + return nil +} + +func (s *ACLAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ACLAlreadyExistsFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ACLAlreadyExistsFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type ACLNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ACLNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ACLNotFoundFault) GoString() string { + return s.String() +} + +func newErrorACLNotFoundFault(v protocol.ResponseMetadata) error { + return &ACLNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ACLNotFoundFault) Code() string { + return "ACLNotFoundFault" +} + +// Message returns the exception's message. +func (s *ACLNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ACLNotFoundFault) OrigErr() error { + return nil +} + +func (s *ACLNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ACLNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ACLNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Returns the updates being applied to the ACL. +type ACLPendingChanges struct { + _ struct{} `type:"structure"` + + // A list of users being added to the ACL + UserNamesToAdd []*string `type:"list"` + + // A list of user names being removed from the ACL + UserNamesToRemove []*string `type:"list"` +} + +// String returns the string representation +func (s ACLPendingChanges) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ACLPendingChanges) GoString() string { + return s.String() +} + +// SetUserNamesToAdd sets the UserNamesToAdd field's value. +func (s *ACLPendingChanges) SetUserNamesToAdd(v []*string) *ACLPendingChanges { + s.UserNamesToAdd = v + return s +} + +// SetUserNamesToRemove sets the UserNamesToRemove field's value. +func (s *ACLPendingChanges) SetUserNamesToRemove(v []*string) *ACLPendingChanges { + s.UserNamesToRemove = v + return s +} + +type ACLQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ACLQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ACLQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorACLQuotaExceededFault(v protocol.ResponseMetadata) error { + return &ACLQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ACLQuotaExceededFault) Code() string { + return "ACLQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *ACLQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ACLQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *ACLQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ACLQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ACLQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// The status of the ACL update +type ACLsUpdateStatus struct { + _ struct{} `type:"structure"` + + // A list of ACLs pending to be applied. + ACLToApply *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ACLsUpdateStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ACLsUpdateStatus) GoString() string { + return s.String() +} + +// SetACLToApply sets the ACLToApply field's value. +func (s *ACLsUpdateStatus) SetACLToApply(v string) *ACLsUpdateStatus { + s.ACLToApply = &v + return s +} + +type APICallRateForCustomerExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s APICallRateForCustomerExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s APICallRateForCustomerExceededFault) GoString() string { + return s.String() +} + +func newErrorAPICallRateForCustomerExceededFault(v protocol.ResponseMetadata) error { + return &APICallRateForCustomerExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *APICallRateForCustomerExceededFault) Code() string { + return "APICallRateForCustomerExceededFault" +} + +// Message returns the exception's message. +func (s *APICallRateForCustomerExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *APICallRateForCustomerExceededFault) OrigErr() error { + return nil +} + +func (s *APICallRateForCustomerExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *APICallRateForCustomerExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *APICallRateForCustomerExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Denotes the user's authentication properties, such as whether it requires +// a password to authenticate. Used in output responses. +type Authentication struct { + _ struct{} `type:"structure"` + + // The number of passwords belonging to the user. The maximum is two. + PasswordCount *int64 `type:"integer"` + + // Indicates whether the user requires a password to authenticate. + Type *string `type:"string" enum:"AuthenticationType"` +} + +// String returns the string representation +func (s Authentication) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Authentication) GoString() string { + return s.String() +} + +// SetPasswordCount sets the PasswordCount field's value. +func (s *Authentication) SetPasswordCount(v int64) *Authentication { + s.PasswordCount = &v + return s +} + +// SetType sets the Type field's value. +func (s *Authentication) SetType(v string) *Authentication { + s.Type = &v + return s +} + +// Denotes the user's authentication properties, such as whether it requires +// a password to authenticate. Used in output responses. +type AuthenticationMode struct { + _ struct{} `type:"structure"` + + // The password(s) used for authentication + Passwords []*string `min:"1" type:"list"` + + // Indicates whether the user requires a password to authenticate. All newly-created + // users require a password. + Type *string `type:"string" enum:"InputAuthenticationType"` +} + +// String returns the string representation +func (s AuthenticationMode) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AuthenticationMode) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AuthenticationMode) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AuthenticationMode"} + if s.Passwords != nil && len(s.Passwords) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Passwords", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPasswords sets the Passwords field's value. +func (s *AuthenticationMode) SetPasswords(v []*string) *AuthenticationMode { + s.Passwords = v + return s +} + +// SetType sets the Type field's value. +func (s *AuthenticationMode) SetType(v string) *AuthenticationMode { + s.Type = &v + return s +} + +// Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz). +type AvailabilityZone struct { + _ struct{} `type:"structure"` + + // The name of the Availability Zone. + Name *string `type:"string"` +} + +// String returns the string representation +func (s AvailabilityZone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AvailabilityZone) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *AvailabilityZone) SetName(v string) *AvailabilityZone { + s.Name = &v + return s +} + +type BatchUpdateClusterInput struct { + _ struct{} `type:"structure"` + + // The cluster names to apply the updates. + // + // ClusterNames is a required field + ClusterNames []*string `type:"list" required:"true"` + + // The unique ID of the service update + ServiceUpdate *ServiceUpdateRequest `type:"structure"` +} + +// String returns the string representation +func (s BatchUpdateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchUpdateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchUpdateClusterInput"} + if s.ClusterNames == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterNames")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterNames sets the ClusterNames field's value. +func (s *BatchUpdateClusterInput) SetClusterNames(v []*string) *BatchUpdateClusterInput { + s.ClusterNames = v + return s +} + +// SetServiceUpdate sets the ServiceUpdate field's value. +func (s *BatchUpdateClusterInput) SetServiceUpdate(v *ServiceUpdateRequest) *BatchUpdateClusterInput { + s.ServiceUpdate = v + return s +} + +type BatchUpdateClusterOutput struct { + _ struct{} `type:"structure"` + + // The list of clusters that have been updated. + ProcessedClusters []*Cluster `type:"list"` + + // The list of clusters where updates have not been applied. + UnprocessedClusters []*UnprocessedCluster `type:"list"` +} + +// String returns the string representation +func (s BatchUpdateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s BatchUpdateClusterOutput) GoString() string { + return s.String() +} + +// SetProcessedClusters sets the ProcessedClusters field's value. +func (s *BatchUpdateClusterOutput) SetProcessedClusters(v []*Cluster) *BatchUpdateClusterOutput { + s.ProcessedClusters = v + return s +} + +// SetUnprocessedClusters sets the UnprocessedClusters field's value. +func (s *BatchUpdateClusterOutput) SetUnprocessedClusters(v []*UnprocessedCluster) *BatchUpdateClusterOutput { + s.UnprocessedClusters = v + return s +} + +// Contains all of the attributes of a specific cluster. +type Cluster struct { + _ struct{} `type:"structure"` + + // The name of the Access Control List associated with this cluster. + ACLName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the cluster. + ARN *string `type:"string"` + + // When set to true, the cluster will automatically receive minor engine version + // upgrades after launch. + AutoMinorVersionUpgrade *bool `type:"boolean"` + + // Indicates if the cluster has a Multi-AZ configuration (multiaz) or not (singleaz). + AvailabilityMode *string `type:"string" enum:"AZStatus"` + + // The cluster's configuration endpoint + ClusterEndpoint *Endpoint `type:"structure"` + + // A description of the cluster + Description *string `type:"string"` + + // The Redis engine patch version used by the cluster + EnginePatchVersion *string `type:"string"` + + // The Redis engine version used by the cluster + EngineVersion *string `type:"string"` + + // The ID of the KMS key used to encrypt the cluster + KmsKeyId *string `type:"string"` + + // Specifies the weekly time range during which maintenance on the cluster is + // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + MaintenanceWindow *string `type:"string"` + + // The user-supplied name of the cluster. This identifier is a unique key that + // identifies a cluster. + Name *string `type:"string"` + + // The cluster's node type + NodeType *string `type:"string"` + + // The number of shards in the cluster + NumberOfShards *int64 `type:"integer"` + + // The name of the parameter group used by the cluster + ParameterGroupName *string `type:"string"` + + // The status of the parameter group used by the cluster, for example 'active' + // or 'applying'. + ParameterGroupStatus *string `type:"string"` + + // A group of settings that are currently being applied. + PendingUpdates *ClusterPendingUpdates `type:"structure"` + + // A list of security groups used by the cluster + SecurityGroups []*SecurityGroupMembership `type:"list"` + + // A list of shards that are members of the cluster. + Shards []*Shard `type:"list"` + + // The number of days for which MemoryDB retains automatic snapshots before + // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot + // that was taken today is retained for 5 days before being deleted. + SnapshotRetentionLimit *int64 `type:"integer"` + + // The daily time range (in UTC) during which MemoryDB begins taking a daily + // snapshot of your shard. Example: 05:00-09:00 If you do not specify this parameter, + // MemoryDB automatically chooses an appropriate time range. + SnapshotWindow *string `type:"string"` + + // The Amazon Resource Name (ARN) of the SNS notification topic + SnsTopicArn *string `type:"string"` + + // The SNS topic must be in Active status to receive notifications + SnsTopicStatus *string `type:"string"` + + // The status of the cluster. For example, Available, Updating, Creating. + Status *string `type:"string"` + + // The name of the subnet group used by the cluster + SubnetGroupName *string `type:"string"` + + // A flag to indicate if In-transit encryption is enabled + TLSEnabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s Cluster) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Cluster) GoString() string { + return s.String() +} + +// SetACLName sets the ACLName field's value. +func (s *Cluster) SetACLName(v string) *Cluster { + s.ACLName = &v + return s +} + +// SetARN sets the ARN field's value. +func (s *Cluster) SetARN(v string) *Cluster { + s.ARN = &v + return s +} + +// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. +func (s *Cluster) SetAutoMinorVersionUpgrade(v bool) *Cluster { + s.AutoMinorVersionUpgrade = &v + return s +} + +// SetAvailabilityMode sets the AvailabilityMode field's value. +func (s *Cluster) SetAvailabilityMode(v string) *Cluster { + s.AvailabilityMode = &v + return s +} + +// SetClusterEndpoint sets the ClusterEndpoint field's value. +func (s *Cluster) SetClusterEndpoint(v *Endpoint) *Cluster { + s.ClusterEndpoint = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Cluster) SetDescription(v string) *Cluster { + s.Description = &v + return s +} + +// SetEnginePatchVersion sets the EnginePatchVersion field's value. +func (s *Cluster) SetEnginePatchVersion(v string) *Cluster { + s.EnginePatchVersion = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *Cluster) SetEngineVersion(v string) *Cluster { + s.EngineVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Cluster) SetKmsKeyId(v string) *Cluster { + s.KmsKeyId = &v + return s +} + +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *Cluster) SetMaintenanceWindow(v string) *Cluster { + s.MaintenanceWindow = &v + return s +} + +// SetName sets the Name field's value. +func (s *Cluster) SetName(v string) *Cluster { + s.Name = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *Cluster) SetNodeType(v string) *Cluster { + s.NodeType = &v + return s +} + +// SetNumberOfShards sets the NumberOfShards field's value. +func (s *Cluster) SetNumberOfShards(v int64) *Cluster { + s.NumberOfShards = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *Cluster) SetParameterGroupName(v string) *Cluster { + s.ParameterGroupName = &v + return s +} + +// SetParameterGroupStatus sets the ParameterGroupStatus field's value. +func (s *Cluster) SetParameterGroupStatus(v string) *Cluster { + s.ParameterGroupStatus = &v + return s +} + +// SetPendingUpdates sets the PendingUpdates field's value. +func (s *Cluster) SetPendingUpdates(v *ClusterPendingUpdates) *Cluster { + s.PendingUpdates = v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *Cluster) SetSecurityGroups(v []*SecurityGroupMembership) *Cluster { + s.SecurityGroups = v + return s +} + +// SetShards sets the Shards field's value. +func (s *Cluster) SetShards(v []*Shard) *Cluster { + s.Shards = v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *Cluster) SetSnapshotRetentionLimit(v int64) *Cluster { + s.SnapshotRetentionLimit = &v + return s +} + +// SetSnapshotWindow sets the SnapshotWindow field's value. +func (s *Cluster) SetSnapshotWindow(v string) *Cluster { + s.SnapshotWindow = &v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *Cluster) SetSnsTopicArn(v string) *Cluster { + s.SnsTopicArn = &v + return s +} + +// SetSnsTopicStatus sets the SnsTopicStatus field's value. +func (s *Cluster) SetSnsTopicStatus(v string) *Cluster { + s.SnsTopicStatus = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Cluster) SetStatus(v string) *Cluster { + s.Status = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *Cluster) SetSubnetGroupName(v string) *Cluster { + s.SubnetGroupName = &v + return s +} + +// SetTLSEnabled sets the TLSEnabled field's value. +func (s *Cluster) SetTLSEnabled(v bool) *Cluster { + s.TLSEnabled = &v + return s +} + +type ClusterAlreadyExistsFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClusterAlreadyExistsFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterAlreadyExistsFault) GoString() string { + return s.String() +} + +func newErrorClusterAlreadyExistsFault(v protocol.ResponseMetadata) error { + return &ClusterAlreadyExistsFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ClusterAlreadyExistsFault) Code() string { + return "ClusterAlreadyExistsFault" +} + +// Message returns the exception's message. +func (s *ClusterAlreadyExistsFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ClusterAlreadyExistsFault) OrigErr() error { + return nil +} + +func (s *ClusterAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ClusterAlreadyExistsFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ClusterAlreadyExistsFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A list of cluster configuration options. +type ClusterConfiguration struct { + _ struct{} `type:"structure"` + + // The description of the cluster configuration + Description *string `type:"string"` + + // The Redis engine version used by the cluster + EngineVersion *string `type:"string"` + + // The specified maintenance window for the cluster + MaintenanceWindow *string `type:"string"` + + // The name of the cluster + Name *string `type:"string"` + + // The node type used for the cluster + NodeType *string `type:"string"` + + // The number of shards in the cluster + NumShards *int64 `type:"integer"` + + // The name of parameter group used by the cluster + ParameterGroupName *string `type:"string"` + + // The port used by the cluster + Port *int64 `type:"integer"` + + // The list of shards in the cluster + Shards []*ShardDetail `type:"list"` + + // The snapshot retention limit set by the cluster + SnapshotRetentionLimit *int64 `type:"integer"` + + // The snapshot window set by the cluster + SnapshotWindow *string `type:"string"` + + // The name of the subnet group used by the cluster + SubnetGroupName *string `type:"string"` + + // The Amazon Resource Name (ARN) of the SNS notification topic for the cluster + TopicArn *string `type:"string"` + + // The ID of the VPC the cluster belongs to + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s ClusterConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterConfiguration) GoString() string { + return s.String() +} + +// SetDescription sets the Description field's value. +func (s *ClusterConfiguration) SetDescription(v string) *ClusterConfiguration { + s.Description = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *ClusterConfiguration) SetEngineVersion(v string) *ClusterConfiguration { + s.EngineVersion = &v + return s +} + +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *ClusterConfiguration) SetMaintenanceWindow(v string) *ClusterConfiguration { + s.MaintenanceWindow = &v + return s +} + +// SetName sets the Name field's value. +func (s *ClusterConfiguration) SetName(v string) *ClusterConfiguration { + s.Name = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *ClusterConfiguration) SetNodeType(v string) *ClusterConfiguration { + s.NodeType = &v + return s +} + +// SetNumShards sets the NumShards field's value. +func (s *ClusterConfiguration) SetNumShards(v int64) *ClusterConfiguration { + s.NumShards = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *ClusterConfiguration) SetParameterGroupName(v string) *ClusterConfiguration { + s.ParameterGroupName = &v + return s +} + +// SetPort sets the Port field's value. +func (s *ClusterConfiguration) SetPort(v int64) *ClusterConfiguration { + s.Port = &v + return s +} + +// SetShards sets the Shards field's value. +func (s *ClusterConfiguration) SetShards(v []*ShardDetail) *ClusterConfiguration { + s.Shards = v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *ClusterConfiguration) SetSnapshotRetentionLimit(v int64) *ClusterConfiguration { + s.SnapshotRetentionLimit = &v + return s +} + +// SetSnapshotWindow sets the SnapshotWindow field's value. +func (s *ClusterConfiguration) SetSnapshotWindow(v string) *ClusterConfiguration { + s.SnapshotWindow = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *ClusterConfiguration) SetSubnetGroupName(v string) *ClusterConfiguration { + s.SubnetGroupName = &v + return s +} + +// SetTopicArn sets the TopicArn field's value. +func (s *ClusterConfiguration) SetTopicArn(v string) *ClusterConfiguration { + s.TopicArn = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *ClusterConfiguration) SetVpcId(v string) *ClusterConfiguration { + s.VpcId = &v + return s +} + +type ClusterNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClusterNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterNotFoundFault) GoString() string { + return s.String() +} + +func newErrorClusterNotFoundFault(v protocol.ResponseMetadata) error { + return &ClusterNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ClusterNotFoundFault) Code() string { + return "ClusterNotFoundFault" +} + +// Message returns the exception's message. +func (s *ClusterNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ClusterNotFoundFault) OrigErr() error { + return nil +} + +func (s *ClusterNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ClusterNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ClusterNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A list of updates being applied to the cluster +type ClusterPendingUpdates struct { + _ struct{} `type:"structure"` + + // A list of ACLs associated with the cluster that are being updated + ACLs *ACLsUpdateStatus `type:"structure"` + + // The status of an online resharding operation. + Resharding *ReshardingStatus `type:"structure"` + + // A list of service updates being applied to the cluster + ServiceUpdates []*PendingModifiedServiceUpdate `type:"list"` +} + +// String returns the string representation +func (s ClusterPendingUpdates) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterPendingUpdates) GoString() string { + return s.String() +} + +// SetACLs sets the ACLs field's value. +func (s *ClusterPendingUpdates) SetACLs(v *ACLsUpdateStatus) *ClusterPendingUpdates { + s.ACLs = v + return s +} + +// SetResharding sets the Resharding field's value. +func (s *ClusterPendingUpdates) SetResharding(v *ReshardingStatus) *ClusterPendingUpdates { + s.Resharding = v + return s +} + +// SetServiceUpdates sets the ServiceUpdates field's value. +func (s *ClusterPendingUpdates) SetServiceUpdates(v []*PendingModifiedServiceUpdate) *ClusterPendingUpdates { + s.ServiceUpdates = v + return s +} + +type ClusterQuotaForCustomerExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ClusterQuotaForCustomerExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ClusterQuotaForCustomerExceededFault) GoString() string { + return s.String() +} + +func newErrorClusterQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error { + return &ClusterQuotaForCustomerExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ClusterQuotaForCustomerExceededFault) Code() string { + return "ClusterQuotaForCustomerExceededFault" +} + +// Message returns the exception's message. +func (s *ClusterQuotaForCustomerExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ClusterQuotaForCustomerExceededFault) OrigErr() error { + return nil +} + +func (s *ClusterQuotaForCustomerExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ClusterQuotaForCustomerExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ClusterQuotaForCustomerExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type CopySnapshotInput struct { + _ struct{} `type:"structure"` + + // The ID of the KMS key used to encrypt the target snapshot. + KmsKeyId *string `type:"string"` + + // The name of an existing snapshot from which to make a copy. + // + // SourceSnapshotName is a required field + SourceSnapshotName *string `type:"string" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + Tags []*Tag `type:"list"` + + // The Amazon S3 bucket to which the snapshot is exported. This parameter is + // used only when exporting a snapshot for external access. When using this + // parameter to export a snapshot, be sure MemoryDB has the needed permissions + // to this S3 bucket. For more information, see Step 2: Grant MemoryDB Access + // to Your Amazon S3 Bucket (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/snapshots-exporting.html). + TargetBucket *string `type:"string"` + + // A name for the snapshot copy. MemoryDB does not permit overwriting a snapshot, + // therefore this name must be unique within its context - MemoryDB or an Amazon + // S3 bucket if exporting. + // + // TargetSnapshotName is a required field + TargetSnapshotName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s CopySnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopySnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopySnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopySnapshotInput"} + if s.SourceSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SourceSnapshotName")) + } + if s.TargetSnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("TargetSnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CopySnapshotInput) SetKmsKeyId(v string) *CopySnapshotInput { + s.KmsKeyId = &v + return s +} + +// SetSourceSnapshotName sets the SourceSnapshotName field's value. +func (s *CopySnapshotInput) SetSourceSnapshotName(v string) *CopySnapshotInput { + s.SourceSnapshotName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CopySnapshotInput) SetTags(v []*Tag) *CopySnapshotInput { + s.Tags = v + return s +} + +// SetTargetBucket sets the TargetBucket field's value. +func (s *CopySnapshotInput) SetTargetBucket(v string) *CopySnapshotInput { + s.TargetBucket = &v + return s +} + +// SetTargetSnapshotName sets the TargetSnapshotName field's value. +func (s *CopySnapshotInput) SetTargetSnapshotName(v string) *CopySnapshotInput { + s.TargetSnapshotName = &v + return s +} + +type CopySnapshotOutput struct { + _ struct{} `type:"structure"` + + // Represents a copy of an entire cluster as of the time when the snapshot was + // taken. + Snapshot *Snapshot `type:"structure"` +} + +// String returns the string representation +func (s CopySnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CopySnapshotOutput) GoString() string { + return s.String() +} + +// SetSnapshot sets the Snapshot field's value. +func (s *CopySnapshotOutput) SetSnapshot(v *Snapshot) *CopySnapshotOutput { + s.Snapshot = v + return s +} + +type CreateACLInput struct { + _ struct{} `type:"structure"` + + // The name of the Access Control List. + // + // ACLName is a required field + ACLName *string `type:"string" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + Tags []*Tag `type:"list"` + + // The list of users that belong to the Access Control List. + UserNames []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s CreateACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateACLInput"} + if s.ACLName == nil { + invalidParams.Add(request.NewErrParamRequired("ACLName")) + } + if s.UserNames != nil && len(s.UserNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserNames", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetACLName sets the ACLName field's value. +func (s *CreateACLInput) SetACLName(v string) *CreateACLInput { + s.ACLName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateACLInput) SetTags(v []*Tag) *CreateACLInput { + s.Tags = v + return s +} + +// SetUserNames sets the UserNames field's value. +func (s *CreateACLInput) SetUserNames(v []*string) *CreateACLInput { + s.UserNames = v + return s +} + +type CreateACLOutput struct { + _ struct{} `type:"structure"` + + // The newly-created Access Control List. + ACL *ACL `type:"structure"` +} + +// String returns the string representation +func (s CreateACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateACLOutput) GoString() string { + return s.String() +} + +// SetACL sets the ACL field's value. +func (s *CreateACLOutput) SetACL(v *ACL) *CreateACLOutput { + s.ACL = v + return s +} + +type CreateClusterInput struct { + _ struct{} `type:"structure"` + + // The name of the Access Control List to associate with the cluster. + // + // ACLName is a required field + ACLName *string `min:"1" type:"string" required:"true"` + + // When set to true, the cluster will automatically receive minor engine version + // upgrades after launch. + AutoMinorVersionUpgrade *bool `type:"boolean"` + + // The name of the cluster. This value must be unique as it also serves as the + // cluster identifier. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // An optional description of the cluster. + Description *string `type:"string"` + + // The version number of the Redis engine to be used for the cluster. + EngineVersion *string `type:"string"` + + // The ID of the KMS key used to encrypt the cluster. + KmsKeyId *string `type:"string"` + + // Specifies the weekly time range during which maintenance on the cluster is + // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi + // (24H Clock UTC). The minimum maintenance window is a 60 minute period. + MaintenanceWindow *string `type:"string"` + + // The compute and memory capacity of the nodes in the cluster. + // + // NodeType is a required field + NodeType *string `type:"string" required:"true"` + + // The number of replicas to apply to each shard. The limit is 5. + NumReplicasPerShard *int64 `type:"integer"` + + // The number of shards the cluster will contain. + // + // Clusters can have up to 500 shards, with your data partitioned across the + // shards. For example, you can choose to configure a 500 node cluster that + // ranges between 83 shards (one primary and 5 replicas per shard) and 500 shards + // (single primary and no replicas). Make sure there are enough available IP + // addresses to accommodate the increase. Common pitfalls include the subnets + // in the subnet group have too small a CIDR range or the subnets are shared + // and heavily used by other clusters. + NumShards *int64 `type:"integer"` + + // The name of the parameter group associated with the cluster. + ParameterGroupName *string `type:"string"` + + // The port number on which each of the nodes accepts connections. + Port *int64 `type:"integer"` + + // A list of security group names to associate with this cluster. + SecurityGroupIds []*string `type:"list"` + + // A list of Amazon Resource Names (ARN) that uniquely identify the RDB snapshot + // files stored in Amazon S3. The snapshot files are used to populate the new + // cluster. The Amazon S3 object name in the ARN cannot contain any commas. + SnapshotArns []*string `type:"list"` + + // The name of a snapshot from which to restore data into the new cluster. The + // snapshot status changes to restoring while the new cluster is being created. + SnapshotName *string `type:"string"` + + // The number of days for which MemoryDB retains automatic snapshots before + // deleting them. For example, if you set SnapshotRetentionLimit to 5, a snapshot + // that was taken today is retained for 5 days before being deleted. + SnapshotRetentionLimit *int64 `type:"integer"` + + // The daily time range (in UTC) during which MemoryDB begins taking a daily + // snapshot of your shard. + // + // Example: 05:00-09:00 + // + // If you do not specify this parameter, MemoryDB automatically chooses an appropriate + // time range. + SnapshotWindow *string `type:"string"` + + // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service + // (SNS) topic to which notifications are sent. + SnsTopicArn *string `type:"string"` + + // The name of the subnet group to be used for the cluster. + SubnetGroupName *string `type:"string"` + + // A flag to enable in-transit encryption on the cluster. + TLSEnabled *bool `type:"boolean"` + + // A list of tags to be added to this resource. Tags are comma-separated key,value + // pairs (e.g. Key=myKey, Value=myKeyValue. You can include multiple tags as + // shown following: Key=myKey, Value=myKeyValue Key=mySecondKey, Value=mySecondKeyValue. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} + if s.ACLName == nil { + invalidParams.Add(request.NewErrParamRequired("ACLName")) + } + if s.ACLName != nil && len(*s.ACLName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ACLName", 1)) + } + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.NodeType == nil { + invalidParams.Add(request.NewErrParamRequired("NodeType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetACLName sets the ACLName field's value. +func (s *CreateClusterInput) SetACLName(v string) *CreateClusterInput { + s.ACLName = &v + return s +} + +// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. +func (s *CreateClusterInput) SetAutoMinorVersionUpgrade(v bool) *CreateClusterInput { + s.AutoMinorVersionUpgrade = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { + s.ClusterName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateClusterInput) SetDescription(v string) *CreateClusterInput { + s.Description = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *CreateClusterInput) SetEngineVersion(v string) *CreateClusterInput { + s.EngineVersion = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateClusterInput) SetKmsKeyId(v string) *CreateClusterInput { + s.KmsKeyId = &v + return s +} + +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *CreateClusterInput) SetMaintenanceWindow(v string) *CreateClusterInput { + s.MaintenanceWindow = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput { + s.NodeType = &v + return s +} + +// SetNumReplicasPerShard sets the NumReplicasPerShard field's value. +func (s *CreateClusterInput) SetNumReplicasPerShard(v int64) *CreateClusterInput { + s.NumReplicasPerShard = &v + return s +} + +// SetNumShards sets the NumShards field's value. +func (s *CreateClusterInput) SetNumShards(v int64) *CreateClusterInput { + s.NumShards = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *CreateClusterInput) SetParameterGroupName(v string) *CreateClusterInput { + s.ParameterGroupName = &v + return s +} + +// SetPort sets the Port field's value. +func (s *CreateClusterInput) SetPort(v int64) *CreateClusterInput { + s.Port = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateClusterInput) SetSecurityGroupIds(v []*string) *CreateClusterInput { + s.SecurityGroupIds = v + return s +} + +// SetSnapshotArns sets the SnapshotArns field's value. +func (s *CreateClusterInput) SetSnapshotArns(v []*string) *CreateClusterInput { + s.SnapshotArns = v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *CreateClusterInput) SetSnapshotName(v string) *CreateClusterInput { + s.SnapshotName = &v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *CreateClusterInput) SetSnapshotRetentionLimit(v int64) *CreateClusterInput { + s.SnapshotRetentionLimit = &v + return s +} + +// SetSnapshotWindow sets the SnapshotWindow field's value. +func (s *CreateClusterInput) SetSnapshotWindow(v string) *CreateClusterInput { + s.SnapshotWindow = &v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *CreateClusterInput) SetSnsTopicArn(v string) *CreateClusterInput { + s.SnsTopicArn = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *CreateClusterInput) SetSubnetGroupName(v string) *CreateClusterInput { + s.SubnetGroupName = &v + return s +} + +// SetTLSEnabled sets the TLSEnabled field's value. +func (s *CreateClusterInput) SetTLSEnabled(v bool) *CreateClusterInput { + s.TLSEnabled = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { + s.Tags = v + return s +} + +type CreateClusterOutput struct { + _ struct{} `type:"structure"` + + // The newly-created cluster. + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s CreateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateClusterOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *CreateClusterOutput) SetCluster(v *Cluster) *CreateClusterOutput { + s.Cluster = v + return s +} + +type CreateParameterGroupInput struct { + _ struct{} `type:"structure"` + + // An optional description of the parameter group. + Description *string `type:"string"` + + // The name of the parameter group family that the parameter group can be used + // with. + // + // Family is a required field + Family *string `type:"string" required:"true"` + + // The name of the parameter group. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateParameterGroupInput"} + if s.Family == nil { + invalidParams.Add(request.NewErrParamRequired("Family")) + } + if s.ParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateParameterGroupInput) SetDescription(v string) *CreateParameterGroupInput { + s.Description = &v + return s +} + +// SetFamily sets the Family field's value. +func (s *CreateParameterGroupInput) SetFamily(v string) *CreateParameterGroupInput { + s.Family = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *CreateParameterGroupInput) SetParameterGroupName(v string) *CreateParameterGroupInput { + s.ParameterGroupName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateParameterGroupInput) SetTags(v []*Tag) *CreateParameterGroupInput { + s.Tags = v + return s +} + +type CreateParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The newly-created parameter group. + ParameterGroup *ParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateParameterGroupOutput) GoString() string { + return s.String() +} + +// SetParameterGroup sets the ParameterGroup field's value. +func (s *CreateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *CreateParameterGroupOutput { + s.ParameterGroup = v + return s +} + +type CreateSnapshotInput struct { + _ struct{} `type:"structure"` + + // The snapshot is created from this cluster. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The ID of the KMS key used to encrypt the snapshot. + KmsKeyId *string `type:"string"` + + // A name for the snapshot being created. + // + // SnapshotName is a required field + SnapshotName *string `type:"string" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.SnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateSnapshotInput) SetClusterName(v string) *CreateSnapshotInput { + s.ClusterName = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateSnapshotInput) SetKmsKeyId(v string) *CreateSnapshotInput { + s.KmsKeyId = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *CreateSnapshotInput) SetSnapshotName(v string) *CreateSnapshotInput { + s.SnapshotName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput { + s.Tags = v + return s +} + +type CreateSnapshotOutput struct { + _ struct{} `type:"structure"` + + // The newly-created snapshot. + Snapshot *Snapshot `type:"structure"` +} + +// String returns the string representation +func (s CreateSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSnapshotOutput) GoString() string { + return s.String() +} + +// SetSnapshot sets the Snapshot field's value. +func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { + s.Snapshot = v + return s +} + +type CreateSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // A description for the subnet group. + Description *string `type:"string"` + + // The name of the subnet group. + // + // SubnetGroupName is a required field + SubnetGroupName *string `type:"string" required:"true"` + + // A list of VPC subnet IDs for the subnet group. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateSubnetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSubnetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSubnetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSubnetGroupInput"} + if s.SubnetGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetGroupName")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateSubnetGroupInput) SetDescription(v string) *CreateSubnetGroupInput { + s.Description = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *CreateSubnetGroupInput) SetSubnetGroupName(v string) *CreateSubnetGroupInput { + s.SubnetGroupName = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateSubnetGroupInput) SetSubnetIds(v []*string) *CreateSubnetGroupInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSubnetGroupInput) SetTags(v []*Tag) *CreateSubnetGroupInput { + s.Tags = v + return s +} + +type CreateSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // The newly-created subnet group + SubnetGroup *SubnetGroup `type:"structure"` +} + +// String returns the string representation +func (s CreateSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateSubnetGroupOutput) GoString() string { + return s.String() +} + +// SetSubnetGroup sets the SubnetGroup field's value. +func (s *CreateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *CreateSubnetGroupOutput { + s.SubnetGroup = v + return s +} + +type CreateUserInput struct { + _ struct{} `type:"structure"` + + // Access permissions string used for this user. + // + // AccessString is a required field + AccessString *string `type:"string" required:"true"` + + // Denotes the user's authentication properties, such as whether it requires + // a password to authenticate. + // + // AuthenticationMode is a required field + AuthenticationMode *AuthenticationMode `type:"structure" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + Tags []*Tag `type:"list"` + + // The name of the user. This value must be unique as it also serves as the + // user identifier. + // + // UserName is a required field + UserName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUserInput"} + if s.AccessString == nil { + invalidParams.Add(request.NewErrParamRequired("AccessString")) + } + if s.AuthenticationMode == nil { + invalidParams.Add(request.NewErrParamRequired("AuthenticationMode")) + } + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + if s.AuthenticationMode != nil { + if err := s.AuthenticationMode.Validate(); err != nil { + invalidParams.AddNested("AuthenticationMode", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessString sets the AccessString field's value. +func (s *CreateUserInput) SetAccessString(v string) *CreateUserInput { + s.AccessString = &v + return s +} + +// SetAuthenticationMode sets the AuthenticationMode field's value. +func (s *CreateUserInput) SetAuthenticationMode(v *AuthenticationMode) *CreateUserInput { + s.AuthenticationMode = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateUserInput) SetTags(v []*Tag) *CreateUserInput { + s.Tags = v + return s +} + +// SetUserName sets the UserName field's value. +func (s *CreateUserInput) SetUserName(v string) *CreateUserInput { + s.UserName = &v + return s +} + +type CreateUserOutput struct { + _ struct{} `type:"structure"` + + // The newly-created user. + User *User `type:"structure"` +} + +// String returns the string representation +func (s CreateUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateUserOutput) GoString() string { + return s.String() +} + +// SetUser sets the User field's value. +func (s *CreateUserOutput) SetUser(v *User) *CreateUserOutput { + s.User = v + return s +} + +type DefaultUserRequired struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s DefaultUserRequired) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DefaultUserRequired) GoString() string { + return s.String() +} + +func newErrorDefaultUserRequired(v protocol.ResponseMetadata) error { + return &DefaultUserRequired{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DefaultUserRequired) Code() string { + return "DefaultUserRequired" +} + +// Message returns the exception's message. +func (s *DefaultUserRequired) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DefaultUserRequired) OrigErr() error { + return nil +} + +func (s *DefaultUserRequired) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DefaultUserRequired) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DefaultUserRequired) RequestID() string { + return s.RespMetadata.RequestID +} + +type DeleteACLInput struct { + _ struct{} `type:"structure"` + + // The name of the Access Control List to delete + // + // ACLName is a required field + ACLName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteACLInput"} + if s.ACLName == nil { + invalidParams.Add(request.NewErrParamRequired("ACLName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetACLName sets the ACLName field's value. +func (s *DeleteACLInput) SetACLName(v string) *DeleteACLInput { + s.ACLName = &v + return s +} + +type DeleteACLOutput struct { + _ struct{} `type:"structure"` + + // The Access Control List object that has been deleted. + ACL *ACL `type:"structure"` +} + +// String returns the string representation +func (s DeleteACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteACLOutput) GoString() string { + return s.String() +} + +// SetACL sets the ACL field's value. +func (s *DeleteACLOutput) SetACL(v *ACL) *DeleteACLOutput { + s.ACL = v + return s +} + +type DeleteClusterInput struct { + _ struct{} `type:"structure"` + + // The name of the cluster to be deleted + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The user-supplied name of a final cluster snapshot. This is the unique name + // that identifies the snapshot. MemoryDB creates the snapshot, and then deletes + // the cluster immediately afterward. + FinalSnapshotName *string `type:"string"` +} + +// String returns the string representation +func (s DeleteClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *DeleteClusterInput) SetClusterName(v string) *DeleteClusterInput { + s.ClusterName = &v + return s +} + +// SetFinalSnapshotName sets the FinalSnapshotName field's value. +func (s *DeleteClusterInput) SetFinalSnapshotName(v string) *DeleteClusterInput { + s.FinalSnapshotName = &v + return s +} + +type DeleteClusterOutput struct { + _ struct{} `type:"structure"` + + // The cluster object that has been deleted + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s DeleteClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteClusterOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *DeleteClusterOutput) SetCluster(v *Cluster) *DeleteClusterOutput { + s.Cluster = v + return s +} + +type DeleteParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the parameter group to delete. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteParameterGroupInput"} + if s.ParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *DeleteParameterGroupInput) SetParameterGroupName(v string) *DeleteParameterGroupInput { + s.ParameterGroupName = &v + return s +} + +type DeleteParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The parameter group that has been deleted. + ParameterGroup *ParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s DeleteParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteParameterGroupOutput) GoString() string { + return s.String() +} + +// SetParameterGroup sets the ParameterGroup field's value. +func (s *DeleteParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *DeleteParameterGroupOutput { + s.ParameterGroup = v + return s +} + +type DeleteSnapshotInput struct { + _ struct{} `type:"structure"` + + // The name of the snapshot to delete + // + // SnapshotName is a required field + SnapshotName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSnapshotInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} + if s.SnapshotName == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *DeleteSnapshotInput) SetSnapshotName(v string) *DeleteSnapshotInput { + s.SnapshotName = &v + return s +} + +type DeleteSnapshotOutput struct { + _ struct{} `type:"structure"` + + // The snapshot object that has been deleted. + Snapshot *Snapshot `type:"structure"` +} + +// String returns the string representation +func (s DeleteSnapshotOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSnapshotOutput) GoString() string { + return s.String() +} + +// SetSnapshot sets the Snapshot field's value. +func (s *DeleteSnapshotOutput) SetSnapshot(v *Snapshot) *DeleteSnapshotOutput { + s.Snapshot = v + return s +} + +type DeleteSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the subnet group to delete + // + // SubnetGroupName is a required field + SubnetGroupName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteSubnetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSubnetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSubnetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSubnetGroupInput"} + if s.SubnetGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *DeleteSubnetGroupInput) SetSubnetGroupName(v string) *DeleteSubnetGroupInput { + s.SubnetGroupName = &v + return s +} + +type DeleteSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // The subnet group object that has been deleted. + SubnetGroup *SubnetGroup `type:"structure"` +} + +// String returns the string representation +func (s DeleteSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteSubnetGroupOutput) GoString() string { + return s.String() +} + +// SetSubnetGroup sets the SubnetGroup field's value. +func (s *DeleteSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *DeleteSubnetGroupOutput { + s.SubnetGroup = v + return s +} + +type DeleteUserInput struct { + _ struct{} `type:"structure"` + + // The name of the user to delete + // + // UserName is a required field + UserName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserInput"} + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetUserName sets the UserName field's value. +func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { + s.UserName = &v + return s +} + +type DeleteUserOutput struct { + _ struct{} `type:"structure"` + + // The user object that has been deleted. + User *User `type:"structure"` +} + +// String returns the string representation +func (s DeleteUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserOutput) GoString() string { + return s.String() +} + +// SetUser sets the User field's value. +func (s *DeleteUserOutput) SetUser(v *User) *DeleteUserOutput { + s.User = v + return s +} + +type DescribeACLsInput struct { + _ struct{} `type:"structure"` + + // The name of the ACL + ACLName *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeACLsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeACLsInput) GoString() string { + return s.String() +} + +// SetACLName sets the ACLName field's value. +func (s *DescribeACLsInput) SetACLName(v string) *DescribeACLsInput { + s.ACLName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeACLsInput) SetMaxResults(v int64) *DescribeACLsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeACLsInput) SetNextToken(v string) *DescribeACLsInput { + s.NextToken = &v + return s +} + +type DescribeACLsOutput struct { + _ struct{} `type:"structure"` + + // The list of ACLs + ACLs []*ACL `type:"list"` + + // If nextToken is returned, there are more results available. The value of + // nextToken is a unique pagination token for each page. Make the call again + // using the returned token to retrieve the next page. Keep all other arguments + // unchanged. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeACLsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeACLsOutput) GoString() string { + return s.String() +} + +// SetACLs sets the ACLs field's value. +func (s *DescribeACLsOutput) SetACLs(v []*ACL) *DescribeACLsOutput { + s.ACLs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeACLsOutput) SetNextToken(v string) *DescribeACLsOutput { + s.NextToken = &v + return s +} + +type DescribeClustersInput struct { + _ struct{} `type:"structure"` + + // The name of the cluster + ClusterName *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // An optional flag that can be included in the request to retrieve information + // about the individual shard(s). + ShowShardDetails *bool `type:"boolean"` +} + +// String returns the string representation +func (s DescribeClustersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClustersInput) GoString() string { + return s.String() +} + +// SetClusterName sets the ClusterName field's value. +func (s *DescribeClustersInput) SetClusterName(v string) *DescribeClustersInput { + s.ClusterName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeClustersInput) SetMaxResults(v int64) *DescribeClustersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClustersInput) SetNextToken(v string) *DescribeClustersInput { + s.NextToken = &v + return s +} + +// SetShowShardDetails sets the ShowShardDetails field's value. +func (s *DescribeClustersInput) SetShowShardDetails(v bool) *DescribeClustersInput { + s.ShowShardDetails = &v + return s +} + +type DescribeClustersOutput struct { + _ struct{} `type:"structure"` + + // A list of clusters + Clusters []*Cluster `type:"list"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeClustersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeClustersOutput) GoString() string { + return s.String() +} + +// SetClusters sets the Clusters field's value. +func (s *DescribeClustersOutput) SetClusters(v []*Cluster) *DescribeClustersOutput { + s.Clusters = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeClustersOutput) SetNextToken(v string) *DescribeClustersOutput { + s.NextToken = &v + return s +} + +type DescribeEngineVersionsInput struct { + _ struct{} `type:"structure"` + + // If true, specifies that only the default version of the specified engine + // or engine and major version combination is to be returned. + DefaultOnly *bool `type:"boolean"` + + // The Redis engine version + EngineVersion *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // The name of a specific parameter group family to return details for. + ParameterGroupFamily *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEngineVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngineVersionsInput) GoString() string { + return s.String() +} + +// SetDefaultOnly sets the DefaultOnly field's value. +func (s *DescribeEngineVersionsInput) SetDefaultOnly(v bool) *DescribeEngineVersionsInput { + s.DefaultOnly = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *DescribeEngineVersionsInput) SetEngineVersion(v string) *DescribeEngineVersionsInput { + s.EngineVersion = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeEngineVersionsInput) SetMaxResults(v int64) *DescribeEngineVersionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEngineVersionsInput) SetNextToken(v string) *DescribeEngineVersionsInput { + s.NextToken = &v + return s +} + +// SetParameterGroupFamily sets the ParameterGroupFamily field's value. +func (s *DescribeEngineVersionsInput) SetParameterGroupFamily(v string) *DescribeEngineVersionsInput { + s.ParameterGroupFamily = &v + return s +} + +type DescribeEngineVersionsOutput struct { + _ struct{} `type:"structure"` + + // A list of engine version details. Each element in the list contains detailed + // information about one engine version. + EngineVersions []*EngineVersionInfo `type:"list"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEngineVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEngineVersionsOutput) GoString() string { + return s.String() +} + +// SetEngineVersions sets the EngineVersions field's value. +func (s *DescribeEngineVersionsOutput) SetEngineVersions(v []*EngineVersionInfo) *DescribeEngineVersionsOutput { + s.EngineVersions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEngineVersionsOutput) SetNextToken(v string) *DescribeEngineVersionsOutput { + s.NextToken = &v + return s +} + +type DescribeEventsInput struct { + _ struct{} `type:"structure"` + + // The number of minutes worth of events to retrieve. + Duration *int64 `type:"integer"` + + // The end of the time interval for which to retrieve events, specified in ISO + // 8601 format. Example: 2017-03-30T07:03:49.555Z + EndTime *time.Time `type:"timestamp"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // The identifier of the event source for which events are returned. If not + // specified, all sources are included in the response. + SourceName *string `type:"string"` + + // The event source to retrieve events for. If no value is specified, all events + // are returned. + SourceType *string `type:"string" enum:"SourceType"` + + // The beginning of the time interval to retrieve events for, specified in ISO + // 8601 format. Example: 2017-03-30T07:03:49.555Z + StartTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s DescribeEventsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventsInput) GoString() string { + return s.String() +} + +// SetDuration sets the Duration field's value. +func (s *DescribeEventsInput) SetDuration(v int64) *DescribeEventsInput { + s.Duration = &v + return s +} + +// SetEndTime sets the EndTime field's value. +func (s *DescribeEventsInput) SetEndTime(v time.Time) *DescribeEventsInput { + s.EndTime = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeEventsInput) SetMaxResults(v int64) *DescribeEventsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEventsInput) SetNextToken(v string) *DescribeEventsInput { + s.NextToken = &v + return s +} + +// SetSourceName sets the SourceName field's value. +func (s *DescribeEventsInput) SetSourceName(v string) *DescribeEventsInput { + s.SourceName = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *DescribeEventsInput) SetSourceType(v string) *DescribeEventsInput { + s.SourceType = &v + return s +} + +// SetStartTime sets the StartTime field's value. +func (s *DescribeEventsInput) SetStartTime(v time.Time) *DescribeEventsInput { + s.StartTime = &v + return s +} + +type DescribeEventsOutput struct { + _ struct{} `type:"structure"` + + // A list of events. Each element in the list contains detailed information + // about one event. + Events []*Event `type:"list"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeEventsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeEventsOutput) GoString() string { + return s.String() +} + +// SetEvents sets the Events field's value. +func (s *DescribeEventsOutput) SetEvents(v []*Event) *DescribeEventsOutput { + s.Events = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeEventsOutput) SetNextToken(v string) *DescribeEventsOutput { + s.NextToken = &v + return s +} + +type DescribeParameterGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // The name of a specific parameter group to return details for. + ParameterGroupName *string `type:"string"` +} + +// String returns the string representation +func (s DescribeParameterGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeParameterGroupsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeParameterGroupsInput) SetMaxResults(v int64) *DescribeParameterGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeParameterGroupsInput) SetNextToken(v string) *DescribeParameterGroupsInput { + s.NextToken = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *DescribeParameterGroupsInput) SetParameterGroupName(v string) *DescribeParameterGroupsInput { + s.ParameterGroupName = &v + return s +} + +type DescribeParameterGroupsOutput struct { + _ struct{} `type:"structure"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A list of parameter groups. Each element in the list contains detailed information + // about one parameter group. + ParameterGroups []*ParameterGroup `type:"list"` +} + +// String returns the string representation +func (s DescribeParameterGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeParameterGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeParameterGroupsOutput) SetNextToken(v string) *DescribeParameterGroupsOutput { + s.NextToken = &v + return s +} + +// SetParameterGroups sets the ParameterGroups field's value. +func (s *DescribeParameterGroupsOutput) SetParameterGroups(v []*ParameterGroup) *DescribeParameterGroupsOutput { + s.ParameterGroups = v + return s +} + +type DescribeParametersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // he name of a specific parameter group to return details for. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeParametersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeParametersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeParametersInput"} + if s.ParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeParametersInput) SetMaxResults(v int64) *DescribeParametersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeParametersInput) SetNextToken(v string) *DescribeParametersInput { + s.NextToken = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *DescribeParametersInput) SetParameterGroupName(v string) *DescribeParametersInput { + s.ParameterGroupName = &v + return s +} + +type DescribeParametersOutput struct { + _ struct{} `type:"structure"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A list of parameters specific to a particular parameter group. Each element + // in the list contains detailed information about one parameter. + Parameters []*Parameter `type:"list"` +} + +// String returns the string representation +func (s DescribeParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeParametersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeParametersOutput) SetNextToken(v string) *DescribeParametersOutput { + s.NextToken = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DescribeParametersOutput) SetParameters(v []*Parameter) *DescribeParametersOutput { + s.Parameters = v + return s +} + +type DescribeServiceUpdatesInput struct { + _ struct{} `type:"structure"` + + // The list of cluster names to identify service updates to apply + ClusterNames []*string `type:"list"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // The unique ID of the service update to describe. + ServiceUpdateName *string `type:"string"` + + // The status(es) of the service updates to filter on + Status []*string `type:"list"` +} + +// String returns the string representation +func (s DescribeServiceUpdatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeServiceUpdatesInput) GoString() string { + return s.String() +} + +// SetClusterNames sets the ClusterNames field's value. +func (s *DescribeServiceUpdatesInput) SetClusterNames(v []*string) *DescribeServiceUpdatesInput { + s.ClusterNames = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeServiceUpdatesInput) SetMaxResults(v int64) *DescribeServiceUpdatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeServiceUpdatesInput) SetNextToken(v string) *DescribeServiceUpdatesInput { + s.NextToken = &v + return s +} + +// SetServiceUpdateName sets the ServiceUpdateName field's value. +func (s *DescribeServiceUpdatesInput) SetServiceUpdateName(v string) *DescribeServiceUpdatesInput { + s.ServiceUpdateName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeServiceUpdatesInput) SetStatus(v []*string) *DescribeServiceUpdatesInput { + s.Status = v + return s +} + +type DescribeServiceUpdatesOutput struct { + _ struct{} `type:"structure"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A list of service updates + ServiceUpdates []*ServiceUpdate `type:"list"` +} + +// String returns the string representation +func (s DescribeServiceUpdatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeServiceUpdatesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeServiceUpdatesOutput) SetNextToken(v string) *DescribeServiceUpdatesOutput { + s.NextToken = &v + return s +} + +// SetServiceUpdates sets the ServiceUpdates field's value. +func (s *DescribeServiceUpdatesOutput) SetServiceUpdates(v []*ServiceUpdate) *DescribeServiceUpdatesOutput { + s.ServiceUpdates = v + return s +} + +type DescribeSnapshotsInput struct { + _ struct{} `type:"structure"` + + // A user-supplied cluster identifier. If this parameter is specified, only + // snapshots associated with that specific cluster are described. + ClusterName *string `type:"string"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A Boolean value which if true, the shard configuration is included in the + // snapshot description. + ShowDetail *bool `type:"boolean"` + + // A user-supplied name of the snapshot. If this parameter is specified, only + // this named snapshot is described. + SnapshotName *string `type:"string"` + + // If set to system, the output shows snapshots that were automatically created + // by MemoryDB. If set to user the output shows snapshots that were manually + // created. If omitted, the output shows both automatically and manually created + // snapshots. + Source *string `type:"string"` +} + +// String returns the string representation +func (s DescribeSnapshotsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSnapshotsInput) GoString() string { + return s.String() +} + +// SetClusterName sets the ClusterName field's value. +func (s *DescribeSnapshotsInput) SetClusterName(v string) *DescribeSnapshotsInput { + s.ClusterName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput { + s.NextToken = &v + return s +} + +// SetShowDetail sets the ShowDetail field's value. +func (s *DescribeSnapshotsInput) SetShowDetail(v bool) *DescribeSnapshotsInput { + s.ShowDetail = &v + return s +} + +// SetSnapshotName sets the SnapshotName field's value. +func (s *DescribeSnapshotsInput) SetSnapshotName(v string) *DescribeSnapshotsInput { + s.SnapshotName = &v + return s +} + +// SetSource sets the Source field's value. +func (s *DescribeSnapshotsInput) SetSource(v string) *DescribeSnapshotsInput { + s.Source = &v + return s +} + +type DescribeSnapshotsOutput struct { + _ struct{} `type:"structure"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A list of snapshots. Each item in the list contains detailed information + // about one snapshot. + Snapshots []*Snapshot `type:"list"` +} + +// String returns the string representation +func (s DescribeSnapshotsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSnapshotsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput { + s.NextToken = &v + return s +} + +// SetSnapshots sets the Snapshots field's value. +func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { + s.Snapshots = v + return s +} + +type DescribeSubnetGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // The name of the subnet group to return details for. + SubnetGroupName *string `type:"string"` +} + +// String returns the string representation +func (s DescribeSubnetGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSubnetGroupsInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSubnetGroupsInput) SetMaxResults(v int64) *DescribeSubnetGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSubnetGroupsInput) SetNextToken(v string) *DescribeSubnetGroupsInput { + s.NextToken = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *DescribeSubnetGroupsInput) SetSubnetGroupName(v string) *DescribeSubnetGroupsInput { + s.SubnetGroupName = &v + return s +} + +type DescribeSubnetGroupsOutput struct { + _ struct{} `type:"structure"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A list of subnet groups. Each element in the list contains detailed information + // about one group. + SubnetGroups []*SubnetGroup `type:"list"` +} + +// String returns the string representation +func (s DescribeSubnetGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeSubnetGroupsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeSubnetGroupsOutput) SetNextToken(v string) *DescribeSubnetGroupsOutput { + s.NextToken = &v + return s +} + +// SetSubnetGroups sets the SubnetGroups field's value. +func (s *DescribeSubnetGroupsOutput) SetSubnetGroups(v []*SubnetGroup) *DescribeSubnetGroupsOutput { + s.SubnetGroups = v + return s +} + +type DescribeUsersInput struct { + _ struct{} `type:"structure"` + + // Filter to determine the list of users to return. + Filters []*Filter `type:"list"` + + // The maximum number of records to include in the response. If more records + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + MaxResults *int64 `type:"integer"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // The name of the user + UserName *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s DescribeUsersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeUsersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeUsersInput"} + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *DescribeUsersInput) SetFilters(v []*Filter) *DescribeUsersInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeUsersInput) SetMaxResults(v int64) *DescribeUsersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeUsersInput) SetNextToken(v string) *DescribeUsersInput { + s.NextToken = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DescribeUsersInput) SetUserName(v string) *DescribeUsersInput { + s.UserName = &v + return s +} + +type DescribeUsersOutput struct { + _ struct{} `type:"structure"` + + // An optional argument to pass in case the total number of records exceeds + // the value of MaxResults. If nextToken is returned, there are more results + // available. The value of nextToken is a unique pagination token for each page. + // Make the call again using the returned token to retrieve the next page. Keep + // all other arguments unchanged. + NextToken *string `type:"string"` + + // A list of users. + Users []*User `type:"list"` +} + +// String returns the string representation +func (s DescribeUsersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeUsersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeUsersOutput) SetNextToken(v string) *DescribeUsersOutput { + s.NextToken = &v + return s +} + +// SetUsers sets the Users field's value. +func (s *DescribeUsersOutput) SetUsers(v []*User) *DescribeUsersOutput { + s.Users = v + return s +} + +type DuplicateUserNameFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s DuplicateUserNameFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DuplicateUserNameFault) GoString() string { + return s.String() +} + +func newErrorDuplicateUserNameFault(v protocol.ResponseMetadata) error { + return &DuplicateUserNameFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DuplicateUserNameFault) Code() string { + return "DuplicateUserNameFault" +} + +// Message returns the exception's message. +func (s *DuplicateUserNameFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DuplicateUserNameFault) OrigErr() error { + return nil +} + +func (s *DuplicateUserNameFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DuplicateUserNameFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DuplicateUserNameFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Represents the information required for client programs to connect to the +// cluster and its nodes. +type Endpoint struct { + _ struct{} `type:"structure"` + + // The DNS hostname of the node. + Address *string `type:"string"` + + // The port number that the engine is listening on. + Port *int64 `type:"integer"` +} + +// String returns the string representation +func (s Endpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Endpoint) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *Endpoint) SetAddress(v string) *Endpoint { + s.Address = &v + return s +} + +// SetPort sets the Port field's value. +func (s *Endpoint) SetPort(v int64) *Endpoint { + s.Port = &v + return s +} + +// Provides details of the Redis engine version +type EngineVersionInfo struct { + _ struct{} `type:"structure"` + + // The patched engine version + EnginePatchVersion *string `type:"string"` + + // The engine version + EngineVersion *string `type:"string"` + + // Specifies the name of the parameter group family to which the engine default + // parameters apply. + ParameterGroupFamily *string `type:"string"` +} + +// String returns the string representation +func (s EngineVersionInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EngineVersionInfo) GoString() string { + return s.String() +} + +// SetEnginePatchVersion sets the EnginePatchVersion field's value. +func (s *EngineVersionInfo) SetEnginePatchVersion(v string) *EngineVersionInfo { + s.EnginePatchVersion = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *EngineVersionInfo) SetEngineVersion(v string) *EngineVersionInfo { + s.EngineVersion = &v + return s +} + +// SetParameterGroupFamily sets the ParameterGroupFamily field's value. +func (s *EngineVersionInfo) SetParameterGroupFamily(v string) *EngineVersionInfo { + s.ParameterGroupFamily = &v + return s +} + +// Represents a single occurrence of something interesting within the system. +// Some examples of events are creating a cluster or adding or removing a node. +type Event struct { + _ struct{} `type:"structure"` + + // The date and time when the event occurred. + Date *time.Time `type:"timestamp"` + + // The text of the event. + Message *string `type:"string"` + + // The name for the source of the event. For example, if the event occurred + // at the cluster level, the identifier would be the name of the cluster. + SourceName *string `type:"string"` + + // Specifies the origin of this event - a cluster, a parameter group, a security + // group, etc. + SourceType *string `type:"string" enum:"SourceType"` +} + +// String returns the string representation +func (s Event) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Event) GoString() string { + return s.String() +} + +// SetDate sets the Date field's value. +func (s *Event) SetDate(v time.Time) *Event { + s.Date = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *Event) SetMessage(v string) *Event { + s.Message = &v + return s +} + +// SetSourceName sets the SourceName field's value. +func (s *Event) SetSourceName(v string) *Event { + s.SourceName = &v + return s +} + +// SetSourceType sets the SourceType field's value. +func (s *Event) SetSourceType(v string) *Event { + s.SourceType = &v + return s +} + +type FailoverShardInput struct { + _ struct{} `type:"structure"` + + // The cluster being failed over + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The name of the shard + // + // ShardName is a required field + ShardName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s FailoverShardInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailoverShardInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FailoverShardInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FailoverShardInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ShardName == nil { + invalidParams.Add(request.NewErrParamRequired("ShardName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *FailoverShardInput) SetClusterName(v string) *FailoverShardInput { + s.ClusterName = &v + return s +} + +// SetShardName sets the ShardName field's value. +func (s *FailoverShardInput) SetShardName(v string) *FailoverShardInput { + s.ShardName = &v + return s +} + +type FailoverShardOutput struct { + _ struct{} `type:"structure"` + + // The cluster being failed over + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s FailoverShardOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailoverShardOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *FailoverShardOutput) SetCluster(v *Cluster) *FailoverShardOutput { + s.Cluster = v + return s +} + +// Used to streamline results of a search based on the property being filtered. +type Filter struct { + _ struct{} `type:"structure"` + + // The property being filtered. For example, UserName. + // + // Name is a required field + Name *string `type:"string" required:"true"` + + // The property values to filter on. For example, "user-123". + // + // Values is a required field + Values []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + if s.Values != nil && len(s.Values) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Values", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +type InsufficientClusterCapacityFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InsufficientClusterCapacityFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InsufficientClusterCapacityFault) GoString() string { + return s.String() +} + +func newErrorInsufficientClusterCapacityFault(v protocol.ResponseMetadata) error { + return &InsufficientClusterCapacityFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InsufficientClusterCapacityFault) Code() string { + return "InsufficientClusterCapacityFault" +} + +// Message returns the exception's message. +func (s *InsufficientClusterCapacityFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InsufficientClusterCapacityFault) OrigErr() error { + return nil +} + +func (s *InsufficientClusterCapacityFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InsufficientClusterCapacityFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InsufficientClusterCapacityFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidACLStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidACLStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidACLStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidACLStateFault(v protocol.ResponseMetadata) error { + return &InvalidACLStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidACLStateFault) Code() string { + return "InvalidACLStateFault" +} + +// Message returns the exception's message. +func (s *InvalidACLStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidACLStateFault) OrigErr() error { + return nil +} + +func (s *InvalidACLStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidACLStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidACLStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidARNFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidARNFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidARNFault) GoString() string { + return s.String() +} + +func newErrorInvalidARNFault(v protocol.ResponseMetadata) error { + return &InvalidARNFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidARNFault) Code() string { + return "InvalidARNFault" +} + +// Message returns the exception's message. +func (s *InvalidARNFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidARNFault) OrigErr() error { + return nil +} + +func (s *InvalidARNFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidARNFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidARNFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidClusterStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidClusterStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidClusterStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidClusterStateFault(v protocol.ResponseMetadata) error { + return &InvalidClusterStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidClusterStateFault) Code() string { + return "InvalidClusterStateFault" +} + +// Message returns the exception's message. +func (s *InvalidClusterStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidClusterStateFault) OrigErr() error { + return nil +} + +func (s *InvalidClusterStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidClusterStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidClusterStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidCredentialsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidCredentialsException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidCredentialsException) GoString() string { + return s.String() +} + +func newErrorInvalidCredentialsException(v protocol.ResponseMetadata) error { + return &InvalidCredentialsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidCredentialsException) Code() string { + return "InvalidCredentialsException" +} + +// Message returns the exception's message. +func (s *InvalidCredentialsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidCredentialsException) OrigErr() error { + return nil +} + +func (s *InvalidCredentialsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidCredentialsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidCredentialsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidKMSKeyFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidKMSKeyFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidKMSKeyFault) GoString() string { + return s.String() +} + +func newErrorInvalidKMSKeyFault(v protocol.ResponseMetadata) error { + return &InvalidKMSKeyFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidKMSKeyFault) Code() string { + return "InvalidKMSKeyFault" +} + +// Message returns the exception's message. +func (s *InvalidKMSKeyFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidKMSKeyFault) OrigErr() error { + return nil +} + +func (s *InvalidKMSKeyFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidKMSKeyFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidKMSKeyFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidNodeStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidNodeStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidNodeStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidNodeStateFault(v protocol.ResponseMetadata) error { + return &InvalidNodeStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidNodeStateFault) Code() string { + return "InvalidNodeStateFault" +} + +// Message returns the exception's message. +func (s *InvalidNodeStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNodeStateFault) OrigErr() error { + return nil +} + +func (s *InvalidNodeStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidNodeStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidNodeStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidParameterCombinationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidParameterCombinationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidParameterCombinationException) GoString() string { + return s.String() +} + +func newErrorInvalidParameterCombinationException(v protocol.ResponseMetadata) error { + return &InvalidParameterCombinationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidParameterCombinationException) Code() string { + return "InvalidParameterCombinationException" +} + +// Message returns the exception's message. +func (s *InvalidParameterCombinationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterCombinationException) OrigErr() error { + return nil +} + +func (s *InvalidParameterCombinationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterCombinationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterCombinationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidParameterGroupStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidParameterGroupStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidParameterGroupStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidParameterGroupStateFault(v protocol.ResponseMetadata) error { + return &InvalidParameterGroupStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidParameterGroupStateFault) Code() string { + return "InvalidParameterGroupStateFault" +} + +// Message returns the exception's message. +func (s *InvalidParameterGroupStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterGroupStateFault) OrigErr() error { + return nil +} + +func (s *InvalidParameterGroupStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterGroupStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterGroupStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidParameterValueException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidParameterValueException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidParameterValueException) GoString() string { + return s.String() +} + +func newErrorInvalidParameterValueException(v protocol.ResponseMetadata) error { + return &InvalidParameterValueException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidParameterValueException) Code() string { + return "InvalidParameterValueException" +} + +// Message returns the exception's message. +func (s *InvalidParameterValueException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidParameterValueException) OrigErr() error { + return nil +} + +func (s *InvalidParameterValueException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidParameterValueException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidParameterValueException) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidSnapshotStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidSnapshotStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidSnapshotStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidSnapshotStateFault(v protocol.ResponseMetadata) error { + return &InvalidSnapshotStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidSnapshotStateFault) Code() string { + return "InvalidSnapshotStateFault" +} + +// Message returns the exception's message. +func (s *InvalidSnapshotStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidSnapshotStateFault) OrigErr() error { + return nil +} + +func (s *InvalidSnapshotStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidSnapshotStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidSnapshotStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidSubnet struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidSubnet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidSubnet) GoString() string { + return s.String() +} + +func newErrorInvalidSubnet(v protocol.ResponseMetadata) error { + return &InvalidSubnet{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidSubnet) Code() string { + return "InvalidSubnet" +} + +// Message returns the exception's message. +func (s *InvalidSubnet) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidSubnet) OrigErr() error { + return nil +} + +func (s *InvalidSubnet) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidSubnet) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidSubnet) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidUserStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidUserStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidUserStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidUserStateFault(v protocol.ResponseMetadata) error { + return &InvalidUserStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidUserStateFault) Code() string { + return "InvalidUserStateFault" +} + +// Message returns the exception's message. +func (s *InvalidUserStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidUserStateFault) OrigErr() error { + return nil +} + +func (s *InvalidUserStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidUserStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidUserStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type InvalidVPCNetworkStateFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InvalidVPCNetworkStateFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InvalidVPCNetworkStateFault) GoString() string { + return s.String() +} + +func newErrorInvalidVPCNetworkStateFault(v protocol.ResponseMetadata) error { + return &InvalidVPCNetworkStateFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidVPCNetworkStateFault) Code() string { + return "InvalidVPCNetworkStateFault" +} + +// Message returns the exception's message. +func (s *InvalidVPCNetworkStateFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidVPCNetworkStateFault) OrigErr() error { + return nil +} + +func (s *InvalidVPCNetworkStateFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidVPCNetworkStateFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidVPCNetworkStateFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAllowedNodeTypeUpdatesInput struct { + _ struct{} `type:"structure"` + + // The name of the cluster you want to scale. MemoryDB uses the cluster name + // to identify the current node type being used by this cluster, and from that + // to create a list of node types you can scale up to. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListAllowedNodeTypeUpdatesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAllowedNodeTypeUpdatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAllowedNodeTypeUpdatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAllowedNodeTypeUpdatesInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *ListAllowedNodeTypeUpdatesInput) SetClusterName(v string) *ListAllowedNodeTypeUpdatesInput { + s.ClusterName = &v + return s +} + +type ListAllowedNodeTypeUpdatesOutput struct { + _ struct{} `type:"structure"` + + // A list node types which you can use to scale down your cluster. + ScaleDownNodeTypes []*string `type:"list"` + + // A list node types which you can use to scale up your cluster. + ScaleUpNodeTypes []*string `type:"list"` +} + +// String returns the string representation +func (s ListAllowedNodeTypeUpdatesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAllowedNodeTypeUpdatesOutput) GoString() string { + return s.String() +} + +// SetScaleDownNodeTypes sets the ScaleDownNodeTypes field's value. +func (s *ListAllowedNodeTypeUpdatesOutput) SetScaleDownNodeTypes(v []*string) *ListAllowedNodeTypeUpdatesOutput { + s.ScaleDownNodeTypes = v + return s +} + +// SetScaleUpNodeTypes sets the ScaleUpNodeTypes field's value. +func (s *ListAllowedNodeTypeUpdatesOutput) SetScaleUpNodeTypes(v []*string) *ListAllowedNodeTypeUpdatesOutput { + s.ScaleUpNodeTypes = v + return s +} + +type ListTagsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource for which you want the list + // of tags + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsInput) SetResourceArn(v string) *ListTagsInput { + s.ResourceArn = &v + return s +} + +type ListTagsOutput struct { + _ struct{} `type:"structure"` + + // A list of tags as key-value pairs. + TagList []*Tag `type:"list"` +} + +// String returns the string representation +func (s ListTagsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsOutput) GoString() string { + return s.String() +} + +// SetTagList sets the TagList field's value. +func (s *ListTagsOutput) SetTagList(v []*Tag) *ListTagsOutput { + s.TagList = v + return s +} + +type NoOperationFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s NoOperationFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NoOperationFault) GoString() string { + return s.String() +} + +func newErrorNoOperationFault(v protocol.ResponseMetadata) error { + return &NoOperationFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NoOperationFault) Code() string { + return "NoOperationFault" +} + +// Message returns the exception's message. +func (s *NoOperationFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NoOperationFault) OrigErr() error { + return nil +} + +func (s *NoOperationFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NoOperationFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NoOperationFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Represents an individual node within a cluster. Each node runs its own instance +// of the cluster's protocol-compliant caching software. +type Node struct { + _ struct{} `type:"structure"` + + // The Availability Zone in which the node resides + AvailabilityZone *string `type:"string"` + + // The date and time when the node was created. + CreateTime *time.Time `type:"timestamp"` + + // The hostname for connecting to this node. + Endpoint *Endpoint `type:"structure"` + + // The node identifier. A node name is a numeric identifier (0001, 0002, etc.). + // The combination of cluster name, shard name and node name uniquely identifies + // every node used in a customer's Amazon account. + Name *string `type:"string"` + + // The status of the service update on the node + Status *string `type:"string"` +} + +// String returns the string representation +func (s Node) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Node) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *Node) SetAvailabilityZone(v string) *Node { + s.AvailabilityZone = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *Node) SetCreateTime(v time.Time) *Node { + s.CreateTime = &v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *Node) SetEndpoint(v *Endpoint) *Node { + s.Endpoint = v + return s +} + +// SetName sets the Name field's value. +func (s *Node) SetName(v string) *Node { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Node) SetStatus(v string) *Node { + s.Status = &v + return s +} + +type NodeQuotaForClusterExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s NodeQuotaForClusterExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NodeQuotaForClusterExceededFault) GoString() string { + return s.String() +} + +func newErrorNodeQuotaForClusterExceededFault(v protocol.ResponseMetadata) error { + return &NodeQuotaForClusterExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NodeQuotaForClusterExceededFault) Code() string { + return "NodeQuotaForClusterExceededFault" +} + +// Message returns the exception's message. +func (s *NodeQuotaForClusterExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NodeQuotaForClusterExceededFault) OrigErr() error { + return nil +} + +func (s *NodeQuotaForClusterExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NodeQuotaForClusterExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NodeQuotaForClusterExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type NodeQuotaForCustomerExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s NodeQuotaForCustomerExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NodeQuotaForCustomerExceededFault) GoString() string { + return s.String() +} + +func newErrorNodeQuotaForCustomerExceededFault(v protocol.ResponseMetadata) error { + return &NodeQuotaForCustomerExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *NodeQuotaForCustomerExceededFault) Code() string { + return "NodeQuotaForCustomerExceededFault" +} + +// Message returns the exception's message. +func (s *NodeQuotaForCustomerExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NodeQuotaForCustomerExceededFault) OrigErr() error { + return nil +} + +func (s *NodeQuotaForCustomerExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *NodeQuotaForCustomerExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *NodeQuotaForCustomerExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Describes an individual setting that controls some aspect of MemoryDB behavior. +type Parameter struct { + _ struct{} `type:"structure"` + + // The valid range of values for the parameter. + AllowedValues *string `type:"string"` + + // The parameter's data type + DataType *string `type:"string"` + + // A description of the parameter + Description *string `type:"string"` + + // The earliest engine version to which the parameter can apply. + MinimumEngineVersion *string `type:"string"` + + // The name of the parameter + Name *string `type:"string"` + + // The value of the parameter + Value *string `type:"string"` +} + +// String returns the string representation +func (s Parameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Parameter) GoString() string { + return s.String() +} + +// SetAllowedValues sets the AllowedValues field's value. +func (s *Parameter) SetAllowedValues(v string) *Parameter { + s.AllowedValues = &v + return s +} + +// SetDataType sets the DataType field's value. +func (s *Parameter) SetDataType(v string) *Parameter { + s.DataType = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Parameter) SetDescription(v string) *Parameter { + s.Description = &v + return s +} + +// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. +func (s *Parameter) SetMinimumEngineVersion(v string) *Parameter { + s.MinimumEngineVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *Parameter) SetName(v string) *Parameter { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Parameter) SetValue(v string) *Parameter { + s.Value = &v + return s +} + +// Represents the output of a CreateParameterGroup operation. A parameter group +// represents a combination of specific values for the parameters that are passed +// to the engine software during startup. +type ParameterGroup struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the parameter group + ARN *string `type:"string"` + + // A description of the parameter group + Description *string `type:"string"` + + // The name of the parameter group family that this parameter group is compatible + // with. + Family *string `type:"string"` + + // The name of the parameter group + Name *string `type:"string"` +} + +// String returns the string representation +func (s ParameterGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterGroup) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *ParameterGroup) SetARN(v string) *ParameterGroup { + s.ARN = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ParameterGroup) SetDescription(v string) *ParameterGroup { + s.Description = &v + return s +} + +// SetFamily sets the Family field's value. +func (s *ParameterGroup) SetFamily(v string) *ParameterGroup { + s.Family = &v + return s +} + +// SetName sets the Name field's value. +func (s *ParameterGroup) SetName(v string) *ParameterGroup { + s.Name = &v + return s +} + +type ParameterGroupAlreadyExistsFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ParameterGroupAlreadyExistsFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterGroupAlreadyExistsFault) GoString() string { + return s.String() +} + +func newErrorParameterGroupAlreadyExistsFault(v protocol.ResponseMetadata) error { + return &ParameterGroupAlreadyExistsFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ParameterGroupAlreadyExistsFault) Code() string { + return "ParameterGroupAlreadyExistsFault" +} + +// Message returns the exception's message. +func (s *ParameterGroupAlreadyExistsFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ParameterGroupAlreadyExistsFault) OrigErr() error { + return nil +} + +func (s *ParameterGroupAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ParameterGroupAlreadyExistsFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ParameterGroupAlreadyExistsFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type ParameterGroupNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ParameterGroupNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterGroupNotFoundFault) GoString() string { + return s.String() +} + +func newErrorParameterGroupNotFoundFault(v protocol.ResponseMetadata) error { + return &ParameterGroupNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ParameterGroupNotFoundFault) Code() string { + return "ParameterGroupNotFoundFault" +} + +// Message returns the exception's message. +func (s *ParameterGroupNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ParameterGroupNotFoundFault) OrigErr() error { + return nil +} + +func (s *ParameterGroupNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ParameterGroupNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ParameterGroupNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type ParameterGroupQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ParameterGroupQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterGroupQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorParameterGroupQuotaExceededFault(v protocol.ResponseMetadata) error { + return &ParameterGroupQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ParameterGroupQuotaExceededFault) Code() string { + return "ParameterGroupQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *ParameterGroupQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ParameterGroupQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *ParameterGroupQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ParameterGroupQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ParameterGroupQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Describes a name-value pair that is used to update the value of a parameter. +type ParameterNameValue struct { + _ struct{} `type:"structure"` + + // The name of the parameter + ParameterName *string `type:"string"` + + // The value of the parameter + ParameterValue *string `type:"string"` +} + +// String returns the string representation +func (s ParameterNameValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterNameValue) GoString() string { + return s.String() +} + +// SetParameterName sets the ParameterName field's value. +func (s *ParameterNameValue) SetParameterName(v string) *ParameterNameValue { + s.ParameterName = &v + return s +} + +// SetParameterValue sets the ParameterValue field's value. +func (s *ParameterNameValue) SetParameterValue(v string) *ParameterNameValue { + s.ParameterValue = &v + return s +} + +// Update action that has yet to be processed for the corresponding apply/stop +// request +type PendingModifiedServiceUpdate struct { + _ struct{} `type:"structure"` + + // The unique ID of the service update + ServiceUpdateName *string `type:"string"` + + // The status of the service update + Status *string `type:"string" enum:"ServiceUpdateStatus"` +} + +// String returns the string representation +func (s PendingModifiedServiceUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PendingModifiedServiceUpdate) GoString() string { + return s.String() +} + +// SetServiceUpdateName sets the ServiceUpdateName field's value. +func (s *PendingModifiedServiceUpdate) SetServiceUpdateName(v string) *PendingModifiedServiceUpdate { + s.ServiceUpdateName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *PendingModifiedServiceUpdate) SetStatus(v string) *PendingModifiedServiceUpdate { + s.Status = &v + return s +} + +// A request to configure the number of replicas in a shard +type ReplicaConfigurationRequest struct { + _ struct{} `type:"structure"` + + // The number of replicas to scale up or down to + ReplicaCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s ReplicaConfigurationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReplicaConfigurationRequest) GoString() string { + return s.String() +} + +// SetReplicaCount sets the ReplicaCount field's value. +func (s *ReplicaConfigurationRequest) SetReplicaCount(v int64) *ReplicaConfigurationRequest { + s.ReplicaCount = &v + return s +} + +type ResetParameterGroupInput struct { + _ struct{} `type:"structure"` + + // If true, all parameters in the parameter group are reset to their default + // values. If false, only the parameters listed by ParameterNames are reset + // to their default values. + AllParameters *bool `type:"boolean"` + + // The name of the parameter group to reset. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` + + // An array of parameter names to reset to their default values. If AllParameters + // is true, do not use ParameterNames. If AllParameters is false, you must specify + // the name of at least one parameter to reset. + ParameterNames []*string `type:"list"` +} + +// String returns the string representation +func (s ResetParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResetParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResetParameterGroupInput"} + if s.ParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllParameters sets the AllParameters field's value. +func (s *ResetParameterGroupInput) SetAllParameters(v bool) *ResetParameterGroupInput { + s.AllParameters = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *ResetParameterGroupInput) SetParameterGroupName(v string) *ResetParameterGroupInput { + s.ParameterGroupName = &v + return s +} + +// SetParameterNames sets the ParameterNames field's value. +func (s *ResetParameterGroupInput) SetParameterNames(v []*string) *ResetParameterGroupInput { + s.ParameterNames = v + return s +} + +type ResetParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The parameter group being reset. + ParameterGroup *ParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s ResetParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResetParameterGroupOutput) GoString() string { + return s.String() +} + +// SetParameterGroup sets the ParameterGroup field's value. +func (s *ResetParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *ResetParameterGroupOutput { + s.ParameterGroup = v + return s +} + +// The status of the online resharding +type ReshardingStatus struct { + _ struct{} `type:"structure"` + + // The status of the online resharding slot migration + SlotMigration *SlotMigration `type:"structure"` +} + +// String returns the string representation +func (s ReshardingStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ReshardingStatus) GoString() string { + return s.String() +} + +// SetSlotMigration sets the SlotMigration field's value. +func (s *ReshardingStatus) SetSlotMigration(v *SlotMigration) *ReshardingStatus { + s.SlotMigration = v + return s +} + +// Represents a single security group and its status. +type SecurityGroupMembership struct { + _ struct{} `type:"structure"` + + // The identifier of the security group. + SecurityGroupId *string `type:"string"` + + // The status of the security group membership. The status changes whenever + // a security group is modified, or when the security groups assigned to a cluster + // are modified. + Status *string `type:"string"` +} + +// String returns the string representation +func (s SecurityGroupMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SecurityGroupMembership) GoString() string { + return s.String() +} + +// SetSecurityGroupId sets the SecurityGroupId field's value. +func (s *SecurityGroupMembership) SetSecurityGroupId(v string) *SecurityGroupMembership { + s.SecurityGroupId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { + s.Status = &v + return s +} + +type ServiceLinkedRoleNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceLinkedRoleNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceLinkedRoleNotFoundFault) GoString() string { + return s.String() +} + +func newErrorServiceLinkedRoleNotFoundFault(v protocol.ResponseMetadata) error { + return &ServiceLinkedRoleNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceLinkedRoleNotFoundFault) Code() string { + return "ServiceLinkedRoleNotFoundFault" +} + +// Message returns the exception's message. +func (s *ServiceLinkedRoleNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceLinkedRoleNotFoundFault) OrigErr() error { + return nil +} + +func (s *ServiceLinkedRoleNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceLinkedRoleNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceLinkedRoleNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// An update that you can apply to your MemoryDB clusters. +type ServiceUpdate struct { + _ struct{} `type:"structure"` + + // The date at which the service update will be automatically applied + AutoUpdateStartDate *time.Time `type:"timestamp"` + + // The name of the cluster to which the service update applies + ClusterName *string `type:"string"` + + // Provides details of the service update + Description *string `type:"string"` + + // A list of nodes updated by the service update + NodesUpdated *string `type:"string"` + + // The date when the service update is initially available + ReleaseDate *time.Time `type:"timestamp"` + + // The unique ID of the service update + ServiceUpdateName *string `type:"string"` + + // The status of the service update + Status *string `type:"string" enum:"ServiceUpdateStatus"` + + // Reflects the nature of the service update + Type *string `type:"string" enum:"ServiceUpdateType"` +} + +// String returns the string representation +func (s ServiceUpdate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceUpdate) GoString() string { + return s.String() +} + +// SetAutoUpdateStartDate sets the AutoUpdateStartDate field's value. +func (s *ServiceUpdate) SetAutoUpdateStartDate(v time.Time) *ServiceUpdate { + s.AutoUpdateStartDate = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *ServiceUpdate) SetClusterName(v string) *ServiceUpdate { + s.ClusterName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ServiceUpdate) SetDescription(v string) *ServiceUpdate { + s.Description = &v + return s +} + +// SetNodesUpdated sets the NodesUpdated field's value. +func (s *ServiceUpdate) SetNodesUpdated(v string) *ServiceUpdate { + s.NodesUpdated = &v + return s +} + +// SetReleaseDate sets the ReleaseDate field's value. +func (s *ServiceUpdate) SetReleaseDate(v time.Time) *ServiceUpdate { + s.ReleaseDate = &v + return s +} + +// SetServiceUpdateName sets the ServiceUpdateName field's value. +func (s *ServiceUpdate) SetServiceUpdateName(v string) *ServiceUpdate { + s.ServiceUpdateName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ServiceUpdate) SetStatus(v string) *ServiceUpdate { + s.Status = &v + return s +} + +// SetType sets the Type field's value. +func (s *ServiceUpdate) SetType(v string) *ServiceUpdate { + s.Type = &v + return s +} + +type ServiceUpdateNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceUpdateNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceUpdateNotFoundFault) GoString() string { + return s.String() +} + +func newErrorServiceUpdateNotFoundFault(v protocol.ResponseMetadata) error { + return &ServiceUpdateNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceUpdateNotFoundFault) Code() string { + return "ServiceUpdateNotFoundFault" +} + +// Message returns the exception's message. +func (s *ServiceUpdateNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceUpdateNotFoundFault) OrigErr() error { + return nil +} + +func (s *ServiceUpdateNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceUpdateNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceUpdateNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A request to apply a service update +type ServiceUpdateRequest struct { + _ struct{} `type:"structure"` + + // The unique ID of the service update + ServiceUpdateNameToApply *string `type:"string"` +} + +// String returns the string representation +func (s ServiceUpdateRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceUpdateRequest) GoString() string { + return s.String() +} + +// SetServiceUpdateNameToApply sets the ServiceUpdateNameToApply field's value. +func (s *ServiceUpdateRequest) SetServiceUpdateNameToApply(v string) *ServiceUpdateRequest { + s.ServiceUpdateNameToApply = &v + return s +} + +// Represents a collection of nodes in a cluster. One node in the node group +// is the read/write primary node. All the other nodes are read-only Replica +// nodes. +type Shard struct { + _ struct{} `type:"structure"` + + // The name of the shard + Name *string `type:"string"` + + // A list containing information about individual nodes within the shard + Nodes []*Node `type:"list"` + + // The number of nodes in the shard + NumberOfNodes *int64 `type:"integer"` + + // The keyspace for this shard. + Slots *string `type:"string"` + + // The current state of this replication group - creating, available, modifying, + // deleting. + Status *string `type:"string"` +} + +// String returns the string representation +func (s Shard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Shard) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Shard) SetName(v string) *Shard { + s.Name = &v + return s +} + +// SetNodes sets the Nodes field's value. +func (s *Shard) SetNodes(v []*Node) *Shard { + s.Nodes = v + return s +} + +// SetNumberOfNodes sets the NumberOfNodes field's value. +func (s *Shard) SetNumberOfNodes(v int64) *Shard { + s.NumberOfNodes = &v + return s +} + +// SetSlots sets the Slots field's value. +func (s *Shard) SetSlots(v string) *Shard { + s.Slots = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Shard) SetStatus(v string) *Shard { + s.Status = &v + return s +} + +// Shard configuration options. Each shard configuration has the following: +// Slots and ReplicaCount. +type ShardConfiguration struct { + _ struct{} `type:"structure"` + + // The number of read replica nodes in this shard. + ReplicaCount *int64 `type:"integer"` + + // A string that specifies the keyspace for a particular node group. Keyspaces + // range from 0 to 16,383. The string is in the format startkey-endkey. + Slots *string `type:"string"` +} + +// String returns the string representation +func (s ShardConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShardConfiguration) GoString() string { + return s.String() +} + +// SetReplicaCount sets the ReplicaCount field's value. +func (s *ShardConfiguration) SetReplicaCount(v int64) *ShardConfiguration { + s.ReplicaCount = &v + return s +} + +// SetSlots sets the Slots field's value. +func (s *ShardConfiguration) SetSlots(v string) *ShardConfiguration { + s.Slots = &v + return s +} + +// A request to configure the sharding properties of a cluster +type ShardConfigurationRequest struct { + _ struct{} `type:"structure"` + + // The number of shards in the cluster + ShardCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s ShardConfigurationRequest) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShardConfigurationRequest) GoString() string { + return s.String() +} + +// SetShardCount sets the ShardCount field's value. +func (s *ShardConfigurationRequest) SetShardCount(v int64) *ShardConfigurationRequest { + s.ShardCount = &v + return s +} + +// Provides details of a shard in a snapshot +type ShardDetail struct { + _ struct{} `type:"structure"` + + // The configuration details of the shard + Configuration *ShardConfiguration `type:"structure"` + + // The name of the shard + Name *string `type:"string"` + + // The size of the shard's snapshot + Size *string `type:"string"` + + // The date and time that the shard's snapshot was created + SnapshotCreationTime *time.Time `type:"timestamp"` +} + +// String returns the string representation +func (s ShardDetail) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShardDetail) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *ShardDetail) SetConfiguration(v *ShardConfiguration) *ShardDetail { + s.Configuration = v + return s +} + +// SetName sets the Name field's value. +func (s *ShardDetail) SetName(v string) *ShardDetail { + s.Name = &v + return s +} + +// SetSize sets the Size field's value. +func (s *ShardDetail) SetSize(v string) *ShardDetail { + s.Size = &v + return s +} + +// SetSnapshotCreationTime sets the SnapshotCreationTime field's value. +func (s *ShardDetail) SetSnapshotCreationTime(v time.Time) *ShardDetail { + s.SnapshotCreationTime = &v + return s +} + +type ShardNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ShardNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShardNotFoundFault) GoString() string { + return s.String() +} + +func newErrorShardNotFoundFault(v protocol.ResponseMetadata) error { + return &ShardNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ShardNotFoundFault) Code() string { + return "ShardNotFoundFault" +} + +// Message returns the exception's message. +func (s *ShardNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ShardNotFoundFault) OrigErr() error { + return nil +} + +func (s *ShardNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ShardNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ShardNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type ShardsPerClusterQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ShardsPerClusterQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShardsPerClusterQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorShardsPerClusterQuotaExceededFault(v protocol.ResponseMetadata) error { + return &ShardsPerClusterQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ShardsPerClusterQuotaExceededFault) Code() string { + return "ShardsPerClusterQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *ShardsPerClusterQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ShardsPerClusterQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *ShardsPerClusterQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ShardsPerClusterQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ShardsPerClusterQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Represents the progress of an online resharding operation. +type SlotMigration struct { + _ struct{} `type:"structure"` + + // The percentage of the slot migration that is complete. + ProgressPercentage *float64 `type:"double"` +} + +// String returns the string representation +func (s SlotMigration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SlotMigration) GoString() string { + return s.String() +} + +// SetProgressPercentage sets the ProgressPercentage field's value. +func (s *SlotMigration) SetProgressPercentage(v float64) *SlotMigration { + s.ProgressPercentage = &v + return s +} + +// Represents a copy of an entire cluster as of the time when the snapshot was +// taken. +type Snapshot struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) of the snapshot. + ARN *string `type:"string"` + + // The configuration of the cluster from which the snapshot was taken + ClusterConfiguration *ClusterConfiguration `type:"structure"` + + // The ID of the KMS key used to encrypt the snapshot. + KmsKeyId *string `type:"string"` + + // The name of the snapshot + Name *string `type:"string"` + + // Indicates whether the snapshot is from an automatic backup (automated) or + // was created manually (manual). + Source *string `type:"string"` + + // The status of the snapshot. Valid values: creating | available | restoring + // | copying | deleting. + Status *string `type:"string"` +} + +// String returns the string representation +func (s Snapshot) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Snapshot) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *Snapshot) SetARN(v string) *Snapshot { + s.ARN = &v + return s +} + +// SetClusterConfiguration sets the ClusterConfiguration field's value. +func (s *Snapshot) SetClusterConfiguration(v *ClusterConfiguration) *Snapshot { + s.ClusterConfiguration = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Snapshot) SetKmsKeyId(v string) *Snapshot { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Snapshot) SetName(v string) *Snapshot { + s.Name = &v + return s +} + +// SetSource sets the Source field's value. +func (s *Snapshot) SetSource(v string) *Snapshot { + s.Source = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Snapshot) SetStatus(v string) *Snapshot { + s.Status = &v + return s +} + +type SnapshotAlreadyExistsFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SnapshotAlreadyExistsFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnapshotAlreadyExistsFault) GoString() string { + return s.String() +} + +func newErrorSnapshotAlreadyExistsFault(v protocol.ResponseMetadata) error { + return &SnapshotAlreadyExistsFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SnapshotAlreadyExistsFault) Code() string { + return "SnapshotAlreadyExistsFault" +} + +// Message returns the exception's message. +func (s *SnapshotAlreadyExistsFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SnapshotAlreadyExistsFault) OrigErr() error { + return nil +} + +func (s *SnapshotAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SnapshotAlreadyExistsFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SnapshotAlreadyExistsFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SnapshotNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SnapshotNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnapshotNotFoundFault) GoString() string { + return s.String() +} + +func newErrorSnapshotNotFoundFault(v protocol.ResponseMetadata) error { + return &SnapshotNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SnapshotNotFoundFault) Code() string { + return "SnapshotNotFoundFault" +} + +// Message returns the exception's message. +func (s *SnapshotNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SnapshotNotFoundFault) OrigErr() error { + return nil +} + +func (s *SnapshotNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SnapshotNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SnapshotNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SnapshotQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SnapshotQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SnapshotQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorSnapshotQuotaExceededFault(v protocol.ResponseMetadata) error { + return &SnapshotQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SnapshotQuotaExceededFault) Code() string { + return "SnapshotQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *SnapshotQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SnapshotQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *SnapshotQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SnapshotQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SnapshotQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// Represents the subnet associated with a cluster. This parameter refers to +// subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used with +// MemoryDB. +type Subnet struct { + _ struct{} `type:"structure"` + + // The Availability Zone where the subnet resides + AvailabilityZone *AvailabilityZone `type:"structure"` + + // The unique identifier for the subnet. + Identifier *string `type:"string"` +} + +// String returns the string representation +func (s Subnet) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Subnet) GoString() string { + return s.String() +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *Subnet) SetAvailabilityZone(v *AvailabilityZone) *Subnet { + s.AvailabilityZone = v + return s +} + +// SetIdentifier sets the Identifier field's value. +func (s *Subnet) SetIdentifier(v string) *Subnet { + s.Identifier = &v + return s +} + +// Represents the output of one of the following operations: +// +// * CreateSubnetGroup +// +// * UpdateSubnetGroup +// +// A subnet group is a collection of subnets (typically private) that you can +// designate for your clusters running in an Amazon Virtual Private Cloud (VPC) +// environment. +type SubnetGroup struct { + _ struct{} `type:"structure"` + + // The ARN (Amazon Resource Name) of the subnet group. + ARN *string `type:"string"` + + // A description of the subnet group + Description *string `type:"string"` + + // The name of the subnet group + Name *string `type:"string"` + + // A list of subnets associated with the subnet group. + Subnets []*Subnet `type:"list"` + + // The Amazon Virtual Private Cloud identifier (VPC ID) of the subnet group. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s SubnetGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetGroup) GoString() string { + return s.String() +} + +// SetARN sets the ARN field's value. +func (s *SubnetGroup) SetARN(v string) *SubnetGroup { + s.ARN = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *SubnetGroup) SetDescription(v string) *SubnetGroup { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *SubnetGroup) SetName(v string) *SubnetGroup { + s.Name = &v + return s +} + +// SetSubnets sets the Subnets field's value. +func (s *SubnetGroup) SetSubnets(v []*Subnet) *SubnetGroup { + s.Subnets = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *SubnetGroup) SetVpcId(v string) *SubnetGroup { + s.VpcId = &v + return s +} + +type SubnetGroupAlreadyExistsFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetGroupAlreadyExistsFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetGroupAlreadyExistsFault) GoString() string { + return s.String() +} + +func newErrorSubnetGroupAlreadyExistsFault(v protocol.ResponseMetadata) error { + return &SubnetGroupAlreadyExistsFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetGroupAlreadyExistsFault) Code() string { + return "SubnetGroupAlreadyExistsFault" +} + +// Message returns the exception's message. +func (s *SubnetGroupAlreadyExistsFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetGroupAlreadyExistsFault) OrigErr() error { + return nil +} + +func (s *SubnetGroupAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetGroupAlreadyExistsFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetGroupAlreadyExistsFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SubnetGroupInUseFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetGroupInUseFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetGroupInUseFault) GoString() string { + return s.String() +} + +func newErrorSubnetGroupInUseFault(v protocol.ResponseMetadata) error { + return &SubnetGroupInUseFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetGroupInUseFault) Code() string { + return "SubnetGroupInUseFault" +} + +// Message returns the exception's message. +func (s *SubnetGroupInUseFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetGroupInUseFault) OrigErr() error { + return nil +} + +func (s *SubnetGroupInUseFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetGroupInUseFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetGroupInUseFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SubnetGroupNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetGroupNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetGroupNotFoundFault) GoString() string { + return s.String() +} + +func newErrorSubnetGroupNotFoundFault(v protocol.ResponseMetadata) error { + return &SubnetGroupNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetGroupNotFoundFault) Code() string { + return "SubnetGroupNotFoundFault" +} + +// Message returns the exception's message. +func (s *SubnetGroupNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetGroupNotFoundFault) OrigErr() error { + return nil +} + +func (s *SubnetGroupNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetGroupNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetGroupNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SubnetGroupQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetGroupQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetGroupQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorSubnetGroupQuotaExceededFault(v protocol.ResponseMetadata) error { + return &SubnetGroupQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetGroupQuotaExceededFault) Code() string { + return "SubnetGroupQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *SubnetGroupQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetGroupQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *SubnetGroupQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetGroupQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetGroupQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SubnetInUse struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetInUse) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetInUse) GoString() string { + return s.String() +} + +func newErrorSubnetInUse(v protocol.ResponseMetadata) error { + return &SubnetInUse{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetInUse) Code() string { + return "SubnetInUse" +} + +// Message returns the exception's message. +func (s *SubnetInUse) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetInUse) OrigErr() error { + return nil +} + +func (s *SubnetInUse) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetInUse) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetInUse) RequestID() string { + return s.RespMetadata.RequestID +} + +type SubnetNotAllowedFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetNotAllowedFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetNotAllowedFault) GoString() string { + return s.String() +} + +func newErrorSubnetNotAllowedFault(v protocol.ResponseMetadata) error { + return &SubnetNotAllowedFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetNotAllowedFault) Code() string { + return "SubnetNotAllowedFault" +} + +// Message returns the exception's message. +func (s *SubnetNotAllowedFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetNotAllowedFault) OrigErr() error { + return nil +} + +func (s *SubnetNotAllowedFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetNotAllowedFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetNotAllowedFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type SubnetQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s SubnetQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SubnetQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorSubnetQuotaExceededFault(v protocol.ResponseMetadata) error { + return &SubnetQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *SubnetQuotaExceededFault) Code() string { + return "SubnetQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *SubnetQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *SubnetQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *SubnetQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *SubnetQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *SubnetQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A tag that can be added to an MemoryDB resource. Tags are composed of a Key/Value +// pair. You can use tags to categorize and track all your MemoryDB resources. +// When you add or remove tags on clusters, those actions will be replicated +// to all nodes in the cluster. A tag with a null Value is permitted. For more +// information, see Tagging your MemoryDB resources (https://docs.aws.amazon.com/AmazonMemoryDB/latest/devguide/Tagging-Resources.html) +type Tag struct { + _ struct{} `type:"structure"` + + // The key for the tag. May not be null. + Key *string `type:"string"` + + // The tag's value. May be null. + 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() +} + +// 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 TagNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TagNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagNotFoundFault) GoString() string { + return s.String() +} + +func newErrorTagNotFoundFault(v protocol.ResponseMetadata) error { + return &TagNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TagNotFoundFault) Code() string { + return "TagNotFoundFault" +} + +// Message returns the exception's message. +func (s *TagNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TagNotFoundFault) OrigErr() error { + return nil +} + +func (s *TagNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TagNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TagNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type TagQuotaPerResourceExceeded struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TagQuotaPerResourceExceeded) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagQuotaPerResourceExceeded) GoString() string { + return s.String() +} + +func newErrorTagQuotaPerResourceExceeded(v protocol.ResponseMetadata) error { + return &TagQuotaPerResourceExceeded{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TagQuotaPerResourceExceeded) Code() string { + return "TagQuotaPerResourceExceeded" +} + +// Message returns the exception's message. +func (s *TagQuotaPerResourceExceeded) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TagQuotaPerResourceExceeded) OrigErr() error { + return nil +} + +func (s *TagQuotaPerResourceExceeded) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TagQuotaPerResourceExceeded) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TagQuotaPerResourceExceeded) RequestID() string { + return s.RespMetadata.RequestID +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to which the tags are to be + // added + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // A list of tags to be added to this resource. A tag is a key-value pair. A + // tag key must be accompanied by a tag value, although null is accepted. + // + // 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.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of tags as key-value pairs. + TagList []*Tag `type:"list"` +} + +// 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() +} + +// SetTagList sets the TagList field's value. +func (s *TagResourceOutput) SetTagList(v []*Tag) *TagResourceOutput { + s.TagList = v + return s +} + +type TestFailoverNotAvailableFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s TestFailoverNotAvailableFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TestFailoverNotAvailableFault) GoString() string { + return s.String() +} + +func newErrorTestFailoverNotAvailableFault(v protocol.ResponseMetadata) error { + return &TestFailoverNotAvailableFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TestFailoverNotAvailableFault) Code() string { + return "TestFailoverNotAvailableFault" +} + +// Message returns the exception's message. +func (s *TestFailoverNotAvailableFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TestFailoverNotAvailableFault) OrigErr() error { + return nil +} + +func (s *TestFailoverNotAvailableFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TestFailoverNotAvailableFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TestFailoverNotAvailableFault) RequestID() string { + return s.RespMetadata.RequestID +} + +// A cluster whose updates have failed +type UnprocessedCluster struct { + _ struct{} `type:"structure"` + + // The name of the cluster + ClusterName *string `type:"string"` + + // The error message associated with the update failure + ErrorMessage *string `type:"string"` + + // The error type associated with the update failure + ErrorType *string `type:"string"` +} + +// String returns the string representation +func (s UnprocessedCluster) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UnprocessedCluster) GoString() string { + return s.String() +} + +// SetClusterName sets the ClusterName field's value. +func (s *UnprocessedCluster) SetClusterName(v string) *UnprocessedCluster { + s.ClusterName = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *UnprocessedCluster) SetErrorMessage(v string) *UnprocessedCluster { + s.ErrorMessage = &v + return s +} + +// SetErrorType sets the ErrorType field's value. +func (s *UnprocessedCluster) SetErrorType(v string) *UnprocessedCluster { + s.ErrorType = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to which the tags are to be + // removed + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` + + // The list of keys of the tags that are to be removed + // + // 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.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"` + + // The list of tags removed + TagList []*Tag `type:"list"` +} + +// 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() +} + +// SetTagList sets the TagList field's value. +func (s *UntagResourceOutput) SetTagList(v []*Tag) *UntagResourceOutput { + s.TagList = v + return s +} + +type UpdateACLInput struct { + _ struct{} `type:"structure"` + + // The name of the Access Control List + // + // ACLName is a required field + ACLName *string `type:"string" required:"true"` + + // The list of users to add to the Access Control List + UserNamesToAdd []*string `min:"1" type:"list"` + + // The list of users to remove from the Access Control List + UserNamesToRemove []*string `min:"1" type:"list"` +} + +// String returns the string representation +func (s UpdateACLInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateACLInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateACLInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateACLInput"} + if s.ACLName == nil { + invalidParams.Add(request.NewErrParamRequired("ACLName")) + } + if s.UserNamesToAdd != nil && len(s.UserNamesToAdd) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserNamesToAdd", 1)) + } + if s.UserNamesToRemove != nil && len(s.UserNamesToRemove) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserNamesToRemove", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetACLName sets the ACLName field's value. +func (s *UpdateACLInput) SetACLName(v string) *UpdateACLInput { + s.ACLName = &v + return s +} + +// SetUserNamesToAdd sets the UserNamesToAdd field's value. +func (s *UpdateACLInput) SetUserNamesToAdd(v []*string) *UpdateACLInput { + s.UserNamesToAdd = v + return s +} + +// SetUserNamesToRemove sets the UserNamesToRemove field's value. +func (s *UpdateACLInput) SetUserNamesToRemove(v []*string) *UpdateACLInput { + s.UserNamesToRemove = v + return s +} + +type UpdateACLOutput struct { + _ struct{} `type:"structure"` + + // The updated Access Control List + ACL *ACL `type:"structure"` +} + +// String returns the string representation +func (s UpdateACLOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateACLOutput) GoString() string { + return s.String() +} + +// SetACL sets the ACL field's value. +func (s *UpdateACLOutput) SetACL(v *ACL) *UpdateACLOutput { + s.ACL = v + return s +} + +type UpdateClusterInput struct { + _ struct{} `type:"structure"` + + // The Access Control List that is associated with the cluster + ACLName *string `min:"1" type:"string"` + + // The name of the cluster to update + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The description of the cluster to update + Description *string `type:"string"` + + // The upgraded version of the engine to be run on the nodes. You can upgrade + // to a newer engine version, but you cannot downgrade to an earlier engine + // version. If you want to use an earlier engine version, you must delete the + // existing cluster and create it anew with the earlier engine version. + EngineVersion *string `type:"string"` + + // The maintenance window to update + MaintenanceWindow *string `type:"string"` + + // A valid node type that you want to scale this cluster up or down to. + NodeType *string `type:"string"` + + // The name of the parameter group to update + ParameterGroupName *string `type:"string"` + + // The number of replicas that will reside in each shard + ReplicaConfiguration *ReplicaConfigurationRequest `type:"structure"` + + // The SecurityGroupIds to update + SecurityGroupIds []*string `type:"list"` + + // The number of shards in the cluster + ShardConfiguration *ShardConfigurationRequest `type:"structure"` + + // The number of days for which MemoryDB retains automatic cluster snapshots + // before deleting them. For example, if you set SnapshotRetentionLimit to 5, + // a snapshot that was taken today is retained for 5 days before being deleted. + SnapshotRetentionLimit *int64 `type:"integer"` + + // The daily time range (in UTC) during which MemoryDB begins taking a daily + // snapshot of your cluster. + SnapshotWindow *string `type:"string"` + + // The SNS topic ARN to update + SnsTopicArn *string `type:"string"` + + // The status of the Amazon SNS notification topic. Notifications are sent only + // if the status is active. + SnsTopicStatus *string `type:"string"` +} + +// String returns the string representation +func (s UpdateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"} + if s.ACLName != nil && len(*s.ACLName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ACLName", 1)) + } + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetACLName sets the ACLName field's value. +func (s *UpdateClusterInput) SetACLName(v string) *UpdateClusterInput { + s.ACLName = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *UpdateClusterInput) SetClusterName(v string) *UpdateClusterInput { + s.ClusterName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateClusterInput) SetDescription(v string) *UpdateClusterInput { + s.Description = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *UpdateClusterInput) SetEngineVersion(v string) *UpdateClusterInput { + s.EngineVersion = &v + return s +} + +// SetMaintenanceWindow sets the MaintenanceWindow field's value. +func (s *UpdateClusterInput) SetMaintenanceWindow(v string) *UpdateClusterInput { + s.MaintenanceWindow = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *UpdateClusterInput) SetNodeType(v string) *UpdateClusterInput { + s.NodeType = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *UpdateClusterInput) SetParameterGroupName(v string) *UpdateClusterInput { + s.ParameterGroupName = &v + return s +} + +// SetReplicaConfiguration sets the ReplicaConfiguration field's value. +func (s *UpdateClusterInput) SetReplicaConfiguration(v *ReplicaConfigurationRequest) *UpdateClusterInput { + s.ReplicaConfiguration = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *UpdateClusterInput) SetSecurityGroupIds(v []*string) *UpdateClusterInput { + s.SecurityGroupIds = v + return s +} + +// SetShardConfiguration sets the ShardConfiguration field's value. +func (s *UpdateClusterInput) SetShardConfiguration(v *ShardConfigurationRequest) *UpdateClusterInput { + s.ShardConfiguration = v + return s +} + +// SetSnapshotRetentionLimit sets the SnapshotRetentionLimit field's value. +func (s *UpdateClusterInput) SetSnapshotRetentionLimit(v int64) *UpdateClusterInput { + s.SnapshotRetentionLimit = &v + return s +} + +// SetSnapshotWindow sets the SnapshotWindow field's value. +func (s *UpdateClusterInput) SetSnapshotWindow(v string) *UpdateClusterInput { + s.SnapshotWindow = &v + return s +} + +// SetSnsTopicArn sets the SnsTopicArn field's value. +func (s *UpdateClusterInput) SetSnsTopicArn(v string) *UpdateClusterInput { + s.SnsTopicArn = &v + return s +} + +// SetSnsTopicStatus sets the SnsTopicStatus field's value. +func (s *UpdateClusterInput) SetSnsTopicStatus(v string) *UpdateClusterInput { + s.SnsTopicStatus = &v + return s +} + +type UpdateClusterOutput struct { + _ struct{} `type:"structure"` + + // The updated cluster + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s UpdateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateClusterOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *UpdateClusterOutput) SetCluster(v *Cluster) *UpdateClusterOutput { + s.Cluster = v + return s +} + +type UpdateParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the parameter group to update. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` + + // An array of parameter names and values for the parameter update. You must + // supply at least one parameter name and value; subsequent arguments are optional. + // A maximum of 20 parameters may be updated per request. + // + // ParameterNameValues is a required field + ParameterNameValues []*ParameterNameValue `type:"list" required:"true"` +} + +// String returns the string representation +func (s UpdateParameterGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateParameterGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateParameterGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateParameterGroupInput"} + if s.ParameterGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterGroupName")) + } + if s.ParameterNameValues == nil { + invalidParams.Add(request.NewErrParamRequired("ParameterNameValues")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *UpdateParameterGroupInput) SetParameterGroupName(v string) *UpdateParameterGroupInput { + s.ParameterGroupName = &v + return s +} + +// SetParameterNameValues sets the ParameterNameValues field's value. +func (s *UpdateParameterGroupInput) SetParameterNameValues(v []*ParameterNameValue) *UpdateParameterGroupInput { + s.ParameterNameValues = v + return s +} + +type UpdateParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The updated parameter group + ParameterGroup *ParameterGroup `type:"structure"` +} + +// String returns the string representation +func (s UpdateParameterGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateParameterGroupOutput) GoString() string { + return s.String() +} + +// SetParameterGroup sets the ParameterGroup field's value. +func (s *UpdateParameterGroupOutput) SetParameterGroup(v *ParameterGroup) *UpdateParameterGroupOutput { + s.ParameterGroup = v + return s +} + +type UpdateSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // A description of the subnet group + Description *string `type:"string"` + + // The name of the subnet group + // + // SubnetGroupName is a required field + SubnetGroupName *string `type:"string" required:"true"` + + // The EC2 subnet IDs for the subnet group. + SubnetIds []*string `type:"list"` +} + +// String returns the string representation +func (s UpdateSubnetGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSubnetGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSubnetGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSubnetGroupInput"} + if s.SubnetGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetGroupName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateSubnetGroupInput) SetDescription(v string) *UpdateSubnetGroupInput { + s.Description = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *UpdateSubnetGroupInput) SetSubnetGroupName(v string) *UpdateSubnetGroupInput { + s.SubnetGroupName = &v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *UpdateSubnetGroupInput) SetSubnetIds(v []*string) *UpdateSubnetGroupInput { + s.SubnetIds = v + return s +} + +type UpdateSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // The updated subnet group + SubnetGroup *SubnetGroup `type:"structure"` +} + +// String returns the string representation +func (s UpdateSubnetGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateSubnetGroupOutput) GoString() string { + return s.String() +} + +// SetSubnetGroup sets the SubnetGroup field's value. +func (s *UpdateSubnetGroupOutput) SetSubnetGroup(v *SubnetGroup) *UpdateSubnetGroupOutput { + s.SubnetGroup = v + return s +} + +type UpdateUserInput struct { + _ struct{} `type:"structure"` + + // Access permissions string used for this user. + AccessString *string `type:"string"` + + // Denotes the user's authentication properties, such as whether it requires + // a password to authenticate. + AuthenticationMode *AuthenticationMode `type:"structure"` + + // The name of the user + // + // UserName is a required field + UserName *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUserInput"} + if s.UserName == nil { + invalidParams.Add(request.NewErrParamRequired("UserName")) + } + if s.UserName != nil && len(*s.UserName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) + } + if s.AuthenticationMode != nil { + if err := s.AuthenticationMode.Validate(); err != nil { + invalidParams.AddNested("AuthenticationMode", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccessString sets the AccessString field's value. +func (s *UpdateUserInput) SetAccessString(v string) *UpdateUserInput { + s.AccessString = &v + return s +} + +// SetAuthenticationMode sets the AuthenticationMode field's value. +func (s *UpdateUserInput) SetAuthenticationMode(v *AuthenticationMode) *UpdateUserInput { + s.AuthenticationMode = v + return s +} + +// SetUserName sets the UserName field's value. +func (s *UpdateUserInput) SetUserName(v string) *UpdateUserInput { + s.UserName = &v + return s +} + +type UpdateUserOutput struct { + _ struct{} `type:"structure"` + + // The updated user + User *User `type:"structure"` +} + +// String returns the string representation +func (s UpdateUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateUserOutput) GoString() string { + return s.String() +} + +// SetUser sets the User field's value. +func (s *UpdateUserOutput) SetUser(v *User) *UpdateUserOutput { + s.User = v + return s +} + +// You create users and assign them specific permissions by using an access +// string. You assign the users to Access Control Lists aligned with a specific +// role (administrators, human resources) that are then deployed to one or more +// MemoryDB clusters. +type User struct { + _ struct{} `type:"structure"` + + // The names of the Access Control Lists to which the user belongs + ACLNames []*string `type:"list"` + + // The Amazon Resource Name (ARN) of the user. + ARN *string `type:"string"` + + // Access permissions string used for this user. + AccessString *string `type:"string"` + + // Denotes whether the user requires a password to authenticate. + Authentication *Authentication `type:"structure"` + + // The minimum engine version supported for the user + MinimumEngineVersion *string `type:"string"` + + // The name of the user + Name *string `type:"string"` + + // Indicates the user status. Can be "active", "modifying" or "deleting". + Status *string `type:"string"` +} + +// String returns the string representation +func (s User) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s User) GoString() string { + return s.String() +} + +// SetACLNames sets the ACLNames field's value. +func (s *User) SetACLNames(v []*string) *User { + s.ACLNames = v + return s +} + +// SetARN sets the ARN field's value. +func (s *User) SetARN(v string) *User { + s.ARN = &v + return s +} + +// SetAccessString sets the AccessString field's value. +func (s *User) SetAccessString(v string) *User { + s.AccessString = &v + return s +} + +// SetAuthentication sets the Authentication field's value. +func (s *User) SetAuthentication(v *Authentication) *User { + s.Authentication = v + return s +} + +// SetMinimumEngineVersion sets the MinimumEngineVersion field's value. +func (s *User) SetMinimumEngineVersion(v string) *User { + s.MinimumEngineVersion = &v + return s +} + +// SetName sets the Name field's value. +func (s *User) SetName(v string) *User { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *User) SetStatus(v string) *User { + s.Status = &v + return s +} + +type UserAlreadyExistsFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s UserAlreadyExistsFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UserAlreadyExistsFault) GoString() string { + return s.String() +} + +func newErrorUserAlreadyExistsFault(v protocol.ResponseMetadata) error { + return &UserAlreadyExistsFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UserAlreadyExistsFault) Code() string { + return "UserAlreadyExistsFault" +} + +// Message returns the exception's message. +func (s *UserAlreadyExistsFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UserAlreadyExistsFault) OrigErr() error { + return nil +} + +func (s *UserAlreadyExistsFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UserAlreadyExistsFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UserAlreadyExistsFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type UserNotFoundFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s UserNotFoundFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UserNotFoundFault) GoString() string { + return s.String() +} + +func newErrorUserNotFoundFault(v protocol.ResponseMetadata) error { + return &UserNotFoundFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UserNotFoundFault) Code() string { + return "UserNotFoundFault" +} + +// Message returns the exception's message. +func (s *UserNotFoundFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UserNotFoundFault) OrigErr() error { + return nil +} + +func (s *UserNotFoundFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UserNotFoundFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UserNotFoundFault) RequestID() string { + return s.RespMetadata.RequestID +} + +type UserQuotaExceededFault struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s UserQuotaExceededFault) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UserQuotaExceededFault) GoString() string { + return s.String() +} + +func newErrorUserQuotaExceededFault(v protocol.ResponseMetadata) error { + return &UserQuotaExceededFault{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *UserQuotaExceededFault) Code() string { + return "UserQuotaExceededFault" +} + +// Message returns the exception's message. +func (s *UserQuotaExceededFault) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *UserQuotaExceededFault) OrigErr() error { + return nil +} + +func (s *UserQuotaExceededFault) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *UserQuotaExceededFault) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *UserQuotaExceededFault) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // AZStatusSingleaz is a AZStatus enum value + AZStatusSingleaz = "singleaz" + + // AZStatusMultiaz is a AZStatus enum value + AZStatusMultiaz = "multiaz" +) + +// AZStatus_Values returns all elements of the AZStatus enum +func AZStatus_Values() []string { + return []string{ + AZStatusSingleaz, + AZStatusMultiaz, + } +} + +const ( + // AuthenticationTypePassword is a AuthenticationType enum value + AuthenticationTypePassword = "password" + + // AuthenticationTypeNoPassword is a AuthenticationType enum value + AuthenticationTypeNoPassword = "no-password" +) + +// AuthenticationType_Values returns all elements of the AuthenticationType enum +func AuthenticationType_Values() []string { + return []string{ + AuthenticationTypePassword, + AuthenticationTypeNoPassword, + } +} + +const ( + // InputAuthenticationTypePassword is a InputAuthenticationType enum value + InputAuthenticationTypePassword = "password" +) + +// InputAuthenticationType_Values returns all elements of the InputAuthenticationType enum +func InputAuthenticationType_Values() []string { + return []string{ + InputAuthenticationTypePassword, + } +} + +const ( + // ServiceUpdateStatusAvailable is a ServiceUpdateStatus enum value + ServiceUpdateStatusAvailable = "available" + + // ServiceUpdateStatusInProgress is a ServiceUpdateStatus enum value + ServiceUpdateStatusInProgress = "in-progress" + + // ServiceUpdateStatusComplete is a ServiceUpdateStatus enum value + ServiceUpdateStatusComplete = "complete" + + // ServiceUpdateStatusScheduled is a ServiceUpdateStatus enum value + ServiceUpdateStatusScheduled = "scheduled" +) + +// ServiceUpdateStatus_Values returns all elements of the ServiceUpdateStatus enum +func ServiceUpdateStatus_Values() []string { + return []string{ + ServiceUpdateStatusAvailable, + ServiceUpdateStatusInProgress, + ServiceUpdateStatusComplete, + ServiceUpdateStatusScheduled, + } +} + +const ( + // ServiceUpdateTypeSecurityUpdate is a ServiceUpdateType enum value + ServiceUpdateTypeSecurityUpdate = "security-update" +) + +// ServiceUpdateType_Values returns all elements of the ServiceUpdateType enum +func ServiceUpdateType_Values() []string { + return []string{ + ServiceUpdateTypeSecurityUpdate, + } +} + +const ( + // SourceTypeNode is a SourceType enum value + SourceTypeNode = "node" + + // SourceTypeParameterGroup is a SourceType enum value + SourceTypeParameterGroup = "parameter-group" + + // SourceTypeSubnetGroup is a SourceType enum value + SourceTypeSubnetGroup = "subnet-group" + + // SourceTypeCluster is a SourceType enum value + SourceTypeCluster = "cluster" + + // SourceTypeUser is a SourceType enum value + SourceTypeUser = "user" + + // SourceTypeAcl is a SourceType enum value + SourceTypeAcl = "acl" +) + +// SourceType_Values returns all elements of the SourceType enum +func SourceType_Values() []string { + return []string{ + SourceTypeNode, + SourceTypeParameterGroup, + SourceTypeSubnetGroup, + SourceTypeCluster, + SourceTypeUser, + SourceTypeAcl, + } +} diff --git a/service/memorydb/doc.go b/service/memorydb/doc.go new file mode 100644 index 00000000000..4b72ca26c49 --- /dev/null +++ b/service/memorydb/doc.go @@ -0,0 +1,34 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package memorydb provides the client and types for making API +// requests to Amazon MemoryDB. +// +// Amazon MemoryDB for Redis is a fully managed, Redis-compatible, in-memory +// database that delivers ultra-fast performance and Multi-AZ durability for +// modern applications built using microservices architectures. MemoryDB stores +// the entire database in-memory, enabling low latency and high throughput data +// access. It is compatible with Redis, a popular open source data store, enabling +// you to leverage Redis’ flexible and friendly data structures, APIs, and +// commands. +// +// See https://docs.aws.amazon.com/goto/WebAPI/memorydb-2021-01-01 for more information on this service. +// +// See memorydb package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/memorydb/ +// +// Using the Client +// +// To contact Amazon MemoryDB with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon MemoryDB client MemoryDB for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/memorydb/#New +package memorydb diff --git a/service/memorydb/errors.go b/service/memorydb/errors.go new file mode 100644 index 00000000000..475f6d267c9 --- /dev/null +++ b/service/memorydb/errors.go @@ -0,0 +1,258 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package memorydb + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeACLAlreadyExistsFault for service response error code + // "ACLAlreadyExistsFault". + ErrCodeACLAlreadyExistsFault = "ACLAlreadyExistsFault" + + // ErrCodeACLNotFoundFault for service response error code + // "ACLNotFoundFault". + ErrCodeACLNotFoundFault = "ACLNotFoundFault" + + // ErrCodeACLQuotaExceededFault for service response error code + // "ACLQuotaExceededFault". + ErrCodeACLQuotaExceededFault = "ACLQuotaExceededFault" + + // ErrCodeAPICallRateForCustomerExceededFault for service response error code + // "APICallRateForCustomerExceededFault". + ErrCodeAPICallRateForCustomerExceededFault = "APICallRateForCustomerExceededFault" + + // ErrCodeClusterAlreadyExistsFault for service response error code + // "ClusterAlreadyExistsFault". + ErrCodeClusterAlreadyExistsFault = "ClusterAlreadyExistsFault" + + // ErrCodeClusterNotFoundFault for service response error code + // "ClusterNotFoundFault". + ErrCodeClusterNotFoundFault = "ClusterNotFoundFault" + + // ErrCodeClusterQuotaForCustomerExceededFault for service response error code + // "ClusterQuotaForCustomerExceededFault". + ErrCodeClusterQuotaForCustomerExceededFault = "ClusterQuotaForCustomerExceededFault" + + // ErrCodeDefaultUserRequired for service response error code + // "DefaultUserRequired". + ErrCodeDefaultUserRequired = "DefaultUserRequired" + + // ErrCodeDuplicateUserNameFault for service response error code + // "DuplicateUserNameFault". + ErrCodeDuplicateUserNameFault = "DuplicateUserNameFault" + + // ErrCodeInsufficientClusterCapacityFault for service response error code + // "InsufficientClusterCapacityFault". + ErrCodeInsufficientClusterCapacityFault = "InsufficientClusterCapacityFault" + + // ErrCodeInvalidACLStateFault for service response error code + // "InvalidACLStateFault". + ErrCodeInvalidACLStateFault = "InvalidACLStateFault" + + // ErrCodeInvalidARNFault for service response error code + // "InvalidARNFault". + ErrCodeInvalidARNFault = "InvalidARNFault" + + // ErrCodeInvalidClusterStateFault for service response error code + // "InvalidClusterStateFault". + ErrCodeInvalidClusterStateFault = "InvalidClusterStateFault" + + // ErrCodeInvalidCredentialsException for service response error code + // "InvalidCredentialsException". + ErrCodeInvalidCredentialsException = "InvalidCredentialsException" + + // ErrCodeInvalidKMSKeyFault for service response error code + // "InvalidKMSKeyFault". + ErrCodeInvalidKMSKeyFault = "InvalidKMSKeyFault" + + // ErrCodeInvalidNodeStateFault for service response error code + // "InvalidNodeStateFault". + ErrCodeInvalidNodeStateFault = "InvalidNodeStateFault" + + // ErrCodeInvalidParameterCombinationException for service response error code + // "InvalidParameterCombinationException". + ErrCodeInvalidParameterCombinationException = "InvalidParameterCombinationException" + + // ErrCodeInvalidParameterGroupStateFault for service response error code + // "InvalidParameterGroupStateFault". + ErrCodeInvalidParameterGroupStateFault = "InvalidParameterGroupStateFault" + + // ErrCodeInvalidParameterValueException for service response error code + // "InvalidParameterValueException". + ErrCodeInvalidParameterValueException = "InvalidParameterValueException" + + // ErrCodeInvalidSnapshotStateFault for service response error code + // "InvalidSnapshotStateFault". + ErrCodeInvalidSnapshotStateFault = "InvalidSnapshotStateFault" + + // ErrCodeInvalidSubnet for service response error code + // "InvalidSubnet". + ErrCodeInvalidSubnet = "InvalidSubnet" + + // ErrCodeInvalidUserStateFault for service response error code + // "InvalidUserStateFault". + ErrCodeInvalidUserStateFault = "InvalidUserStateFault" + + // ErrCodeInvalidVPCNetworkStateFault for service response error code + // "InvalidVPCNetworkStateFault". + ErrCodeInvalidVPCNetworkStateFault = "InvalidVPCNetworkStateFault" + + // ErrCodeNoOperationFault for service response error code + // "NoOperationFault". + ErrCodeNoOperationFault = "NoOperationFault" + + // ErrCodeNodeQuotaForClusterExceededFault for service response error code + // "NodeQuotaForClusterExceededFault". + ErrCodeNodeQuotaForClusterExceededFault = "NodeQuotaForClusterExceededFault" + + // ErrCodeNodeQuotaForCustomerExceededFault for service response error code + // "NodeQuotaForCustomerExceededFault". + ErrCodeNodeQuotaForCustomerExceededFault = "NodeQuotaForCustomerExceededFault" + + // ErrCodeParameterGroupAlreadyExistsFault for service response error code + // "ParameterGroupAlreadyExistsFault". + ErrCodeParameterGroupAlreadyExistsFault = "ParameterGroupAlreadyExistsFault" + + // ErrCodeParameterGroupNotFoundFault for service response error code + // "ParameterGroupNotFoundFault". + ErrCodeParameterGroupNotFoundFault = "ParameterGroupNotFoundFault" + + // ErrCodeParameterGroupQuotaExceededFault for service response error code + // "ParameterGroupQuotaExceededFault". + ErrCodeParameterGroupQuotaExceededFault = "ParameterGroupQuotaExceededFault" + + // ErrCodeServiceLinkedRoleNotFoundFault for service response error code + // "ServiceLinkedRoleNotFoundFault". + ErrCodeServiceLinkedRoleNotFoundFault = "ServiceLinkedRoleNotFoundFault" + + // ErrCodeServiceUpdateNotFoundFault for service response error code + // "ServiceUpdateNotFoundFault". + ErrCodeServiceUpdateNotFoundFault = "ServiceUpdateNotFoundFault" + + // ErrCodeShardNotFoundFault for service response error code + // "ShardNotFoundFault". + ErrCodeShardNotFoundFault = "ShardNotFoundFault" + + // ErrCodeShardsPerClusterQuotaExceededFault for service response error code + // "ShardsPerClusterQuotaExceededFault". + ErrCodeShardsPerClusterQuotaExceededFault = "ShardsPerClusterQuotaExceededFault" + + // ErrCodeSnapshotAlreadyExistsFault for service response error code + // "SnapshotAlreadyExistsFault". + ErrCodeSnapshotAlreadyExistsFault = "SnapshotAlreadyExistsFault" + + // ErrCodeSnapshotNotFoundFault for service response error code + // "SnapshotNotFoundFault". + ErrCodeSnapshotNotFoundFault = "SnapshotNotFoundFault" + + // ErrCodeSnapshotQuotaExceededFault for service response error code + // "SnapshotQuotaExceededFault". + ErrCodeSnapshotQuotaExceededFault = "SnapshotQuotaExceededFault" + + // ErrCodeSubnetGroupAlreadyExistsFault for service response error code + // "SubnetGroupAlreadyExistsFault". + ErrCodeSubnetGroupAlreadyExistsFault = "SubnetGroupAlreadyExistsFault" + + // ErrCodeSubnetGroupInUseFault for service response error code + // "SubnetGroupInUseFault". + ErrCodeSubnetGroupInUseFault = "SubnetGroupInUseFault" + + // ErrCodeSubnetGroupNotFoundFault for service response error code + // "SubnetGroupNotFoundFault". + ErrCodeSubnetGroupNotFoundFault = "SubnetGroupNotFoundFault" + + // ErrCodeSubnetGroupQuotaExceededFault for service response error code + // "SubnetGroupQuotaExceededFault". + ErrCodeSubnetGroupQuotaExceededFault = "SubnetGroupQuotaExceededFault" + + // ErrCodeSubnetInUse for service response error code + // "SubnetInUse". + ErrCodeSubnetInUse = "SubnetInUse" + + // ErrCodeSubnetNotAllowedFault for service response error code + // "SubnetNotAllowedFault". + ErrCodeSubnetNotAllowedFault = "SubnetNotAllowedFault" + + // ErrCodeSubnetQuotaExceededFault for service response error code + // "SubnetQuotaExceededFault". + ErrCodeSubnetQuotaExceededFault = "SubnetQuotaExceededFault" + + // ErrCodeTagNotFoundFault for service response error code + // "TagNotFoundFault". + ErrCodeTagNotFoundFault = "TagNotFoundFault" + + // ErrCodeTagQuotaPerResourceExceeded for service response error code + // "TagQuotaPerResourceExceeded". + ErrCodeTagQuotaPerResourceExceeded = "TagQuotaPerResourceExceeded" + + // ErrCodeTestFailoverNotAvailableFault for service response error code + // "TestFailoverNotAvailableFault". + ErrCodeTestFailoverNotAvailableFault = "TestFailoverNotAvailableFault" + + // ErrCodeUserAlreadyExistsFault for service response error code + // "UserAlreadyExistsFault". + ErrCodeUserAlreadyExistsFault = "UserAlreadyExistsFault" + + // ErrCodeUserNotFoundFault for service response error code + // "UserNotFoundFault". + ErrCodeUserNotFoundFault = "UserNotFoundFault" + + // ErrCodeUserQuotaExceededFault for service response error code + // "UserQuotaExceededFault". + ErrCodeUserQuotaExceededFault = "UserQuotaExceededFault" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "ACLAlreadyExistsFault": newErrorACLAlreadyExistsFault, + "ACLNotFoundFault": newErrorACLNotFoundFault, + "ACLQuotaExceededFault": newErrorACLQuotaExceededFault, + "APICallRateForCustomerExceededFault": newErrorAPICallRateForCustomerExceededFault, + "ClusterAlreadyExistsFault": newErrorClusterAlreadyExistsFault, + "ClusterNotFoundFault": newErrorClusterNotFoundFault, + "ClusterQuotaForCustomerExceededFault": newErrorClusterQuotaForCustomerExceededFault, + "DefaultUserRequired": newErrorDefaultUserRequired, + "DuplicateUserNameFault": newErrorDuplicateUserNameFault, + "InsufficientClusterCapacityFault": newErrorInsufficientClusterCapacityFault, + "InvalidACLStateFault": newErrorInvalidACLStateFault, + "InvalidARNFault": newErrorInvalidARNFault, + "InvalidClusterStateFault": newErrorInvalidClusterStateFault, + "InvalidCredentialsException": newErrorInvalidCredentialsException, + "InvalidKMSKeyFault": newErrorInvalidKMSKeyFault, + "InvalidNodeStateFault": newErrorInvalidNodeStateFault, + "InvalidParameterCombinationException": newErrorInvalidParameterCombinationException, + "InvalidParameterGroupStateFault": newErrorInvalidParameterGroupStateFault, + "InvalidParameterValueException": newErrorInvalidParameterValueException, + "InvalidSnapshotStateFault": newErrorInvalidSnapshotStateFault, + "InvalidSubnet": newErrorInvalidSubnet, + "InvalidUserStateFault": newErrorInvalidUserStateFault, + "InvalidVPCNetworkStateFault": newErrorInvalidVPCNetworkStateFault, + "NoOperationFault": newErrorNoOperationFault, + "NodeQuotaForClusterExceededFault": newErrorNodeQuotaForClusterExceededFault, + "NodeQuotaForCustomerExceededFault": newErrorNodeQuotaForCustomerExceededFault, + "ParameterGroupAlreadyExistsFault": newErrorParameterGroupAlreadyExistsFault, + "ParameterGroupNotFoundFault": newErrorParameterGroupNotFoundFault, + "ParameterGroupQuotaExceededFault": newErrorParameterGroupQuotaExceededFault, + "ServiceLinkedRoleNotFoundFault": newErrorServiceLinkedRoleNotFoundFault, + "ServiceUpdateNotFoundFault": newErrorServiceUpdateNotFoundFault, + "ShardNotFoundFault": newErrorShardNotFoundFault, + "ShardsPerClusterQuotaExceededFault": newErrorShardsPerClusterQuotaExceededFault, + "SnapshotAlreadyExistsFault": newErrorSnapshotAlreadyExistsFault, + "SnapshotNotFoundFault": newErrorSnapshotNotFoundFault, + "SnapshotQuotaExceededFault": newErrorSnapshotQuotaExceededFault, + "SubnetGroupAlreadyExistsFault": newErrorSubnetGroupAlreadyExistsFault, + "SubnetGroupInUseFault": newErrorSubnetGroupInUseFault, + "SubnetGroupNotFoundFault": newErrorSubnetGroupNotFoundFault, + "SubnetGroupQuotaExceededFault": newErrorSubnetGroupQuotaExceededFault, + "SubnetInUse": newErrorSubnetInUse, + "SubnetNotAllowedFault": newErrorSubnetNotAllowedFault, + "SubnetQuotaExceededFault": newErrorSubnetQuotaExceededFault, + "TagNotFoundFault": newErrorTagNotFoundFault, + "TagQuotaPerResourceExceeded": newErrorTagQuotaPerResourceExceeded, + "TestFailoverNotAvailableFault": newErrorTestFailoverNotAvailableFault, + "UserAlreadyExistsFault": newErrorUserAlreadyExistsFault, + "UserNotFoundFault": newErrorUserNotFoundFault, + "UserQuotaExceededFault": newErrorUserQuotaExceededFault, +} diff --git a/service/memorydb/memorydbiface/interface.go b/service/memorydb/memorydbiface/interface.go new file mode 100644 index 00000000000..9242efbb285 --- /dev/null +++ b/service/memorydb/memorydbiface/interface.go @@ -0,0 +1,204 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package memorydbiface provides an interface to enable mocking the Amazon MemoryDB service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package memorydbiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/memorydb" +) + +// MemoryDBAPI provides an interface to enable mocking the +// memorydb.MemoryDB service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon MemoryDB. +// func myFunc(svc memorydbiface.MemoryDBAPI) bool { +// // Make svc.BatchUpdateCluster request +// } +// +// func main() { +// sess := session.New() +// svc := memorydb.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockMemoryDBClient struct { +// memorydbiface.MemoryDBAPI +// } +// func (m *mockMemoryDBClient) BatchUpdateCluster(input *memorydb.BatchUpdateClusterInput) (*memorydb.BatchUpdateClusterOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockMemoryDBClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type MemoryDBAPI interface { + BatchUpdateCluster(*memorydb.BatchUpdateClusterInput) (*memorydb.BatchUpdateClusterOutput, error) + BatchUpdateClusterWithContext(aws.Context, *memorydb.BatchUpdateClusterInput, ...request.Option) (*memorydb.BatchUpdateClusterOutput, error) + BatchUpdateClusterRequest(*memorydb.BatchUpdateClusterInput) (*request.Request, *memorydb.BatchUpdateClusterOutput) + + CopySnapshot(*memorydb.CopySnapshotInput) (*memorydb.CopySnapshotOutput, error) + CopySnapshotWithContext(aws.Context, *memorydb.CopySnapshotInput, ...request.Option) (*memorydb.CopySnapshotOutput, error) + CopySnapshotRequest(*memorydb.CopySnapshotInput) (*request.Request, *memorydb.CopySnapshotOutput) + + CreateACL(*memorydb.CreateACLInput) (*memorydb.CreateACLOutput, error) + CreateACLWithContext(aws.Context, *memorydb.CreateACLInput, ...request.Option) (*memorydb.CreateACLOutput, error) + CreateACLRequest(*memorydb.CreateACLInput) (*request.Request, *memorydb.CreateACLOutput) + + CreateCluster(*memorydb.CreateClusterInput) (*memorydb.CreateClusterOutput, error) + CreateClusterWithContext(aws.Context, *memorydb.CreateClusterInput, ...request.Option) (*memorydb.CreateClusterOutput, error) + CreateClusterRequest(*memorydb.CreateClusterInput) (*request.Request, *memorydb.CreateClusterOutput) + + CreateParameterGroup(*memorydb.CreateParameterGroupInput) (*memorydb.CreateParameterGroupOutput, error) + CreateParameterGroupWithContext(aws.Context, *memorydb.CreateParameterGroupInput, ...request.Option) (*memorydb.CreateParameterGroupOutput, error) + CreateParameterGroupRequest(*memorydb.CreateParameterGroupInput) (*request.Request, *memorydb.CreateParameterGroupOutput) + + CreateSnapshot(*memorydb.CreateSnapshotInput) (*memorydb.CreateSnapshotOutput, error) + CreateSnapshotWithContext(aws.Context, *memorydb.CreateSnapshotInput, ...request.Option) (*memorydb.CreateSnapshotOutput, error) + CreateSnapshotRequest(*memorydb.CreateSnapshotInput) (*request.Request, *memorydb.CreateSnapshotOutput) + + CreateSubnetGroup(*memorydb.CreateSubnetGroupInput) (*memorydb.CreateSubnetGroupOutput, error) + CreateSubnetGroupWithContext(aws.Context, *memorydb.CreateSubnetGroupInput, ...request.Option) (*memorydb.CreateSubnetGroupOutput, error) + CreateSubnetGroupRequest(*memorydb.CreateSubnetGroupInput) (*request.Request, *memorydb.CreateSubnetGroupOutput) + + CreateUser(*memorydb.CreateUserInput) (*memorydb.CreateUserOutput, error) + CreateUserWithContext(aws.Context, *memorydb.CreateUserInput, ...request.Option) (*memorydb.CreateUserOutput, error) + CreateUserRequest(*memorydb.CreateUserInput) (*request.Request, *memorydb.CreateUserOutput) + + DeleteACL(*memorydb.DeleteACLInput) (*memorydb.DeleteACLOutput, error) + DeleteACLWithContext(aws.Context, *memorydb.DeleteACLInput, ...request.Option) (*memorydb.DeleteACLOutput, error) + DeleteACLRequest(*memorydb.DeleteACLInput) (*request.Request, *memorydb.DeleteACLOutput) + + DeleteCluster(*memorydb.DeleteClusterInput) (*memorydb.DeleteClusterOutput, error) + DeleteClusterWithContext(aws.Context, *memorydb.DeleteClusterInput, ...request.Option) (*memorydb.DeleteClusterOutput, error) + DeleteClusterRequest(*memorydb.DeleteClusterInput) (*request.Request, *memorydb.DeleteClusterOutput) + + DeleteParameterGroup(*memorydb.DeleteParameterGroupInput) (*memorydb.DeleteParameterGroupOutput, error) + DeleteParameterGroupWithContext(aws.Context, *memorydb.DeleteParameterGroupInput, ...request.Option) (*memorydb.DeleteParameterGroupOutput, error) + DeleteParameterGroupRequest(*memorydb.DeleteParameterGroupInput) (*request.Request, *memorydb.DeleteParameterGroupOutput) + + DeleteSnapshot(*memorydb.DeleteSnapshotInput) (*memorydb.DeleteSnapshotOutput, error) + DeleteSnapshotWithContext(aws.Context, *memorydb.DeleteSnapshotInput, ...request.Option) (*memorydb.DeleteSnapshotOutput, error) + DeleteSnapshotRequest(*memorydb.DeleteSnapshotInput) (*request.Request, *memorydb.DeleteSnapshotOutput) + + DeleteSubnetGroup(*memorydb.DeleteSubnetGroupInput) (*memorydb.DeleteSubnetGroupOutput, error) + DeleteSubnetGroupWithContext(aws.Context, *memorydb.DeleteSubnetGroupInput, ...request.Option) (*memorydb.DeleteSubnetGroupOutput, error) + DeleteSubnetGroupRequest(*memorydb.DeleteSubnetGroupInput) (*request.Request, *memorydb.DeleteSubnetGroupOutput) + + DeleteUser(*memorydb.DeleteUserInput) (*memorydb.DeleteUserOutput, error) + DeleteUserWithContext(aws.Context, *memorydb.DeleteUserInput, ...request.Option) (*memorydb.DeleteUserOutput, error) + DeleteUserRequest(*memorydb.DeleteUserInput) (*request.Request, *memorydb.DeleteUserOutput) + + DescribeACLs(*memorydb.DescribeACLsInput) (*memorydb.DescribeACLsOutput, error) + DescribeACLsWithContext(aws.Context, *memorydb.DescribeACLsInput, ...request.Option) (*memorydb.DescribeACLsOutput, error) + DescribeACLsRequest(*memorydb.DescribeACLsInput) (*request.Request, *memorydb.DescribeACLsOutput) + + DescribeClusters(*memorydb.DescribeClustersInput) (*memorydb.DescribeClustersOutput, error) + DescribeClustersWithContext(aws.Context, *memorydb.DescribeClustersInput, ...request.Option) (*memorydb.DescribeClustersOutput, error) + DescribeClustersRequest(*memorydb.DescribeClustersInput) (*request.Request, *memorydb.DescribeClustersOutput) + + DescribeEngineVersions(*memorydb.DescribeEngineVersionsInput) (*memorydb.DescribeEngineVersionsOutput, error) + DescribeEngineVersionsWithContext(aws.Context, *memorydb.DescribeEngineVersionsInput, ...request.Option) (*memorydb.DescribeEngineVersionsOutput, error) + DescribeEngineVersionsRequest(*memorydb.DescribeEngineVersionsInput) (*request.Request, *memorydb.DescribeEngineVersionsOutput) + + DescribeEvents(*memorydb.DescribeEventsInput) (*memorydb.DescribeEventsOutput, error) + DescribeEventsWithContext(aws.Context, *memorydb.DescribeEventsInput, ...request.Option) (*memorydb.DescribeEventsOutput, error) + DescribeEventsRequest(*memorydb.DescribeEventsInput) (*request.Request, *memorydb.DescribeEventsOutput) + + DescribeParameterGroups(*memorydb.DescribeParameterGroupsInput) (*memorydb.DescribeParameterGroupsOutput, error) + DescribeParameterGroupsWithContext(aws.Context, *memorydb.DescribeParameterGroupsInput, ...request.Option) (*memorydb.DescribeParameterGroupsOutput, error) + DescribeParameterGroupsRequest(*memorydb.DescribeParameterGroupsInput) (*request.Request, *memorydb.DescribeParameterGroupsOutput) + + DescribeParameters(*memorydb.DescribeParametersInput) (*memorydb.DescribeParametersOutput, error) + DescribeParametersWithContext(aws.Context, *memorydb.DescribeParametersInput, ...request.Option) (*memorydb.DescribeParametersOutput, error) + DescribeParametersRequest(*memorydb.DescribeParametersInput) (*request.Request, *memorydb.DescribeParametersOutput) + + DescribeServiceUpdates(*memorydb.DescribeServiceUpdatesInput) (*memorydb.DescribeServiceUpdatesOutput, error) + DescribeServiceUpdatesWithContext(aws.Context, *memorydb.DescribeServiceUpdatesInput, ...request.Option) (*memorydb.DescribeServiceUpdatesOutput, error) + DescribeServiceUpdatesRequest(*memorydb.DescribeServiceUpdatesInput) (*request.Request, *memorydb.DescribeServiceUpdatesOutput) + + DescribeSnapshots(*memorydb.DescribeSnapshotsInput) (*memorydb.DescribeSnapshotsOutput, error) + DescribeSnapshotsWithContext(aws.Context, *memorydb.DescribeSnapshotsInput, ...request.Option) (*memorydb.DescribeSnapshotsOutput, error) + DescribeSnapshotsRequest(*memorydb.DescribeSnapshotsInput) (*request.Request, *memorydb.DescribeSnapshotsOutput) + + DescribeSubnetGroups(*memorydb.DescribeSubnetGroupsInput) (*memorydb.DescribeSubnetGroupsOutput, error) + DescribeSubnetGroupsWithContext(aws.Context, *memorydb.DescribeSubnetGroupsInput, ...request.Option) (*memorydb.DescribeSubnetGroupsOutput, error) + DescribeSubnetGroupsRequest(*memorydb.DescribeSubnetGroupsInput) (*request.Request, *memorydb.DescribeSubnetGroupsOutput) + + DescribeUsers(*memorydb.DescribeUsersInput) (*memorydb.DescribeUsersOutput, error) + DescribeUsersWithContext(aws.Context, *memorydb.DescribeUsersInput, ...request.Option) (*memorydb.DescribeUsersOutput, error) + DescribeUsersRequest(*memorydb.DescribeUsersInput) (*request.Request, *memorydb.DescribeUsersOutput) + + FailoverShard(*memorydb.FailoverShardInput) (*memorydb.FailoverShardOutput, error) + FailoverShardWithContext(aws.Context, *memorydb.FailoverShardInput, ...request.Option) (*memorydb.FailoverShardOutput, error) + FailoverShardRequest(*memorydb.FailoverShardInput) (*request.Request, *memorydb.FailoverShardOutput) + + ListAllowedNodeTypeUpdates(*memorydb.ListAllowedNodeTypeUpdatesInput) (*memorydb.ListAllowedNodeTypeUpdatesOutput, error) + ListAllowedNodeTypeUpdatesWithContext(aws.Context, *memorydb.ListAllowedNodeTypeUpdatesInput, ...request.Option) (*memorydb.ListAllowedNodeTypeUpdatesOutput, error) + ListAllowedNodeTypeUpdatesRequest(*memorydb.ListAllowedNodeTypeUpdatesInput) (*request.Request, *memorydb.ListAllowedNodeTypeUpdatesOutput) + + ListTags(*memorydb.ListTagsInput) (*memorydb.ListTagsOutput, error) + ListTagsWithContext(aws.Context, *memorydb.ListTagsInput, ...request.Option) (*memorydb.ListTagsOutput, error) + ListTagsRequest(*memorydb.ListTagsInput) (*request.Request, *memorydb.ListTagsOutput) + + ResetParameterGroup(*memorydb.ResetParameterGroupInput) (*memorydb.ResetParameterGroupOutput, error) + ResetParameterGroupWithContext(aws.Context, *memorydb.ResetParameterGroupInput, ...request.Option) (*memorydb.ResetParameterGroupOutput, error) + ResetParameterGroupRequest(*memorydb.ResetParameterGroupInput) (*request.Request, *memorydb.ResetParameterGroupOutput) + + TagResource(*memorydb.TagResourceInput) (*memorydb.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *memorydb.TagResourceInput, ...request.Option) (*memorydb.TagResourceOutput, error) + TagResourceRequest(*memorydb.TagResourceInput) (*request.Request, *memorydb.TagResourceOutput) + + UntagResource(*memorydb.UntagResourceInput) (*memorydb.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *memorydb.UntagResourceInput, ...request.Option) (*memorydb.UntagResourceOutput, error) + UntagResourceRequest(*memorydb.UntagResourceInput) (*request.Request, *memorydb.UntagResourceOutput) + + UpdateACL(*memorydb.UpdateACLInput) (*memorydb.UpdateACLOutput, error) + UpdateACLWithContext(aws.Context, *memorydb.UpdateACLInput, ...request.Option) (*memorydb.UpdateACLOutput, error) + UpdateACLRequest(*memorydb.UpdateACLInput) (*request.Request, *memorydb.UpdateACLOutput) + + UpdateCluster(*memorydb.UpdateClusterInput) (*memorydb.UpdateClusterOutput, error) + UpdateClusterWithContext(aws.Context, *memorydb.UpdateClusterInput, ...request.Option) (*memorydb.UpdateClusterOutput, error) + UpdateClusterRequest(*memorydb.UpdateClusterInput) (*request.Request, *memorydb.UpdateClusterOutput) + + UpdateParameterGroup(*memorydb.UpdateParameterGroupInput) (*memorydb.UpdateParameterGroupOutput, error) + UpdateParameterGroupWithContext(aws.Context, *memorydb.UpdateParameterGroupInput, ...request.Option) (*memorydb.UpdateParameterGroupOutput, error) + UpdateParameterGroupRequest(*memorydb.UpdateParameterGroupInput) (*request.Request, *memorydb.UpdateParameterGroupOutput) + + UpdateSubnetGroup(*memorydb.UpdateSubnetGroupInput) (*memorydb.UpdateSubnetGroupOutput, error) + UpdateSubnetGroupWithContext(aws.Context, *memorydb.UpdateSubnetGroupInput, ...request.Option) (*memorydb.UpdateSubnetGroupOutput, error) + UpdateSubnetGroupRequest(*memorydb.UpdateSubnetGroupInput) (*request.Request, *memorydb.UpdateSubnetGroupOutput) + + UpdateUser(*memorydb.UpdateUserInput) (*memorydb.UpdateUserOutput, error) + UpdateUserWithContext(aws.Context, *memorydb.UpdateUserInput, ...request.Option) (*memorydb.UpdateUserOutput, error) + UpdateUserRequest(*memorydb.UpdateUserInput) (*request.Request, *memorydb.UpdateUserOutput) +} + +var _ MemoryDBAPI = (*memorydb.MemoryDB)(nil) diff --git a/service/memorydb/service.go b/service/memorydb/service.go new file mode 100644 index 00000000000..b288ae66c0d --- /dev/null +++ b/service/memorydb/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package memorydb + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// MemoryDB provides the API operation methods for making requests to +// Amazon MemoryDB. See this package's package overview docs +// for details on the service. +// +// MemoryDB methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type MemoryDB struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "MemoryDB" // Name of service. + EndpointsID = "memory-db" // ID to lookup a service endpoint with. + ServiceID = "MemoryDB" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the MemoryDB client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a MemoryDB client from just a session. +// svc := memorydb.New(mySession) +// +// // Create a MemoryDB client with additional configuration +// svc := memorydb.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *MemoryDB { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "memorydb" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *MemoryDB { + svc := &MemoryDB{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-01-01", + JSONVersion: "1.1", + TargetPrefix: "AmazonMemoryDB", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a MemoryDB operation and runs any +// custom request initialization. +func (c *MemoryDB) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +}