cdk-stepfunctions-patterns
Version:
A set of Step Functions high-level patterns.
1,064 lines (1,033 loc) • 122 kB
TypeScript
import {Request} from '../lib/request';
import {Response} from '../lib/response';
import {AWSError} from '../lib/error';
import {Service} from '../lib/service';
import {ServiceConfigurationOptions} from '../lib/service';
import {ConfigBase as Config} from '../lib/config-base';
interface Blob {}
declare class AppMesh extends Service {
/**
* Constructs a service object. This object has one method for each API operation.
*/
constructor(options?: AppMesh.Types.ClientConfiguration)
config: Config & AppMesh.Types.ClientConfiguration;
/**
* 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.
*/
createGatewayRoute(params: AppMesh.Types.CreateGatewayRouteInput, callback?: (err: AWSError, data: AppMesh.Types.CreateGatewayRouteOutput) => void): Request<AppMesh.Types.CreateGatewayRouteOutput, AWSError>;
/**
* 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.
*/
createGatewayRoute(callback?: (err: AWSError, data: AppMesh.Types.CreateGatewayRouteOutput) => void): Request<AppMesh.Types.CreateGatewayRouteOutput, AWSError>;
/**
* 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.
*/
createMesh(params: AppMesh.Types.CreateMeshInput, callback?: (err: AWSError, data: AppMesh.Types.CreateMeshOutput) => void): Request<AppMesh.Types.CreateMeshOutput, AWSError>;
/**
* 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.
*/
createMesh(callback?: (err: AWSError, data: AppMesh.Types.CreateMeshOutput) => void): Request<AppMesh.Types.CreateMeshOutput, AWSError>;
/**
* 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.
*/
createRoute(params: AppMesh.Types.CreateRouteInput, callback?: (err: AWSError, data: AppMesh.Types.CreateRouteOutput) => void): Request<AppMesh.Types.CreateRouteOutput, AWSError>;
/**
* 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.
*/
createRoute(callback?: (err: AWSError, data: AppMesh.Types.CreateRouteOutput) => void): Request<AppMesh.Types.CreateRouteOutput, AWSError>;
/**
* 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.
*/
createVirtualGateway(params: AppMesh.Types.CreateVirtualGatewayInput, callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualGatewayOutput) => void): Request<AppMesh.Types.CreateVirtualGatewayOutput, AWSError>;
/**
* 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.
*/
createVirtualGateway(callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualGatewayOutput) => void): Request<AppMesh.Types.CreateVirtualGatewayOutput, AWSError>;
/**
* 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 (either the full ARN or the truncated
resource name: for example, mesh/default/virtualNode/simpleapp) as the
APPMESH_VIRTUAL_NODE_NAME 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.
If you require your Envoy stats or tracing to use a different name, you can override
the node.cluster value that is set by
APPMESH_VIRTUAL_NODE_NAME with the
APPMESH_VIRTUAL_NODE_CLUSTER environment variable.
For more information about virtual nodes, see Virtual nodes.
*/
createVirtualNode(params: AppMesh.Types.CreateVirtualNodeInput, callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualNodeOutput) => void): Request<AppMesh.Types.CreateVirtualNodeOutput, AWSError>;
/**
* 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 (either the full ARN or the truncated
resource name: for example, mesh/default/virtualNode/simpleapp) as the
APPMESH_VIRTUAL_NODE_NAME 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.
If you require your Envoy stats or tracing to use a different name, you can override
the node.cluster value that is set by
APPMESH_VIRTUAL_NODE_NAME with the
APPMESH_VIRTUAL_NODE_CLUSTER environment variable.
For more information about virtual nodes, see Virtual nodes.
*/
createVirtualNode(callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualNodeOutput) => void): Request<AppMesh.Types.CreateVirtualNodeOutput, AWSError>;
/**
* 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.
*/
createVirtualRouter(params: AppMesh.Types.CreateVirtualRouterInput, callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualRouterOutput) => void): Request<AppMesh.Types.CreateVirtualRouterOutput, AWSError>;
/**
* 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.
*/
createVirtualRouter(callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualRouterOutput) => void): Request<AppMesh.Types.CreateVirtualRouterOutput, AWSError>;
/**
* 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.
*/
createVirtualService(params: AppMesh.Types.CreateVirtualServiceInput, callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualServiceOutput) => void): Request<AppMesh.Types.CreateVirtualServiceOutput, AWSError>;
/**
* 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.
*/
createVirtualService(callback?: (err: AWSError, data: AppMesh.Types.CreateVirtualServiceOutput) => void): Request<AppMesh.Types.CreateVirtualServiceOutput, AWSError>;
/**
* Deletes an existing gateway route.
*/
deleteGatewayRoute(params: AppMesh.Types.DeleteGatewayRouteInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteGatewayRouteOutput) => void): Request<AppMesh.Types.DeleteGatewayRouteOutput, AWSError>;
/**
* Deletes an existing gateway route.
*/
deleteGatewayRoute(callback?: (err: AWSError, data: AppMesh.Types.DeleteGatewayRouteOutput) => void): Request<AppMesh.Types.DeleteGatewayRouteOutput, AWSError>;
/**
* 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.
*/
deleteMesh(params: AppMesh.Types.DeleteMeshInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteMeshOutput) => void): Request<AppMesh.Types.DeleteMeshOutput, AWSError>;
/**
* 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.
*/
deleteMesh(callback?: (err: AWSError, data: AppMesh.Types.DeleteMeshOutput) => void): Request<AppMesh.Types.DeleteMeshOutput, AWSError>;
/**
* Deletes an existing route.
*/
deleteRoute(params: AppMesh.Types.DeleteRouteInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteRouteOutput) => void): Request<AppMesh.Types.DeleteRouteOutput, AWSError>;
/**
* Deletes an existing route.
*/
deleteRoute(callback?: (err: AWSError, data: AppMesh.Types.DeleteRouteOutput) => void): Request<AppMesh.Types.DeleteRouteOutput, AWSError>;
/**
* Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway
routes are associated to it.
*/
deleteVirtualGateway(params: AppMesh.Types.DeleteVirtualGatewayInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualGatewayOutput) => void): Request<AppMesh.Types.DeleteVirtualGatewayOutput, AWSError>;
/**
* Deletes an existing virtual gateway. You cannot delete a virtual gateway if any gateway
routes are associated to it.
*/
deleteVirtualGateway(callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualGatewayOutput) => void): Request<AppMesh.Types.DeleteVirtualGatewayOutput, AWSError>;
/**
* 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.
*/
deleteVirtualNode(params: AppMesh.Types.DeleteVirtualNodeInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualNodeOutput) => void): Request<AppMesh.Types.DeleteVirtualNodeOutput, AWSError>;
/**
* 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.
*/
deleteVirtualNode(callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualNodeOutput) => void): Request<AppMesh.Types.DeleteVirtualNodeOutput, AWSError>;
/**
* Deletes an existing virtual router.
You must delete any routes associated with the virtual router before you can delete the
router itself.
*/
deleteVirtualRouter(params: AppMesh.Types.DeleteVirtualRouterInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualRouterOutput) => void): Request<AppMesh.Types.DeleteVirtualRouterOutput, AWSError>;
/**
* Deletes an existing virtual router.
You must delete any routes associated with the virtual router before you can delete the
router itself.
*/
deleteVirtualRouter(callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualRouterOutput) => void): Request<AppMesh.Types.DeleteVirtualRouterOutput, AWSError>;
/**
* Deletes an existing virtual service.
*/
deleteVirtualService(params: AppMesh.Types.DeleteVirtualServiceInput, callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualServiceOutput) => void): Request<AppMesh.Types.DeleteVirtualServiceOutput, AWSError>;
/**
* Deletes an existing virtual service.
*/
deleteVirtualService(callback?: (err: AWSError, data: AppMesh.Types.DeleteVirtualServiceOutput) => void): Request<AppMesh.Types.DeleteVirtualServiceOutput, AWSError>;
/**
* Describes an existing gateway route.
*/
describeGatewayRoute(params: AppMesh.Types.DescribeGatewayRouteInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeGatewayRouteOutput) => void): Request<AppMesh.Types.DescribeGatewayRouteOutput, AWSError>;
/**
* Describes an existing gateway route.
*/
describeGatewayRoute(callback?: (err: AWSError, data: AppMesh.Types.DescribeGatewayRouteOutput) => void): Request<AppMesh.Types.DescribeGatewayRouteOutput, AWSError>;
/**
* Describes an existing service mesh.
*/
describeMesh(params: AppMesh.Types.DescribeMeshInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeMeshOutput) => void): Request<AppMesh.Types.DescribeMeshOutput, AWSError>;
/**
* Describes an existing service mesh.
*/
describeMesh(callback?: (err: AWSError, data: AppMesh.Types.DescribeMeshOutput) => void): Request<AppMesh.Types.DescribeMeshOutput, AWSError>;
/**
* Describes an existing route.
*/
describeRoute(params: AppMesh.Types.DescribeRouteInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeRouteOutput) => void): Request<AppMesh.Types.DescribeRouteOutput, AWSError>;
/**
* Describes an existing route.
*/
describeRoute(callback?: (err: AWSError, data: AppMesh.Types.DescribeRouteOutput) => void): Request<AppMesh.Types.DescribeRouteOutput, AWSError>;
/**
* Describes an existing virtual gateway.
*/
describeVirtualGateway(params: AppMesh.Types.DescribeVirtualGatewayInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualGatewayOutput) => void): Request<AppMesh.Types.DescribeVirtualGatewayOutput, AWSError>;
/**
* Describes an existing virtual gateway.
*/
describeVirtualGateway(callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualGatewayOutput) => void): Request<AppMesh.Types.DescribeVirtualGatewayOutput, AWSError>;
/**
* Describes an existing virtual node.
*/
describeVirtualNode(params: AppMesh.Types.DescribeVirtualNodeInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualNodeOutput) => void): Request<AppMesh.Types.DescribeVirtualNodeOutput, AWSError>;
/**
* Describes an existing virtual node.
*/
describeVirtualNode(callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualNodeOutput) => void): Request<AppMesh.Types.DescribeVirtualNodeOutput, AWSError>;
/**
* Describes an existing virtual router.
*/
describeVirtualRouter(params: AppMesh.Types.DescribeVirtualRouterInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualRouterOutput) => void): Request<AppMesh.Types.DescribeVirtualRouterOutput, AWSError>;
/**
* Describes an existing virtual router.
*/
describeVirtualRouter(callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualRouterOutput) => void): Request<AppMesh.Types.DescribeVirtualRouterOutput, AWSError>;
/**
* Describes an existing virtual service.
*/
describeVirtualService(params: AppMesh.Types.DescribeVirtualServiceInput, callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualServiceOutput) => void): Request<AppMesh.Types.DescribeVirtualServiceOutput, AWSError>;
/**
* Describes an existing virtual service.
*/
describeVirtualService(callback?: (err: AWSError, data: AppMesh.Types.DescribeVirtualServiceOutput) => void): Request<AppMesh.Types.DescribeVirtualServiceOutput, AWSError>;
/**
* Returns a list of existing gateway routes that are associated to a virtual
gateway.
*/
listGatewayRoutes(params: AppMesh.Types.ListGatewayRoutesInput, callback?: (err: AWSError, data: AppMesh.Types.ListGatewayRoutesOutput) => void): Request<AppMesh.Types.ListGatewayRoutesOutput, AWSError>;
/**
* Returns a list of existing gateway routes that are associated to a virtual
gateway.
*/
listGatewayRoutes(callback?: (err: AWSError, data: AppMesh.Types.ListGatewayRoutesOutput) => void): Request<AppMesh.Types.ListGatewayRoutesOutput, AWSError>;
/**
* Returns a list of existing service meshes.
*/
listMeshes(params: AppMesh.Types.ListMeshesInput, callback?: (err: AWSError, data: AppMesh.Types.ListMeshesOutput) => void): Request<AppMesh.Types.ListMeshesOutput, AWSError>;
/**
* Returns a list of existing service meshes.
*/
listMeshes(callback?: (err: AWSError, data: AppMesh.Types.ListMeshesOutput) => void): Request<AppMesh.Types.ListMeshesOutput, AWSError>;
/**
* Returns a list of existing routes in a service mesh.
*/
listRoutes(params: AppMesh.Types.ListRoutesInput, callback?: (err: AWSError, data: AppMesh.Types.ListRoutesOutput) => void): Request<AppMesh.Types.ListRoutesOutput, AWSError>;
/**
* Returns a list of existing routes in a service mesh.
*/
listRoutes(callback?: (err: AWSError, data: AppMesh.Types.ListRoutesOutput) => void): Request<AppMesh.Types.ListRoutesOutput, AWSError>;
/**
* List the tags for an App Mesh resource.
*/
listTagsForResource(params: AppMesh.Types.ListTagsForResourceInput, callback?: (err: AWSError, data: AppMesh.Types.ListTagsForResourceOutput) => void): Request<AppMesh.Types.ListTagsForResourceOutput, AWSError>;
/**
* List the tags for an App Mesh resource.
*/
listTagsForResource(callback?: (err: AWSError, data: AppMesh.Types.ListTagsForResourceOutput) => void): Request<AppMesh.Types.ListTagsForResourceOutput, AWSError>;
/**
* Returns a list of existing virtual gateways in a service mesh.
*/
listVirtualGateways(params: AppMesh.Types.ListVirtualGatewaysInput, callback?: (err: AWSError, data: AppMesh.Types.ListVirtualGatewaysOutput) => void): Request<AppMesh.Types.ListVirtualGatewaysOutput, AWSError>;
/**
* Returns a list of existing virtual gateways in a service mesh.
*/
listVirtualGateways(callback?: (err: AWSError, data: AppMesh.Types.ListVirtualGatewaysOutput) => void): Request<AppMesh.Types.ListVirtualGatewaysOutput, AWSError>;
/**
* Returns a list of existing virtual nodes.
*/
listVirtualNodes(params: AppMesh.Types.ListVirtualNodesInput, callback?: (err: AWSError, data: AppMesh.Types.ListVirtualNodesOutput) => void): Request<AppMesh.Types.ListVirtualNodesOutput, AWSError>;
/**
* Returns a list of existing virtual nodes.
*/
listVirtualNodes(callback?: (err: AWSError, data: AppMesh.Types.ListVirtualNodesOutput) => void): Request<AppMesh.Types.ListVirtualNodesOutput, AWSError>;
/**
* Returns a list of existing virtual routers in a service mesh.
*/
listVirtualRouters(params: AppMesh.Types.ListVirtualRoutersInput, callback?: (err: AWSError, data: AppMesh.Types.ListVirtualRoutersOutput) => void): Request<AppMesh.Types.ListVirtualRoutersOutput, AWSError>;
/**
* Returns a list of existing virtual routers in a service mesh.
*/
listVirtualRouters(callback?: (err: AWSError, data: AppMesh.Types.ListVirtualRoutersOutput) => void): Request<AppMesh.Types.ListVirtualRoutersOutput, AWSError>;
/**
* Returns a list of existing virtual services in a service mesh.
*/
listVirtualServices(params: AppMesh.Types.ListVirtualServicesInput, callback?: (err: AWSError, data: AppMesh.Types.ListVirtualServicesOutput) => void): Request<AppMesh.Types.ListVirtualServicesOutput, AWSError>;
/**
* Returns a list of existing virtual services in a service mesh.
*/
listVirtualServices(callback?: (err: AWSError, data: AppMesh.Types.ListVirtualServicesOutput) => void): Request<AppMesh.Types.ListVirtualServicesOutput, AWSError>;
/**
* Associates the specified tags to a resource with the specified resourceArn.
If existing tags on a resource aren't specified in the request parameters, they aren't
changed. When a resource is deleted, the tags associated with that resource are also
deleted.
*/
tagResource(params: AppMesh.Types.TagResourceInput, callback?: (err: AWSError, data: AppMesh.Types.TagResourceOutput) => void): Request<AppMesh.Types.TagResourceOutput, AWSError>;
/**
* Associates the specified tags to a resource with the specified resourceArn.
If existing tags on a resource aren't specified in the request parameters, they aren't
changed. When a resource is deleted, the tags associated with that resource are also
deleted.
*/
tagResource(callback?: (err: AWSError, data: AppMesh.Types.TagResourceOutput) => void): Request<AppMesh.Types.TagResourceOutput, AWSError>;
/**
* Deletes specified tags from a resource.
*/
untagResource(params: AppMesh.Types.UntagResourceInput, callback?: (err: AWSError, data: AppMesh.Types.UntagResourceOutput) => void): Request<AppMesh.Types.UntagResourceOutput, AWSError>;
/**
* Deletes specified tags from a resource.
*/
untagResource(callback?: (err: AWSError, data: AppMesh.Types.UntagResourceOutput) => void): Request<AppMesh.Types.UntagResourceOutput, AWSError>;
/**
* Updates an existing gateway route that is associated to a specified virtual gateway in a
service mesh.
*/
updateGatewayRoute(params: AppMesh.Types.UpdateGatewayRouteInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateGatewayRouteOutput) => void): Request<AppMesh.Types.UpdateGatewayRouteOutput, AWSError>;
/**
* Updates an existing gateway route that is associated to a specified virtual gateway in a
service mesh.
*/
updateGatewayRoute(callback?: (err: AWSError, data: AppMesh.Types.UpdateGatewayRouteOutput) => void): Request<AppMesh.Types.UpdateGatewayRouteOutput, AWSError>;
/**
* Updates an existing service mesh.
*/
updateMesh(params: AppMesh.Types.UpdateMeshInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateMeshOutput) => void): Request<AppMesh.Types.UpdateMeshOutput, AWSError>;
/**
* Updates an existing service mesh.
*/
updateMesh(callback?: (err: AWSError, data: AppMesh.Types.UpdateMeshOutput) => void): Request<AppMesh.Types.UpdateMeshOutput, AWSError>;
/**
* Updates an existing route for a specified service mesh and virtual router.
*/
updateRoute(params: AppMesh.Types.UpdateRouteInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateRouteOutput) => void): Request<AppMesh.Types.UpdateRouteOutput, AWSError>;
/**
* Updates an existing route for a specified service mesh and virtual router.
*/
updateRoute(callback?: (err: AWSError, data: AppMesh.Types.UpdateRouteOutput) => void): Request<AppMesh.Types.UpdateRouteOutput, AWSError>;
/**
* Updates an existing virtual gateway in a specified service mesh.
*/
updateVirtualGateway(params: AppMesh.Types.UpdateVirtualGatewayInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualGatewayOutput) => void): Request<AppMesh.Types.UpdateVirtualGatewayOutput, AWSError>;
/**
* Updates an existing virtual gateway in a specified service mesh.
*/
updateVirtualGateway(callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualGatewayOutput) => void): Request<AppMesh.Types.UpdateVirtualGatewayOutput, AWSError>;
/**
* Updates an existing virtual node in a specified service mesh.
*/
updateVirtualNode(params: AppMesh.Types.UpdateVirtualNodeInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualNodeOutput) => void): Request<AppMesh.Types.UpdateVirtualNodeOutput, AWSError>;
/**
* Updates an existing virtual node in a specified service mesh.
*/
updateVirtualNode(callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualNodeOutput) => void): Request<AppMesh.Types.UpdateVirtualNodeOutput, AWSError>;
/**
* Updates an existing virtual router in a specified service mesh.
*/
updateVirtualRouter(params: AppMesh.Types.UpdateVirtualRouterInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualRouterOutput) => void): Request<AppMesh.Types.UpdateVirtualRouterOutput, AWSError>;
/**
* Updates an existing virtual router in a specified service mesh.
*/
updateVirtualRouter(callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualRouterOutput) => void): Request<AppMesh.Types.UpdateVirtualRouterOutput, AWSError>;
/**
* Updates an existing virtual service in a specified service mesh.
*/
updateVirtualService(params: AppMesh.Types.UpdateVirtualServiceInput, callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualServiceOutput) => void): Request<AppMesh.Types.UpdateVirtualServiceOutput, AWSError>;
/**
* Updates an existing virtual service in a specified service mesh.
*/
updateVirtualService(callback?: (err: AWSError, data: AppMesh.Types.UpdateVirtualServiceOutput) => void): Request<AppMesh.Types.UpdateVirtualServiceOutput, AWSError>;
}
declare namespace AppMesh {
export interface VirtualRouterListener {
portMapping: PortMapping;
}
export type VirtualRouterStatusCode = "ACTIVE"|"DELETED"|"INACTIVE"|string;
export type TagKeyList = TagKey[];
export interface GrpcRetryPolicy {
/**
* Specify at least one of the valid values.
*/
grpcRetryEvents?: GrpcRetryPolicyEvents;
/**
* Specify at least one of the following values.
server-error – HTTP status codes 500, 501,
502, 503, 504, 505, 506, 507, 508, 510, and 511
gateway-error – HTTP status codes 502,
503, and 504
client-error – HTTP status code 409
stream-error – Retry on refused
stream
*/
httpRetryEvents?: HttpRetryPolicyEvents;
/**
* The maximum number of retry attempts.
*/
maxRetries: MaxRetries;
/**
* An object that represents a duration of time.
*/
perRetryTimeout: Duration;
/**
* Specify a valid value.
*/
tcpRetryEvents?: TcpRetryPolicyEvents;
}
export interface CreateVirtualNodeOutput {
/**
* The full description of your virtual node following the create call.
*/
virtualNode: VirtualNodeData;
}
export interface Logging {
/**
* The access log configuration for a virtual node.
*/
accessLog?: AccessLog;
}
export type Long = number;
export interface UpdateVirtualRouterOutput {
/**
* A full description of the virtual router that was updated.
*/
virtualRouter: VirtualRouterData;
}
export interface ListVirtualRoutersOutput {
/**
* The nextToken value to include in a future ListVirtualRouters
request. When the results of a ListVirtualRouters request exceed
limit, you can use this value to retrieve the next page of results. This
value is null when there are no more results to return.
*/
nextToken?: String;
/**
* The list of existing virtual routers for the specified service mesh.
*/
virtualRouters: VirtualRouterList;
}
export interface CreateVirtualGatewayInput {
/**
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the
request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
*/
clientToken?: String;
/**
* The name of the service mesh to create the virtual gateway in.
*/
meshName: ResourceName;
/**
* The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then
the account that you specify must share the mesh with your account before you can create
the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes.
*/
meshOwner?: AccountId;
/**
* The virtual gateway specification to apply.
*/
spec: VirtualGatewaySpec;
/**
* Optional metadata that you can apply to the virtual gateway to assist with
categorization and organization. Each tag consists of a key and an optional value, both of
which you define. Tag keys can have a maximum character length of 128 characters, and tag values can have
a maximum length of 256 characters.
*/
tags?: TagList;
/**
* The name to use for the virtual gateway.
*/
virtualGatewayName: ResourceName;
}
export interface UpdateVirtualGatewayInput {
/**
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the
request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
*/
clientToken?: String;
/**
* The name of the service mesh that the virtual gateway resides in.
*/
meshName: ResourceName;
/**
* The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's
the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
*/
meshOwner?: AccountId;
/**
* The new virtual gateway specification to apply. This overwrites the existing
data.
*/
spec: VirtualGatewaySpec;
/**
* The name of the virtual gateway to update.
*/
virtualGatewayName: ResourceName;
}
export interface ResourceMetadata {
/**
* The full Amazon Resource Name (ARN) for the resource.
*/
arn: Arn;
/**
* The Unix epoch timestamp in seconds for when the resource was created.
*/
createdAt: Timestamp;
/**
* The Unix epoch timestamp in seconds for when the resource was last updated.
*/
lastUpdatedAt: Timestamp;
/**
* The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's
the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
*/
meshOwner: AccountId;
/**
* The AWS IAM account ID of the resource owner. If the account ID is not your own, then it's
the ID of the mesh owner or of another account that the mesh is shared with. For more information about mesh sharing, see Working with shared meshes.
*/
resourceOwner: AccountId;
/**
* The unique identifier for the resource.
*/
uid: String;
/**
* The version of the resource. Resources are created at version 1, and this version is incremented each time that they're updated.
*/
version: Long;
}
export interface UpdateVirtualNodeOutput {
/**
* A full description of the virtual node that was updated.
*/
virtualNode: VirtualNodeData;
}
export interface ListRoutesOutput {
/**
* The nextToken value to include in a future ListRoutes request.
When the results of a ListRoutes request exceed limit, you can
use this value to retrieve the next page of results. This value is null when
there are no more results to return.
*/
nextToken?: String;
/**
* The list of existing routes for the specified service mesh and virtual router.
*/
routes: RouteList;
}
export interface VirtualServiceBackend {
/**
* A reference to an object that represents the client policy for a backend.
*/
clientPolicy?: ClientPolicy;
/**
* The name of the virtual service that is acting as a virtual node backend.
*/
virtualServiceName: ServiceName;
}
export interface HttpGatewayRouteMatch {
/**
* Specifies the path to match requests with. This parameter must always start with
/, which by itself matches all requests to the virtual service name. You
can also match for path-based routing of requests. For example, if your virtual service
name is my-service.local and you want the route to match requests to
my-service.local/metrics, your prefix should be
/metrics.
*/
prefix: String;
}
export type GrpcRouteMetadataList = GrpcRouteMetadata[];
export type ListenerTlsMode = "DISABLED"|"PERMISSIVE"|"STRICT"|string;
export interface HealthCheckPolicy {
/**
* The number of consecutive successful health checks that must occur before declaring
listener healthy.
*/
healthyThreshold: HealthCheckThreshold;
/**
* The time period in milliseconds between each health check execution.
*/
intervalMillis: HealthCheckIntervalMillis;
/**
* The destination path for the health check request. This value is only used if the
specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.
*/
path?: String;
/**
* The destination port for the health check request. This port must match the port defined
in the PortMapping for the listener.
*/
port?: PortNumber;
/**
* The protocol for the health check request. If you specify grpc, then your
service must conform to the GRPC Health
Checking Protocol.
*/
protocol: PortProtocol;
/**
* The amount of time to wait when receiving a response from the health check, in
milliseconds.
*/
timeoutMillis: HealthCheckTimeoutMillis;
/**
* The number of consecutive failed health checks that must occur before declaring a
virtual node unhealthy.
*/
unhealthyThreshold: HealthCheckThreshold;
}
export type VirtualGatewayHealthCheckTimeoutMillis = number;
export interface EgressFilter {
/**
* The egress filter type. By default, the type is DROP_ALL, which allows
egress only from virtual nodes to other defined resources in the service mesh (and any
traffic to *.amazonaws.com for AWS API calls). You can set the egress filter
type to ALLOW_ALL to allow egress to any endpoint inside or outside of the
service mesh.
*/
type: EgressFilterType;
}
export type VirtualServiceList = VirtualServiceRef[];
export interface ClientPolicy {
/**
* A reference to an object that represents a Transport Layer Security (TLS) client policy.
*/
tls?: ClientPolicyTls;
}
export type VirtualGatewayHealthCheckIntervalMillis = number;
export type Boolean = boolean;
export interface VirtualGatewaySpec {
/**
* A reference to an object that represents the defaults for backends.
*/
backendDefaults?: VirtualGatewayBackendDefaults;
/**
* The listeners that the mesh endpoint is expected to receive inbound traffic from. You
can specify one listener.
*/
listeners: VirtualGatewayListeners;
logging?: VirtualGatewayLogging;
}
export type HttpRetryPolicyEvent = string;
export interface VirtualGatewayFileAccessLog {
/**
* The file path to write access logs to. You can use /dev/stdout to send
access logs to standard out and configure your Envoy container to use a log driver, such as
awslogs, to export the access logs to a log storage service such as Amazon
CloudWatch Logs. You can also specify a path in the Envoy container's file system to write
the files to disk.
*/
path: FilePath;
}
export interface DescribeVirtualServiceOutput {
/**
* The full description of your virtual service.
*/
virtualService: VirtualServiceData;
}
export interface CreateGatewayRouteInput {
/**
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the
request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
*/
clientToken?: String;
/**
* The name to use for the gateway route.
*/
gatewayRouteName: ResourceName;
/**
* The name of the service mesh to create the gateway route in.
*/
meshName: ResourceName;
/**
* The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then
the account that you specify must share the mesh with your account before you can create
the resource in the service mesh. For more information about mesh sharing, see Working with shared meshes.
*/
meshOwner?: AccountId;
/**
* The gateway route specification to apply.
*/
spec: GatewayRouteSpec;
/**
* Optional metadata that you can apply to the gateway route to assist with categorization
and organization. Each tag consists of a key and an optional value, both of which you
define. Tag keys can have a maximum character length of 128 characters, and tag values can have
a maximum length of 256 characters.
*/
tags?: TagList;
/**
* The name of the virtual gateway to associate the gateway route with. If the virtual
gateway is in a shared mesh, then you must be the owner of the virtual gateway
resource.
*/
virtualGatewayName: ResourceName;
}
export type CertificateAuthorityArns = Arn[];
export interface DescribeVirtualNodeOutput {
/**
* The full description of your virtual node.
*/
virtualNode: VirtualNodeData;
}
export type AwsCloudMapName = string;
export interface VirtualGatewayData {
/**
* The name of the service mesh that the virtual gateway resides in.
*/
meshName: ResourceName;
metadata: ResourceMetadata;
/**
* The specifications of the virtual gateway.
*/
spec: VirtualGatewaySpec;
/**
* The current status of the virtual gateway.
*/
status: VirtualGatewayStatus;
/**
* The name of the virtual gateway.
*/
virtualGatewayName: ResourceName;
}
export interface CreateRouteOutput {
/**
* The full description of your mesh following the create call.
*/
route: RouteData;
}
export interface VirtualGatewayListener {
/**
* The health check information for the listener.
*/
healthCheck?: VirtualGatewayHealthCheckPolicy;
/**
* The port mapping information for the listener.
*/
portMapping: VirtualGatewayPortMapping;
/**
* A reference to an object that represents the Transport Layer Security (TLS) properties for the listener.
*/
tls?: VirtualGatewayListenerTls;
}
export interface DnsServiceDiscovery {
/**
* Specifies the DNS service discovery hostname for the virtual node.
*/
hostname: Hostname;
}
export interface VirtualGatewayPortMapping {
/**
* The port used for the port mapping. Specify one protocol.
*/
port: PortNumber;
/**
* The protocol used for the port mapping.
*/
protocol: VirtualGatewayPortProtocol;
}
export interface DeleteVirtualGatewayOutput {
/**
* The virtual gateway that was deleted.
*/
virtualGateway: VirtualGatewayData;
}
export interface DeleteRouteInput {
/**
* The name of the service mesh to delete the route in.
*/
meshName: ResourceName;
/**
* The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's
the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
*/
meshOwner?: AccountId;
/**
* The name of the route to delete.
*/
routeName: ResourceName;
/**
* The name of the virtual router to delete the route in.
*/
virtualRouterName: ResourceName;
}
export interface VirtualNodeData {
/**
* The name of the service mesh that the virtual node resides in.
*/
meshName: ResourceName;
/**
* The associated metadata for the virtual node.
*/
metadata: ResourceMetadata;
/**
* The specifications of the virtual node.
*/
spec: VirtualNodeSpec;
/**
* The current status for the virtual node.
*/
status: VirtualNodeStatus;
/**
* The name of the virtual node.
*/
virtualNodeName: ResourceName;
}
export interface UntagResourceOutput {
}
export type ListGatewayRoutesLimit = number;
export type TcpRetryPolicyEvent = "connection-error"|string;
export interface VirtualGatewayListenerTls {
/**
* An object that represents a Transport Layer Security (TLS) certificate.
*/
certificate: VirtualGatewayListenerTlsCertificate;
/**
* Specify one of the following modes.
STRICT – Listener only accepts connections with TLS
enabled.
PERMISSIVE – Listener accepts connections with or
without TLS enabled.
DISABLED – Listener only accepts connections without
TLS.
*/
mode: VirtualGatewayListenerTlsMode;
}
export interface Backend {
/**
* Specifies a virtual service to use as a backend for a virtual node.
*/
virtualService?: VirtualServiceBackend;
}
export interface ListMeshesInput {
/**
* The maximum number of results returned by ListMeshes in paginated output.
When you use this parameter, ListMeshes returns only limit
results in a single page along with a nextToken response element. You can see
the remaining results of the initial request by sending another ListMeshes
request with the returned nextToken value. This value can be between
1 and 100. If you don't use this parameter,
ListMeshes returns up to 100 results and a
nextToken value if applicable.
*/
limit?: ListMeshesLimit;
/**
* The nextToken value returned from a previous paginated
ListMeshes request where limit was used and the results
exceeded the value of that parameter. Pagination continues from the end of the previous
results that returned the nextToken value.
This token should be treated as an opaque identifier that is used only to
retrieve the next items in a list and not for other programmatic purposes.
*/
nextToken?: String;
}
export interface VirtualGatewayListenerTlsFileCertificate {
/**
* The certificate chain for the certificate.
*/
certificateChain: FilePath;
/**
* The private key for a certificate stored on the file system of the mesh endpoint that
the proxy is running on.
*/
privateKey: FilePath;
}
export interface ListGatewayRoutesInput {
/**
* The maximum number of results returned by ListGatewayRoutes in paginated
output. When you use this parameter, ListGatewayRoutes returns only
limit results in a single page along with a nextToken response
element. You can see the remaining results of the initial request by sending another
ListGatewayRoutes request with the returned nextToken value.
This value can be between 1 and 100. If you don't use this
parameter, ListGatewayRoutes returns up to 100 results and a
nextToken value if applicable.
*/
limit?: ListGatewayRoutesLimit;
/**
* The name of the service mesh to list gateway routes in.
*/
meshName: ResourceName;
/**
* The AWS IAM account ID of the service mesh owner. If the account ID is not your own, then it's
the ID of the account that shared the mesh with your account. For more information about mesh sharing, see Working with shared meshes.
*/
meshOwner?: AccountId;
/**
* The nextToken value returned from a previous paginated
ListGatewayRoutes request where limit was used and the results
exceeded the value of that parameter. Pagination continues from the end of the previous
results that returned the nextToken value.
*/
nextToken?: String;
/**
* The name of the virtual gateway to list gateway routes in.
*/
virtualGatewayName: ResourceName;
}
export interface VirtualRouterData {
/**
* The name of the service mesh that the virtual router resides in.
*/
meshName: ResourceName;
/**
* The associated metadata for the virtual router.
*/
metadata: ResourceMetadata;
/**
* The specifications of the virtual router.
*/
spec: VirtualRouterSpec;
/**
* The current status of the virtual router.
*/
status: VirtualRouterStatus;
/**
* The name of the virtual router.
*/
virtualRouterName: ResourceName;
}
export interface UpdateMeshInput {
/**
* Unique, case-sensitive identifier that you provide to ensure the idempotency of the
request. Up to 36 letters, numbers, hyphens, and underscores are allowed.
*/
clientToken?: String;
/**
* The name of the service mesh to update.
*/
meshName: ResourceName;
/**
* The service mesh specification to apply.
*/
spec?: MeshSpec;
}
export interface VirtualGatewayHealthCheckPolicy {
/**
* The number of consecutive successful health checks that must occur before declaring the
listener healthy.
*/
healthyThreshold: VirtualGatewayHealthCheckThreshold;
/**
* The time period in milliseconds between each health check execution.
*/
intervalMillis: VirtualGatewayHealthCheckIntervalMillis;
/**
* The destination path for the health check request. This value is only used if the
specified protocol is HTTP or HTTP/2. For any other protocol, this value is ignored.
*/
path?: String;
/**
* The destination port for the health check request. This port must match the port defined
in the PortMapping for the listener.
*/
port?: PortNumber;
/**
* The protocol for the health check request. If you specify grpc, then your
service must conform to the GRPC Health
Checking Protocol.
*/
protocol: VirtualGatewayPortProtocol;
/**
* The amount of time to wait when receiving a response from the health check, in
milliseconds.
*/
timeoutMillis: VirtualGatewayHealthCheckTimeoutMillis;
/**
* The number of consecutive failed health checks that must occur before declaring a
virtual gateway unhealthy.
*/
unhealthyThreshold: VirtualGatewayHealthCheckThreshold;
}
export interface