delowan.googlecloud.gcp_pubsub_topic (1.0.2) — module

Creates a GCP Topic

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

A named resource to which messages are sent by publishers.


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a topic
  google.cloud.gcp_pubsub_topic:
    name: test-topic1
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

Inputs

    
name:
    description:
    - Name of the topic.
    required: true
    type: str

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

labels:
    description:
    - A set of key/value label pairs to assign to this Topic.
    required: false
    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

kms_key_name:
    description:
    - The resource name of the Cloud KMS CryptoKey to be used to protect access to messages
      published on this topic. Your project's PubSub service account (`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`)
      must have `roles/cloudkms.cryptoKeyEncrypterDecrypter` to use this feature.
    - The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*` .
    required: false
    type: str

schema_settings:
    description:
    - Settings for validating messages published against a schema.
    required: false
    suboptions:
      encoding:
        default: ENCODING_UNSPECIFIED
        description:
        - The encoding of messages validated against schema.
        - 'Some valid choices include: "ENCODING_UNSPECIFIED", "JSON", "BINARY"'
        required: false
        type: str
      schema:
        description:
        - The name of the schema that messages published should be validated against.
          Format is projects/{project}/schemas/{schema}.
        - The value of this field will be _deleted-schema_ if the schema has been deleted.
        required: true
        type: str
    type: dict

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

message_storage_policy:
    description:
    - Policy constraining the set of Google Cloud Platform regions where messages published
      to the topic may be stored. If not present, then no constraints are in effect.
    required: false
    suboptions:
      allowed_persistence_regions:
        description:
        - A list of IDs of GCP regions where messages that are published to the topic
          may be persisted in storage. Messages published by publishers running in non-allowed
          GCP regions (or running outside of GCP altogether) will be routed for storage
          in one of the allowed regions. An empty list means that no regions are allowed,
          and is not a valid configuration.
        elements: str
        required: true
        type: list
    type: dict

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

kmsKeyName:
  description:
  - The resource name of the Cloud KMS CryptoKey to be used to protect access to messages
    published on this topic. Your project's PubSub service account (`service-{{PROJECT_NUMBER}}@gcp-sa-pubsub.iam.gserviceaccount.com`)
    must have `roles/cloudkms.cryptoKeyEncrypterDecrypter` to use this feature.
  - The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*` .
  returned: success
  type: str
labels:
  description:
  - A set of key/value label pairs to assign to this Topic.
  returned: success
  type: dict
messageStoragePolicy:
  contains:
    allowedPersistenceRegions:
      description:
      - A list of IDs of GCP regions where messages that are published to the topic
        may be persisted in storage. Messages published by publishers running in non-allowed
        GCP regions (or running outside of GCP altogether) will be routed for storage
        in one of the allowed regions. An empty list means that no regions are allowed,
        and is not a valid configuration.
      returned: success
      type: list
  description:
  - Policy constraining the set of Google Cloud Platform regions where messages published
    to the topic may be stored. If not present, then no constraints are in effect.
  returned: success
  type: complex
name:
  description:
  - Name of the topic.
  returned: success
  type: str
schemaSettings:
  contains:
    encoding:
      description:
      - The encoding of messages validated against schema.
      returned: success
      type: str
    schema:
      description:
      - The name of the schema that messages published should be validated against.
        Format is projects/{project}/schemas/{schema}.
      - The value of this field will be _deleted-schema_ if the schema has been deleted.
      returned: success
      type: str
  description:
  - Settings for validating messages published against a schema.
  returned: success
  type: complex