sensu.sensu_go.entity (1.14.0) — module

Manage Sensu entities

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

Authors: Paul Arthur (@flowerysong), Aljaz Kosir (@aljazkosir), Miha Plesko (@miha-plesko), 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

Create, update or delete Sensu entity.

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


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create an entity
  sensu.sensu_go.entity:
    auth:
      url: http://localhost:8080
    name: entity
    entity_class: proxy
    subscriptions:
      - web
      - prod
    system:
      hostname: playbook-entity
      os: linux
      platform: ubutntu
      network:
        interfaces:
          - name: lo
            addresses:
              - 127.0.0.1/8
              - ::1/128
          - name: eth0
            mac: 52:54:00:20:1b:3c
            addresses:
              - 93.184.216.34/24
    last_seen: 1522798317
    deregister: yes
    deregistration_handler: email-handler
    redact:
      - password
      - pass
      - api_key
    user: agent
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete an entity
  sensu.sensu_go.entity:
    name: entity
    state: absent

Inputs

    
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

user:
    description:
    - Sensu RBAC username used by the entity. Agent entities require get, list, create,
      update, and delete permissions for events across all namespaces.
    type: str

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

labels:
    default: {}
    description:
    - Custom metadata fields that can be accessed within Sensu, as key/value pairs.
    type: dict

redact:
    description:
    - List of items to redact from log messages. If a value is provided, it overwrites
      the default list of items to be redacted.
    elements: str
    type: list

system:
    description:
    - System information about the entity, such as operating system and platform. See
      U(https://docs.sensu.io/sensu-go/5.13/reference/entities/#system-attributes) for
      more information.
    type: dict

last_seen:
    description:
    - Timestamp the entity was last seen, in seconds since the Unix epoch.
    type: int

namespace:
    default: default
    description:
    - RBAC namespace to operate in. If this is not set the value of the SENSU_NAMESPACE
      environment variable will be used.
    type: str

deregister:
    description:
    - If the entity should be removed when it stops sending keepalive messages.
    type: bool

annotations:
    default: {}
    description:
    - Custom metadata fields with fewer restrictions, as key/value pairs.
    - These are preserved by Sensu but not accessible as tokens or identifiers, and are
      mainly intended for use with external tools.
    type: dict

entity_class:
    description:
    - Entity class. Standard classes are C(proxy) and C(agent), but you can use whatever
      you want.
    - Required if I(state) is C(present).
    type: str

subscriptions:
    description:
    - List of subscriptions for the entity.
    elements: str
    type: list

deregistration_handler:
    description:
    - The name of the handler to be called when an entity is deregistered.
    type: str

Outputs

object:
  description: Object representing Sensu entity.
  returned: success
  sample:
    deregister: false
    deregistration: {}
    entity_class: agent
    last_seen: 1542667231
    metadata:
      annotations: null
      labels: null
      name: webserver01
      namespace: default
    redact:
    - password
    - private_key
    - secret
    sensu_agent_version: 1.0.0
    subscriptions:
    - entity:webserver01
    system:
      arch: amd64
      cloud_provider: null
      libc_type: glibc
      network:
        interfaces:
        - addresses:
          - 127.0.0.1/8
          - ::1/128
          name: lo
        - addresses:
          - 172.28.128.3/24
          - fe80::a00:27ff:febc:be60/64
          mac: 08:00:27:bc:be:60
          name: enp0s8
      os: linux
      platform: centos
      platform_family: rhel
      platform_version: 7.4.1708
      vm_role: host
      vm_system: kvm
    user: agent
  type: dict

See also