sensu.sensu_go.pipeline (1.14.0) — module

Manage Sensu pipeline

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

Authors: Domen Dobnikar (@domen_dobnikar)

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 a Sensu pipeline.

For more information, refer to the Sensu documentation at U(https://docs.sensu.io/sensu-go/latest/observability-pipeline/observe-process/pipelines/).

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a pipeline
  sensu.sensu_go.pipeline:
    name: this_pipeline
    workflows:
      - name: this-wf
        handler:
          name: this_handler
          type: tcp_stream_handler
        filters:
          - name: this_filter
          - name: this_filter_2
        mutator:
          name: this_mutator
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Delete pipeline
  sensu.sensu_go.pipeline:
    name: this_pipeline
    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

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

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

workflows:
    description:
    - Array of workflows (by names) to use when filtering, mutating, and handling observability
      events with a pipeline.
    elements: dict
    suboptions:
      filters:
        description:
        - Reference for the Sensu event filters to use when filtering events for the pipeline.
        - Each pipeline workflow can reference more than one event filter.
        - If a workflow has more than one filter, Sensu applies the filters in a series,
          starting with the filter that is listed first.
        elements: dict
        suboptions:
          name:
            description:
            - Name of the Sensu event filter to use for the workflow.
            - You can use the built-in event filters, as well as your existing event filters,
              in pipeline workflows.
            required: true
            type: str
          type:
            choices:
            - event_filter
            default: event_filter
            description:
            - The sensuctl create resource type for the event filter.
            - Event filters should always be type EventFilter.
            type: str
        type: list
      handler:
        description:
        - Reference for the Sensu handler to use for event processing in the workflow.
        - Each pipeline workflow must reference one handler.
        - Pipelines ignore any filters and mutators specified in handler definitions.
        required: true
        suboptions:
          name:
            description:
            - Name of the Sensu handler to use for the workflow.
            - You can use your existing handlers in pipeline workflows.
            - Pipelines ignore any filters and mutators specified in handler definitions.
            required: true
            type: str
          type:
            choices:
            - handler
            - tcp_stream_handler
            - sumo_logic_metrics_handler
            description:
            - The sensuctl create resource type for the handler.
            required: true
            type: str
        type: dict
      mutator:
        description:
        - Reference for the Sensu mutator to use to mutate event data for the workflow.
        - Each pipeline workflow can reference only one mutator.
        suboptions:
          name:
            description:
            - Name of the Sensu mutator to use for the workflow.
            - You can use your existing mutators in pipeline workflows.
            required: true
            type: str
          type:
            choices:
            - mutator
            default: mutator
            description:
            - The sensuctl create resource type for the mutator.
            - Mutators should always be type Mutator.
            type: str
        type: dict
      name:
        description:
        - Name of the Sensu pipeline workflow.
        required: true
        type: str
    type: list

Outputs

object:
  description: Object representing Sensu pipeline.
  returned: success
  sample:
    metadata:
      created_by: admin
      name: this_pipeline
      namespace: default
    workflows:
    - filters:
      - api_version: core/v2
        name: this_filter
        type: EventFilter
      - api_version: core/v2
        name: this_filter_2
        type: EventFilter
      handler:
        api_version: pipeline/v1
        name: this_handler
        type: TCPStreamHandler
      mutator:
        api_version: core/v2
        name: this_mutator
        type: Mutator
      name: this-wf
  type: dict

See also