AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Interface for accessing ServiceDiscovery Amazon Route 53 auto naming lets you configure public or private namespaces that your microservice applications run in. When instances of the service become available, you can call the auto naming API to register the instance, and Route 53 automatically creates up to five DNS records and an optional health check. Clients that submit DNS queries for the service receive an answer that contains up to eight healthy records.

Inheritance Hierarchy

Amazon.ServiceDiscovery.IAmazonServiceDiscovery

Namespace: Amazon.ServiceDiscovery
Assembly: AWSSDK.ServiceDiscovery.dll
Version: 3.x.y.z

Syntax

C#
public interface IAmazonServiceDiscovery
         IAmazonService, IDisposable

The IAmazonServiceDiscovery type exposes the following members

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method CreatePrivateDnsNamespace(CreatePrivateDnsNamespaceRequest)

Creates a private namespace based on DNS, which will be visible only inside a specified Amazon VPC. 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 will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see Limits on Auto Naming in the Route 53 Developer Guide.

Public Method CreatePrivateDnsNamespaceAsync(CreatePrivateDnsNamespaceRequest, CancellationToken)

Initiates the asynchronous execution of the CreatePrivateDnsNamespace operation.

Public Method CreatePublicDnsNamespace(CreatePublicDnsNamespaceRequest)

Creates a public namespace based on DNS, which will be 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 will be backend.example.com. For the current limit on the number of namespaces that you can create using the same AWS account, see Limits on Auto Naming in the Route 53 Developer Guide.

Public Method CreatePublicDnsNamespaceAsync(CreatePublicDnsNamespaceRequest, CancellationToken)

Initiates the asynchronous execution of the CreatePublicDnsNamespace operation.

Public Method CreateService(CreateServiceRequest)

Creates a service, which defines the configuration for the following entities:

  • Up to three records (A, AAAA, and SRV) or one CNAME record

  • Optionally, a health check

After you create the service, you can submit a RegisterInstance request, and Amazon Route 53 uses the values in the configuration to create the specified entities.

For the current limit on the number of instances that you can register using the same namespace and using the same service, see Limits on Auto Naming in the Route 53 Developer Guide.

Public Method CreateServiceAsync(CreateServiceRequest, CancellationToken)

Initiates the asynchronous execution of the CreateService operation.

Public Method DeleteNamespace(DeleteNamespaceRequest)

Deletes a namespace from the current account. If the namespace still contains one or more services, the request fails.

Public Method DeleteNamespaceAsync(DeleteNamespaceRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteNamespace operation.

Public Method DeleteService(DeleteServiceRequest)

Deletes a specified service. If the service still contains one or more registered instances, the request fails.

Public Method DeleteServiceAsync(DeleteServiceRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteService operation.

Public Method DeregisterInstance(DeregisterInstanceRequest)

Deletes the records and the health check, if any, that Amazon Route 53 created for the specified instance.

Public Method DeregisterInstanceAsync(DeregisterInstanceRequest, CancellationToken)

Initiates the asynchronous execution of the DeregisterInstance operation.

Public Method GetInstance(GetInstanceRequest)

Gets information about a specified instance.

Public Method GetInstanceAsync(GetInstanceRequest, CancellationToken)

Initiates the asynchronous execution of the GetInstance operation.

Public Method GetInstancesHealthStatus(GetInstancesHealthStatusRequest)

Gets the current health status (Healthy, Unhealthy, or Unknown) of one or more instances that are associated with a specified service.

There is a brief delay between when you register an instance and when the health status for the instance is available.

Public Method GetInstancesHealthStatusAsync(GetInstancesHealthStatusRequest, CancellationToken)

Initiates the asynchronous execution of the GetInstancesHealthStatus operation.

Public Method GetNamespace(GetNamespaceRequest)

Gets information about a namespace.

Public Method GetNamespaceAsync(GetNamespaceRequest, CancellationToken)

Initiates the asynchronous execution of the GetNamespace operation.

Public Method GetOperation(GetOperationRequest)

Gets information about any operation that returns an operation ID in the response, such as a CreateService request.

To get a list of operations that match specified criteria, see ListOperations.

Public Method GetOperationAsync(GetOperationRequest, CancellationToken)

Initiates the asynchronous execution of the GetOperation operation.

Public Method GetService(GetServiceRequest)

Gets the settings for a specified service.

Public Method GetServiceAsync(GetServiceRequest, CancellationToken)

Initiates the asynchronous execution of the GetService operation.

Public Method ListInstances(ListInstancesRequest)

Lists summary information about the instances that you registered by using a specified service.

Public Method ListInstancesAsync(ListInstancesRequest, CancellationToken)

Initiates the asynchronous execution of the ListInstances operation.

Public Method ListNamespaces(ListNamespacesRequest)

Lists summary information about the namespaces that were created by the current AWS account.

Public Method ListNamespacesAsync(ListNamespacesRequest, CancellationToken)

Initiates the asynchronous execution of the ListNamespaces operation.

Public Method ListOperations(ListOperationsRequest)

Lists operations that match the criteria that you specify.

Public Method ListOperationsAsync(ListOperationsRequest, CancellationToken)

Initiates the asynchronous execution of the ListOperations operation.

Public Method ListServices(ListServicesRequest)

Lists summary information for all the services that are associated with one or more specified namespaces.

Public Method ListServicesAsync(ListServicesRequest, CancellationToken)

Initiates the asynchronous execution of the ListServices operation.

Public Method RegisterInstance(RegisterInstanceRequest)

Creates or updates one or more records and optionally a health check based on the settings in a specified service. When you submit a RegisterInstance request, Amazon Route 53 does the following:

  • For each DNS record that you define in the service specified by ServiceId, creates or updates a record in the hosted zone that is associated with the corresponding namespace

  • If the service includes HealthCheckConfig, creates or updates a health check based on the settings in the health check configuration

  • Associates the health check, if any, with each of the records

One RegisterInstance request must complete before you can submit another request and specify the same service ID and instance ID.

For more information, see CreateService.

When Route 53 receives a DNS query for the specified DNS name, it returns the applicable value:

  • If the health check is healthy: returns all the records

  • If the health check is unhealthy: returns the applicable value for the last healthy instance

  • If you didn't specify a health check configuration: returns all the records

For the current limit on the number of instances that you can register using the same namespace and using the same service, see Limits on Auto Naming in the Route 53 Developer Guide.

Public Method RegisterInstanceAsync(RegisterInstanceRequest, CancellationToken)

Initiates the asynchronous execution of the RegisterInstance operation.

Public Method UpdateInstanceCustomHealthStatus(UpdateInstanceCustomHealthStatusRequest)

Public Method UpdateInstanceCustomHealthStatusAsync(UpdateInstanceCustomHealthStatusRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateInstanceCustomHealthStatus operation.

Public Method UpdateService(UpdateServiceRequest)

Submits a request to perform the following operations:

  • Add or delete DnsRecords configurations

  • Update the TTL setting for existing DnsRecords configurations

  • Add, update, or delete HealthCheckConfig for a specified service

You must specify all DnsRecords configurations (and, optionally, HealthCheckConfig) that you want to appear in the updated service. Any current configurations that don't appear in an UpdateService request are deleted.

When you update the TTL setting for a service, Amazon Route 53 also updates the corresponding settings in all the records and health checks that were created by using the specified service.

Public Method UpdateServiceAsync(UpdateServiceRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateService operation.

Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms