getServiceHealth

consul.getServiceHealth can be used to get the list of the instances that are currently healthy, according to their associated health-checks. The result includes the list of service instances, the node associated to each instance and its health-checks.

This resource is likely to change as frequently as the health-checks are being updated, you should expect different results in a frequent basis.

Example Usage

Coming soon!

Coming soon!

Coming soon!

import * as pulumi from "@pulumi/pulumi";
import * as consul from "@pulumi/consul";
import * as vault from "@pulumi/vault";

const vaultServiceHealth = pulumi.output(consul.getServiceHealth({
    passing: true,
    service: "vault",
}, { async: true }));

Using getServiceHealth

function getServiceHealth(args: GetServiceHealthArgs, opts?: InvokeOptions): Promise<GetServiceHealthResult>
def get_service_health(datacenter: Optional[str] = None,
                       filter: Optional[str] = None,
                       name: Optional[str] = None,
                       near: Optional[str] = None,
                       node_meta: Optional[Mapping[str, str]] = None,
                       passing: Optional[bool] = None,
                       tag: Optional[str] = None,
                       wait_for: Optional[str] = None,
                       opts: Optional[InvokeOptions] = None) -> GetServiceHealthResult
func GetServiceHealth(ctx *Context, args *GetServiceHealthArgs, opts ...InvokeOption) (*GetServiceHealthResult, error)

Note: This function is named GetServiceHealth in the Go SDK.

public static class GetServiceHealth {
    public static Task<GetServiceHealthResult> InvokeAsync(GetServiceHealthArgs args, InvokeOptions? opts = null)
}

The following arguments are supported:

Name string
The service name to select.
Datacenter string
The Consul datacenter to query.
Filter string
A filter expression to refine the list of results, see https://www.consul.io/api-docs/features/filtering and https://www.consul.io/api-docs/health#filtering-2.
Near string
Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node.
NodeMeta Dictionary<string, string>
Filter the results to nodes with the specified key/value pairs.
Passing bool
Whether to return only nodes with all checks in the passing state. Defaults to true.
Tag string
A single tag that can be used to filter the list to return based on a single matching tag.
WaitFor string
Name string
The service name to select.
Datacenter string
The Consul datacenter to query.
Filter string
A filter expression to refine the list of results, see https://www.consul.io/api-docs/features/filtering and https://www.consul.io/api-docs/health#filtering-2.
Near string
Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node.
NodeMeta map[string]string
Filter the results to nodes with the specified key/value pairs.
Passing bool
Whether to return only nodes with all checks in the passing state. Defaults to true.
Tag string
A single tag that can be used to filter the list to return based on a single matching tag.
WaitFor string
name string
The service name to select.
datacenter string
The Consul datacenter to query.
filter string
A filter expression to refine the list of results, see https://www.consul.io/api-docs/features/filtering and https://www.consul.io/api-docs/health#filtering-2.
near string
Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node.
nodeMeta {[key: string]: string}
Filter the results to nodes with the specified key/value pairs.
passing boolean
Whether to return only nodes with all checks in the passing state. Defaults to true.
tag string
A single tag that can be used to filter the list to return based on a single matching tag.
waitFor string
name str
The service name to select.
datacenter str
The Consul datacenter to query.
filter str
A filter expression to refine the list of results, see https://www.consul.io/api-docs/features/filtering and https://www.consul.io/api-docs/health#filtering-2.
near str
Specifies a node name to sort the node list in ascending order based on the estimated round trip time from that node.
node_meta Mapping[str, str]
Filter the results to nodes with the specified key/value pairs.
passing bool
Whether to return only nodes with all checks in the passing state. Defaults to true.
tag str
A single tag that can be used to filter the list to return based on a single matching tag.
wait_for str

getServiceHealth Result

The following output properties are available:

Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of this health-check.
Results List<GetServiceHealthResult>
A list of entries and details about each endpoint advertising a service. Each element in the list has three attributes: node, service and checks. The list of the attributes of each one is detailed below.
Datacenter string

The datacenter in which the node is running.

Filter string
Near string
The node to which the result must be sorted to.
NodeMeta Dictionary<string, string>
The list of metadata to filter the nodes.
Passing bool
Whether to return only nodes with all checks in the passing state.
Tag string
The name of the tag used to filter the list.
WaitFor string
Id string
The provider-assigned unique ID for this managed resource.
Name string
The name of this health-check.
Results []GetServiceHealthResultType
A list of entries and details about each endpoint advertising a service. Each element in the list has three attributes: node, service and checks. The list of the attributes of each one is detailed below.
Datacenter string

The datacenter in which the node is running.

Filter string
Near string
The node to which the result must be sorted to.
NodeMeta map[string]string
The list of metadata to filter the nodes.
Passing bool
Whether to return only nodes with all checks in the passing state.
Tag string
The name of the tag used to filter the list.
WaitFor string
id string
The provider-assigned unique ID for this managed resource.
name string
The name of this health-check.
results GetServiceHealthResult[]
A list of entries and details about each endpoint advertising a service. Each element in the list has three attributes: node, service and checks. The list of the attributes of each one is detailed below.
datacenter string

The datacenter in which the node is running.

filter string
near string
The node to which the result must be sorted to.
nodeMeta {[key: string]: string}
The list of metadata to filter the nodes.
passing boolean
Whether to return only nodes with all checks in the passing state.
tag string
The name of the tag used to filter the list.
waitFor string
id str
The provider-assigned unique ID for this managed resource.
name str
The name of this health-check.
results Sequence[GetServiceHealthResult]
A list of entries and details about each endpoint advertising a service. Each element in the list has three attributes: node, service and checks. The list of the attributes of each one is detailed below.
datacenter str

The datacenter in which the node is running.

filter str
near str
The node to which the result must be sorted to.
node_meta Mapping[str, str]
The list of metadata to filter the nodes.
passing bool
Whether to return only nodes with all checks in the passing state.
tag str
The name of the tag used to filter the list.
wait_for str

Supporting Types

GetServiceHealthResult

GetServiceHealthResultCheck

Id string
The ID of this health-check.
Name string
The service name to select.
Node string
The name of the node associated with this health-check.
Notes string
A human readable description of the current state of the health-check.
Output string
The output of the health-check.
ServiceId string
The ID of the service associated to this health-check.
ServiceName string
The name of the service associated with this health-check.
ServiceTags List<string>
The list of tags associated with this health-check.
Status string
The status of this health-check.
Id string
The ID of this health-check.
Name string
The service name to select.
Node string
The name of the node associated with this health-check.
Notes string
A human readable description of the current state of the health-check.
Output string
The output of the health-check.
ServiceId string
The ID of the service associated to this health-check.
ServiceName string
The name of the service associated with this health-check.
ServiceTags []string
The list of tags associated with this health-check.
Status string
The status of this health-check.
id string
The ID of this health-check.
name string
The service name to select.
node string
The name of the node associated with this health-check.
notes string
A human readable description of the current state of the health-check.
output string
The output of the health-check.
serviceId string
The ID of the service associated to this health-check.
serviceName string
The name of the service associated with this health-check.
serviceTags string[]
The list of tags associated with this health-check.
status string
The status of this health-check.
id str
The ID of this health-check.
name str
The service name to select.
node str
The name of the node associated with this health-check.
notes str
A human readable description of the current state of the health-check.
output str
The output of the health-check.
service_id str
The ID of the service associated to this health-check.
service_name str
The name of the service associated with this health-check.
service_tags Sequence[str]
The list of tags associated with this health-check.
status str
The status of this health-check.

GetServiceHealthResultNode

Address string
The address of this instance.
Datacenter string
The Consul datacenter to query.
Id string
The ID of this health-check.
Meta Dictionary<string, string>
Service metadata tag information, if any.
Name string
The service name to select.
TaggedAddresses Dictionary<string, string>
Address string
The address of this instance.
Datacenter string
The Consul datacenter to query.
Id string
The ID of this health-check.
Meta map[string]string
Service metadata tag information, if any.
Name string
The service name to select.
TaggedAddresses map[string]string
address string
The address of this instance.
datacenter string
The Consul datacenter to query.
id string
The ID of this health-check.
meta {[key: string]: string}
Service metadata tag information, if any.
name string
The service name to select.
taggedAddresses {[key: string]: string}
address str
The address of this instance.
datacenter str
The Consul datacenter to query.
id str
The ID of this health-check.
meta Mapping[str, str]
Service metadata tag information, if any.
name str
The service name to select.
tagged_addresses Mapping[str, str]

GetServiceHealthResultService

Address string
The address of this instance.
Id string
The ID of this health-check.
Meta Dictionary<string, string>
Service metadata tag information, if any.
Name string
The service name to select.
Port int
The port of this instance.
Tags List<string>
The list of tags associated with this instance.
Address string
The address of this instance.
Id string
The ID of this health-check.
Meta map[string]string
Service metadata tag information, if any.
Name string
The service name to select.
Port int
The port of this instance.
Tags []string
The list of tags associated with this instance.
address string
The address of this instance.
id string
The ID of this health-check.
meta {[key: string]: string}
Service metadata tag information, if any.
name string
The service name to select.
port number
The port of this instance.
tags string[]
The list of tags associated with this instance.
address str
The address of this instance.
id str
The ID of this health-check.
meta Mapping[str, str]
Service metadata tag information, if any.
name str
The service name to select.
port int
The port of this instance.
tags Sequence[str]
The list of tags associated with this instance.

Package Details

Repository
https://github.com/pulumi/pulumi-consul
License
Apache-2.0
Notes
This Pulumi package is based on the consul Terraform Provider.