aws-cdk-lib.aws_servicediscovery.PrivateDnsNamespace

class PrivateDnsNamespace (construct)

LanguageType name
.NETAmazon.CDK.AWS.ServiceDiscovery.PrivateDnsNamespace
Gogithub.com/aws/aws-cdk-go/awscdk/v2/awsservicediscovery#PrivateDnsNamespace
Javasoftware.amazon.awscdk.services.servicediscovery.PrivateDnsNamespace
Pythonaws_cdk.aws_servicediscovery.PrivateDnsNamespace
TypeScript (source)aws-cdk-lib » aws_servicediscovery » PrivateDnsNamespace

Implements IConstruct, IDependable, IResource, IPrivateDnsNamespace, INamespace

Define a Service Discovery HTTP Namespace.

Example

// Cloud Map service discovery is currently required for host ejection by outlier detection
const vpc = new ec2.Vpc(this, 'vpc');
const namespace = new cloudmap.PrivateDnsNamespace(this, 'test-namespace', {
    vpc,
    name: 'domain.local',
});
const service = namespace.createService('Svc');

declare const mesh: appmesh.Mesh;
const node = mesh.addVirtualNode('virtual-node', {
  serviceDiscovery: appmesh.ServiceDiscovery.cloudMap(service),
  listeners: [appmesh.VirtualNodeListener.http({
    outlierDetection: {
      baseEjectionDuration: Duration.seconds(10),
      interval: Duration.seconds(30),
      maxEjectionPercent: 50,
      maxServerErrors: 5,
    },
  })],
});

Initializer

new PrivateDnsNamespace(scope: Construct, id: string, props: PrivateDnsNamespaceProps)

Parameters

  • scope Construct
  • id string
  • props PrivateDnsNamespaceProps

Construct Props

NameTypeDescription
namestringA name for the Namespace.
vpcIVpcThe Amazon VPC that you want to associate the namespace with.
description?stringA description of the Namespace.

name

Type: string

A name for the Namespace.


vpc

Type: IVpc

The Amazon VPC that you want to associate the namespace with.


description?

Type: string (optional, default: none)

A description of the Namespace.

Properties

NameTypeDescription
envResourceEnvironmentThe environment this resource belongs to.
namespaceArnstringNamespace Arn of the namespace.
namespaceHostedZoneIdstringID of hosted zone created by namespace.
namespaceIdstringNamespace Id of the PrivateDnsNamespace.
namespaceNamestringThe name of the PrivateDnsNamespace.
nodeNodeThe tree node.
privateDnsNamespaceArnstring
privateDnsNamespaceIdstring
privateDnsNamespaceNamestring
stackStackThe stack in which this resource is defined.
typeNamespaceTypeType of the namespace.

env

Type: ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


namespaceArn

Type: string

Namespace Arn of the namespace.


namespaceHostedZoneId

Type: string

ID of hosted zone created by namespace.


namespaceId

Type: string

Namespace Id of the PrivateDnsNamespace.


namespaceName

Type: string

The name of the PrivateDnsNamespace.


node

Type: Node

The tree node.


privateDnsNamespaceArn

Type: string


privateDnsNamespaceId

Type: string


privateDnsNamespaceName

Type: string


stack

Type: Stack

The stack in which this resource is defined.


type

Type: NamespaceType

Type of the namespace.

Methods

NameDescription
applyRemovalPolicy(policy)Apply the given removal policy to this resource.
createService(id, props?)Creates a service within the namespace.
toString()Returns a string representation of this construct.
static fromPrivateDnsNamespaceAttributes(scope, id, attrs)

applyRemovalPolicy(policy)

public applyRemovalPolicy(policy: RemovalPolicy): void

Parameters

  • policy RemovalPolicy

Apply the given removal policy to this resource.

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).


createService(id, props?)

public createService(id: string, props?: DnsServiceProps): Service

Parameters

  • id string
  • props DnsServiceProps

Returns

  • Service

Creates a service within the namespace.


toString()

public toString(): string

Returns

  • string

Returns a string representation of this construct.


static fromPrivateDnsNamespaceAttributes(scope, id, attrs)

public static fromPrivateDnsNamespaceAttributes(scope: Construct, id: string, attrs: PrivateDnsNamespaceAttributes): IPrivateDnsNamespace

Parameters

  • scope Construct
  • id string
  • attrs PrivateDnsNamespaceAttributes

Returns

  • IPrivateDnsNamespace