github.com/aavshr/aws-sdk-go@v1.41.3/service/route53recoverycluster/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package route53recoverycluster
     4  
     5  import (
     6  	"fmt"
     7  
     8  	"github.com/aavshr/aws-sdk-go/aws"
     9  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    10  	"github.com/aavshr/aws-sdk-go/aws/request"
    11  	"github.com/aavshr/aws-sdk-go/private/protocol"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc"
    13  )
    14  
    15  const opGetRoutingControlState = "GetRoutingControlState"
    16  
    17  // GetRoutingControlStateRequest generates a "aws/request.Request" representing the
    18  // client's request for the GetRoutingControlState operation. The "output" return
    19  // value will be populated with the request's response once the request completes
    20  // successfully.
    21  //
    22  // Use "Send" method on the returned Request to send the API call to the service.
    23  // the "output" return value is not valid until after Send returns without error.
    24  //
    25  // See GetRoutingControlState for more information on using the GetRoutingControlState
    26  // API call, and error handling.
    27  //
    28  // This method is useful when you want to inject custom logic or configuration
    29  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
    30  //
    31  //
    32  //    // Example sending a request using the GetRoutingControlStateRequest method.
    33  //    req, resp := client.GetRoutingControlStateRequest(params)
    34  //
    35  //    err := req.Send()
    36  //    if err == nil { // resp is now filled
    37  //        fmt.Println(resp)
    38  //    }
    39  //
    40  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/GetRoutingControlState
    41  func (c *Route53RecoveryCluster) GetRoutingControlStateRequest(input *GetRoutingControlStateInput) (req *request.Request, output *GetRoutingControlStateOutput) {
    42  	op := &request.Operation{
    43  		Name:       opGetRoutingControlState,
    44  		HTTPMethod: "POST",
    45  		HTTPPath:   "/",
    46  	}
    47  
    48  	if input == nil {
    49  		input = &GetRoutingControlStateInput{}
    50  	}
    51  
    52  	output = &GetRoutingControlStateOutput{}
    53  	req = c.newRequest(op, input, output)
    54  	return
    55  }
    56  
    57  // GetRoutingControlState API operation for Route53 Recovery Cluster.
    58  //
    59  // Get the state for a routing control. A routing control is a simple on/off
    60  // switch that you can use to route traffic to cells. When the state is On,
    61  // traffic flows to a cell. When it's off, traffic does not flow.
    62  //
    63  // Before you can create a routing control, you first must create a cluster
    64  // to host the control. For more information, see CreateCluster (https://docs.aws.amazon.com/recovery-cluster/latest/api/cluster.html).
    65  // Access one of the endpoints for the cluster to get or update the routing
    66  // control state to redirect traffic.
    67  //
    68  // For more information about working with routing controls, see Routing control
    69  // (https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html)
    70  // in the Route 53 Application Recovery Controller Developer Guide.
    71  //
    72  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    73  // with awserr.Error's Code and Message methods to get detailed information about
    74  // the error.
    75  //
    76  // See the AWS API reference guide for Route53 Recovery Cluster's
    77  // API operation GetRoutingControlState for usage and error information.
    78  //
    79  // Returned Error Types:
    80  //   * AccessDeniedException
    81  //   You don't have sufficient permissions to query the routing control state.
    82  //
    83  //   * InternalServerException
    84  //   There was an unexpected error during processing of the request.
    85  //
    86  //   * ResourceNotFoundException
    87  //   The request references a routing control that was not found.
    88  //
    89  //   * ValidationException
    90  //   There was a validation error on the request.
    91  //
    92  //   * ThrottlingException
    93  //   The request was denied because of request throttling.
    94  //
    95  //   * EndpointTemporarilyUnavailableException
    96  //   The cluster endpoint isn't available. Try another cluster endpoint.
    97  //
    98  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/GetRoutingControlState
    99  func (c *Route53RecoveryCluster) GetRoutingControlState(input *GetRoutingControlStateInput) (*GetRoutingControlStateOutput, error) {
   100  	req, out := c.GetRoutingControlStateRequest(input)
   101  	return out, req.Send()
   102  }
   103  
   104  // GetRoutingControlStateWithContext is the same as GetRoutingControlState with the addition of
   105  // the ability to pass a context and additional request options.
   106  //
   107  // See GetRoutingControlState for details on how to use this API operation.
   108  //
   109  // The context must be non-nil and will be used for request cancellation. If
   110  // the context is nil a panic will occur. In the future the SDK may create
   111  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   112  // for more information on using Contexts.
   113  func (c *Route53RecoveryCluster) GetRoutingControlStateWithContext(ctx aws.Context, input *GetRoutingControlStateInput, opts ...request.Option) (*GetRoutingControlStateOutput, error) {
   114  	req, out := c.GetRoutingControlStateRequest(input)
   115  	req.SetContext(ctx)
   116  	req.ApplyOptions(opts...)
   117  	return out, req.Send()
   118  }
   119  
   120  const opUpdateRoutingControlState = "UpdateRoutingControlState"
   121  
   122  // UpdateRoutingControlStateRequest generates a "aws/request.Request" representing the
   123  // client's request for the UpdateRoutingControlState operation. The "output" return
   124  // value will be populated with the request's response once the request completes
   125  // successfully.
   126  //
   127  // Use "Send" method on the returned Request to send the API call to the service.
   128  // the "output" return value is not valid until after Send returns without error.
   129  //
   130  // See UpdateRoutingControlState for more information on using the UpdateRoutingControlState
   131  // API call, and error handling.
   132  //
   133  // This method is useful when you want to inject custom logic or configuration
   134  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   135  //
   136  //
   137  //    // Example sending a request using the UpdateRoutingControlStateRequest method.
   138  //    req, resp := client.UpdateRoutingControlStateRequest(params)
   139  //
   140  //    err := req.Send()
   141  //    if err == nil { // resp is now filled
   142  //        fmt.Println(resp)
   143  //    }
   144  //
   145  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlState
   146  func (c *Route53RecoveryCluster) UpdateRoutingControlStateRequest(input *UpdateRoutingControlStateInput) (req *request.Request, output *UpdateRoutingControlStateOutput) {
   147  	op := &request.Operation{
   148  		Name:       opUpdateRoutingControlState,
   149  		HTTPMethod: "POST",
   150  		HTTPPath:   "/",
   151  	}
   152  
   153  	if input == nil {
   154  		input = &UpdateRoutingControlStateInput{}
   155  	}
   156  
   157  	output = &UpdateRoutingControlStateOutput{}
   158  	req = c.newRequest(op, input, output)
   159  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   160  	return
   161  }
   162  
   163  // UpdateRoutingControlState API operation for Route53 Recovery Cluster.
   164  //
   165  // Set the state of the routing control to reroute traffic. You can set the
   166  // value to be On or Off. When the state is On, traffic flows to a cell. When
   167  // it's off, traffic does not flow.
   168  //
   169  // For more information about working with routing controls, see Routing control
   170  // (https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html)
   171  // in the Route 53 Application Recovery Controller Developer Guide.
   172  //
   173  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   174  // with awserr.Error's Code and Message methods to get detailed information about
   175  // the error.
   176  //
   177  // See the AWS API reference guide for Route53 Recovery Cluster's
   178  // API operation UpdateRoutingControlState for usage and error information.
   179  //
   180  // Returned Error Types:
   181  //   * AccessDeniedException
   182  //   You don't have sufficient permissions to query the routing control state.
   183  //
   184  //   * InternalServerException
   185  //   There was an unexpected error during processing of the request.
   186  //
   187  //   * ResourceNotFoundException
   188  //   The request references a routing control that was not found.
   189  //
   190  //   * ValidationException
   191  //   There was a validation error on the request.
   192  //
   193  //   * ThrottlingException
   194  //   The request was denied because of request throttling.
   195  //
   196  //   * EndpointTemporarilyUnavailableException
   197  //   The cluster endpoint isn't available. Try another cluster endpoint.
   198  //
   199  //   * ConflictException
   200  //   There was a conflict with this request. Try again.
   201  //
   202  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlState
   203  func (c *Route53RecoveryCluster) UpdateRoutingControlState(input *UpdateRoutingControlStateInput) (*UpdateRoutingControlStateOutput, error) {
   204  	req, out := c.UpdateRoutingControlStateRequest(input)
   205  	return out, req.Send()
   206  }
   207  
   208  // UpdateRoutingControlStateWithContext is the same as UpdateRoutingControlState with the addition of
   209  // the ability to pass a context and additional request options.
   210  //
   211  // See UpdateRoutingControlState for details on how to use this API operation.
   212  //
   213  // The context must be non-nil and will be used for request cancellation. If
   214  // the context is nil a panic will occur. In the future the SDK may create
   215  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   216  // for more information on using Contexts.
   217  func (c *Route53RecoveryCluster) UpdateRoutingControlStateWithContext(ctx aws.Context, input *UpdateRoutingControlStateInput, opts ...request.Option) (*UpdateRoutingControlStateOutput, error) {
   218  	req, out := c.UpdateRoutingControlStateRequest(input)
   219  	req.SetContext(ctx)
   220  	req.ApplyOptions(opts...)
   221  	return out, req.Send()
   222  }
   223  
   224  const opUpdateRoutingControlStates = "UpdateRoutingControlStates"
   225  
   226  // UpdateRoutingControlStatesRequest generates a "aws/request.Request" representing the
   227  // client's request for the UpdateRoutingControlStates operation. The "output" return
   228  // value will be populated with the request's response once the request completes
   229  // successfully.
   230  //
   231  // Use "Send" method on the returned Request to send the API call to the service.
   232  // the "output" return value is not valid until after Send returns without error.
   233  //
   234  // See UpdateRoutingControlStates for more information on using the UpdateRoutingControlStates
   235  // API call, and error handling.
   236  //
   237  // This method is useful when you want to inject custom logic or configuration
   238  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   239  //
   240  //
   241  //    // Example sending a request using the UpdateRoutingControlStatesRequest method.
   242  //    req, resp := client.UpdateRoutingControlStatesRequest(params)
   243  //
   244  //    err := req.Send()
   245  //    if err == nil { // resp is now filled
   246  //        fmt.Println(resp)
   247  //    }
   248  //
   249  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlStates
   250  func (c *Route53RecoveryCluster) UpdateRoutingControlStatesRequest(input *UpdateRoutingControlStatesInput) (req *request.Request, output *UpdateRoutingControlStatesOutput) {
   251  	op := &request.Operation{
   252  		Name:       opUpdateRoutingControlStates,
   253  		HTTPMethod: "POST",
   254  		HTTPPath:   "/",
   255  	}
   256  
   257  	if input == nil {
   258  		input = &UpdateRoutingControlStatesInput{}
   259  	}
   260  
   261  	output = &UpdateRoutingControlStatesOutput{}
   262  	req = c.newRequest(op, input, output)
   263  	req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   264  	return
   265  }
   266  
   267  // UpdateRoutingControlStates API operation for Route53 Recovery Cluster.
   268  //
   269  // Set multiple routing control states. You can set the value for each state
   270  // to be On or Off. When the state is On, traffic flows to a cell. When it's
   271  // off, traffic does not flow.
   272  //
   273  // For more information about working with routing controls, see Routing control
   274  // (https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.html)
   275  // in the Route 53 Application Recovery Controller Developer Guide.
   276  //
   277  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   278  // with awserr.Error's Code and Message methods to get detailed information about
   279  // the error.
   280  //
   281  // See the AWS API reference guide for Route53 Recovery Cluster's
   282  // API operation UpdateRoutingControlStates for usage and error information.
   283  //
   284  // Returned Error Types:
   285  //   * AccessDeniedException
   286  //   You don't have sufficient permissions to query the routing control state.
   287  //
   288  //   * InternalServerException
   289  //   There was an unexpected error during processing of the request.
   290  //
   291  //   * ResourceNotFoundException
   292  //   The request references a routing control that was not found.
   293  //
   294  //   * ValidationException
   295  //   There was a validation error on the request.
   296  //
   297  //   * ThrottlingException
   298  //   The request was denied because of request throttling.
   299  //
   300  //   * EndpointTemporarilyUnavailableException
   301  //   The cluster endpoint isn't available. Try another cluster endpoint.
   302  //
   303  //   * ConflictException
   304  //   There was a conflict with this request. Try again.
   305  //
   306  // See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-cluster-2019-12-02/UpdateRoutingControlStates
   307  func (c *Route53RecoveryCluster) UpdateRoutingControlStates(input *UpdateRoutingControlStatesInput) (*UpdateRoutingControlStatesOutput, error) {
   308  	req, out := c.UpdateRoutingControlStatesRequest(input)
   309  	return out, req.Send()
   310  }
   311  
   312  // UpdateRoutingControlStatesWithContext is the same as UpdateRoutingControlStates with the addition of
   313  // the ability to pass a context and additional request options.
   314  //
   315  // See UpdateRoutingControlStates for details on how to use this API operation.
   316  //
   317  // The context must be non-nil and will be used for request cancellation. If
   318  // the context is nil a panic will occur. In the future the SDK may create
   319  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   320  // for more information on using Contexts.
   321  func (c *Route53RecoveryCluster) UpdateRoutingControlStatesWithContext(ctx aws.Context, input *UpdateRoutingControlStatesInput, opts ...request.Option) (*UpdateRoutingControlStatesOutput, error) {
   322  	req, out := c.UpdateRoutingControlStatesRequest(input)
   323  	req.SetContext(ctx)
   324  	req.ApplyOptions(opts...)
   325  	return out, req.Send()
   326  }
   327  
   328  // You don't have sufficient permissions to query the routing control state.
   329  type AccessDeniedException struct {
   330  	_            struct{}                  `type:"structure"`
   331  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   332  
   333  	Message_ *string `locationName:"message" type:"string"`
   334  }
   335  
   336  // String returns the string representation.
   337  //
   338  // API parameter values that are decorated as "sensitive" in the API will not
   339  // be included in the string output. The member name will be present, but the
   340  // value will be replaced with "sensitive".
   341  func (s AccessDeniedException) String() string {
   342  	return awsutil.Prettify(s)
   343  }
   344  
   345  // GoString returns the string representation.
   346  //
   347  // API parameter values that are decorated as "sensitive" in the API will not
   348  // be included in the string output. The member name will be present, but the
   349  // value will be replaced with "sensitive".
   350  func (s AccessDeniedException) GoString() string {
   351  	return s.String()
   352  }
   353  
   354  func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
   355  	return &AccessDeniedException{
   356  		RespMetadata: v,
   357  	}
   358  }
   359  
   360  // Code returns the exception type name.
   361  func (s *AccessDeniedException) Code() string {
   362  	return "AccessDeniedException"
   363  }
   364  
   365  // Message returns the exception's message.
   366  func (s *AccessDeniedException) Message() string {
   367  	if s.Message_ != nil {
   368  		return *s.Message_
   369  	}
   370  	return ""
   371  }
   372  
   373  // OrigErr always returns nil, satisfies awserr.Error interface.
   374  func (s *AccessDeniedException) OrigErr() error {
   375  	return nil
   376  }
   377  
   378  func (s *AccessDeniedException) Error() string {
   379  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   380  }
   381  
   382  // Status code returns the HTTP status code for the request's response error.
   383  func (s *AccessDeniedException) StatusCode() int {
   384  	return s.RespMetadata.StatusCode
   385  }
   386  
   387  // RequestID returns the service's response RequestID for request.
   388  func (s *AccessDeniedException) RequestID() string {
   389  	return s.RespMetadata.RequestID
   390  }
   391  
   392  // There was a conflict with this request. Try again.
   393  type ConflictException struct {
   394  	_            struct{}                  `type:"structure"`
   395  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   396  
   397  	// Description of the ConflictException error
   398  	Message_ *string `locationName:"message" type:"string"`
   399  
   400  	// Identifier of the resource in use
   401  	//
   402  	// ResourceId is a required field
   403  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
   404  
   405  	// Type of the resource in use
   406  	//
   407  	// ResourceType is a required field
   408  	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
   409  }
   410  
   411  // String returns the string representation.
   412  //
   413  // API parameter values that are decorated as "sensitive" in the API will not
   414  // be included in the string output. The member name will be present, but the
   415  // value will be replaced with "sensitive".
   416  func (s ConflictException) String() string {
   417  	return awsutil.Prettify(s)
   418  }
   419  
   420  // GoString returns the string representation.
   421  //
   422  // API parameter values that are decorated as "sensitive" in the API will not
   423  // be included in the string output. The member name will be present, but the
   424  // value will be replaced with "sensitive".
   425  func (s ConflictException) GoString() string {
   426  	return s.String()
   427  }
   428  
   429  func newErrorConflictException(v protocol.ResponseMetadata) error {
   430  	return &ConflictException{
   431  		RespMetadata: v,
   432  	}
   433  }
   434  
   435  // Code returns the exception type name.
   436  func (s *ConflictException) Code() string {
   437  	return "ConflictException"
   438  }
   439  
   440  // Message returns the exception's message.
   441  func (s *ConflictException) Message() string {
   442  	if s.Message_ != nil {
   443  		return *s.Message_
   444  	}
   445  	return ""
   446  }
   447  
   448  // OrigErr always returns nil, satisfies awserr.Error interface.
   449  func (s *ConflictException) OrigErr() error {
   450  	return nil
   451  }
   452  
   453  func (s *ConflictException) Error() string {
   454  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
   455  }
   456  
   457  // Status code returns the HTTP status code for the request's response error.
   458  func (s *ConflictException) StatusCode() int {
   459  	return s.RespMetadata.StatusCode
   460  }
   461  
   462  // RequestID returns the service's response RequestID for request.
   463  func (s *ConflictException) RequestID() string {
   464  	return s.RespMetadata.RequestID
   465  }
   466  
   467  // The cluster endpoint isn't available. Try another cluster endpoint.
   468  type EndpointTemporarilyUnavailableException struct {
   469  	_            struct{}                  `type:"structure"`
   470  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   471  
   472  	Message_ *string `locationName:"message" type:"string"`
   473  }
   474  
   475  // String returns the string representation.
   476  //
   477  // API parameter values that are decorated as "sensitive" in the API will not
   478  // be included in the string output. The member name will be present, but the
   479  // value will be replaced with "sensitive".
   480  func (s EndpointTemporarilyUnavailableException) String() string {
   481  	return awsutil.Prettify(s)
   482  }
   483  
   484  // GoString returns the string representation.
   485  //
   486  // API parameter values that are decorated as "sensitive" in the API will not
   487  // be included in the string output. The member name will be present, but the
   488  // value will be replaced with "sensitive".
   489  func (s EndpointTemporarilyUnavailableException) GoString() string {
   490  	return s.String()
   491  }
   492  
   493  func newErrorEndpointTemporarilyUnavailableException(v protocol.ResponseMetadata) error {
   494  	return &EndpointTemporarilyUnavailableException{
   495  		RespMetadata: v,
   496  	}
   497  }
   498  
   499  // Code returns the exception type name.
   500  func (s *EndpointTemporarilyUnavailableException) Code() string {
   501  	return "EndpointTemporarilyUnavailableException"
   502  }
   503  
   504  // Message returns the exception's message.
   505  func (s *EndpointTemporarilyUnavailableException) Message() string {
   506  	if s.Message_ != nil {
   507  		return *s.Message_
   508  	}
   509  	return ""
   510  }
   511  
   512  // OrigErr always returns nil, satisfies awserr.Error interface.
   513  func (s *EndpointTemporarilyUnavailableException) OrigErr() error {
   514  	return nil
   515  }
   516  
   517  func (s *EndpointTemporarilyUnavailableException) Error() string {
   518  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
   519  }
   520  
   521  // Status code returns the HTTP status code for the request's response error.
   522  func (s *EndpointTemporarilyUnavailableException) StatusCode() int {
   523  	return s.RespMetadata.StatusCode
   524  }
   525  
   526  // RequestID returns the service's response RequestID for request.
   527  func (s *EndpointTemporarilyUnavailableException) RequestID() string {
   528  	return s.RespMetadata.RequestID
   529  }
   530  
   531  type GetRoutingControlStateInput struct {
   532  	_ struct{} `type:"structure"`
   533  
   534  	// The Amazon Resource Number (ARN) for the routing control that you want to
   535  	// get the state for.
   536  	//
   537  	// RoutingControlArn is a required field
   538  	RoutingControlArn *string `min:"1" type:"string" required:"true"`
   539  }
   540  
   541  // String returns the string representation.
   542  //
   543  // API parameter values that are decorated as "sensitive" in the API will not
   544  // be included in the string output. The member name will be present, but the
   545  // value will be replaced with "sensitive".
   546  func (s GetRoutingControlStateInput) String() string {
   547  	return awsutil.Prettify(s)
   548  }
   549  
   550  // GoString returns the string representation.
   551  //
   552  // API parameter values that are decorated as "sensitive" in the API will not
   553  // be included in the string output. The member name will be present, but the
   554  // value will be replaced with "sensitive".
   555  func (s GetRoutingControlStateInput) GoString() string {
   556  	return s.String()
   557  }
   558  
   559  // Validate inspects the fields of the type to determine if they are valid.
   560  func (s *GetRoutingControlStateInput) Validate() error {
   561  	invalidParams := request.ErrInvalidParams{Context: "GetRoutingControlStateInput"}
   562  	if s.RoutingControlArn == nil {
   563  		invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
   564  	}
   565  	if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
   566  		invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
   567  	}
   568  
   569  	if invalidParams.Len() > 0 {
   570  		return invalidParams
   571  	}
   572  	return nil
   573  }
   574  
   575  // SetRoutingControlArn sets the RoutingControlArn field's value.
   576  func (s *GetRoutingControlStateInput) SetRoutingControlArn(v string) *GetRoutingControlStateInput {
   577  	s.RoutingControlArn = &v
   578  	return s
   579  }
   580  
   581  type GetRoutingControlStateOutput struct {
   582  	_ struct{} `type:"structure"`
   583  
   584  	// The Amazon Resource Number (ARN) of the response.
   585  	//
   586  	// RoutingControlArn is a required field
   587  	RoutingControlArn *string `min:"1" type:"string" required:"true"`
   588  
   589  	// The state of the routing control.
   590  	//
   591  	// RoutingControlState is a required field
   592  	RoutingControlState *string `type:"string" required:"true" enum:"RoutingControlState"`
   593  }
   594  
   595  // String returns the string representation.
   596  //
   597  // API parameter values that are decorated as "sensitive" in the API will not
   598  // be included in the string output. The member name will be present, but the
   599  // value will be replaced with "sensitive".
   600  func (s GetRoutingControlStateOutput) String() string {
   601  	return awsutil.Prettify(s)
   602  }
   603  
   604  // GoString returns the string representation.
   605  //
   606  // API parameter values that are decorated as "sensitive" in the API will not
   607  // be included in the string output. The member name will be present, but the
   608  // value will be replaced with "sensitive".
   609  func (s GetRoutingControlStateOutput) GoString() string {
   610  	return s.String()
   611  }
   612  
   613  // SetRoutingControlArn sets the RoutingControlArn field's value.
   614  func (s *GetRoutingControlStateOutput) SetRoutingControlArn(v string) *GetRoutingControlStateOutput {
   615  	s.RoutingControlArn = &v
   616  	return s
   617  }
   618  
   619  // SetRoutingControlState sets the RoutingControlState field's value.
   620  func (s *GetRoutingControlStateOutput) SetRoutingControlState(v string) *GetRoutingControlStateOutput {
   621  	s.RoutingControlState = &v
   622  	return s
   623  }
   624  
   625  // There was an unexpected error during processing of the request.
   626  type InternalServerException struct {
   627  	_            struct{}                  `type:"structure"`
   628  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   629  
   630  	Message_ *string `locationName:"message" type:"string"`
   631  
   632  	// Advice to clients on when the call can be safely retried
   633  	RetryAfterSeconds *int64 `locationName:"retryAfterSeconds" type:"integer"`
   634  }
   635  
   636  // String returns the string representation.
   637  //
   638  // API parameter values that are decorated as "sensitive" in the API will not
   639  // be included in the string output. The member name will be present, but the
   640  // value will be replaced with "sensitive".
   641  func (s InternalServerException) String() string {
   642  	return awsutil.Prettify(s)
   643  }
   644  
   645  // GoString returns the string representation.
   646  //
   647  // API parameter values that are decorated as "sensitive" in the API will not
   648  // be included in the string output. The member name will be present, but the
   649  // value will be replaced with "sensitive".
   650  func (s InternalServerException) GoString() string {
   651  	return s.String()
   652  }
   653  
   654  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
   655  	return &InternalServerException{
   656  		RespMetadata: v,
   657  	}
   658  }
   659  
   660  // Code returns the exception type name.
   661  func (s *InternalServerException) Code() string {
   662  	return "InternalServerException"
   663  }
   664  
   665  // Message returns the exception's message.
   666  func (s *InternalServerException) Message() string {
   667  	if s.Message_ != nil {
   668  		return *s.Message_
   669  	}
   670  	return ""
   671  }
   672  
   673  // OrigErr always returns nil, satisfies awserr.Error interface.
   674  func (s *InternalServerException) OrigErr() error {
   675  	return nil
   676  }
   677  
   678  func (s *InternalServerException) Error() string {
   679  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
   680  }
   681  
   682  // Status code returns the HTTP status code for the request's response error.
   683  func (s *InternalServerException) StatusCode() int {
   684  	return s.RespMetadata.StatusCode
   685  }
   686  
   687  // RequestID returns the service's response RequestID for request.
   688  func (s *InternalServerException) RequestID() string {
   689  	return s.RespMetadata.RequestID
   690  }
   691  
   692  // The request references a routing control that was not found.
   693  type ResourceNotFoundException struct {
   694  	_            struct{}                  `type:"structure"`
   695  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   696  
   697  	Message_ *string `locationName:"message" type:"string"`
   698  
   699  	// Hypothetical resource identifier that was not found
   700  	//
   701  	// ResourceId is a required field
   702  	ResourceId *string `locationName:"resourceId" type:"string" required:"true"`
   703  
   704  	// Hypothetical resource type that was not found
   705  	//
   706  	// ResourceType is a required field
   707  	ResourceType *string `locationName:"resourceType" type:"string" required:"true"`
   708  }
   709  
   710  // String returns the string representation.
   711  //
   712  // API parameter values that are decorated as "sensitive" in the API will not
   713  // be included in the string output. The member name will be present, but the
   714  // value will be replaced with "sensitive".
   715  func (s ResourceNotFoundException) String() string {
   716  	return awsutil.Prettify(s)
   717  }
   718  
   719  // GoString returns the string representation.
   720  //
   721  // API parameter values that are decorated as "sensitive" in the API will not
   722  // be included in the string output. The member name will be present, but the
   723  // value will be replaced with "sensitive".
   724  func (s ResourceNotFoundException) GoString() string {
   725  	return s.String()
   726  }
   727  
   728  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
   729  	return &ResourceNotFoundException{
   730  		RespMetadata: v,
   731  	}
   732  }
   733  
   734  // Code returns the exception type name.
   735  func (s *ResourceNotFoundException) Code() string {
   736  	return "ResourceNotFoundException"
   737  }
   738  
   739  // Message returns the exception's message.
   740  func (s *ResourceNotFoundException) Message() string {
   741  	if s.Message_ != nil {
   742  		return *s.Message_
   743  	}
   744  	return ""
   745  }
   746  
   747  // OrigErr always returns nil, satisfies awserr.Error interface.
   748  func (s *ResourceNotFoundException) OrigErr() error {
   749  	return nil
   750  }
   751  
   752  func (s *ResourceNotFoundException) Error() string {
   753  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
   754  }
   755  
   756  // Status code returns the HTTP status code for the request's response error.
   757  func (s *ResourceNotFoundException) StatusCode() int {
   758  	return s.RespMetadata.StatusCode
   759  }
   760  
   761  // RequestID returns the service's response RequestID for request.
   762  func (s *ResourceNotFoundException) RequestID() string {
   763  	return s.RespMetadata.RequestID
   764  }
   765  
   766  // The request was denied because of request throttling.
   767  type ThrottlingException struct {
   768  	_            struct{}                  `type:"structure"`
   769  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
   770  
   771  	Message_ *string `locationName:"message" type:"string"`
   772  
   773  	// Advice to clients on when the call can be safely retried
   774  	RetryAfterSeconds *int64 `locationName:"retryAfterSeconds" type:"integer"`
   775  }
   776  
   777  // String returns the string representation.
   778  //
   779  // API parameter values that are decorated as "sensitive" in the API will not
   780  // be included in the string output. The member name will be present, but the
   781  // value will be replaced with "sensitive".
   782  func (s ThrottlingException) String() string {
   783  	return awsutil.Prettify(s)
   784  }
   785  
   786  // GoString returns the string representation.
   787  //
   788  // API parameter values that are decorated as "sensitive" in the API will not
   789  // be included in the string output. The member name will be present, but the
   790  // value will be replaced with "sensitive".
   791  func (s ThrottlingException) GoString() string {
   792  	return s.String()
   793  }
   794  
   795  func newErrorThrottlingException(v protocol.ResponseMetadata) error {
   796  	return &ThrottlingException{
   797  		RespMetadata: v,
   798  	}
   799  }
   800  
   801  // Code returns the exception type name.
   802  func (s *ThrottlingException) Code() string {
   803  	return "ThrottlingException"
   804  }
   805  
   806  // Message returns the exception's message.
   807  func (s *ThrottlingException) Message() string {
   808  	if s.Message_ != nil {
   809  		return *s.Message_
   810  	}
   811  	return ""
   812  }
   813  
   814  // OrigErr always returns nil, satisfies awserr.Error interface.
   815  func (s *ThrottlingException) OrigErr() error {
   816  	return nil
   817  }
   818  
   819  func (s *ThrottlingException) Error() string {
   820  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
   821  }
   822  
   823  // Status code returns the HTTP status code for the request's response error.
   824  func (s *ThrottlingException) StatusCode() int {
   825  	return s.RespMetadata.StatusCode
   826  }
   827  
   828  // RequestID returns the service's response RequestID for request.
   829  func (s *ThrottlingException) RequestID() string {
   830  	return s.RespMetadata.RequestID
   831  }
   832  
   833  // A routing control state.
   834  type UpdateRoutingControlStateEntry struct {
   835  	_ struct{} `type:"structure"`
   836  
   837  	// The Amazon Resource Number (ARN) for the routing control state entry.
   838  	//
   839  	// RoutingControlArn is a required field
   840  	RoutingControlArn *string `min:"1" type:"string" required:"true"`
   841  
   842  	// The routing control state in a set of routing control state entries.
   843  	//
   844  	// RoutingControlState is a required field
   845  	RoutingControlState *string `type:"string" required:"true" enum:"RoutingControlState"`
   846  }
   847  
   848  // String returns the string representation.
   849  //
   850  // API parameter values that are decorated as "sensitive" in the API will not
   851  // be included in the string output. The member name will be present, but the
   852  // value will be replaced with "sensitive".
   853  func (s UpdateRoutingControlStateEntry) String() string {
   854  	return awsutil.Prettify(s)
   855  }
   856  
   857  // GoString returns the string representation.
   858  //
   859  // API parameter values that are decorated as "sensitive" in the API will not
   860  // be included in the string output. The member name will be present, but the
   861  // value will be replaced with "sensitive".
   862  func (s UpdateRoutingControlStateEntry) GoString() string {
   863  	return s.String()
   864  }
   865  
   866  // Validate inspects the fields of the type to determine if they are valid.
   867  func (s *UpdateRoutingControlStateEntry) Validate() error {
   868  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingControlStateEntry"}
   869  	if s.RoutingControlArn == nil {
   870  		invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
   871  	}
   872  	if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
   873  		invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
   874  	}
   875  	if s.RoutingControlState == nil {
   876  		invalidParams.Add(request.NewErrParamRequired("RoutingControlState"))
   877  	}
   878  
   879  	if invalidParams.Len() > 0 {
   880  		return invalidParams
   881  	}
   882  	return nil
   883  }
   884  
   885  // SetRoutingControlArn sets the RoutingControlArn field's value.
   886  func (s *UpdateRoutingControlStateEntry) SetRoutingControlArn(v string) *UpdateRoutingControlStateEntry {
   887  	s.RoutingControlArn = &v
   888  	return s
   889  }
   890  
   891  // SetRoutingControlState sets the RoutingControlState field's value.
   892  func (s *UpdateRoutingControlStateEntry) SetRoutingControlState(v string) *UpdateRoutingControlStateEntry {
   893  	s.RoutingControlState = &v
   894  	return s
   895  }
   896  
   897  type UpdateRoutingControlStateInput struct {
   898  	_ struct{} `type:"structure"`
   899  
   900  	// The Amazon Resource Number (ARN) for the routing control that you want to
   901  	// update the state for.
   902  	//
   903  	// RoutingControlArn is a required field
   904  	RoutingControlArn *string `min:"1" type:"string" required:"true"`
   905  
   906  	// The state of the routing control. You can set the value to be On or Off.
   907  	//
   908  	// RoutingControlState is a required field
   909  	RoutingControlState *string `type:"string" required:"true" enum:"RoutingControlState"`
   910  }
   911  
   912  // String returns the string representation.
   913  //
   914  // API parameter values that are decorated as "sensitive" in the API will not
   915  // be included in the string output. The member name will be present, but the
   916  // value will be replaced with "sensitive".
   917  func (s UpdateRoutingControlStateInput) String() string {
   918  	return awsutil.Prettify(s)
   919  }
   920  
   921  // GoString returns the string representation.
   922  //
   923  // API parameter values that are decorated as "sensitive" in the API will not
   924  // be included in the string output. The member name will be present, but the
   925  // value will be replaced with "sensitive".
   926  func (s UpdateRoutingControlStateInput) GoString() string {
   927  	return s.String()
   928  }
   929  
   930  // Validate inspects the fields of the type to determine if they are valid.
   931  func (s *UpdateRoutingControlStateInput) Validate() error {
   932  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingControlStateInput"}
   933  	if s.RoutingControlArn == nil {
   934  		invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
   935  	}
   936  	if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
   937  		invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
   938  	}
   939  	if s.RoutingControlState == nil {
   940  		invalidParams.Add(request.NewErrParamRequired("RoutingControlState"))
   941  	}
   942  
   943  	if invalidParams.Len() > 0 {
   944  		return invalidParams
   945  	}
   946  	return nil
   947  }
   948  
   949  // SetRoutingControlArn sets the RoutingControlArn field's value.
   950  func (s *UpdateRoutingControlStateInput) SetRoutingControlArn(v string) *UpdateRoutingControlStateInput {
   951  	s.RoutingControlArn = &v
   952  	return s
   953  }
   954  
   955  // SetRoutingControlState sets the RoutingControlState field's value.
   956  func (s *UpdateRoutingControlStateInput) SetRoutingControlState(v string) *UpdateRoutingControlStateInput {
   957  	s.RoutingControlState = &v
   958  	return s
   959  }
   960  
   961  type UpdateRoutingControlStateOutput struct {
   962  	_ struct{} `type:"structure"`
   963  }
   964  
   965  // String returns the string representation.
   966  //
   967  // API parameter values that are decorated as "sensitive" in the API will not
   968  // be included in the string output. The member name will be present, but the
   969  // value will be replaced with "sensitive".
   970  func (s UpdateRoutingControlStateOutput) String() string {
   971  	return awsutil.Prettify(s)
   972  }
   973  
   974  // GoString returns the string representation.
   975  //
   976  // API parameter values that are decorated as "sensitive" in the API will not
   977  // be included in the string output. The member name will be present, but the
   978  // value will be replaced with "sensitive".
   979  func (s UpdateRoutingControlStateOutput) GoString() string {
   980  	return s.String()
   981  }
   982  
   983  type UpdateRoutingControlStatesInput struct {
   984  	_ struct{} `type:"structure"`
   985  
   986  	// A set of routing control entries that you want to update.
   987  	//
   988  	// UpdateRoutingControlStateEntries is a required field
   989  	UpdateRoutingControlStateEntries []*UpdateRoutingControlStateEntry `type:"list" required:"true"`
   990  }
   991  
   992  // String returns the string representation.
   993  //
   994  // API parameter values that are decorated as "sensitive" in the API will not
   995  // be included in the string output. The member name will be present, but the
   996  // value will be replaced with "sensitive".
   997  func (s UpdateRoutingControlStatesInput) String() string {
   998  	return awsutil.Prettify(s)
   999  }
  1000  
  1001  // GoString returns the string representation.
  1002  //
  1003  // API parameter values that are decorated as "sensitive" in the API will not
  1004  // be included in the string output. The member name will be present, but the
  1005  // value will be replaced with "sensitive".
  1006  func (s UpdateRoutingControlStatesInput) GoString() string {
  1007  	return s.String()
  1008  }
  1009  
  1010  // Validate inspects the fields of the type to determine if they are valid.
  1011  func (s *UpdateRoutingControlStatesInput) Validate() error {
  1012  	invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingControlStatesInput"}
  1013  	if s.UpdateRoutingControlStateEntries == nil {
  1014  		invalidParams.Add(request.NewErrParamRequired("UpdateRoutingControlStateEntries"))
  1015  	}
  1016  	if s.UpdateRoutingControlStateEntries != nil {
  1017  		for i, v := range s.UpdateRoutingControlStateEntries {
  1018  			if v == nil {
  1019  				continue
  1020  			}
  1021  			if err := v.Validate(); err != nil {
  1022  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UpdateRoutingControlStateEntries", i), err.(request.ErrInvalidParams))
  1023  			}
  1024  		}
  1025  	}
  1026  
  1027  	if invalidParams.Len() > 0 {
  1028  		return invalidParams
  1029  	}
  1030  	return nil
  1031  }
  1032  
  1033  // SetUpdateRoutingControlStateEntries sets the UpdateRoutingControlStateEntries field's value.
  1034  func (s *UpdateRoutingControlStatesInput) SetUpdateRoutingControlStateEntries(v []*UpdateRoutingControlStateEntry) *UpdateRoutingControlStatesInput {
  1035  	s.UpdateRoutingControlStateEntries = v
  1036  	return s
  1037  }
  1038  
  1039  type UpdateRoutingControlStatesOutput struct {
  1040  	_ struct{} `type:"structure"`
  1041  }
  1042  
  1043  // String returns the string representation.
  1044  //
  1045  // API parameter values that are decorated as "sensitive" in the API will not
  1046  // be included in the string output. The member name will be present, but the
  1047  // value will be replaced with "sensitive".
  1048  func (s UpdateRoutingControlStatesOutput) String() string {
  1049  	return awsutil.Prettify(s)
  1050  }
  1051  
  1052  // GoString returns the string representation.
  1053  //
  1054  // API parameter values that are decorated as "sensitive" in the API will not
  1055  // be included in the string output. The member name will be present, but the
  1056  // value will be replaced with "sensitive".
  1057  func (s UpdateRoutingControlStatesOutput) GoString() string {
  1058  	return s.String()
  1059  }
  1060  
  1061  // There was a validation error on the request.
  1062  type ValidationException struct {
  1063  	_            struct{}                  `type:"structure"`
  1064  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1065  
  1066  	// The fields that caused the error, if applicable
  1067  	Fields []*ValidationExceptionField `locationName:"fields" type:"list"`
  1068  
  1069  	Message_ *string `locationName:"message" type:"string"`
  1070  
  1071  	// Reason the request failed validation
  1072  	Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"`
  1073  }
  1074  
  1075  // String returns the string representation.
  1076  //
  1077  // API parameter values that are decorated as "sensitive" in the API will not
  1078  // be included in the string output. The member name will be present, but the
  1079  // value will be replaced with "sensitive".
  1080  func (s ValidationException) String() string {
  1081  	return awsutil.Prettify(s)
  1082  }
  1083  
  1084  // GoString returns the string representation.
  1085  //
  1086  // API parameter values that are decorated as "sensitive" in the API will not
  1087  // be included in the string output. The member name will be present, but the
  1088  // value will be replaced with "sensitive".
  1089  func (s ValidationException) GoString() string {
  1090  	return s.String()
  1091  }
  1092  
  1093  func newErrorValidationException(v protocol.ResponseMetadata) error {
  1094  	return &ValidationException{
  1095  		RespMetadata: v,
  1096  	}
  1097  }
  1098  
  1099  // Code returns the exception type name.
  1100  func (s *ValidationException) Code() string {
  1101  	return "ValidationException"
  1102  }
  1103  
  1104  // Message returns the exception's message.
  1105  func (s *ValidationException) Message() string {
  1106  	if s.Message_ != nil {
  1107  		return *s.Message_
  1108  	}
  1109  	return ""
  1110  }
  1111  
  1112  // OrigErr always returns nil, satisfies awserr.Error interface.
  1113  func (s *ValidationException) OrigErr() error {
  1114  	return nil
  1115  }
  1116  
  1117  func (s *ValidationException) Error() string {
  1118  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  1119  }
  1120  
  1121  // Status code returns the HTTP status code for the request's response error.
  1122  func (s *ValidationException) StatusCode() int {
  1123  	return s.RespMetadata.StatusCode
  1124  }
  1125  
  1126  // RequestID returns the service's response RequestID for request.
  1127  func (s *ValidationException) RequestID() string {
  1128  	return s.RespMetadata.RequestID
  1129  }
  1130  
  1131  // There was a validation error on the request.
  1132  type ValidationExceptionField struct {
  1133  	_ struct{} `type:"structure"`
  1134  
  1135  	// Information about the validation exception.
  1136  	//
  1137  	// Message is a required field
  1138  	Message *string `locationName:"message" type:"string" required:"true"`
  1139  
  1140  	// The field that had the validation exception.
  1141  	//
  1142  	// Name is a required field
  1143  	Name *string `locationName:"name" type:"string" required:"true"`
  1144  }
  1145  
  1146  // String returns the string representation.
  1147  //
  1148  // API parameter values that are decorated as "sensitive" in the API will not
  1149  // be included in the string output. The member name will be present, but the
  1150  // value will be replaced with "sensitive".
  1151  func (s ValidationExceptionField) String() string {
  1152  	return awsutil.Prettify(s)
  1153  }
  1154  
  1155  // GoString returns the string representation.
  1156  //
  1157  // API parameter values that are decorated as "sensitive" in the API will not
  1158  // be included in the string output. The member name will be present, but the
  1159  // value will be replaced with "sensitive".
  1160  func (s ValidationExceptionField) GoString() string {
  1161  	return s.String()
  1162  }
  1163  
  1164  // SetMessage sets the Message field's value.
  1165  func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField {
  1166  	s.Message = &v
  1167  	return s
  1168  }
  1169  
  1170  // SetName sets the Name field's value.
  1171  func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField {
  1172  	s.Name = &v
  1173  	return s
  1174  }
  1175  
  1176  const (
  1177  	// RoutingControlStateOn is a RoutingControlState enum value
  1178  	RoutingControlStateOn = "On"
  1179  
  1180  	// RoutingControlStateOff is a RoutingControlState enum value
  1181  	RoutingControlStateOff = "Off"
  1182  )
  1183  
  1184  // RoutingControlState_Values returns all elements of the RoutingControlState enum
  1185  func RoutingControlState_Values() []string {
  1186  	return []string{
  1187  		RoutingControlStateOn,
  1188  		RoutingControlStateOff,
  1189  	}
  1190  }
  1191  
  1192  // Reason the request failed validation
  1193  const (
  1194  	// ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value
  1195  	ValidationExceptionReasonUnknownOperation = "unknownOperation"
  1196  
  1197  	// ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value
  1198  	ValidationExceptionReasonCannotParse = "cannotParse"
  1199  
  1200  	// ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value
  1201  	ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed"
  1202  
  1203  	// ValidationExceptionReasonOther is a ValidationExceptionReason enum value
  1204  	ValidationExceptionReasonOther = "other"
  1205  )
  1206  
  1207  // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum
  1208  func ValidationExceptionReason_Values() []string {
  1209  	return []string{
  1210  		ValidationExceptionReasonUnknownOperation,
  1211  		ValidationExceptionReasonCannotParse,
  1212  		ValidationExceptionReasonFieldValidationFailed,
  1213  		ValidationExceptionReasonOther,
  1214  	}
  1215  }