ServiceDiscovery / Client / discover_instances
discover_instances#
- ServiceDiscovery.Client.discover_instances(**kwargs)#
- Discovers registered instances for a specified namespace and service. You can use - DiscoverInstancesto discover instances for any type of namespace. For public and private DNS namespaces, you can also use DNS queries to discover instances.- See also: AWS API Documentation - Request Syntax - response = client.discover_instances( NamespaceName='string', ServiceName='string', MaxResults=123, QueryParameters={ 'string': 'string' }, OptionalParameters={ 'string': 'string' }, HealthStatus='HEALTHY'|'UNHEALTHY'|'ALL'|'HEALTHY_OR_ELSE_ALL' ) - Parameters:
- NamespaceName (string) – - [REQUIRED] - The - HttpNamename of the namespace. It’s found in the- HttpPropertiesmember of the- Propertiesmember of the namespace.
- ServiceName (string) – - [REQUIRED] - The name of the service that you specified when you registered the instance. 
- MaxResults (integer) – The maximum number of instances that you want Cloud Map to return in the response to a - DiscoverInstancesrequest. If you don’t specify a value for- MaxResults, Cloud Map returns up to 100 instances.
- QueryParameters (dict) – - 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) – 
 
 
- OptionalParameters (dict) – - Opportunistic filters to scope the results based on custom attributes. If there are instances that match both the filters specified in both the - QueryParametersparameter 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- QueryParametersparameter are returned.- (string) – - (string) – 
 
 
- HealthStatus (string) – - 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. 
 
- Return type:
- dict 
- Returns:
- Response Syntax - { 'Instances': [ { 'InstanceId': 'string', 'NamespaceName': 'string', 'ServiceName': 'string', 'HealthStatus': 'HEALTHY'|'UNHEALTHY'|'UNKNOWN', 'Attributes': { 'string': 'string' } }, ] } - Response Structure - (dict) – - Instances (list) – - A complex type that contains one - HttpInstanceSummaryfor each registered instance.- (dict) – - In a response to a DiscoverInstances request, - HttpInstanceSummarycontains 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 - HttpNamename of the namespace. It’s found in the- HttpPropertiesmember of the- Propertiesmember 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) – 
 
 
 
 
 
 
 - Exceptions - ServiceDiscovery.Client.exceptions.ServiceNotFound
- ServiceDiscovery.Client.exceptions.NamespaceNotFound
- ServiceDiscovery.Client.exceptions.InvalidInput
- ServiceDiscovery.Client.exceptions.RequestLimitExceeded
 - Examples - Example: Discover registered instances - response = client.discover_instances( HealthStatus='ALL', MaxResults=10, NamespaceName='example.com', ServiceName='myservice', ) print(response) - Expected Output: - { 'Instances': [ { 'Attributes': { 'AWS_INSTANCE_IPV4': '172.2.1.3', 'AWS_INSTANCE_PORT': '808', }, 'HealthStatus': 'UNKNOWN', 'InstanceId': 'myservice-53', 'NamespaceName': 'example.com', 'ServiceName': 'myservice', }, ], 'ResponseMetadata': { '...': '...', }, }