SDK for PHP 3.x

Client: Aws\AppMesh\AppMeshClient
Service ID: appmesh
Version: 2018-10-01

This page describes the parameters and results for the operations of the AWS App Mesh (2018-10-01), and shows how to use the Aws\AppMesh\AppMeshClient object to call the described operations. This documentation is specific to the 2018-10-01 API version of the service.

Operation Summary

Each of the following operations can be created from a client using $client->getCommand('CommandName'), where "CommandName" is the name of one of the following operations. Note: a command is a value that encapsulates an operation and the parameters used to create an HTTP request.

You can also create and send a command immediately using the magic methods available on a client object: $client->commandName(/* parameters */). You can send the command asynchronously (returning a promise) by appending the word "Async" to the operation name: $client->commandNameAsync(/* parameters */).

CreateMesh ( array $params = [] )
Creates a new service mesh.
CreateRoute ( array $params = [] )
Creates a new route that is associated with a virtual router.
CreateVirtualNode ( array $params = [] )
Creates a new virtual node within a service mesh.
CreateVirtualRouter ( array $params = [] )
Creates a new virtual router within a service mesh.
DeleteMesh ( array $params = [] )
Deletes an existing service mesh.
DeleteRoute ( array $params = [] )
Deletes an existing route.
DeleteVirtualNode ( array $params = [] )
Deletes an existing virtual node.
DeleteVirtualRouter ( array $params = [] )
Deletes an existing virtual router.
DescribeMesh ( array $params = [] )
Describes an existing service mesh.
DescribeRoute ( array $params = [] )
Describes an existing route.
DescribeVirtualNode ( array $params = [] )
Describes an existing virtual node.
DescribeVirtualRouter ( array $params = [] )
Describes an existing virtual router.
ListMeshes ( array $params = [] )
Returns a list of existing service meshes.
ListRoutes ( array $params = [] )
Returns a list of existing routes in a service mesh.
ListVirtualNodes ( array $params = [] )
Returns a list of existing virtual nodes.
ListVirtualRouters ( array $params = [] )
Returns a list of existing virtual routers in a service mesh.
UpdateRoute ( array $params = [] )
Updates an existing route for a specified service mesh and virtual router.
UpdateVirtualNode ( array $params = [] )
Updates an existing virtual node in a specified service mesh.
UpdateVirtualRouter ( array $params = [] )
Updates an existing virtual router in a specified service mesh.

Paginators

Paginators handle automatically iterating over paginated API results. Paginators are associated with specific API operations, and they accept the parameters that the corresponding API operation accepts. You can get a paginator from a client class using getPaginator($paginatorName, $operationParameters). This client supports the following paginators:

ListMeshes
ListRoutes
ListVirtualNodes
ListVirtualRouters

Operations

CreateMesh

$result = $client->createMesh([/* ... */]);
$promise = $client->createMeshAsync([/* ... */]);

Creates a new service mesh. A service mesh is a logical boundary for network traffic between the services that reside within it.

After you create your service mesh, you can create virtual nodes, virtual routers, and routes to distribute traffic between the applications in your mesh.

Parameter Syntax

$result = $client->createMesh([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string

Result Syntax

[
    'mesh' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
    ],
]

Result Details

Members
mesh
Type: MeshData structure

An object representing a service mesh returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

CreateRoute

$result = $client->createRoute([/* ... */]);
$promise = $client->createRouteAsync([/* ... */]);

Creates a new route that is associated with a virtual router.

You can use the prefix parameter in your route specification for path-based routing of requests. For example, if your virtual router service name is my-service.local, and you want the route to match requests to my-service.local/metrics, then your prefix should be /metrics.

If your route matches a request, you can distribute traffic to one or more target virtual nodes with relative weighting.

Parameter Syntax

$result = $client->createRoute([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
    'routeName' => '<string>', // REQUIRED
    'spec' => [ // REQUIRED
        'httpRoute' => [
            'action' => [
                'weightedTargets' => [
                    [
                        'virtualNode' => '<string>',
                        'weight' => <integer>,
                    ],
                    // ...
                ],
            ],
            'match' => [
                'prefix' => '<string>',
            ],
        ],
    ],
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string
routeName
Required: Yes
Type: string
spec
Required: Yes
Type: RouteSpec structure

An object representing the specification of a route.

virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'route' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'routeName' => '<string>',
        'spec' => [
            'httpRoute' => [
                'action' => [
                    'weightedTargets' => [
                        [
                            'virtualNode' => '<string>',
                            'weight' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'match' => [
                    'prefix' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
route
Type: RouteData structure

An object representing a route returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

CreateVirtualNode

$result = $client->createVirtualNode([/* ... */]);
$promise = $client->createVirtualNodeAsync([/* ... */]);

Creates a new virtual node within a service mesh.

A virtual node acts as logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you must specify the DNS service discovery name for your task group.

Any inbound traffic that your virtual node expects should be specified as a listener. Any outbound traffic that your virtual node expects to reach should be 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.

Parameter Syntax

$result = $client->createVirtualNode([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
    'spec' => [ // REQUIRED
        'backends' => ['<string>', ...],
        'listeners' => [
            [
                'healthCheck' => [
                    'healthyThreshold' => <integer>, // REQUIRED
                    'intervalMillis' => <integer>, // REQUIRED
                    'path' => '<string>',
                    'port' => <integer>,
                    'protocol' => 'http|tcp', // REQUIRED
                    'timeoutMillis' => <integer>, // REQUIRED
                    'unhealthyThreshold' => <integer>, // REQUIRED
                ],
                'portMapping' => [
                    'port' => <integer>,
                    'protocol' => 'http|tcp',
                ],
            ],
            // ...
        ],
        'serviceDiscovery' => [
            'dns' => [
                'serviceName' => '<string>',
            ],
        ],
    ],
    'virtualNodeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string
spec
Required: Yes
Type: VirtualNodeSpec structure

An object representing the specification of a virtual node.

virtualNodeName
Required: Yes
Type: string

Result Syntax

[
    'virtualNode' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'backends' => ['<string>', ...],
            'listeners' => [
                [
                    'healthCheck' => [
                        'healthyThreshold' => <integer>,
                        'intervalMillis' => <integer>,
                        'path' => '<string>',
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                        'timeoutMillis' => <integer>,
                        'unhealthyThreshold' => <integer>,
                    ],
                    'portMapping' => [
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                    ],
                ],
                // ...
            ],
            'serviceDiscovery' => [
                'dns' => [
                    'serviceName' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualNodeName' => '<string>',
    ],
]

Result Details

Members
virtualNode
Type: VirtualNodeData structure

An object representing a virtual node returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

CreateVirtualRouter

$result = $client->createVirtualRouter([/* ... */]);
$promise = $client->createVirtualRouterAsync([/* ... */]);

Creates a new virtual router within a service mesh.

Virtual routers handle traffic for one or more service names 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.

Parameter Syntax

$result = $client->createVirtualRouter([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
    'spec' => [ // REQUIRED
        'serviceNames' => ['<string>', ...],
    ],
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string
spec
Required: Yes
Type: VirtualRouterSpec structure

An object representing the specification of a virtual router.

virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'virtualRouter' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'serviceNames' => ['<string>', ...],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
virtualRouter
Type: VirtualRouterData structure

An object representing a virtual router returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

DeleteMesh

$result = $client->deleteMesh([/* ... */]);
$promise = $client->deleteMeshAsync([/* ... */]);

Deletes an existing service mesh.

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

Parameter Syntax

$result = $client->deleteMesh([
    'meshName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string

Result Syntax

[
    'mesh' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
    ],
]

Result Details

Members
mesh
Type: MeshData structure

An object representing a service mesh returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ResourceInUseException:

You cannot delete the specified resource because it is in use or required by another resource.

ServiceUnavailableException:

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

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.

DeleteRoute

$result = $client->deleteRoute([/* ... */]);
$promise = $client->deleteRouteAsync([/* ... */]);

Deletes an existing route.

Parameter Syntax

$result = $client->deleteRoute([
    'meshName' => '<string>', // REQUIRED
    'routeName' => '<string>', // REQUIRED
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string
routeName
Required: Yes
Type: string
virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'route' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'routeName' => '<string>',
        'spec' => [
            'httpRoute' => [
                'action' => [
                    'weightedTargets' => [
                        [
                            'virtualNode' => '<string>',
                            'weight' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'match' => [
                    'prefix' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
route
Type: RouteData structure

An object representing a route returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ResourceInUseException:

You cannot delete the specified resource because it is in use or required by another resource.

ServiceUnavailableException:

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

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.

DeleteVirtualNode

$result = $client->deleteVirtualNode([/* ... */]);
$promise = $client->deleteVirtualNodeAsync([/* ... */]);

Deletes an existing virtual node.

Parameter Syntax

$result = $client->deleteVirtualNode([
    'meshName' => '<string>', // REQUIRED
    'virtualNodeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string
virtualNodeName
Required: Yes
Type: string

Result Syntax

[
    'virtualNode' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'backends' => ['<string>', ...],
            'listeners' => [
                [
                    'healthCheck' => [
                        'healthyThreshold' => <integer>,
                        'intervalMillis' => <integer>,
                        'path' => '<string>',
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                        'timeoutMillis' => <integer>,
                        'unhealthyThreshold' => <integer>,
                    ],
                    'portMapping' => [
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                    ],
                ],
                // ...
            ],
            'serviceDiscovery' => [
                'dns' => [
                    'serviceName' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualNodeName' => '<string>',
    ],
]

Result Details

Members
virtualNode
Type: VirtualNodeData structure

An object representing a virtual node returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ResourceInUseException:

You cannot delete the specified resource because it is in use or required by another resource.

ServiceUnavailableException:

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

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.

DeleteVirtualRouter

$result = $client->deleteVirtualRouter([/* ... */]);
$promise = $client->deleteVirtualRouterAsync([/* ... */]);

Deletes an existing virtual router.

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

Parameter Syntax

$result = $client->deleteVirtualRouter([
    'meshName' => '<string>', // REQUIRED
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string
virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'virtualRouter' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'serviceNames' => ['<string>', ...],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
virtualRouter
Type: VirtualRouterData structure

An object representing a virtual router returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ResourceInUseException:

You cannot delete the specified resource because it is in use or required by another resource.

ServiceUnavailableException:

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

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.

DescribeMesh

$result = $client->describeMesh([/* ... */]);
$promise = $client->describeMeshAsync([/* ... */]);

Describes an existing service mesh.

Parameter Syntax

$result = $client->describeMesh([
    'meshName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string

Result Syntax

[
    'mesh' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
    ],
]

Result Details

Members
mesh
Type: MeshData structure

An object representing a service mesh returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

DescribeRoute

$result = $client->describeRoute([/* ... */]);
$promise = $client->describeRouteAsync([/* ... */]);

Describes an existing route.

Parameter Syntax

$result = $client->describeRoute([
    'meshName' => '<string>', // REQUIRED
    'routeName' => '<string>', // REQUIRED
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string
routeName
Required: Yes
Type: string
virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'route' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'routeName' => '<string>',
        'spec' => [
            'httpRoute' => [
                'action' => [
                    'weightedTargets' => [
                        [
                            'virtualNode' => '<string>',
                            'weight' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'match' => [
                    'prefix' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
route
Type: RouteData structure

An object representing a route returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

DescribeVirtualNode

$result = $client->describeVirtualNode([/* ... */]);
$promise = $client->describeVirtualNodeAsync([/* ... */]);

Describes an existing virtual node.

Parameter Syntax

$result = $client->describeVirtualNode([
    'meshName' => '<string>', // REQUIRED
    'virtualNodeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string
virtualNodeName
Required: Yes
Type: string

Result Syntax

[
    'virtualNode' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'backends' => ['<string>', ...],
            'listeners' => [
                [
                    'healthCheck' => [
                        'healthyThreshold' => <integer>,
                        'intervalMillis' => <integer>,
                        'path' => '<string>',
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                        'timeoutMillis' => <integer>,
                        'unhealthyThreshold' => <integer>,
                    ],
                    'portMapping' => [
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                    ],
                ],
                // ...
            ],
            'serviceDiscovery' => [
                'dns' => [
                    'serviceName' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualNodeName' => '<string>',
    ],
]

Result Details

Members
virtualNode
Type: VirtualNodeData structure

An object representing a virtual node returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

DescribeVirtualRouter

$result = $client->describeVirtualRouter([/* ... */]);
$promise = $client->describeVirtualRouterAsync([/* ... */]);

Describes an existing virtual router.

Parameter Syntax

$result = $client->describeVirtualRouter([
    'meshName' => '<string>', // REQUIRED
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
meshName
Required: Yes
Type: string
virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'virtualRouter' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'serviceNames' => ['<string>', ...],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
virtualRouter
Type: VirtualRouterData structure

An object representing a virtual router returned by a describe operation.

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

ListMeshes

$result = $client->listMeshes([/* ... */]);
$promise = $client->listMeshesAsync([/* ... */]);

Returns a list of existing service meshes.

Parameter Syntax

$result = $client->listMeshes([
    'limit' => <integer>,
    'nextToken' => '<string>',
]);

Parameter Details

Members
limit
Type: int
nextToken
Type: string

Result Syntax

[
    'meshes' => [
        [
            'arn' => '<string>',
            'meshName' => '<string>',
        ],
        // ...
    ],
    'nextToken' => '<string>',
]

Result Details

Members
meshes
Required: Yes
Type: Array of MeshRef structures
nextToken
Type: string

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

ListRoutes

$result = $client->listRoutes([/* ... */]);
$promise = $client->listRoutesAsync([/* ... */]);

Returns a list of existing routes in a service mesh.

Parameter Syntax

$result = $client->listRoutes([
    'limit' => <integer>,
    'meshName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
limit
Type: int
meshName
Required: Yes
Type: string
nextToken
Type: string
virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'nextToken' => '<string>',
    'routes' => [
        [
            'arn' => '<string>',
            'meshName' => '<string>',
            'routeName' => '<string>',
            'virtualRouterName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string
routes
Required: Yes
Type: Array of RouteRef structures

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

ListVirtualNodes

$result = $client->listVirtualNodes([/* ... */]);
$promise = $client->listVirtualNodesAsync([/* ... */]);

Returns a list of existing virtual nodes.

Parameter Syntax

$result = $client->listVirtualNodes([
    'limit' => <integer>,
    'meshName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
]);

Parameter Details

Members
limit
Type: int
meshName
Required: Yes
Type: string
nextToken
Type: string

Result Syntax

[
    'nextToken' => '<string>',
    'virtualNodes' => [
        [
            'arn' => '<string>',
            'meshName' => '<string>',
            'virtualNodeName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string
virtualNodes
Required: Yes
Type: Array of VirtualNodeRef structures

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

ListVirtualRouters

$result = $client->listVirtualRouters([/* ... */]);
$promise = $client->listVirtualRoutersAsync([/* ... */]);

Returns a list of existing virtual routers in a service mesh.

Parameter Syntax

$result = $client->listVirtualRouters([
    'limit' => <integer>,
    'meshName' => '<string>', // REQUIRED
    'nextToken' => '<string>',
]);

Parameter Details

Members
limit
Type: int
meshName
Required: Yes
Type: string
nextToken
Type: string

Result Syntax

[
    'nextToken' => '<string>',
    'virtualRouters' => [
        [
            'arn' => '<string>',
            'meshName' => '<string>',
            'virtualRouterName' => '<string>',
        ],
        // ...
    ],
]

Result Details

Members
nextToken
Type: string
virtualRouters
Required: Yes
Type: Array of VirtualRouterRef structures

Errors

BadRequestException:

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

ForbiddenException:

You do not have permissions to perform this action.

InternalServerErrorException:

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

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

UpdateRoute

$result = $client->updateRoute([/* ... */]);
$promise = $client->updateRouteAsync([/* ... */]);

Updates an existing route for a specified service mesh and virtual router.

Parameter Syntax

$result = $client->updateRoute([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
    'routeName' => '<string>', // REQUIRED
    'spec' => [ // REQUIRED
        'httpRoute' => [
            'action' => [
                'weightedTargets' => [
                    [
                        'virtualNode' => '<string>',
                        'weight' => <integer>,
                    ],
                    // ...
                ],
            ],
            'match' => [
                'prefix' => '<string>',
            ],
        ],
    ],
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string
routeName
Required: Yes
Type: string
spec
Required: Yes
Type: RouteSpec structure

An object representing the specification of a route.

virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'route' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'routeName' => '<string>',
        'spec' => [
            'httpRoute' => [
                'action' => [
                    'weightedTargets' => [
                        [
                            'virtualNode' => '<string>',
                            'weight' => <integer>,
                        ],
                        // ...
                    ],
                ],
                'match' => [
                    'prefix' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
route
Type: RouteData structure

An object representing a route returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

UpdateVirtualNode

$result = $client->updateVirtualNode([/* ... */]);
$promise = $client->updateVirtualNodeAsync([/* ... */]);

Updates an existing virtual node in a specified service mesh.

Parameter Syntax

$result = $client->updateVirtualNode([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
    'spec' => [ // REQUIRED
        'backends' => ['<string>', ...],
        'listeners' => [
            [
                'healthCheck' => [
                    'healthyThreshold' => <integer>, // REQUIRED
                    'intervalMillis' => <integer>, // REQUIRED
                    'path' => '<string>',
                    'port' => <integer>,
                    'protocol' => 'http|tcp', // REQUIRED
                    'timeoutMillis' => <integer>, // REQUIRED
                    'unhealthyThreshold' => <integer>, // REQUIRED
                ],
                'portMapping' => [
                    'port' => <integer>,
                    'protocol' => 'http|tcp',
                ],
            ],
            // ...
        ],
        'serviceDiscovery' => [
            'dns' => [
                'serviceName' => '<string>',
            ],
        ],
    ],
    'virtualNodeName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string
spec
Required: Yes
Type: VirtualNodeSpec structure

An object representing the specification of a virtual node.

virtualNodeName
Required: Yes
Type: string

Result Syntax

[
    'virtualNode' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'backends' => ['<string>', ...],
            'listeners' => [
                [
                    'healthCheck' => [
                        'healthyThreshold' => <integer>,
                        'intervalMillis' => <integer>,
                        'path' => '<string>',
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                        'timeoutMillis' => <integer>,
                        'unhealthyThreshold' => <integer>,
                    ],
                    'portMapping' => [
                        'port' => <integer>,
                        'protocol' => 'http|tcp',
                    ],
                ],
                // ...
            ],
            'serviceDiscovery' => [
                'dns' => [
                    'serviceName' => '<string>',
                ],
            ],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualNodeName' => '<string>',
    ],
]

Result Details

Members
virtualNode
Type: VirtualNodeData structure

An object representing a virtual node returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

UpdateVirtualRouter

$result = $client->updateVirtualRouter([/* ... */]);
$promise = $client->updateVirtualRouterAsync([/* ... */]);

Updates an existing virtual router in a specified service mesh.

Parameter Syntax

$result = $client->updateVirtualRouter([
    'clientToken' => '<string>',
    'meshName' => '<string>', // REQUIRED
    'spec' => [ // REQUIRED
        'serviceNames' => ['<string>', ...],
    ],
    'virtualRouterName' => '<string>', // REQUIRED
]);

Parameter Details

Members
clientToken
Type: string
meshName
Required: Yes
Type: string
spec
Required: Yes
Type: VirtualRouterSpec structure

An object representing the specification of a virtual router.

virtualRouterName
Required: Yes
Type: string

Result Syntax

[
    'virtualRouter' => [
        'meshName' => '<string>',
        'metadata' => [
            'arn' => '<string>',
            'createdAt' => <DateTime>,
            'lastUpdatedAt' => <DateTime>,
            'uid' => '<string>',
            'version' => <integer>,
        ],
        'spec' => [
            'serviceNames' => ['<string>', ...],
        ],
        'status' => [
            'status' => 'ACTIVE|DELETED|INACTIVE',
        ],
        'virtualRouterName' => '<string>',
    ],
]

Result Details

Members
virtualRouter
Type: VirtualRouterData structure

An object representing a virtual router returned by a describe operation.

Errors

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.

ForbiddenException:

You do not have permissions to perform this action.

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 in the AWS App Mesh User Guide.

NotFoundException:

The specified resource does not exist. Check your request syntax and try again.

ServiceUnavailableException:

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

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.

Shapes

BadRequestException

Description

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

Members
message
Type: string

ConflictException

Description

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.

Members
message
Type: string

DnsServiceDiscovery

Description

The DNS service discovery information for your virtual node.

Members
serviceName
Type: string

ForbiddenException

Description

You do not have permissions to perform this action.

Members
message
Type: string

HealthCheckPolicy

Description

An object representing the health check policy for a virtual node's listener.

Members
healthyThreshold
Required: Yes
Type: int
intervalMillis
Required: Yes
Type: long (int|float)
path
Type: string
port
Type: int
protocol
Required: Yes
Type: string
timeoutMillis
Required: Yes
Type: long (int|float)
unhealthyThreshold
Required: Yes
Type: int

HttpRoute

Description

An object representing the HTTP routing specification for a route.

Members
action
Type: HttpRouteAction structure

An object representing the traffic distribution requirements for matched HTTP requests.

match
Type: HttpRouteMatch structure

An object representing the requirements for a route to match HTTP requests for a virtual router.

HttpRouteAction

Description

An object representing the traffic distribution requirements for matched HTTP requests.

Members
weightedTargets
Type: Array of WeightedTarget structures

HttpRouteMatch

Description

An object representing the requirements for a route to match HTTP requests for a virtual router.

Members
prefix
Type: string

InternalServerErrorException

Description

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

Members
message
Type: string

LimitExceededException

Description

You have exceeded a service limit for your account. For more information, see Service Limits in the AWS App Mesh User Guide.

Members
message
Type: string

Listener

Description

An object representing a listener for a virtual node.

Members
healthCheck
Type: HealthCheckPolicy structure

An object representing the health check policy for a virtual node's listener.

portMapping
Type: PortMapping structure

An object representing a virtual node listener port mapping.

MeshData

Description

An object representing a service mesh returned by a describe operation.

Members
meshName
Required: Yes
Type: string
metadata
Required: Yes
Type: ResourceMetadata structure

An object representing metadata for a resource.

status
Type: MeshStatus structure

An object representing the status of a service mesh.

MeshRef

Description

An object representing a service mesh returned by a list operation.

Members
arn
Type: string
meshName
Type: string

MeshStatus

Description

An object representing the status of a service mesh.

Members
status
Type: string

NotFoundException

Description

The specified resource does not exist. Check your request syntax and try again.

Members
message
Type: string

PortMapping

Description

An object representing a virtual node listener port mapping.

Members
port
Type: int
protocol
Type: string

ResourceInUseException

Description

You cannot delete the specified resource because it is in use or required by another resource.

Members
message
Type: string

ResourceMetadata

Description

An object representing metadata for a resource.

Members
arn
Type: string
createdAt
Type: timestamp (string|DateTime or anything parsable by strtotime)
lastUpdatedAt
Type: timestamp (string|DateTime or anything parsable by strtotime)
uid
Type: string
version
Type: long (int|float)

RouteData

Description

An object representing a route returned by a describe operation.

Members
meshName
Required: Yes
Type: string
metadata
Type: ResourceMetadata structure

An object representing metadata for a resource.

routeName
Required: Yes
Type: string
spec
Type: RouteSpec structure

An object representing the specification of a route.

status
Type: RouteStatus structure

An object representing the current status of a route.

virtualRouterName
Required: Yes
Type: string

RouteRef

Description

An object representing a route returned by a list operation.

Members
arn
Type: string
meshName
Type: string
routeName
Type: string
virtualRouterName
Type: string

RouteSpec

Description

An object representing the specification of a route.

Members
httpRoute
Type: HttpRoute structure

An object representing the HTTP routing specification for a route.

RouteStatus

Description

An object representing the current status of a route.

Members
status
Type: string

ServiceDiscovery

Description

An object representing the service discovery information for a virtual node.

Members
dns
Type: DnsServiceDiscovery structure

The DNS service discovery information for your virtual node.

ServiceUnavailableException

Description

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

Members
message
Type: string

TooManyRequestsException

Description

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.

Members
message
Type: string

VirtualNodeData

Description

An object representing a virtual node returned by a describe operation.

Members
meshName
Required: Yes
Type: string
metadata
Type: ResourceMetadata structure

An object representing metadata for a resource.

spec
Type: VirtualNodeSpec structure

An object representing the specification of a virtual node.

status
Type: VirtualNodeStatus structure

An object representing the current status of the virtual node.

virtualNodeName
Required: Yes
Type: string

VirtualNodeRef

Description

An object representing a virtual node returned by a list operation.

Members
arn
Type: string
meshName
Type: string
virtualNodeName
Type: string

VirtualNodeSpec

Description

An object representing the specification of a virtual node.

Members
backends
Type: Array of strings
listeners
Type: Array of Listener structures
serviceDiscovery
Type: ServiceDiscovery structure

An object representing the service discovery information for a virtual node.

VirtualNodeStatus

Description

An object representing the current status of the virtual node.

Members
status
Type: string

VirtualRouterData

Description

An object representing a virtual router returned by a describe operation.

Members
meshName
Required: Yes
Type: string
metadata
Type: ResourceMetadata structure

An object representing metadata for a resource.

spec
Type: VirtualRouterSpec structure

An object representing the specification of a virtual router.

status
Type: VirtualRouterStatus structure

An object representing the status of a virtual router.

virtualRouterName
Required: Yes
Type: string

VirtualRouterRef

Description

An object representing a virtual router returned by a list operation.

Members
arn
Type: string
meshName
Type: string
virtualRouterName
Type: string

VirtualRouterSpec

Description

An object representing the specification of a virtual router.

Members
serviceNames
Type: Array of strings

VirtualRouterStatus

Description

An object representing the status of a virtual router.

Members
status
Type: string

WeightedTarget

Description

An object representing a target and its relative weight. Traffic is distributed across targets according to their relative weight. For example, a weighted target with a relative weight of 50 receives five times as much traffic as one with a relative weight of 10.

Members
virtualNode
Type: string
weight
Type: int