1. Packages
  2. Consul Provider
  3. API Docs
  4. getServiceHealth
Consul v3.12.4 published on Wednesday, Feb 12, 2025 by Pulumi

consul.getServiceHealth

Explore with Pulumi AI

Consul v3.12.4 published on Wednesday, Feb 12, 2025 by Pulumi

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!
Coming soon!
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.consul.ConsulFunctions;
import com.pulumi.consul.inputs.GetServiceHealthArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var vault = ConsulFunctions.getServiceHealth(GetServiceHealthArgs.builder()
            .service("vault")
            .passing(true)
            .build());

    }
}
Copy
variables:
  vault:
    fn::invoke:
      function: consul:getServiceHealth
      arguments:
        service: vault
        passing: true
Copy

Using getServiceHealth

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getServiceHealth(args: GetServiceHealthArgs, opts?: InvokeOptions): Promise<GetServiceHealthResult>
function getServiceHealthOutput(args: GetServiceHealthOutputArgs, opts?: InvokeOptions): Output<GetServiceHealthResult>
Copy
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
def get_service_health_output(datacenter: Optional[pulumi.Input[str]] = None,
                       filter: Optional[pulumi.Input[str]] = None,
                       name: Optional[pulumi.Input[str]] = None,
                       near: Optional[pulumi.Input[str]] = None,
                       node_meta: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
                       passing: Optional[pulumi.Input[bool]] = None,
                       tag: Optional[pulumi.Input[str]] = None,
                       wait_for: Optional[pulumi.Input[str]] = None,
                       opts: Optional[InvokeOptions] = None) -> Output[GetServiceHealthResult]
Copy
func LookupServiceHealth(ctx *Context, args *LookupServiceHealthArgs, opts ...InvokeOption) (*LookupServiceHealthResult, error)
func LookupServiceHealthOutput(ctx *Context, args *LookupServiceHealthOutputArgs, opts ...InvokeOption) LookupServiceHealthResultOutput
Copy

> Note: This function is named LookupServiceHealth in the Go SDK.

public static class GetServiceHealth 
{
    public static Task<GetServiceHealthResult> InvokeAsync(GetServiceHealthArgs args, InvokeOptions? opts = null)
    public static Output<GetServiceHealthResult> Invoke(GetServiceHealthInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetServiceHealthResult> getServiceHealth(GetServiceHealthArgs args, InvokeOptions options)
public static Output<GetServiceHealthResult> getServiceHealth(GetServiceHealthArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: consul:index/getServiceHealth:getServiceHealth
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Name This property is required. 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 This property is required. 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 This property is required. 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 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 This property is required. 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 This property is required. 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
name This property is required. 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>
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

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 []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 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 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 Map<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 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
id String
The provider-assigned unique ID for this managed resource.
name String
The name of this health-check.
results List<Property Map>
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>
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

Supporting Types

GetServiceHealthResult

Checks This property is required. List<GetServiceHealthResultCheck>
Nodes This property is required. List<GetServiceHealthResultNode>
The name of the node associated with this health-check.
Services This property is required. List<GetServiceHealthResultService>
Checks This property is required. []GetServiceHealthResultCheck
Nodes This property is required. []GetServiceHealthResultNode
The name of the node associated with this health-check.
Services This property is required. []GetServiceHealthResultService
checks This property is required. List<GetServiceHealthResultCheck>
nodes This property is required. List<GetServiceHealthResultNode>
The name of the node associated with this health-check.
services This property is required. List<GetServiceHealthResultService>
checks This property is required. GetServiceHealthResultCheck[]
nodes This property is required. GetServiceHealthResultNode[]
The name of the node associated with this health-check.
services This property is required. GetServiceHealthResultService[]
checks This property is required. Sequence[GetServiceHealthResultCheck]
nodes This property is required. Sequence[GetServiceHealthResultNode]
The name of the node associated with this health-check.
services This property is required. Sequence[GetServiceHealthResultService]
checks This property is required. List<Property Map>
nodes This property is required. List<Property Map>
The name of the node associated with this health-check.
services This property is required. List<Property Map>

GetServiceHealthResultCheck

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

GetServiceHealthResultNode

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

GetServiceHealthResultService

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

Package Details

Repository
HashiCorp Consul pulumi/pulumi-consul
License
Apache-2.0
Notes
This Pulumi package is based on the consul Terraform Provider.
Consul v3.12.4 published on Wednesday, Feb 12, 2025 by Pulumi