Documentation

Overview

Package appmesh provides the client and types for making API requests to AWS App Mesh.

AWS App Mesh is a service mesh based on the Envoy proxy that makes it easy to monitor and control microservices. App Mesh standardizes how your microservices communicate, giving you end-to-end visibility and helping to ensure high availability for your applications.

App Mesh gives you consistent visibility and network traffic controls for every microservice in an application. You can use App Mesh with AWS Fargate, Amazon ECS, Amazon EKS, Kubernetes on AWS, and Amazon EC2.

App Mesh supports microservice applications that use service discovery naming for their components. For more information about service discovery on Amazon ECS, see Service Discovery (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-discovery.html) in the Amazon Elastic Container Service Developer Guide. Kubernetes kube-dns and coredns are supported. For more information, see DNS for Services and Pods (https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/) in the Kubernetes documentation.

See https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25 for more information on this service.

See appmesh package documentation for more information. https://docs.aws.amazon.com/sdk-for-go/api/service/appmesh/

Using the Client

To contact AWS App Mesh with the SDK use the New function to create a new service client. With that client you can make API requests to the service. These clients are safe to use concurrently.

See the SDK's documentation for more information on how to use the SDK. https://docs.aws.amazon.com/sdk-for-go/api/

See aws.Config documentation for more information on configuring SDK clients. https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config

See the AWS App Mesh client AppMesh for more information on creating client for this service. https://docs.aws.amazon.com/sdk-for-go/api/service/appmesh/#New

Index

Constants

View Source
const (
	// DurationUnitS is a DurationUnit enum value
	DurationUnitS = "s"

	// DurationUnitMs is a DurationUnit enum value
	DurationUnitMs = "ms"
)
View Source
const (
	// EgressFilterTypeAllowAll is a EgressFilterType enum value
	EgressFilterTypeAllowAll = "ALLOW_ALL"

	// EgressFilterTypeDropAll is a EgressFilterType enum value
	EgressFilterTypeDropAll = "DROP_ALL"
)
View Source
const (
	// GatewayRouteStatusCodeActive is a GatewayRouteStatusCode enum value
	GatewayRouteStatusCodeActive = "ACTIVE"

	// GatewayRouteStatusCodeInactive is a GatewayRouteStatusCode enum value
	GatewayRouteStatusCodeInactive = "INACTIVE"

	// GatewayRouteStatusCodeDeleted is a GatewayRouteStatusCode enum value
	GatewayRouteStatusCodeDeleted = "DELETED"
)
View Source
const (
	// GrpcRetryPolicyEventCancelled is a GrpcRetryPolicyEvent enum value
	GrpcRetryPolicyEventCancelled = "cancelled"

	// GrpcRetryPolicyEventDeadlineExceeded is a GrpcRetryPolicyEvent enum value
	GrpcRetryPolicyEventDeadlineExceeded = "deadline-exceeded"

	// GrpcRetryPolicyEventInternal is a GrpcRetryPolicyEvent enum value
	GrpcRetryPolicyEventInternal = "internal"

	// GrpcRetryPolicyEventResourceExhausted is a GrpcRetryPolicyEvent enum value
	GrpcRetryPolicyEventResourceExhausted = "resource-exhausted"

	// GrpcRetryPolicyEventUnavailable is a GrpcRetryPolicyEvent enum value
	GrpcRetryPolicyEventUnavailable = "unavailable"
)
View Source
const (
	// HttpMethodGet is a HttpMethod enum value
	HttpMethodGet = "GET"

	// HttpMethodHead is a HttpMethod enum value
	HttpMethodHead = "HEAD"

	// HttpMethodPost is a HttpMethod enum value
	HttpMethodPost = "POST"

	// HttpMethodPut is a HttpMethod enum value
	HttpMethodPut = "PUT"

	// HttpMethodDelete is a HttpMethod enum value
	HttpMethodDelete = "DELETE"

	// HttpMethodConnect is a HttpMethod enum value
	HttpMethodConnect = "CONNECT"

	// HttpMethodOptions is a HttpMethod enum value
	HttpMethodOptions = "OPTIONS"

	// HttpMethodTrace is a HttpMethod enum value
	HttpMethodTrace = "TRACE"

	// HttpMethodPatch is a HttpMethod enum value
	HttpMethodPatch = "PATCH"
)
View Source
const (
	// HttpSchemeHttp is a HttpScheme enum value
	HttpSchemeHttp = "http"

	// HttpSchemeHttps is a HttpScheme enum value
	HttpSchemeHttps = "https"
)
View Source
const (
	// ListenerTlsModeStrict is a ListenerTlsMode enum value
	ListenerTlsModeStrict = "STRICT"

	// ListenerTlsModePermissive is a ListenerTlsMode enum value
	ListenerTlsModePermissive = "PERMISSIVE"

	// ListenerTlsModeDisabled is a ListenerTlsMode enum value
	ListenerTlsModeDisabled = "DISABLED"
)
View Source
const (
	// MeshStatusCodeActive is a MeshStatusCode enum value
	MeshStatusCodeActive = "ACTIVE"

	// MeshStatusCodeInactive is a MeshStatusCode enum value
	MeshStatusCodeInactive = "INACTIVE"

	// MeshStatusCodeDeleted is a MeshStatusCode enum value
	MeshStatusCodeDeleted = "DELETED"
)
View Source
const (
	// PortProtocolHttp is a PortProtocol enum value
	PortProtocolHttp = "http"

	// PortProtocolTcp is a PortProtocol enum value
	PortProtocolTcp = "tcp"

	// PortProtocolHttp2 is a PortProtocol enum value
	PortProtocolHttp2 = "http2"

	// PortProtocolGrpc is a PortProtocol enum value
	PortProtocolGrpc = "grpc"
)
View Source
const (
	// RouteStatusCodeActive is a RouteStatusCode enum value
	RouteStatusCodeActive = "ACTIVE"

	// RouteStatusCodeInactive is a RouteStatusCode enum value
	RouteStatusCodeInactive = "INACTIVE"

	// RouteStatusCodeDeleted is a RouteStatusCode enum value
	RouteStatusCodeDeleted = "DELETED"
)
View Source
const (
	// VirtualGatewayListenerTlsModeStrict is a VirtualGatewayListenerTlsMode enum value
	VirtualGatewayListenerTlsModeStrict = "STRICT"

	// VirtualGatewayListenerTlsModePermissive is a VirtualGatewayListenerTlsMode enum value
	VirtualGatewayListenerTlsModePermissive = "PERMISSIVE"

	// VirtualGatewayListenerTlsModeDisabled is a VirtualGatewayListenerTlsMode enum value
	VirtualGatewayListenerTlsModeDisabled = "DISABLED"
)
View Source
const (
	// VirtualGatewayPortProtocolHttp is a VirtualGatewayPortProtocol enum value
	VirtualGatewayPortProtocolHttp = "http"

	// VirtualGatewayPortProtocolHttp2 is a VirtualGatewayPortProtocol enum value
	VirtualGatewayPortProtocolHttp2 = "http2"

	// VirtualGatewayPortProtocolGrpc is a VirtualGatewayPortProtocol enum value
	VirtualGatewayPortProtocolGrpc = "grpc"
)
View Source
const (
	// VirtualGatewayStatusCodeActive is a VirtualGatewayStatusCode enum value
	VirtualGatewayStatusCodeActive = "ACTIVE"

	// VirtualGatewayStatusCodeInactive is a VirtualGatewayStatusCode enum value
	VirtualGatewayStatusCodeInactive = "INACTIVE"

	// VirtualGatewayStatusCodeDeleted is a VirtualGatewayStatusCode enum value
	VirtualGatewayStatusCodeDeleted = "DELETED"
)
View Source
const (
	// VirtualNodeStatusCodeActive is a VirtualNodeStatusCode enum value
	VirtualNodeStatusCodeActive = "ACTIVE"

	// VirtualNodeStatusCodeInactive is a VirtualNodeStatusCode enum value
	VirtualNodeStatusCodeInactive = "INACTIVE"

	// VirtualNodeStatusCodeDeleted is a VirtualNodeStatusCode enum value
	VirtualNodeStatusCodeDeleted = "DELETED"
)
View Source
const (
	// VirtualRouterStatusCodeActive is a VirtualRouterStatusCode enum value
	VirtualRouterStatusCodeActive = "ACTIVE"

	// VirtualRouterStatusCodeInactive is a VirtualRouterStatusCode enum value
	VirtualRouterStatusCodeInactive = "INACTIVE"

	// VirtualRouterStatusCodeDeleted is a VirtualRouterStatusCode enum value
	VirtualRouterStatusCodeDeleted = "DELETED"
)
View Source
const (
	// VirtualServiceStatusCodeActive is a VirtualServiceStatusCode enum value
	VirtualServiceStatusCodeActive = "ACTIVE"

	// VirtualServiceStatusCodeInactive is a VirtualServiceStatusCode enum value
	VirtualServiceStatusCodeInactive = "INACTIVE"

	// VirtualServiceStatusCodeDeleted is a VirtualServiceStatusCode enum value
	VirtualServiceStatusCodeDeleted = "DELETED"
)
View Source
const (

	// ErrCodeBadRequestException for service response error code
	// "BadRequestException".
	//
	// The request syntax was malformed. Check your request syntax and try again.
	ErrCodeBadRequestException = "BadRequestException"

	// ErrCodeConflictException for service response error code
	// "ConflictException".
	//
	// The request contains a client token that was used for a previous update resource
	// call with different specifications. Try the request again with a new client
	// token.
	ErrCodeConflictException = "ConflictException"

	// ErrCodeForbiddenException for service response error code
	// "ForbiddenException".
	//
	// You don't have permissions to perform this action.
	ErrCodeForbiddenException = "ForbiddenException"

	// ErrCodeInternalServerErrorException for service response error code
	// "InternalServerErrorException".
	//
	// The request processing has failed because of an unknown error, exception,
	// or failure.
	ErrCodeInternalServerErrorException = "InternalServerErrorException"

	// ErrCodeLimitExceededException for service response error code
	// "LimitExceededException".
	//
	// You have exceeded a service limit for your account. For more information,
	// see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
	// in the AWS App Mesh User Guide.
	ErrCodeLimitExceededException = "LimitExceededException"

	// ErrCodeNotFoundException for service response error code
	// "NotFoundException".
	//
	// The specified resource doesn't exist. Check your request syntax and try again.
	ErrCodeNotFoundException = "NotFoundException"

	// ErrCodeResourceInUseException for service response error code
	// "ResourceInUseException".
	//
	// You can't delete the specified resource because it's in use or required by
	// another resource.
	ErrCodeResourceInUseException = "ResourceInUseException"

	// ErrCodeServiceUnavailableException for service response error code
	// "ServiceUnavailableException".
	//
	// The request has failed due to a temporary failure of the service.
	ErrCodeServiceUnavailableException = "ServiceUnavailableException"

	// ErrCodeTooManyRequestsException for service response error code
	// "TooManyRequestsException".
	//
	// The maximum request rate permitted by the App Mesh APIs has been exceeded
	// for your account. For best results, use an increasing or variable sleep interval
	// between requests.
	ErrCodeTooManyRequestsException = "TooManyRequestsException"

	// ErrCodeTooManyTagsException for service response error code
	// "TooManyTagsException".
	//
	// The request exceeds the maximum allowed number of tags allowed per resource.
	// The current limit is 50 user tags per resource. You must reduce the number
	// of tags in the request. None of the tags in this request were applied.
	ErrCodeTooManyTagsException = "TooManyTagsException"
)
View Source
const (
	ServiceName = "App Mesh" // Name of service.
	EndpointsID = "appmesh"  // ID to lookup a service endpoint with.
	ServiceID   = "App Mesh" // ServiceID is a unique identifier of a specific service.
)

Service information constants

View Source
const (
	// TcpRetryPolicyEventConnectionError is a TcpRetryPolicyEvent enum value
	TcpRetryPolicyEventConnectionError = "connection-error"
)

Variables

This section is empty.

Functions

func DurationUnit_Values

func DurationUnit_Values() []string

DurationUnit_Values returns all elements of the DurationUnit enum

func EgressFilterType_Values

func EgressFilterType_Values() []string

EgressFilterType_Values returns all elements of the EgressFilterType enum

func GatewayRouteStatusCode_Values

func GatewayRouteStatusCode_Values() []string

GatewayRouteStatusCode_Values returns all elements of the GatewayRouteStatusCode enum

func GrpcRetryPolicyEvent_Values

func GrpcRetryPolicyEvent_Values() []string

GrpcRetryPolicyEvent_Values returns all elements of the GrpcRetryPolicyEvent enum

func HttpMethod_Values

func HttpMethod_Values() []string

HttpMethod_Values returns all elements of the HttpMethod enum

func HttpScheme_Values

func HttpScheme_Values() []string

HttpScheme_Values returns all elements of the HttpScheme enum

func ListenerTlsMode_Values

func ListenerTlsMode_Values() []string

ListenerTlsMode_Values returns all elements of the ListenerTlsMode enum

func MeshStatusCode_Values

func MeshStatusCode_Values() []string

MeshStatusCode_Values returns all elements of the MeshStatusCode enum

func PortProtocol_Values

func PortProtocol_Values() []string

PortProtocol_Values returns all elements of the PortProtocol enum

func RouteStatusCode_Values

func RouteStatusCode_Values() []string

RouteStatusCode_Values returns all elements of the RouteStatusCode enum

func TcpRetryPolicyEvent_Values

func TcpRetryPolicyEvent_Values() []string

TcpRetryPolicyEvent_Values returns all elements of the TcpRetryPolicyEvent enum

func VirtualGatewayListenerTlsMode_Values

func VirtualGatewayListenerTlsMode_Values() []string

VirtualGatewayListenerTlsMode_Values returns all elements of the VirtualGatewayListenerTlsMode enum

func VirtualGatewayPortProtocol_Values

func VirtualGatewayPortProtocol_Values() []string

VirtualGatewayPortProtocol_Values returns all elements of the VirtualGatewayPortProtocol enum

func VirtualGatewayStatusCode_Values

func VirtualGatewayStatusCode_Values() []string

VirtualGatewayStatusCode_Values returns all elements of the VirtualGatewayStatusCode enum

func VirtualNodeStatusCode_Values

func VirtualNodeStatusCode_Values() []string

VirtualNodeStatusCode_Values returns all elements of the VirtualNodeStatusCode enum

func VirtualRouterStatusCode_Values

func VirtualRouterStatusCode_Values() []string

VirtualRouterStatusCode_Values returns all elements of the VirtualRouterStatusCode enum

func VirtualServiceStatusCode_Values

func VirtualServiceStatusCode_Values() []string

VirtualServiceStatusCode_Values returns all elements of the VirtualServiceStatusCode enum

Types

type AccessLog

type AccessLog struct {

	// The file object to send virtual node access logs to.
	File *FileAccessLog `locationName:"file" type:"structure"`
	// contains filtered or unexported fields
}

An object that represents the access logging information for a virtual node.

func (AccessLog) GoString

func (s AccessLog) GoString() string

GoString returns the string representation

func (*AccessLog) SetFile

func (s *AccessLog) SetFile(v *FileAccessLog) *AccessLog

SetFile sets the File field's value.

func (AccessLog) String

func (s AccessLog) String() string

String returns the string representation

func (*AccessLog) Validate

func (s *AccessLog) Validate() error

Validate inspects the fields of the type to determine if they are valid.

type AppMesh

type AppMesh struct {
	*client.Client
}

AppMesh provides the API operation methods for making requests to AWS App Mesh. See this package's package overview docs for details on the service.

AppMesh methods are safe to use concurrently. It is not safe to modify mutate any of the struct's properties though.

func New

func New(p client.ConfigProvider, cfgs ...*aws.Config) *AppMesh

New creates a new instance of the AppMesh client with a session. If additional configuration is needed for the client instance use the optional aws.Config parameter to add your extra config.

Example:

mySession := session.Must(session.NewSession())

// Create a AppMesh client from just a session.
svc := appmesh.New(mySession)

// Create a AppMesh client with additional configuration
svc := appmesh.New(mySession, aws.NewConfig().WithRegion("us-west-2"))

func (*AppMesh) CreateGatewayRoute

func (c *AppMesh) CreateGatewayRoute(input *CreateGatewayRouteInput) (*CreateGatewayRouteOutput, error)

CreateGatewayRoute API operation for AWS App Mesh.

Creates a gateway route.

A gateway route is attached to a virtual gateway and routes traffic to an existing virtual service. If a route matches a request, it can distribute traffic to a target virtual service.

For more information about gateway routes, see Gateway routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/gateway-routes.html).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS App Mesh's API operation CreateGatewayRoute for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute

func (*AppMesh) CreateGatewayRouteRequest

func (c *AppMesh) CreateGatewayRouteRequest(input *CreateGatewayRouteInput) (req *request.Request, output *CreateGatewayRouteOutput)

CreateGatewayRouteRequest generates a "aws/request.Request" representing the client's request for the CreateGatewayRoute 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 CreateGatewayRoute for more information on using the CreateGatewayRoute 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 CreateGatewayRouteRequest method.
req, resp := client.CreateGatewayRouteRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateGatewayRoute

func (*AppMesh) CreateGatewayRouteWithContext

func (c *AppMesh) CreateGatewayRouteWithContext(ctx aws.Context, input *CreateGatewayRouteInput, opts ...request.Option) (*CreateGatewayRouteOutput, error)

CreateGatewayRouteWithContext is the same as CreateGatewayRoute with the addition of the ability to pass a context and additional request options.

See CreateGatewayRoute 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 (*AppMesh) CreateMesh

func (c *AppMesh) CreateMesh(input *CreateMeshInput) (*CreateMeshOutput, error)

CreateMesh API operation for AWS App Mesh.

Creates a service mesh.

A service mesh is a logical boundary for network traffic between services that are represented by resources within the mesh. After you create your service mesh, you can create virtual services, virtual nodes, virtual routers, and routes to distribute traffic between the applications in your mesh.

For more information about service meshes, see Service meshes (https://docs.aws.amazon.com/app-mesh/latest/userguide/meshes.html).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS App Mesh's API operation CreateMesh for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh

func (*AppMesh) CreateMeshRequest

func (c *AppMesh) CreateMeshRequest(input *CreateMeshInput) (req *request.Request, output *CreateMeshOutput)

CreateMeshRequest generates a "aws/request.Request" representing the client's request for the CreateMesh 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 CreateMesh for more information on using the CreateMesh 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 CreateMeshRequest method.
req, resp := client.CreateMeshRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateMesh

func (*AppMesh) CreateMeshWithContext

func (c *AppMesh) CreateMeshWithContext(ctx aws.Context, input *CreateMeshInput, opts ...request.Option) (*CreateMeshOutput, error)

CreateMeshWithContext is the same as CreateMesh with the addition of the ability to pass a context and additional request options.

See CreateMesh 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 (*AppMesh) CreateRoute

func (c *AppMesh) CreateRoute(input *CreateRouteInput) (*CreateRouteOutput, error)

CreateRoute API operation for AWS App Mesh.

Creates a route that is associated with a virtual router.

You can route several different protocols and define a retry policy for a route. Traffic can be routed to one or more virtual nodes.

For more information about routes, see Routes (https://docs.aws.amazon.com/app-mesh/latest/userguide/routes.html).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS App Mesh's API operation CreateRoute for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute

func (*AppMesh) CreateRouteRequest

func (c *AppMesh) CreateRouteRequest(input *CreateRouteInput) (req *request.Request, output *CreateRouteOutput)

CreateRouteRequest generates a "aws/request.Request" representing the client's request for the CreateRoute 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 CreateRoute for more information on using the CreateRoute 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 CreateRouteRequest method.
req, resp := client.CreateRouteRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateRoute

func (*AppMesh) CreateRouteWithContext

func (c *AppMesh) CreateRouteWithContext(ctx aws.Context, input *CreateRouteInput, opts ...request.Option) (*CreateRouteOutput, error)

CreateRouteWithContext is the same as CreateRoute with the addition of the ability to pass a context and additional request options.

See CreateRoute 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 (*AppMesh) CreateVirtualGateway

func (c *AppMesh) CreateVirtualGateway(input *CreateVirtualGatewayInput) (*CreateVirtualGatewayOutput, error)

CreateVirtualGateway API operation for AWS App Mesh.

Creates a virtual gateway.

A virtual gateway allows resources outside your mesh to communicate to resources that are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.

For more information about virtual gateways, see Virtual gateways (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS App Mesh's API operation CreateVirtualGateway for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway

func (*AppMesh) CreateVirtualGatewayRequest

func (c *AppMesh) CreateVirtualGatewayRequest(input *CreateVirtualGatewayInput) (req *request.Request, output *CreateVirtualGatewayOutput)

CreateVirtualGatewayRequest generates a "aws/request.Request" representing the client's request for the CreateVirtualGateway 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 CreateVirtualGateway for more information on using the CreateVirtualGateway 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 CreateVirtualGatewayRequest method.
req, resp := client.CreateVirtualGatewayRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualGateway

func (*AppMesh) CreateVirtualGatewayWithContext

func (c *AppMesh) CreateVirtualGatewayWithContext(ctx aws.Context, input *CreateVirtualGatewayInput, opts ...request.Option) (*CreateVirtualGatewayOutput, error)

CreateVirtualGatewayWithContext is the same as CreateVirtualGateway with the addition of the ability to pass a context and additional request options.

See CreateVirtualGateway 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 (*AppMesh) CreateVirtualNode

func (c *AppMesh) CreateVirtualNode(input *CreateVirtualNodeInput) (*CreateVirtualNodeOutput, error)

CreateVirtualNode API operation for AWS App Mesh.

Creates a virtual node within a service mesh.

A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you can specify the service discovery information for your task group, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS).

You define a listener for any inbound traffic that your virtual node expects. Any virtual service that your virtual node expects to communicate to is specified as a backend.

The response metadata for your new virtual node contains the arn that is associated with the virtual node. Set this value to the full ARN; for example, arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) as the APPMESH_RESOURCE_ARN environment variable for your task group's Envoy proxy container in your task definition or pod spec. This is then mapped to the node.id and node.cluster Envoy parameters.

By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN when Envoy is referring to itself in metrics and traces. You can override this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable with your own name.

AWS Cloud Map is not available in the eu-south-1 Region.

For more information about virtual nodes, see Virtual nodes (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html). You must be using 1.15.0 or later of the Envoy image when setting these variables. For more information about App Mesh Envoy variables, see Envoy image (https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) in the AWS App Mesh User 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 App Mesh's API operation CreateVirtualNode for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode

func (*AppMesh) CreateVirtualNodeRequest

func (c *AppMesh) CreateVirtualNodeRequest(input *CreateVirtualNodeInput) (req *request.Request, output *CreateVirtualNodeOutput)

CreateVirtualNodeRequest generates a "aws/request.Request" representing the client's request for the CreateVirtualNode 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 CreateVirtualNode for more information on using the CreateVirtualNode 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 CreateVirtualNodeRequest method.
req, resp := client.CreateVirtualNodeRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualNode

func (*AppMesh) CreateVirtualNodeWithContext

func (c *AppMesh) CreateVirtualNodeWithContext(ctx aws.Context, input *CreateVirtualNodeInput, opts ...request.Option) (*CreateVirtualNodeOutput, error)

CreateVirtualNodeWithContext is the same as CreateVirtualNode with the addition of the ability to pass a context and additional request options.

See CreateVirtualNode 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 (*AppMesh) CreateVirtualRouter

func (c *AppMesh) CreateVirtualRouter(input *CreateVirtualRouterInput) (*CreateVirtualRouterOutput, error)

CreateVirtualRouter API operation for AWS App Mesh.

Creates a virtual router within a service mesh.

Specify a listener for any inbound traffic that your virtual router receives. Create a virtual router for each protocol and port that you need to route. Virtual routers handle traffic for one or more virtual services within your mesh. After you create your virtual router, create and associate routes for your virtual router that direct incoming requests to different virtual nodes.

For more information about virtual routers, see Virtual routers (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_routers.html).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS App Mesh's API operation CreateVirtualRouter for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter

func (*AppMesh) CreateVirtualRouterRequest

func (c *AppMesh) CreateVirtualRouterRequest(input *CreateVirtualRouterInput) (req *request.Request, output *CreateVirtualRouterOutput)

CreateVirtualRouterRequest generates a "aws/request.Request" representing the client's request for the CreateVirtualRouter 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 CreateVirtualRouter for more information on using the CreateVirtualRouter 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 CreateVirtualRouterRequest method.
req, resp := client.CreateVirtualRouterRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualRouter

func (*AppMesh) CreateVirtualRouterWithContext

func (c *AppMesh) CreateVirtualRouterWithContext(ctx aws.Context, input *CreateVirtualRouterInput, opts ...request.Option) (*CreateVirtualRouterOutput, error)

CreateVirtualRouterWithContext is the same as CreateVirtualRouter with the addition of the ability to pass a context and additional request options.

See CreateVirtualRouter 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 (*AppMesh) CreateVirtualService

func (c *AppMesh) CreateVirtualService(input *CreateVirtualServiceInput) (*CreateVirtualServiceOutput, error)

CreateVirtualService API operation for AWS App Mesh.

Creates a virtual service within a service mesh.

A virtual service is an abstraction of a real service that is provided by a virtual node directly or indirectly by means of a virtual router. Dependent services call your virtual service by its virtualServiceName, and those requests are routed to the virtual node or virtual router that is specified as the provider for the virtual service.

For more information about virtual services, see Virtual services (https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_services.html).

Returns awserr.Error for service API and SDK errors. Use runtime type assertions with awserr.Error's Code and Message methods to get detailed information about the error.

See the AWS API reference guide for AWS App Mesh's API operation CreateVirtualService for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* ConflictException
The request contains a client token that was used for a previous update resource
call with different specifications. Try the request again with a new client
token.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

* LimitExceededException
You have exceeded a service limit for your account. For more information,
see Service Limits (https://docs.aws.amazon.com/app-mesh/latest/userguide/service-quotas.html)
in the AWS App Mesh User Guide.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService

func (*AppMesh) CreateVirtualServiceRequest

func (c *AppMesh) CreateVirtualServiceRequest(input *CreateVirtualServiceInput) (req *request.Request, output *CreateVirtualServiceOutput)

CreateVirtualServiceRequest generates a "aws/request.Request" representing the client's request for the CreateVirtualService 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 CreateVirtualService for more information on using the CreateVirtualService 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 CreateVirtualServiceRequest method.
req, resp := client.CreateVirtualServiceRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/CreateVirtualService

func (*AppMesh) CreateVirtualServiceWithContext

func (c *AppMesh) CreateVirtualServiceWithContext(ctx aws.Context, input *CreateVirtualServiceInput, opts ...request.Option) (*CreateVirtualServiceOutput, error)

CreateVirtualServiceWithContext is the same as CreateVirtualService with the addition of the ability to pass a context and additional request options.

See CreateVirtualService 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 (*AppMesh) DeleteGatewayRoute

func (c *AppMesh) DeleteGatewayRoute(input *DeleteGatewayRouteInput) (*DeleteGatewayRouteOutput, error)

DeleteGatewayRoute API operation for AWS App Mesh.

Deletes an existing gateway route.

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 App Mesh's API operation DeleteGatewayRoute for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ResourceInUseException
You can't delete the specified resource because it's in use or required by
another resource.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute

func (*AppMesh) DeleteGatewayRouteRequest

func (c *AppMesh) DeleteGatewayRouteRequest(input *DeleteGatewayRouteInput) (req *request.Request, output *DeleteGatewayRouteOutput)

DeleteGatewayRouteRequest generates a "aws/request.Request" representing the client's request for the DeleteGatewayRoute 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 DeleteGatewayRoute for more information on using the DeleteGatewayRoute 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 DeleteGatewayRouteRequest method.
req, resp := client.DeleteGatewayRouteRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteGatewayRoute

func (*AppMesh) DeleteGatewayRouteWithContext

func (c *AppMesh) DeleteGatewayRouteWithContext(ctx aws.Context, input *DeleteGatewayRouteInput, opts ...request.Option) (*DeleteGatewayRouteOutput, error)

DeleteGatewayRouteWithContext is the same as DeleteGatewayRoute with the addition of the ability to pass a context and additional request options.

See DeleteGatewayRoute 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 (*AppMesh) DeleteMesh

func (c *AppMesh) DeleteMesh(input *DeleteMeshInput) (*DeleteMeshOutput, error)

DeleteMesh API operation for AWS App Mesh.

Deletes an existing service mesh.

You must delete all resources (virtual services, routes, virtual routers, and virtual nodes) in the service mesh before you can delete the mesh itself.

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 App Mesh's API operation DeleteMesh for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ResourceInUseException
You can't delete the specified resource because it's in use or required by
another resource.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh

func (*AppMesh) DeleteMeshRequest

func (c *AppMesh) DeleteMeshRequest(input *DeleteMeshInput) (req *request.Request, output *DeleteMeshOutput)

DeleteMeshRequest generates a "aws/request.Request" representing the client's request for the DeleteMesh 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 DeleteMesh for more information on using the DeleteMesh 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 DeleteMeshRequest method.
req, resp := client.DeleteMeshRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteMesh

func (*AppMesh) DeleteMeshWithContext

func (c *AppMesh) DeleteMeshWithContext(ctx aws.Context, input *DeleteMeshInput, opts ...request.Option) (*DeleteMeshOutput, error)

DeleteMeshWithContext is the same as DeleteMesh with the addition of the ability to pass a context and additional request options.

See DeleteMesh 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 (*AppMesh) DeleteRoute

func (c *AppMesh) DeleteRoute(input *DeleteRouteInput) (*DeleteRouteOutput, error)

DeleteRoute API operation for AWS App Mesh.

Deletes an existing route.

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 App Mesh's API operation DeleteRoute for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ResourceInUseException
You can't delete the specified resource because it's in use or required by
another resource.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute

func (*AppMesh) DeleteRouteRequest

func (c *AppMesh) DeleteRouteRequest(input *DeleteRouteInput) (req *request.Request, output *DeleteRouteOutput)

DeleteRouteRequest generates a "aws/request.Request" representing the client's request for the DeleteRoute 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 DeleteRoute for more information on using the DeleteRoute 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 DeleteRouteRequest method.
req, resp := client.DeleteRouteRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteRoute

func (*AppMesh) DeleteRouteWithContext

func (c *AppMesh) DeleteRouteWithContext(ctx aws.Context, input *DeleteRouteInput, opts ...request.Option) (*DeleteRouteOutput, error)

DeleteRouteWithContext is the same as DeleteRoute with the addition of the ability to pass a context and additional request options.

See DeleteRoute 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 (*AppMesh) DeleteVirtualGateway

func (c *AppMesh) DeleteVirtualGateway(input *DeleteVirtualGatewayInput) (*DeleteVirtualGatewayOutput, error)

DeleteVirtualGateway API operation for AWS App Mesh.

Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway routes are associated to it.

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 App Mesh's API operation DeleteVirtualGateway for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ResourceInUseException
You can't delete the specified resource because it's in use or required by
another resource.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway

func (*AppMesh) DeleteVirtualGatewayRequest

func (c *AppMesh) DeleteVirtualGatewayRequest(input *DeleteVirtualGatewayInput) (req *request.Request, output *DeleteVirtualGatewayOutput)

DeleteVirtualGatewayRequest generates a "aws/request.Request" representing the client's request for the DeleteVirtualGateway 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 DeleteVirtualGateway for more information on using the DeleteVirtualGateway 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 DeleteVirtualGatewayRequest method.
req, resp := client.DeleteVirtualGatewayRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualGateway

func (*AppMesh) DeleteVirtualGatewayWithContext

func (c *AppMesh) DeleteVirtualGatewayWithContext(ctx aws.Context, input *DeleteVirtualGatewayInput, opts ...request.Option) (*DeleteVirtualGatewayOutput, error)

DeleteVirtualGatewayWithContext is the same as DeleteVirtualGateway with the addition of the ability to pass a context and additional request options.

See DeleteVirtualGateway 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 (*AppMesh) DeleteVirtualNode

func (c *AppMesh) DeleteVirtualNode(input *DeleteVirtualNodeInput) (*DeleteVirtualNodeOutput, error)

DeleteVirtualNode API operation for AWS App Mesh.

Deletes an existing virtual node.

You must delete any virtual services that list a virtual node as a service provider before you can delete the virtual node itself.

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 App Mesh's API operation DeleteVirtualNode for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* ForbiddenException
You don't have permissions to perform this action.

* ResourceInUseException
You can't delete the specified resource because it's in use or required by
another resource.

* ServiceUnavailableException
The request has failed due to a temporary failure of the service.

* InternalServerErrorException
The request processing has failed because of an unknown error, exception,
or failure.

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode

func (*AppMesh) DeleteVirtualNodeRequest

func (c *AppMesh) DeleteVirtualNodeRequest(input *DeleteVirtualNodeInput) (req *request.Request, output *DeleteVirtualNodeOutput)

DeleteVirtualNodeRequest generates a "aws/request.Request" representing the client's request for the DeleteVirtualNode 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 DeleteVirtualNode for more information on using the DeleteVirtualNode 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 DeleteVirtualNodeRequest method.
req, resp := client.DeleteVirtualNodeRequest(params)

err := req.Send()
if err == nil { // resp is now filled
    fmt.Println(resp)
}

See also, https://docs.aws.amazon.com/goto/WebAPI/appmesh-2019-01-25/DeleteVirtualNode

func (*AppMesh) DeleteVirtualNodeWithContext

func (c *AppMesh) DeleteVirtualNodeWithContext(ctx aws.Context, input *DeleteVirtualNodeInput, opts ...request.Option) (*DeleteVirtualNodeOutput, error)

DeleteVirtualNodeWithContext is the same as DeleteVirtualNode with the addition of the ability to pass a context and additional request options.

See DeleteVirtualNode 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 (*AppMesh) DeleteVirtualRouter

func (c *AppMesh) DeleteVirtualRouter(input *DeleteVirtualRouterInput) (*DeleteVirtualRouterOutput, error)

DeleteVirtualRouter API operation for AWS App Mesh.

Deletes an existing virtual router.

You must delete any routes associated with the virtual router before you can delete the router itself.

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 App Mesh's API operation DeleteVirtualRouter for usage and error information.

Returned Error Types:

* NotFoundException
The specified resource doesn't exist. Check your request syntax and try again.

* BadRequestException
The request syntax was malformed. Check your request syntax and try again.

* TooManyRequestsException
The maximum request rate permitted by the App Mesh APIs has been exceeded
for your account. For best results, use an increasing or variable sleep interval
between requests.

* Forbid