aws-cdk-lib.aws_servicediscovery.DiscoveryType

enum DiscoveryType

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

Specifies information about the discovery type of a service.

Example

import * as ec2 from '../../aws-ec2';
import * as elbv2 from '../../aws-elasticloadbalancingv2';
import * as cdk from '../../core';
import * as servicediscovery from '../lib';

const app = new cdk.App();
const stack = new cdk.Stack(app, 'aws-servicediscovery-integ');

const vpc = new ec2.Vpc(stack, 'Vpc', { maxAzs: 2 });

const namespace = new servicediscovery.PrivateDnsNamespace(stack, 'Namespace', {
  name: 'boobar.com',
  vpc,
});

const service = namespace.createService('Service', {
  dnsRecordType: servicediscovery.DnsRecordType.A_AAAA,
  dnsTtl: cdk.Duration.seconds(30),
  loadBalancer: true,
});

const loadbalancer = new elbv2.ApplicationLoadBalancer(stack, 'LB', { vpc, internetFacing: true });

service.registerLoadBalancer('Loadbalancer', loadbalancer);

const arnService = namespace.createService('ArnService', {
  discoveryType: servicediscovery.DiscoveryType.API,
});

arnService.registerNonIpInstance('NonIpInstance', {
  customAttributes: { arn: 'arn://' },
});

app.synth();

Members

NameDescription
APIInstances are discoverable via API only.
DNS_AND_APIInstances are discoverable via DNS or API.

API

Instances are discoverable via API only.


DNS_AND_API

Instances are discoverable via DNS or API.