mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-08-06 14:14:28 -07:00
Merge branch 'master' into master
This commit is contained in:
commit
71d0a78a7f
495 changed files with 9092 additions and 5939 deletions
|
@ -47,7 +47,7 @@ options:
|
|||
type: str
|
||||
notes:
|
||||
- for authentication, you can set service_account_file using the
|
||||
c(gcp_service_account_file) env variable.
|
||||
c(GCP_SERVICE_ACCOUNT_FILE) env variable.
|
||||
- for authentication, you can set service_account_contents using the
|
||||
c(GCP_SERVICE_ACCOUNT_CONTENTS) env variable.
|
||||
- For authentication, you can set service_account_email using the
|
||||
|
|
|
@ -13,6 +13,15 @@
|
|||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
author:
|
||||
- Eric Anderson <eric.sysmin@gmail.com>
|
||||
name: gcp_kms_filters
|
||||
short_description: Support auth tokens as a Filter plugin
|
||||
description:
|
||||
- Enables the 'accesstoken' authentication choice.
|
||||
'''
|
||||
|
||||
from ansible.errors import AnsibleError
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import GcpSession
|
||||
|
||||
|
@ -39,6 +48,7 @@ class GcpKmsFilter():
|
|||
'auth_kind': kwargs.get('auth_kind', None),
|
||||
'service_account_file': kwargs.get('service_account_file', None),
|
||||
'service_account_email': kwargs.get('service_account_email', None),
|
||||
'access_token': kwargs.get('access_token', None),
|
||||
}
|
||||
if not params['scopes']:
|
||||
params['scopes'] = ['https://www.googleapis.com/auth/cloudkms']
|
||||
|
|
|
@ -22,7 +22,7 @@ DOCUMENTATION = """
|
|||
plugin:
|
||||
description: token that ensures this is a source file for the 'gcp_compute' plugin.
|
||||
required: True
|
||||
choices: ['google.cloud.gcp_compute']
|
||||
choices: ['google.cloud.gcp_compute', 'gcp_compute']
|
||||
zones:
|
||||
description: A list of regions in which to describe GCE instances.
|
||||
If none provided, it defaults to all zones available to a given project.
|
||||
|
@ -39,7 +39,7 @@ DOCUMENTATION = """
|
|||
description: >
|
||||
A list of filter value pairs. Available filters are listed here
|
||||
U(https://cloud.google.com/compute/docs/reference/rest/v1/instances/aggregatedList).
|
||||
Each additional filter in the list will act be added as an AND condition
|
||||
Each additional filter in the list will be added as an AND condition
|
||||
(filter1 and filter2)
|
||||
type: list
|
||||
hostnames:
|
||||
|
@ -48,30 +48,31 @@ DOCUMENTATION = """
|
|||
'public_ip', 'private_ip', 'name' or 'labels.vm_name'.
|
||||
default: ['public_ip', 'private_ip', 'name']
|
||||
type: list
|
||||
name_suffix:
|
||||
description: Custom domain suffix. If set, this string will be appended to all hosts.
|
||||
default: ""
|
||||
type: string
|
||||
required: False
|
||||
auth_kind:
|
||||
description:
|
||||
- The type of credential used.
|
||||
required: True
|
||||
choices: ['application', 'serviceaccount', 'machineaccount']
|
||||
choices: ['application', 'serviceaccount', 'machineaccount', 'accesstoken']
|
||||
env:
|
||||
- name: GCP_AUTH_KIND
|
||||
version_added: "2.8.2"
|
||||
scopes:
|
||||
description: list of authentication scopes
|
||||
type: list
|
||||
default: ['https://www.googleapis.com/auth/compute']
|
||||
env:
|
||||
- name: GCP_SCOPES
|
||||
version_added: "2.8.2"
|
||||
service_account_file:
|
||||
description:
|
||||
- The path of a Service Account JSON file if serviceaccount is selected as type.
|
||||
type: path
|
||||
env:
|
||||
- name: GCP_SERVICE_ACCOUNT_FILE
|
||||
version_added: "2.8.2"
|
||||
- name: GCE_CREDENTIALS_FILE_PATH
|
||||
version_added: "2.8"
|
||||
service_account_contents:
|
||||
description:
|
||||
- A string representing the contents of a Service Account JSON file. This should not be passed in as a dictionary,
|
||||
|
@ -79,14 +80,17 @@ DOCUMENTATION = """
|
|||
type: string
|
||||
env:
|
||||
- name: GCP_SERVICE_ACCOUNT_CONTENTS
|
||||
version_added: "2.8.2"
|
||||
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.
|
||||
env:
|
||||
- name: GCP_SERVICE_ACCOUNT_EMAIL
|
||||
version_added: "2.8.2"
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
env:
|
||||
- name: GCP_ACCESS_TOKEN
|
||||
vars_prefix:
|
||||
description: prefix to apply to host variables, does not include facts nor params
|
||||
default: ''
|
||||
|
@ -100,7 +104,6 @@ DOCUMENTATION = """
|
|||
which group names end up being used as.
|
||||
type: bool
|
||||
default: False
|
||||
version_added: '2.8'
|
||||
retrieve_image_info:
|
||||
description:
|
||||
- Populate the C(image) host fact for the instances returned with the GCP image name
|
||||
|
@ -109,7 +112,6 @@ DOCUMENTATION = """
|
|||
- Unless this option is enabled, the C(image) host variable will be C(null)
|
||||
type: bool
|
||||
default: False
|
||||
version_added: '2.8'
|
||||
"""
|
||||
|
||||
EXAMPLES = """
|
||||
|
@ -120,8 +122,8 @@ projects:
|
|||
- gcp-prod-gke-100
|
||||
- gcp-cicd-101
|
||||
filters:
|
||||
- machineType = n1-standard-1
|
||||
- scheduling.automaticRestart = true AND machineType = n1-standard-1
|
||||
- status = RUNNING
|
||||
- scheduling.automaticRestart = true AND status = RUNNING
|
||||
service_account_file: /tmp/service_account.json
|
||||
auth_kind: serviceaccount
|
||||
scopes:
|
||||
|
@ -131,6 +133,7 @@ keyed_groups:
|
|||
# Create groups from GCE labels
|
||||
- prefix: gcp
|
||||
key: labels
|
||||
name_suffix: .example.com
|
||||
hostnames:
|
||||
# List host by name instead of the default public ip
|
||||
- name
|
||||
|
@ -164,9 +167,12 @@ class GcpMockModule(object):
|
|||
|
||||
|
||||
class GcpInstance(object):
|
||||
def __init__(self, json, hostname_ordering, project_disks, should_format=True):
|
||||
def __init__(
|
||||
self, json, hostname_ordering, project_disks, should_format=True, name_suffix=""
|
||||
):
|
||||
self.hostname_ordering = hostname_ordering
|
||||
self.project_disks = project_disks
|
||||
self.name_suffix = name_suffix
|
||||
self.json = json
|
||||
if should_format:
|
||||
self.convert()
|
||||
|
@ -203,8 +209,8 @@ class GcpInstance(object):
|
|||
|
||||
def _format_network_info(self, address):
|
||||
"""
|
||||
:param address: A GCP network address
|
||||
:return a dict with network shortname and region
|
||||
:param address: A GCP network address
|
||||
:return a dict with network shortname and region
|
||||
"""
|
||||
split = address.split("/")
|
||||
region = ""
|
||||
|
@ -216,8 +222,8 @@ class GcpInstance(object):
|
|||
|
||||
def _format_metadata(self, metadata):
|
||||
"""
|
||||
:param metadata: A list of dicts where each dict has keys "key" and "value"
|
||||
:return a dict with key/value pairs for each in list.
|
||||
:param metadata: A list of dicts where each dict has keys "key" and "value"
|
||||
:return a dict with key/value pairs for each in list.
|
||||
"""
|
||||
new_metadata = {}
|
||||
for pair in metadata:
|
||||
|
@ -226,7 +232,7 @@ class GcpInstance(object):
|
|||
|
||||
def hostname(self):
|
||||
"""
|
||||
:return the hostname of this instance
|
||||
:return the hostname of this instance
|
||||
"""
|
||||
for order in self.hostname_ordering:
|
||||
name = None
|
||||
|
@ -238,7 +244,7 @@ class GcpInstance(object):
|
|||
elif order == "private_ip":
|
||||
name = self._get_privateip()
|
||||
elif order == "name":
|
||||
name = self.json[u"name"]
|
||||
name = self.json["name"] + self.name_suffix
|
||||
else:
|
||||
raise AnsibleParserError("%s is not a valid hostname precedent" % order)
|
||||
|
||||
|
@ -249,20 +255,20 @@ class GcpInstance(object):
|
|||
|
||||
def _get_publicip(self):
|
||||
"""
|
||||
:return the publicIP of this instance or None
|
||||
:return the publicIP of this instance or None
|
||||
"""
|
||||
# Get public IP if exists
|
||||
for interface in self.json["networkInterfaces"]:
|
||||
if "accessConfigs" in interface:
|
||||
for accessConfig in interface["accessConfigs"]:
|
||||
if "natIP" in accessConfig:
|
||||
return accessConfig[u"natIP"]
|
||||
return accessConfig["natIP"]
|
||||
return None
|
||||
|
||||
def _get_image(self):
|
||||
"""
|
||||
:param instance: A instance response from GCP
|
||||
:return the image of this instance or None
|
||||
:param instance: A instance response from GCP
|
||||
:return the image of this instance or None
|
||||
"""
|
||||
image = None
|
||||
if self.project_disks and "disks" in self.json:
|
||||
|
@ -273,13 +279,13 @@ class GcpInstance(object):
|
|||
|
||||
def _get_privateip(self):
|
||||
"""
|
||||
:param item: A host response from GCP
|
||||
:return the privateIP of this instance or None
|
||||
:param item: A host response from GCP
|
||||
:return the privateIP of this instance or None
|
||||
"""
|
||||
# Fallback: Get private IP
|
||||
for interface in self.json[u"networkInterfaces"]:
|
||||
for interface in self.json["networkInterfaces"]:
|
||||
if "networkIP" in interface:
|
||||
return interface[u"networkIP"]
|
||||
return interface["networkIP"]
|
||||
|
||||
|
||||
class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||
|
@ -297,7 +303,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def _populate_host(self, item):
|
||||
"""
|
||||
:param item: A GCP instance
|
||||
:param item: A GCP instance
|
||||
"""
|
||||
hostname = item.hostname()
|
||||
self.inventory.add_host(hostname)
|
||||
|
@ -315,8 +321,8 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def verify_file(self, path):
|
||||
"""
|
||||
:param path: the path to the inventory config file
|
||||
:return the contents of the config file
|
||||
:param path: the path to the inventory config file
|
||||
:return the contents of the config file
|
||||
"""
|
||||
if super(InventoryModule, self).verify_file(path):
|
||||
if path.endswith(("gcp.yml", "gcp.yaml")):
|
||||
|
@ -327,10 +333,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def fetch_list(self, params, link, query):
|
||||
"""
|
||||
:param params: a dict containing all of the fields relevant to build URL
|
||||
:param link: a formatted URL
|
||||
:param query: a formatted query string
|
||||
:return the JSON response containing a list of instances.
|
||||
:param params: a dict containing all of the fields relevant to build URL
|
||||
:param link: a formatted URL
|
||||
:param query: a formatted query string
|
||||
:return the JSON response containing a list of instances.
|
||||
"""
|
||||
lists = []
|
||||
resp = self._return_if_object(
|
||||
|
@ -343,7 +349,10 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
self.fake_module,
|
||||
self.auth_session.get(
|
||||
link,
|
||||
params={"filter": query, "pageToken": resp.get("nextPageToken")},
|
||||
params={
|
||||
"filter": query,
|
||||
"pageToken": resp.get("nextPageToken"),
|
||||
},
|
||||
),
|
||||
)
|
||||
lists.append(resp.get("items"))
|
||||
|
@ -364,8 +373,8 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def _get_query_options(self, filters):
|
||||
"""
|
||||
:param config_data: contents of the inventory config file
|
||||
:return A fully built query string
|
||||
:param config_data: contents of the inventory config file
|
||||
:return A fully built query string
|
||||
"""
|
||||
if not filters:
|
||||
return ""
|
||||
|
@ -385,9 +394,9 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def _return_if_object(self, module, response):
|
||||
"""
|
||||
:param module: A GcpModule
|
||||
:param response: A Requests response object
|
||||
:return JSON response
|
||||
:param module: A GcpModule
|
||||
:param response: A Requests response object
|
||||
:return JSON response
|
||||
"""
|
||||
# If not found, return nothing.
|
||||
if response.status_code == 404:
|
||||
|
@ -412,9 +421,9 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def _add_hosts(self, items, config_data, format_items=True, project_disks=None):
|
||||
"""
|
||||
:param items: A list of hosts
|
||||
:param config_data: configuration data
|
||||
:param format_items: format items or not
|
||||
:param items: A list of hosts
|
||||
:param config_data: configuration data
|
||||
:param format_items: format items or not
|
||||
"""
|
||||
if not items:
|
||||
return
|
||||
|
@ -423,9 +432,11 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
if self.get_option("hostnames"):
|
||||
hostname_ordering = self.get_option("hostnames")
|
||||
|
||||
name_suffix = self.get_option("name_suffix")
|
||||
|
||||
for host_json in items:
|
||||
host = GcpInstance(
|
||||
host_json, hostname_ordering, project_disks, format_items
|
||||
host_json, hostname_ordering, project_disks, format_items, name_suffix
|
||||
)
|
||||
self._populate_host(host)
|
||||
|
||||
|
@ -442,7 +453,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def _get_project_disks(self, config_data, query):
|
||||
"""
|
||||
project space disk images
|
||||
project space disk images
|
||||
"""
|
||||
|
||||
try:
|
||||
|
@ -508,20 +519,20 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
|
||||
def fetch_projects(self, params, link, query):
|
||||
module = GcpMockModule(params)
|
||||
auth = GcpSession(module, 'cloudresourcemanager')
|
||||
response = auth.get(link, params={'filter': query})
|
||||
auth = GcpSession(module, "cloudresourcemanager")
|
||||
response = auth.get(link, params={"filter": query})
|
||||
return self._return_if_object(module, response)
|
||||
|
||||
def projects_for_folder(self, config_data, folder):
|
||||
link = 'https://cloudresourcemanager.googleapis.com/v1/projects'.format()
|
||||
query = 'parent.id = {0}'.format(folder)
|
||||
link = "https://cloudresourcemanager.googleapis.com/v1/projects"
|
||||
query = "parent.id = {0}".format(folder)
|
||||
projects = []
|
||||
config_data['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
config_data["scopes"] = ["https://www.googleapis.com/auth/cloud-platform"]
|
||||
projects_response = self.fetch_projects(config_data, link, query)
|
||||
|
||||
if 'projects' in projects_response:
|
||||
for item in projects_response.get('projects'):
|
||||
projects.append(item['projectId'])
|
||||
if "projects" in projects_response:
|
||||
for item in projects_response.get("projects"):
|
||||
projects.append(item["projectId"])
|
||||
return projects
|
||||
|
||||
def parse(self, inventory, loader, path, cache=True):
|
||||
|
@ -553,6 +564,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
|||
"service_account_file": self.get_option("service_account_file"),
|
||||
"service_account_contents": self.get_option("service_account_contents"),
|
||||
"service_account_email": self.get_option("service_account_email"),
|
||||
"access_token": self.get_option("access_token"),
|
||||
}
|
||||
|
||||
self.fake_module = GcpMockModule(params)
|
||||
|
|
246
plugins/lookup/gcp_secret_manager.py
Normal file
246
plugins/lookup/gcp_secret_manager.py
Normal file
|
@ -0,0 +1,246 @@
|
|||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = '''
|
||||
author:
|
||||
- Dave Costakos <dcostako@redhat.com>
|
||||
name: gcp_secret_manager
|
||||
short_description: Get Secrets from Google Cloud as a Lookup plugin
|
||||
description:
|
||||
- retrieve secret keys in Secret Manager for use in playbooks
|
||||
- see https://cloud.google.com/iam/docs/service-account-creds for details on creating
|
||||
credentials for Google Cloud and the format of such credentials
|
||||
- once a secret value is retreived, it is returned decoded. It is up to the developer
|
||||
to maintain secrecy of this value once returned.
|
||||
|
||||
options:
|
||||
key:
|
||||
description:
|
||||
- the name of the secret to look up in Secret Manager
|
||||
type: str
|
||||
required: True
|
||||
aliases:
|
||||
- name
|
||||
- secret
|
||||
- secret_id
|
||||
project:
|
||||
description:
|
||||
- The name of the google cloud project
|
||||
- defaults to OS env variable GCP_PROJECT if not present
|
||||
type: str
|
||||
auth_kind:
|
||||
description:
|
||||
- the type of authentication to use with Google Cloud (i.e. serviceaccount or machineaccount)
|
||||
- defaults to OS env variable GCP_AUTH_KIND if not present
|
||||
type: str
|
||||
version:
|
||||
description:
|
||||
- the version name of your secret to retrieve
|
||||
type: str
|
||||
default: latest
|
||||
required: False
|
||||
service_account_email:
|
||||
description:
|
||||
- email associated with the service account
|
||||
- defaults to OS env variable GCP_SERVICE_ACCOUNT_EMAIL if not present
|
||||
type: str
|
||||
required: False
|
||||
service_account_file:
|
||||
description:
|
||||
- JSON Credential file obtained from Google Cloud
|
||||
- defaults to OS env variable GCP_SERVICE_ACCOUNT_FILE if not present
|
||||
- see https://cloud.google.com/iam/docs/service-account-creds for details
|
||||
type: str
|
||||
required: False
|
||||
service_account_info:
|
||||
description:
|
||||
- JSON Object representing the contents of a service_account_file obtained from Google Cloud
|
||||
- defaults to OS env variable GCP_SERVICE_ACCOUNT_INFO if not present
|
||||
type: jsonarg
|
||||
required: False
|
||||
access_token:
|
||||
description:
|
||||
- support for GCP Access Token
|
||||
- defaults to OS env variable GCP_ACCESS_TOKEN if not present
|
||||
type: str
|
||||
required: False
|
||||
on_error:
|
||||
description:
|
||||
- how to handle errors
|
||||
- strict means raise an exception
|
||||
- warn means warn, and return none
|
||||
- ignore means just return none
|
||||
type: str
|
||||
required: False
|
||||
choices:
|
||||
- 'strict'
|
||||
- 'warn'
|
||||
- 'ignore'
|
||||
default: 'strict'
|
||||
scopes:
|
||||
description:
|
||||
- Authenticaiton scopes for Google Secret Manager
|
||||
type: list
|
||||
default: ["https://www.googleapis.com/auth/cloud-platform"]
|
||||
'''
|
||||
|
||||
EXAMPLES = '''
|
||||
- name: Test secret using env variables for credentials
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key') }}"
|
||||
|
||||
- name: Test secret using explicit credentials
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', project='project', auth_kind='serviceaccount', service_account_file='file.json') }}"
|
||||
|
||||
- name: Test getting specific version of a secret (old version)
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', version='1') }}"
|
||||
|
||||
- name: Test getting specific version of a secret (new version)
|
||||
ansible.builtin.debug:
|
||||
msg: "{{ lookup('google.cloud.gcp_secret_manager', key='secret_key', version='2') }}"
|
||||
'''
|
||||
|
||||
RETURN = '''
|
||||
_raw:
|
||||
description: the contents of the secret requested (please use "no_log" to not expose this secret)
|
||||
type: list
|
||||
elements: str
|
||||
'''
|
||||
|
||||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
|
||||
import os
|
||||
import base64
|
||||
|
||||
from ansible.plugins.lookup import LookupBase
|
||||
from ansible.errors import AnsibleError
|
||||
from ansible.utils.display import Display
|
||||
|
||||
try:
|
||||
import requests
|
||||
HAS_REQUESTS = True
|
||||
except ImportError:
|
||||
HAS_REQUESTS = False
|
||||
|
||||
try:
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
||||
GcpSession,
|
||||
)
|
||||
HAS_GOOGLE_CLOUD_COLLECTION = True
|
||||
except ImportError:
|
||||
HAS_GOOGLE_CLOUD_COLLECTION = False
|
||||
|
||||
|
||||
class GcpLookupException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class GcpMockModule(object):
|
||||
def __init__(self, params):
|
||||
self.params = params
|
||||
|
||||
def fail_json(self, *args, **kwargs):
|
||||
raise AnsibleError(kwargs["msg"])
|
||||
|
||||
def raise_for_status(self, response):
|
||||
try:
|
||||
response.raise_for_status()
|
||||
except getattr(requests.exceptions, "RequestException"):
|
||||
self.fail_json(msg="GCP returned error: %s" % response.json())
|
||||
|
||||
|
||||
class LookupModule(LookupBase):
|
||||
def run(self, terms=None, variables=None, **kwargs):
|
||||
self._display = Display()
|
||||
if not HAS_GOOGLE_CLOUD_COLLECTION:
|
||||
raise AnsibleError(
|
||||
"""gcp_secret lookup needs a supported version of the google.cloud
|
||||
collection installed. Use `ansible-galaxy collection install google.cloud`
|
||||
to install it"""
|
||||
)
|
||||
self.set_options(var_options=variables, direct=kwargs)
|
||||
params = {
|
||||
"key": self.get_option("key"),
|
||||
"version": self.get_option("version"),
|
||||
"access_token": self.get_option("access_token"),
|
||||
"scopes": self.get_option("scopes"),
|
||||
"on_error": self.get_option("on_error")
|
||||
}
|
||||
|
||||
params['name'] = params['key']
|
||||
|
||||
# support GCP_* env variables for some parameters
|
||||
for param in ["project", "auth_kind", "service_account_file", "service_account_info", "service_account_email", "access_token"]:
|
||||
params[param] = self.fallback_from_env(param)
|
||||
|
||||
self._display.vvv(msg=f"Module Parameters: {params}")
|
||||
fake_module = GcpMockModule(params)
|
||||
result = self.get_secret(fake_module)
|
||||
return [base64.b64decode(result)]
|
||||
|
||||
def fallback_from_env(self, arg):
|
||||
if self.get_option(arg):
|
||||
return self.get_option(arg)
|
||||
else:
|
||||
env_name = f"GCP_{arg.upper()}"
|
||||
if env_name in os.environ:
|
||||
self.set_option(arg, os.environ[env_name])
|
||||
return self.get_option(arg)
|
||||
|
||||
# set version to the latest version because
|
||||
# we can't be sure that "latest" is always going
|
||||
# to be set if secret versions get disabled
|
||||
# see https://issuetracker.google.com/issues/286489671
|
||||
def get_latest_version(self, module, auth):
|
||||
url = "https://secretmanager.googleapis.com/v1/projects/{project}/secrets/{name}/versions?filter=state:ENABLED".format(
|
||||
**module.params
|
||||
)
|
||||
response = auth.get(url)
|
||||
self._display.vvv(msg=f"List Version Response: {response.status_code} for {response.request.url}: {response.json()}")
|
||||
if response.status_code != 200:
|
||||
self.raise_error(module, f"unable to list versions of secret {response.status_code}")
|
||||
version_list = response.json()
|
||||
if "versions" in version_list:
|
||||
versions_numbers = []
|
||||
for version in version_list['versions']:
|
||||
versions_numbers.append(version['name'].split('/')[-1])
|
||||
return sorted(versions_numbers, key=int)[-1]
|
||||
else:
|
||||
self.raise_error(module, f"Unable to list secret versions via {response.request.url}: {response.json()}")
|
||||
|
||||
def raise_error(self, module, msg):
|
||||
if module.params['on_error'] == 'strict':
|
||||
raise GcpLookupException(msg)
|
||||
elif module.params['on_error'] == 'warn':
|
||||
self._display.warning(msg)
|
||||
|
||||
return None
|
||||
|
||||
def get_secret(self, module):
|
||||
auth = GcpSession(module, "secretmanager")
|
||||
if module.params['version'] == "latest":
|
||||
module.params['calc_version'] = self.get_latest_version(module, auth)
|
||||
else:
|
||||
module.params['calc_version'] = module.params['version']
|
||||
|
||||
# there was an error listing secret versions
|
||||
if module.params['calc_version'] is None:
|
||||
return ''
|
||||
|
||||
url = "https://secretmanager.googleapis.com/v1/projects/{project}/secrets/{name}/versions/{calc_version}:access".format(
|
||||
**module.params
|
||||
)
|
||||
response = auth.get(url)
|
||||
self._display.vvv(msg=f"Response: {response.status_code} for {response.request.url}: {response.json()}")
|
||||
if response.status_code != 200:
|
||||
self.raise_error(module, f"Failed to lookup secret value via {response.request.url} {response.status_code}")
|
||||
return ''
|
||||
|
||||
return response.json()['payload']['data']
|
|
@ -5,7 +5,6 @@ from __future__ import (absolute_import, division, print_function)
|
|||
|
||||
__metaclass__ = type
|
||||
|
||||
import ast
|
||||
import os
|
||||
import json
|
||||
|
||||
|
@ -18,15 +17,14 @@ except ImportError:
|
|||
try:
|
||||
import google.auth
|
||||
import google.auth.compute_engine
|
||||
from google.oauth2 import service_account
|
||||
from google.oauth2 import service_account, credentials as oauth2
|
||||
from google.auth.transport.requests import AuthorizedSession
|
||||
HAS_GOOGLE_LIBRARIES = True
|
||||
except ImportError:
|
||||
HAS_GOOGLE_LIBRARIES = False
|
||||
|
||||
from ansible.module_utils.basic import AnsibleModule, env_fallback
|
||||
from ansible.module_utils.six import string_types
|
||||
from ansible.module_utils._text import to_text, to_native
|
||||
from ansible.module_utils._text import to_text
|
||||
|
||||
|
||||
def navigate_hash(source, path, default=None):
|
||||
|
@ -107,12 +105,12 @@ class GcpSession(object):
|
|||
kwargs = {'json': body}
|
||||
return self.full_delete(url, **kwargs)
|
||||
|
||||
def put(self, url, body=None):
|
||||
def put(self, url, body=None, params=None):
|
||||
"""
|
||||
This method should be avoided in favor of full_put
|
||||
"""
|
||||
kwargs = {'json': body}
|
||||
return self.full_put(url, **kwargs)
|
||||
return self.full_put(url, params=params, **kwargs)
|
||||
|
||||
def patch(self, url, body=None, **kwargs):
|
||||
"""
|
||||
|
@ -213,29 +211,56 @@ class GcpSession(object):
|
|||
msg="Service Account File only works with Service Account-based authentication"
|
||||
)
|
||||
|
||||
if self.module.params.get('access_token') is not None and self.module.params['auth_kind'] != 'accesstoken':
|
||||
self.module.fail_json(
|
||||
msg='Supplying access_token requires auth_kind set to accesstoken'
|
||||
)
|
||||
|
||||
def _credentials(self):
|
||||
cred_type = self.module.params['auth_kind']
|
||||
|
||||
if cred_type == 'application':
|
||||
credentials, project_id = google.auth.default(scopes=self.module.params['scopes'])
|
||||
return credentials
|
||||
if cred_type == 'serviceaccount' and self.module.params.get('service_account_file'):
|
||||
path = os.path.realpath(os.path.expanduser(self.module.params['service_account_file']))
|
||||
if not os.path.exists(path):
|
||||
|
||||
if cred_type == 'serviceaccount':
|
||||
service_account_file = self.module.params.get('service_account_file')
|
||||
service_account_contents = self.module.params.get('service_account_contents')
|
||||
if service_account_file is not None:
|
||||
path = os.path.realpath(os.path.expanduser(service_account_file))
|
||||
try:
|
||||
svc_acct_creds = service_account.Credentials.from_service_account_file(path)
|
||||
except OSError as e:
|
||||
self.module.fail_json(
|
||||
msg="Unable to read service_account_file at %s: %s" % (path, e.strerror)
|
||||
)
|
||||
elif service_account_contents is not None:
|
||||
try:
|
||||
info = json.loads(service_account_contents)
|
||||
except json.decoder.JSONDecodeError as e:
|
||||
self.module.fail_json(
|
||||
msg="Unable to decode service_account_contents as JSON: %s" % e
|
||||
)
|
||||
svc_acct_creds = service_account.Credentials.from_service_account_info(info)
|
||||
else:
|
||||
self.module.fail_json(
|
||||
msg="Unable to find service_account_file at '%s'" % path
|
||||
msg='Service Account authentication requires setting either service_account_file or service_account_contents'
|
||||
)
|
||||
return service_account.Credentials.from_service_account_file(path).with_scopes(self.module.params['scopes'])
|
||||
if cred_type == 'serviceaccount' and self.module.params.get('service_account_contents'):
|
||||
try:
|
||||
cred = json.loads(self.module.params.get('service_account_contents'))
|
||||
except json.decoder.JSONDecodeError as e:
|
||||
self.module.fail_json(
|
||||
msg="Unable to decode service_account_contents as JSON"
|
||||
)
|
||||
return service_account.Credentials.from_service_account_info(cred).with_scopes(self.module.params['scopes'])
|
||||
return svc_acct_creds.with_scopes(self.module.params['scopes'])
|
||||
|
||||
if cred_type == 'machineaccount':
|
||||
return google.auth.compute_engine.Credentials(
|
||||
self.module.params['service_account_email'])
|
||||
email = self.module.params['service_account_email']
|
||||
email = email if email is not None else "default"
|
||||
return google.auth.compute_engine.Credentials(email)
|
||||
|
||||
if cred_type == 'accesstoken':
|
||||
access_token = self.module.params['access_token']
|
||||
if access_token is None:
|
||||
self.module.fail_json(
|
||||
msg='An access token must be supplied when auth_kind is accesstoken'
|
||||
)
|
||||
return oauth2.Credentials(access_token, scopes=self.module.params['scopes'])
|
||||
|
||||
self.module.fail_json(msg="Credential type '%s' not implemented" % cred_type)
|
||||
|
||||
def _headers(self):
|
||||
|
@ -266,7 +291,7 @@ class GcpModule(AnsibleModule):
|
|||
auth_kind=dict(
|
||||
required=True,
|
||||
fallback=(env_fallback, ['GCP_AUTH_KIND']),
|
||||
choices=['machineaccount', 'serviceaccount', 'application'],
|
||||
choices=['machineaccount', 'serviceaccount', 'accesstoken', 'application'],
|
||||
type='str'),
|
||||
service_account_email=dict(
|
||||
required=False,
|
||||
|
@ -281,6 +306,11 @@ class GcpModule(AnsibleModule):
|
|||
fallback=(env_fallback, ['GCP_SERVICE_ACCOUNT_CONTENTS']),
|
||||
no_log=True,
|
||||
type='jsonarg'),
|
||||
access_token=dict(
|
||||
required=False,
|
||||
fallback=(env_fallback, ['GCP_ACCESS_TOKEN']),
|
||||
no_log=True,
|
||||
type='str'),
|
||||
scopes=dict(
|
||||
required=False,
|
||||
fallback=(env_fallback, ['GCP_SCOPES']),
|
||||
|
@ -305,7 +335,14 @@ class GcpModule(AnsibleModule):
|
|||
try:
|
||||
response.raise_for_status()
|
||||
except getattr(requests.exceptions, 'RequestException') as inst:
|
||||
self.fail_json(msg="GCP returned error: %s" % response.json())
|
||||
self.fail_json(
|
||||
msg="GCP returned error: %s" % response.json(),
|
||||
request={
|
||||
"url": response.request.url,
|
||||
"body": response.request.body,
|
||||
"method": response.request.method,
|
||||
}
|
||||
)
|
||||
|
||||
def _merge_dictionaries(self, a, b):
|
||||
new = a.copy()
|
||||
|
@ -342,7 +379,7 @@ class GcpRequest(object):
|
|||
def _compare_dicts(self, req_dict, resp_dict):
|
||||
difference = {}
|
||||
for key in req_dict:
|
||||
if resp_dict.get(key):
|
||||
if resp_dict.get(key) is not None:
|
||||
difference[key] = self._compare_value(req_dict.get(key), resp_dict.get(key))
|
||||
|
||||
# Remove all empty values from difference.
|
||||
|
@ -388,7 +425,7 @@ class GcpRequest(object):
|
|||
diff = None
|
||||
# If a None is found, a difference does not exist.
|
||||
# Only differing values matter.
|
||||
if not resp_value:
|
||||
if resp_value is None:
|
||||
return None
|
||||
|
||||
# Can assume non-None types at this point.
|
||||
|
@ -424,7 +461,7 @@ class GcpRequest(object):
|
|||
# Value1 False, resp_value 'false'
|
||||
if not req_value and to_text(resp_value) == 'false':
|
||||
return None
|
||||
return resp_value
|
||||
return True
|
||||
|
||||
# to_text may throw UnicodeErrors.
|
||||
# These errors shouldn't crash Ansible and should be hidden.
|
||||
|
|
|
@ -87,6 +87,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -101,6 +102,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -121,6 +126,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -171,7 +178,7 @@ priority:
|
|||
# Imports
|
||||
################################################################################
|
||||
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest, replace_resource_dict
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -52,6 +52,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -66,6 +67,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -84,6 +89,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -134,7 +141,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -224,6 +224,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -238,6 +239,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -258,6 +263,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -472,7 +479,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -66,6 +67,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -84,6 +89,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -295,7 +302,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -475,6 +475,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -489,6 +490,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -994,7 +999,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -71,6 +72,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -89,6 +94,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -574,7 +581,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -117,6 +117,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -131,6 +132,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -235,7 +240,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
@ -264,7 +268,7 @@ def main():
|
|||
)
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/bigtable']
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
|
||||
state = module.params['state']
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -66,6 +67,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -84,6 +89,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -172,7 +179,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
@ -184,7 +191,7 @@ def main():
|
|||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/bigtable']
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
|
||||
return_value = {'resources': fetch_list(module, collection(module))}
|
||||
module.exit_json(**return_value)
|
||||
|
|
|
@ -727,6 +727,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -741,6 +742,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -761,6 +766,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -1482,7 +1489,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -66,6 +67,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -84,6 +89,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -798,7 +805,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -25,9 +25,13 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {
|
||||
"metadata_version": "1.1",
|
||||
"status": ["preview"],
|
||||
"supported_by": "community",
|
||||
}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
DOCUMENTATION = """
|
||||
---
|
||||
module: gcp_cloudfunctions_cloud_function
|
||||
description:
|
||||
|
@ -69,8 +73,8 @@ options:
|
|||
type: str
|
||||
runtime:
|
||||
description:
|
||||
- The runtime in which the function is going to run. If empty, defaults to Node.js
|
||||
6.
|
||||
- The runtime in which to run the function. Required when deploying a new function,
|
||||
optional when updating an existing function.
|
||||
required: false
|
||||
type: str
|
||||
timeout:
|
||||
|
@ -170,6 +174,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -184,6 +189,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -195,9 +204,9 @@ options:
|
|||
- 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
|
||||
'''
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = """
|
||||
- name: create a cloud function
|
||||
google.cloud.gcp_cloudfunctions_cloud_function:
|
||||
name: test_object
|
||||
|
@ -209,9 +218,9 @@ EXAMPLES = '''
|
|||
auth_kind: serviceaccount
|
||||
service_account_file: "/tmp/auth.pem"
|
||||
state: present
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = """
|
||||
name:
|
||||
description:
|
||||
- A user-defined name of the function. Function names must be unique globally and
|
||||
|
@ -353,7 +362,7 @@ trigger_http:
|
|||
- Use HTTP to trigger this function.
|
||||
returned: success
|
||||
type: bool
|
||||
'''
|
||||
"""
|
||||
|
||||
################################################################################
|
||||
# Imports
|
||||
|
@ -365,7 +374,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import re
|
||||
|
@ -381,43 +389,50 @@ def main():
|
|||
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
description=dict(type='str'),
|
||||
entry_point=dict(type='str'),
|
||||
runtime=dict(type='str'),
|
||||
timeout=dict(type='str'),
|
||||
available_memory_mb=dict(type='int'),
|
||||
labels=dict(type='dict'),
|
||||
environment_variables=dict(type='dict'),
|
||||
source_archive_url=dict(type='str'),
|
||||
source_upload_url=dict(type='str'),
|
||||
source_repository=dict(type='dict', options=dict(url=dict(required=True, type='str'))),
|
||||
https_trigger=dict(type='dict', options=dict()),
|
||||
event_trigger=dict(
|
||||
type='dict', options=dict(event_type=dict(required=True, type='str'), resource=dict(required=True, type='str'), service=dict(type='str'))
|
||||
state=dict(default="present", choices=["present", "absent"], type="str"),
|
||||
name=dict(required=True, type="str"),
|
||||
description=dict(type="str"),
|
||||
entry_point=dict(type="str"),
|
||||
runtime=dict(type="str"),
|
||||
timeout=dict(type="str"),
|
||||
available_memory_mb=dict(type="int"),
|
||||
labels=dict(type="dict"),
|
||||
environment_variables=dict(type="dict"),
|
||||
source_archive_url=dict(type="str"),
|
||||
source_upload_url=dict(type="str"),
|
||||
source_repository=dict(
|
||||
type="dict", options=dict(url=dict(required=True, type="str"))
|
||||
),
|
||||
location=dict(required=True, type='str'),
|
||||
trigger_http=dict(type='bool'),
|
||||
https_trigger=dict(type="dict", options=dict()),
|
||||
event_trigger=dict(
|
||||
type="dict",
|
||||
options=dict(
|
||||
event_type=dict(required=True, type="str"),
|
||||
resource=dict(required=True, type="str"),
|
||||
service=dict(type="str"),
|
||||
),
|
||||
),
|
||||
location=dict(required=True, type="str"),
|
||||
trigger_http=dict(type="bool"),
|
||||
)
|
||||
)
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
if not module.params["scopes"]:
|
||||
module.params["scopes"] = ["https://www.googleapis.com/auth/cloud-platform"]
|
||||
|
||||
state = module.params['state']
|
||||
state = module.params["state"]
|
||||
|
||||
fetch = fetch_resource(module, self_link(module))
|
||||
changed = False
|
||||
|
||||
# Need to set triggerHttps to {} if boolean true.
|
||||
if fetch and fetch.get('httpsTrigger') and module.params['trigger_http']:
|
||||
module.params['https_trigger'] = fetch.get('httpsTrigger')
|
||||
elif module.params['trigger_http']:
|
||||
module.params['https_trigger'] = {}
|
||||
if fetch and fetch.get("httpsTrigger") and module.params["trigger_http"]:
|
||||
module.params["https_trigger"] = fetch.get("httpsTrigger")
|
||||
elif module.params["trigger_http"]:
|
||||
module.params["https_trigger"] = {}
|
||||
|
||||
if fetch:
|
||||
if state == 'present':
|
||||
if state == "present":
|
||||
if is_different(module, fetch):
|
||||
update(module, self_link(module), fetch)
|
||||
fetch = fetch_resource(module, self_link(module))
|
||||
|
@ -427,101 +442,115 @@ def main():
|
|||
fetch = {}
|
||||
changed = True
|
||||
else:
|
||||
if state == 'present':
|
||||
if state == "present":
|
||||
fetch = create(module, collection(module))
|
||||
changed = True
|
||||
else:
|
||||
fetch = {}
|
||||
|
||||
fetch.update({'changed': changed})
|
||||
fetch.update({"changed": changed})
|
||||
|
||||
module.exit_json(**fetch)
|
||||
|
||||
|
||||
def create(module, link):
|
||||
auth = GcpSession(module, 'cloudfunctions')
|
||||
auth = GcpSession(module, "cloudfunctions")
|
||||
return wait_for_operation(module, auth.post(link, resource_to_request(module)))
|
||||
|
||||
|
||||
def update(module, link, fetch):
|
||||
auth = GcpSession(module, 'cloudfunctions')
|
||||
params = {'updateMask': updateMask(resource_to_request(module), response_to_hash(module, fetch))}
|
||||
auth = GcpSession(module, "cloudfunctions")
|
||||
params = {
|
||||
"updateMask": updateMask(
|
||||
resource_to_request(module), response_to_hash(module, fetch)
|
||||
)
|
||||
}
|
||||
request = resource_to_request(module)
|
||||
del request['name']
|
||||
del request["name"]
|
||||
return wait_for_operation(module, auth.put(link, request, params=params))
|
||||
|
||||
|
||||
def updateMask(request, response):
|
||||
update_mask = []
|
||||
if request.get('name') != response.get('name'):
|
||||
update_mask.append('name')
|
||||
if request.get('description') != response.get('description'):
|
||||
update_mask.append('description')
|
||||
if request.get('entryPoint') != response.get('entryPoint'):
|
||||
update_mask.append('entryPoint')
|
||||
if request.get('runtime') != response.get('runtime'):
|
||||
update_mask.append('runtime')
|
||||
if request.get('timeout') != response.get('timeout'):
|
||||
update_mask.append('timeout')
|
||||
if request.get('availableMemoryMb') != response.get('availableMemoryMb'):
|
||||
update_mask.append('availableMemoryMb')
|
||||
if request.get('labels') != response.get('labels'):
|
||||
update_mask.append('labels')
|
||||
if request.get('environmentVariables') != response.get('environmentVariables'):
|
||||
update_mask.append('environmentVariables')
|
||||
if request.get('sourceArchiveUrl') != response.get('sourceArchiveUrl'):
|
||||
update_mask.append('sourceArchiveUrl')
|
||||
if request.get('sourceUploadUrl') != response.get('sourceUploadUrl'):
|
||||
update_mask.append('sourceUploadUrl')
|
||||
if request.get('sourceRepository') != response.get('sourceRepository'):
|
||||
update_mask.append('sourceRepository')
|
||||
if request.get('httpsTrigger') != response.get('httpsTrigger'):
|
||||
update_mask.append('httpsTrigger')
|
||||
if request.get('eventTrigger') != response.get('eventTrigger'):
|
||||
update_mask.append('eventTrigger')
|
||||
if request.get('location') != response.get('location'):
|
||||
update_mask.append('location')
|
||||
if request.get('trigger_http') != response.get('trigger_http'):
|
||||
update_mask.append('trigger_http')
|
||||
return ','.join(update_mask)
|
||||
if request.get("name") != response.get("name"):
|
||||
update_mask.append("name")
|
||||
if request.get("description") != response.get("description"):
|
||||
update_mask.append("description")
|
||||
if request.get("entryPoint") != response.get("entryPoint"):
|
||||
update_mask.append("entryPoint")
|
||||
if request.get("runtime") != response.get("runtime"):
|
||||
update_mask.append("runtime")
|
||||
if request.get("timeout") != response.get("timeout"):
|
||||
update_mask.append("timeout")
|
||||
if request.get("availableMemoryMb") != response.get("availableMemoryMb"):
|
||||
update_mask.append("availableMemoryMb")
|
||||
if request.get("labels") != response.get("labels"):
|
||||
update_mask.append("labels")
|
||||
if request.get("environmentVariables") != response.get("environmentVariables"):
|
||||
update_mask.append("environmentVariables")
|
||||
if request.get("sourceArchiveUrl") != response.get("sourceArchiveUrl"):
|
||||
update_mask.append("sourceArchiveUrl")
|
||||
if request.get("sourceUploadUrl") != response.get("sourceUploadUrl"):
|
||||
update_mask.append("sourceUploadUrl")
|
||||
if request.get("sourceRepository") != response.get("sourceRepository"):
|
||||
update_mask.append("sourceRepository")
|
||||
if request.get("httpsTrigger") != response.get("httpsTrigger"):
|
||||
update_mask.append("httpsTrigger")
|
||||
if request.get("eventTrigger") != response.get("eventTrigger"):
|
||||
update_mask.append("eventTrigger")
|
||||
if request.get("location") != response.get("location"):
|
||||
update_mask.append("location")
|
||||
if request.get("trigger_http") != response.get("trigger_http"):
|
||||
update_mask.append("trigger_http")
|
||||
return ",".join(update_mask)
|
||||
|
||||
|
||||
def delete(module, link):
|
||||
auth = GcpSession(module, 'cloudfunctions')
|
||||
auth = GcpSession(module, "cloudfunctions")
|
||||
return wait_for_operation(module, auth.delete(link))
|
||||
|
||||
|
||||
def resource_to_request(module):
|
||||
request = {
|
||||
u'name': name_pattern(module.params.get('name'), module),
|
||||
u'description': module.params.get('description'),
|
||||
u'entryPoint': module.params.get('entry_point'),
|
||||
u'runtime': module.params.get('runtime'),
|
||||
u'timeout': module.params.get('timeout'),
|
||||
u'availableMemoryMb': module.params.get('available_memory_mb'),
|
||||
u'labels': module.params.get('labels'),
|
||||
u'environmentVariables': module.params.get('environment_variables'),
|
||||
u'sourceArchiveUrl': module.params.get('source_archive_url'),
|
||||
u'sourceUploadUrl': module.params.get('source_upload_url'),
|
||||
u'sourceRepository': CloudFunctionSourcerepository(module.params.get('source_repository', {}), module).to_request(),
|
||||
u'httpsTrigger': CloudFunctionHttpstrigger(module.params.get('https_trigger', {}), module).to_request(),
|
||||
u'eventTrigger': CloudFunctionEventtrigger(module.params.get('event_trigger', {}), module).to_request(),
|
||||
"name": name_pattern(module.params.get("name"), module),
|
||||
"description": module.params.get("description"),
|
||||
"entryPoint": module.params.get("entry_point"),
|
||||
"runtime": module.params.get("runtime"),
|
||||
"timeout": module.params.get("timeout"),
|
||||
"availableMemoryMb": module.params.get("available_memory_mb"),
|
||||
"labels": module.params.get("labels"),
|
||||
"environmentVariables": module.params.get("environment_variables"),
|
||||
"sourceArchiveUrl": module.params.get("source_archive_url"),
|
||||
"sourceUploadUrl": module.params.get("source_upload_url"),
|
||||
"sourceRepository": CloudFunctionSourcerepository(
|
||||
module.params.get("source_repository", {}), module
|
||||
).to_request(),
|
||||
"httpsTrigger": CloudFunctionHttpstrigger(
|
||||
module.params.get("https_trigger", {}), module
|
||||
).to_request(),
|
||||
"eventTrigger": CloudFunctionEventtrigger(
|
||||
module.params.get("event_trigger", {}), module
|
||||
).to_request(),
|
||||
}
|
||||
request = encode_request(request, module)
|
||||
return request
|
||||
|
||||
|
||||
def fetch_resource(module, link, allow_not_found=True):
|
||||
auth = GcpSession(module, 'cloudfunctions')
|
||||
auth = GcpSession(module, "cloudfunctions")
|
||||
return return_if_object(module, auth.get(link), allow_not_found)
|
||||
|
||||
|
||||
def self_link(module):
|
||||
return "https://cloudfunctions.googleapis.com/v1/projects/{project}/locations/{location}/functions/{name}".format(**module.params)
|
||||
return "https://cloudfunctions.googleapis.com/v1/projects/{project}/locations/{location}/functions/{name}".format(
|
||||
**module.params
|
||||
)
|
||||
|
||||
|
||||
def collection(module):
|
||||
return "https://cloudfunctions.googleapis.com/v1/projects/{project}/locations/{location}/functions".format(**module.params)
|
||||
return "https://cloudfunctions.googleapis.com/v1/projects/{project}/locations/{location}/functions".format(
|
||||
**module.params
|
||||
)
|
||||
|
||||
|
||||
def return_if_object(module, response, allow_not_found=False):
|
||||
|
@ -536,11 +565,11 @@ def return_if_object(module, response, allow_not_found=False):
|
|||
try:
|
||||
module.raise_for_status(response)
|
||||
result = response.json()
|
||||
except getattr(json.decoder, 'JSONDecodeError', ValueError):
|
||||
except getattr(json.decoder, "JSONDecodeError", ValueError):
|
||||
module.fail_json(msg="Invalid JSON response with error: %s" % response.text)
|
||||
|
||||
if navigate_hash(result, ['error', 'errors']):
|
||||
module.fail_json(msg=navigate_hash(result, ['error', 'errors']))
|
||||
if navigate_hash(result, ["error", "errors"]):
|
||||
module.fail_json(msg=navigate_hash(result, ["error", "errors"]))
|
||||
|
||||
return result
|
||||
|
||||
|
@ -567,23 +596,29 @@ def is_different(module, response):
|
|||
# This is for doing comparisons with Ansible's current parameters.
|
||||
def response_to_hash(module, response):
|
||||
return {
|
||||
u'name': response.get(u'name'),
|
||||
u'description': response.get(u'description'),
|
||||
u'status': response.get(u'status'),
|
||||
u'entryPoint': response.get(u'entryPoint'),
|
||||
u'runtime': response.get(u'runtime'),
|
||||
u'timeout': response.get(u'timeout'),
|
||||
u'availableMemoryMb': response.get(u'availableMemoryMb'),
|
||||
u'serviceAccountEmail': response.get(u'serviceAccountEmail'),
|
||||
u'updateTime': response.get(u'updateTime'),
|
||||
u'versionId': response.get(u'versionId'),
|
||||
u'labels': response.get(u'labels'),
|
||||
u'environmentVariables': response.get(u'environmentVariables'),
|
||||
u'sourceArchiveUrl': response.get(u'sourceArchiveUrl'),
|
||||
u'sourceUploadUrl': response.get(u'sourceUploadUrl'),
|
||||
u'sourceRepository': CloudFunctionSourcerepository(response.get(u'sourceRepository', {}), module).from_response(),
|
||||
u'httpsTrigger': CloudFunctionHttpstrigger(response.get(u'httpsTrigger', {}), module).from_response(),
|
||||
u'eventTrigger': CloudFunctionEventtrigger(response.get(u'eventTrigger', {}), module).from_response(),
|
||||
"name": response.get("name"),
|
||||
"description": response.get("description"),
|
||||
"status": response.get("status"),
|
||||
"entryPoint": response.get("entryPoint"),
|
||||
"runtime": response.get("runtime"),
|
||||
"timeout": response.get("timeout"),
|
||||
"availableMemoryMb": response.get("availableMemoryMb"),
|
||||
"serviceAccountEmail": response.get("serviceAccountEmail"),
|
||||
"updateTime": response.get("updateTime"),
|
||||
"versionId": response.get("versionId"),
|
||||
"labels": response.get("labels"),
|
||||
"environmentVariables": response.get("environmentVariables"),
|
||||
"sourceArchiveUrl": response.get("sourceArchiveUrl"),
|
||||
"sourceUploadUrl": response.get("sourceUploadUrl"),
|
||||
"sourceRepository": CloudFunctionSourcerepository(
|
||||
response.get("sourceRepository", {}), module
|
||||
).from_response(),
|
||||
"httpsTrigger": CloudFunctionHttpstrigger(
|
||||
response.get("httpsTrigger", {}), module
|
||||
).from_response(),
|
||||
"eventTrigger": CloudFunctionEventtrigger(
|
||||
response.get("eventTrigger", {}), module
|
||||
).from_response(),
|
||||
}
|
||||
|
||||
|
||||
|
@ -594,7 +629,9 @@ def name_pattern(name, module):
|
|||
regex = r"projects/.*/locations/.*/functions/.*"
|
||||
|
||||
if not re.match(regex, name):
|
||||
name = "projects/{project}/locations/{location}/functions/{name}".format(**module.params)
|
||||
name = "projects/{project}/locations/{location}/functions/{name}".format(
|
||||
**module.params
|
||||
)
|
||||
|
||||
return name
|
||||
|
||||
|
@ -612,20 +649,20 @@ def wait_for_operation(module, response):
|
|||
op_result = return_if_object(module, response)
|
||||
if op_result is None:
|
||||
return {}
|
||||
status = navigate_hash(op_result, ['done'])
|
||||
status = navigate_hash(op_result, ["done"])
|
||||
wait_done = wait_for_completion(status, op_result, module)
|
||||
raise_if_errors(wait_done, ['error'], module)
|
||||
return navigate_hash(wait_done, ['response'])
|
||||
raise_if_errors(wait_done, ["error"], module)
|
||||
return navigate_hash(wait_done, ["response"])
|
||||
|
||||
|
||||
def wait_for_completion(status, op_result, module):
|
||||
op_id = navigate_hash(op_result, ['name'])
|
||||
op_uri = async_op_url(module, {'op_id': op_id})
|
||||
op_id = navigate_hash(op_result, ["name"])
|
||||
op_uri = async_op_url(module, {"op_id": op_id})
|
||||
while not status:
|
||||
raise_if_errors(op_result, ['error'], module)
|
||||
raise_if_errors(op_result, ["error"], module)
|
||||
time.sleep(1.0)
|
||||
op_result = fetch_resource(module, op_uri, False)
|
||||
status = navigate_hash(op_result, ['done'])
|
||||
status = navigate_hash(op_result, ["done"])
|
||||
return op_result
|
||||
|
||||
|
||||
|
@ -641,8 +678,8 @@ def encode_request(request, module):
|
|||
if v or v is False:
|
||||
return_vals[k] = v
|
||||
|
||||
if module.params['trigger_http'] and not return_vals.get('httpsTrigger'):
|
||||
return_vals['httpsTrigger'] = {}
|
||||
if module.params["trigger_http"] and not return_vals.get("httpsTrigger"):
|
||||
return_vals["httpsTrigger"] = {}
|
||||
|
||||
return return_vals
|
||||
|
||||
|
@ -656,10 +693,10 @@ class CloudFunctionSourcerepository(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({u'url': self.request.get('url')})
|
||||
return remove_nones_from_dict({"url": self.request.get("url")})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({u'url': self.request.get(u'url')})
|
||||
return remove_nones_from_dict({"url": self.request.get("url")})
|
||||
|
||||
|
||||
class CloudFunctionHttpstrigger(object):
|
||||
|
@ -687,14 +724,22 @@ class CloudFunctionEventtrigger(object):
|
|||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict(
|
||||
{u'eventType': self.request.get('event_type'), u'resource': self.request.get('resource'), u'service': self.request.get('service')}
|
||||
{
|
||||
"eventType": self.request.get("event_type"),
|
||||
"resource": self.request.get("resource"),
|
||||
"service": self.request.get("service"),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict(
|
||||
{u'eventType': self.request.get(u'eventType'), u'resource': self.request.get(u'resource'), u'service': self.request.get(u'service')}
|
||||
{
|
||||
"eventType": self.request.get("eventType"),
|
||||
"resource": self.request.get("resource"),
|
||||
"service": self.request.get("service"),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
|
@ -57,6 +57,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -71,6 +72,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -89,6 +94,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -257,7 +264,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -310,6 +310,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -324,6 +325,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -344,6 +349,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -627,7 +634,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
|
||||
|
|
|
@ -57,6 +57,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -71,6 +72,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -89,6 +94,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -363,7 +370,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -188,6 +188,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -202,6 +203,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -384,7 +389,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import re
|
||||
|
@ -489,7 +493,6 @@ def delete(module, link):
|
|||
|
||||
def resource_to_request(module):
|
||||
request = {
|
||||
u'location': module.params.get('location'),
|
||||
u'name': name_pattern(module.params.get('name'), module),
|
||||
u'appEngineRoutingOverride': QueueAppengineroutingoverride(module.params.get('app_engine_routing_override', {}), module).to_request(),
|
||||
u'rateLimits': QueueRatelimits(module.params.get('rate_limits', {}), module).to_request(),
|
||||
|
|
|
@ -57,6 +57,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -71,6 +72,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -89,6 +94,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -263,7 +270,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -153,6 +153,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -167,6 +168,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -188,6 +193,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -65,6 +65,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -79,6 +80,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -97,6 +102,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -219,7 +226,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -260,6 +260,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -274,6 +275,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -294,6 +299,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -304,7 +311,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -174,6 +174,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -188,6 +189,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -208,6 +213,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -366,7 +373,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -236,7 +243,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -746,7 +753,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -238,6 +238,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -252,6 +253,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -272,6 +277,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -359,7 +366,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -104,6 +104,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -118,6 +119,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -137,6 +142,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -212,7 +219,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -159,7 +166,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -263,6 +263,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -277,6 +278,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -297,6 +302,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -306,7 +313,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -237,6 +237,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -251,6 +252,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -271,6 +276,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -65,6 +65,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -79,6 +80,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -97,6 +102,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -298,7 +305,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -124,6 +124,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -138,6 +139,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -158,6 +163,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -189,7 +196,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -217,6 +217,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -231,6 +232,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -273,7 +280,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -472,6 +472,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -486,6 +487,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -506,6 +511,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -916,7 +923,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -511,7 +518,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -125,6 +125,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -139,6 +140,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -159,6 +164,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -255,7 +262,7 @@ unhealthyThreshold:
|
|||
# Imports
|
||||
################################################################################
|
||||
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest, replace_resource_dict
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
import json
|
||||
import time
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -188,7 +195,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -122,6 +122,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -136,6 +137,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -156,6 +161,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -252,7 +259,7 @@ unhealthyThreshold:
|
|||
# Imports
|
||||
################################################################################
|
||||
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest, replace_resource_dict
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
import json
|
||||
import time
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -188,7 +195,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -229,6 +229,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -243,6 +244,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -263,6 +268,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -335,7 +342,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -522,6 +522,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -536,6 +537,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -827,7 +832,8 @@ metadata:
|
|||
type: dict
|
||||
machineType:
|
||||
description:
|
||||
- A reference to a machine type which defines VM kind.
|
||||
- A reference to a machine type which defines VM kind. See https://cloud.google.com/compute/docs/machine-types
|
||||
for a list of current valid machine types.
|
||||
returned: success
|
||||
type: str
|
||||
minCpuPlatform:
|
||||
|
@ -1378,9 +1384,9 @@ def disk_type_selflink(name, params):
|
|||
def machine_type_selflink(name, params):
|
||||
if name is None:
|
||||
return
|
||||
url = r"https://compute.googleapis.com/compute/v1/projects/.*/zones/.*/machineTypes/.*"
|
||||
url = r"https://www.googleapis.com/compute/v1/projects/.*/zones/.*/machineTypes/.*"
|
||||
if not re.match(url, name):
|
||||
name = "https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/machineTypes/%s".format(**params) % name
|
||||
name = "https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/machineTypes/%s".format(**params) % name
|
||||
return name
|
||||
|
||||
|
||||
|
|
|
@ -138,6 +138,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -152,6 +153,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -197,7 +204,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -136,6 +136,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -150,6 +151,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -272,7 +279,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -25,9 +25,13 @@ __metaclass__ = type
|
|||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {
|
||||
"metadata_version": "1.1",
|
||||
"status": ["preview"],
|
||||
"supported_by": "community",
|
||||
}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
DOCUMENTATION = """
|
||||
---
|
||||
module: gcp_compute_instance_info
|
||||
description:
|
||||
|
@ -41,7 +45,7 @@ requirements:
|
|||
options:
|
||||
filters:
|
||||
description:
|
||||
- A list of filter value pairs. Available filters are listed here U(https://cloud.google.com/sdk/gcloud/reference/topic/filters).
|
||||
- A list of filter value pairs. Available filters are listed here U(https://cloud.google.com/compute/docs/reference/rest/v1/instances/list)
|
||||
- Each additional filter in the list will act be added as an AND condition (filter1
|
||||
and filter2) .
|
||||
type: list
|
||||
|
@ -64,6 +68,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +83,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,13 +105,15 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
- The I(service_account_email) and I(service_account_file) options are mutually exclusive.
|
||||
'''
|
||||
"""
|
||||
|
||||
EXAMPLES = '''
|
||||
EXAMPLES = """
|
||||
- name: get info on an instance
|
||||
gcp_compute_instance_info:
|
||||
zone: us-central1-a
|
||||
|
@ -111,9 +122,9 @@ EXAMPLES = '''
|
|||
project: test_project
|
||||
auth_kind: serviceaccount
|
||||
service_account_file: "/tmp/auth.pem"
|
||||
'''
|
||||
"""
|
||||
|
||||
RETURN = '''
|
||||
RETURN = """
|
||||
resources:
|
||||
description: List of resources
|
||||
returned: always
|
||||
|
@ -588,12 +599,16 @@ resources:
|
|||
- A reference to the zone where the machine resides.
|
||||
returned: success
|
||||
type: str
|
||||
'''
|
||||
"""
|
||||
|
||||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
||||
navigate_hash,
|
||||
GcpSession,
|
||||
GcpModule,
|
||||
)
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
@ -602,27 +617,40 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type="list", elements="str"),
|
||||
zone=dict(required=True, type="str"),
|
||||
)
|
||||
)
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
if not module.params["scopes"]:
|
||||
module.params["scopes"] = ["https://www.googleapis.com/auth/compute"]
|
||||
|
||||
return_value = {'resources': fetch_list(module, collection(module), query_options(module.params['filters']))}
|
||||
return_value = {
|
||||
"resources": fetch_list(
|
||||
module, collection(module), query_options(module.params["filters"])
|
||||
)
|
||||
}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
def collection(module):
|
||||
return "https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances".format(**module.params)
|
||||
return "https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances".format(
|
||||
**module.params
|
||||
)
|
||||
|
||||
|
||||
def fetch_list(module, link, query):
|
||||
auth = GcpSession(module, 'compute')
|
||||
return auth.list(link, return_if_object, array_name='items', params={'filter': query})
|
||||
auth = GcpSession(module, "compute")
|
||||
return auth.list(
|
||||
link, return_if_object, array_name="items", params={"filter": query}
|
||||
)
|
||||
|
||||
|
||||
def query_options(filters):
|
||||
if not filters:
|
||||
return ''
|
||||
return ""
|
||||
|
||||
if len(filters) == 1:
|
||||
return filters[0]
|
||||
|
@ -630,12 +658,12 @@ def query_options(filters):
|
|||
queries = []
|
||||
for f in filters:
|
||||
# For multiple queries, all queries should have ()
|
||||
if f[0] != '(' and f[-1] != ')':
|
||||
queries.append("(%s)" % ''.join(f))
|
||||
if f[0] != "(" and f[-1] != ")":
|
||||
queries.append("(%s)" % "".join(f))
|
||||
else:
|
||||
queries.append(f)
|
||||
|
||||
return ' '.join(queries)
|
||||
return " ".join(queries)
|
||||
|
||||
|
||||
def return_if_object(module, response):
|
||||
|
@ -650,11 +678,11 @@ def return_if_object(module, response):
|
|||
try:
|
||||
module.raise_for_status(response)
|
||||
result = response.json()
|
||||
except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst:
|
||||
except getattr(json.decoder, "JSONDecodeError", ValueError) as inst:
|
||||
module.fail_json(msg="Invalid JSON response with error: %s" % inst)
|
||||
|
||||
if navigate_hash(result, ['error', 'errors']):
|
||||
module.fail_json(msg=navigate_hash(result, ['error', 'errors']))
|
||||
if navigate_hash(result, ["error", "errors"]):
|
||||
module.fail_json(msg=navigate_hash(result, ["error", "errors"]))
|
||||
|
||||
return result
|
||||
|
||||
|
|
|
@ -485,6 +485,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -499,6 +500,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -544,7 +551,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -194,6 +194,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -208,6 +209,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -304,7 +311,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -108,6 +108,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -122,6 +123,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -142,6 +147,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -239,7 +246,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -124,6 +124,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -138,6 +139,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -158,6 +163,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -176,7 +183,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -186,7 +193,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -141,6 +141,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -155,6 +156,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -175,6 +180,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -203,7 +210,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -135,6 +135,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -149,6 +150,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -169,6 +174,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -280,7 +287,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import re
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -204,7 +211,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -237,6 +237,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -251,6 +252,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -271,6 +276,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -539,7 +546,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -304,7 +311,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -718,6 +718,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -732,6 +733,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -752,6 +757,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -771,7 +778,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -176,6 +176,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -190,6 +191,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -210,6 +215,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -398,7 +405,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import re
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -277,7 +284,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -472,6 +472,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -486,6 +487,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -506,6 +511,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -922,7 +929,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import re
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -522,7 +529,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -154,6 +154,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -168,6 +169,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -285,7 +292,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -92,6 +92,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -106,6 +107,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -126,6 +131,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -160,7 +167,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -100,6 +100,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -114,6 +115,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -134,6 +139,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -167,7 +174,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -961,7 +961,7 @@ options:
|
|||
paths:
|
||||
description:
|
||||
- 'The list of path patterns to match. Each must start with / and the
|
||||
only place a \* is allowed is at the end following a /. The string fed
|
||||
only place a \\ * is allowed is at the end following a /. The string fed
|
||||
to the path matcher does not include any text after the first ? or #,
|
||||
and those chars are not allowed here.'
|
||||
elements: str
|
||||
|
@ -1602,6 +1602,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -1616,6 +1617,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -2522,7 +2527,7 @@ pathMatchers:
|
|||
paths:
|
||||
description:
|
||||
- 'The list of path patterns to match. Each must start with / and the only
|
||||
place a \* is allowed is at the end following a /. The string fed to the
|
||||
place a \\* is allowed is at the end following a /. The string fed to the
|
||||
path matcher does not include any text after the first ? or #, and those
|
||||
chars are not allowed here.'
|
||||
returned: success
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -991,7 +998,7 @@ resources:
|
|||
paths:
|
||||
description:
|
||||
- 'The list of path patterns to match. Each must start with / and the
|
||||
only place a \* is allowed is at the end following a /. The string
|
||||
only place a \\* is allowed is at the end following a /. The string
|
||||
fed to the path matcher does not include any text after the first
|
||||
? or #, and those chars are not allowed here.'
|
||||
returned: success
|
||||
|
@ -1588,7 +1595,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -162,6 +162,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -176,6 +177,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -196,6 +201,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -349,7 +356,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -242,7 +249,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -274,6 +274,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -288,6 +289,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -533,7 +538,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -330,7 +337,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -174,6 +174,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -188,6 +189,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -208,6 +213,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -201,7 +208,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -141,6 +141,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -155,6 +156,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -175,6 +180,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -206,7 +213,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -157,6 +157,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -171,6 +172,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -191,6 +196,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -244,7 +251,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -89,6 +89,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -103,6 +104,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -123,6 +128,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -133,7 +140,6 @@ EXAMPLES = '''
|
|||
- name: create a SSL certificate
|
||||
google.cloud.gcp_compute_ssl_certificate:
|
||||
name: test_object
|
||||
region: us-central1
|
||||
description: A certificate for testing. Do not use this certificate in production
|
||||
certificate: |-
|
||||
-----BEGIN CERTIFICATE-----
|
||||
|
@ -209,7 +215,7 @@ privateKey:
|
|||
# Imports
|
||||
################################################################################
|
||||
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest, replace_resource_dict
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
import json
|
||||
import time
|
||||
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -155,7 +162,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -99,6 +99,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -113,6 +114,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -133,6 +138,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -240,7 +247,6 @@ from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import (
|
|||
GcpModule,
|
||||
GcpRequest,
|
||||
remove_nones_from_dict,
|
||||
replace_resource_dict,
|
||||
)
|
||||
import json
|
||||
import time
|
||||
|
|
|
@ -59,6 +59,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -73,6 +74,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -91,6 +96,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -191,7 +198,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -151,6 +151,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -165,6 +166,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -186,6 +191,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
|
@ -64,6 +64,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -78,6 +79,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -96,6 +101,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
@ -210,7 +217,7 @@ resources:
|
|||
################################################################################
|
||||
# Imports
|
||||
################################################################################
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule, GcpRequest
|
||||
from ansible_collections.google.cloud.plugins.module_utils.gcp_utils import navigate_hash, GcpSession, GcpModule
|
||||
import json
|
||||
|
||||
################################################################################
|
||||
|
|
|
@ -93,6 +93,7 @@ options:
|
|||
- application
|
||||
- machineaccount
|
||||
- serviceaccount
|
||||
- accesstoken
|
||||
service_account_contents:
|
||||
description:
|
||||
- The contents of a Service Account JSON file, either in a dictionary or as a
|
||||
|
@ -107,6 +108,10 @@ options:
|
|||
- An optional service account email address if machineaccount is selected and
|
||||
the user does not wish to use the default email.
|
||||
type: str
|
||||
access_token:
|
||||
description:
|
||||
- An OAuth2 access token if credential type is accesstoken.
|
||||
type: str
|
||||
scopes:
|
||||
description:
|
||||
- Array of scopes to be used
|
||||
|
@ -127,6 +132,8 @@ notes:
|
|||
env variable.
|
||||
- For authentication, you can set service_account_email using the C(GCP_SERVICE_ACCOUNT_EMAIL)
|
||||
env variable.
|
||||
- For authentication, you can set access_token using the C(GCP_ACCESS_TOKEN)
|
||||
env variable.
|
||||
- For authentication, you can set auth_kind using the C(GCP_AUTH_KIND) env variable.
|
||||
- For authentication, you can set scopes using the C(GCP_SCOPES) env variable.
|
||||
- Environment variables values will only be used if the playbook values are not set.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue