CfnVirtualNode

class aws_cdk.aws_appmesh.CfnVirtualNode(scope, id, *, mesh_name, spec, mesh_owner=None, tags=None, virtual_node_name=None)

Bases: CfnResource

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. .. epigraph:

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 about App Mesh Envoy variables, see Envoy image in the AWS App Mesh User Guide.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appmesh-virtualnode.html

CloudformationResource:

AWS::AppMesh::VirtualNode

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

cfn_virtual_node = appmesh.CfnVirtualNode(self, "MyCfnVirtualNode",
    mesh_name="meshName",
    spec=appmesh.CfnVirtualNode.VirtualNodeSpecProperty(
        backend_defaults=appmesh.CfnVirtualNode.BackendDefaultsProperty(
            client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
                tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
                    validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                        trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                            acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                                certificate_authority_arns=["certificateAuthorityArns"]
                            ),
                            file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                                certificate_chain="certificateChain"
                            ),
                            sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                                secret_name="secretName"
                            )
                        ),

                        # the properties below are optional
                        subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                            match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                                exact=["exact"]
                            )
                        )
                    ),

                    # the properties below are optional
                    certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                        file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                            certificate_chain="certificateChain",
                            private_key="privateKey"
                        ),
                        sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                            secret_name="secretName"
                        )
                    ),
                    enforce=False,
                    ports=[123]
                )
            )
        ),
        backends=[appmesh.CfnVirtualNode.BackendProperty(
            virtual_service=appmesh.CfnVirtualNode.VirtualServiceBackendProperty(
                virtual_service_name="virtualServiceName",

                # the properties below are optional
                client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
                    tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
                        validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                            trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                                acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                                    certificate_authority_arns=["certificateAuthorityArns"]
                                ),
                                file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                                    certificate_chain="certificateChain"
                                ),
                                sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                                    secret_name="secretName"
                                )
                            ),

                            # the properties below are optional
                            subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                                match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                                    exact=["exact"]
                                )
                            )
                        ),

                        # the properties below are optional
                        certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                            file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                                certificate_chain="certificateChain",
                                private_key="privateKey"
                            ),
                            sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                                secret_name="secretName"
                            )
                        ),
                        enforce=False,
                        ports=[123]
                    )
                )
            )
        )],
        listeners=[appmesh.CfnVirtualNode.ListenerProperty(
            port_mapping=appmesh.CfnVirtualNode.PortMappingProperty(
                port=123,
                protocol="protocol"
            ),

            # the properties below are optional
            connection_pool=appmesh.CfnVirtualNode.VirtualNodeConnectionPoolProperty(
                grpc=appmesh.CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty(
                    max_requests=123
                ),
                http=appmesh.CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty(
                    max_connections=123,

                    # the properties below are optional
                    max_pending_requests=123
                ),
                http2=appmesh.CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty(
                    max_requests=123
                ),
                tcp=appmesh.CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty(
                    max_connections=123
                )
            ),
            health_check=appmesh.CfnVirtualNode.HealthCheckProperty(
                healthy_threshold=123,
                interval_millis=123,
                protocol="protocol",
                timeout_millis=123,
                unhealthy_threshold=123,

                # the properties below are optional
                path="path",
                port=123
            ),
            outlier_detection=appmesh.CfnVirtualNode.OutlierDetectionProperty(
                base_ejection_duration=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                ),
                interval=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                ),
                max_ejection_percent=123,
                max_server_errors=123
            ),
            timeout=appmesh.CfnVirtualNode.ListenerTimeoutProperty(
                grpc=appmesh.CfnVirtualNode.GrpcTimeoutProperty(
                    idle=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    ),
                    per_request=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    )
                ),
                http=appmesh.CfnVirtualNode.HttpTimeoutProperty(
                    idle=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    ),
                    per_request=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    )
                ),
                http2=appmesh.CfnVirtualNode.HttpTimeoutProperty(
                    idle=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    ),
                    per_request=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    )
                ),
                tcp=appmesh.CfnVirtualNode.TcpTimeoutProperty(
                    idle=appmesh.CfnVirtualNode.DurationProperty(
                        unit="unit",
                        value=123
                    )
                )
            ),
            tls=appmesh.CfnVirtualNode.ListenerTlsProperty(
                certificate=appmesh.CfnVirtualNode.ListenerTlsCertificateProperty(
                    acm=appmesh.CfnVirtualNode.ListenerTlsAcmCertificateProperty(
                        certificate_arn="certificateArn"
                    ),
                    file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                        certificate_chain="certificateChain",
                        private_key="privateKey"
                    ),
                    sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                        secret_name="secretName"
                    )
                ),
                mode="mode",

                # the properties below are optional
                validation=appmesh.CfnVirtualNode.ListenerTlsValidationContextProperty(
                    trust=appmesh.CfnVirtualNode.ListenerTlsValidationContextTrustProperty(
                        file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                            certificate_chain="certificateChain"
                        ),
                        sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                            secret_name="secretName"
                        )
                    ),

                    # the properties below are optional
                    subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                        match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                            exact=["exact"]
                        )
                    )
                )
            )
        )],
        logging=appmesh.CfnVirtualNode.LoggingProperty(
            access_log=appmesh.CfnVirtualNode.AccessLogProperty(
                file=appmesh.CfnVirtualNode.FileAccessLogProperty(
                    path="path",

                    # the properties below are optional
                    format=appmesh.CfnVirtualNode.LoggingFormatProperty(
                        json=[appmesh.CfnVirtualNode.JsonFormatRefProperty(
                            key="key",
                            value="value"
                        )],
                        text="text"
                    )
                )
            )
        ),
        service_discovery=appmesh.CfnVirtualNode.ServiceDiscoveryProperty(
            aws_cloud_map=appmesh.CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty(
                namespace_name="namespaceName",
                service_name="serviceName",

                # the properties below are optional
                attributes=[appmesh.CfnVirtualNode.AwsCloudMapInstanceAttributeProperty(
                    key="key",
                    value="value"
                )],
                ip_preference="ipPreference"
            ),
            dns=appmesh.CfnVirtualNode.DnsServiceDiscoveryProperty(
                hostname="hostname",

                # the properties below are optional
                ip_preference="ipPreference",
                response_type="responseType"
            )
        )
    ),

    # the properties below are optional
    mesh_owner="meshOwner",
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    virtual_node_name="virtualNodeName"
)
Parameters:
  • scope (Construct) – Scope in which this resource is defined.

  • id (str) – Construct identifier for this resource (unique in its scope).

  • mesh_name (str) – The name of the service mesh to create the virtual node in.

  • spec (Union[IResolvable, VirtualNodeSpecProperty, Dict[str, Any]]) – The virtual node specification to apply.

  • mesh_owner (Optional[str]) – 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 .

  • tags (Optional[Sequence[Union[CfnTag, Dict[str, Any]]]]) – Optional metadata that you can apply to the virtual node 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.

  • virtual_node_name (Optional[str]) – The name to use for the virtual node.

Methods

add_deletion_override(path)

Syntactic sugar for addOverride(path, undefined).

Parameters:

path (str) – The path of the value to delete.

Return type:

None

add_dependency(target)

Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

add_depends_on(target)

(deprecated) Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.

Parameters:

target (CfnResource) –

Deprecated:

use addDependency

Stability:

deprecated

Return type:

None

add_metadata(key, value)

Add a value to the CloudFormation Resource Metadata.

Parameters:
  • key (str) –

  • value (Any) –

See:

Return type:

None

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

add_override(path, value)

Adds an override to the synthesized CloudFormation resource.

To add a property override, either use addPropertyOverride or prefix path with “Properties.” (i.e. Properties.TopicName).

If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.

To include a literal . in the property name, prefix with a \. In most programming languages you will need to write this as "\\." because the \ itself will need to be escaped.

For example:

cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")

would add the overrides Example:

"Properties": {
  "GlobalSecondaryIndexes": [
    {
      "Projection": {
        "NonKeyAttributes": [ "myattribute" ]
        ...
      }
      ...
    },
    {
      "ProjectionType": "INCLUDE"
      ...
    },
  ]
  ...
}

The value argument to addOverride will not be processed or translated in any way. Pass raw JSON values in here with the correct capitalization for CloudFormation. If you pass CDK classes or structs, they will be rendered with lowercased key names, and CloudFormation will reject the template.

Parameters:
  • path (str) –

    • The path of the property, you can use dot notation to override values in complex types. Any intermediate keys will be created as needed.

  • value (Any) –

    • The value. Could be primitive or complex.

Return type:

None

add_property_deletion_override(property_path)

Adds an override that deletes the value of a property from the resource definition.

Parameters:

property_path (str) – The path to the property.

Return type:

None

add_property_override(property_path, value)

Adds an override to a resource property.

Syntactic sugar for addOverride("Properties.<...>", value).

Parameters:
  • property_path (str) – The path of the property.

  • value (Any) – The value.

Return type:

None

apply_removal_policy(policy=None, *, apply_to_update_replace_policy=None, default=None)

Sets the deletion policy of the resource based on the removal policy specified.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some cases, a snapshot can be taken of the resource prior to deletion (RemovalPolicy.SNAPSHOT). A list of resources that support this policy can be found in the following link:

Parameters:
  • policy (Optional[RemovalPolicy]) –

  • apply_to_update_replace_policy (Optional[bool]) – Apply the same deletion policy to the resource’s “UpdateReplacePolicy”. Default: true

  • default (Optional[RemovalPolicy]) – The default policy to apply in case the removal policy is not defined. Default: - Default value is resource specific. To determine the default value for a resource, please consult that specific resource’s documentation.

See:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options

Return type:

None

get_att(attribute_name, type_hint=None)

Returns a token for an runtime attribute of this resource.

Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility in case there is no generated attribute.

Parameters:
  • attribute_name (str) – The name of the attribute.

  • type_hint (Optional[ResolutionTypeHint]) –

Return type:

Reference

get_metadata(key)

Retrieve a value value from the CloudFormation Resource Metadata.

Parameters:

key (str) –

See:

Return type:

Any

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html

Note that this is a different set of metadata from CDK node metadata; this metadata ends up in the stack template under the resource, whereas CDK node metadata ends up in the Cloud Assembly.

inspect(inspector)

Examines the CloudFormation resource and discloses attributes.

Parameters:

inspector (TreeInspector) – tree inspector to collect and process attributes.

Return type:

None

obtain_dependencies()

Retrieves an array of resources this resource depends on.

This assembles dependencies on resources across stacks (including nested stacks) automatically.

Return type:

List[Union[Stack, CfnResource]]

obtain_resource_dependencies()

Get a shallow copy of dependencies between this resource and other resources in the same stack.

Return type:

List[CfnResource]

override_logical_id(new_logical_id)

Overrides the auto-generated logical ID with a specific ID.

Parameters:

new_logical_id (str) – The new logical ID to use for this stack element.

Return type:

None

remove_dependency(target)

Indicates that this resource no longer depends on another resource.

This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.

Parameters:

target (CfnResource) –

Return type:

None

replace_dependency(target, new_target)

Replaces one dependency with another.

Parameters:
Return type:

None

to_string()

Returns a string representation of this construct.

Return type:

str

Returns:

a string representation of this resource

Attributes

CFN_RESOURCE_TYPE_NAME = 'AWS::AppMesh::VirtualNode'
attr_arn

The full Amazon Resource Name (ARN) for the virtual node.

CloudformationAttribute:

Arn

attr_id

Id

Type:

cloudformationAttribute

attr_mesh_name

The name of the service mesh that the virtual node resides in.

CloudformationAttribute:

MeshName

attr_mesh_owner

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 .

CloudformationAttribute:

MeshOwner

attr_resource_owner

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 .

CloudformationAttribute:

ResourceOwner

attr_uid

The unique identifier for the virtual node.

CloudformationAttribute:

Uid

attr_virtual_node_name

The name of the virtual node.

CloudformationAttribute:

VirtualNodeName

cfn_options

Options for this resource, such as condition, update policy etc.

cfn_resource_type

AWS resource type.

creation_stack

return:

the stack trace of the point where this Resource was created from, sourced from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most node +internal+ entries filtered.

logical_id

The logical ID for this CloudFormation stack element.

The logical ID of the element is calculated from the path of the resource node in the construct tree.

To override this value, use overrideLogicalId(newLogicalId).

Returns:

the logical ID as a stringified token. This value will only get resolved during synthesis.

mesh_name

The name of the service mesh to create the virtual node in.

mesh_owner

The AWS IAM account ID of the service mesh owner.

node

The tree node.

ref

Return a string that will be resolved to a CloudFormation { Ref } for this element.

If, by any chance, the intrinsic reference of a resource is not a string, you could coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).

spec

The virtual node specification to apply.

stack

The stack in which this element is defined.

CfnElements must be defined within a stack scope (directly or indirectly).

tags

Tag Manager which manages the tags for this resource.

tags_raw

Optional metadata that you can apply to the virtual node to assist with categorization and organization.

virtual_node_name

The name to use for the virtual node.

Static Methods

classmethod is_cfn_element(x)

Returns true if a construct is a stack element (i.e. part of the synthesized cloudformation template).

Uses duck-typing instead of instanceof to allow stack elements from different versions of this library to be included in the same stack.

Parameters:

x (Any) –

Return type:

bool

Returns:

The construct as a stack element or undefined if it is not a stack element.

classmethod is_cfn_resource(x)

Check whether the given object is a CfnResource.

Parameters:

x (Any) –

Return type:

bool

classmethod is_construct(x)

Checks if x is a construct.

Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.

Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.

Parameters:

x (Any) – Any object.

Return type:

bool

Returns:

true if x is an object created from a class which extends Construct.

AccessLogProperty

class CfnVirtualNode.AccessLogProperty(*, file=None)

Bases: object

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

Parameters:

file (Union[IResolvable, FileAccessLogProperty, Dict[str, Any], None]) – The file object to send virtual node access logs to.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

access_log_property = appmesh.CfnVirtualNode.AccessLogProperty(
    file=appmesh.CfnVirtualNode.FileAccessLogProperty(
        path="path",

        # the properties below are optional
        format=appmesh.CfnVirtualNode.LoggingFormatProperty(
            json=[appmesh.CfnVirtualNode.JsonFormatRefProperty(
                key="key",
                value="value"
            )],
            text="text"
        )
    )
)

Attributes

file

The file object to send virtual node access logs to.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-accesslog.html#cfn-appmesh-virtualnode-accesslog-file

AwsCloudMapInstanceAttributeProperty

class CfnVirtualNode.AwsCloudMapInstanceAttributeProperty(*, key, value)

Bases: object

An object that represents the AWS Cloud Map attribute information for your virtual node.

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

Parameters:
  • key (str) – The name of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service instance that contains the specified key and value is returned.

  • value (str) – The value of an AWS Cloud Map service instance attribute key. Any AWS Cloud Map service instance that contains the specified key and value is returned.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

aws_cloud_map_instance_attribute_property = appmesh.CfnVirtualNode.AwsCloudMapInstanceAttributeProperty(
    key="key",
    value="value"
)

Attributes

key

The name of an AWS Cloud Map service instance attribute key.

Any AWS Cloud Map service instance that contains the specified key and value is returned.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html#cfn-appmesh-virtualnode-awscloudmapinstanceattribute-key

value

The value of an AWS Cloud Map service instance attribute key.

Any AWS Cloud Map service instance that contains the specified key and value is returned.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapinstanceattribute.html#cfn-appmesh-virtualnode-awscloudmapinstanceattribute-value

AwsCloudMapServiceDiscoveryProperty

class CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty(*, namespace_name, service_name, attributes=None, ip_preference=None)

Bases: object

An object that represents the AWS Cloud Map service discovery information for your virtual node.

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

Parameters:
  • namespace_name (str) – The HTTP name of the AWS Cloud Map namespace to use.

  • service_name (str) – The name of the AWS Cloud Map service to use.

  • attributes (Union[IResolvable, Sequence[Union[IResolvable, AwsCloudMapInstanceAttributeProperty, Dict[str, Any]]], None]) – A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance. Only instances that match all of the specified key/value pairs will be returned.

  • ip_preference (Optional[str]) – The preferred IP version that this virtual node uses. Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

aws_cloud_map_service_discovery_property = appmesh.CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty(
    namespace_name="namespaceName",
    service_name="serviceName",

    # the properties below are optional
    attributes=[appmesh.CfnVirtualNode.AwsCloudMapInstanceAttributeProperty(
        key="key",
        value="value"
    )],
    ip_preference="ipPreference"
)

Attributes

attributes

A string map that contains attributes with values that you can use to filter instances by any custom attribute that you specified when you registered the instance.

Only instances that match all of the specified key/value pairs will be returned.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-attributes

ip_preference

The preferred IP version that this virtual node uses.

Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-ippreference

namespace_name

The HTTP name of the AWS Cloud Map namespace to use.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-namespacename

service_name

The name of the AWS Cloud Map service to use.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-awscloudmapservicediscovery.html#cfn-appmesh-virtualnode-awscloudmapservicediscovery-servicename

BackendDefaultsProperty

class CfnVirtualNode.BackendDefaultsProperty(*, client_policy=None)

Bases: object

An object that represents the default properties for a backend.

Parameters:

client_policy (Union[IResolvable, ClientPolicyProperty, Dict[str, Any], None]) – A reference to an object that represents a client policy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

backend_defaults_property = appmesh.CfnVirtualNode.BackendDefaultsProperty(
    client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
        tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
            validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                    acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                        certificate_authority_arns=["certificateAuthorityArns"]
                    ),
                    file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                        certificate_chain="certificateChain"
                    ),
                    sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                        secret_name="secretName"
                    )
                ),

                # the properties below are optional
                subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                    match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                        exact=["exact"]
                    )
                )
            ),

            # the properties below are optional
            certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                    certificate_chain="certificateChain",
                    private_key="privateKey"
                ),
                sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                    secret_name="secretName"
                )
            ),
            enforce=False,
            ports=[123]
        )
    )
)

Attributes

client_policy

A reference to an object that represents a client policy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backenddefaults.html#cfn-appmesh-virtualnode-backenddefaults-clientpolicy

BackendProperty

class CfnVirtualNode.BackendProperty(*, virtual_service=None)

Bases: object

An object that represents the backends that a virtual node is expected to send outbound traffic to.

Parameters:

virtual_service (Union[IResolvable, VirtualServiceBackendProperty, Dict[str, Any], None]) – Specifies a virtual service to use as a backend.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

backend_property = appmesh.CfnVirtualNode.BackendProperty(
    virtual_service=appmesh.CfnVirtualNode.VirtualServiceBackendProperty(
        virtual_service_name="virtualServiceName",

        # the properties below are optional
        client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
            tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
                validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                    trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                        acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                            certificate_authority_arns=["certificateAuthorityArns"]
                        ),
                        file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                            certificate_chain="certificateChain"
                        ),
                        sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                            secret_name="secretName"
                        )
                    ),

                    # the properties below are optional
                    subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                        match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                            exact=["exact"]
                        )
                    )
                ),

                # the properties below are optional
                certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                    file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                        certificate_chain="certificateChain",
                        private_key="privateKey"
                    ),
                    sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                        secret_name="secretName"
                    )
                ),
                enforce=False,
                ports=[123]
            )
        )
    )
)

Attributes

virtual_service

Specifies a virtual service to use as a backend.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-backend.html#cfn-appmesh-virtualnode-backend-virtualservice

ClientPolicyProperty

class CfnVirtualNode.ClientPolicyProperty(*, tls=None)

Bases: object

An object that represents a client policy.

Parameters:

tls (Union[IResolvable, ClientPolicyTlsProperty, Dict[str, Any], None]) – A reference to an object that represents a Transport Layer Security (TLS) client policy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

client_policy_property = appmesh.CfnVirtualNode.ClientPolicyProperty(
    tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
        validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
            trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                    certificate_authority_arns=["certificateAuthorityArns"]
                ),
                file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                    certificate_chain="certificateChain"
                ),
                sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                    secret_name="secretName"
                )
            ),

            # the properties below are optional
            subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                    exact=["exact"]
                )
            )
        ),

        # the properties below are optional
        certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
            file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                certificate_chain="certificateChain",
                private_key="privateKey"
            ),
            sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                secret_name="secretName"
            )
        ),
        enforce=False,
        ports=[123]
    )
)

Attributes

tls

A reference to an object that represents a Transport Layer Security (TLS) client policy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicy.html#cfn-appmesh-virtualnode-clientpolicy-tls

ClientPolicyTlsProperty

class CfnVirtualNode.ClientPolicyTlsProperty(*, validation, certificate=None, enforce=None, ports=None)

Bases: object

A reference to an object that represents a Transport Layer Security (TLS) client policy.

Parameters:
  • validation (Union[IResolvable, TlsValidationContextProperty, Dict[str, Any]]) – A reference to an object that represents a TLS validation context.

  • certificate (Union[IResolvable, ClientTlsCertificateProperty, Dict[str, Any], None]) – A reference to an object that represents a client’s TLS certificate.

  • enforce (Union[bool, IResolvable, None]) – Whether the policy is enforced. The default is True , if a value isn’t specified.

  • ports (Union[IResolvable, Sequence[Union[int, float]], None]) – One or more ports that the policy is enforced for.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

client_policy_tls_property = appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
    validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
        trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
            acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                certificate_authority_arns=["certificateAuthorityArns"]
            ),
            file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                certificate_chain="certificateChain"
            ),
            sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                secret_name="secretName"
            )
        ),

        # the properties below are optional
        subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
            match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                exact=["exact"]
            )
        )
    ),

    # the properties below are optional
    certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
        file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
            certificate_chain="certificateChain",
            private_key="privateKey"
        ),
        sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
            secret_name="secretName"
        )
    ),
    enforce=False,
    ports=[123]
)

Attributes

certificate

A reference to an object that represents a client’s TLS certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-certificate

enforce

Whether the policy is enforced.

The default is True , if a value isn’t specified.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-enforce

ports

One or more ports that the policy is enforced for.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-ports

validation

A reference to an object that represents a TLS validation context.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clientpolicytls.html#cfn-appmesh-virtualnode-clientpolicytls-validation

ClientTlsCertificateProperty

class CfnVirtualNode.ClientTlsCertificateProperty(*, file=None, sds=None)

Bases: object

An object that represents the client’s certificate.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

client_tls_certificate_property = appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
    file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
        certificate_chain="certificateChain",
        private_key="privateKey"
    ),
    sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
        secret_name="secretName"
    )
)

Attributes

file

An object that represents a local file certificate.

The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS) .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html#cfn-appmesh-virtualnode-clienttlscertificate-file

sds

A reference to an object that represents a client’s TLS Secret Discovery Service certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-clienttlscertificate.html#cfn-appmesh-virtualnode-clienttlscertificate-sds

DnsServiceDiscoveryProperty

class CfnVirtualNode.DnsServiceDiscoveryProperty(*, hostname, ip_preference=None, response_type=None)

Bases: object

An object that represents the DNS service discovery information for your virtual node.

Parameters:
  • hostname (str) – Specifies the DNS service discovery hostname for the virtual node.

  • ip_preference (Optional[str]) – The preferred IP version that this virtual node uses. Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.

  • response_type (Optional[str]) – Specifies the DNS response type for the virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

dns_service_discovery_property = appmesh.CfnVirtualNode.DnsServiceDiscoveryProperty(
    hostname="hostname",

    # the properties below are optional
    ip_preference="ipPreference",
    response_type="responseType"
)

Attributes

hostname

Specifies the DNS service discovery hostname for the virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-hostname

ip_preference

The preferred IP version that this virtual node uses.

Setting the IP preference on the virtual node only overrides the IP preference set for the mesh on this specific node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-ippreference

response_type

Specifies the DNS response type for the virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-dnsservicediscovery.html#cfn-appmesh-virtualnode-dnsservicediscovery-responsetype

DurationProperty

class CfnVirtualNode.DurationProperty(*, unit, value)

Bases: object

An object that represents a duration of time.

Parameters:
  • unit (str) – A unit of time.

  • value (Union[int, float]) – A number of time units.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

duration_property = appmesh.CfnVirtualNode.DurationProperty(
    unit="unit",
    value=123
)

Attributes

unit

A unit of time.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-unit

value

A number of time units.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-duration.html#cfn-appmesh-virtualnode-duration-value

FileAccessLogProperty

class CfnVirtualNode.FileAccessLogProperty(*, path, format=None)

Bases: object

An object that represents an access log file.

Parameters:
  • path (str) – 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. .. epigraph:: The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.

  • format (Union[IResolvable, LoggingFormatProperty, Dict[str, Any], None]) – The specified format for the logs. The format is either json_format or text_format .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

file_access_log_property = appmesh.CfnVirtualNode.FileAccessLogProperty(
    path="path",

    # the properties below are optional
    format=appmesh.CfnVirtualNode.LoggingFormatProperty(
        json=[appmesh.CfnVirtualNode.JsonFormatRefProperty(
            key="key",
            value="value"
        )],
        text="text"
    )
)

Attributes

format

The specified format for the logs.

The format is either json_format or text_format .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html#cfn-appmesh-virtualnode-fileaccesslog-format

path

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. .. epigraph:

The Envoy process must have write permissions to the path that you specify here. Otherwise, Envoy fails to bootstrap properly.
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-fileaccesslog.html#cfn-appmesh-virtualnode-fileaccesslog-path

GrpcTimeoutProperty

class CfnVirtualNode.GrpcTimeoutProperty(*, idle=None, per_request=None)

Bases: object

An object that represents types of timeouts.

Parameters:
  • idle (Union[IResolvable, DurationProperty, Dict[str, Any], None]) – An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.

  • per_request (Union[IResolvable, DurationProperty, Dict[str, Any], None]) – An object that represents a per request timeout. The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

grpc_timeout_property = appmesh.CfnVirtualNode.GrpcTimeoutProperty(
    idle=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    ),
    per_request=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    )
)

Attributes

idle

An object that represents an idle timeout.

An idle timeout bounds the amount of time that a connection may be idle. The default value is none.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-idle

per_request

An object that represents a per request timeout.

The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-grpctimeout.html#cfn-appmesh-virtualnode-grpctimeout-perrequest

HealthCheckProperty

class CfnVirtualNode.HealthCheckProperty(*, healthy_threshold, interval_millis, protocol, timeout_millis, unhealthy_threshold, path=None, port=None)

Bases: object

An object that represents the health check policy for a virtual node’s listener.

Parameters:
  • healthy_threshold (Union[int, float]) – The number of consecutive successful health checks that must occur before declaring listener healthy.

  • interval_millis (Union[int, float]) – The time period in milliseconds between each health check execution.

  • protocol (str) – The protocol for the health check request. If you specify grpc , then your service must conform to the GRPC Health Checking Protocol .

  • timeout_millis (Union[int, float]) – The amount of time to wait when receiving a response from the health check, in milliseconds.

  • unhealthy_threshold (Union[int, float]) – The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.

  • path (Optional[str]) – 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.

  • port (Union[int, float, None]) – The destination port for the health check request. This port must match the port defined in the PortMapping for the listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

health_check_property = appmesh.CfnVirtualNode.HealthCheckProperty(
    healthy_threshold=123,
    interval_millis=123,
    protocol="protocol",
    timeout_millis=123,
    unhealthy_threshold=123,

    # the properties below are optional
    path="path",
    port=123
)

Attributes

healthy_threshold

The number of consecutive successful health checks that must occur before declaring listener healthy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-healthythreshold

interval_millis

The time period in milliseconds between each health check execution.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-intervalmillis

path

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-path

port

The destination port for the health check request.

This port must match the port defined in the PortMapping for the listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-port

protocol

The protocol for the health check request.

If you specify grpc , then your service must conform to the GRPC Health Checking Protocol .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-protocol

timeout_millis

The amount of time to wait when receiving a response from the health check, in milliseconds.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-timeoutmillis

unhealthy_threshold

The number of consecutive failed health checks that must occur before declaring a virtual node unhealthy.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-healthcheck.html#cfn-appmesh-virtualnode-healthcheck-unhealthythreshold

HttpTimeoutProperty

class CfnVirtualNode.HttpTimeoutProperty(*, idle=None, per_request=None)

Bases: object

An object that represents types of timeouts.

Parameters:
  • idle (Union[IResolvable, DurationProperty, Dict[str, Any], None]) – An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.

  • per_request (Union[IResolvable, DurationProperty, Dict[str, Any], None]) – An object that represents a per request timeout. The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

http_timeout_property = appmesh.CfnVirtualNode.HttpTimeoutProperty(
    idle=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    ),
    per_request=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    )
)

Attributes

idle

An object that represents an idle timeout.

An idle timeout bounds the amount of time that a connection may be idle. The default value is none.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-idle

per_request

An object that represents a per request timeout.

The default value is 15 seconds. If you set a higher timeout, then make sure that the higher value is set for each App Mesh resource in a conversation. For example, if a virtual node backend uses a virtual router provider to route to another virtual node, then the timeout should be greater than 15 seconds for the source and destination virtual node and the route.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-httptimeout.html#cfn-appmesh-virtualnode-httptimeout-perrequest

JsonFormatRefProperty

class CfnVirtualNode.JsonFormatRefProperty(*, key, value)

Bases: object

An object that represents the key value pairs for the JSON.

Parameters:
  • key (str) – The specified key for the JSON.

  • value (str) – The specified value for the JSON.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-jsonformatref.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

json_format_ref_property = appmesh.CfnVirtualNode.JsonFormatRefProperty(
    key="key",
    value="value"
)

Attributes

key

The specified key for the JSON.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-jsonformatref.html#cfn-appmesh-virtualnode-jsonformatref-key

value

The specified value for the JSON.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-jsonformatref.html#cfn-appmesh-virtualnode-jsonformatref-value

ListenerProperty

class CfnVirtualNode.ListenerProperty(*, port_mapping, connection_pool=None, health_check=None, outlier_detection=None, timeout=None, tls=None)

Bases: object

An object that represents a listener for a virtual node.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_property = appmesh.CfnVirtualNode.ListenerProperty(
    port_mapping=appmesh.CfnVirtualNode.PortMappingProperty(
        port=123,
        protocol="protocol"
    ),

    # the properties below are optional
    connection_pool=appmesh.CfnVirtualNode.VirtualNodeConnectionPoolProperty(
        grpc=appmesh.CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty(
            max_requests=123
        ),
        http=appmesh.CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty(
            max_connections=123,

            # the properties below are optional
            max_pending_requests=123
        ),
        http2=appmesh.CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty(
            max_requests=123
        ),
        tcp=appmesh.CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty(
            max_connections=123
        )
    ),
    health_check=appmesh.CfnVirtualNode.HealthCheckProperty(
        healthy_threshold=123,
        interval_millis=123,
        protocol="protocol",
        timeout_millis=123,
        unhealthy_threshold=123,

        # the properties below are optional
        path="path",
        port=123
    ),
    outlier_detection=appmesh.CfnVirtualNode.OutlierDetectionProperty(
        base_ejection_duration=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        ),
        interval=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        ),
        max_ejection_percent=123,
        max_server_errors=123
    ),
    timeout=appmesh.CfnVirtualNode.ListenerTimeoutProperty(
        grpc=appmesh.CfnVirtualNode.GrpcTimeoutProperty(
            idle=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            ),
            per_request=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            )
        ),
        http=appmesh.CfnVirtualNode.HttpTimeoutProperty(
            idle=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            ),
            per_request=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            )
        ),
        http2=appmesh.CfnVirtualNode.HttpTimeoutProperty(
            idle=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            ),
            per_request=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            )
        ),
        tcp=appmesh.CfnVirtualNode.TcpTimeoutProperty(
            idle=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            )
        )
    ),
    tls=appmesh.CfnVirtualNode.ListenerTlsProperty(
        certificate=appmesh.CfnVirtualNode.ListenerTlsCertificateProperty(
            acm=appmesh.CfnVirtualNode.ListenerTlsAcmCertificateProperty(
                certificate_arn="certificateArn"
            ),
            file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                certificate_chain="certificateChain",
                private_key="privateKey"
            ),
            sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                secret_name="secretName"
            )
        ),
        mode="mode",

        # the properties below are optional
        validation=appmesh.CfnVirtualNode.ListenerTlsValidationContextProperty(
            trust=appmesh.CfnVirtualNode.ListenerTlsValidationContextTrustProperty(
                file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                    certificate_chain="certificateChain"
                ),
                sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                    secret_name="secretName"
                )
            ),

            # the properties below are optional
            subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                    exact=["exact"]
                )
            )
        )
    )
)

Attributes

connection_pool

The connection pool information for the listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-connectionpool

health_check

The health check information for the listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-healthcheck

outlier_detection

The outlier detection information for the listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-outlierdetection

port_mapping

The port mapping information for the listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-portmapping

timeout

An object that represents timeouts for different protocols.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-timeout

tls

A reference to an object that represents the Transport Layer Security (TLS) properties for a listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listener.html#cfn-appmesh-virtualnode-listener-tls

ListenerTimeoutProperty

class CfnVirtualNode.ListenerTimeoutProperty(*, grpc=None, http=None, http2=None, tcp=None)

Bases: object

An object that represents timeouts for different protocols.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_timeout_property = appmesh.CfnVirtualNode.ListenerTimeoutProperty(
    grpc=appmesh.CfnVirtualNode.GrpcTimeoutProperty(
        idle=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        ),
        per_request=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        )
    ),
    http=appmesh.CfnVirtualNode.HttpTimeoutProperty(
        idle=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        ),
        per_request=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        )
    ),
    http2=appmesh.CfnVirtualNode.HttpTimeoutProperty(
        idle=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        ),
        per_request=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        )
    ),
    tcp=appmesh.CfnVirtualNode.TcpTimeoutProperty(
        idle=appmesh.CfnVirtualNode.DurationProperty(
            unit="unit",
            value=123
        )
    )
)

Attributes

grpc

An object that represents types of timeouts.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-grpc

http

An object that represents types of timeouts.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http

http2

An object that represents types of timeouts.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-http2

tcp

An object that represents types of timeouts.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertimeout.html#cfn-appmesh-virtualnode-listenertimeout-tcp

ListenerTlsAcmCertificateProperty

class CfnVirtualNode.ListenerTlsAcmCertificateProperty(*, certificate_arn)

Bases: object

An object that represents an AWS Certificate Manager certificate.

Parameters:

certificate_arn (str) –

The Amazon Resource Name (ARN) for the certificate. The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS) .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_acm_certificate_property = appmesh.CfnVirtualNode.ListenerTlsAcmCertificateProperty(
    certificate_arn="certificateArn"
)

Attributes

certificate_arn

The Amazon Resource Name (ARN) for the certificate.

The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS) .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsacmcertificate.html#cfn-appmesh-virtualnode-listenertlsacmcertificate-certificatearn

ListenerTlsCertificateProperty

class CfnVirtualNode.ListenerTlsCertificateProperty(*, acm=None, file=None, sds=None)

Bases: object

An object that represents a listener’s Transport Layer Security (TLS) certificate.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_certificate_property = appmesh.CfnVirtualNode.ListenerTlsCertificateProperty(
    acm=appmesh.CfnVirtualNode.ListenerTlsAcmCertificateProperty(
        certificate_arn="certificateArn"
    ),
    file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
        certificate_chain="certificateChain",
        private_key="privateKey"
    ),
    sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
        secret_name="secretName"
    )
)

Attributes

acm

A reference to an object that represents an AWS Certificate Manager certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-acm

file

A reference to an object that represents a local file certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-file

sds

A reference to an object that represents a listener’s Secret Discovery Service certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlscertificate.html#cfn-appmesh-virtualnode-listenertlscertificate-sds

ListenerTlsFileCertificateProperty

class CfnVirtualNode.ListenerTlsFileCertificateProperty(*, certificate_chain, private_key)

Bases: object

An object that represents a local file certificate.

The certificate must meet specific requirements and you must have proxy authorization enabled. For more information, see Transport Layer Security (TLS) .

Parameters:
  • certificate_chain (str) – The certificate chain for the certificate.

  • private_key (str) – The private key for a certificate stored on the file system of the virtual node that the proxy is running on.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_file_certificate_property = appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
    certificate_chain="certificateChain",
    private_key="privateKey"
)

Attributes

certificate_chain

The certificate chain for the certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-certificatechain

private_key

The private key for a certificate stored on the file system of the virtual node that the proxy is running on.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsfilecertificate.html#cfn-appmesh-virtualnode-listenertlsfilecertificate-privatekey

ListenerTlsProperty

class CfnVirtualNode.ListenerTlsProperty(*, certificate, mode, validation=None)

Bases: object

An object that represents the Transport Layer Security (TLS) properties for a listener.

Parameters:
  • certificate (Union[IResolvable, ListenerTlsCertificateProperty, Dict[str, Any]]) – A reference to an object that represents a listener’s Transport Layer Security (TLS) certificate.

  • mode (str) – 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.

  • validation (Union[IResolvable, ListenerTlsValidationContextProperty, Dict[str, Any], None]) – A reference to an object that represents a listener’s Transport Layer Security (TLS) validation context.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_property = appmesh.CfnVirtualNode.ListenerTlsProperty(
    certificate=appmesh.CfnVirtualNode.ListenerTlsCertificateProperty(
        acm=appmesh.CfnVirtualNode.ListenerTlsAcmCertificateProperty(
            certificate_arn="certificateArn"
        ),
        file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
            certificate_chain="certificateChain",
            private_key="privateKey"
        ),
        sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
            secret_name="secretName"
        )
    ),
    mode="mode",

    # the properties below are optional
    validation=appmesh.CfnVirtualNode.ListenerTlsValidationContextProperty(
        trust=appmesh.CfnVirtualNode.ListenerTlsValidationContextTrustProperty(
            file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                certificate_chain="certificateChain"
            ),
            sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                secret_name="secretName"
            )
        ),

        # the properties below are optional
        subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
            match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                exact=["exact"]
            )
        )
    )
)

Attributes

certificate

A reference to an object that represents a listener’s Transport Layer Security (TLS) certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-certificate

mode

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.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-mode

validation

A reference to an object that represents a listener’s Transport Layer Security (TLS) validation context.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertls.html#cfn-appmesh-virtualnode-listenertls-validation

ListenerTlsSdsCertificateProperty

class CfnVirtualNode.ListenerTlsSdsCertificateProperty(*, secret_name)

Bases: object

An object that represents the listener’s Secret Discovery Service certificate.

The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh TLS documentation for more info.

Parameters:

secret_name (str) – A reference to an object that represents the name of the secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlssdscertificate.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_sds_certificate_property = appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
    secret_name="secretName"
)

Attributes

secret_name

A reference to an object that represents the name of the secret requested from the Secret Discovery Service provider representing Transport Layer Security (TLS) materials like a certificate or certificate chain.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlssdscertificate.html#cfn-appmesh-virtualnode-listenertlssdscertificate-secretname

ListenerTlsValidationContextProperty

class CfnVirtualNode.ListenerTlsValidationContextProperty(*, trust, subject_alternative_names=None)

Bases: object

An object that represents a listener’s Transport Layer Security (TLS) validation context.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_validation_context_property = appmesh.CfnVirtualNode.ListenerTlsValidationContextProperty(
    trust=appmesh.CfnVirtualNode.ListenerTlsValidationContextTrustProperty(
        file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
            certificate_chain="certificateChain"
        ),
        sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
            secret_name="secretName"
        )
    ),

    # the properties below are optional
    subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
        match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
            exact=["exact"]
        )
    )
)

Attributes

subject_alternative_names

A reference to an object that represents the SANs for a listener’s Transport Layer Security (TLS) validation context.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html#cfn-appmesh-virtualnode-listenertlsvalidationcontext-subjectalternativenames

trust

A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontext.html#cfn-appmesh-virtualnode-listenertlsvalidationcontext-trust

ListenerTlsValidationContextTrustProperty

class CfnVirtualNode.ListenerTlsValidationContextTrustProperty(*, file=None, sds=None)

Bases: object

An object that represents a listener’s Transport Layer Security (TLS) validation context trust.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

listener_tls_validation_context_trust_property = appmesh.CfnVirtualNode.ListenerTlsValidationContextTrustProperty(
    file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
        certificate_chain="certificateChain"
    ),
    sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
        secret_name="secretName"
    )
)

Attributes

file

An object that represents a Transport Layer Security (TLS) validation context trust for a local file.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-listenertlsvalidationcontexttrust-file

sds

A reference to an object that represents a listener’s Transport Layer Security (TLS) Secret Discovery Service validation context trust.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-listenertlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-listenertlsvalidationcontexttrust-sds

LoggingFormatProperty

class CfnVirtualNode.LoggingFormatProperty(*, json=None, text=None)

Bases: object

An object that represents the format for the logs.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-loggingformat.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

logging_format_property = appmesh.CfnVirtualNode.LoggingFormatProperty(
    json=[appmesh.CfnVirtualNode.JsonFormatRefProperty(
        key="key",
        value="value"
    )],
    text="text"
)

Attributes

json

The logging format for JSON.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-loggingformat.html#cfn-appmesh-virtualnode-loggingformat-json

text

The logging format for text.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-loggingformat.html#cfn-appmesh-virtualnode-loggingformat-text

LoggingProperty

class CfnVirtualNode.LoggingProperty(*, access_log=None)

Bases: object

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

Parameters:

access_log (Union[IResolvable, AccessLogProperty, Dict[str, Any], None]) – The access log configuration for a virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

logging_property = appmesh.CfnVirtualNode.LoggingProperty(
    access_log=appmesh.CfnVirtualNode.AccessLogProperty(
        file=appmesh.CfnVirtualNode.FileAccessLogProperty(
            path="path",

            # the properties below are optional
            format=appmesh.CfnVirtualNode.LoggingFormatProperty(
                json=[appmesh.CfnVirtualNode.JsonFormatRefProperty(
                    key="key",
                    value="value"
                )],
                text="text"
            )
        )
    )
)

Attributes

access_log

The access log configuration for a virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-logging.html#cfn-appmesh-virtualnode-logging-accesslog

OutlierDetectionProperty

class CfnVirtualNode.OutlierDetectionProperty(*, base_ejection_duration, interval, max_ejection_percent, max_server_errors)

Bases: object

An object that represents the outlier detection for a virtual node’s listener.

Parameters:
  • base_ejection_duration (Union[IResolvable, DurationProperty, Dict[str, Any]]) – The base amount of time for which a host is ejected.

  • interval (Union[IResolvable, DurationProperty, Dict[str, Any]]) – The time interval between ejection sweep analysis.

  • max_ejection_percent (Union[int, float]) – Maximum percentage of hosts in load balancing pool for upstream service that can be ejected. Will eject at least one host regardless of the value.

  • max_server_errors (Union[int, float]) – Number of consecutive 5xx errors required for ejection.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

outlier_detection_property = appmesh.CfnVirtualNode.OutlierDetectionProperty(
    base_ejection_duration=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    ),
    interval=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    ),
    max_ejection_percent=123,
    max_server_errors=123
)

Attributes

base_ejection_duration

The base amount of time for which a host is ejected.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-baseejectionduration

interval

The time interval between ejection sweep analysis.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-interval

max_ejection_percent

Maximum percentage of hosts in load balancing pool for upstream service that can be ejected.

Will eject at least one host regardless of the value.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-maxejectionpercent

max_server_errors

Number of consecutive 5xx errors required for ejection.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-outlierdetection.html#cfn-appmesh-virtualnode-outlierdetection-maxservererrors

PortMappingProperty

class CfnVirtualNode.PortMappingProperty(*, port, protocol)

Bases: object

An object representing a virtual node or virtual router listener port mapping.

Parameters:
  • port (Union[int, float]) – The port used for the port mapping.

  • protocol (str) – The protocol used for the port mapping. Specify http , http2 , grpc , or tcp .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

port_mapping_property = appmesh.CfnVirtualNode.PortMappingProperty(
    port=123,
    protocol="protocol"
)

Attributes

port

The port used for the port mapping.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html#cfn-appmesh-virtualnode-portmapping-port

protocol

The protocol used for the port mapping.

Specify http , http2 , grpc , or tcp .

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-portmapping.html#cfn-appmesh-virtualnode-portmapping-protocol

ServiceDiscoveryProperty

class CfnVirtualNode.ServiceDiscoveryProperty(*, aws_cloud_map=None, dns=None)

Bases: object

An object that represents the service discovery information for a virtual node.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

service_discovery_property = appmesh.CfnVirtualNode.ServiceDiscoveryProperty(
    aws_cloud_map=appmesh.CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty(
        namespace_name="namespaceName",
        service_name="serviceName",

        # the properties below are optional
        attributes=[appmesh.CfnVirtualNode.AwsCloudMapInstanceAttributeProperty(
            key="key",
            value="value"
        )],
        ip_preference="ipPreference"
    ),
    dns=appmesh.CfnVirtualNode.DnsServiceDiscoveryProperty(
        hostname="hostname",

        # the properties below are optional
        ip_preference="ipPreference",
        response_type="responseType"
    )
)

Attributes

aws_cloud_map

Specifies any AWS Cloud Map information for the virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-awscloudmap

dns

Specifies the DNS information for the virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-servicediscovery.html#cfn-appmesh-virtualnode-servicediscovery-dns

SubjectAlternativeNameMatchersProperty

class CfnVirtualNode.SubjectAlternativeNameMatchersProperty(*, exact=None)

Bases: object

An object that represents the methods by which a subject alternative name on a peer Transport Layer Security (TLS) certificate can be matched.

Parameters:

exact (Optional[Sequence[str]]) – The values sent must match the specified values exactly.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenamematchers.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

subject_alternative_name_matchers_property = appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
    exact=["exact"]
)

Attributes

exact

The values sent must match the specified values exactly.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenamematchers.html#cfn-appmesh-virtualnode-subjectalternativenamematchers-exact

SubjectAlternativeNamesProperty

class CfnVirtualNode.SubjectAlternativeNamesProperty(*, match)

Bases: object

An object that represents the subject alternative names secured by the certificate.

Parameters:

match (Union[IResolvable, SubjectAlternativeNameMatchersProperty, Dict[str, Any]]) – An object that represents the criteria for determining a SANs match.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenames.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

subject_alternative_names_property = appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
    match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
        exact=["exact"]
    )
)

Attributes

match

An object that represents the criteria for determining a SANs match.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-subjectalternativenames.html#cfn-appmesh-virtualnode-subjectalternativenames-match

TcpTimeoutProperty

class CfnVirtualNode.TcpTimeoutProperty(*, idle=None)

Bases: object

An object that represents types of timeouts.

Parameters:

idle (Union[IResolvable, DurationProperty, Dict[str, Any], None]) – An object that represents an idle timeout. An idle timeout bounds the amount of time that a connection may be idle. The default value is none.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

tcp_timeout_property = appmesh.CfnVirtualNode.TcpTimeoutProperty(
    idle=appmesh.CfnVirtualNode.DurationProperty(
        unit="unit",
        value=123
    )
)

Attributes

idle

An object that represents an idle timeout.

An idle timeout bounds the amount of time that a connection may be idle. The default value is none.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tcptimeout.html#cfn-appmesh-virtualnode-tcptimeout-idle

TlsValidationContextAcmTrustProperty

class CfnVirtualNode.TlsValidationContextAcmTrustProperty(*, certificate_authority_arns)

Bases: object

An object that represents a Transport Layer Security (TLS) validation context trust for an AWS Certificate Manager certificate.

Parameters:

certificate_authority_arns (Sequence[str]) – One or more ACM Amazon Resource Name (ARN)s.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

tls_validation_context_acm_trust_property = appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
    certificate_authority_arns=["certificateAuthorityArns"]
)

Attributes

certificate_authority_arns

One or more ACM Amazon Resource Name (ARN)s.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextacmtrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextacmtrust-certificateauthorityarns

TlsValidationContextFileTrustProperty

class CfnVirtualNode.TlsValidationContextFileTrustProperty(*, certificate_chain)

Bases: object

An object that represents a Transport Layer Security (TLS) validation context trust for a local file.

Parameters:

certificate_chain (str) – The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

tls_validation_context_file_trust_property = appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
    certificate_chain="certificateChain"
)

Attributes

certificate_chain

The certificate trust chain for a certificate stored on the file system of the virtual node that the proxy is running on.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextfiletrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextfiletrust-certificatechain

TlsValidationContextProperty

class CfnVirtualNode.TlsValidationContextProperty(*, trust, subject_alternative_names=None)

Bases: object

An object that represents how the proxy will validate its peer during Transport Layer Security (TLS) negotiation.

Parameters:
  • trust (Union[IResolvable, TlsValidationContextTrustProperty, Dict[str, Any]]) – A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.

  • subject_alternative_names (Union[IResolvable, SubjectAlternativeNamesProperty, Dict[str, Any], None]) – A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context. If you don’t specify SANs on the terminating mesh endpoint, the Envoy proxy for that node doesn’t verify the SAN on a peer client certificate. If you don’t specify SANs on the originating mesh endpoint, the SAN on the certificate provided by the terminating endpoint must match the mesh endpoint service discovery configuration. Since SPIRE vended certificates have a SPIFFE ID as a name, you must set the SAN since the name doesn’t match the service discovery name.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

tls_validation_context_property = appmesh.CfnVirtualNode.TlsValidationContextProperty(
    trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
        acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
            certificate_authority_arns=["certificateAuthorityArns"]
        ),
        file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
            certificate_chain="certificateChain"
        ),
        sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
            secret_name="secretName"
        )
    ),

    # the properties below are optional
    subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
        match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
            exact=["exact"]
        )
    )
)

Attributes

subject_alternative_names

A reference to an object that represents the SANs for a Transport Layer Security (TLS) validation context.

If you don’t specify SANs on the terminating mesh endpoint, the Envoy proxy for that node doesn’t verify the SAN on a peer client certificate. If you don’t specify SANs on the originating mesh endpoint, the SAN on the certificate provided by the terminating endpoint must match the mesh endpoint service discovery configuration. Since SPIRE vended certificates have a SPIFFE ID as a name, you must set the SAN since the name doesn’t match the service discovery name.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-subjectalternativenames

trust

A reference to where to retrieve the trust chain when validating a peer’s Transport Layer Security (TLS) certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontext.html#cfn-appmesh-virtualnode-tlsvalidationcontext-trust

TlsValidationContextSdsTrustProperty

class CfnVirtualNode.TlsValidationContextSdsTrustProperty(*, secret_name)

Bases: object

An object that represents a Transport Layer Security (TLS) Secret Discovery Service validation context trust.

The proxy must be configured with a local SDS provider via a Unix Domain Socket. See App Mesh TLS documentation for more info.

Parameters:

secret_name (str) – A reference to an object that represents the name of the secret for a Transport Layer Security (TLS) Secret Discovery Service validation context trust.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextsdstrust.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

tls_validation_context_sds_trust_property = appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
    secret_name="secretName"
)

Attributes

secret_name

A reference to an object that represents the name of the secret for a Transport Layer Security (TLS) Secret Discovery Service validation context trust.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontextsdstrust.html#cfn-appmesh-virtualnode-tlsvalidationcontextsdstrust-secretname

TlsValidationContextTrustProperty

class CfnVirtualNode.TlsValidationContextTrustProperty(*, acm=None, file=None, sds=None)

Bases: object

An object that represents a Transport Layer Security (TLS) validation context trust.

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

tls_validation_context_trust_property = appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
    acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
        certificate_authority_arns=["certificateAuthorityArns"]
    ),
    file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
        certificate_chain="certificateChain"
    ),
    sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
        secret_name="secretName"
    )
)

Attributes

acm

A reference to an object that represents a Transport Layer Security (TLS) validation context trust for an AWS Certificate Manager certificate.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-acm

file

An object that represents a Transport Layer Security (TLS) validation context trust for a local file.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-file

sds

A reference to an object that represents a Transport Layer Security (TLS) Secret Discovery Service validation context trust.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-tlsvalidationcontexttrust.html#cfn-appmesh-virtualnode-tlsvalidationcontexttrust-sds

VirtualNodeConnectionPoolProperty

class CfnVirtualNode.VirtualNodeConnectionPoolProperty(*, grpc=None, http=None, http2=None, tcp=None)

Bases: object

An object that represents the type of virtual node connection pool.

Only one protocol is used at a time and should be the same protocol as the one chosen under port mapping.

If not present the default value for maxPendingRequests is 2147483647 .

Parameters:
See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_node_connection_pool_property = appmesh.CfnVirtualNode.VirtualNodeConnectionPoolProperty(
    grpc=appmesh.CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty(
        max_requests=123
    ),
    http=appmesh.CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty(
        max_connections=123,

        # the properties below are optional
        max_pending_requests=123
    ),
    http2=appmesh.CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty(
        max_requests=123
    ),
    tcp=appmesh.CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty(
        max_connections=123
    )
)

Attributes

grpc

An object that represents a type of connection pool.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-grpc

http

An object that represents a type of connection pool.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-http

http2

An object that represents a type of connection pool.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-http2

tcp

An object that represents a type of connection pool.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodeconnectionpool.html#cfn-appmesh-virtualnode-virtualnodeconnectionpool-tcp

VirtualNodeGrpcConnectionPoolProperty

class CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty(*, max_requests)

Bases: object

An object that represents a type of connection pool.

Parameters:

max_requests (Union[int, float]) – Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodegrpcconnectionpool.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_node_grpc_connection_pool_property = appmesh.CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty(
    max_requests=123
)

Attributes

max_requests

Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodegrpcconnectionpool.html#cfn-appmesh-virtualnode-virtualnodegrpcconnectionpool-maxrequests

VirtualNodeHttp2ConnectionPoolProperty

class CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty(*, max_requests)

Bases: object

An object that represents a type of connection pool.

Parameters:

max_requests (Union[int, float]) – Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttp2connectionpool.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_node_http2_connection_pool_property = appmesh.CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty(
    max_requests=123
)

Attributes

max_requests

Maximum number of inflight requests Envoy can concurrently support across hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttp2connectionpool.html#cfn-appmesh-virtualnode-virtualnodehttp2connectionpool-maxrequests

VirtualNodeHttpConnectionPoolProperty

class CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty(*, max_connections, max_pending_requests=None)

Bases: object

An object that represents a type of connection pool.

Parameters:
  • max_connections (Union[int, float]) – Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.

  • max_pending_requests (Union[int, float, None]) – Number of overflowing requests after max_connections Envoy will queue to upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_node_http_connection_pool_property = appmesh.CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty(
    max_connections=123,

    # the properties below are optional
    max_pending_requests=123
)

Attributes

max_connections

Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodehttpconnectionpool-maxconnections

max_pending_requests

Number of overflowing requests after max_connections Envoy will queue to upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodehttpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodehttpconnectionpool-maxpendingrequests

VirtualNodeSpecProperty

class CfnVirtualNode.VirtualNodeSpecProperty(*, backend_defaults=None, backends=None, listeners=None, logging=None, service_discovery=None)

Bases: object

An object that represents the specification of a virtual node.

Parameters:
  • backend_defaults (Union[IResolvable, BackendDefaultsProperty, Dict[str, Any], None]) – A reference to an object that represents the defaults for backends.

  • backends (Union[IResolvable, Sequence[Union[IResolvable, BackendProperty, Dict[str, Any]]], None]) – The backends that the virtual node is expected to send outbound traffic to. .. epigraph:: App Mesh doesn’t validate the existence of those virtual services specified in backends. This is to prevent a cyclic dependency between virtual nodes and virtual services creation. Make sure the virtual service name is correct. The virtual service can be created afterwards if it doesn’t already exist.

  • listeners (Union[IResolvable, Sequence[Union[IResolvable, ListenerProperty, Dict[str, Any]]], None]) – The listener that the virtual node is expected to receive inbound traffic from. You can specify one listener.

  • logging (Union[IResolvable, LoggingProperty, Dict[str, Any], None]) – The inbound and outbound access logging information for the virtual node.

  • service_discovery (Union[IResolvable, ServiceDiscoveryProperty, Dict[str, Any], None]) – The service discovery information for the virtual node. If your virtual node does not expect ingress traffic, you can omit this parameter. If you specify a listener , then you must specify service discovery information.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_node_spec_property = appmesh.CfnVirtualNode.VirtualNodeSpecProperty(
    backend_defaults=appmesh.CfnVirtualNode.BackendDefaultsProperty(
        client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
            tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
                validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                    trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                        acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                            certificate_authority_arns=["certificateAuthorityArns"]
                        ),
                        file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                            certificate_chain="certificateChain"
                        ),
                        sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                            secret_name="secretName"
                        )
                    ),

                    # the properties below are optional
                    subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                        match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                            exact=["exact"]
                        )
                    )
                ),

                # the properties below are optional
                certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                    file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                        certificate_chain="certificateChain",
                        private_key="privateKey"
                    ),
                    sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                        secret_name="secretName"
                    )
                ),
                enforce=False,
                ports=[123]
            )
        )
    ),
    backends=[appmesh.CfnVirtualNode.BackendProperty(
        virtual_service=appmesh.CfnVirtualNode.VirtualServiceBackendProperty(
            virtual_service_name="virtualServiceName",

            # the properties below are optional
            client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
                tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
                    validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                        trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                            acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                                certificate_authority_arns=["certificateAuthorityArns"]
                            ),
                            file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                                certificate_chain="certificateChain"
                            ),
                            sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                                secret_name="secretName"
                            )
                        ),

                        # the properties below are optional
                        subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                            match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                                exact=["exact"]
                            )
                        )
                    ),

                    # the properties below are optional
                    certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                        file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                            certificate_chain="certificateChain",
                            private_key="privateKey"
                        ),
                        sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                            secret_name="secretName"
                        )
                    ),
                    enforce=False,
                    ports=[123]
                )
            )
        )
    )],
    listeners=[appmesh.CfnVirtualNode.ListenerProperty(
        port_mapping=appmesh.CfnVirtualNode.PortMappingProperty(
            port=123,
            protocol="protocol"
        ),

        # the properties below are optional
        connection_pool=appmesh.CfnVirtualNode.VirtualNodeConnectionPoolProperty(
            grpc=appmesh.CfnVirtualNode.VirtualNodeGrpcConnectionPoolProperty(
                max_requests=123
            ),
            http=appmesh.CfnVirtualNode.VirtualNodeHttpConnectionPoolProperty(
                max_connections=123,

                # the properties below are optional
                max_pending_requests=123
            ),
            http2=appmesh.CfnVirtualNode.VirtualNodeHttp2ConnectionPoolProperty(
                max_requests=123
            ),
            tcp=appmesh.CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty(
                max_connections=123
            )
        ),
        health_check=appmesh.CfnVirtualNode.HealthCheckProperty(
            healthy_threshold=123,
            interval_millis=123,
            protocol="protocol",
            timeout_millis=123,
            unhealthy_threshold=123,

            # the properties below are optional
            path="path",
            port=123
        ),
        outlier_detection=appmesh.CfnVirtualNode.OutlierDetectionProperty(
            base_ejection_duration=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            ),
            interval=appmesh.CfnVirtualNode.DurationProperty(
                unit="unit",
                value=123
            ),
            max_ejection_percent=123,
            max_server_errors=123
        ),
        timeout=appmesh.CfnVirtualNode.ListenerTimeoutProperty(
            grpc=appmesh.CfnVirtualNode.GrpcTimeoutProperty(
                idle=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                ),
                per_request=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                )
            ),
            http=appmesh.CfnVirtualNode.HttpTimeoutProperty(
                idle=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                ),
                per_request=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                )
            ),
            http2=appmesh.CfnVirtualNode.HttpTimeoutProperty(
                idle=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                ),
                per_request=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                )
            ),
            tcp=appmesh.CfnVirtualNode.TcpTimeoutProperty(
                idle=appmesh.CfnVirtualNode.DurationProperty(
                    unit="unit",
                    value=123
                )
            )
        ),
        tls=appmesh.CfnVirtualNode.ListenerTlsProperty(
            certificate=appmesh.CfnVirtualNode.ListenerTlsCertificateProperty(
                acm=appmesh.CfnVirtualNode.ListenerTlsAcmCertificateProperty(
                    certificate_arn="certificateArn"
                ),
                file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                    certificate_chain="certificateChain",
                    private_key="privateKey"
                ),
                sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                    secret_name="secretName"
                )
            ),
            mode="mode",

            # the properties below are optional
            validation=appmesh.CfnVirtualNode.ListenerTlsValidationContextProperty(
                trust=appmesh.CfnVirtualNode.ListenerTlsValidationContextTrustProperty(
                    file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                        certificate_chain="certificateChain"
                    ),
                    sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                        secret_name="secretName"
                    )
                ),

                # the properties below are optional
                subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                    match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                        exact=["exact"]
                    )
                )
            )
        )
    )],
    logging=appmesh.CfnVirtualNode.LoggingProperty(
        access_log=appmesh.CfnVirtualNode.AccessLogProperty(
            file=appmesh.CfnVirtualNode.FileAccessLogProperty(
                path="path",

                # the properties below are optional
                format=appmesh.CfnVirtualNode.LoggingFormatProperty(
                    json=[appmesh.CfnVirtualNode.JsonFormatRefProperty(
                        key="key",
                        value="value"
                    )],
                    text="text"
                )
            )
        )
    ),
    service_discovery=appmesh.CfnVirtualNode.ServiceDiscoveryProperty(
        aws_cloud_map=appmesh.CfnVirtualNode.AwsCloudMapServiceDiscoveryProperty(
            namespace_name="namespaceName",
            service_name="serviceName",

            # the properties below are optional
            attributes=[appmesh.CfnVirtualNode.AwsCloudMapInstanceAttributeProperty(
                key="key",
                value="value"
            )],
            ip_preference="ipPreference"
        ),
        dns=appmesh.CfnVirtualNode.DnsServiceDiscoveryProperty(
            hostname="hostname",

            # the properties below are optional
            ip_preference="ipPreference",
            response_type="responseType"
        )
    )
)

Attributes

backend_defaults

A reference to an object that represents the defaults for backends.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backenddefaults

backends

The backends that the virtual node is expected to send outbound traffic to.

App Mesh doesn’t validate the existence of those virtual services specified in backends. This is to prevent a cyclic dependency between virtual nodes and virtual services creation. Make sure the virtual service name is correct. The virtual service can be created afterwards if it doesn’t already exist.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-backends

listeners

The listener that the virtual node is expected to receive inbound traffic from.

You can specify one listener.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-listeners

logging

The inbound and outbound access logging information for the virtual node.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-logging

service_discovery

The service discovery information for the virtual node.

If your virtual node does not expect ingress traffic, you can omit this parameter. If you specify a listener , then you must specify service discovery information.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodespec.html#cfn-appmesh-virtualnode-virtualnodespec-servicediscovery

VirtualNodeTcpConnectionPoolProperty

class CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty(*, max_connections)

Bases: object

An object that represents a type of connection pool.

Parameters:

max_connections (Union[int, float]) – Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodetcpconnectionpool.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_node_tcp_connection_pool_property = appmesh.CfnVirtualNode.VirtualNodeTcpConnectionPoolProperty(
    max_connections=123
)

Attributes

max_connections

Maximum number of outbound TCP connections Envoy can establish concurrently with all hosts in upstream cluster.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualnodetcpconnectionpool.html#cfn-appmesh-virtualnode-virtualnodetcpconnectionpool-maxconnections

VirtualServiceBackendProperty

class CfnVirtualNode.VirtualServiceBackendProperty(*, virtual_service_name, client_policy=None)

Bases: object

An object that represents a virtual service backend for a virtual node.

Parameters:
  • virtual_service_name (str) – The name of the virtual service that is acting as a virtual node backend. .. epigraph:: App Mesh doesn’t validate the existence of those virtual services specified in backends. This is to prevent a cyclic dependency between virtual nodes and virtual services creation. Make sure the virtual service name is correct. The virtual service can be created afterwards if it doesn’t already exist.

  • client_policy (Union[IResolvable, ClientPolicyProperty, Dict[str, Any], None]) – A reference to an object that represents the client policy for a backend.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html

ExampleMetadata:

fixture=_generated

Example:

# The code below shows an example of how to instantiate this type.
# The values are placeholders you should change.
from aws_cdk import aws_appmesh as appmesh

virtual_service_backend_property = appmesh.CfnVirtualNode.VirtualServiceBackendProperty(
    virtual_service_name="virtualServiceName",

    # the properties below are optional
    client_policy=appmesh.CfnVirtualNode.ClientPolicyProperty(
        tls=appmesh.CfnVirtualNode.ClientPolicyTlsProperty(
            validation=appmesh.CfnVirtualNode.TlsValidationContextProperty(
                trust=appmesh.CfnVirtualNode.TlsValidationContextTrustProperty(
                    acm=appmesh.CfnVirtualNode.TlsValidationContextAcmTrustProperty(
                        certificate_authority_arns=["certificateAuthorityArns"]
                    ),
                    file=appmesh.CfnVirtualNode.TlsValidationContextFileTrustProperty(
                        certificate_chain="certificateChain"
                    ),
                    sds=appmesh.CfnVirtualNode.TlsValidationContextSdsTrustProperty(
                        secret_name="secretName"
                    )
                ),

                # the properties below are optional
                subject_alternative_names=appmesh.CfnVirtualNode.SubjectAlternativeNamesProperty(
                    match=appmesh.CfnVirtualNode.SubjectAlternativeNameMatchersProperty(
                        exact=["exact"]
                    )
                )
            ),

            # the properties below are optional
            certificate=appmesh.CfnVirtualNode.ClientTlsCertificateProperty(
                file=appmesh.CfnVirtualNode.ListenerTlsFileCertificateProperty(
                    certificate_chain="certificateChain",
                    private_key="privateKey"
                ),
                sds=appmesh.CfnVirtualNode.ListenerTlsSdsCertificateProperty(
                    secret_name="secretName"
                )
            ),
            enforce=False,
            ports=[123]
        )
    )
)

Attributes

client_policy

A reference to an object that represents the client policy for a backend.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-clientpolicy

virtual_service_name

The name of the virtual service that is acting as a virtual node backend.

App Mesh doesn’t validate the existence of those virtual services specified in backends. This is to prevent a cyclic dependency between virtual nodes and virtual services creation. Make sure the virtual service name is correct. The virtual service can be created afterwards if it doesn’t already exist.

See:

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appmesh-virtualnode-virtualservicebackend.html#cfn-appmesh-virtualnode-virtualservicebackend-virtualservicename