AWS Cloud Map

2023/09/20 - AWS Cloud Map - 1 new 1 updated api methods

Changes  Adds a new DiscoverInstancesRevision API and also adds InstanceRevision field to the DiscoverInstances API response.

DiscoverInstancesRevision (new) Link ¶

Discovers the increasing revision associated with an instance.

See also: AWS API Documentation

Request Syntax

client.discover_instances_revision(
    NamespaceName='string',
    ServiceName='string'
)
type NamespaceName

string

param NamespaceName

[REQUIRED]

The HttpName name of the namespace. It's found in the HttpProperties member of the Properties member of the namespace.

type ServiceName

string

param ServiceName

[REQUIRED]

The name of the service that you specified when you registered the instance.

rtype

dict

returns

Response Syntax

{
    'InstancesRevision': 123
}

Response Structure

  • (dict) --

    • InstancesRevision (integer) --

      The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the InstancesRevision updates. The health status updates don't update InstancesRevision .

DiscoverInstances (updated) Link ¶
Changes (response)
{'InstancesRevision': 'long'}

Discovers registered instances for a specified namespace and service. You can use DiscoverInstances to discover instances for any type of namespace. DiscoverInstances returns a randomized list of instances allowing customers to distribute traffic evenly across instances. For public and private DNS namespaces, you can also use DNS queries to discover instances.

See also: AWS API Documentation

Request Syntax

client.discover_instances(
    NamespaceName='string',
    ServiceName='string',
    MaxResults=123,
    QueryParameters={
        'string': 'string'
    },
    OptionalParameters={
        'string': 'string'
    },
    HealthStatus='HEALTHY'|'UNHEALTHY'|'ALL'|'HEALTHY_OR_ELSE_ALL'
)
type NamespaceName

string

param NamespaceName

[REQUIRED]

The HttpName name of the namespace. It's found in the HttpProperties member of the Properties member of the namespace.

type ServiceName

string

param ServiceName

[REQUIRED]

The name of the service that you specified when you registered the instance.

type MaxResults

integer

param MaxResults

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

type QueryParameters

dict

param QueryParameters

Filters to scope the results based on custom attributes for the instance (for example, {version=v1, az=1a} ). Only instances that match all the specified key-value pairs are returned.

  • (string) --

    • (string) --

type OptionalParameters

dict

param OptionalParameters

Opportunistic filters to scope the results based on custom attributes. If there are instances that match both the filters specified in both the QueryParameters parameter and this parameter, all of these instances are returned. Otherwise, the filters are ignored, and only instances that match the filters that are specified in the QueryParameters parameter are returned.

  • (string) --

    • (string) --

type HealthStatus

string

param HealthStatus

The health status of the instances that you want to discover. This parameter is ignored for services that don't have a health check configured, and all instances are returned.

HEALTHY

Returns healthy instances.

UNHEALTHY

Returns unhealthy instances.

ALL

Returns all instances.

HEALTHY_OR_ELSE_ALL

Returns healthy instances, unless none are reporting a healthy state. In that case, return all instances. This is also called failing open.

rtype

dict

returns

Response Syntax

{
    'Instances': [
        {
            'InstanceId': 'string',
            'NamespaceName': 'string',
            'ServiceName': 'string',
            'HealthStatus': 'HEALTHY'|'UNHEALTHY'|'UNKNOWN',
            'Attributes': {
                'string': 'string'
            }
        },
    ],
    'InstancesRevision': 123
}

Response Structure

  • (dict) --

    • Instances (list) --

      A complex type that contains one HttpInstanceSummary for each registered instance.

      • (dict) --

        In a response to a DiscoverInstances request, HttpInstanceSummary contains information about one instance that matches the values that you specified in the request.

        • InstanceId (string) --

          The ID of an instance that matches the values that you specified in the request.

        • NamespaceName (string) --

          The HttpName name of the namespace. It's found in the HttpProperties member of the Properties member of the namespace.

        • ServiceName (string) --

          The name of the service that you specified when you registered the instance.

        • HealthStatus (string) --

          If you configured health checking in the service, the current health status of the service instance.

        • Attributes (dict) --

          If you included any attributes when you registered the instance, the values of those attributes.

          • (string) --

            • (string) --

    • InstancesRevision (integer) --

      The increasing revision associated to the response Instances list. If a new instance is registered or deregistered, the InstancesRevision updates. The health status updates don't update InstancesRevision .