Class CfnVirtualGateway
- All Implemented Interfaces:
IInspectable,ITaggable,IVirtualGatewayRef,software.amazon.jsii.JsiiSerializable,software.constructs.IConstruct,software.constructs.IDependable
A virtual gateway allows resources outside your mesh to communicate to resources that are inside your mesh. The virtual gateway represents an Envoy proxy running in an Amazon ECS task, in a Kubernetes service, or on an Amazon EC2 instance. Unlike a virtual node, which represents an Envoy running with an application, a virtual gateway represents Envoy deployed by itself.
For more information about virtual gateways, see Virtual gateways .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.appmesh.*;
CfnVirtualGateway cfnVirtualGateway = CfnVirtualGateway.Builder.create(this, "MyCfnVirtualGateway")
.meshName("meshName")
.spec(VirtualGatewaySpecProperty.builder()
.listeners(List.of(VirtualGatewayListenerProperty.builder()
.portMapping(VirtualGatewayPortMappingProperty.builder()
.port(123)
.protocol("protocol")
.build())
// the properties below are optional
.connectionPool(VirtualGatewayConnectionPoolProperty.builder()
.grpc(VirtualGatewayGrpcConnectionPoolProperty.builder()
.maxRequests(123)
.build())
.http(VirtualGatewayHttpConnectionPoolProperty.builder()
.maxConnections(123)
// the properties below are optional
.maxPendingRequests(123)
.build())
.http2(VirtualGatewayHttp2ConnectionPoolProperty.builder()
.maxRequests(123)
.build())
.build())
.healthCheck(VirtualGatewayHealthCheckPolicyProperty.builder()
.healthyThreshold(123)
.intervalMillis(123)
.protocol("protocol")
.timeoutMillis(123)
.unhealthyThreshold(123)
// the properties below are optional
.path("path")
.port(123)
.build())
.tls(VirtualGatewayListenerTlsProperty.builder()
.certificate(VirtualGatewayListenerTlsCertificateProperty.builder()
.acm(VirtualGatewayListenerTlsAcmCertificateProperty.builder()
.certificateArn("certificateArn")
.build())
.file(VirtualGatewayListenerTlsFileCertificateProperty.builder()
.certificateChain("certificateChain")
.privateKey("privateKey")
.build())
.sds(VirtualGatewayListenerTlsSdsCertificateProperty.builder()
.secretName("secretName")
.build())
.build())
.mode("mode")
// the properties below are optional
.validation(VirtualGatewayListenerTlsValidationContextProperty.builder()
.trust(VirtualGatewayListenerTlsValidationContextTrustProperty.builder()
.file(VirtualGatewayTlsValidationContextFileTrustProperty.builder()
.certificateChain("certificateChain")
.build())
.sds(VirtualGatewayTlsValidationContextSdsTrustProperty.builder()
.secretName("secretName")
.build())
.build())
// the properties below are optional
.subjectAlternativeNames(SubjectAlternativeNamesProperty.builder()
.match(SubjectAlternativeNameMatchersProperty.builder()
.exact(List.of("exact"))
.build())
.build())
.build())
.build())
.build()))
// the properties below are optional
.backendDefaults(VirtualGatewayBackendDefaultsProperty.builder()
.clientPolicy(VirtualGatewayClientPolicyProperty.builder()
.tls(VirtualGatewayClientPolicyTlsProperty.builder()
.validation(VirtualGatewayTlsValidationContextProperty.builder()
.trust(VirtualGatewayTlsValidationContextTrustProperty.builder()
.acm(VirtualGatewayTlsValidationContextAcmTrustProperty.builder()
.certificateAuthorityArns(List.of("certificateAuthorityArns"))
.build())
.file(VirtualGatewayTlsValidationContextFileTrustProperty.builder()
.certificateChain("certificateChain")
.build())
.sds(VirtualGatewayTlsValidationContextSdsTrustProperty.builder()
.secretName("secretName")
.build())
.build())
// the properties below are optional
.subjectAlternativeNames(SubjectAlternativeNamesProperty.builder()
.match(SubjectAlternativeNameMatchersProperty.builder()
.exact(List.of("exact"))
.build())
.build())
.build())
// the properties below are optional
.certificate(VirtualGatewayClientTlsCertificateProperty.builder()
.file(VirtualGatewayListenerTlsFileCertificateProperty.builder()
.certificateChain("certificateChain")
.privateKey("privateKey")
.build())
.sds(VirtualGatewayListenerTlsSdsCertificateProperty.builder()
.secretName("secretName")
.build())
.build())
.enforce(false)
.ports(List.of(123))
.build())
.build())
.build())
.logging(VirtualGatewayLoggingProperty.builder()
.accessLog(VirtualGatewayAccessLogProperty.builder()
.file(VirtualGatewayFileAccessLogProperty.builder()
.path("path")
// the properties below are optional
.format(LoggingFormatProperty.builder()
.json(List.of(JsonFormatRefProperty.builder()
.key("key")
.value("value")
.build()))
.text("text")
.build())
.build())
.build())
.build())
.build())
// the properties below are optional
.meshOwner("meshOwner")
.tags(List.of(CfnTag.builder()
.key("key")
.value("value")
.build()))
.virtualGatewayName("virtualGatewayName")
.build();
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA fluent builder forCfnVirtualGateway.static interfaceAn object that represents the key value pairs for the JSON.static interfaceAn object that represents the format for the logs.static interfaceAn object that represents the methods by which a subject alternative name on a peer Transport Layer Security (TLS) certificate can be matched.static interfaceAn object that represents the subject alternative names secured by the certificate.static interfaceThe access log configuration for a virtual gateway.static interfaceAn object that represents the default properties for a backend.static interfaceAn object that represents a client policy.static interfaceAn object that represents a Transport Layer Security (TLS) client policy.static interfaceAn object that represents the virtual gateway's client's Transport Layer Security (TLS) certificate.static interfaceAn object that represents the type of virtual gateway connection pool.static interfaceAn object that represents an access log file.static interfaceAn object that represents a type of connection pool.static interfaceAn object that represents the health check policy for a virtual gateway's listener.static interfaceAn object that represents a type of connection pool.static interfaceAn object that represents a type of connection pool.static interfaceAn object that represents a listener for a virtual gateway.static interfaceAn object that represents an Certificate Manager certificate.static interfaceAn object that represents a listener's Transport Layer Security (TLS) certificate.static interfaceAn object that represents a local file certificate.static interfaceAn object that represents the Transport Layer Security (TLS) properties for a listener.static interfaceAn object that represents the virtual gateway's listener's Secret Discovery Service certificate.The proxy must be configured with a local SDS provider via a Unix Domain Socket.static interfaceAn object that represents a virtual gateway's listener's Transport Layer Security (TLS) validation context.static interfaceAn object that represents a virtual gateway's listener's Transport Layer Security (TLS) validation context trust.static interfaceAn object that represents logging information.static interfaceAn object that represents a port mapping.static interfaceAn object that represents the specification of a service mesh resource.static interfaceAn object that represents a Transport Layer Security (TLS) validation context trust for an Certificate Manager certificate.static interfaceAn object that represents a Transport Layer Security (TLS) validation context trust for a local file.static interfaceAn object that represents a Transport Layer Security (TLS) validation context.static interfaceAn object that represents a virtual gateway's listener's Transport Layer Security (TLS) Secret Discovery Service validation context trust.static interfaceAn object that represents a Transport Layer Security (TLS) validation context trust.Nested classes/interfaces inherited from class software.amazon.jsii.JsiiObject
software.amazon.jsii.JsiiObject.InitializationModeNested classes/interfaces inherited from interface software.constructs.IConstruct
software.constructs.IConstruct.Jsii$DefaultNested classes/interfaces inherited from interface software.amazon.awscdk.IInspectable
IInspectable.Jsii$Default, IInspectable.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.ITaggable
ITaggable.Jsii$Default, ITaggable.Jsii$ProxyNested classes/interfaces inherited from interface software.amazon.awscdk.services.appmesh.IVirtualGatewayRef
IVirtualGatewayRef.Jsii$Default, IVirtualGatewayRef.Jsii$Proxy -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe CloudFormation resource type name for this resource class. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCfnVirtualGateway(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) protectedCfnVirtualGateway(software.amazon.jsii.JsiiObjectRef objRef) CfnVirtualGateway(software.constructs.Construct scope, String id, CfnVirtualGatewayProps props) -
Method Summary
Modifier and TypeMethodDescriptionThe full Amazon Resource Name (ARN) for the virtual gateway.The name of the service mesh that the virtual gateway resides in.The AWS IAM account ID of the service mesh owner.The AWS IAM account ID of the resource owner.The unique identifier for the virtual gateway.The name of the virtual gateway.The name of the service mesh that the virtual gateway resides in.The AWS IAM account ID of the service mesh owner.getSpec()The specifications of the virtual gateway.getTags()Tag Manager which manages the tags for this resource.Optional metadata that you can apply to the virtual gateway to assist with categorization and organization.The name of the virtual gateway.A reference to a VirtualGateway resource.voidinspect(TreeInspector inspector) Examines the CloudFormation resource and discloses attributes.renderProperties(Map<String, Object> props) voidsetMeshName(String value) The name of the service mesh that the virtual gateway resides in.voidsetMeshOwner(String value) The AWS IAM account ID of the service mesh owner.voidsetSpec(IResolvable value) The specifications of the virtual gateway.voidThe specifications of the virtual gateway.voidsetTagsRaw(List<CfnTag> value) Optional metadata that you can apply to the virtual gateway to assist with categorization and organization.voidsetVirtualGatewayName(String value) The name of the virtual gateway.Methods inherited from class software.amazon.awscdk.CfnResource
addDeletionOverride, addDependency, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, obtainDependencies, obtainResourceDependencies, removeDependency, replaceDependency, shouldSynthesize, toString, validatePropertiesMethods inherited from class software.amazon.awscdk.CfnRefElement
getRefMethods inherited from class software.amazon.awscdk.CfnElement
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdMethods inherited from class software.constructs.Construct
getNode, isConstructMethods inherited from class software.amazon.jsii.JsiiObject
jsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface software.constructs.IConstruct
getNodeMethods inherited from interface software.amazon.jsii.JsiiSerializable
$jsii$toJson
-
Field Details
-
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
-
-
Constructor Details
-
CfnVirtualGateway
protected CfnVirtualGateway(software.amazon.jsii.JsiiObjectRef objRef) -
CfnVirtualGateway
protected CfnVirtualGateway(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) -
CfnVirtualGateway
@Stability(Stable) public CfnVirtualGateway(@NotNull software.constructs.Construct scope, @NotNull String id, @NotNull CfnVirtualGatewayProps props) - Parameters:
scope- Scope in which this resource is defined. This parameter is required.id- Construct identifier for this resource (unique in its scope). This parameter is required.props- Resource properties. This parameter is required.
-
-
Method Details
-
inspect
Examines the CloudFormation resource and discloses attributes.- Specified by:
inspectin interfaceIInspectable- Parameters:
inspector- tree inspector to collect and process attributes. This parameter is required.
-
renderProperties
@Stability(Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String, Object> props) - Overrides:
renderPropertiesin classCfnResource- Parameters:
props- This parameter is required.
-
getAttrArn
The full Amazon Resource Name (ARN) for the virtual gateway. -
getAttrId
-
getAttrMeshName
The name of the service mesh that the virtual gateway resides in. -
getAttrMeshOwner
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 .
-
getAttrResourceOwner
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 .
-
getAttrUid
The unique identifier for the virtual gateway. -
getAttrVirtualGatewayName
The name of the virtual gateway. -
getCfnProperties
- Overrides:
getCfnPropertiesin classCfnResource
-
getTags
Tag Manager which manages the tags for this resource. -
getVirtualGatewayRef
A reference to a VirtualGateway resource.- Specified by:
getVirtualGatewayRefin interfaceIVirtualGatewayRef
-
getMeshName
The name of the service mesh that the virtual gateway resides in. -
setMeshName
The name of the service mesh that the virtual gateway resides in. -
getSpec
The specifications of the virtual gateway.Returns union: either
IResolvableorCfnVirtualGateway.VirtualGatewaySpecProperty -
setSpec
The specifications of the virtual gateway. -
setSpec
The specifications of the virtual gateway. -
getMeshOwner
The AWS IAM account ID of the service mesh owner. -
setMeshOwner
The AWS IAM account ID of the service mesh owner. -
getTagsRaw
Optional metadata that you can apply to the virtual gateway to assist with categorization and organization. -
setTagsRaw
Optional metadata that you can apply to the virtual gateway to assist with categorization and organization. -
getVirtualGatewayName
The name of the virtual gateway. -
setVirtualGatewayName
The name of the virtual gateway.
-