pub struct Client { /* private fields */ }
Expand description

Client for AWS Cloud Map

Client for invoking operations on AWS Cloud Map. Each operation on AWS Cloud Map is a method on this this struct. .send() MUST be invoked on the generated operations to dispatch the request to the service.

Examples

Constructing a client and invoking an operation

    // create a shared configuration. This can be used & shared between multiple service clients.
    let shared_config = aws_config::load_from_env().await;
    let client = aws_sdk_servicediscovery::Client::new(&shared_config);
    // invoke an operation
    /* let rsp = client
        .<operation_name>().
        .<param>("some value")
        .send().await; */

Constructing a client with custom configuration

use aws_config::RetryConfig;
let shared_config = aws_config::load_from_env().await;
let config = aws_sdk_servicediscovery::config::Builder::from(&shared_config)
  .retry_config(RetryConfig::disabled())
  .build();
let client = aws_sdk_servicediscovery::Client::from_conf(config);

Implementations

Creates a client with the given service configuration.

Returns the client’s configuration.

Constructs a fluent builder for the CreateHttpNamespace operation.

Constructs a fluent builder for the CreatePrivateDnsNamespace operation.

Constructs a fluent builder for the CreatePublicDnsNamespace operation.

Constructs a fluent builder for the CreateService operation.

  • The fluent builder is configurable:
    • name(impl Into<String>) / set_name(Option<String>):

      The name that you want to assign to the service.

      If you want Cloud Map to create an SRV record when you register an instance and 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, 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).

      For services that are accessible by DNS queries, you can’t create multiple services with names that differ only by case (such as EXAMPLE and example). Otherwise, these services have the same DNS name and can’t be distinguished. However, if you use a namespace that’s only accessible by API calls, then you can create services that with names that differ only by case.

    • namespace_id(impl Into<String>) / set_namespace_id(Option<String>):

      The ID of the namespace that you want to use to create the service. The namespace ID must be specified, but it can be specified either here or in the DnsConfig object.

    • creator_request_id(impl Into<String>) / set_creator_request_id(Option<String>):

      A unique string that identifies the request and that allows failed CreateService requests to be retried without the risk of running the operation twice. CreatorRequestId can be any unique string (for example, a date/timestamp).

    • description(impl Into<String>) / set_description(Option<String>):

      A description for the service.

    • dns_config(DnsConfig) / set_dns_config(Option<DnsConfig>):

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

    • health_check_config(HealthCheckConfig) / set_health_check_config(Option<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, 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 Cloud Map Pricing.

    • health_check_custom_config(HealthCheckCustomConfig) / set_health_check_custom_config(Option<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.

    • tags(Vec<Tag>) / set_tags(Option<Vec<Tag>>):

      The tags to add to the service. 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.

    • r#type(ServiceTypeOption) / set_type(Option<ServiceTypeOption>):

      If present, specifies that the service instances are only discoverable using the DiscoverInstances API operation. No DNS records is registered for the service instances. The only valid value is HTTP.

  • On success, responds with CreateServiceOutput with field(s):
  • On failure, responds with SdkError<CreateServiceError>

Constructs a fluent builder for the DeleteNamespace operation.

Constructs a fluent builder for the DeleteService operation.

Constructs a fluent builder for the DeregisterInstance operation.

Constructs a fluent builder for the DiscoverInstances operation.

Constructs a fluent builder for the GetInstance operation.

Constructs a fluent builder for the GetInstancesHealthStatus operation. This operation supports pagination; See into_paginator().

Constructs a fluent builder for the GetNamespace operation.

Constructs a fluent builder for the GetOperation operation.

Constructs a fluent builder for the GetService operation.

Constructs a fluent builder for the ListInstances operation. This operation supports pagination; See into_paginator().

Constructs a fluent builder for the ListNamespaces operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      For the first ListNamespaces request, omit this value.

      If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

      Cloud Map gets MaxResults namespaces and then filters them based on the specified criteria. It’s possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of namespaces that you want Cloud Map to return in the response to a ListNamespaces request. If you don’t specify a value for MaxResults, Cloud Map returns up to 100 namespaces.

    • filters(Vec<NamespaceFilter>) / set_filters(Option<Vec<NamespaceFilter>>):

      A complex type that contains specifications for the namespaces that you want to list.

      If you specify more than one filter, a namespace must match all filters to be returned by ListNamespaces.

  • On success, responds with ListNamespacesOutput with field(s):
    • namespaces(Option<Vec<NamespaceSummary>>):

      An array that contains one NamespaceSummary object for each namespace that matches the specified filter criteria.

    • next_token(Option<String>):

      If the response contains NextToken, submit another ListNamespaces request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

      Cloud Map gets MaxResults namespaces and then filters them based on the specified criteria. It’s possible that no namespaces in the first MaxResults namespaces matched the specified criteria but that subsequent groups of MaxResults namespaces do contain namespaces that match the criteria.

  • On failure, responds with SdkError<ListNamespacesError>

Constructs a fluent builder for the ListOperations operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      For the first ListOperations request, omit this value.

      If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

      Cloud Map gets MaxResults operations and then filters them based on the specified criteria. It’s possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of items that you want Cloud Map to return in the response to a ListOperations request. If you don’t specify a value for MaxResults, Cloud Map returns up to 100 operations.

    • filters(Vec<OperationFilter>) / set_filters(Option<Vec<OperationFilter>>):

      A complex type that contains specifications for the operations that you want to list, for example, operations that you started between a specified start date and end date.

      If you specify more than one filter, an operation must match all filters to be returned by ListOperations.

  • On success, responds with ListOperationsOutput with field(s):
    • operations(Option<Vec<OperationSummary>>):

      Summary information about the operations that match the specified criteria.

    • next_token(Option<String>):

      If the response contains NextToken, submit another ListOperations request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

      Cloud Map gets MaxResults operations and then filters them based on the specified criteria. It’s possible that no operations in the first MaxResults operations matched the specified criteria but that subsequent groups of MaxResults operations do contain operations that match the criteria.

  • On failure, responds with SdkError<ListOperationsError>

Constructs a fluent builder for the ListServices operation. This operation supports pagination; See into_paginator().

  • The fluent builder is configurable:
    • next_token(impl Into<String>) / set_next_token(Option<String>):

      For the first ListServices request, omit this value.

      If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

      Cloud Map gets MaxResults services and then filters them based on the specified criteria. It’s possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria.

    • max_results(i32) / set_max_results(Option<i32>):

      The maximum number of services that you want Cloud Map to return in the response to a ListServices request. If you don’t specify a value for MaxResults, Cloud Map returns up to 100 services.

    • filters(Vec<ServiceFilter>) / set_filters(Option<Vec<ServiceFilter>>):

      A complex type that contains specifications for the namespaces that you want to list services for.

      If you specify more than one filter, an operation must match all filters to be returned by ListServices.

  • On success, responds with ListServicesOutput with field(s):
    • services(Option<Vec<ServiceSummary>>):

      An array that contains one ServiceSummary object for each service that matches the specified filter criteria.

    • next_token(Option<String>):

      If the response contains NextToken, submit another ListServices request to get the next group of results. Specify the value of NextToken from the previous response in the next request.

      Cloud Map gets MaxResults services and then filters them based on the specified criteria. It’s possible that no services in the first MaxResults services matched the specified criteria but that subsequent groups of MaxResults services do contain services that match the criteria.

  • On failure, responds with SdkError<ListServicesError>

Constructs a fluent builder for the ListTagsForResource operation.

Constructs a fluent builder for the RegisterInstance operation.

  • The fluent builder is configurable:
    • service_id(impl Into<String>) / set_service_id(Option<String>):

      The ID of the service that you want to use for settings for the instance.

    • instance_id(impl Into<String>) / set_instance_id(Option<String>):

      An identifier that you want to associate with the instance. Note the following:

      • If the service that’s specified by ServiceId includes settings for an SRV record, the value of InstanceId is automatically included as part of the value for the SRV record. For more information, see DnsRecord > Type.

      • You can use this value to update an existing instance.

      • To register a new instance, you must specify a value that’s unique among instances that you register by using the same service.

      • If you specify an existing InstanceId and ServiceId, Cloud Map updates the existing DNS records, if any. If there’s also an existing health check, Cloud Map deletes the old health check and creates a new one.

        The health check isn’t deleted immediately, so it will still appear for a while if you submit a ListHealthChecks request, for example.

    • creator_request_id(impl Into<String>) / set_creator_request_id(Option<String>):

      A unique string that identifies the request and that allows failed RegisterInstance requests to be retried without the risk of executing the operation twice. You must use a unique CreatorRequestId string every time you submit a RegisterInstance request if you’re registering additional instances for the same namespace and service. CreatorRequestId can be any unique string (for example, a date/time stamp).

    • attributes(HashMap<String, String>) / set_attributes(Option<HashMap<String, String>>):

      A string map that contains the following information for the service that you specify in ServiceId:

      • The attributes that apply to the records that are defined in the service.

      • For each attribute, the applicable value.

      Supported attribute keys include the following:

      AWS_ALIAS_DNS_NAME

      If you want Cloud Map to create an Amazon Route 53 alias record that routes traffic to an Elastic Load Balancing load balancer, specify the DNS name that’s associated with the load balancer. For information about how to get the DNS name, see “DNSName” in the topic AliasTarget in the Route 53 API Reference.

      Note the following:

      • The configuration for the service that’s specified by ServiceId must include settings for an A record, an AAAA record, or both.

      • In the service that’s specified by ServiceId, the value of RoutingPolicy must be WEIGHTED.

      • If the service that’s specified by ServiceId includes HealthCheckConfig settings, Cloud Map will create the Route 53 health check, but it doesn’t associate the health check with the alias record.

      • Auto naming currently doesn’t support creating alias records that route traffic to Amazon Web Services resources other than Elastic Load Balancing load balancers.

      • If you specify a value for AWS_ALIAS_DNS_NAME, don’t specify values for any of the AWS_INSTANCE attributes.

      AWS_EC2_INSTANCE_ID

      HTTP namespaces only. The Amazon EC2 instance ID for the instance. If the AWS_EC2_INSTANCE_ID attribute is specified, then the only other attribute that can be specified is AWS_INIT_HEALTH_STATUS. When the AWS_EC2_INSTANCE_ID attribute is specified, then the AWS_INSTANCE_IPV4 attribute will be filled out with the primary private IPv4 address.

      AWS_INIT_HEALTH_STATUS

      If the service configuration includes HealthCheckCustomConfig, you can optionally use AWS_INIT_HEALTH_STATUS to specify the initial status of the custom health check, HEALTHY or UNHEALTHY. If you don’t specify a value for AWS_INIT_HEALTH_STATUS, the initial status is HEALTHY.

      AWS_INSTANCE_CNAME

      If the service configuration includes a CNAME record, the domain name that you want Route 53 to return in response to DNS queries (for example, example.com).

      This value is required if the service specified by ServiceId includes settings for an CNAME record.

      AWS_INSTANCE_IPV4

      If the service configuration includes an A record, the IPv4 address that you want Route 53 to return in response to DNS queries (for example, 192.0.2.44).

      This value is required if the service specified by ServiceId includes settings for an A record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

      AWS_INSTANCE_IPV6

      If the service configuration includes an AAAA record, the IPv6 address that you want Route 53 to return in response to DNS queries (for example, 2001:0db8:85a3:0000:0000:abcd:0001:2345).

      This value is required if the service specified by ServiceId includes settings for an AAAA record. If the service includes settings for an SRV record, you must specify a value for AWS_INSTANCE_IPV4, AWS_INSTANCE_IPV6, or both.

      AWS_INSTANCE_PORT

      If the service includes an SRV record, the value that you want Route 53 to return for the port.

      If the service includes HealthCheckConfig, the port on the endpoint that you want Route 53 to send requests to.

      This value is required if you specified settings for an SRV record or a Route 53 health check when you created the service.

      Custom attributes

      You can add up to 30 custom attributes. For each key-value pair, the maximum length of the attribute name is 255 characters, and the maximum length of the attribute value is 1,024 characters. The total size of all provided attributes (sum of all keys and values) must not exceed 5,000 characters.

  • On success, responds with RegisterInstanceOutput with field(s):
  • On failure, responds with SdkError<RegisterInstanceError>

Constructs a fluent builder for the TagResource operation.

Constructs a fluent builder for the UntagResource operation.

Constructs a fluent builder for the UpdateHttpNamespace operation.

Constructs a fluent builder for the UpdateInstanceCustomHealthStatus operation.

Constructs a fluent builder for the UpdatePrivateDnsNamespace operation.

Constructs a fluent builder for the UpdatePublicDnsNamespace operation.

Constructs a fluent builder for the UpdateService operation.

Creates a client with the given service config and connector override.

Creates a new client from a shared config.

Creates a new client from the service Config.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more