delowan.googlecloud.gcp_resourcemanager_project (1.0.2) — module

Creates a GCP Project

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

Represents a GCP Project. A project is a container for ACLs, APIs, App Engine Apps, VMs, and other Google Cloud Platform resources.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a project
  google.cloud.gcp_resourcemanager_project:
    name: My Sample Project
    id: alextest-{{ 10000000000 | random }}
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    parent:
      type: organization
      id: 636173955921
    state: present

Inputs

    
id:
    description:
    - The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters,
      digits, or hyphens. It must start with a letter.
    - Trailing hyphens are prohibited.
    required: true
    type: str

name:
    description:
    - 'The user-assigned display name of the Project. It must be 4 to 30 characters. Allowed
      characters are: lowercase and uppercase letters, numbers, hyphen, single-quote,
      double-quote, space, and exclamation point.'
    required: false
    type: str

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

labels:
    description:
    - The labels associated with this Project.
    - 'Label keys must be between 1 and 63 characters long and must conform to the following
      regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.'
    - Label values must be between 0 and 63 characters long and must conform to the regular
      expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
    - No more than 256 labels can be associated with a given resource.
    - Clients should store labels in a representation such as JSON that does not depend
      on specific characters being disallowed .
    required: false
    type: dict

parent:
    description:
    - A parent organization.
    required: false
    suboptions:
      id:
        description:
        - Id of the organization.
        required: false
        type: str
      type:
        description:
        - Must be organization.
        required: false
        type: str
    type: dict

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

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

createTime:
  description:
  - Time of creation.
  returned: success
  type: str
id:
  description:
  - The unique, user-assigned ID of the Project. It must be 6 to 30 lowercase letters,
    digits, or hyphens. It must start with a letter.
  - Trailing hyphens are prohibited.
  returned: success
  type: str
labels:
  description:
  - The labels associated with this Project.
  - 'Label keys must be between 1 and 63 characters long and must conform to the following
    regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`.'
  - Label values must be between 0 and 63 characters long and must conform to the
    regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`.
  - No more than 256 labels can be associated with a given resource.
  - Clients should store labels in a representation such as JSON that does not depend
    on specific characters being disallowed .
  returned: success
  type: dict
lifecycleState:
  description:
  - The Project lifecycle state.
  returned: success
  type: str
name:
  description:
  - 'The user-assigned display name of the Project. It must be 4 to 30 characters.
    Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote,
    double-quote, space, and exclamation point.'
  returned: success
  type: str
number:
  description:
  - Number uniquely identifying the project.
  returned: success
  type: int
parent:
  contains:
    id:
      description:
      - Id of the organization.
      returned: success
      type: str
    type:
      description:
      - Must be organization.
      returned: success
      type: str
  description:
  - A parent organization.
  returned: success
  type: complex