Skip to main content

virtual_nodes

Creates, updates, deletes, gets or lists a virtual_nodes resource.

Overview

Namevirtual_nodes
TypeResource
Idaws.appmesh.virtual_nodes

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
mesh_namestringThe name of the service mesh that the virtual node resides in.
metadataobjectAn object that represents metadata for a resource.
specobjectAn object that represents the specification of a virtual node.
statusobjectThe current status for the virtual node.
virtual_node_namestringThe name of the virtual node.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
describe_virtual_nodeselectmesh_name, virtual_node_name, regionmeshOwnerDescribes an existing virtual node.
list_virtual_nodesselectmesh_name, regionlimit, meshOwner, nextTokenReturns a list of existing virtual nodes.
create_virtual_nodeinsertmesh_name, region, spec, virtualNodeNamemeshOwnerCreates a virtual node within a service mesh. A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you can specify the service discovery information for your task group, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS). You define a listener for any inbound traffic that your virtual node expects. Any virtual service that your virtual node expects to communicate to is specified as a backend. The response metadata for your new virtual node contains the arn that is associated with the virtual node. Set this value to the full ARN; for example, arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) as the APPMESH_RESOURCE_ARN environment variable for your task group's Envoy proxy container in your task definition or pod spec. This is then mapped to the node.id and node.cluster Envoy parameters. By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN when Envoy is referring to itself in metrics and traces. You can override this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable with your own name. For more information about virtual nodes, see Virtual nodes. You must be using 1.15.0 or later of the Envoy image when setting these variables. For more information aboutApp Mesh Envoy variables, see Envoy image in the App Mesh User Guide.
update_virtual_nodeupdatemesh_name, virtual_node_name, region, specmeshOwnerUpdates an existing virtual node in a specified service mesh.
delete_virtual_nodedeletemesh_name, virtual_node_name, regionmeshOwnerDeletes 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.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
mesh_namestringThe name of the service mesh to delete the virtual node in.
regionstringAWS region (default: us-east-1)
virtual_node_namestringThe name of the virtual node to delete.
limitintegerThe maximum number of results returned by ListVirtualNodes in paginated output. When you use this parameter, ListVirtualNodes 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 ListVirtualNodes request with the returned nextToken value. This value can be between 1 and 100. If you don't use this parameter, ListVirtualNodes returns up to 100 results and a nextToken value if applicable.
meshOwnerstringThe Amazon Web Services 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.
nextTokenstringThe nextToken value returned from a previous paginated ListVirtualNodes 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.

SELECT examples

Describes an existing virtual node.

SELECT
mesh_name,
metadata,
spec,
status,
virtual_node_name
FROM aws.appmesh.virtual_nodes
WHERE mesh_name = '{{ mesh_name }}' -- required
AND virtual_node_name = '{{ virtual_node_name }}' -- required
AND region = '{{ region }}' -- required
AND meshOwner = '{{ meshOwner }}'
;

INSERT examples

Creates a virtual node within a service mesh. A virtual node acts as a logical pointer to a particular task group, such as an Amazon ECS service or a Kubernetes deployment. When you create a virtual node, you can specify the service discovery information for your task group, and whether the proxy running in a task group will communicate with other proxies using Transport Layer Security (TLS). You define a listener for any inbound traffic that your virtual node expects. Any virtual service that your virtual node expects to communicate to is specified as a backend. The response metadata for your new virtual node contains the arn that is associated with the virtual node. Set this value to the full ARN; for example, arn:aws:appmesh:us-west-2:123456789012:myMesh/default/virtualNode/myApp) as the APPMESH_RESOURCE_ARN environment variable for your task group's Envoy proxy container in your task definition or pod spec. This is then mapped to the node.id and node.cluster Envoy parameters. By default, App Mesh uses the name of the resource you specified in APPMESH_RESOURCE_ARN when Envoy is referring to itself in metrics and traces. You can override this behavior by setting the APPMESH_RESOURCE_CLUSTER environment variable with your own name. For more information about virtual nodes, see Virtual nodes. You must be using 1.15.0 or later of the Envoy image when setting these variables. For more information aboutApp Mesh Envoy variables, see Envoy image in the App Mesh User Guide.

INSERT INTO aws.appmesh.virtual_nodes (
clientToken,
spec,
tags,
virtualNodeName,
mesh_name,
region,
meshOwner
)
SELECT
'{{ clientToken }}',
'{{ spec }}' /* required */,
'{{ tags }}',
'{{ virtualNodeName }}' /* required */,
'{{ mesh_name }}',
'{{ region }}',
'{{ meshOwner }}'
RETURNING
virtual_node
;

UPDATE examples

Updates an existing virtual node in a specified service mesh.

UPDATE aws.appmesh.virtual_nodes
SET
clientToken = '{{ clientToken }}',
spec = '{{ spec }}'
WHERE
mesh_name = '{{ mesh_name }}' --required
AND virtual_node_name = '{{ virtual_node_name }}' --required
AND region = '{{ region }}' --required
AND spec = '{{ spec }}' --required
AND meshOwner = '{{ meshOwner}}'
RETURNING
virtual_node;

DELETE examples

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.

DELETE FROM aws.appmesh.virtual_nodes
WHERE mesh_name = '{{ mesh_name }}' --required
AND virtual_node_name = '{{ virtual_node_name }}' --required
AND region = '{{ region }}' --required
AND meshOwner = '{{ meshOwner }}'
;