sensu.sensu_go.datastore (1.14.0) — module

Manage Sensu external datastore providers

| "added in version" 1.1.0 of sensu.sensu_go"

Authors: Manca Bizjak (@mancabizjak), Tadej Borovsak (@tadeboro)

stableinterface | supported by certified

Install collection

Install with ansible-galaxy collection install sensu.sensu_go:==1.14.0


Add to requirements.yml

  collections:
    - name: sensu.sensu_go
      version: 1.14.0

Description

Add or remove external datastore provider.

For more information, refer to the Sensu documentation at U(https://docs.sensu.io/sensu-go/latest/reference/datastore/).


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add external datastore
  sensu.sensu_go.datastore:
    name: my-postgres
    dsn: postgresql://user:secret@host:port/dbname
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Remove external datastore
  sensu.sensu_go.datastore:
    name: my-postgres
    state: absent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Add external datastore with pool_size and max_conn_lifetime specified
  sensu.sensu_go.datastore:
    name: my-postgres
    dsn: postgresql://user:secret@host:port/dbname
    pool_size: 1
    max_conn_lifetime: "5m30s"

Inputs

    
dsn:
    description:
    - Attribute that specifies the data source names as a URL or PostgreSQL connection
      string. See the PostgreSQL docs for more information about connection strings.
    type: str

auth:
    description:
    - Authentication parameters. Can define each of them with ENV as well.
    suboptions:
      api_key:
        description:
        - The API key that should be used when authenticating. If this is not set, the
          value of the SENSU_API_KEY environment variable will be checked.
        - This replaces I(auth.user) and I(auth.password) parameters.
        - For more information about the API key, refer to the official Sensu documentation
          at U(https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/).
        type: str
        version_added: 1.3.0
        version_added_collection: sensu.sensu_go
      ca_path:
        description:
        - Path to the CA bundle that should be used to validate the backend certificate.
        - If this parameter is not set, module will use the CA bundle that python is using.
        - It is also possible to set this parameter via the I(SENSU_CA_PATH) environment
          variable.
        type: path
        version_added: 1.5.0
        version_added_collection: sensu.sensu_go
      password:
        default: P@ssw0rd!
        description:
        - The Sensu user's password. If this is not set the value of the SENSU_PASSWORD
          environment variable will be checked.
        - This parameter is ignored if the I(auth.api_key) parameter is set.
        type: str
      url:
        default: http://localhost:8080
        description:
        - Location of the Sensu backend API. If this is not set the value of the SENSU_URL
          environment variable will be checked.
        type: str
      user:
        default: admin
        description:
        - The username to use for connecting to the Sensu API. If this is not set the
          value of the SENSU_USER environment variable will be checked.
        - This parameter is ignored if the I(auth.api_key) parameter is set.
        type: str
      verify:
        default: true
        description:
        - Flag that controls the certificate validation.
        - If you are using self-signed certificates, you can set this parameter to C(false).
        - ONLY USE THIS PARAMETER IN DEVELOPMENT SCENARIOS! In you use self-signed certificates
          in production, see the I(auth.ca_path) parameter.
        - It is also possible to set this parameter via the I(SENSU_VERIFY) environment
          variable.
        type: bool
        version_added: 1.5.0
        version_added_collection: sensu.sensu_go
    type: dict

name:
    description:
    - The Sensu resource's name. This name (in combination with the namespace where applicable)
      uniquely identifies the resource that Ansible operates on.
    - If the resource with selected name already exists, Ansible module will update it
      to match the specification in the task.
    - Consult the I(name) metadata attribute specification in the upstream docs on U(https://docs.sensu.io/sensu-go/latest/reference/)
      for more details about valid names and other restrictions.
    required: true
    type: str

state:
    choices:
    - present
    - absent
    default: present
    description:
    - Target state of the Sensu object.
    type: str

strict:
    default: false
    description:
    - When the PostgresConfig resource is created, configuration validation will include
      connecting to the PostgreSQL database and executing a query to confirm whether the
      connected user has permission to create database tables.
    - Sensu-backend will try to connect to PostgreSQL indefinitely at 5-second intervals
      instead of reverting to etcd after 3 attempts.
    - We recommend setting strict to true in most cases. If the connection fails or the
      user does not have permission to create database tables, resource configuration
      will fail and the configuration will not be persisted. This extended configuration
      is useful for debugging when you are not sure whether the configuration is correct
      or the database is working properly.
    type: bool

pool_size:
    description:
    - The maximum number of connections to hold in the PostgreSQL connection pool.
    type: int

batch_size:
    default: 1
    description:
    - Number of requests in each PostgreSQL write transaction, as specified in the PostgreSQL
      configuration.
    type: int

batch_buffer:
    default: 0
    description:
    - Maximum number of requests to buffer in memory.
    type: int

batch_workers:
    description:
    - Number of Goroutines sending data to PostgreSQL, as specified in the PostgreSQL
      configuration.
    - Set to current PostgreSQL pool size as default.
    type: int

max_idle_conns:
    default: 2
    description:
    - Maximum number of number of idle connections to retain.
    type: int

max_conn_lifetime:
    description:
    - Maximum time a connection can persist before being destroyed.
    type: str

enable_round_robin:
    default: false
    description:
    - Enables round robin scheduling on PostgreSQL.
    - Any existing round robin scheduling will stop and migrate to PostgreSQL as entities
      check in with keepalives.
    - Sensu will gradually delete the existing etcd scheduler state as keepalives on the
      etcd scheduler keys expire over time.
    type: bool

Outputs

object:
  description: Object representing external datastore provider.
  returned: success
  sample:
    batch_buffer: 0
    batch_size: 1
    batch_workers: 0
    dsn: postgresql://user:secret@host:port/dbname
    enable_round_robin: true
    max_conn_lifetime: 5m
    max_idle_conns: 2
    metadata:
      name: my-postgres
    pool_size: 20
    strict: true
  type: dict

See also