delowan.googlecloud.gcp_compute_region_health_check (1.0.2) — module

Creates a GCP RegionHealthCheck

Authors: Google Inc. (@googlecloudplatform)

preview | supported by community

Install collection

Install with ansible-galaxy collection install delowan.googlecloud:==1.0.2


Add to requirements.yml

  collections:
    - name: delowan.googlecloud
      version: 1.0.2

Description

Health Checks determine whether instances are responsive and able to do work.

They are an important part of a comprehensive load balancing configuration, as they enable monitoring instances behind load balancers.

Health Checks poll instances at a specified interval. Instances that do not respond successfully to some number of probes in a row are marked as unhealthy. No new connections are sent to unhealthy instances, though existing connections will continue. The health check will continue to poll unhealthy instances. If an instance later responds successfully to some number of consecutive probes, it is marked healthy again and can receive new connections.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a region health check
  google.cloud.gcp_compute_region_health_check:
    name: test_object
    type: TCP
    tcp_health_check:
      port_name: service-health
      request: ping
      response: pong
    healthy_threshold: 10
    timeout_sec: 2
    unhealthy_threshold: 5
    region: us-central1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Inputs

    
name:
    description:
    - Name of the resource. Provided by the client when the resource is created. The name
      must be 1-63 characters long, and comply with RFC1035. Specifically, the name must
      be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
      which means the first character must be a lowercase letter, and all following characters
      must be a dash, lowercase letter, or digit, except the last character, which cannot
      be a dash.
    required: true
    type: str

type:
    description:
    - Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If not specified,
      the default is TCP. Exactly one of the protocol-specific health check field must
      be specified, which must match type field.
    - 'Some valid choices include: "TCP", "SSL", "HTTP", "HTTPS", "HTTP2"'
    required: false
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Whether the given object should exist in GCP
    type: str

region:
    description:
    - The region where the regional health check resides.
    required: false
    type: str

scopes:
    description:
    - Array of scopes to be used
    elements: str
    type: list

project:
    description:
    - The Google Cloud Platform project to use.
    type: str

env_type:
    description:
    - Specifies which Ansible environment you're running this module within.
    - This should not be set unless you know what you're doing.
    - This only alters the User Agent string for any API requests.
    type: str

auth_kind:
    choices:
    - application
    - machineaccount
    - serviceaccount
    description:
    - The type of credential used.
    required: true
    type: str

log_config:
    description:
    - Configure logging on this health check.
    required: false
    suboptions:
      enable:
        default: 'false'
        description:
        - Indicates whether or not to export logs. This is false by default, which means
          no health check logging will be done.
        required: false
        type: bool
    type: dict

description:
    description:
    - An optional description of this resource. Provide this property when you create
      the resource.
    required: false
    type: str

timeout_sec:
    default: '5'
    description:
    - How long (in seconds) to wait before claiming failure.
    - The default value is 5 seconds. It is invalid for timeoutSec to have greater value
      than checkIntervalSec.
    required: false
    type: int

ssl_health_check:
    description:
    - A nested object resource.
    required: false
    suboptions:
      port:
        description:
        - The TCP port number for the SSL health check request.
        - The default value is 443.
        required: false
        type: int
      port_name:
        description:
        - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
          are defined, port takes precedence.
        required: false
        type: str
      port_specification:
        description:
        - 'Specifies how port is selected for health checking, can be one of the following
          values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
        - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
        - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
          network endpoint is used for health checking. For other backends, the port or
          named port specified in the Backend Service is used for health checking.'
        - If not specified, SSL health check follows behavior specified in `port` and
          `portName` fields.
        - 'Some valid choices include: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"'
        required: false
        type: str
      proxy_header:
        default: NONE
        description:
        - Specifies the type of proxy header to append before sending data to the backend.
        - 'Some valid choices include: "NONE", "PROXY_V1"'
        required: false
        type: str
      request:
        description:
        - The application data to send once the SSL connection has been established (default
          value is empty). If both request and response are empty, the connection establishment
          alone will indicate health. The request data can only be ASCII.
        required: false
        type: str
      response:
        description:
        - The bytes to match against the beginning of the response data. If left empty
          (the default value), any response will indicate health. The response data can
          only be ASCII.
        required: false
        type: str
    type: dict

tcp_health_check:
    description:
    - A nested object resource.
    required: false
    suboptions:
      port:
        description:
        - The TCP port number for the TCP health check request.
        - The default value is 80.
        required: false
        type: int
      port_name:
        description:
        - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
          are defined, port takes precedence.
        required: false
        type: str
      port_specification:
        description:
        - 'Specifies how port is selected for health checking, can be one of the following
          values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
        - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
        - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
          network endpoint is used for health checking. For other backends, the port or
          named port specified in the Backend Service is used for health checking.'
        - If not specified, TCP health check follows behavior specified in `port` and
          `portName` fields.
        - 'Some valid choices include: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"'
        required: false
        type: str
      proxy_header:
        default: NONE
        description:
        - Specifies the type of proxy header to append before sending data to the backend.
        - 'Some valid choices include: "NONE", "PROXY_V1"'
        required: false
        type: str
      request:
        description:
        - The application data to send once the TCP connection has been established (default
          value is empty). If both request and response are empty, the connection establishment
          alone will indicate health. The request data can only be ASCII.
        required: false
        type: str
      response:
        description:
        - The bytes to match against the beginning of the response data. If left empty
          (the default value), any response will indicate health. The response data can
          only be ASCII.
        required: false
        type: str
    type: dict

grpc_health_check:
    description:
    - A nested object resource.
    required: false
    suboptions:
      grpc_service_name:
        description:
        - The gRPC service name for the health check.
        - 'The value of grpcServiceName has the following meanings by convention: * Empty
          serviceName means the overall status of all services at the backend.'
        - '* Non-empty serviceName means the health of that gRPC service, as defined by
          the owner of the service.'
        - The grpcServiceName can only be ASCII.
        required: false
        type: str
      port:
        description:
        - The port number for the health check request.
        - Must be specified if portName and portSpecification are not set or if port_specification
          is USE_FIXED_PORT. Valid values are 1 through 65535.
        required: false
        type: int
      port_name:
        description:
        - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
          are defined, port takes precedence.
        required: false
        type: str
      port_specification:
        description:
        - 'Specifies how port is selected for health checking, can be one of the following
          values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
        - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
        - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
          network endpoint is used for health checking. For other backends, the port or
          named port specified in the Backend Service is used for health checking.'
        - If not specified, gRPC health check follows behavior specified in `port` and
          `portName` fields.
        - 'Some valid choices include: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"'
        required: false
        type: str
    type: dict

healthy_threshold:
    default: '2'
    description:
    - A so-far unhealthy instance will be marked healthy after this many consecutive successes.
      The default value is 2.
    required: false
    type: int

http_health_check:
    description:
    - A nested object resource.
    required: false
    suboptions:
      host:
        description:
        - The value of the host header in the HTTP health check request.
        - If left empty (default value), the public IP on behalf of which this health
          check is performed will be used.
        required: false
        type: str
      port:
        description:
        - The TCP port number for the HTTP health check request.
        - The default value is 80.
        required: false
        type: int
      port_name:
        description:
        - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
          are defined, port takes precedence.
        required: false
        type: str
      port_specification:
        description:
        - 'Specifies how port is selected for health checking, can be one of the following
          values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
        - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
        - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
          network endpoint is used for health checking. For other backends, the port or
          named port specified in the Backend Service is used for health checking.'
        - If not specified, HTTP health check follows behavior specified in `port` and
          `portName` fields.
        - 'Some valid choices include: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"'
        required: false
        type: str
      proxy_header:
        default: NONE
        description:
        - Specifies the type of proxy header to append before sending data to the backend.
        - 'Some valid choices include: "NONE", "PROXY_V1"'
        required: false
        type: str
      request_path:
        default: /
        description:
        - The request path of the HTTP health check request.
        - The default value is /.
        required: false
        type: str
      response:
        description:
        - The bytes to match against the beginning of the response data. If left empty
          (the default value), any response will indicate health. The response data can
          only be ASCII.
        required: false
        type: str
    type: dict

check_interval_sec:
    default: '5'
    description:
    - How often (in seconds) to send a health check. The default value is 5 seconds.
    required: false
    type: int

http2_health_check:
    description:
    - A nested object resource.
    required: false
    suboptions:
      host:
        description:
        - The value of the host header in the HTTP2 health check request.
        - If left empty (default value), the public IP on behalf of which this health
          check is performed will be used.
        required: false
        type: str
      port:
        description:
        - The TCP port number for the HTTP2 health check request.
        - The default value is 443.
        required: false
        type: int
      port_name:
        description:
        - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
          are defined, port takes precedence.
        required: false
        type: str
      port_specification:
        description:
        - 'Specifies how port is selected for health checking, can be one of the following
          values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
        - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
        - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
          network endpoint is used for health checking. For other backends, the port or
          named port specified in the Backend Service is used for health checking.'
        - If not specified, HTTP2 health check follows behavior specified in `port` and
          `portName` fields.
        - 'Some valid choices include: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"'
        required: false
        type: str
      proxy_header:
        default: NONE
        description:
        - Specifies the type of proxy header to append before sending data to the backend.
        - 'Some valid choices include: "NONE", "PROXY_V1"'
        required: false
        type: str
      request_path:
        default: /
        description:
        - The request path of the HTTP2 health check request.
        - The default value is /.
        required: false
        type: str
      response:
        description:
        - The bytes to match against the beginning of the response data. If left empty
          (the default value), any response will indicate health. The response data can
          only be ASCII.
        required: false
        type: str
    type: dict

https_health_check:
    description:
    - A nested object resource.
    required: false
    suboptions:
      host:
        description:
        - The value of the host header in the HTTPS health check request.
        - If left empty (default value), the public IP on behalf of which this health
          check is performed will be used.
        required: false
        type: str
      port:
        description:
        - The TCP port number for the HTTPS health check request.
        - The default value is 443.
        required: false
        type: int
      port_name:
        description:
        - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
          are defined, port takes precedence.
        required: false
        type: str
      port_specification:
        description:
        - 'Specifies how port is selected for health checking, can be one of the following
          values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
        - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
        - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
          network endpoint is used for health checking. For other backends, the port or
          named port specified in the Backend Service is used for health checking.'
        - If not specified, HTTPS health check follows behavior specified in `port` and
          `portName` fields.
        - 'Some valid choices include: "USE_FIXED_PORT", "USE_NAMED_PORT", "USE_SERVING_PORT"'
        required: false
        type: str
      proxy_header:
        default: NONE
        description:
        - Specifies the type of proxy header to append before sending data to the backend.
        - 'Some valid choices include: "NONE", "PROXY_V1"'
        required: false
        type: str
      request_path:
        default: /
        description:
        - The request path of the HTTPS health check request.
        - The default value is /.
        required: false
        type: str
      response:
        description:
        - The bytes to match against the beginning of the response data. If left empty
          (the default value), any response will indicate health. The response data can
          only be ASCII.
        required: false
        type: str
    type: dict

unhealthy_threshold:
    default: '2'
    description:
    - A so-far healthy instance will be marked unhealthy after this many consecutive failures.
      The default value is 2.
    required: false
    type: int

service_account_file:
    description:
    - The path of a Service Account JSON file if serviceaccount is selected as type.
    type: path

service_account_email:
    description:
    - An optional service account email address if machineaccount is selected and the
      user does not wish to use the default email.
    type: str

service_account_contents:
    description:
    - The contents of a Service Account JSON file, either in a dictionary or as a JSON
      string that represents it.
    type: jsonarg

Outputs

checkIntervalSec:
  description:
  - How often (in seconds) to send a health check. The default value is 5 seconds.
  returned: success
  type: int
creationTimestamp:
  description:
  - Creation timestamp in RFC3339 text format.
  returned: success
  type: str
description:
  description:
  - An optional description of this resource. Provide this property when you create
    the resource.
  returned: success
  type: str
grpcHealthCheck:
  contains:
    grpcServiceName:
      description:
      - The gRPC service name for the health check.
      - 'The value of grpcServiceName has the following meanings by convention: *
        Empty serviceName means the overall status of all services at the backend.'
      - '* Non-empty serviceName means the health of that gRPC service, as defined
        by the owner of the service.'
      - The grpcServiceName can only be ASCII.
      returned: success
      type: str
    port:
      description:
      - The port number for the health check request.
      - Must be specified if portName and portSpecification are not set or if port_specification
        is USE_FIXED_PORT. Valid values are 1 through 65535.
      returned: success
      type: int
    portName:
      description:
      - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
        are defined, port takes precedence.
      returned: success
      type: str
    portSpecification:
      description:
      - 'Specifies how port is selected for health checking, can be one of the following
        values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
      - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
      - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
        network endpoint is used for health checking. For other backends, the port
        or named port specified in the Backend Service is used for health checking.'
      - If not specified, gRPC health check follows behavior specified in `port` and
        `portName` fields.
      returned: success
      type: str
  description:
  - A nested object resource.
  returned: success
  type: complex
healthyThreshold:
  description:
  - A so-far unhealthy instance will be marked healthy after this many consecutive
    successes. The default value is 2.
  returned: success
  type: int
http2HealthCheck:
  contains:
    host:
      description:
      - The value of the host header in the HTTP2 health check request.
      - If left empty (default value), the public IP on behalf of which this health
        check is performed will be used.
      returned: success
      type: str
    port:
      description:
      - The TCP port number for the HTTP2 health check request.
      - The default value is 443.
      returned: success
      type: int
    portName:
      description:
      - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
        are defined, port takes precedence.
      returned: success
      type: str
    portSpecification:
      description:
      - 'Specifies how port is selected for health checking, can be one of the following
        values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
      - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
      - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
        network endpoint is used for health checking. For other backends, the port
        or named port specified in the Backend Service is used for health checking.'
      - If not specified, HTTP2 health check follows behavior specified in `port`
        and `portName` fields.
      returned: success
      type: str
    proxyHeader:
      description:
      - Specifies the type of proxy header to append before sending data to the backend.
      returned: success
      type: str
    requestPath:
      description:
      - The request path of the HTTP2 health check request.
      - The default value is /.
      returned: success
      type: str
    response:
      description:
      - The bytes to match against the beginning of the response data. If left empty
        (the default value), any response will indicate health. The response data
        can only be ASCII.
      returned: success
      type: str
  description:
  - A nested object resource.
  returned: success
  type: complex
httpHealthCheck:
  contains:
    host:
      description:
      - The value of the host header in the HTTP health check request.
      - If left empty (default value), the public IP on behalf of which this health
        check is performed will be used.
      returned: success
      type: str
    port:
      description:
      - The TCP port number for the HTTP health check request.
      - The default value is 80.
      returned: success
      type: int
    portName:
      description:
      - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
        are defined, port takes precedence.
      returned: success
      type: str
    portSpecification:
      description:
      - 'Specifies how port is selected for health checking, can be one of the following
        values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
      - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
      - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
        network endpoint is used for health checking. For other backends, the port
        or named port specified in the Backend Service is used for health checking.'
      - If not specified, HTTP health check follows behavior specified in `port` and
        `portName` fields.
      returned: success
      type: str
    proxyHeader:
      description:
      - Specifies the type of proxy header to append before sending data to the backend.
      returned: success
      type: str
    requestPath:
      description:
      - The request path of the HTTP health check request.
      - The default value is /.
      returned: success
      type: str
    response:
      description:
      - The bytes to match against the beginning of the response data. If left empty
        (the default value), any response will indicate health. The response data
        can only be ASCII.
      returned: success
      type: str
  description:
  - A nested object resource.
  returned: success
  type: complex
httpsHealthCheck:
  contains:
    host:
      description:
      - The value of the host header in the HTTPS health check request.
      - If left empty (default value), the public IP on behalf of which this health
        check is performed will be used.
      returned: success
      type: str
    port:
      description:
      - The TCP port number for the HTTPS health check request.
      - The default value is 443.
      returned: success
      type: int
    portName:
      description:
      - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
        are defined, port takes precedence.
      returned: success
      type: str
    portSpecification:
      description:
      - 'Specifies how port is selected for health checking, can be one of the following
        values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
      - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
      - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
        network endpoint is used for health checking. For other backends, the port
        or named port specified in the Backend Service is used for health checking.'
      - If not specified, HTTPS health check follows behavior specified in `port`
        and `portName` fields.
      returned: success
      type: str
    proxyHeader:
      description:
      - Specifies the type of proxy header to append before sending data to the backend.
      returned: success
      type: str
    requestPath:
      description:
      - The request path of the HTTPS health check request.
      - The default value is /.
      returned: success
      type: str
    response:
      description:
      - The bytes to match against the beginning of the response data. If left empty
        (the default value), any response will indicate health. The response data
        can only be ASCII.
      returned: success
      type: str
  description:
  - A nested object resource.
  returned: success
  type: complex
id:
  description:
  - The unique identifier for the resource. This identifier is defined by the server.
  returned: success
  type: int
logConfig:
  contains:
    enable:
      description:
      - Indicates whether or not to export logs. This is false by default, which means
        no health check logging will be done.
      returned: success
      type: bool
  description:
  - Configure logging on this health check.
  returned: success
  type: complex
name:
  description:
  - Name of the resource. Provided by the client when the resource is created. The
    name must be 1-63 characters long, and comply with RFC1035. Specifically, the
    name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?`
    which means the first character must be a lowercase letter, and all following
    characters must be a dash, lowercase letter, or digit, except the last character,
    which cannot be a dash.
  returned: success
  type: str
region:
  description:
  - The region where the regional health check resides.
  returned: success
  type: str
sslHealthCheck:
  contains:
    port:
      description:
      - The TCP port number for the SSL health check request.
      - The default value is 443.
      returned: success
      type: int
    portName:
      description:
      - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
        are defined, port takes precedence.
      returned: success
      type: str
    portSpecification:
      description:
      - 'Specifies how port is selected for health checking, can be one of the following
        values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
      - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
      - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
        network endpoint is used for health checking. For other backends, the port
        or named port specified in the Backend Service is used for health checking.'
      - If not specified, SSL health check follows behavior specified in `port` and
        `portName` fields.
      returned: success
      type: str
    proxyHeader:
      description:
      - Specifies the type of proxy header to append before sending data to the backend.
      returned: success
      type: str
    request:
      description:
      - The application data to send once the SSL connection has been established
        (default value is empty). If both request and response are empty, the connection
        establishment alone will indicate health. The request data can only be ASCII.
      returned: success
      type: str
    response:
      description:
      - The bytes to match against the beginning of the response data. If left empty
        (the default value), any response will indicate health. The response data
        can only be ASCII.
      returned: success
      type: str
  description:
  - A nested object resource.
  returned: success
  type: complex
tcpHealthCheck:
  contains:
    port:
      description:
      - The TCP port number for the TCP health check request.
      - The default value is 80.
      returned: success
      type: int
    portName:
      description:
      - Port name as defined in InstanceGroup#NamedPort#name. If both port and port_name
        are defined, port takes precedence.
      returned: success
      type: str
    portSpecification:
      description:
      - 'Specifies how port is selected for health checking, can be one of the following
        values: * `USE_FIXED_PORT`: The port number in `port` is used for health checking.'
      - '* `USE_NAMED_PORT`: The `portName` is used for health checking.'
      - '* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
        network endpoint is used for health checking. For other backends, the port
        or named port specified in the Backend Service is used for health checking.'
      - If not specified, TCP health check follows behavior specified in `port` and
        `portName` fields.
      returned: success
      type: str
    proxyHeader:
      description:
      - Specifies the type of proxy header to append before sending data to the backend.
      returned: success
      type: str
    request:
      description:
      - The application data to send once the TCP connection has been established
        (default value is empty). If both request and response are empty, the connection
        establishment alone will indicate health. The request data can only be ASCII.
      returned: success
      type: str
    response:
      description:
      - The bytes to match against the beginning of the response data. If left empty
        (the default value), any response will indicate health. The response data
        can only be ASCII.
      returned: success
      type: str
  description:
  - A nested object resource.
  returned: success
  type: complex
timeoutSec:
  description:
  - How long (in seconds) to wait before claiming failure.
  - The default value is 5 seconds. It is invalid for timeoutSec to have greater value
    than checkIntervalSec.
  returned: success
  type: int
type:
  description:
  - Specifies the type of the healthCheck, either TCP, SSL, HTTP or HTTPS. If not
    specified, the default is TCP. Exactly one of the protocol-specific health check
    field must be specified, which must match type field.
  returned: success
  type: str
unhealthyThreshold:
  description:
  - A so-far healthy instance will be marked unhealthy after this many consecutive
    failures. The default value is 2.
  returned: success
  type: int