CfnVirtualNodeProps

class aws_cdk.aws_appmesh.CfnVirtualNodeProps(*, mesh_name, mesh_owner=None, spec, tags=None, virtual_node_name=None)

Bases: object

Properties for defining a AWS::AppMesh::VirtualNode.

Parameters
  • mesh_name (str) – AWS::AppMesh::VirtualNode.MeshName.

  • mesh_owner (Optional[str]) – AWS::AppMesh::VirtualNode.MeshOwner.

  • spec (Union[IResolvable, VirtualNodeSpecProperty]) – AWS::AppMesh::VirtualNode.Spec.

  • tags (Optional[Sequence[CfnTag]]) – AWS::AppMesh::VirtualNode.Tags.

  • virtual_node_name (Optional[str]) – AWS::AppMesh::VirtualNode.VirtualNodeName.

Link

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

Example:

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

cfn_virtual_node_props = appmesh.CfnVirtualNodeProps(
    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"
                )
            )
        ),
        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"
                )]
            ),
            dns=appmesh.CfnVirtualNode.DnsServiceDiscoveryProperty(
                hostname="hostname",

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

    # the properties below are optional
    mesh_owner="meshOwner",
    tags=[CfnTag(
        key="key",
        value="value"
    )],
    virtual_node_name="virtualNodeName"
)

Attributes

mesh_name

AWS::AppMesh::VirtualNode.MeshName.

Link

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

Return type

str

mesh_owner

AWS::AppMesh::VirtualNode.MeshOwner.

Link

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

Return type

Optional[str]

spec

AWS::AppMesh::VirtualNode.Spec.

Link

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

Return type

Union[IResolvable, VirtualNodeSpecProperty]

tags

AWS::AppMesh::VirtualNode.Tags.

Link

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

Return type

Optional[List[CfnTag]]

virtual_node_name

AWS::AppMesh::VirtualNode.VirtualNodeName.

Link

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

Return type

Optional[str]