From 971167ade4be6ce4b9b9e7f25bd1a07e2993a2b7 Mon Sep 17 00:00:00 2001 From: Jesus Perez Rey Date: Mon, 5 Dec 2022 16:06:30 +0100 Subject: [PATCH] Add support for GCP shared VPC. Signed-off-by: Jesus Perez Rey --- plugins/modules/env.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/modules/env.py b/plugins/modules/env.py index 82865c75..2e5036f6 100644 --- a/plugins/modules/env.py +++ b/plugins/modules/env.py @@ -217,6 +217,11 @@ aliases: - proxy_config - proxy_config_name + vpc_project_id: + description: + - GCP project id that hosts the VPC when using shared VPC. + type: str + required: False force: description: - Flag to remove CDP and cloud provider resources, but ignore cloud provider resources deletion errors. @@ -670,6 +675,7 @@ def __init__(self, module): self.freeipa = self._get_param('freeipa') self.proxy = self._get_param('proxy') self.project = self._get_param('project') + self.vpc_project_id = self._get_param('vpc_project_id') self.delay = self._get_param('delay') self.timeout = self._get_param('timeout') @@ -900,7 +906,7 @@ def _configure_payload(self): payload['existingNetworkParams'] = dict( networkName=self.vpc_id, subnetNames=self.subnet_ids, - sharedProjectId=self.project + sharedProjectId=self.vpc_project_id if self.vpc_project_id else self.project ) payload['usePublicIp'] = self.public_ip payload['logStorage'] = dict(serviceAccountEmail=self.log_identity, storageLocationBase=self.log_location) @@ -1033,6 +1039,7 @@ def main(): ), default=dict(instanceCountByGroup=2)), project=dict(required=False, type='str'), proxy=dict(required=False, type='str', aliases=['[proxy_config', 'proxy_config_name']), + vpc_project_id=dict(required=False, type='str'), cascade=dict(required=False, type='bool', default=False, aliases=['cascading']), force=dict(required=False, type='bool', default=False), wait=dict(required=False, type='bool', default=True),