CreatePublicDnsNamespace
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.
Request Syntax
{
"CreatorRequestId": "string
",
"Description": "string
",
"Name": "string
",
"Properties": {
"DnsProperties": {
"SOA": {
"TTL": number
}
}
},
"Tags": [
{
"Key": "string
",
"Value": "string
"
}
]
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- CreatorRequestId
-
A unique string that identifies the request and that allows failed
CreatePublicDnsNamespace
requests to be retried without the risk of running the operation twice.CreatorRequestId
can be any unique string (for example, a date/timestamp).Type: String
Length Constraints: Maximum length of 64.
Required: No
- Description
-
A description for the namespace.
Type: String
Length Constraints: Maximum length of 1024.
Required: No
- 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.
Type: String
Length Constraints: Maximum length of 253.
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])?$
Required: Yes
- Properties
-
Properties for the public DNS namespace.
Type: PublicDnsNamespaceProperties object
Required: No
- Tags
-
The tags to add to the namespace. Each tag consists of a key and an optional value that you define. Tags keys can be up to 128 characters in length, and tag values can be up to 256 characters in length.
Type: Array of Tag objects
Array Members: Minimum number of 0 items. Maximum number of 200 items.
Required: No
Response Syntax
{
"OperationId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- OperationId
-
A value that you can use to determine whether the request completed successfully. To get the status of the operation, see GetOperation.
Type: String
Length Constraints: Maximum length of 255.
Errors
For information about the errors that are common to all actions, see Common Errors.
- DuplicateRequest
-
The operation is already in progress.
HTTP Status Code: 400
- InvalidInput
-
One or more specified values aren't valid. For example, a required value might be missing, a numeric value might be outside the allowed range, or a string value might exceed length constraints.
HTTP Status Code: 400
- NamespaceAlreadyExists
-
The namespace that you're trying to create already exists.
HTTP Status Code: 400
- ResourceLimitExceeded
-
The resource can't be created because you've reached the quota on the number of resources.
HTTP Status Code: 400
- TooManyTagsException
-
The list of tags on the resource is over the quota. The maximum number of tags that can be applied to a resource is 50.
HTTP Status Code: 400
Examples
CreatePublicDnsNamespace Example
This example illustrates one usage of CreatePublicDnsNamespace.
Sample Request
POST / HTTP/1.1
host:servicediscovery.us-west-2.amazonaws.com
x-amz-date:20181118T211705Z
authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20181118/us-west-2/servicediscovery/aws4_request,
SignedHeaders=content-length;content-type;host;user-agent;x-amz-date;x-amz-target,
Signature=[calculated-signature]
x-amz-target:Route53AutoNaming_v20170314.CreatePublicDnsNamespace
content-type:application/x-amz-json-1.1
content-length:[number of characters in the JSON string]
{
"CreatorRequestId": "example-creator-request-id-0003",
"Name": "example-public-dns.com",
"Description": "Example.com AWS Cloud Map Public DNS Namespace"
}
Sample Response
HTTP/1.1 200
Content-Length: [number of characters in the JSON string]
Content-Type: application/x-amz-json-1.1
{
"OperationId":"dns2voqozuhfet5kzxoxg-a-response-example"
}
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: