esp.terraform.tfe_team (0.1.0) — module

Create, update, and destroy teams

| "added in version" 0.1.0 of esp.terraform"

Authors: Krzysztof Lewandowski (@klewan)

Install collection

Install with ansible-galaxy collection install esp.terraform:==0.1.0


Add to requirements.yml

  collections:
    - name: esp.terraform
      version: 0.1.0

Description

Creates, edits or destroys Terraform teams, as well as manages a team's organization-level permissions.

A team may be referred either by its id or its name.

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Create a Team
  esp.terraform.tfe_team:
    url: 'https://terraform.example.com'
    token: '{{ token }}'
    organization: foo    
    attributes:
      "name": developers
      "organization-access":
        "manage-workspaces": true
        "manage-vcs-settings": true
    state: present
    validate_certs: no
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Edit a Team
  esp.terraform.tfe_team:
    url: 'https://terraform.example.com'
    token: '{{ token }}'
    organization: foo
    team: developers  
    attributes:
      "name": new-name
      "organization-access":
        "manage-workspaces": true
        "manage-vcs-settings": true
    state: present
    validate_certs: no
  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: Remove a Team
  esp.terraform.tfe_team:
    url: 'https://terraform.example.com'
    token: '{{ token }}'
    organization: foo
    team: developers
    state: absent
    validate_certs: no

Inputs

    
url:
    description:
    - Terraform Enterprise URL.
    required: false
    type: str

team:
    description:
    - Team to edit or remove.
    - The team may be referred either by its id or its name.
    required: false
    type: str

sleep:
    default: 5
    description:
    - Number of seconds to sleep between API retries.
    type: int

state:
    choices:
    - absent
    - present
    default: present
    description:
    - Whether the team should exist or not.
    required: true
    type: str

token:
    description:
    - All requests to Terraform Enterprise must be authenticated with a bearer token.
    - There are three kinds of token available, i.e. user tokens, team tokens and organization
      tokens.
    - See L(Authentication,https://www.terraform.io/docs/cloud/api/index.html#authentication).
    required: true
    type: str

retries:
    default: 3
    description:
    - Number of retries to call Terraform API URL before failure.
    type: int

use_proxy:
    default: true
    description:
    - If C(no), it will not use a proxy, even if one is defined in an environment variable
      on the target hosts.
    type: bool

attributes:
    description:
    - Definition of the attributes for the team.
    - Required when C(state=present).
    required: false
    suboptions:
      name:
        description:
        - Name of the team.
        - This will be used as an identifier and must be unique in the organization.
        required: true
        type: str
      organization-access:
        description:
        - Settings for the team's organization access.
        required: false
        suboptions:
          manage-policies:
            default: false
            description:
            - manage-policies.
            required: false
            type: bool
          manage-policy-overrides:
            default: false
            description:
            - manage-policy-overrides.
            required: false
            type: bool
          manage-vcs-settings:
            default: false
            description:
            - manage-vcs-settings.
            required: false
            type: bool
          manage-workspaces:
            default: false
            description:
            - manage-workspaces.
            required: false
            type: bool
        type: dict
      visibility:
        choices:
        - secret
        - organization
        default: secret
        description:
        - The team's visibility.
        - Must be "secret" or "organization" (visible).
        type: str
    type: dict

organization:
    description:
    - Organization name.
    required: true
    type: str

validate_certs:
    default: true
    description:
    - If C(no), SSL certificates will not be validated.
    - This should only set to C(no) used on personally controlled sites using self-signed
      certificates.
    type: bool

Outputs

json:
  contains:
    data:
      description: Details on the team.
      returned: success
      sample:
        attributes:
          name: developers
          organization-access:
            manage-policies: false
            manage-vcs-settings: true
            manage-workspaces: true
          permissions:
            can-destroy: true
            can-update-api-token: true
            can-update-membership: true
            can-update-organization-access: true
            can-update-visibility: true
          users-count: 0
          visibility: secret
        id: team-EMyKbSwR3FbgpDop
        links:
          self: /api/v2/teams/team-EMyKbSwR3FbgpDop
        relationships:
          authentication-token:
            meta: {}
          organization:
            data:
              id: esp-api-test
              type: organizations
          organization-memberships:
            data: []
          users:
            data: []
        type: teams
      type: dict
  description: Details on the team.
  returned: success
  type: dict