File: //opt/go/pkg/mod/github.com/aws/aws-sdk-go@v1.50.8/service/route53recoverycontrolconfig/api.go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package route53recoverycontrolconfig
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/restjson"
)
const opCreateCluster = "CreateCluster"
// CreateClusterRequest generates a "aws/request.Request" representing the
// client's request for the CreateCluster operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateCluster for more information on using the CreateCluster
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the CreateClusterRequest method.
// req, resp := client.CreateClusterRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateCluster
func (c *Route53RecoveryControlConfig) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) {
op := &request.Operation{
Name: opCreateCluster,
HTTPMethod: "POST",
HTTPPath: "/cluster",
}
if input == nil {
input = &CreateClusterInput{}
}
output = &CreateClusterOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateCluster API operation for AWS Route53 Recovery Control Config.
//
// Create a new cluster. A cluster is a set of redundant Regional endpoints
// against which you can run API calls to update or get the state of one or
// more routing controls. Each cluster has a name, status, Amazon Resource Name
// (ARN), and an array of the five cluster endpoints (one for each supported
// Amazon Web Services Region) that you can use with API calls to the cluster
// data plane.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation CreateCluster for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - ServiceQuotaExceededException
// 402 response - You attempted to create more resources than the service allows
// based on service quotas.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateCluster
func (c *Route53RecoveryControlConfig) 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 *Route53RecoveryControlConfig) 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 opCreateControlPanel = "CreateControlPanel"
// CreateControlPanelRequest generates a "aws/request.Request" representing the
// client's request for the CreateControlPanel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateControlPanel for more information on using the CreateControlPanel
// 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 CreateControlPanelRequest method.
// req, resp := client.CreateControlPanelRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateControlPanel
func (c *Route53RecoveryControlConfig) CreateControlPanelRequest(input *CreateControlPanelInput) (req *request.Request, output *CreateControlPanelOutput) {
op := &request.Operation{
Name: opCreateControlPanel,
HTTPMethod: "POST",
HTTPPath: "/controlpanel",
}
if input == nil {
input = &CreateControlPanelInput{}
}
output = &CreateControlPanelOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateControlPanel API operation for AWS Route53 Recovery Control Config.
//
// Creates a new control panel. A control panel represents a group of routing
// controls that can be changed together in a single transaction. You can use
// a control panel to centrally view the operational status of applications
// across your organization, and trigger multi-app failovers in a single transaction,
// for example, to fail over an Availability Zone or Amazon Web Services Region.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation CreateControlPanel for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - ServiceQuotaExceededException
// 402 response - You attempted to create more resources than the service allows
// based on service quotas.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateControlPanel
func (c *Route53RecoveryControlConfig) CreateControlPanel(input *CreateControlPanelInput) (*CreateControlPanelOutput, error) {
req, out := c.CreateControlPanelRequest(input)
return out, req.Send()
}
// CreateControlPanelWithContext is the same as CreateControlPanel with the addition of
// the ability to pass a context and additional request options.
//
// See CreateControlPanel 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 *Route53RecoveryControlConfig) CreateControlPanelWithContext(ctx aws.Context, input *CreateControlPanelInput, opts ...request.Option) (*CreateControlPanelOutput, error) {
req, out := c.CreateControlPanelRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateRoutingControl = "CreateRoutingControl"
// CreateRoutingControlRequest generates a "aws/request.Request" representing the
// client's request for the CreateRoutingControl operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateRoutingControl for more information on using the CreateRoutingControl
// 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 CreateRoutingControlRequest method.
// req, resp := client.CreateRoutingControlRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateRoutingControl
func (c *Route53RecoveryControlConfig) CreateRoutingControlRequest(input *CreateRoutingControlInput) (req *request.Request, output *CreateRoutingControlOutput) {
op := &request.Operation{
Name: opCreateRoutingControl,
HTTPMethod: "POST",
HTTPPath: "/routingcontrol",
}
if input == nil {
input = &CreateRoutingControlInput{}
}
output = &CreateRoutingControlOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateRoutingControl API operation for AWS Route53 Recovery Control Config.
//
// Creates a new routing control.
//
// A routing control has one of two states: ON and OFF. You can map the routing
// control state to the state of an Amazon Route 53 health check, which can
// be used to control traffic routing.
//
// To get or update the routing control state, see the Recovery Cluster (data
// plane) API actions for Amazon Route 53 Application Recovery Controller.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation CreateRoutingControl for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - ServiceQuotaExceededException
// 402 response - You attempted to create more resources than the service allows
// based on service quotas.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateRoutingControl
func (c *Route53RecoveryControlConfig) CreateRoutingControl(input *CreateRoutingControlInput) (*CreateRoutingControlOutput, error) {
req, out := c.CreateRoutingControlRequest(input)
return out, req.Send()
}
// CreateRoutingControlWithContext is the same as CreateRoutingControl with the addition of
// the ability to pass a context and additional request options.
//
// See CreateRoutingControl 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 *Route53RecoveryControlConfig) CreateRoutingControlWithContext(ctx aws.Context, input *CreateRoutingControlInput, opts ...request.Option) (*CreateRoutingControlOutput, error) {
req, out := c.CreateRoutingControlRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateSafetyRule = "CreateSafetyRule"
// CreateSafetyRuleRequest generates a "aws/request.Request" representing the
// client's request for the CreateSafetyRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateSafetyRule for more information on using the CreateSafetyRule
// 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 CreateSafetyRuleRequest method.
// req, resp := client.CreateSafetyRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateSafetyRule
func (c *Route53RecoveryControlConfig) CreateSafetyRuleRequest(input *CreateSafetyRuleInput) (req *request.Request, output *CreateSafetyRuleOutput) {
op := &request.Operation{
Name: opCreateSafetyRule,
HTTPMethod: "POST",
HTTPPath: "/safetyrule",
}
if input == nil {
input = &CreateSafetyRuleInput{}
}
output = &CreateSafetyRuleOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateSafetyRule API operation for AWS Route53 Recovery Control Config.
//
// Creates a safety rule in a control panel. Safety rules let you add safeguards
// around changing routing control states, and for enabling and disabling routing
// controls, to help prevent unexpected outcomes.
//
// There are two types of safety rules: assertion rules and gating rules.
//
// Assertion rule: An assertion rule enforces that, when you change a routing
// control state, that a certain criteria is met. For example, the criteria
// might be that at least one routing control state is On after the transaction
// so that traffic continues to flow to at least one cell for the application.
// This ensures that you avoid a fail-open scenario.
//
// Gating rule: A gating rule lets you configure a gating routing control as
// an overall "on/off" switch for a group of routing controls. Or, you can configure
// more complex gating scenarios, for example by configuring multiple gating
// routing controls.
//
// For more information, see Safety rules (https://docs.aws.amazon.com/r53recovery/latest/dg/routing-control.safety-rules.html)
// in the Amazon Route 53 Application Recovery Controller Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation CreateSafetyRule for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/CreateSafetyRule
func (c *Route53RecoveryControlConfig) CreateSafetyRule(input *CreateSafetyRuleInput) (*CreateSafetyRuleOutput, error) {
req, out := c.CreateSafetyRuleRequest(input)
return out, req.Send()
}
// CreateSafetyRuleWithContext is the same as CreateSafetyRule with the addition of
// the ability to pass a context and additional request options.
//
// See CreateSafetyRule 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 *Route53RecoveryControlConfig) CreateSafetyRuleWithContext(ctx aws.Context, input *CreateSafetyRuleInput, opts ...request.Option) (*CreateSafetyRuleOutput, error) {
req, out := c.CreateSafetyRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteCluster = "DeleteCluster"
// DeleteClusterRequest generates a "aws/request.Request" representing the
// client's request for the DeleteCluster operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteCluster for more information on using the DeleteCluster
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DeleteClusterRequest method.
// req, resp := client.DeleteClusterRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteCluster
func (c *Route53RecoveryControlConfig) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) {
op := &request.Operation{
Name: opDeleteCluster,
HTTPMethod: "DELETE",
HTTPPath: "/cluster/{ClusterArn}",
}
if input == nil {
input = &DeleteClusterInput{}
}
output = &DeleteClusterOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteCluster API operation for AWS Route53 Recovery Control Config.
//
// Delete a 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 AWS Route53 Recovery Control Config's
// API operation DeleteCluster for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteCluster
func (c *Route53RecoveryControlConfig) 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 *Route53RecoveryControlConfig) 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 opDeleteControlPanel = "DeleteControlPanel"
// DeleteControlPanelRequest generates a "aws/request.Request" representing the
// client's request for the DeleteControlPanel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteControlPanel for more information on using the DeleteControlPanel
// 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 DeleteControlPanelRequest method.
// req, resp := client.DeleteControlPanelRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteControlPanel
func (c *Route53RecoveryControlConfig) DeleteControlPanelRequest(input *DeleteControlPanelInput) (req *request.Request, output *DeleteControlPanelOutput) {
op := &request.Operation{
Name: opDeleteControlPanel,
HTTPMethod: "DELETE",
HTTPPath: "/controlpanel/{ControlPanelArn}",
}
if input == nil {
input = &DeleteControlPanelInput{}
}
output = &DeleteControlPanelOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteControlPanel API operation for AWS Route53 Recovery Control Config.
//
// Deletes a control panel.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DeleteControlPanel for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteControlPanel
func (c *Route53RecoveryControlConfig) DeleteControlPanel(input *DeleteControlPanelInput) (*DeleteControlPanelOutput, error) {
req, out := c.DeleteControlPanelRequest(input)
return out, req.Send()
}
// DeleteControlPanelWithContext is the same as DeleteControlPanel with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteControlPanel 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 *Route53RecoveryControlConfig) DeleteControlPanelWithContext(ctx aws.Context, input *DeleteControlPanelInput, opts ...request.Option) (*DeleteControlPanelOutput, error) {
req, out := c.DeleteControlPanelRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteRoutingControl = "DeleteRoutingControl"
// DeleteRoutingControlRequest generates a "aws/request.Request" representing the
// client's request for the DeleteRoutingControl operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteRoutingControl for more information on using the DeleteRoutingControl
// 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 DeleteRoutingControlRequest method.
// req, resp := client.DeleteRoutingControlRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteRoutingControl
func (c *Route53RecoveryControlConfig) DeleteRoutingControlRequest(input *DeleteRoutingControlInput) (req *request.Request, output *DeleteRoutingControlOutput) {
op := &request.Operation{
Name: opDeleteRoutingControl,
HTTPMethod: "DELETE",
HTTPPath: "/routingcontrol/{RoutingControlArn}",
}
if input == nil {
input = &DeleteRoutingControlInput{}
}
output = &DeleteRoutingControlOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteRoutingControl API operation for AWS Route53 Recovery Control Config.
//
// Deletes a routing control.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DeleteRoutingControl for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteRoutingControl
func (c *Route53RecoveryControlConfig) DeleteRoutingControl(input *DeleteRoutingControlInput) (*DeleteRoutingControlOutput, error) {
req, out := c.DeleteRoutingControlRequest(input)
return out, req.Send()
}
// DeleteRoutingControlWithContext is the same as DeleteRoutingControl with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteRoutingControl 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 *Route53RecoveryControlConfig) DeleteRoutingControlWithContext(ctx aws.Context, input *DeleteRoutingControlInput, opts ...request.Option) (*DeleteRoutingControlOutput, error) {
req, out := c.DeleteRoutingControlRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteSafetyRule = "DeleteSafetyRule"
// DeleteSafetyRuleRequest generates a "aws/request.Request" representing the
// client's request for the DeleteSafetyRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteSafetyRule for more information on using the DeleteSafetyRule
// 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 DeleteSafetyRuleRequest method.
// req, resp := client.DeleteSafetyRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteSafetyRule
func (c *Route53RecoveryControlConfig) DeleteSafetyRuleRequest(input *DeleteSafetyRuleInput) (req *request.Request, output *DeleteSafetyRuleOutput) {
op := &request.Operation{
Name: opDeleteSafetyRule,
HTTPMethod: "DELETE",
HTTPPath: "/safetyrule/{SafetyRuleArn}",
}
if input == nil {
input = &DeleteSafetyRuleInput{}
}
output = &DeleteSafetyRuleOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteSafetyRule API operation for AWS Route53 Recovery Control Config.
//
// Deletes a safety rule.
// />
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DeleteSafetyRule for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DeleteSafetyRule
func (c *Route53RecoveryControlConfig) DeleteSafetyRule(input *DeleteSafetyRuleInput) (*DeleteSafetyRuleOutput, error) {
req, out := c.DeleteSafetyRuleRequest(input)
return out, req.Send()
}
// DeleteSafetyRuleWithContext is the same as DeleteSafetyRule with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteSafetyRule 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 *Route53RecoveryControlConfig) DeleteSafetyRuleWithContext(ctx aws.Context, input *DeleteSafetyRuleInput, opts ...request.Option) (*DeleteSafetyRuleOutput, error) {
req, out := c.DeleteSafetyRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeCluster = "DescribeCluster"
// DescribeClusterRequest generates a "aws/request.Request" representing the
// client's request for the DescribeCluster operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeCluster for more information on using the DescribeCluster
// 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 DescribeClusterRequest method.
// req, resp := client.DescribeClusterRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeCluster
func (c *Route53RecoveryControlConfig) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) {
op := &request.Operation{
Name: opDescribeCluster,
HTTPMethod: "GET",
HTTPPath: "/cluster/{ClusterArn}",
}
if input == nil {
input = &DescribeClusterInput{}
}
output = &DescribeClusterOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeCluster API operation for AWS Route53 Recovery Control Config.
//
// Display the details about a cluster. The response includes the cluster name,
// endpoints, status, and Amazon Resource Name (ARN).
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DescribeCluster for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeCluster
func (c *Route53RecoveryControlConfig) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) {
req, out := c.DescribeClusterRequest(input)
return out, req.Send()
}
// DescribeClusterWithContext is the same as DescribeCluster with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeCluster 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 *Route53RecoveryControlConfig) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) {
req, out := c.DescribeClusterRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeControlPanel = "DescribeControlPanel"
// DescribeControlPanelRequest generates a "aws/request.Request" representing the
// client's request for the DescribeControlPanel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeControlPanel for more information on using the DescribeControlPanel
// 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 DescribeControlPanelRequest method.
// req, resp := client.DescribeControlPanelRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeControlPanel
func (c *Route53RecoveryControlConfig) DescribeControlPanelRequest(input *DescribeControlPanelInput) (req *request.Request, output *DescribeControlPanelOutput) {
op := &request.Operation{
Name: opDescribeControlPanel,
HTTPMethod: "GET",
HTTPPath: "/controlpanel/{ControlPanelArn}",
}
if input == nil {
input = &DescribeControlPanelInput{}
}
output = &DescribeControlPanelOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeControlPanel API operation for AWS Route53 Recovery Control Config.
//
// Displays details about a control panel.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DescribeControlPanel for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeControlPanel
func (c *Route53RecoveryControlConfig) DescribeControlPanel(input *DescribeControlPanelInput) (*DescribeControlPanelOutput, error) {
req, out := c.DescribeControlPanelRequest(input)
return out, req.Send()
}
// DescribeControlPanelWithContext is the same as DescribeControlPanel with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeControlPanel 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 *Route53RecoveryControlConfig) DescribeControlPanelWithContext(ctx aws.Context, input *DescribeControlPanelInput, opts ...request.Option) (*DescribeControlPanelOutput, error) {
req, out := c.DescribeControlPanelRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeRoutingControl = "DescribeRoutingControl"
// DescribeRoutingControlRequest generates a "aws/request.Request" representing the
// client's request for the DescribeRoutingControl operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeRoutingControl for more information on using the DescribeRoutingControl
// 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 DescribeRoutingControlRequest method.
// req, resp := client.DescribeRoutingControlRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeRoutingControl
func (c *Route53RecoveryControlConfig) DescribeRoutingControlRequest(input *DescribeRoutingControlInput) (req *request.Request, output *DescribeRoutingControlOutput) {
op := &request.Operation{
Name: opDescribeRoutingControl,
HTTPMethod: "GET",
HTTPPath: "/routingcontrol/{RoutingControlArn}",
}
if input == nil {
input = &DescribeRoutingControlInput{}
}
output = &DescribeRoutingControlOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeRoutingControl API operation for AWS Route53 Recovery Control Config.
//
// Displays details about a routing control. A routing control has one of two
// states: ON and OFF. You can map the routing control state to the state of
// an Amazon Route 53 health check, which can be used to control routing.
//
// To get or update the routing control state, see the Recovery Cluster (data
// plane) API actions for Amazon Route 53 Application Recovery Controller.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DescribeRoutingControl for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeRoutingControl
func (c *Route53RecoveryControlConfig) DescribeRoutingControl(input *DescribeRoutingControlInput) (*DescribeRoutingControlOutput, error) {
req, out := c.DescribeRoutingControlRequest(input)
return out, req.Send()
}
// DescribeRoutingControlWithContext is the same as DescribeRoutingControl with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeRoutingControl 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 *Route53RecoveryControlConfig) DescribeRoutingControlWithContext(ctx aws.Context, input *DescribeRoutingControlInput, opts ...request.Option) (*DescribeRoutingControlOutput, error) {
req, out := c.DescribeRoutingControlRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeSafetyRule = "DescribeSafetyRule"
// DescribeSafetyRuleRequest generates a "aws/request.Request" representing the
// client's request for the DescribeSafetyRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeSafetyRule for more information on using the DescribeSafetyRule
// 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 DescribeSafetyRuleRequest method.
// req, resp := client.DescribeSafetyRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeSafetyRule
func (c *Route53RecoveryControlConfig) DescribeSafetyRuleRequest(input *DescribeSafetyRuleInput) (req *request.Request, output *DescribeSafetyRuleOutput) {
op := &request.Operation{
Name: opDescribeSafetyRule,
HTTPMethod: "GET",
HTTPPath: "/safetyrule/{SafetyRuleArn}",
}
if input == nil {
input = &DescribeSafetyRuleInput{}
}
output = &DescribeSafetyRuleOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeSafetyRule API operation for AWS Route53 Recovery Control Config.
//
// Returns information about a safety rule.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation DescribeSafetyRule for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/DescribeSafetyRule
func (c *Route53RecoveryControlConfig) DescribeSafetyRule(input *DescribeSafetyRuleInput) (*DescribeSafetyRuleOutput, error) {
req, out := c.DescribeSafetyRuleRequest(input)
return out, req.Send()
}
// DescribeSafetyRuleWithContext is the same as DescribeSafetyRule with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeSafetyRule 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 *Route53RecoveryControlConfig) DescribeSafetyRuleWithContext(ctx aws.Context, input *DescribeSafetyRuleInput, opts ...request.Option) (*DescribeSafetyRuleOutput, error) {
req, out := c.DescribeSafetyRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetResourcePolicy = "GetResourcePolicy"
// GetResourcePolicyRequest generates a "aws/request.Request" representing the
// client's request for the GetResourcePolicy operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetResourcePolicy for more information on using the GetResourcePolicy
// 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 GetResourcePolicyRequest method.
// req, resp := client.GetResourcePolicyRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/GetResourcePolicy
func (c *Route53RecoveryControlConfig) GetResourcePolicyRequest(input *GetResourcePolicyInput) (req *request.Request, output *GetResourcePolicyOutput) {
op := &request.Operation{
Name: opGetResourcePolicy,
HTTPMethod: "GET",
HTTPPath: "/resourcePolicy/{ResourceArn}",
}
if input == nil {
input = &GetResourcePolicyInput{}
}
output = &GetResourcePolicyOutput{}
req = c.newRequest(op, input, output)
return
}
// GetResourcePolicy API operation for AWS Route53 Recovery Control Config.
//
// Get information about the resource policy for a 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 AWS Route53 Recovery Control Config's
// API operation GetResourcePolicy for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/GetResourcePolicy
func (c *Route53RecoveryControlConfig) GetResourcePolicy(input *GetResourcePolicyInput) (*GetResourcePolicyOutput, error) {
req, out := c.GetResourcePolicyRequest(input)
return out, req.Send()
}
// GetResourcePolicyWithContext is the same as GetResourcePolicy with the addition of
// the ability to pass a context and additional request options.
//
// See GetResourcePolicy 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 *Route53RecoveryControlConfig) GetResourcePolicyWithContext(ctx aws.Context, input *GetResourcePolicyInput, opts ...request.Option) (*GetResourcePolicyOutput, error) {
req, out := c.GetResourcePolicyRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListAssociatedRoute53HealthChecks = "ListAssociatedRoute53HealthChecks"
// ListAssociatedRoute53HealthChecksRequest generates a "aws/request.Request" representing the
// client's request for the ListAssociatedRoute53HealthChecks operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListAssociatedRoute53HealthChecks for more information on using the ListAssociatedRoute53HealthChecks
// 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 ListAssociatedRoute53HealthChecksRequest method.
// req, resp := client.ListAssociatedRoute53HealthChecksRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks
func (c *Route53RecoveryControlConfig) ListAssociatedRoute53HealthChecksRequest(input *ListAssociatedRoute53HealthChecksInput) (req *request.Request, output *ListAssociatedRoute53HealthChecksOutput) {
op := &request.Operation{
Name: opListAssociatedRoute53HealthChecks,
HTTPMethod: "GET",
HTTPPath: "/routingcontrol/{RoutingControlArn}/associatedRoute53HealthChecks",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListAssociatedRoute53HealthChecksInput{}
}
output = &ListAssociatedRoute53HealthChecksOutput{}
req = c.newRequest(op, input, output)
return
}
// ListAssociatedRoute53HealthChecks API operation for AWS Route53 Recovery Control Config.
//
// Returns an array of all Amazon Route 53 health checks associated with a specific
// routing control.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation ListAssociatedRoute53HealthChecks for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListAssociatedRoute53HealthChecks
func (c *Route53RecoveryControlConfig) ListAssociatedRoute53HealthChecks(input *ListAssociatedRoute53HealthChecksInput) (*ListAssociatedRoute53HealthChecksOutput, error) {
req, out := c.ListAssociatedRoute53HealthChecksRequest(input)
return out, req.Send()
}
// ListAssociatedRoute53HealthChecksWithContext is the same as ListAssociatedRoute53HealthChecks with the addition of
// the ability to pass a context and additional request options.
//
// See ListAssociatedRoute53HealthChecks 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 *Route53RecoveryControlConfig) ListAssociatedRoute53HealthChecksWithContext(ctx aws.Context, input *ListAssociatedRoute53HealthChecksInput, opts ...request.Option) (*ListAssociatedRoute53HealthChecksOutput, error) {
req, out := c.ListAssociatedRoute53HealthChecksRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListAssociatedRoute53HealthChecksPages iterates over the pages of a ListAssociatedRoute53HealthChecks operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListAssociatedRoute53HealthChecks method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListAssociatedRoute53HealthChecks operation.
// pageNum := 0
// err := client.ListAssociatedRoute53HealthChecksPages(params,
// func(page *route53recoverycontrolconfig.ListAssociatedRoute53HealthChecksOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Route53RecoveryControlConfig) ListAssociatedRoute53HealthChecksPages(input *ListAssociatedRoute53HealthChecksInput, fn func(*ListAssociatedRoute53HealthChecksOutput, bool) bool) error {
return c.ListAssociatedRoute53HealthChecksPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListAssociatedRoute53HealthChecksPagesWithContext same as ListAssociatedRoute53HealthChecksPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Route53RecoveryControlConfig) ListAssociatedRoute53HealthChecksPagesWithContext(ctx aws.Context, input *ListAssociatedRoute53HealthChecksInput, fn func(*ListAssociatedRoute53HealthChecksOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListAssociatedRoute53HealthChecksInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListAssociatedRoute53HealthChecksRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListAssociatedRoute53HealthChecksOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListClusters = "ListClusters"
// ListClustersRequest generates a "aws/request.Request" representing the
// client's request for the ListClusters operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListClusters for more information on using the ListClusters
// 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 ListClustersRequest method.
// req, resp := client.ListClustersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListClusters
func (c *Route53RecoveryControlConfig) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) {
op := &request.Operation{
Name: opListClusters,
HTTPMethod: "GET",
HTTPPath: "/cluster",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListClustersInput{}
}
output = &ListClustersOutput{}
req = c.newRequest(op, input, output)
return
}
// ListClusters API operation for AWS Route53 Recovery Control Config.
//
// Returns an array of all the clusters in an 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 AWS Route53 Recovery Control Config's
// API operation ListClusters for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListClusters
func (c *Route53RecoveryControlConfig) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) {
req, out := c.ListClustersRequest(input)
return out, req.Send()
}
// ListClustersWithContext is the same as ListClusters with the addition of
// the ability to pass a context and additional request options.
//
// See ListClusters 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 *Route53RecoveryControlConfig) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) {
req, out := c.ListClustersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListClustersPages iterates over the pages of a ListClusters operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListClusters method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListClusters operation.
// pageNum := 0
// err := client.ListClustersPages(params,
// func(page *route53recoverycontrolconfig.ListClustersOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Route53RecoveryControlConfig) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error {
return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListClustersPagesWithContext same as ListClustersPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Route53RecoveryControlConfig) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListClustersInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListClustersRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListControlPanels = "ListControlPanels"
// ListControlPanelsRequest generates a "aws/request.Request" representing the
// client's request for the ListControlPanels operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListControlPanels for more information on using the ListControlPanels
// 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 ListControlPanelsRequest method.
// req, resp := client.ListControlPanelsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListControlPanels
func (c *Route53RecoveryControlConfig) ListControlPanelsRequest(input *ListControlPanelsInput) (req *request.Request, output *ListControlPanelsOutput) {
op := &request.Operation{
Name: opListControlPanels,
HTTPMethod: "GET",
HTTPPath: "/controlpanels",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListControlPanelsInput{}
}
output = &ListControlPanelsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListControlPanels API operation for AWS Route53 Recovery Control Config.
//
// Returns an array of control panels in an account or in a 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 AWS Route53 Recovery Control Config's
// API operation ListControlPanels for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListControlPanels
func (c *Route53RecoveryControlConfig) ListControlPanels(input *ListControlPanelsInput) (*ListControlPanelsOutput, error) {
req, out := c.ListControlPanelsRequest(input)
return out, req.Send()
}
// ListControlPanelsWithContext is the same as ListControlPanels with the addition of
// the ability to pass a context and additional request options.
//
// See ListControlPanels 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 *Route53RecoveryControlConfig) ListControlPanelsWithContext(ctx aws.Context, input *ListControlPanelsInput, opts ...request.Option) (*ListControlPanelsOutput, error) {
req, out := c.ListControlPanelsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListControlPanelsPages iterates over the pages of a ListControlPanels operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListControlPanels method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListControlPanels operation.
// pageNum := 0
// err := client.ListControlPanelsPages(params,
// func(page *route53recoverycontrolconfig.ListControlPanelsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Route53RecoveryControlConfig) ListControlPanelsPages(input *ListControlPanelsInput, fn func(*ListControlPanelsOutput, bool) bool) error {
return c.ListControlPanelsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListControlPanelsPagesWithContext same as ListControlPanelsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Route53RecoveryControlConfig) ListControlPanelsPagesWithContext(ctx aws.Context, input *ListControlPanelsInput, fn func(*ListControlPanelsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListControlPanelsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListControlPanelsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListControlPanelsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListRoutingControls = "ListRoutingControls"
// ListRoutingControlsRequest generates a "aws/request.Request" representing the
// client's request for the ListRoutingControls operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListRoutingControls for more information on using the ListRoutingControls
// 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 ListRoutingControlsRequest method.
// req, resp := client.ListRoutingControlsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListRoutingControls
func (c *Route53RecoveryControlConfig) ListRoutingControlsRequest(input *ListRoutingControlsInput) (req *request.Request, output *ListRoutingControlsOutput) {
op := &request.Operation{
Name: opListRoutingControls,
HTTPMethod: "GET",
HTTPPath: "/controlpanel/{ControlPanelArn}/routingcontrols",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListRoutingControlsInput{}
}
output = &ListRoutingControlsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListRoutingControls API operation for AWS Route53 Recovery Control Config.
//
// Returns an array of routing controls for a control panel. A routing control
// is an Amazon Route 53 Application Recovery Controller construct that has
// one of two states: ON and OFF. You can map the routing control state to the
// state of an Amazon Route 53 health check, which can be used to control routing.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation ListRoutingControls for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListRoutingControls
func (c *Route53RecoveryControlConfig) ListRoutingControls(input *ListRoutingControlsInput) (*ListRoutingControlsOutput, error) {
req, out := c.ListRoutingControlsRequest(input)
return out, req.Send()
}
// ListRoutingControlsWithContext is the same as ListRoutingControls with the addition of
// the ability to pass a context and additional request options.
//
// See ListRoutingControls 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 *Route53RecoveryControlConfig) ListRoutingControlsWithContext(ctx aws.Context, input *ListRoutingControlsInput, opts ...request.Option) (*ListRoutingControlsOutput, error) {
req, out := c.ListRoutingControlsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListRoutingControlsPages iterates over the pages of a ListRoutingControls operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListRoutingControls method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListRoutingControls operation.
// pageNum := 0
// err := client.ListRoutingControlsPages(params,
// func(page *route53recoverycontrolconfig.ListRoutingControlsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Route53RecoveryControlConfig) ListRoutingControlsPages(input *ListRoutingControlsInput, fn func(*ListRoutingControlsOutput, bool) bool) error {
return c.ListRoutingControlsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListRoutingControlsPagesWithContext same as ListRoutingControlsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Route53RecoveryControlConfig) ListRoutingControlsPagesWithContext(ctx aws.Context, input *ListRoutingControlsInput, fn func(*ListRoutingControlsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListRoutingControlsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListRoutingControlsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListRoutingControlsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListSafetyRules = "ListSafetyRules"
// ListSafetyRulesRequest generates a "aws/request.Request" representing the
// client's request for the ListSafetyRules operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListSafetyRules for more information on using the ListSafetyRules
// 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 ListSafetyRulesRequest method.
// req, resp := client.ListSafetyRulesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListSafetyRules
func (c *Route53RecoveryControlConfig) ListSafetyRulesRequest(input *ListSafetyRulesInput) (req *request.Request, output *ListSafetyRulesOutput) {
op := &request.Operation{
Name: opListSafetyRules,
HTTPMethod: "GET",
HTTPPath: "/controlpanel/{ControlPanelArn}/safetyrules",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListSafetyRulesInput{}
}
output = &ListSafetyRulesOutput{}
req = c.newRequest(op, input, output)
return
}
// ListSafetyRules API operation for AWS Route53 Recovery Control Config.
//
// List the safety rules (the assertion rules and gating rules) that you've
// defined for the routing controls in a control panel.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation ListSafetyRules for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListSafetyRules
func (c *Route53RecoveryControlConfig) ListSafetyRules(input *ListSafetyRulesInput) (*ListSafetyRulesOutput, error) {
req, out := c.ListSafetyRulesRequest(input)
return out, req.Send()
}
// ListSafetyRulesWithContext is the same as ListSafetyRules with the addition of
// the ability to pass a context and additional request options.
//
// See ListSafetyRules 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 *Route53RecoveryControlConfig) ListSafetyRulesWithContext(ctx aws.Context, input *ListSafetyRulesInput, opts ...request.Option) (*ListSafetyRulesOutput, error) {
req, out := c.ListSafetyRulesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListSafetyRulesPages iterates over the pages of a ListSafetyRules operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListSafetyRules method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListSafetyRules operation.
// pageNum := 0
// err := client.ListSafetyRulesPages(params,
// func(page *route53recoverycontrolconfig.ListSafetyRulesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Route53RecoveryControlConfig) ListSafetyRulesPages(input *ListSafetyRulesInput, fn func(*ListSafetyRulesOutput, bool) bool) error {
return c.ListSafetyRulesPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListSafetyRulesPagesWithContext same as ListSafetyRulesPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Route53RecoveryControlConfig) ListSafetyRulesPagesWithContext(ctx aws.Context, input *ListSafetyRulesInput, fn func(*ListSafetyRulesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListSafetyRulesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListSafetyRulesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListSafetyRulesOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListTagsForResource = "ListTagsForResource"
// ListTagsForResourceRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListTagsForResource for more information on using the ListTagsForResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListTagsForResourceRequest method.
// req, resp := client.ListTagsForResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListTagsForResource
func (c *Route53RecoveryControlConfig) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
op := &request.Operation{
Name: opListTagsForResource,
HTTPMethod: "GET",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &ListTagsForResourceInput{}
}
output = &ListTagsForResourceOutput{}
req = c.newRequest(op, input, output)
return
}
// ListTagsForResource API operation for AWS Route53 Recovery Control Config.
//
// Lists the tags for a resource.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation ListTagsForResource for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/ListTagsForResource
func (c *Route53RecoveryControlConfig) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
return out, req.Send()
}
// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
// the ability to pass a context and additional request options.
//
// See ListTagsForResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Route53RecoveryControlConfig) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opTagResource = "TagResource"
// TagResourceRequest generates a "aws/request.Request" representing the
// client's request for the TagResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See TagResource for more information on using the TagResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the TagResourceRequest method.
// req, resp := client.TagResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/TagResource
func (c *Route53RecoveryControlConfig) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
op := &request.Operation{
Name: opTagResource,
HTTPMethod: "POST",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &TagResourceInput{}
}
output = &TagResourceOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// TagResource API operation for AWS Route53 Recovery Control Config.
//
// Adds a tag to a resource.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation TagResource for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/TagResource
func (c *Route53RecoveryControlConfig) 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 *Route53RecoveryControlConfig) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
req, out := c.TagResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUntagResource = "UntagResource"
// UntagResourceRequest generates a "aws/request.Request" representing the
// client's request for the UntagResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UntagResource for more information on using the UntagResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the UntagResourceRequest method.
// req, resp := client.UntagResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UntagResource
func (c *Route53RecoveryControlConfig) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
op := &request.Operation{
Name: opUntagResource,
HTTPMethod: "DELETE",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &UntagResourceInput{}
}
output = &UntagResourceOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UntagResource API operation for AWS Route53 Recovery Control Config.
//
// Removes a tag from a resource.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation UntagResource for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UntagResource
func (c *Route53RecoveryControlConfig) 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 *Route53RecoveryControlConfig) 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 opUpdateControlPanel = "UpdateControlPanel"
// UpdateControlPanelRequest generates a "aws/request.Request" representing the
// client's request for the UpdateControlPanel operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateControlPanel for more information on using the UpdateControlPanel
// 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 UpdateControlPanelRequest method.
// req, resp := client.UpdateControlPanelRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateControlPanel
func (c *Route53RecoveryControlConfig) UpdateControlPanelRequest(input *UpdateControlPanelInput) (req *request.Request, output *UpdateControlPanelOutput) {
op := &request.Operation{
Name: opUpdateControlPanel,
HTTPMethod: "PUT",
HTTPPath: "/controlpanel",
}
if input == nil {
input = &UpdateControlPanelInput{}
}
output = &UpdateControlPanelOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateControlPanel API operation for AWS Route53 Recovery Control Config.
//
// Updates a control panel. The only update you can make to a control panel
// is to change the name of the control panel.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation UpdateControlPanel for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateControlPanel
func (c *Route53RecoveryControlConfig) UpdateControlPanel(input *UpdateControlPanelInput) (*UpdateControlPanelOutput, error) {
req, out := c.UpdateControlPanelRequest(input)
return out, req.Send()
}
// UpdateControlPanelWithContext is the same as UpdateControlPanel with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateControlPanel 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 *Route53RecoveryControlConfig) UpdateControlPanelWithContext(ctx aws.Context, input *UpdateControlPanelInput, opts ...request.Option) (*UpdateControlPanelOutput, error) {
req, out := c.UpdateControlPanelRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateRoutingControl = "UpdateRoutingControl"
// UpdateRoutingControlRequest generates a "aws/request.Request" representing the
// client's request for the UpdateRoutingControl operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateRoutingControl for more information on using the UpdateRoutingControl
// 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 UpdateRoutingControlRequest method.
// req, resp := client.UpdateRoutingControlRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateRoutingControl
func (c *Route53RecoveryControlConfig) UpdateRoutingControlRequest(input *UpdateRoutingControlInput) (req *request.Request, output *UpdateRoutingControlOutput) {
op := &request.Operation{
Name: opUpdateRoutingControl,
HTTPMethod: "PUT",
HTTPPath: "/routingcontrol",
}
if input == nil {
input = &UpdateRoutingControlInput{}
}
output = &UpdateRoutingControlOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateRoutingControl API operation for AWS Route53 Recovery Control Config.
//
// Updates a routing control. You can only update the name of the routing control.
// To get or update the routing control state, see the Recovery Cluster (data
// plane) API actions for Amazon Route 53 Application Recovery Controller.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation UpdateRoutingControl for usage and error information.
//
// Returned Error Types:
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// - AccessDeniedException
// 403 response - You do not have sufficient access to perform this action.
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ThrottlingException
// 429 response - LimitExceededException or TooManyRequestsException.
//
// - ConflictException
// 409 response - ConflictException. You might be using a predefined variable.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateRoutingControl
func (c *Route53RecoveryControlConfig) UpdateRoutingControl(input *UpdateRoutingControlInput) (*UpdateRoutingControlOutput, error) {
req, out := c.UpdateRoutingControlRequest(input)
return out, req.Send()
}
// UpdateRoutingControlWithContext is the same as UpdateRoutingControl with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateRoutingControl 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 *Route53RecoveryControlConfig) UpdateRoutingControlWithContext(ctx aws.Context, input *UpdateRoutingControlInput, opts ...request.Option) (*UpdateRoutingControlOutput, error) {
req, out := c.UpdateRoutingControlRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateSafetyRule = "UpdateSafetyRule"
// UpdateSafetyRuleRequest generates a "aws/request.Request" representing the
// client's request for the UpdateSafetyRule operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateSafetyRule for more information on using the UpdateSafetyRule
// 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 UpdateSafetyRuleRequest method.
// req, resp := client.UpdateSafetyRuleRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateSafetyRule
func (c *Route53RecoveryControlConfig) UpdateSafetyRuleRequest(input *UpdateSafetyRuleInput) (req *request.Request, output *UpdateSafetyRuleOutput) {
op := &request.Operation{
Name: opUpdateSafetyRule,
HTTPMethod: "PUT",
HTTPPath: "/safetyrule",
}
if input == nil {
input = &UpdateSafetyRuleInput{}
}
output = &UpdateSafetyRuleOutput{}
req = c.newRequest(op, input, output)
return
}
// UpdateSafetyRule API operation for AWS Route53 Recovery Control Config.
//
// Update a safety rule (an assertion rule or gating rule). You can only update
// the name and the waiting period for a safety rule. To make other updates,
// delete the safety rule and create a new one.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for AWS Route53 Recovery Control Config's
// API operation UpdateSafetyRule for usage and error information.
//
// Returned Error Types:
//
// - ResourceNotFoundException
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
//
// - ValidationException
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
//
// - InternalServerException
// 500 response - InternalServiceError. Temporary service error. Retry the request.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/route53-recovery-control-config-2020-11-02/UpdateSafetyRule
func (c *Route53RecoveryControlConfig) UpdateSafetyRule(input *UpdateSafetyRuleInput) (*UpdateSafetyRuleOutput, error) {
req, out := c.UpdateSafetyRuleRequest(input)
return out, req.Send()
}
// UpdateSafetyRuleWithContext is the same as UpdateSafetyRule with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateSafetyRule 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 *Route53RecoveryControlConfig) UpdateSafetyRuleWithContext(ctx aws.Context, input *UpdateSafetyRuleInput, opts ...request.Option) (*UpdateSafetyRuleOutput, error) {
req, out := c.UpdateSafetyRuleRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// 403 response - You do not have sufficient access to perform this action.
type AccessDeniedException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) GoString() string {
return s.String()
}
func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
return &AccessDeniedException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *AccessDeniedException) Code() string {
return "AccessDeniedException"
}
// Message returns the exception's message.
func (s *AccessDeniedException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *AccessDeniedException) OrigErr() error {
return nil
}
func (s *AccessDeniedException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *AccessDeniedException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *AccessDeniedException) RequestID() string {
return s.RespMetadata.RequestID
}
// An assertion rule enforces that, when you change a routing control state,
// that the criteria that you set in the rule configuration is met. Otherwise,
// the change to the routing control is not accepted. For example, the criteria
// might be that at least one routing control state is On after the transaction
// so that traffic continues to flow to at least one cell for the application.
// This ensures that you avoid a fail-open scenario.
type AssertionRule struct {
_ struct{} `type:"structure"`
// The routing controls that are part of transactions that are evaluated to
// determine if a request to change a routing control state is allowed. For
// example, you might include three routing controls, one for each of three
// Amazon Web Services Regions.
//
// AssertedControls is a required field
AssertedControls []*string `type:"list" required:"true"`
// The Amazon Resource Name (ARN) of the control panel.
//
// ControlPanelArn is a required field
ControlPanelArn *string `min:"1" type:"string" required:"true"`
// Name of the assertion rule. You can use any non-white space character in
// the name.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The Amazon Web Services account ID of the assertion rule owner.
Owner *string `min:"12" type:"string"`
// The criteria that you set for specific assertion routing controls (AssertedControls)
// that designate how many routing control states must be ON as the result of
// a transaction. For example, if you have three assertion routing controls,
// you might specify ATLEAST 2 for your rule configuration. This means that
// at least two assertion routing control states must be ON, so that at least
// two Amazon Web Services Regions have traffic flowing to them.
//
// RuleConfig is a required field
RuleConfig *RuleConfig `type:"structure" required:"true"`
// The Amazon Resource Name (ARN) of the assertion rule.
//
// SafetyRuleArn is a required field
SafetyRuleArn *string `min:"1" type:"string" required:"true"`
// The deployment status of an assertion rule. Status can be one of the following:
// PENDING, DEPLOYED, PENDING_DELETION.
//
// Status is a required field
Status *string `type:"string" required:"true" enum:"Status"`
// An evaluation period, in milliseconds (ms), during which any request against
// the target routing controls will fail. This helps prevent "flapping" of state.
// The wait period is 5000 ms by default, but you can choose a custom value.
//
// WaitPeriodMs is a required field
WaitPeriodMs *int64 `type:"integer" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AssertionRule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AssertionRule) GoString() string {
return s.String()
}
// SetAssertedControls sets the AssertedControls field's value.
func (s *AssertionRule) SetAssertedControls(v []*string) *AssertionRule {
s.AssertedControls = v
return s
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *AssertionRule) SetControlPanelArn(v string) *AssertionRule {
s.ControlPanelArn = &v
return s
}
// SetName sets the Name field's value.
func (s *AssertionRule) SetName(v string) *AssertionRule {
s.Name = &v
return s
}
// SetOwner sets the Owner field's value.
func (s *AssertionRule) SetOwner(v string) *AssertionRule {
s.Owner = &v
return s
}
// SetRuleConfig sets the RuleConfig field's value.
func (s *AssertionRule) SetRuleConfig(v *RuleConfig) *AssertionRule {
s.RuleConfig = v
return s
}
// SetSafetyRuleArn sets the SafetyRuleArn field's value.
func (s *AssertionRule) SetSafetyRuleArn(v string) *AssertionRule {
s.SafetyRuleArn = &v
return s
}
// SetStatus sets the Status field's value.
func (s *AssertionRule) SetStatus(v string) *AssertionRule {
s.Status = &v
return s
}
// SetWaitPeriodMs sets the WaitPeriodMs field's value.
func (s *AssertionRule) SetWaitPeriodMs(v int64) *AssertionRule {
s.WaitPeriodMs = &v
return s
}
// An update to an assertion rule. You can update the name or the evaluation
// period (wait period). If you don't specify one of the items to update, the
// item is unchanged.
type AssertionRuleUpdate struct {
_ struct{} `type:"structure"`
// The name of the assertion rule. You can use any non-white space character
// in the name.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The Amazon Resource Name (ARN) of the assertion rule.
//
// SafetyRuleArn is a required field
SafetyRuleArn *string `min:"1" type:"string" required:"true"`
// An evaluation period, in milliseconds (ms), during which any request against
// the target routing controls will fail. This helps prevent "flapping" of state.
// The wait period is 5000 ms by default, but you can choose a custom value.
//
// WaitPeriodMs is a required field
WaitPeriodMs *int64 `type:"integer" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AssertionRuleUpdate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AssertionRuleUpdate) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AssertionRuleUpdate) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AssertionRuleUpdate"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.SafetyRuleArn == nil {
invalidParams.Add(request.NewErrParamRequired("SafetyRuleArn"))
}
if s.SafetyRuleArn != nil && len(*s.SafetyRuleArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("SafetyRuleArn", 1))
}
if s.WaitPeriodMs == nil {
invalidParams.Add(request.NewErrParamRequired("WaitPeriodMs"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *AssertionRuleUpdate) SetName(v string) *AssertionRuleUpdate {
s.Name = &v
return s
}
// SetSafetyRuleArn sets the SafetyRuleArn field's value.
func (s *AssertionRuleUpdate) SetSafetyRuleArn(v string) *AssertionRuleUpdate {
s.SafetyRuleArn = &v
return s
}
// SetWaitPeriodMs sets the WaitPeriodMs field's value.
func (s *AssertionRuleUpdate) SetWaitPeriodMs(v int64) *AssertionRuleUpdate {
s.WaitPeriodMs = &v
return s
}
// A set of five redundant Regional endpoints against which you can execute
// API calls to update or get the state of routing controls. You can host multiple
// control panels and routing controls on one cluster.
type Cluster struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the cluster.
ClusterArn *string `min:"1" type:"string"`
// Endpoints for a cluster. Specify one of these endpoints when you want to
// set or retrieve a routing control state in the cluster.
//
// To get or update the routing control state, see the Amazon Route 53 Application
// Recovery Controller Routing Control Actions.
ClusterEndpoints []*ClusterEndpoint `type:"list"`
// The name of the cluster.
Name *string `min:"1" type:"string"`
// The Amazon Web Services account ID of the cluster owner.
Owner *string `min:"12" type:"string"`
// Deployment status of a resource. Status can be one of the following: PENDING,
// DEPLOYED, PENDING_DELETION.
Status *string `type:"string" enum:"Status"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Cluster) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Cluster) GoString() string {
return s.String()
}
// SetClusterArn sets the ClusterArn field's value.
func (s *Cluster) SetClusterArn(v string) *Cluster {
s.ClusterArn = &v
return s
}
// SetClusterEndpoints sets the ClusterEndpoints field's value.
func (s *Cluster) SetClusterEndpoints(v []*ClusterEndpoint) *Cluster {
s.ClusterEndpoints = v
return s
}
// SetName sets the Name field's value.
func (s *Cluster) SetName(v string) *Cluster {
s.Name = &v
return s
}
// SetOwner sets the Owner field's value.
func (s *Cluster) SetOwner(v string) *Cluster {
s.Owner = &v
return s
}
// SetStatus sets the Status field's value.
func (s *Cluster) SetStatus(v string) *Cluster {
s.Status = &v
return s
}
// A cluster endpoint. Specify an endpoint when you want to set or retrieve
// a routing control state in the cluster.
type ClusterEndpoint struct {
_ struct{} `type:"structure"`
// A cluster endpoint. Specify an endpoint and Amazon Web Services Region when
// you want to set or retrieve a routing control state in the cluster.
//
// To get or update the routing control state, see the Amazon Route 53 Application
// Recovery Controller Routing Control Actions.
Endpoint *string `min:"1" type:"string"`
// The Amazon Web Services Region for a cluster endpoint.
Region *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ClusterEndpoint) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ClusterEndpoint) GoString() string {
return s.String()
}
// SetEndpoint sets the Endpoint field's value.
func (s *ClusterEndpoint) SetEndpoint(v string) *ClusterEndpoint {
s.Endpoint = &v
return s
}
// SetRegion sets the Region field's value.
func (s *ClusterEndpoint) SetRegion(v string) *ClusterEndpoint {
s.Region = &v
return s
}
// 409 response - ConflictException. You might be using a predefined variable.
type ConflictException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) GoString() string {
return s.String()
}
func newErrorConflictException(v protocol.ResponseMetadata) error {
return &ConflictException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ConflictException) Code() string {
return "ConflictException"
}
// Message returns the exception's message.
func (s *ConflictException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConflictException) OrigErr() error {
return nil
}
func (s *ConflictException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ConflictException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ConflictException) RequestID() string {
return s.RespMetadata.RequestID
}
// A control panel represents a group of routing controls that can be changed
// together in a single transaction.
type ControlPanel struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the cluster that includes the control panel.
ClusterArn *string `min:"1" type:"string"`
// The Amazon Resource Name (ARN) of the control panel.
ControlPanelArn *string `min:"1" type:"string"`
// A flag that Amazon Route 53 Application Recovery Controller sets to true
// to designate the default control panel for a cluster. When you create a cluster,
// Amazon Route 53 Application Recovery Controller creates a control panel,
// and sets this flag for that control panel. If you create a control panel
// yourself, this flag is set to false.
DefaultControlPanel *bool `type:"boolean"`
// The name of the control panel. You can use any non-white space character
// in the name.
Name *string `min:"1" type:"string"`
// The Amazon Web Services account ID of the control panel owner.
Owner *string `min:"12" type:"string"`
// The number of routing controls in the control panel.
RoutingControlCount *int64 `type:"integer"`
// The deployment status of control panel. Status can be one of the following:
// PENDING, DEPLOYED, PENDING_DELETION.
Status *string `type:"string" enum:"Status"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ControlPanel) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ControlPanel) GoString() string {
return s.String()
}
// SetClusterArn sets the ClusterArn field's value.
func (s *ControlPanel) SetClusterArn(v string) *ControlPanel {
s.ClusterArn = &v
return s
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *ControlPanel) SetControlPanelArn(v string) *ControlPanel {
s.ControlPanelArn = &v
return s
}
// SetDefaultControlPanel sets the DefaultControlPanel field's value.
func (s *ControlPanel) SetDefaultControlPanel(v bool) *ControlPanel {
s.DefaultControlPanel = &v
return s
}
// SetName sets the Name field's value.
func (s *ControlPanel) SetName(v string) *ControlPanel {
s.Name = &v
return s
}
// SetOwner sets the Owner field's value.
func (s *ControlPanel) SetOwner(v string) *ControlPanel {
s.Owner = &v
return s
}
// SetRoutingControlCount sets the RoutingControlCount field's value.
func (s *ControlPanel) SetRoutingControlCount(v int64) *ControlPanel {
s.RoutingControlCount = &v
return s
}
// SetStatus sets the Status field's value.
func (s *ControlPanel) SetStatus(v string) *ControlPanel {
s.Status = &v
return s
}
// The properties of a request to create a cluster.
type CreateClusterInput struct {
_ struct{} `type:"structure"`
// A unique, case-sensitive string of up to 64 ASCII characters. To make an
// idempotent API request with an action, specify a client token in the request.
ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
// The name of the cluster.
//
// ClusterName is a required field
ClusterName *string `min:"1" type:"string" required:"true"`
// The tags associated with the cluster.
Tags map[string]*string `type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateClusterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
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.ClientToken != nil && len(*s.ClientToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
}
if s.ClusterName == nil {
invalidParams.Add(request.NewErrParamRequired("ClusterName"))
}
if s.ClusterName != nil && len(*s.ClusterName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientToken sets the ClientToken field's value.
func (s *CreateClusterInput) SetClientToken(v string) *CreateClusterInput {
s.ClientToken = &v
return s
}
// SetClusterName sets the ClusterName field's value.
func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput {
s.ClusterName = &v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateClusterInput) SetTags(v map[string]*string) *CreateClusterInput {
s.Tags = v
return s
}
// The result of a successful CreateCluster request.
type CreateClusterOutput struct {
_ struct{} `type:"structure"`
// The cluster that was created.
Cluster *Cluster `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateClusterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
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
}
// A request to create a control panel.
type CreateControlPanelInput struct {
_ struct{} `type:"structure"`
// A unique, case-sensitive string of up to 64 ASCII characters. To make an
// idempotent API request with an action, specify a client token in the request.
ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
// The Amazon Resource Name (ARN) of the cluster for the control panel.
//
// ClusterArn is a required field
ClusterArn *string `min:"1" type:"string" required:"true"`
// The name of the control panel.
//
// ControlPanelName is a required field
ControlPanelName *string `min:"1" type:"string" required:"true"`
// The tags associated with the control panel.
Tags map[string]*string `type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateControlPanelInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateControlPanelInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateControlPanelInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateControlPanelInput"}
if s.ClientToken != nil && len(*s.ClientToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
}
if s.ClusterArn == nil {
invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
}
if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
}
if s.ControlPanelName == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelName"))
}
if s.ControlPanelName != nil && len(*s.ControlPanelName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientToken sets the ClientToken field's value.
func (s *CreateControlPanelInput) SetClientToken(v string) *CreateControlPanelInput {
s.ClientToken = &v
return s
}
// SetClusterArn sets the ClusterArn field's value.
func (s *CreateControlPanelInput) SetClusterArn(v string) *CreateControlPanelInput {
s.ClusterArn = &v
return s
}
// SetControlPanelName sets the ControlPanelName field's value.
func (s *CreateControlPanelInput) SetControlPanelName(v string) *CreateControlPanelInput {
s.ControlPanelName = &v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateControlPanelInput) SetTags(v map[string]*string) *CreateControlPanelInput {
s.Tags = v
return s
}
// The result of a successful CreateControlPanel request.
type CreateControlPanelOutput struct {
_ struct{} `type:"structure"`
// Information about a control panel.
ControlPanel *ControlPanel `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateControlPanelOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateControlPanelOutput) GoString() string {
return s.String()
}
// SetControlPanel sets the ControlPanel field's value.
func (s *CreateControlPanelOutput) SetControlPanel(v *ControlPanel) *CreateControlPanelOutput {
s.ControlPanel = v
return s
}
// A request to create a routing control. If you don't specify ControlPanelArn,
// Amazon Route 53 Application Recovery Controller creates the routing control
// in DefaultControlPanel.
type CreateRoutingControlInput struct {
_ struct{} `type:"structure"`
// A unique, case-sensitive string of up to 64 ASCII characters. To make an
// idempotent API request with an action, specify a client token in the request.
ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
// The Amazon Resource Name (ARN) of the cluster that includes the routing control.
//
// ClusterArn is a required field
ClusterArn *string `min:"1" type:"string" required:"true"`
// The Amazon Resource Name (ARN) of the control panel that includes the routing
// control.
ControlPanelArn *string `min:"1" type:"string"`
// The name of the routing control.
//
// RoutingControlName is a required field
RoutingControlName *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRoutingControlInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRoutingControlInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateRoutingControlInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateRoutingControlInput"}
if s.ClientToken != nil && len(*s.ClientToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
}
if s.ClusterArn == nil {
invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
}
if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if s.RoutingControlName == nil {
invalidParams.Add(request.NewErrParamRequired("RoutingControlName"))
}
if s.RoutingControlName != nil && len(*s.RoutingControlName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RoutingControlName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClientToken sets the ClientToken field's value.
func (s *CreateRoutingControlInput) SetClientToken(v string) *CreateRoutingControlInput {
s.ClientToken = &v
return s
}
// SetClusterArn sets the ClusterArn field's value.
func (s *CreateRoutingControlInput) SetClusterArn(v string) *CreateRoutingControlInput {
s.ClusterArn = &v
return s
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *CreateRoutingControlInput) SetControlPanelArn(v string) *CreateRoutingControlInput {
s.ControlPanelArn = &v
return s
}
// SetRoutingControlName sets the RoutingControlName field's value.
func (s *CreateRoutingControlInput) SetRoutingControlName(v string) *CreateRoutingControlInput {
s.RoutingControlName = &v
return s
}
// The result of a successful CreateRoutingControl request.
type CreateRoutingControlOutput struct {
_ struct{} `type:"structure"`
// The routing control that is created.
RoutingControl *RoutingControl `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRoutingControlOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateRoutingControlOutput) GoString() string {
return s.String()
}
// SetRoutingControl sets the RoutingControl field's value.
func (s *CreateRoutingControlOutput) SetRoutingControl(v *RoutingControl) *CreateRoutingControlOutput {
s.RoutingControl = v
return s
}
// Request to create a safety rule. You can create either an assertion rule
// or a gating rule with a CreateSafetyRuleRequest call.
type CreateSafetyRuleInput struct {
_ struct{} `type:"structure"`
// The assertion rule requested.
AssertionRule *NewAssertionRule `type:"structure"`
// A unique, case-sensitive string of up to 64 ASCII characters. To make an
// idempotent API request with an action, specify a client token in the request.
ClientToken *string `min:"1" type:"string" idempotencyToken:"true"`
// The gating rule requested.
GatingRule *NewGatingRule `type:"structure"`
// The tags associated with the safety rule.
Tags map[string]*string `type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateSafetyRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateSafetyRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateSafetyRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateSafetyRuleInput"}
if s.ClientToken != nil && len(*s.ClientToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1))
}
if s.AssertionRule != nil {
if err := s.AssertionRule.Validate(); err != nil {
invalidParams.AddNested("AssertionRule", err.(request.ErrInvalidParams))
}
}
if s.GatingRule != nil {
if err := s.GatingRule.Validate(); err != nil {
invalidParams.AddNested("GatingRule", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAssertionRule sets the AssertionRule field's value.
func (s *CreateSafetyRuleInput) SetAssertionRule(v *NewAssertionRule) *CreateSafetyRuleInput {
s.AssertionRule = v
return s
}
// SetClientToken sets the ClientToken field's value.
func (s *CreateSafetyRuleInput) SetClientToken(v string) *CreateSafetyRuleInput {
s.ClientToken = &v
return s
}
// SetGatingRule sets the GatingRule field's value.
func (s *CreateSafetyRuleInput) SetGatingRule(v *NewGatingRule) *CreateSafetyRuleInput {
s.GatingRule = v
return s
}
// SetTags sets the Tags field's value.
func (s *CreateSafetyRuleInput) SetTags(v map[string]*string) *CreateSafetyRuleInput {
s.Tags = v
return s
}
// The result of a successful CreateSafetyRule request.
type CreateSafetyRuleOutput struct {
_ struct{} `type:"structure"`
// The assertion rule created.
AssertionRule *AssertionRule `type:"structure"`
// The gating rule created.
GatingRule *GatingRule `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateSafetyRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateSafetyRuleOutput) GoString() string {
return s.String()
}
// SetAssertionRule sets the AssertionRule field's value.
func (s *CreateSafetyRuleOutput) SetAssertionRule(v *AssertionRule) *CreateSafetyRuleOutput {
s.AssertionRule = v
return s
}
// SetGatingRule sets the GatingRule field's value.
func (s *CreateSafetyRuleOutput) SetGatingRule(v *GatingRule) *CreateSafetyRuleOutput {
s.GatingRule = v
return s
}
type DeleteClusterInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ClusterArn is a required field
ClusterArn *string `location:"uri" locationName:"ClusterArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteClusterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
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.ClusterArn == nil {
invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
}
if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClusterArn sets the ClusterArn field's value.
func (s *DeleteClusterInput) SetClusterArn(v string) *DeleteClusterInput {
s.ClusterArn = &v
return s
}
// A successful DeleteCluster request returns no response.
type DeleteClusterOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteClusterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteClusterOutput) GoString() string {
return s.String()
}
type DeleteControlPanelInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ControlPanelArn is a required field
ControlPanelArn *string `location:"uri" locationName:"ControlPanelArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteControlPanelInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteControlPanelInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteControlPanelInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteControlPanelInput"}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *DeleteControlPanelInput) SetControlPanelArn(v string) *DeleteControlPanelInput {
s.ControlPanelArn = &v
return s
}
// A successful DeleteControlPanel request returns no response.
type DeleteControlPanelOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteControlPanelOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteControlPanelOutput) GoString() string {
return s.String()
}
type DeleteRoutingControlInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// RoutingControlArn is a required field
RoutingControlArn *string `location:"uri" locationName:"RoutingControlArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRoutingControlInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRoutingControlInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteRoutingControlInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteRoutingControlInput"}
if s.RoutingControlArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
}
if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetRoutingControlArn sets the RoutingControlArn field's value.
func (s *DeleteRoutingControlInput) SetRoutingControlArn(v string) *DeleteRoutingControlInput {
s.RoutingControlArn = &v
return s
}
// A successful DeleteRoutingControl request returns no response.
type DeleteRoutingControlOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRoutingControlOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteRoutingControlOutput) GoString() string {
return s.String()
}
type DeleteSafetyRuleInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// SafetyRuleArn is a required field
SafetyRuleArn *string `location:"uri" locationName:"SafetyRuleArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSafetyRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSafetyRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteSafetyRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteSafetyRuleInput"}
if s.SafetyRuleArn == nil {
invalidParams.Add(request.NewErrParamRequired("SafetyRuleArn"))
}
if s.SafetyRuleArn != nil && len(*s.SafetyRuleArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("SafetyRuleArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetSafetyRuleArn sets the SafetyRuleArn field's value.
func (s *DeleteSafetyRuleInput) SetSafetyRuleArn(v string) *DeleteSafetyRuleInput {
s.SafetyRuleArn = &v
return s
}
// There is an empty response when you delete a safety rule.
// />
type DeleteSafetyRuleOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSafetyRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteSafetyRuleOutput) GoString() string {
return s.String()
}
type DescribeClusterInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ClusterArn is a required field
ClusterArn *string `location:"uri" locationName:"ClusterArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeClusterInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeClusterInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeClusterInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"}
if s.ClusterArn == nil {
invalidParams.Add(request.NewErrParamRequired("ClusterArn"))
}
if s.ClusterArn != nil && len(*s.ClusterArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClusterArn sets the ClusterArn field's value.
func (s *DescribeClusterInput) SetClusterArn(v string) *DescribeClusterInput {
s.ClusterArn = &v
return s
}
// The result of a successful DescribeCluster request.
type DescribeClusterOutput struct {
_ struct{} `type:"structure"`
// The cluster for the DescribeCluster request.
Cluster *Cluster `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeClusterOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeClusterOutput) GoString() string {
return s.String()
}
// SetCluster sets the Cluster field's value.
func (s *DescribeClusterOutput) SetCluster(v *Cluster) *DescribeClusterOutput {
s.Cluster = v
return s
}
type DescribeControlPanelInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ControlPanelArn is a required field
ControlPanelArn *string `location:"uri" locationName:"ControlPanelArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeControlPanelInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeControlPanelInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeControlPanelInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeControlPanelInput"}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *DescribeControlPanelInput) SetControlPanelArn(v string) *DescribeControlPanelInput {
s.ControlPanelArn = &v
return s
}
// The result of a successful DescribeControlPanel request.
type DescribeControlPanelOutput struct {
_ struct{} `type:"structure"`
// Information about the control panel.
ControlPanel *ControlPanel `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeControlPanelOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeControlPanelOutput) GoString() string {
return s.String()
}
// SetControlPanel sets the ControlPanel field's value.
func (s *DescribeControlPanelOutput) SetControlPanel(v *ControlPanel) *DescribeControlPanelOutput {
s.ControlPanel = v
return s
}
type DescribeRoutingControlInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// RoutingControlArn is a required field
RoutingControlArn *string `location:"uri" locationName:"RoutingControlArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRoutingControlInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRoutingControlInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeRoutingControlInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeRoutingControlInput"}
if s.RoutingControlArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
}
if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetRoutingControlArn sets the RoutingControlArn field's value.
func (s *DescribeRoutingControlInput) SetRoutingControlArn(v string) *DescribeRoutingControlInput {
s.RoutingControlArn = &v
return s
}
// The result of a successful DescribeRoutingControl request.
type DescribeRoutingControlOutput struct {
_ struct{} `type:"structure"`
// Information about the routing control.
RoutingControl *RoutingControl `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRoutingControlOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeRoutingControlOutput) GoString() string {
return s.String()
}
// SetRoutingControl sets the RoutingControl field's value.
func (s *DescribeRoutingControlOutput) SetRoutingControl(v *RoutingControl) *DescribeRoutingControlOutput {
s.RoutingControl = v
return s
}
type DescribeSafetyRuleInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// SafetyRuleArn is a required field
SafetyRuleArn *string `location:"uri" locationName:"SafetyRuleArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeSafetyRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeSafetyRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeSafetyRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeSafetyRuleInput"}
if s.SafetyRuleArn == nil {
invalidParams.Add(request.NewErrParamRequired("SafetyRuleArn"))
}
if s.SafetyRuleArn != nil && len(*s.SafetyRuleArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("SafetyRuleArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetSafetyRuleArn sets the SafetyRuleArn field's value.
func (s *DescribeSafetyRuleInput) SetSafetyRuleArn(v string) *DescribeSafetyRuleInput {
s.SafetyRuleArn = &v
return s
}
// The response when you send a DescribeSafetyRuleResponse request.
type DescribeSafetyRuleOutput struct {
_ struct{} `type:"structure"`
// The assertion rule in the response.
AssertionRule *AssertionRule `type:"structure"`
// The gating rule in the response.
GatingRule *GatingRule `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeSafetyRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeSafetyRuleOutput) GoString() string {
return s.String()
}
// SetAssertionRule sets the AssertionRule field's value.
func (s *DescribeSafetyRuleOutput) SetAssertionRule(v *AssertionRule) *DescribeSafetyRuleOutput {
s.AssertionRule = v
return s
}
// SetGatingRule sets the GatingRule field's value.
func (s *DescribeSafetyRuleOutput) SetGatingRule(v *GatingRule) *DescribeSafetyRuleOutput {
s.GatingRule = v
return s
}
// A gating rule verifies that a gating routing control or set of gating routing
// controls, evaluates as true, based on a rule configuration that you specify,
// which allows a set of routing control state changes to complete.
//
// For example, if you specify one gating routing control and you set the Type
// in the rule configuration to OR, that indicates that you must set the gating
// routing control to On for the rule to evaluate as true; that is, for the
// gating control "switch" to be "On". When you do that, then you can update
// the routing control states for the target routing controls that you specify
// in the gating rule.
type GatingRule struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the control panel.
//
// ControlPanelArn is a required field
ControlPanelArn *string `min:"1" type:"string" required:"true"`
// An array of gating routing control Amazon Resource Names (ARNs). For a simple
// "on/off" switch, specify the ARN for one routing control. The gating routing
// controls are evaluated by the rule configuration that you specify to determine
// if the target routing control states can be changed.
//
// GatingControls is a required field
GatingControls []*string `type:"list" required:"true"`
// The name for the gating rule. You can use any non-white space character in
// the name.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The Amazon Web Services account ID of the gating rule owner.
Owner *string `min:"12" type:"string"`
// The criteria that you set for gating routing controls that designate how
// many of the routing control states must be ON to allow you to update target
// routing control states.
//
// RuleConfig is a required field
RuleConfig *RuleConfig `type:"structure" required:"true"`
// The Amazon Resource Name (ARN) of the gating rule.
//
// SafetyRuleArn is a required field
SafetyRuleArn *string `min:"1" type:"string" required:"true"`
// The deployment status of a gating rule. Status can be one of the following:
// PENDING, DEPLOYED, PENDING_DELETION.
//
// Status is a required field
Status *string `type:"string" required:"true" enum:"Status"`
// An array of target routing control Amazon Resource Names (ARNs) for which
// the states can only be updated if the rule configuration that you specify
// evaluates to true for the gating routing control. As a simple example, if
// you have a single gating control, it acts as an overall "on/off" switch for
// a set of target routing controls. You can use this to manually override automated
// failover, for example.
//
// TargetControls is a required field
TargetControls []*string `type:"list" required:"true"`
// An evaluation period, in milliseconds (ms), during which any request against
// the target routing controls will fail. This helps prevent "flapping" of state.
// The wait period is 5000 ms by default, but you can choose a custom value.
//
// WaitPeriodMs is a required field
WaitPeriodMs *int64 `type:"integer" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GatingRule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GatingRule) GoString() string {
return s.String()
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *GatingRule) SetControlPanelArn(v string) *GatingRule {
s.ControlPanelArn = &v
return s
}
// SetGatingControls sets the GatingControls field's value.
func (s *GatingRule) SetGatingControls(v []*string) *GatingRule {
s.GatingControls = v
return s
}
// SetName sets the Name field's value.
func (s *GatingRule) SetName(v string) *GatingRule {
s.Name = &v
return s
}
// SetOwner sets the Owner field's value.
func (s *GatingRule) SetOwner(v string) *GatingRule {
s.Owner = &v
return s
}
// SetRuleConfig sets the RuleConfig field's value.
func (s *GatingRule) SetRuleConfig(v *RuleConfig) *GatingRule {
s.RuleConfig = v
return s
}
// SetSafetyRuleArn sets the SafetyRuleArn field's value.
func (s *GatingRule) SetSafetyRuleArn(v string) *GatingRule {
s.SafetyRuleArn = &v
return s
}
// SetStatus sets the Status field's value.
func (s *GatingRule) SetStatus(v string) *GatingRule {
s.Status = &v
return s
}
// SetTargetControls sets the TargetControls field's value.
func (s *GatingRule) SetTargetControls(v []*string) *GatingRule {
s.TargetControls = v
return s
}
// SetWaitPeriodMs sets the WaitPeriodMs field's value.
func (s *GatingRule) SetWaitPeriodMs(v int64) *GatingRule {
s.WaitPeriodMs = &v
return s
}
// Update to a gating rule. You can update the name or the evaluation period
// (wait period). If you don't specify one of the items to update, the item
// is unchanged.
type GatingRuleUpdate struct {
_ struct{} `type:"structure"`
// The name for the gating rule. You can use any non-white space character in
// the name.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The Amazon Resource Name (ARN) of the gating rule.
//
// SafetyRuleArn is a required field
SafetyRuleArn *string `min:"1" type:"string" required:"true"`
// An evaluation period, in milliseconds (ms), during which any request against
// the target routing controls will fail. This helps prevent "flapping" of state.
// The wait period is 5000 ms by default, but you can choose a custom value.
//
// WaitPeriodMs is a required field
WaitPeriodMs *int64 `type:"integer" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GatingRuleUpdate) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GatingRuleUpdate) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GatingRuleUpdate) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GatingRuleUpdate"}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.SafetyRuleArn == nil {
invalidParams.Add(request.NewErrParamRequired("SafetyRuleArn"))
}
if s.SafetyRuleArn != nil && len(*s.SafetyRuleArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("SafetyRuleArn", 1))
}
if s.WaitPeriodMs == nil {
invalidParams.Add(request.NewErrParamRequired("WaitPeriodMs"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetName sets the Name field's value.
func (s *GatingRuleUpdate) SetName(v string) *GatingRuleUpdate {
s.Name = &v
return s
}
// SetSafetyRuleArn sets the SafetyRuleArn field's value.
func (s *GatingRuleUpdate) SetSafetyRuleArn(v string) *GatingRuleUpdate {
s.SafetyRuleArn = &v
return s
}
// SetWaitPeriodMs sets the WaitPeriodMs field's value.
func (s *GatingRuleUpdate) SetWaitPeriodMs(v int64) *GatingRuleUpdate {
s.WaitPeriodMs = &v
return s
}
type GetResourcePolicyInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetResourcePolicyInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetResourcePolicyInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetResourcePolicyInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetResourcePolicyInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *GetResourcePolicyInput) SetResourceArn(v string) *GetResourcePolicyInput {
s.ResourceArn = &v
return s
}
// Returns the current Amazon Resource Access Manager resource policy for a
// cluster.
type GetResourcePolicyOutput struct {
_ struct{} `type:"structure"`
// The resource policy.
Policy *string `min:"2" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetResourcePolicyOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetResourcePolicyOutput) GoString() string {
return s.String()
}
// SetPolicy sets the Policy field's value.
func (s *GetResourcePolicyOutput) SetPolicy(v string) *GetResourcePolicyOutput {
s.Policy = &v
return s
}
// 500 response - InternalServiceError. Temporary service error. Retry the request.
type InternalServerException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) GoString() string {
return s.String()
}
func newErrorInternalServerException(v protocol.ResponseMetadata) error {
return &InternalServerException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *InternalServerException) Code() string {
return "InternalServerException"
}
// Message returns the exception's message.
func (s *InternalServerException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalServerException) OrigErr() error {
return nil
}
func (s *InternalServerException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *InternalServerException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *InternalServerException) RequestID() string {
return s.RespMetadata.RequestID
}
type ListAssociatedRoute53HealthChecksInput struct {
_ struct{} `type:"structure" nopayload:"true"`
MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
// RoutingControlArn is a required field
RoutingControlArn *string `location:"uri" locationName:"RoutingControlArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListAssociatedRoute53HealthChecksInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListAssociatedRoute53HealthChecksInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListAssociatedRoute53HealthChecksInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListAssociatedRoute53HealthChecksInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.RoutingControlArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
}
if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListAssociatedRoute53HealthChecksInput) SetMaxResults(v int64) *ListAssociatedRoute53HealthChecksInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListAssociatedRoute53HealthChecksInput) SetNextToken(v string) *ListAssociatedRoute53HealthChecksInput {
s.NextToken = &v
return s
}
// SetRoutingControlArn sets the RoutingControlArn field's value.
func (s *ListAssociatedRoute53HealthChecksInput) SetRoutingControlArn(v string) *ListAssociatedRoute53HealthChecksInput {
s.RoutingControlArn = &v
return s
}
// The result of a successful ListAssociatedRoute53HealthChecks request.
type ListAssociatedRoute53HealthChecksOutput struct {
_ struct{} `type:"structure"`
// Identifiers for the health checks.
HealthCheckIds []*string `type:"list"`
// Next token for listing health checks.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListAssociatedRoute53HealthChecksOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListAssociatedRoute53HealthChecksOutput) GoString() string {
return s.String()
}
// SetHealthCheckIds sets the HealthCheckIds field's value.
func (s *ListAssociatedRoute53HealthChecksOutput) SetHealthCheckIds(v []*string) *ListAssociatedRoute53HealthChecksOutput {
s.HealthCheckIds = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListAssociatedRoute53HealthChecksOutput) SetNextToken(v string) *ListAssociatedRoute53HealthChecksOutput {
s.NextToken = &v
return s
}
type ListClustersInput struct {
_ struct{} `type:"structure" nopayload:"true"`
MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListClustersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListClustersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListClustersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput {
s.NextToken = &v
return s
}
// The result of a successful ListClusters request.
type ListClustersOutput struct {
_ struct{} `type:"structure"`
// An array of the clusters in an account.
Clusters []*Cluster `type:"list"`
// The token that identifies which batch of results you want to see.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListClustersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListClustersOutput) GoString() string {
return s.String()
}
// SetClusters sets the Clusters field's value.
func (s *ListClustersOutput) SetClusters(v []*Cluster) *ListClustersOutput {
s.Clusters = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput {
s.NextToken = &v
return s
}
type ListControlPanelsInput struct {
_ struct{} `type:"structure" nopayload:"true"`
ClusterArn *string `location:"querystring" locationName:"ClusterArn" type:"string"`
MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListControlPanelsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListControlPanelsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListControlPanelsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListControlPanelsInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetClusterArn sets the ClusterArn field's value.
func (s *ListControlPanelsInput) SetClusterArn(v string) *ListControlPanelsInput {
s.ClusterArn = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListControlPanelsInput) SetMaxResults(v int64) *ListControlPanelsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListControlPanelsInput) SetNextToken(v string) *ListControlPanelsInput {
s.NextToken = &v
return s
}
// The result of a successful ListControlPanel request.
type ListControlPanelsOutput struct {
_ struct{} `type:"structure"`
// The result of a successful ListControlPanel request.
ControlPanels []*ControlPanel `type:"list"`
// The token that identifies which batch of results you want to see.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListControlPanelsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListControlPanelsOutput) GoString() string {
return s.String()
}
// SetControlPanels sets the ControlPanels field's value.
func (s *ListControlPanelsOutput) SetControlPanels(v []*ControlPanel) *ListControlPanelsOutput {
s.ControlPanels = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListControlPanelsOutput) SetNextToken(v string) *ListControlPanelsOutput {
s.NextToken = &v
return s
}
type ListRoutingControlsInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ControlPanelArn is a required field
ControlPanelArn *string `location:"uri" locationName:"ControlPanelArn" type:"string" required:"true"`
MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRoutingControlsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRoutingControlsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListRoutingControlsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListRoutingControlsInput"}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *ListRoutingControlsInput) SetControlPanelArn(v string) *ListRoutingControlsInput {
s.ControlPanelArn = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListRoutingControlsInput) SetMaxResults(v int64) *ListRoutingControlsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListRoutingControlsInput) SetNextToken(v string) *ListRoutingControlsInput {
s.NextToken = &v
return s
}
// The result of a successful ListRoutingControl request.
type ListRoutingControlsOutput struct {
_ struct{} `type:"structure"`
// The token that identifies which batch of results you want to see.
NextToken *string `min:"1" type:"string"`
// An array of routing controls.
RoutingControls []*RoutingControl `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRoutingControlsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListRoutingControlsOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *ListRoutingControlsOutput) SetNextToken(v string) *ListRoutingControlsOutput {
s.NextToken = &v
return s
}
// SetRoutingControls sets the RoutingControls field's value.
func (s *ListRoutingControlsOutput) SetRoutingControls(v []*RoutingControl) *ListRoutingControlsOutput {
s.RoutingControls = v
return s
}
type ListSafetyRulesInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ControlPanelArn is a required field
ControlPanelArn *string `location:"uri" locationName:"ControlPanelArn" type:"string" required:"true"`
MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSafetyRulesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSafetyRulesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListSafetyRulesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListSafetyRulesInput"}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *ListSafetyRulesInput) SetControlPanelArn(v string) *ListSafetyRulesInput {
s.ControlPanelArn = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListSafetyRulesInput) SetMaxResults(v int64) *ListSafetyRulesInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListSafetyRulesInput) SetNextToken(v string) *ListSafetyRulesInput {
s.NextToken = &v
return s
}
// The response to a ListSafetyRulesRequest.
type ListSafetyRulesOutput struct {
_ struct{} `type:"structure"`
// The token that identifies which batch of results you want to see.
NextToken *string `min:"1" type:"string"`
// The list of safety rules in a control panel.
SafetyRules []*Rule `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSafetyRulesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListSafetyRulesOutput) GoString() string {
return s.String()
}
// SetNextToken sets the NextToken field's value.
func (s *ListSafetyRulesOutput) SetNextToken(v string) *ListSafetyRulesOutput {
s.NextToken = &v
return s
}
// SetSafetyRules sets the SafetyRules field's value.
func (s *ListSafetyRulesOutput) SetSafetyRules(v []*Rule) *ListSafetyRulesOutput {
s.SafetyRules = v
return s
}
type ListTagsForResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListTagsForResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
s.ResourceArn = &v
return s
}
// The result of a successful ListTagsForResource request.
type ListTagsForResourceOutput struct {
_ struct{} `type:"structure"`
// The tags associated with the resource.
Tags map[string]*string `type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceOutput) GoString() string {
return s.String()
}
// SetTags sets the Tags field's value.
func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
s.Tags = v
return s
}
// A new assertion rule for a control panel.
type NewAssertionRule struct {
_ struct{} `type:"structure"`
// The routing controls that are part of transactions that are evaluated to
// determine if a request to change a routing control state is allowed. For
// example, you might include three routing controls, one for each of three
// Amazon Web Services Regions.
//
// AssertedControls is a required field
AssertedControls []*string `type:"list" required:"true"`
// The Amazon Resource Name (ARN) for the control panel.
//
// ControlPanelArn is a required field
ControlPanelArn *string `min:"1" type:"string" required:"true"`
// The name of the assertion rule. You can use any non-white space character
// in the name.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The criteria that you set for specific assertion controls (routing controls)
// that designate how many control states must be ON as the result of a transaction.
// For example, if you have three assertion controls, you might specify ATLEAST
// 2 for your rule configuration. This means that at least two assertion controls
// must be ON, so that at least two Amazon Web Services Regions have traffic
// flowing to them.
//
// RuleConfig is a required field
RuleConfig *RuleConfig `type:"structure" required:"true"`
// An evaluation period, in milliseconds (ms), during which any request against
// the target routing controls will fail. This helps prevent "flapping" of state.
// The wait period is 5000 ms by default, but you can choose a custom value.
//
// WaitPeriodMs is a required field
WaitPeriodMs *int64 `type:"integer" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewAssertionRule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewAssertionRule) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *NewAssertionRule) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "NewAssertionRule"}
if s.AssertedControls == nil {
invalidParams.Add(request.NewErrParamRequired("AssertedControls"))
}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.RuleConfig == nil {
invalidParams.Add(request.NewErrParamRequired("RuleConfig"))
}
if s.WaitPeriodMs == nil {
invalidParams.Add(request.NewErrParamRequired("WaitPeriodMs"))
}
if s.RuleConfig != nil {
if err := s.RuleConfig.Validate(); err != nil {
invalidParams.AddNested("RuleConfig", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAssertedControls sets the AssertedControls field's value.
func (s *NewAssertionRule) SetAssertedControls(v []*string) *NewAssertionRule {
s.AssertedControls = v
return s
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *NewAssertionRule) SetControlPanelArn(v string) *NewAssertionRule {
s.ControlPanelArn = &v
return s
}
// SetName sets the Name field's value.
func (s *NewAssertionRule) SetName(v string) *NewAssertionRule {
s.Name = &v
return s
}
// SetRuleConfig sets the RuleConfig field's value.
func (s *NewAssertionRule) SetRuleConfig(v *RuleConfig) *NewAssertionRule {
s.RuleConfig = v
return s
}
// SetWaitPeriodMs sets the WaitPeriodMs field's value.
func (s *NewAssertionRule) SetWaitPeriodMs(v int64) *NewAssertionRule {
s.WaitPeriodMs = &v
return s
}
// A new gating rule for a control panel.
type NewGatingRule struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the control panel.
//
// ControlPanelArn is a required field
ControlPanelArn *string `min:"1" type:"string" required:"true"`
// The gating controls for the new gating rule. That is, routing controls that
// are evaluated by the rule configuration that you specify.
//
// GatingControls is a required field
GatingControls []*string `type:"list" required:"true"`
// The name for the new gating rule.
//
// Name is a required field
Name *string `min:"1" type:"string" required:"true"`
// The criteria that you set for specific gating controls (routing controls)
// that designate how many control states must be ON to allow you to change
// (set or unset) the target control states.
//
// RuleConfig is a required field
RuleConfig *RuleConfig `type:"structure" required:"true"`
// Routing controls that can only be set or unset if the specified RuleConfig
// evaluates to true for the specified GatingControls. For example, say you
// have three gating controls, one for each of three Amazon Web Services Regions.
// Now you specify ATLEAST 2 as your RuleConfig. With these settings, you can
// only change (set or unset) the routing controls that you have specified as
// TargetControls if that rule evaluates to true.
//
// In other words, your ability to change the routing controls that you have
// specified as TargetControls is gated by the rule that you set for the routing
// controls in GatingControls.
//
// TargetControls is a required field
TargetControls []*string `type:"list" required:"true"`
// An evaluation period, in milliseconds (ms), during which any request against
// the target routing controls will fail. This helps prevent "flapping" of state.
// The wait period is 5000 ms by default, but you can choose a custom value.
//
// WaitPeriodMs is a required field
WaitPeriodMs *int64 `type:"integer" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewGatingRule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewGatingRule) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *NewGatingRule) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "NewGatingRule"}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if s.GatingControls == nil {
invalidParams.Add(request.NewErrParamRequired("GatingControls"))
}
if s.Name == nil {
invalidParams.Add(request.NewErrParamRequired("Name"))
}
if s.Name != nil && len(*s.Name) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Name", 1))
}
if s.RuleConfig == nil {
invalidParams.Add(request.NewErrParamRequired("RuleConfig"))
}
if s.TargetControls == nil {
invalidParams.Add(request.NewErrParamRequired("TargetControls"))
}
if s.WaitPeriodMs == nil {
invalidParams.Add(request.NewErrParamRequired("WaitPeriodMs"))
}
if s.RuleConfig != nil {
if err := s.RuleConfig.Validate(); err != nil {
invalidParams.AddNested("RuleConfig", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *NewGatingRule) SetControlPanelArn(v string) *NewGatingRule {
s.ControlPanelArn = &v
return s
}
// SetGatingControls sets the GatingControls field's value.
func (s *NewGatingRule) SetGatingControls(v []*string) *NewGatingRule {
s.GatingControls = v
return s
}
// SetName sets the Name field's value.
func (s *NewGatingRule) SetName(v string) *NewGatingRule {
s.Name = &v
return s
}
// SetRuleConfig sets the RuleConfig field's value.
func (s *NewGatingRule) SetRuleConfig(v *RuleConfig) *NewGatingRule {
s.RuleConfig = v
return s
}
// SetTargetControls sets the TargetControls field's value.
func (s *NewGatingRule) SetTargetControls(v []*string) *NewGatingRule {
s.TargetControls = v
return s
}
// SetWaitPeriodMs sets the WaitPeriodMs field's value.
func (s *NewGatingRule) SetWaitPeriodMs(v int64) *NewGatingRule {
s.WaitPeriodMs = &v
return s
}
// 404 response - MalformedQueryString. The query string contains a syntax error
// or resource not found.
type ResourceNotFoundException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) GoString() string {
return s.String()
}
func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
return &ResourceNotFoundException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ResourceNotFoundException) Code() string {
return "ResourceNotFoundException"
}
// Message returns the exception's message.
func (s *ResourceNotFoundException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ResourceNotFoundException) OrigErr() error {
return nil
}
func (s *ResourceNotFoundException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ResourceNotFoundException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
// A routing control has one of two states: ON and OFF. You can map the routing
// control state to the state of an Amazon Route 53 health check, which can
// be used to control traffic routing.
type RoutingControl struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the control panel that includes the routing
// control.
ControlPanelArn *string `min:"1" type:"string"`
// The name of the routing control.
Name *string `min:"1" type:"string"`
// The Amazon Web Services account ID of the routing control owner.
Owner *string `min:"12" type:"string"`
// The Amazon Resource Name (ARN) of the routing control.
RoutingControlArn *string `min:"1" type:"string"`
// The deployment status of a routing control. Status can be one of the following:
// PENDING, DEPLOYED, PENDING_DELETION.
Status *string `type:"string" enum:"Status"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RoutingControl) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RoutingControl) GoString() string {
return s.String()
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *RoutingControl) SetControlPanelArn(v string) *RoutingControl {
s.ControlPanelArn = &v
return s
}
// SetName sets the Name field's value.
func (s *RoutingControl) SetName(v string) *RoutingControl {
s.Name = &v
return s
}
// SetOwner sets the Owner field's value.
func (s *RoutingControl) SetOwner(v string) *RoutingControl {
s.Owner = &v
return s
}
// SetRoutingControlArn sets the RoutingControlArn field's value.
func (s *RoutingControl) SetRoutingControlArn(v string) *RoutingControl {
s.RoutingControlArn = &v
return s
}
// SetStatus sets the Status field's value.
func (s *RoutingControl) SetStatus(v string) *RoutingControl {
s.Status = &v
return s
}
// A safety rule. A safety rule can be an assertion rule or a gating rule.
type Rule struct {
_ struct{} `type:"structure"`
// An assertion rule enforces that, when a routing control state is changed,
// the criteria set by the rule configuration is met. Otherwise, the change
// to the routing control state is not accepted. For example, the criteria might
// be that at least one routing control state is On after the transaction so
// that traffic continues to flow to at least one cell for the application.
// This ensures that you avoid a fail-open scenario.
ASSERTION *AssertionRule `type:"structure"`
// A gating rule verifies that a gating routing control or set of gating routing
// controls, evaluates as true, based on a rule configuration that you specify,
// which allows a set of routing control state changes to complete.
//
// For example, if you specify one gating routing control and you set the Type
// in the rule configuration to OR, that indicates that you must set the gating
// routing control to On for the rule to evaluate as true; that is, for the
// gating control "switch" to be "On". When you do that, then you can update
// the routing control states for the target routing controls that you specify
// in the gating rule.
GATING *GatingRule `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Rule) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Rule) GoString() string {
return s.String()
}
// SetASSERTION sets the ASSERTION field's value.
func (s *Rule) SetASSERTION(v *AssertionRule) *Rule {
s.ASSERTION = v
return s
}
// SetGATING sets the GATING field's value.
func (s *Rule) SetGATING(v *GatingRule) *Rule {
s.GATING = v
return s
}
// The rule configuration for an assertion rule. That is, the criteria that
// you set for specific assertion controls (routing controls) that specify how
// many control states must be ON after a transaction completes.
type RuleConfig struct {
_ struct{} `type:"structure"`
// Logical negation of the rule. If the rule would usually evaluate true, it's
// evaluated as false, and vice versa.
//
// Inverted is a required field
Inverted *bool `type:"boolean" required:"true"`
// The value of N, when you specify an ATLEAST rule type. That is, Threshold
// is the number of controls that must be set when you specify an ATLEAST type.
//
// Threshold is a required field
Threshold *int64 `type:"integer" required:"true"`
// A rule can be one of the following: ATLEAST, AND, or OR.
//
// Type is a required field
Type *string `type:"string" required:"true" enum:"RuleType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RuleConfig) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RuleConfig) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RuleConfig) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RuleConfig"}
if s.Inverted == nil {
invalidParams.Add(request.NewErrParamRequired("Inverted"))
}
if s.Threshold == nil {
invalidParams.Add(request.NewErrParamRequired("Threshold"))
}
if s.Type == nil {
invalidParams.Add(request.NewErrParamRequired("Type"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetInverted sets the Inverted field's value.
func (s *RuleConfig) SetInverted(v bool) *RuleConfig {
s.Inverted = &v
return s
}
// SetThreshold sets the Threshold field's value.
func (s *RuleConfig) SetThreshold(v int64) *RuleConfig {
s.Threshold = &v
return s
}
// SetType sets the Type field's value.
func (s *RuleConfig) SetType(v string) *RuleConfig {
s.Type = &v
return s
}
// 402 response - You attempted to create more resources than the service allows
// based on service quotas.
type ServiceQuotaExceededException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) GoString() string {
return s.String()
}
func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
return &ServiceQuotaExceededException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ServiceQuotaExceededException) Code() string {
return "ServiceQuotaExceededException"
}
// Message returns the exception's message.
func (s *ServiceQuotaExceededException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServiceQuotaExceededException) OrigErr() error {
return nil
}
func (s *ServiceQuotaExceededException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ServiceQuotaExceededException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ServiceQuotaExceededException) RequestID() string {
return s.RespMetadata.RequestID
}
// Request to tag a resource.
type TagResourceInput struct {
_ struct{} `type:"structure"`
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
// The tags associated with the resource.
//
// Tags is a required field
Tags map[string]*string `type:"map" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TagResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if s.Tags == nil {
invalidParams.Add(request.NewErrParamRequired("Tags"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
s.ResourceArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
s.Tags = v
return s
}
// The result of a successful TagResource request.
type TagResourceOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceOutput) GoString() string {
return s.String()
}
// 429 response - LimitExceededException or TooManyRequestsException.
type ThrottlingException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ThrottlingException) GoString() string {
return s.String()
}
func newErrorThrottlingException(v protocol.ResponseMetadata) error {
return &ThrottlingException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ThrottlingException) Code() string {
return "ThrottlingException"
}
// Message returns the exception's message.
func (s *ThrottlingException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ThrottlingException) OrigErr() error {
return nil
}
func (s *ThrottlingException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ThrottlingException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ThrottlingException) RequestID() string {
return s.RespMetadata.RequestID
}
type UntagResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
// TagKeys is a required field
TagKeys []*string `location:"querystring" locationName:"TagKeys" type:"list" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UntagResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if s.TagKeys == nil {
invalidParams.Add(request.NewErrParamRequired("TagKeys"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
s.ResourceArn = &v
return s
}
// SetTagKeys sets the TagKeys field's value.
func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
s.TagKeys = v
return s
}
// The result of a successful UntagResource request.
type UntagResourceOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceOutput) GoString() string {
return s.String()
}
// Updates an existing control panel.
type UpdateControlPanelInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the control panel.
//
// ControlPanelArn is a required field
ControlPanelArn *string `min:"1" type:"string" required:"true"`
// The name of the control panel.
//
// ControlPanelName is a required field
ControlPanelName *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateControlPanelInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateControlPanelInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateControlPanelInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateControlPanelInput"}
if s.ControlPanelArn == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelArn"))
}
if s.ControlPanelArn != nil && len(*s.ControlPanelArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelArn", 1))
}
if s.ControlPanelName == nil {
invalidParams.Add(request.NewErrParamRequired("ControlPanelName"))
}
if s.ControlPanelName != nil && len(*s.ControlPanelName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ControlPanelName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetControlPanelArn sets the ControlPanelArn field's value.
func (s *UpdateControlPanelInput) SetControlPanelArn(v string) *UpdateControlPanelInput {
s.ControlPanelArn = &v
return s
}
// SetControlPanelName sets the ControlPanelName field's value.
func (s *UpdateControlPanelInput) SetControlPanelName(v string) *UpdateControlPanelInput {
s.ControlPanelName = &v
return s
}
// The result of a successful UpdateControlPanel request.
type UpdateControlPanelOutput struct {
_ struct{} `type:"structure"`
// The control panel to update.
ControlPanel *ControlPanel `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateControlPanelOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateControlPanelOutput) GoString() string {
return s.String()
}
// SetControlPanel sets the ControlPanel field's value.
func (s *UpdateControlPanelOutput) SetControlPanel(v *ControlPanel) *UpdateControlPanelOutput {
s.ControlPanel = v
return s
}
// A request to update a routing control.
type UpdateRoutingControlInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the routing control.
//
// RoutingControlArn is a required field
RoutingControlArn *string `min:"1" type:"string" required:"true"`
// The name of the routing control.
//
// RoutingControlName is a required field
RoutingControlName *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRoutingControlInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRoutingControlInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateRoutingControlInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateRoutingControlInput"}
if s.RoutingControlArn == nil {
invalidParams.Add(request.NewErrParamRequired("RoutingControlArn"))
}
if s.RoutingControlArn != nil && len(*s.RoutingControlArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RoutingControlArn", 1))
}
if s.RoutingControlName == nil {
invalidParams.Add(request.NewErrParamRequired("RoutingControlName"))
}
if s.RoutingControlName != nil && len(*s.RoutingControlName) < 1 {
invalidParams.Add(request.NewErrParamMinLen("RoutingControlName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetRoutingControlArn sets the RoutingControlArn field's value.
func (s *UpdateRoutingControlInput) SetRoutingControlArn(v string) *UpdateRoutingControlInput {
s.RoutingControlArn = &v
return s
}
// SetRoutingControlName sets the RoutingControlName field's value.
func (s *UpdateRoutingControlInput) SetRoutingControlName(v string) *UpdateRoutingControlInput {
s.RoutingControlName = &v
return s
}
// The result of a successful UpdateRoutingControl request.
type UpdateRoutingControlOutput struct {
_ struct{} `type:"structure"`
// The routing control that was updated.
RoutingControl *RoutingControl `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRoutingControlOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateRoutingControlOutput) GoString() string {
return s.String()
}
// SetRoutingControl sets the RoutingControl field's value.
func (s *UpdateRoutingControlOutput) SetRoutingControl(v *RoutingControl) *UpdateRoutingControlOutput {
s.RoutingControl = v
return s
}
// Request to update a safety rule. A safety rule can be an assertion rule or
// a gating rule.
type UpdateSafetyRuleInput struct {
_ struct{} `type:"structure"`
// The assertion rule to update.
AssertionRuleUpdate *AssertionRuleUpdate `type:"structure"`
// The gating rule to update.
GatingRuleUpdate *GatingRuleUpdate `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateSafetyRuleInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateSafetyRuleInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateSafetyRuleInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateSafetyRuleInput"}
if s.AssertionRuleUpdate != nil {
if err := s.AssertionRuleUpdate.Validate(); err != nil {
invalidParams.AddNested("AssertionRuleUpdate", err.(request.ErrInvalidParams))
}
}
if s.GatingRuleUpdate != nil {
if err := s.GatingRuleUpdate.Validate(); err != nil {
invalidParams.AddNested("GatingRuleUpdate", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAssertionRuleUpdate sets the AssertionRuleUpdate field's value.
func (s *UpdateSafetyRuleInput) SetAssertionRuleUpdate(v *AssertionRuleUpdate) *UpdateSafetyRuleInput {
s.AssertionRuleUpdate = v
return s
}
// SetGatingRuleUpdate sets the GatingRuleUpdate field's value.
func (s *UpdateSafetyRuleInput) SetGatingRuleUpdate(v *GatingRuleUpdate) *UpdateSafetyRuleInput {
s.GatingRuleUpdate = v
return s
}
// The result of a successful UpdateSafetyRule request.
type UpdateSafetyRuleOutput struct {
_ struct{} `type:"structure"`
// The assertion rule updated.
AssertionRule *AssertionRule `type:"structure"`
// The gating rule updated.
GatingRule *GatingRule `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateSafetyRuleOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateSafetyRuleOutput) GoString() string {
return s.String()
}
// SetAssertionRule sets the AssertionRule field's value.
func (s *UpdateSafetyRuleOutput) SetAssertionRule(v *AssertionRule) *UpdateSafetyRuleOutput {
s.AssertionRule = v
return s
}
// SetGatingRule sets the GatingRule field's value.
func (s *UpdateSafetyRuleOutput) SetGatingRule(v *GatingRule) *UpdateSafetyRuleOutput {
s.GatingRule = v
return s
}
// 400 response - Multiple causes. For example, you might have a malformed query
// string and input parameter might be out of range, or you might have used
// parameters together incorrectly.
type ValidationException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) GoString() string {
return s.String()
}
func newErrorValidationException(v protocol.ResponseMetadata) error {
return &ValidationException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ValidationException) Code() string {
return "ValidationException"
}
// Message returns the exception's message.
func (s *ValidationException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ValidationException) OrigErr() error {
return nil
}
func (s *ValidationException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ValidationException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ValidationException) RequestID() string {
return s.RespMetadata.RequestID
}
// An enumerated type that determines how the evaluated rules are processed.
// RuleType can be one of the following:
//
// ATLEAST - At least N routing controls must be set. You specify N as the Threshold
// in the rule configuration.
//
// AND - All routing controls must be set. This is a shortcut for "At least
// N," where N is the total number of controls in the rule.
//
// OR - Any control must be set. This is a shortcut for "At least N," where
// N is 1.
const (
// RuleTypeAtleast is a RuleType enum value
RuleTypeAtleast = "ATLEAST"
// RuleTypeAnd is a RuleType enum value
RuleTypeAnd = "AND"
// RuleTypeOr is a RuleType enum value
RuleTypeOr = "OR"
)
// RuleType_Values returns all elements of the RuleType enum
func RuleType_Values() []string {
return []string{
RuleTypeAtleast,
RuleTypeAnd,
RuleTypeOr,
}
}
// The deployment status of a resource. Status can be one of the following:
//
// PENDING: Amazon Route 53 Application Recovery Controller is creating the
// resource.
//
// DEPLOYED: The resource is deployed and ready to use.
//
// PENDING_DELETION: Amazon Route 53 Application Recovery Controller is deleting
// the resource.
const (
// StatusPending is a Status enum value
StatusPending = "PENDING"
// StatusDeployed is a Status enum value
StatusDeployed = "DEPLOYED"
// StatusPendingDeletion is a Status enum value
StatusPendingDeletion = "PENDING_DELETION"
)
// Status_Values returns all elements of the Status enum
func Status_Values() []string {
return []string{
StatusPending,
StatusDeployed,
StatusPendingDeletion,
}
}