From 18b0649dd14bfa02610a9f85e71979cab4938165 Mon Sep 17 00:00:00 2001 From: Gareth Oakley <gaz@gazoakley.com> Date: Fri, 5 Jan 2018 11:05:50 +0700 Subject: [PATCH] vendor: Add DAX --- .../aws/aws-sdk-go/service/dax/api.go | 4677 +++++++++++++++++ .../aws/aws-sdk-go/service/dax/doc.go | 33 + .../aws/aws-sdk-go/service/dax/errors.go | 160 + .../aws/aws-sdk-go/service/dax/service.go | 95 + vendor/vendor.json | 8 + 5 files changed, 4973 insertions(+) create mode 100644 vendor/github.com/aws/aws-sdk-go/service/dax/api.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/dax/doc.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/dax/errors.go create mode 100644 vendor/github.com/aws/aws-sdk-go/service/dax/service.go diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/api.go b/vendor/github.com/aws/aws-sdk-go/service/dax/api.go new file mode 100644 index 00000000000..31fdef87fd9 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/api.go @@ -0,0 +1,4677 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package dax + +import ( + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" +) + +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 complets +// successfuly. +// +// 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/dax-2017-04-19/CreateCluster +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Creates a DAX cluster. All nodes in the cluster run the same DAX caching +// 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 DynamoDB Accelerator (DAX)'s +// API operation CreateCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterAlreadyExistsFault "ClusterAlreadyExistsFault" +// You already have a DAX cluster with the given identifier. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacityFault" +// There are not enough system resources to create the cluster you requested +// (or to resize an already-existing cluster). +// +// * ErrCodeSubnetGroupNotFoundFault "SubnetGroupNotFoundFault" +// The requested subnet group name does not refer to an existing subnet group. +// +// * ErrCodeInvalidParameterGroupStateFault "InvalidParameterGroupStateFault" +// One or more parameters in a parameter group are in an invalid state. +// +// * ErrCodeParameterGroupNotFoundFault "ParameterGroupNotFoundFault" +// The specified parameter group does not exist. +// +// * ErrCodeClusterQuotaForCustomerExceededFault "ClusterQuotaForCustomerExceededFault" +// You have attempted to exceed the maximum number of DAX clusters for your +// AWS account. +// +// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceededFault" +// You have attempted to exceed the maximum number of nodes for a DAX cluster. +// +// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceededFault" +// You have attempted to exceed the maximum number of nodes for your AWS account. +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The VPC network is in an invalid state. +// +// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" +// You have exceeded the maximum number of tags for this DAX cluster. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateCluster +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/CreateParameterGroup +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Creates a new parameter group. A parameter group is a collection of parameters +// that you apply to all of the nodes in a DAX 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 DynamoDB Accelerator (DAX)'s +// API operation CreateParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeParameterGroupQuotaExceededFault "ParameterGroupQuotaExceededFault" +// You have attempted to exceed the maximum number of parameter groups. +// +// * ErrCodeParameterGroupAlreadyExistsFault "ParameterGroupAlreadyExistsFault" +// The specified parameter group already exists. +// +// * ErrCodeInvalidParameterGroupStateFault "InvalidParameterGroupStateFault" +// One or more parameters in a parameter group are in an invalid state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateParameterGroup +func (c *DAX) 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 *DAX) 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 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 complets +// successfuly. +// +// 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/dax-2017-04-19/CreateSubnetGroup +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Creates a new subnet 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 DynamoDB Accelerator (DAX)'s +// API operation CreateSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubnetGroupAlreadyExistsFault "SubnetGroupAlreadyExistsFault" +// The specified subnet group already exists. +// +// * ErrCodeSubnetGroupQuotaExceededFault "SubnetGroupQuotaExceededFault" +// The request cannot be processed because it would exceed the allowed number +// of subnets in a subnet group. +// +// * ErrCodeSubnetQuotaExceededFault "SubnetQuotaExceededFault" +// The request cannot be processed because it would exceed the allowed number +// of subnets in a subnet group. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// An invalid subnet identifier was specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroup +func (c *DAX) 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 *DAX) 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 opDecreaseReplicationFactor = "DecreaseReplicationFactor" + +// DecreaseReplicationFactorRequest generates a "aws/request.Request" representing the +// client's request for the DecreaseReplicationFactor operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// 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 DecreaseReplicationFactor for more information on using the DecreaseReplicationFactor +// 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 DecreaseReplicationFactorRequest method. +// req, resp := client.DecreaseReplicationFactorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactor +func (c *DAX) DecreaseReplicationFactorRequest(input *DecreaseReplicationFactorInput) (req *request.Request, output *DecreaseReplicationFactorOutput) { + op := &request.Operation{ + Name: opDecreaseReplicationFactor, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DecreaseReplicationFactorInput{} + } + + output = &DecreaseReplicationFactorOutput{} + req = c.newRequest(op, input, output) + return +} + +// DecreaseReplicationFactor API operation for Amazon DynamoDB Accelerator (DAX). +// +// Removes one or more nodes from a DAX cluster. +// +// You cannot use DecreaseReplicationFactor to remove the last node in a DAX +// cluster. If you need to do this, use DeleteCluster instead. +// +// 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 DynamoDB Accelerator (DAX)'s +// API operation DecreaseReplicationFactor for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeNodeNotFoundFault "NodeNotFoundFault" +// None of the nodes in the cluster have the given node ID. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactor +func (c *DAX) DecreaseReplicationFactor(input *DecreaseReplicationFactorInput) (*DecreaseReplicationFactorOutput, error) { + req, out := c.DecreaseReplicationFactorRequest(input) + return out, req.Send() +} + +// DecreaseReplicationFactorWithContext is the same as DecreaseReplicationFactor with the addition of +// the ability to pass a context and additional request options. +// +// See DecreaseReplicationFactor 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 *DAX) DecreaseReplicationFactorWithContext(ctx aws.Context, input *DecreaseReplicationFactorInput, opts ...request.Option) (*DecreaseReplicationFactorOutput, error) { + req, out := c.DecreaseReplicationFactorRequest(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 complets +// successfuly. +// +// 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/dax-2017-04-19/DeleteCluster +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Deletes a previously provisioned DAX cluster. DeleteCluster deletes all associated +// nodes, node endpoints and the DAX cluster itself. When you receive a successful +// response from this action, DAX immediately begins deleting the cluster; you +// cannot cancel or revert this action. +// +// 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 DynamoDB Accelerator (DAX)'s +// API operation DeleteCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteCluster +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/DeleteParameterGroup +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Deletes the specified parameter group. You cannot delete a parameter group +// if it is associated with any DAX 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 DynamoDB Accelerator (DAX)'s +// API operation DeleteParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterGroupStateFault "InvalidParameterGroupStateFault" +// One or more parameters in a parameter group are in an invalid state. +// +// * ErrCodeParameterGroupNotFoundFault "ParameterGroupNotFoundFault" +// The specified parameter group does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteParameterGroup +func (c *DAX) 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 *DAX) 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 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 complets +// successfuly. +// +// 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/dax-2017-04-19/DeleteSubnetGroup +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Deletes a subnet group. +// +// You cannot delete a subnet group if it is associated with any DAX 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 DynamoDB Accelerator (DAX)'s +// API operation DeleteSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubnetGroupInUseFault "SubnetGroupInUseFault" +// The specified subnet group is currently in use. +// +// * ErrCodeSubnetGroupNotFoundFault "SubnetGroupNotFoundFault" +// The requested subnet group name does not refer to an existing subnet group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroup +func (c *DAX) 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 *DAX) 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 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 complets +// successfuly. +// +// 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/dax-2017-04-19/DescribeClusters +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Returns information about all provisioned DAX clusters if no cluster identifier +// is specified, or about a specific DAX cluster if a cluster identifier is +// supplied. +// +// If the cluster is in the CREATING state, only cluster level information will +// be displayed until all of the nodes are successfully provisioned. +// +// If the cluster is in the DELETING state, only cluster level information will +// be displayed. +// +// If nodes are currently being added to the DAX cluster, node endpoint information +// and creation time for the additional nodes will not be displayed until they +// are completely provisioned. When the DAX cluster state is available, the +// cluster is ready for use. +// +// If nodes are currently being removed from the DAX cluster, no endpoint information +// for the removed nodes is displayed. +// +// 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 DynamoDB Accelerator (DAX)'s +// API operation DescribeClusters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeClusters +func (c *DAX) 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 *DAX) 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 opDescribeDefaultParameters = "DescribeDefaultParameters" + +// DescribeDefaultParametersRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDefaultParameters operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// 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 DescribeDefaultParameters for more information on using the DescribeDefaultParameters +// 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 DescribeDefaultParametersRequest method. +// req, resp := client.DescribeDefaultParametersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParameters +func (c *DAX) DescribeDefaultParametersRequest(input *DescribeDefaultParametersInput) (req *request.Request, output *DescribeDefaultParametersOutput) { + op := &request.Operation{ + Name: opDescribeDefaultParameters, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeDefaultParametersInput{} + } + + output = &DescribeDefaultParametersOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDefaultParameters API operation for Amazon DynamoDB Accelerator (DAX). +// +// Returns the default system parameter information for the DAX caching 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 DynamoDB Accelerator (DAX)'s +// API operation DescribeDefaultParameters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParameters +func (c *DAX) DescribeDefaultParameters(input *DescribeDefaultParametersInput) (*DescribeDefaultParametersOutput, error) { + req, out := c.DescribeDefaultParametersRequest(input) + return out, req.Send() +} + +// DescribeDefaultParametersWithContext is the same as DescribeDefaultParameters with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDefaultParameters 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 *DAX) DescribeDefaultParametersWithContext(ctx aws.Context, input *DescribeDefaultParametersInput, opts ...request.Option) (*DescribeDefaultParametersOutput, error) { + req, out := c.DescribeDefaultParametersRequest(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 complets +// successfuly. +// +// 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/dax-2017-04-19/DescribeEvents +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Returns events related to DAX clusters and parameter groups. You can obtain +// events specific to a particular DAX cluster 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 DynamoDB Accelerator (DAX)'s +// API operation DescribeEvents for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeEvents +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/DescribeParameterGroups +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Returns a list of parameter group descriptions. If a parameter group name +// is specified, the list will contain 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 DynamoDB Accelerator (DAX)'s +// API operation DescribeParameterGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeParameterGroupNotFoundFault "ParameterGroupNotFoundFault" +// The specified parameter group does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameterGroups +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/DescribeParameters +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// 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 DynamoDB Accelerator (DAX)'s +// API operation DescribeParameters for usage and error information. +// +// Returned Error Codes: +// * ErrCodeParameterGroupNotFoundFault "ParameterGroupNotFoundFault" +// The specified parameter group does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameters +func (c *DAX) 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 *DAX) 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 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 complets +// successfuly. +// +// 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/dax-2017-04-19/DescribeSubnetGroups +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Returns a list of subnet group descriptions. If a subnet group name is specified, +// the list will contain 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 DynamoDB Accelerator (DAX)'s +// API operation DescribeSubnetGroups for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubnetGroupNotFoundFault "SubnetGroupNotFoundFault" +// The requested subnet group name does not refer to an existing subnet group. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroups +func (c *DAX) 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 *DAX) 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 opIncreaseReplicationFactor = "IncreaseReplicationFactor" + +// IncreaseReplicationFactorRequest generates a "aws/request.Request" representing the +// client's request for the IncreaseReplicationFactor operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// 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 IncreaseReplicationFactor for more information on using the IncreaseReplicationFactor +// 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 IncreaseReplicationFactorRequest method. +// req, resp := client.IncreaseReplicationFactorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactor +func (c *DAX) IncreaseReplicationFactorRequest(input *IncreaseReplicationFactorInput) (req *request.Request, output *IncreaseReplicationFactorOutput) { + op := &request.Operation{ + Name: opIncreaseReplicationFactor, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &IncreaseReplicationFactorInput{} + } + + output = &IncreaseReplicationFactorOutput{} + req = c.newRequest(op, input, output) + return +} + +// IncreaseReplicationFactor API operation for Amazon DynamoDB Accelerator (DAX). +// +// Adds one or more nodes to a DAX 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 DynamoDB Accelerator (DAX)'s +// API operation IncreaseReplicationFactor for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInsufficientClusterCapacityFault "InsufficientClusterCapacityFault" +// There are not enough system resources to create the cluster you requested +// (or to resize an already-existing cluster). +// +// * ErrCodeInvalidVPCNetworkStateFault "InvalidVPCNetworkStateFault" +// The VPC network is in an invalid state. +// +// * ErrCodeNodeQuotaForClusterExceededFault "NodeQuotaForClusterExceededFault" +// You have attempted to exceed the maximum number of nodes for a DAX cluster. +// +// * ErrCodeNodeQuotaForCustomerExceededFault "NodeQuotaForCustomerExceededFault" +// You have attempted to exceed the maximum number of nodes for your AWS account. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactor +func (c *DAX) IncreaseReplicationFactor(input *IncreaseReplicationFactorInput) (*IncreaseReplicationFactorOutput, error) { + req, out := c.IncreaseReplicationFactorRequest(input) + return out, req.Send() +} + +// IncreaseReplicationFactorWithContext is the same as IncreaseReplicationFactor with the addition of +// the ability to pass a context and additional request options. +// +// See IncreaseReplicationFactor 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 *DAX) IncreaseReplicationFactorWithContext(ctx aws.Context, input *IncreaseReplicationFactorInput, opts ...request.Option) (*IncreaseReplicationFactorOutput, error) { + req, out := c.IncreaseReplicationFactorRequest(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 complets +// successfuly. +// +// 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/dax-2017-04-19/ListTags +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// List all of the tags for a DAX cluster. You can call ListTags up to 10 times +// per second, per 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 DynamoDB Accelerator (DAX)'s +// API operation ListTags for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeInvalidARNFault "InvalidARNFault" +// The Amazon Resource Name (ARN) supplied in the request is not valid. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ListTags +func (c *DAX) 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 *DAX) 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 opRebootNode = "RebootNode" + +// RebootNodeRequest generates a "aws/request.Request" representing the +// client's request for the RebootNode operation. The "output" return +// value will be populated with the request's response once the request complets +// successfuly. +// +// 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 RebootNode for more information on using the RebootNode +// 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 RebootNodeRequest method. +// req, resp := client.RebootNodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNode +func (c *DAX) RebootNodeRequest(input *RebootNodeInput) (req *request.Request, output *RebootNodeOutput) { + op := &request.Operation{ + Name: opRebootNode, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RebootNodeInput{} + } + + output = &RebootNodeOutput{} + req = c.newRequest(op, input, output) + return +} + +// RebootNode API operation for Amazon DynamoDB Accelerator (DAX). +// +// Reboots a single node of a DAX cluster. The reboot action takes place as +// soon as possible. During the reboot, the node status is set to REBOOTING. +// +// 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 DynamoDB Accelerator (DAX)'s +// API operation RebootNode for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeNodeNotFoundFault "NodeNotFoundFault" +// None of the nodes in the cluster have the given node ID. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNode +func (c *DAX) RebootNode(input *RebootNodeInput) (*RebootNodeOutput, error) { + req, out := c.RebootNodeRequest(input) + return out, req.Send() +} + +// RebootNodeWithContext is the same as RebootNode with the addition of +// the ability to pass a context and additional request options. +// +// See RebootNode 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 *DAX) RebootNodeWithContext(ctx aws.Context, input *RebootNodeInput, opts ...request.Option) (*RebootNodeOutput, error) { + req, out := c.RebootNodeRequest(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 complets +// successfuly. +// +// 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/dax-2017-04-19/TagResource +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Associates a set of tags with a DAX resource. You can call TagResource up +// to 5 times per second, per 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 DynamoDB Accelerator (DAX)'s +// API operation TagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeTagQuotaPerResourceExceeded "TagQuotaPerResourceExceeded" +// You have exceeded the maximum number of tags for this DAX cluster. +// +// * ErrCodeInvalidARNFault "InvalidARNFault" +// The Amazon Resource Name (ARN) supplied in the request is not valid. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/TagResource +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/UntagResource +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Removes the association of tags from a DAX resource. You can call UntagResource +// up to 5 times per second, per 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 DynamoDB Accelerator (DAX)'s +// API operation UntagResource for usage and error information. +// +// Returned Error Codes: +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeInvalidARNFault "InvalidARNFault" +// The Amazon Resource Name (ARN) supplied in the request is not valid. +// +// * ErrCodeTagNotFoundFault "TagNotFoundFault" +// The tag does not exist. +// +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UntagResource +func (c *DAX) 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 *DAX) 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 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 complets +// successfuly. +// +// 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/dax-2017-04-19/UpdateCluster +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Modifies the settings for a DAX cluster. You can use this action to change +// one or more cluster configuration parameters by specifying the parameters +// 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 DynamoDB Accelerator (DAX)'s +// API operation UpdateCluster for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidClusterStateFault "InvalidClusterStateFault" +// The requested DAX cluster is not in the available state. +// +// * ErrCodeClusterNotFoundFault "ClusterNotFoundFault" +// The requested cluster ID does not refer to an existing DAX cluster. +// +// * ErrCodeInvalidParameterGroupStateFault "InvalidParameterGroupStateFault" +// One or more parameters in a parameter group are in an invalid state. +// +// * ErrCodeParameterGroupNotFoundFault "ParameterGroupNotFoundFault" +// The specified parameter group does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateCluster +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/UpdateParameterGroup +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Modifies 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 DynamoDB Accelerator (DAX)'s +// API operation UpdateParameterGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeInvalidParameterGroupStateFault "InvalidParameterGroupStateFault" +// One or more parameters in a parameter group are in an invalid state. +// +// * ErrCodeParameterGroupNotFoundFault "ParameterGroupNotFoundFault" +// The specified parameter group does not exist. +// +// * ErrCodeInvalidParameterValueException "InvalidParameterValueException" +// The value for a parameter is invalid. +// +// * ErrCodeInvalidParameterCombinationException "InvalidParameterCombinationException" +// Two or more incompatible parameters were specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateParameterGroup +func (c *DAX) 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 *DAX) 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 complets +// successfuly. +// +// 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/dax-2017-04-19/UpdateSubnetGroup +func (c *DAX) 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 DynamoDB Accelerator (DAX). +// +// Modifies an existing subnet 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 DynamoDB Accelerator (DAX)'s +// API operation UpdateSubnetGroup for usage and error information. +// +// Returned Error Codes: +// * ErrCodeSubnetGroupNotFoundFault "SubnetGroupNotFoundFault" +// The requested subnet group name does not refer to an existing subnet group. +// +// * ErrCodeSubnetQuotaExceededFault "SubnetQuotaExceededFault" +// The request cannot be processed because it would exceed the allowed number +// of subnets in a subnet group. +// +// * ErrCodeSubnetInUse "SubnetInUse" +// The requested subnet is being used by another subnet group. +// +// * ErrCodeInvalidSubnet "InvalidSubnet" +// An invalid subnet identifier was specified. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroup +func (c *DAX) 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 *DAX) 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() +} + +// Contains all of the attributes of a specific DAX cluster. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Cluster +type Cluster struct { + _ struct{} `type:"structure"` + + // The number of nodes in the cluster that are active (i.e., capable of serving + // requests). + ActiveNodes *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) that uniquely identifies the cluster. + ClusterArn *string `type:"string"` + + // The configuration endpoint for this DAX cluster, consisting of a DNS name + // and a port number. Client applications can specify this endpoint, rather + // than an individual node endpoint, and allow the DAX client software to intelligently + // route requests and responses to nodes in the DAX cluster. + ClusterDiscoveryEndpoint *Endpoint `type:"structure"` + + // The name of the DAX cluster. + ClusterName *string `type:"string"` + + // The description of the cluster. + Description *string `type:"string"` + + // A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, + // DAX will assume this role and use the role's permissions to access DynamoDB + // on your behalf. + IamRoleArn *string `type:"string"` + + // A list of nodes to be removed from the cluster. + NodeIdsToRemove []*string `type:"list"` + + // The node type for the nodes in the cluster. (All nodes in a DAX cluster are + // of the same type.) + NodeType *string `type:"string"` + + // A list of nodes that are currently in the cluster. + Nodes []*Node `type:"list"` + + // Describes a notification topic and its status. Notification topics are used + // for publishing DAX events to subscribers using Amazon Simple Notification + // Service (SNS). + NotificationConfiguration *NotificationConfiguration `type:"structure"` + + // The parameter group being used by nodes in the cluster. + ParameterGroup *ParameterGroupStatus `type:"structure"` + + // A range of time when maintenance of DAX cluster software will be performed. + // For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less + // than 30 minutes, and is performed automatically within the maintenance window. + PreferredMaintenanceWindow *string `type:"string"` + + // A list of security groups, and the status of each, for the nodes in the cluster. + SecurityGroups []*SecurityGroupMembership `type:"list"` + + // The current status of the cluster. + Status *string `type:"string"` + + // The subnet group where the DAX cluster is running. + SubnetGroup *string `type:"string"` + + // The total number of nodes in the cluster. + TotalNodes *int64 `type:"integer"` +} + +// 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() +} + +// SetActiveNodes sets the ActiveNodes field's value. +func (s *Cluster) SetActiveNodes(v int64) *Cluster { + s.ActiveNodes = &v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *Cluster) SetClusterArn(v string) *Cluster { + s.ClusterArn = &v + return s +} + +// SetClusterDiscoveryEndpoint sets the ClusterDiscoveryEndpoint field's value. +func (s *Cluster) SetClusterDiscoveryEndpoint(v *Endpoint) *Cluster { + s.ClusterDiscoveryEndpoint = v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *Cluster) SetClusterName(v string) *Cluster { + s.ClusterName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *Cluster) SetDescription(v string) *Cluster { + s.Description = &v + return s +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *Cluster) SetIamRoleArn(v string) *Cluster { + s.IamRoleArn = &v + return s +} + +// SetNodeIdsToRemove sets the NodeIdsToRemove field's value. +func (s *Cluster) SetNodeIdsToRemove(v []*string) *Cluster { + s.NodeIdsToRemove = v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *Cluster) SetNodeType(v string) *Cluster { + s.NodeType = &v + return s +} + +// SetNodes sets the Nodes field's value. +func (s *Cluster) SetNodes(v []*Node) *Cluster { + s.Nodes = v + return s +} + +// SetNotificationConfiguration sets the NotificationConfiguration field's value. +func (s *Cluster) SetNotificationConfiguration(v *NotificationConfiguration) *Cluster { + s.NotificationConfiguration = v + return s +} + +// SetParameterGroup sets the ParameterGroup field's value. +func (s *Cluster) SetParameterGroup(v *ParameterGroupStatus) *Cluster { + s.ParameterGroup = v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *Cluster) SetPreferredMaintenanceWindow(v string) *Cluster { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *Cluster) SetSecurityGroups(v []*SecurityGroupMembership) *Cluster { + s.SecurityGroups = v + return s +} + +// SetStatus sets the Status field's value. +func (s *Cluster) SetStatus(v string) *Cluster { + s.Status = &v + return s +} + +// SetSubnetGroup sets the SubnetGroup field's value. +func (s *Cluster) SetSubnetGroup(v string) *Cluster { + s.SubnetGroup = &v + return s +} + +// SetTotalNodes sets the TotalNodes field's value. +func (s *Cluster) SetTotalNodes(v int64) *Cluster { + s.TotalNodes = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateClusterRequest +type CreateClusterInput struct { + _ struct{} `type:"structure"` + + // The Availability Zones (AZs) in which the cluster nodes will be created. + // All nodes belonging to the cluster are placed in these Availability Zones. + // Use this parameter if you want to distribute the nodes across multiple AZs. + AvailabilityZones []*string `type:"list"` + + // The cluster identifier. This parameter is stored as a lowercase string. + // + // Constraints: + // + // * A name must contain from 1 to 20 alphanumeric characters or hyphens. + // + // * The first character must be a letter. + // + // * A name cannot end with a hyphen or contain two consecutive hyphens. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // A description of the cluster. + Description *string `type:"string"` + + // A valid Amazon Resource Name (ARN) that identifies an IAM role. At runtime, + // DAX will assume this role and use the role's permissions to access DynamoDB + // on your behalf. + // + // IamRoleArn is a required field + IamRoleArn *string `type:"string" required:"true"` + + // The compute and memory capacity of the nodes in the cluster. + // + // NodeType is a required field + NodeType *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the Amazon SNS topic to which notifications + // will be sent. + // + // The Amazon SNS topic owner must be same as the DAX cluster owner. + NotificationTopicArn *string `type:"string"` + + // The parameter group to be associated with the DAX cluster. + ParameterGroupName *string `type:"string"` + + // Specifies the weekly time range during which maintenance on the DAX 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. Valid + // values for ddd are: + // + // * sun + // + // * mon + // + // * tue + // + // * wed + // + // * thu + // + // * fri + // + // * sat + // + // Example: sun:05:00-sun:09:00 + // + // If you don't specify a preferred maintenance window when you create or modify + // a cache cluster, DAX assigns a 60-minute maintenance window on a randomly + // selected day of the week. + PreferredMaintenanceWindow *string `type:"string"` + + // The number of nodes in the DAX cluster. A replication factor of 1 will create + // a single-node cluster, without any read replicas. For additional fault tolerance, + // you can create a multiple node cluster with one or more read replicas. To + // do this, set ReplicationFactor to 2 or more. + // + // AWS recommends that you have at least two read replicas per cluster. + // + // ReplicationFactor is a required field + ReplicationFactor *int64 `type:"integer" required:"true"` + + // A list of security group IDs to be assigned to each node in the DAX cluster. + // (Each of the security group ID is system-generated.) + // + // If this parameter is not specified, DAX assigns the default VPC security + // group to each node. + SecurityGroupIds []*string `type:"list"` + + // The name of the subnet group to be used for the replication group. + // + // DAX clusters can only run in an Amazon VPC environment. All of the subnets + // that you specify in a subnet group must exist in the same VPC. + SubnetGroupName *string `type:"string"` + + // A set of tags to associate with the DAX cluster. + 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.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.IamRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("IamRoleArn")) + } + if s.NodeType == nil { + invalidParams.Add(request.NewErrParamRequired("NodeType")) + } + if s.ReplicationFactor == nil { + invalidParams.Add(request.NewErrParamRequired("ReplicationFactor")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *CreateClusterInput) SetAvailabilityZones(v []*string) *CreateClusterInput { + s.AvailabilityZones = 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 +} + +// SetIamRoleArn sets the IamRoleArn field's value. +func (s *CreateClusterInput) SetIamRoleArn(v string) *CreateClusterInput { + s.IamRoleArn = &v + return s +} + +// SetNodeType sets the NodeType field's value. +func (s *CreateClusterInput) SetNodeType(v string) *CreateClusterInput { + s.NodeType = &v + return s +} + +// SetNotificationTopicArn sets the NotificationTopicArn field's value. +func (s *CreateClusterInput) SetNotificationTopicArn(v string) *CreateClusterInput { + s.NotificationTopicArn = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *CreateClusterInput) SetParameterGroupName(v string) *CreateClusterInput { + s.ParameterGroupName = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *CreateClusterInput) SetPreferredMaintenanceWindow(v string) *CreateClusterInput { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetReplicationFactor sets the ReplicationFactor field's value. +func (s *CreateClusterInput) SetReplicationFactor(v int64) *CreateClusterInput { + s.ReplicationFactor = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateClusterInput) SetSecurityGroupIds(v []*string) *CreateClusterInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *CreateClusterInput) SetSubnetGroupName(v string) *CreateClusterInput { + s.SubnetGroupName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { + s.Tags = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateClusterResponse +type CreateClusterOutput struct { + _ struct{} `type:"structure"` + + // A description of the DAX cluster that you have created. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateParameterGroupRequest +type CreateParameterGroupInput struct { + _ struct{} `type:"structure"` + + // A description of the parameter group. + Description *string `type:"string"` + + // The name of the parameter group to apply to all of the clusters in this replication + // group. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` +} + +// 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.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 +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *CreateParameterGroupInput) SetParameterGroupName(v string) *CreateParameterGroupInput { + s.ParameterGroupName = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateParameterGroupResponse +type CreateParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // Represents the output of a CreateParameterGroup action. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroupRequest +type CreateSubnetGroupInput struct { + _ struct{} `type:"structure"` + + // A description for the subnet group + Description *string `type:"string"` + + // A name for the subnet group. This value is stored as a lowercase string. + // + // 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"` +} + +// 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/CreateSubnetGroupResponse +type CreateSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // Represents the output of a CreateSubnetGroup operation. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactorRequest +type DecreaseReplicationFactorInput struct { + _ struct{} `type:"structure"` + + // The Availability Zone(s) from which to remove nodes. + AvailabilityZones []*string `type:"list"` + + // The name of the DAX cluster from which you want to remove nodes. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The new number of nodes for the DAX cluster. + // + // NewReplicationFactor is a required field + NewReplicationFactor *int64 `type:"integer" required:"true"` + + // The unique identifiers of the nodes to be removed from the cluster. + NodeIdsToRemove []*string `type:"list"` +} + +// String returns the string representation +func (s DecreaseReplicationFactorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecreaseReplicationFactorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DecreaseReplicationFactorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DecreaseReplicationFactorInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.NewReplicationFactor == nil { + invalidParams.Add(request.NewErrParamRequired("NewReplicationFactor")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *DecreaseReplicationFactorInput) SetAvailabilityZones(v []*string) *DecreaseReplicationFactorInput { + s.AvailabilityZones = v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *DecreaseReplicationFactorInput) SetClusterName(v string) *DecreaseReplicationFactorInput { + s.ClusterName = &v + return s +} + +// SetNewReplicationFactor sets the NewReplicationFactor field's value. +func (s *DecreaseReplicationFactorInput) SetNewReplicationFactor(v int64) *DecreaseReplicationFactorInput { + s.NewReplicationFactor = &v + return s +} + +// SetNodeIdsToRemove sets the NodeIdsToRemove field's value. +func (s *DecreaseReplicationFactorInput) SetNodeIdsToRemove(v []*string) *DecreaseReplicationFactorInput { + s.NodeIdsToRemove = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DecreaseReplicationFactorResponse +type DecreaseReplicationFactorOutput struct { + _ struct{} `type:"structure"` + + // A description of the DAX cluster, after you have decreased its replication + // factor. + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s DecreaseReplicationFactorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DecreaseReplicationFactorOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *DecreaseReplicationFactorOutput) SetCluster(v *Cluster) *DecreaseReplicationFactorOutput { + s.Cluster = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteClusterRequest +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"` +} + +// 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteClusterResponse +type DeleteClusterOutput struct { + _ struct{} `type:"structure"` + + // A description of the DAX cluster that is being 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteParameterGroupRequest +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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteParameterGroupResponse +type DeleteParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // A user-specified message for this action (i.e., a reason for deleting the + // parameter group). + DeletionMessage *string `type:"string"` +} + +// 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() +} + +// SetDeletionMessage sets the DeletionMessage field's value. +func (s *DeleteParameterGroupOutput) SetDeletionMessage(v string) *DeleteParameterGroupOutput { + s.DeletionMessage = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroupRequest +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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DeleteSubnetGroupResponse +type DeleteSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // A user-specified message for this action (i.e., a reason for deleting the + // subnet group). + DeletionMessage *string `type:"string"` +} + +// 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() +} + +// SetDeletionMessage sets the DeletionMessage field's value. +func (s *DeleteSubnetGroupOutput) SetDeletionMessage(v string) *DeleteSubnetGroupOutput { + s.DeletionMessage = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeClustersRequest +type DescribeClustersInput struct { + _ struct{} `type:"structure"` + + // The names of the DAX clusters being described. + ClusterNames []*string `type:"list"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + // + // The value for MaxResults must be between 20 and 100. + MaxResults *int64 `type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `type:"string"` +} + +// 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() +} + +// SetClusterNames sets the ClusterNames field's value. +func (s *DescribeClustersInput) SetClusterNames(v []*string) *DescribeClustersInput { + s.ClusterNames = 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeClustersResponse +type DescribeClustersOutput struct { + _ struct{} `type:"structure"` + + // The descriptions of your DAX clusters, in response to a DescribeClusters + // request. + Clusters []*Cluster `type:"list"` + + // Provides an identifier to allow retrieval of paginated results. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParametersRequest +type DescribeDefaultParametersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + // + // The value for MaxResults must be between 20 and 100. + MaxResults *int64 `type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s DescribeDefaultParametersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDefaultParametersInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDefaultParametersInput) SetMaxResults(v int64) *DescribeDefaultParametersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDefaultParametersInput) SetNextToken(v string) *DescribeDefaultParametersInput { + s.NextToken = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeDefaultParametersResponse +type DescribeDefaultParametersOutput struct { + _ struct{} `type:"structure"` + + // Provides an identifier to allow retrieval of paginated results. + NextToken *string `type:"string"` + + // A list of parameters. Each element in the list represents one parameter. + Parameters []*Parameter `type:"list"` +} + +// String returns the string representation +func (s DescribeDefaultParametersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeDefaultParametersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeDefaultParametersOutput) SetNextToken(v string) *DescribeDefaultParametersOutput { + s.NextToken = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *DescribeDefaultParametersOutput) SetParameters(v []*Parameter) *DescribeDefaultParametersOutput { + s.Parameters = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeEventsRequest +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. + EndTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + // + // The value for MaxResults must be between 20 and 100. + MaxResults *int64 `type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `type:"string"` + + // The identifier of the event source for which events will be returned. If + // not specified, then 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. + StartTime *time.Time `type:"timestamp" timestampFormat:"unix"` +} + +// 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeEventsResponse +type DescribeEventsOutput struct { + _ struct{} `type:"structure"` + + // An array of events. Each element in the array represents one event. + Events []*Event `type:"list"` + + // Provides an identifier to allow retrieval of paginated results. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameterGroupsRequest +type DescribeParameterGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + // + // The value for MaxResults must be between 20 and 100. + MaxResults *int64 `type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `type:"string"` + + // The names of the parameter groups. + ParameterGroupNames []*string `type:"list"` +} + +// 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 +} + +// SetParameterGroupNames sets the ParameterGroupNames field's value. +func (s *DescribeParameterGroupsInput) SetParameterGroupNames(v []*string) *DescribeParameterGroupsInput { + s.ParameterGroupNames = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParameterGroupsResponse +type DescribeParameterGroupsOutput struct { + _ struct{} `type:"structure"` + + // Provides an identifier to allow retrieval of paginated results. + NextToken *string `type:"string"` + + // An array of parameter groups. Each element in the array represents 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParametersRequest +type DescribeParametersInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + // + // The value for MaxResults must be between 20 and 100. + MaxResults *int64 `type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `type:"string"` + + // The name of the parameter group. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` + + // How the parameter is defined. For example, system denotes a system-defined + // parameter. + Source *string `type:"string"` +} + +// 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 +} + +// SetSource sets the Source field's value. +func (s *DescribeParametersInput) SetSource(v string) *DescribeParametersInput { + s.Source = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeParametersResponse +type DescribeParametersOutput struct { + _ struct{} `type:"structure"` + + // Provides an identifier to allow retrieval of paginated results. + NextToken *string `type:"string"` + + // A list of parameters within a parameter group. Each element in the list represents + // 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroupsRequest +type DescribeSubnetGroupsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to include in the response. If more results + // exist than the specified MaxResults value, a token is included in the response + // so that the remaining results can be retrieved. + // + // The value for MaxResults must be between 20 and 100. + MaxResults *int64 `type:"integer"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token, up to the value specified by MaxResults. + NextToken *string `type:"string"` + + // The name of the subnet group. + SubnetGroupNames []*string `type:"list"` +} + +// 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 +} + +// SetSubnetGroupNames sets the SubnetGroupNames field's value. +func (s *DescribeSubnetGroupsInput) SetSubnetGroupNames(v []*string) *DescribeSubnetGroupsInput { + s.SubnetGroupNames = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/DescribeSubnetGroupsResponse +type DescribeSubnetGroupsOutput struct { + _ struct{} `type:"structure"` + + // Provides an identifier to allow retrieval of paginated results. + NextToken *string `type:"string"` + + // An array of subnet groups. Each element in the array represents a single + // subnet 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 +} + +// Represents the information required for client programs to connect to the +// configuration endpoint for a DAX cluster, or to an individual node within +// the cluster. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Endpoint +type Endpoint struct { + _ struct{} `type:"structure"` + + // The DNS hostname of the endpoint. + Address *string `type:"string"` + + // The port number that applications should use to connect to the endpoint. + 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 +} + +// Represents a single occurrence of something interesting within the system. +// Some examples of events are creating a DAX cluster, adding or removing a +// node, or rebooting a node. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Event +type Event struct { + _ struct{} `type:"structure"` + + // The date and time when the event occurred. + Date *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A user-defined message associated with the event. + Message *string `type:"string"` + + // The source of the event. For example, if the event occurred at the node level, + // the source would be the node ID. + SourceName *string `type:"string"` + + // Specifies the origin of this event - a cluster, a parameter group, a node + // ID, 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactorRequest +type IncreaseReplicationFactorInput struct { + _ struct{} `type:"structure"` + + // The Availability Zones (AZs) in which the cluster nodes will be created. + // All nodes belonging to the cluster are placed in these Availability Zones. + // Use this parameter if you want to distribute the nodes across multiple AZs. + AvailabilityZones []*string `type:"list"` + + // The name of the DAX cluster that will receive additional nodes. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The new number of nodes for the DAX cluster. + // + // NewReplicationFactor is a required field + NewReplicationFactor *int64 `type:"integer" required:"true"` +} + +// String returns the string representation +func (s IncreaseReplicationFactorInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IncreaseReplicationFactorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *IncreaseReplicationFactorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "IncreaseReplicationFactorInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.NewReplicationFactor == nil { + invalidParams.Add(request.NewErrParamRequired("NewReplicationFactor")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *IncreaseReplicationFactorInput) SetAvailabilityZones(v []*string) *IncreaseReplicationFactorInput { + s.AvailabilityZones = v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *IncreaseReplicationFactorInput) SetClusterName(v string) *IncreaseReplicationFactorInput { + s.ClusterName = &v + return s +} + +// SetNewReplicationFactor sets the NewReplicationFactor field's value. +func (s *IncreaseReplicationFactorInput) SetNewReplicationFactor(v int64) *IncreaseReplicationFactorInput { + s.NewReplicationFactor = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/IncreaseReplicationFactorResponse +type IncreaseReplicationFactorOutput struct { + _ struct{} `type:"structure"` + + // A description of the DAX cluster. with its new replication factor. + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s IncreaseReplicationFactorOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s IncreaseReplicationFactorOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *IncreaseReplicationFactorOutput) SetCluster(v *Cluster) *IncreaseReplicationFactorOutput { + s.Cluster = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ListTagsRequest +type ListTagsInput struct { + _ struct{} `type:"structure"` + + // An optional token returned from a prior request. Use this token for pagination + // of results from this action. If this parameter is specified, the response + // includes only results beyond the token. + NextToken *string `type:"string"` + + // The name of the DAX resource to which the tags belong. + // + // ResourceName is a required field + ResourceName *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.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsInput) SetNextToken(v string) *ListTagsInput { + s.NextToken = &v + return s +} + +// SetResourceName sets the ResourceName field's value. +func (s *ListTagsInput) SetResourceName(v string) *ListTagsInput { + s.ResourceName = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ListTagsResponse +type ListTagsOutput struct { + _ struct{} `type:"structure"` + + // If this value is present, there are additional results to be displayed. To + // retrieve them, call ListTags again, with NextToken set to this value. + NextToken *string `type:"string"` + + // A list of tags currently associated with the DAX cluster. + Tags []*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() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsOutput) SetNextToken(v string) *ListTagsOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput { + s.Tags = v + return s +} + +// Represents an individual node within a DAX cluster. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Node +type Node struct { + _ struct{} `type:"structure"` + + // The Availability Zone (AZ) in which the node has been deployed. + AvailabilityZone *string `type:"string"` + + // The endpoint for the node, consisting of a DNS name and a port number. Client + // applications can connect directly to a node endpoint, if desired (as an alternative + // to allowing DAX client software to intelligently route requests and responses + // to nodes in the DAX cluster. + Endpoint *Endpoint `type:"structure"` + + // The date and time (in UNIX epoch format) when the node was launched. + NodeCreateTime *time.Time `type:"timestamp" timestampFormat:"unix"` + + // A system-generated identifier for the node. + NodeId *string `type:"string"` + + // The current status of the node. For example: available. + NodeStatus *string `type:"string"` + + // The status of the parameter group associated with this node. For example, + // in-sync. + ParameterGroupStatus *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 +} + +// SetEndpoint sets the Endpoint field's value. +func (s *Node) SetEndpoint(v *Endpoint) *Node { + s.Endpoint = v + return s +} + +// SetNodeCreateTime sets the NodeCreateTime field's value. +func (s *Node) SetNodeCreateTime(v time.Time) *Node { + s.NodeCreateTime = &v + return s +} + +// SetNodeId sets the NodeId field's value. +func (s *Node) SetNodeId(v string) *Node { + s.NodeId = &v + return s +} + +// SetNodeStatus sets the NodeStatus field's value. +func (s *Node) SetNodeStatus(v string) *Node { + s.NodeStatus = &v + return s +} + +// SetParameterGroupStatus sets the ParameterGroupStatus field's value. +func (s *Node) SetParameterGroupStatus(v string) *Node { + s.ParameterGroupStatus = &v + return s +} + +// Represents a parameter value that is applicable to a particular node type. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/NodeTypeSpecificValue +type NodeTypeSpecificValue struct { + _ struct{} `type:"structure"` + + // A node type to which the parameter value applies. + NodeType *string `type:"string"` + + // The parameter value for this node type. + Value *string `type:"string"` +} + +// String returns the string representation +func (s NodeTypeSpecificValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NodeTypeSpecificValue) GoString() string { + return s.String() +} + +// SetNodeType sets the NodeType field's value. +func (s *NodeTypeSpecificValue) SetNodeType(v string) *NodeTypeSpecificValue { + s.NodeType = &v + return s +} + +// SetValue sets the Value field's value. +func (s *NodeTypeSpecificValue) SetValue(v string) *NodeTypeSpecificValue { + s.Value = &v + return s +} + +// Describes a notification topic and its status. Notification topics are used +// for publishing DAX events to subscribers using Amazon Simple Notification +// Service (SNS). +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/NotificationConfiguration +type NotificationConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that identifies the topic. + TopicArn *string `type:"string"` + + // The current state of the topic. + TopicStatus *string `type:"string"` +} + +// String returns the string representation +func (s NotificationConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NotificationConfiguration) GoString() string { + return s.String() +} + +// SetTopicArn sets the TopicArn field's value. +func (s *NotificationConfiguration) SetTopicArn(v string) *NotificationConfiguration { + s.TopicArn = &v + return s +} + +// SetTopicStatus sets the TopicStatus field's value. +func (s *NotificationConfiguration) SetTopicStatus(v string) *NotificationConfiguration { + s.TopicStatus = &v + return s +} + +// Describes an individual setting that controls some aspect of DAX behavior. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Parameter +type Parameter struct { + _ struct{} `type:"structure"` + + // A range of values within which the parameter can be set. + AllowedValues *string `type:"string"` + + // The conditions under which changes to this parameter can be applied. For + // example, requires-reboot indicates that a new value for this parameter will + // only take effect if a node is rebooted. + ChangeType *string `type:"string" enum:"ChangeType"` + + // The data type of the parameter. For example, integer: + DataType *string `type:"string"` + + // A description of the parameter + Description *string `type:"string"` + + // Whether the customer is allowed to modify the parameter. + IsModifiable *string `type:"string" enum:"IsModifiable"` + + // A list of node types, and specific parameter values for each node. + NodeTypeSpecificValues []*NodeTypeSpecificValue `type:"list"` + + // The name of the parameter. + ParameterName *string `type:"string"` + + // Determines whether the parameter can be applied to any nodes, or only nodes + // of a particular type. + ParameterType *string `type:"string" enum:"ParameterType"` + + // The value for the parameter. + ParameterValue *string `type:"string"` + + // How the parameter is defined. For example, system denotes a system-defined + // parameter. + Source *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 +} + +// SetChangeType sets the ChangeType field's value. +func (s *Parameter) SetChangeType(v string) *Parameter { + s.ChangeType = &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 +} + +// SetIsModifiable sets the IsModifiable field's value. +func (s *Parameter) SetIsModifiable(v string) *Parameter { + s.IsModifiable = &v + return s +} + +// SetNodeTypeSpecificValues sets the NodeTypeSpecificValues field's value. +func (s *Parameter) SetNodeTypeSpecificValues(v []*NodeTypeSpecificValue) *Parameter { + s.NodeTypeSpecificValues = v + return s +} + +// SetParameterName sets the ParameterName field's value. +func (s *Parameter) SetParameterName(v string) *Parameter { + s.ParameterName = &v + return s +} + +// SetParameterType sets the ParameterType field's value. +func (s *Parameter) SetParameterType(v string) *Parameter { + s.ParameterType = &v + return s +} + +// SetParameterValue sets the ParameterValue field's value. +func (s *Parameter) SetParameterValue(v string) *Parameter { + s.ParameterValue = &v + return s +} + +// SetSource sets the Source field's value. +func (s *Parameter) SetSource(v string) *Parameter { + s.Source = &v + return s +} + +// A named set of parameters that are applied to all of the nodes in a DAX cluster. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ParameterGroup +type ParameterGroup struct { + _ struct{} `type:"structure"` + + // A description of the parameter group. + Description *string `type:"string"` + + // The name of the parameter group. + ParameterGroupName *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() +} + +// SetDescription sets the Description field's value. +func (s *ParameterGroup) SetDescription(v string) *ParameterGroup { + s.Description = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *ParameterGroup) SetParameterGroupName(v string) *ParameterGroup { + s.ParameterGroupName = &v + return s +} + +// The status of a parameter group. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ParameterGroupStatus +type ParameterGroupStatus struct { + _ struct{} `type:"structure"` + + // The node IDs of one or more nodes to be rebooted. + NodeIdsToReboot []*string `type:"list"` + + // The status of parameter updates. + ParameterApplyStatus *string `type:"string"` + + // The name of the parameter group. + ParameterGroupName *string `type:"string"` +} + +// String returns the string representation +func (s ParameterGroupStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ParameterGroupStatus) GoString() string { + return s.String() +} + +// SetNodeIdsToReboot sets the NodeIdsToReboot field's value. +func (s *ParameterGroupStatus) SetNodeIdsToReboot(v []*string) *ParameterGroupStatus { + s.NodeIdsToReboot = v + return s +} + +// SetParameterApplyStatus sets the ParameterApplyStatus field's value. +func (s *ParameterGroupStatus) SetParameterApplyStatus(v string) *ParameterGroupStatus { + s.ParameterApplyStatus = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *ParameterGroupStatus) SetParameterGroupName(v string) *ParameterGroupStatus { + s.ParameterGroupName = &v + return s +} + +// An individual DAX parameter. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/ParameterNameValue +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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNodeRequest +type RebootNodeInput struct { + _ struct{} `type:"structure"` + + // The name of the DAX cluster containing the node to be rebooted. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The system-assigned ID of the node to be rebooted. + // + // NodeId is a required field + NodeId *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s RebootNodeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootNodeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RebootNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RebootNodeInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.NodeId == nil { + invalidParams.Add(request.NewErrParamRequired("NodeId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *RebootNodeInput) SetClusterName(v string) *RebootNodeInput { + s.ClusterName = &v + return s +} + +// SetNodeId sets the NodeId field's value. +func (s *RebootNodeInput) SetNodeId(v string) *RebootNodeInput { + s.NodeId = &v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/RebootNodeResponse +type RebootNodeOutput struct { + _ struct{} `type:"structure"` + + // A description of the DAX cluster after a node has been rebooted. + Cluster *Cluster `type:"structure"` +} + +// String returns the string representation +func (s RebootNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RebootNodeOutput) GoString() string { + return s.String() +} + +// SetCluster sets the Cluster field's value. +func (s *RebootNodeOutput) SetCluster(v *Cluster) *RebootNodeOutput { + s.Cluster = v + return s +} + +// An individual VPC security group and its status. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/SecurityGroupMembership +type SecurityGroupMembership struct { + _ struct{} `type:"structure"` + + // The unique ID for this security group. + SecurityGroupIdentifier *string `type:"string"` + + // The status of this security group. + 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() +} + +// SetSecurityGroupIdentifier sets the SecurityGroupIdentifier field's value. +func (s *SecurityGroupMembership) SetSecurityGroupIdentifier(v string) *SecurityGroupMembership { + s.SecurityGroupIdentifier = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SecurityGroupMembership) SetStatus(v string) *SecurityGroupMembership { + s.Status = &v + return s +} + +// Represents the subnet associated with a DAX cluster. This parameter refers +// to subnets defined in Amazon Virtual Private Cloud (Amazon VPC) and used +// with DAX. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Subnet +type Subnet struct { + _ struct{} `type:"structure"` + + // The Availability Zone (AZ) for subnet subnet. + SubnetAvailabilityZone *string `type:"string"` + + // The system-assigned identifier for the subnet. + SubnetIdentifier *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() +} + +// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. +func (s *Subnet) SetSubnetAvailabilityZone(v string) *Subnet { + s.SubnetAvailabilityZone = &v + return s +} + +// SetSubnetIdentifier sets the SubnetIdentifier field's value. +func (s *Subnet) SetSubnetIdentifier(v string) *Subnet { + s.SubnetIdentifier = &v + return s +} + +// Represents the output of one of the following actions: +// +// * CreateSubnetGroup +// +// * ModifySubnetGroup +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/SubnetGroup +type SubnetGroup struct { + _ struct{} `type:"structure"` + + // The description of the subnet group. + Description *string `type:"string"` + + // The name of the subnet group. + SubnetGroupName *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() +} + +// SetDescription sets the Description field's value. +func (s *SubnetGroup) SetDescription(v string) *SubnetGroup { + s.Description = &v + return s +} + +// SetSubnetGroupName sets the SubnetGroupName field's value. +func (s *SubnetGroup) SetSubnetGroupName(v string) *SubnetGroup { + s.SubnetGroupName = &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 +} + +// A description of a tag. Every tag is a key-value pair. You can add up to +// 50 tags to a single DAX cluster. +// +// AWS-assigned tag names and values are automatically assigned the aws: prefix, +// which the user cannot assign. AWS-assigned tag names do not count towards +// the tag limit of 50. User-assigned tag names have the prefix user:. +// +// You cannot backdate the application of a tag. +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/Tag +type Tag struct { + _ struct{} `type:"structure"` + + // The key for the tag. Tag keys are case sensitive. Every DAX cluster can only + // have one tag with the same key. If you try to add an existing tag (same key), + // the existing tag value will be updated to the new value. + Key *string `type:"string"` + + // The value of the tag. Tag values are case-sensitive and can 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/TagResourceRequest +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The name of the DAX resource to which tags should be added. + // + // ResourceName is a required field + ResourceName *string `type:"string" required:"true"` + + // The tags to be assigned to the DAX resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *TagResourceInput) SetResourceName(v string) *TagResourceInput { + s.ResourceName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/TagResourceResponse +type TagResourceOutput struct { + _ struct{} `type:"structure"` + + // The list of tags that are associated with the DAX resource. + Tags []*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() +} + +// SetTags sets the Tags field's value. +func (s *TagResourceOutput) SetTags(v []*Tag) *TagResourceOutput { + s.Tags = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UntagResourceRequest +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The name of the DAX resource from which the tags should be removed. + // + // ResourceName is a required field + ResourceName *string `type:"string" required:"true"` + + // A list of tag keys. If the DAX cluster has any tags with these keys, then + // the tags are removed from the cluster. + // + // 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.ResourceName == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceName")) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceName sets the ResourceName field's value. +func (s *UntagResourceInput) SetResourceName(v string) *UntagResourceInput { + s.ResourceName = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UntagResourceResponse +type UntagResourceOutput struct { + _ struct{} `type:"structure"` + + // The tag keys that have been removed from the cluster. + Tags []*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() +} + +// SetTags sets the Tags field's value. +func (s *UntagResourceOutput) SetTags(v []*Tag) *UntagResourceOutput { + s.Tags = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateClusterRequest +type UpdateClusterInput struct { + _ struct{} `type:"structure"` + + // The name of the DAX cluster to be modified. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // A description of the changes being made to the cluster. + Description *string `type:"string"` + + // The Amazon Resource Name (ARN) that identifies the topic. + NotificationTopicArn *string `type:"string"` + + // The current state of the topic. + NotificationTopicStatus *string `type:"string"` + + // The name of a parameter group for this cluster. + ParameterGroupName *string `type:"string"` + + // A range of time when maintenance of DAX cluster software will be performed. + // For example: sun:01:00-sun:09:00. Cluster maintenance normally takes less + // than 30 minutes, and is performed automatically within the maintenance window. + PreferredMaintenanceWindow *string `type:"string"` + + // A list of user-specified security group IDs to be assigned to each node in + // the DAX cluster. If this parameter is not specified, DAX assigns the default + // VPC security group to each node. + SecurityGroupIds []*string `type:"list"` +} + +// 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.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// 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 +} + +// SetNotificationTopicArn sets the NotificationTopicArn field's value. +func (s *UpdateClusterInput) SetNotificationTopicArn(v string) *UpdateClusterInput { + s.NotificationTopicArn = &v + return s +} + +// SetNotificationTopicStatus sets the NotificationTopicStatus field's value. +func (s *UpdateClusterInput) SetNotificationTopicStatus(v string) *UpdateClusterInput { + s.NotificationTopicStatus = &v + return s +} + +// SetParameterGroupName sets the ParameterGroupName field's value. +func (s *UpdateClusterInput) SetParameterGroupName(v string) *UpdateClusterInput { + s.ParameterGroupName = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *UpdateClusterInput) SetPreferredMaintenanceWindow(v string) *UpdateClusterInput { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *UpdateClusterInput) SetSecurityGroupIds(v []*string) *UpdateClusterInput { + s.SecurityGroupIds = v + return s +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateClusterResponse +type UpdateClusterOutput struct { + _ struct{} `type:"structure"` + + // A description of the DAX cluster, after it has been modified. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateParameterGroupRequest +type UpdateParameterGroupInput struct { + _ struct{} `type:"structure"` + + // The name of the parameter group. + // + // ParameterGroupName is a required field + ParameterGroupName *string `type:"string" required:"true"` + + // An array of name-value pairs for the parameters in the group. Each element + // in the array represents a single parameter. + // + // 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateParameterGroupResponse +type UpdateParameterGroupOutput struct { + _ struct{} `type:"structure"` + + // The parameter group that has been modified. + 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroupRequest +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"` + + // A list of subnet IDs in 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 +} + +// See also, https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19/UpdateSubnetGroupResponse +type UpdateSubnetGroupOutput struct { + _ struct{} `type:"structure"` + + // The subnet group that has been modified. + 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 +} + +const ( + // ChangeTypeImmediate is a ChangeType enum value + ChangeTypeImmediate = "IMMEDIATE" + + // ChangeTypeRequiresReboot is a ChangeType enum value + ChangeTypeRequiresReboot = "REQUIRES_REBOOT" +) + +const ( + // IsModifiableTrue is a IsModifiable enum value + IsModifiableTrue = "TRUE" + + // IsModifiableFalse is a IsModifiable enum value + IsModifiableFalse = "FALSE" + + // IsModifiableConditional is a IsModifiable enum value + IsModifiableConditional = "CONDITIONAL" +) + +const ( + // ParameterTypeDefault is a ParameterType enum value + ParameterTypeDefault = "DEFAULT" + + // ParameterTypeNodeTypeSpecific is a ParameterType enum value + ParameterTypeNodeTypeSpecific = "NODE_TYPE_SPECIFIC" +) + +const ( + // SourceTypeCluster is a SourceType enum value + SourceTypeCluster = "CLUSTER" + + // SourceTypeParameterGroup is a SourceType enum value + SourceTypeParameterGroup = "PARAMETER_GROUP" + + // SourceTypeSubnetGroup is a SourceType enum value + SourceTypeSubnetGroup = "SUBNET_GROUP" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go b/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go new file mode 100644 index 00000000000..a3b25ccbd5a --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/doc.go @@ -0,0 +1,33 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package dax provides the client and types for making API +// requests to Amazon DynamoDB Accelerator (DAX). +// +// DAX is a managed caching service engineered for Amazon DynamoDB. DAX dramatically +// speeds up database reads by caching frequently-accessed data from DynamoDB, +// so applications can access that data with sub-millisecond latency. You can +// create a DAX cluster easily, using the AWS Management Console. With a few +// simple modifications to your code, your application can begin taking advantage +// of the DAX cluster and realize significant improvements in read performance. +// +// See https://docs.aws.amazon.com/goto/WebAPI/dax-2017-04-19 for more information on this service. +// +// See dax package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/dax/ +// +// Using the Client +// +// To contact Amazon DynamoDB Accelerator (DAX) 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 DynamoDB Accelerator (DAX) client DAX for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/dax/#New +package dax diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go b/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go new file mode 100644 index 00000000000..24aaf1a2327 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/errors.go @@ -0,0 +1,160 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package dax + +const ( + + // ErrCodeClusterAlreadyExistsFault for service response error code + // "ClusterAlreadyExistsFault". + // + // You already have a DAX cluster with the given identifier. + ErrCodeClusterAlreadyExistsFault = "ClusterAlreadyExistsFault" + + // ErrCodeClusterNotFoundFault for service response error code + // "ClusterNotFoundFault". + // + // The requested cluster ID does not refer to an existing DAX cluster. + ErrCodeClusterNotFoundFault = "ClusterNotFoundFault" + + // ErrCodeClusterQuotaForCustomerExceededFault for service response error code + // "ClusterQuotaForCustomerExceededFault". + // + // You have attempted to exceed the maximum number of DAX clusters for your + // AWS account. + ErrCodeClusterQuotaForCustomerExceededFault = "ClusterQuotaForCustomerExceededFault" + + // ErrCodeInsufficientClusterCapacityFault for service response error code + // "InsufficientClusterCapacityFault". + // + // There are not enough system resources to create the cluster you requested + // (or to resize an already-existing cluster). + ErrCodeInsufficientClusterCapacityFault = "InsufficientClusterCapacityFault" + + // ErrCodeInvalidARNFault for service response error code + // "InvalidARNFault". + // + // The Amazon Resource Name (ARN) supplied in the request is not valid. + ErrCodeInvalidARNFault = "InvalidARNFault" + + // ErrCodeInvalidClusterStateFault for service response error code + // "InvalidClusterStateFault". + // + // The requested DAX cluster is not in the available state. + ErrCodeInvalidClusterStateFault = "InvalidClusterStateFault" + + // ErrCodeInvalidParameterCombinationException for service response error code + // "InvalidParameterCombinationException". + // + // Two or more incompatible parameters were specified. + ErrCodeInvalidParameterCombinationException = "InvalidParameterCombinationException" + + // ErrCodeInvalidParameterGroupStateFault for service response error code + // "InvalidParameterGroupStateFault". + // + // One or more parameters in a parameter group are in an invalid state. + ErrCodeInvalidParameterGroupStateFault = "InvalidParameterGroupStateFault" + + // ErrCodeInvalidParameterValueException for service response error code + // "InvalidParameterValueException". + // + // The value for a parameter is invalid. + ErrCodeInvalidParameterValueException = "InvalidParameterValueException" + + // ErrCodeInvalidSubnet for service response error code + // "InvalidSubnet". + // + // An invalid subnet identifier was specified. + ErrCodeInvalidSubnet = "InvalidSubnet" + + // ErrCodeInvalidVPCNetworkStateFault for service response error code + // "InvalidVPCNetworkStateFault". + // + // The VPC network is in an invalid state. + ErrCodeInvalidVPCNetworkStateFault = "InvalidVPCNetworkStateFault" + + // ErrCodeNodeNotFoundFault for service response error code + // "NodeNotFoundFault". + // + // None of the nodes in the cluster have the given node ID. + ErrCodeNodeNotFoundFault = "NodeNotFoundFault" + + // ErrCodeNodeQuotaForClusterExceededFault for service response error code + // "NodeQuotaForClusterExceededFault". + // + // You have attempted to exceed the maximum number of nodes for a DAX cluster. + ErrCodeNodeQuotaForClusterExceededFault = "NodeQuotaForClusterExceededFault" + + // ErrCodeNodeQuotaForCustomerExceededFault for service response error code + // "NodeQuotaForCustomerExceededFault". + // + // You have attempted to exceed the maximum number of nodes for your AWS account. + ErrCodeNodeQuotaForCustomerExceededFault = "NodeQuotaForCustomerExceededFault" + + // ErrCodeParameterGroupAlreadyExistsFault for service response error code + // "ParameterGroupAlreadyExistsFault". + // + // The specified parameter group already exists. + ErrCodeParameterGroupAlreadyExistsFault = "ParameterGroupAlreadyExistsFault" + + // ErrCodeParameterGroupNotFoundFault for service response error code + // "ParameterGroupNotFoundFault". + // + // The specified parameter group does not exist. + ErrCodeParameterGroupNotFoundFault = "ParameterGroupNotFoundFault" + + // ErrCodeParameterGroupQuotaExceededFault for service response error code + // "ParameterGroupQuotaExceededFault". + // + // You have attempted to exceed the maximum number of parameter groups. + ErrCodeParameterGroupQuotaExceededFault = "ParameterGroupQuotaExceededFault" + + // ErrCodeSubnetGroupAlreadyExistsFault for service response error code + // "SubnetGroupAlreadyExistsFault". + // + // The specified subnet group already exists. + ErrCodeSubnetGroupAlreadyExistsFault = "SubnetGroupAlreadyExistsFault" + + // ErrCodeSubnetGroupInUseFault for service response error code + // "SubnetGroupInUseFault". + // + // The specified subnet group is currently in use. + ErrCodeSubnetGroupInUseFault = "SubnetGroupInUseFault" + + // ErrCodeSubnetGroupNotFoundFault for service response error code + // "SubnetGroupNotFoundFault". + // + // The requested subnet group name does not refer to an existing subnet group. + ErrCodeSubnetGroupNotFoundFault = "SubnetGroupNotFoundFault" + + // ErrCodeSubnetGroupQuotaExceededFault for service response error code + // "SubnetGroupQuotaExceededFault". + // + // The request cannot be processed because it would exceed the allowed number + // of subnets in a subnet group. + ErrCodeSubnetGroupQuotaExceededFault = "SubnetGroupQuotaExceededFault" + + // ErrCodeSubnetInUse for service response error code + // "SubnetInUse". + // + // The requested subnet is being used by another subnet group. + ErrCodeSubnetInUse = "SubnetInUse" + + // ErrCodeSubnetQuotaExceededFault for service response error code + // "SubnetQuotaExceededFault". + // + // The request cannot be processed because it would exceed the allowed number + // of subnets in a subnet group. + ErrCodeSubnetQuotaExceededFault = "SubnetQuotaExceededFault" + + // ErrCodeTagNotFoundFault for service response error code + // "TagNotFoundFault". + // + // The tag does not exist. + ErrCodeTagNotFoundFault = "TagNotFoundFault" + + // ErrCodeTagQuotaPerResourceExceeded for service response error code + // "TagQuotaPerResourceExceeded". + // + // You have exceeded the maximum number of tags for this DAX cluster. + ErrCodeTagQuotaPerResourceExceeded = "TagQuotaPerResourceExceeded" +) diff --git a/vendor/github.com/aws/aws-sdk-go/service/dax/service.go b/vendor/github.com/aws/aws-sdk-go/service/dax/service.go new file mode 100644 index 00000000000..a80ed1441a0 --- /dev/null +++ b/vendor/github.com/aws/aws-sdk-go/service/dax/service.go @@ -0,0 +1,95 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package dax + +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/jsonrpc" +) + +// DAX provides the API operation methods for making requests to +// Amazon DynamoDB Accelerator (DAX). See this package's package overview docs +// for details on the service. +// +// DAX methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type DAX 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 = "dax" // Service endpoint prefix API calls made to. + EndpointsID = ServiceName // Service ID for Regions and Endpoints metadata. +) + +// New creates a new instance of the DAX 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: +// // Create a DAX client from just a session. +// svc := dax.New(mySession) +// +// // Create a DAX client with additional configuration +// svc := dax.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *DAX { + c := p.ClientConfig(EndpointsID, cfgs...) + return newClient(*c.Config, c.Handlers, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, endpoint, signingRegion, signingName string) *DAX { + svc := &DAX{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + SigningName: signingName, + SigningRegion: signingRegion, + Endpoint: endpoint, + APIVersion: "2017-04-19", + JSONVersion: "1.1", + TargetPrefix: "AmazonDAXV3", + }, + 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(jsonrpc.UnmarshalErrorHandler) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a DAX operation and runs any +// custom request initialization. +func (c *DAX) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/vendor/vendor.json b/vendor/vendor.json index bdb77abd1bd..6b4f20f2ab2 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -548,6 +548,14 @@ "version": "v1.12.55", "versionExact": "v1.12.55" }, + { + "checksumSHA1": "siWpqsOY3u69XkgPF8+F8V1K0Pc=", + "path": "github.com/aws/aws-sdk-go/service/dax", + "revision": "f62f7b7c5425f2b1a630932617477bdeac6dc371", + "revisionTime": "2018-01-02T21:46:00Z", + "version": "v1.12.55", + "versionExact": "v1.12.55" + }, { "checksumSHA1": "26CWoHQP/dyL2VzE5ZNd8zNzhko=", "path": "github.com/aws/aws-sdk-go/service/devicefarm",