Class: Aws::ServiceDiscovery::Types::CreateServiceRequest

Inherits:
Struct
  • Object
show all
Includes:
Aws::Structure
Defined in:
lib/aws-sdk-servicediscovery/types.rb

Overview

Note:

When making an API call, you may pass CreateServiceRequest data as a hash:

{
  name: "ServiceName", # required
  namespace_id: "ResourceId",
  creator_request_id: "ResourceId",
  description: "ResourceDescription",
  dns_config: {
    namespace_id: "ResourceId",
    routing_policy: "MULTIVALUE", # accepts MULTIVALUE, WEIGHTED
    dns_records: [ # required
      {
        type: "SRV", # required, accepts SRV, A, AAAA, CNAME
        ttl: 1, # required
      },
    ],
  },
  health_check_config: {
    type: "HTTP", # required, accepts HTTP, HTTPS, TCP
    resource_path: "ResourcePath",
    failure_threshold: 1,
  },
  health_check_custom_config: {
    failure_threshold: 1,
  },
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#creator_request_idString

A unique string that identifies the request and that allows failed ‘CreateService` 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 suitable default value is auto-generated.** You should normally not need to pass this option.

Returns:

  • (String)


349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#descriptionString

A description for the service.

Returns:

  • (String)


349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#dns_configTypes::DnsConfig

A complex type that contains information about the Amazon Route 53 records that you want AWS Cloud Map to create when you register an instance.

Returns:



349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#health_check_configTypes::HealthCheckConfig

*Public DNS and HTTP namespaces only.* A complex type that contains settings for an optional Route 53 health check. If you specify settings for a health check, AWS Cloud Map associates the health check with all the Route 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].

[1]: aws.amazon.com/cloud-map/pricing/



349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#health_check_custom_configTypes::HealthCheckCustomConfig

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.



349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#nameString

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`

[1]: www.haproxy.org/

Returns:

  • (String)


349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#namespace_idString

The ID of the namespace that you want to use to create the service.

Returns:

  • (String)


349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tagsArray<Types::Tag>

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.

Returns:



349
350
351
352
353
354
355
356
357
358
359
360
# File 'lib/aws-sdk-servicediscovery/types.rb', line 349

class CreateServiceRequest < Struct.new(
  :name,
  :namespace_id,
  :creator_request_id,
  :description,
  :dns_config,
  :health_check_config,
  :health_check_custom_config,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end