Creates a service, which defines the configuration for the following entities:
For public and private DNS namespaces, one of the following combinations of DNS records in Amazon Route<U+00A0>53:
A
AAAA
A
and AAAA
SRV
CNAME
Optionally, a health check
After you create the service, you can submit a
register_instance
request, and
AWS Cloud Map uses the values in the configuration to create the
specified entities.
For the current quota on the number of instances that you can register using the same namespace and using the same service, see AWS Cloud Map Limits in the AWS Cloud Map Developer Guide.
servicediscovery_create_service(Name, NamespaceId, CreatorRequestId,
Description, DnsConfig, HealthCheckConfig, HealthCheckCustomConfig,
Tags)
[required] The name that you want to assign to the service.
If you want AWS Cloud Map to create an SRV
record when you register an
instance, and if you're using a system that requires a specific SRV
format, such as HAProxy, specify the
following for Name
:
Start the name with an underscore (_), such as _exampleservice
End the name with ._protocol, such as ._tcp
When you register an instance, AWS Cloud Map creates an SRV
record and
assigns a name to the record by concatenating the service name and the
namespace name, for example:
_exampleservice._tcp.example.com
The ID of the namespace that you want to use to create the service.
A unique string that identifies the request and that allows failed
create_service
requests to be
retried without the risk of executing the operation twice.
CreatorRequestId
can be any unique string, for example, a date/time
stamp.
A description for the service.
A complex type that contains information about the Amazon Route<U+00A0>53 records that you want AWS Cloud Map to create when you register an instance.
Public DNS and HTTP namespaces only. A complex type that contains
settings for an optional Route<U+00A0>53 health check. If you specify settings
for a health check, AWS Cloud Map associates the health check with all
the Route<U+00A0>53 DNS records that you specify in DnsConfig
.
If you specify a health check configuration, you can specify either
HealthCheckCustomConfig
or HealthCheckConfig
but not both.
For information about the charges for health checks, see AWS Cloud Map Pricing.
A complex type that contains information about an optional custom health check.
If you specify a health check configuration, you can specify either
HealthCheckCustomConfig
or HealthCheckConfig
but not both.
You can't add, update, or delete a HealthCheckCustomConfig
configuration from an existing service.
The tags to add to the service. 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.
A list with the following syntax:
list( Service = list( Id = "string", Arn = "string", Name = "string", NamespaceId = "string", Description = "string", InstanceCount = 123, DnsConfig = list( NamespaceId = "string", RoutingPolicy = "MULTIVALUE"|"WEIGHTED", DnsRecords = list( list( Type = "SRV"|"A"|"AAAA"|"CNAME", TTL = 123 ) ) ), HealthCheckConfig = list( Type = "HTTP"|"HTTPS"|"TCP", ResourcePath = "string", FailureThreshold = 123 ), HealthCheckCustomConfig = list( FailureThreshold = 123 ), CreateDate = as.POSIXct( "2015-01-01" ), CreatorRequestId = "string" ) )
svc$create_service( Name = "string", NamespaceId = "string", CreatorRequestId = "string", Description = "string", DnsConfig = list( NamespaceId = "string", RoutingPolicy = "MULTIVALUE"|"WEIGHTED", DnsRecords = list( list( Type = "SRV"|"A"|"AAAA"|"CNAME", TTL = 123 ) ) ), HealthCheckConfig = list( Type = "HTTP"|"HTTPS"|"TCP", ResourcePath = "string", FailureThreshold = 123 ), HealthCheckCustomConfig = list( FailureThreshold = 123 ), Tags = list( list( Key = "string", Value = "string" ) ) )
# NOT RUN {
# Example: Create service
svc$create_service(
CreatorRequestId = "567c1193-6b00-4308-bd57-ad38a8822d25",
DnsConfig = list(
DnsRecords = list(
list(
TTL = 60L,
Type = "A"
)
),
NamespaceId = "ns-ylexjili4cdxy3xm",
RoutingPolicy = "MULTIVALUE"
),
Name = "myservice",
NamespaceId = "ns-ylexjili4cdxy3xm"
)
# }
# NOT RUN {
# }
Run the code above in your browser using DataLab