AWS::ServiceDiscovery::PublicDnsNamespace
Creates a public namespace based on DNS, which is visible on the internet. The namespace defines your
service naming scheme. For example, if you name your namespace example.com
and name your service
backend
, the resulting DNS name for the service is backend.example.com
. You can
discover instances that were registered with a public DNS namespace by using either a
DiscoverInstances
request or using DNS. For the current quota on the number of namespaces that you
can create using the same AWS account, see AWS Cloud Map quotas in the
AWS Cloud Map Developer Guide.
Important
The CreatePublicDnsNamespace
API operation is not supported in the AWS GovCloud (US)
Regions.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ServiceDiscovery::PublicDnsNamespace", "Properties" : { "Description" :
String
, "Name" :String
, "Properties" :Properties
, "Tags" :[ Tag, ... ]
} }
YAML
Type: AWS::ServiceDiscovery::PublicDnsNamespace Properties: Description:
String
Name:String
Properties:Properties
Tags:- Tag
Properties
Description
-
A description for the namespace.
Required: No
Type: String
Maximum:
1024
Update requires: No interruption
Name
-
The name that you want to assign to this namespace.
Note
Do not include sensitive information in the name. The name is publicly available using DNS queries.
Required: Yes
Type: String
Pattern:
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?$
Maximum:
253
Update requires: Replacement
Properties
-
Properties for the public DNS namespace.
Required: No
Type: Properties
Update requires: No interruption
-
The tags for the namespace. 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.
Required: No
Type: Array of Tag
Minimum:
0
Maximum:
200
Update requires: Updates are not supported.
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the value of Id
for the namespace, such as
ns-e4anhexample0004
.
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
Arn
-
The Amazon Resource Name (ARN) of the public namespace.
HostedZoneId
-
The ID for the Route 53 hosted zone that AWS Cloud Map creates when you create a namespace.
Id
-
The ID of the public namespace.
Examples
Create a public DNS namespace
The following example creates a public DNS namespace named example.com
.
JSON
{ "Resources": { "PublicDnsNamespace": { "Type": "AWS::ServiceDiscovery::PublicDnsNamespace", "Properties": { "Description": "AWS Cloud Map public DNS namespace for example.com website", "Name": "example-public-http.com", "Properties": { "DnsProperties": { "SOA": { "TTL": 100 } } } } } } }
YAML
Resources: PublicDnsNamespace: Type: AWS::ServiceDiscovery::PublicDnsNamespace Properties: Description: AWS Cloud Map public DNS namespace for example.com website Name: example-public-http.com Properties: DnsProperties: SOA: TTL: 100
See also
-
CreatePublicDnsNamespace in the AWS Cloud Map API Reference