This commit is contained in:
Prakasa 2025-07-29 17:19:57 +00:00 committed by GitHub
commit 4cf87c4958
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 86 additions and 7 deletions

1
.gitignore vendored
View file

@ -8,3 +8,4 @@ __pycache__
*.tar.gz
venv/
changelogs/.plugin-cache.yaml
*.DS_Store*

View file

@ -400,6 +400,7 @@ def main():
negative_caching_policy=dict(type='list', elements='dict', options=dict(code=dict(type='int'), ttl=dict(type='int'))),
cache_mode=dict(type='str'),
serve_while_stale=dict(type='int'),
bypass_cache_on_request_headers=dict(type='list', elements='dict', options=dict(header_name=dict(type='str'))),
),
),
custom_response_headers=dict(type='list', elements='str'),
@ -594,6 +595,7 @@ class BackendBucketCdnpolicy(object):
u'negativeCachingPolicy': BackendBucketNegativecachingpolicyArray(self.request.get('negative_caching_policy', []), self.module).to_request(),
u'cacheMode': self.request.get('cache_mode'),
u'serveWhileStale': self.request.get('serve_while_stale'),
u'bypassCacheOnRequestHeaders': self.request.get('bypass_cache_on_request_headers'),
}
)

View file

@ -54,7 +54,7 @@ options:
- The certificate in PEM format.
- The certificate chain must be no greater than 5 certs long.
- The chain must include at least one intermediate cert.
required: true
required: false
type: str
description:
description:
@ -71,10 +71,23 @@ options:
which cannot be a dash.
required: false
type: str
managed:
description:
- The configuration and status of a managed SSL certificate.
required: false
type: dict
type:
description:
- Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified,
the certificate is self-managed and the fields certificate and privateKey are used.
choices:
- MANAGED
- SELF_MANAGED
type: str
private_key:
description:
- The write-only private key in PEM format.
required: true
required: false
type: str
project:
description:
@ -209,6 +222,17 @@ privateKey:
- The write-only private key in PEM format.
returned: success
type: str
managed:
description:
- The configuration and status of a managed SSL certificate.
returned: success
type: dict
type:
description:
- Specifies the type of SSL certificate, either "SELF_MANAGED" or "MANAGED". If not specified,
the certificate is self-managed and the fields certificate and privateKey are used.
returned: success
type: str
'''
################################################################################
@ -230,10 +254,12 @@ def main():
module = GcpModule(
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'),
certificate=dict(required=True, type='str'),
certificate=dict(required=False, type='str'),
description=dict(type='str'),
name=dict(type='str'),
private_key=dict(required=True, type='str', no_log=True),
private_key=dict(required=False, type='str', no_log=True),
managed=dict(required=False, type='dict'),
type=dict(required=False, type='str'),
)
)
@ -290,6 +316,8 @@ def resource_to_request(module):
u'description': module.params.get('description'),
u'name': module.params.get('name'),
u'privateKey': module.params.get('private_key'),
u'managed': module.params.get('managed'),
u'type': module.params.get('type'),
}
return_vals = {}
for k, v in request.items():

View file

@ -832,6 +832,7 @@ def main():
backend_type=dict(type='str'),
connection_name=dict(type='str'),
database_version=dict(type='str'),
root_password=dict(type='str'),
failover_replica=dict(type='dict', options=dict(name=dict(type='str'))),
instance_type=dict(type='str'),
ipv6_address=dict(type='str'),
@ -878,9 +879,12 @@ def main():
),
),
tier=dict(type='str'),
edition=dict(type='str', choices=['ENTERPRISE', 'ENTERPRISE_PLUS']),
deletion_protection_enabled=dict(type='bool'),
availability_type=dict(type='str'),
location_preference=dict(type='dict', options=dict(follow_gae_apps=dict(type='string'), zone=dict(type='str'), secondary_zone=dict(type='str'), kind=dict(type='str'))),
backup_configuration=dict(
type='dict', options=dict(enabled=dict(type='bool'), binary_log_enabled=dict(type='bool'), start_time=dict(type='str'))
type='dict', options=dict(enabled=dict(type='bool'), binary_log_enabled=dict(type='bool'), start_time=dict(type='str'), point_in_time_recovery_enabled=dict(type='bool'))
),
user_labels=dict(type='dict'),
),
@ -941,6 +945,7 @@ def resource_to_request(module):
u'backendType': module.params.get('backend_type'),
u'connectionName': module.params.get('connection_name'),
u'databaseVersion': module.params.get('database_version'),
u'rootPassword': module.params.get('root_password'),
u'failoverReplica': InstanceFailoverreplica(module.params.get('failover_replica', {}), module).to_request(),
u'instanceType': module.params.get('instance_type'),
u'ipv6Address': module.params.get('ipv6_address'),
@ -1204,9 +1209,12 @@ class InstanceSettings(object):
u'databaseFlags': InstanceDatabaseflagsArray(self.request.get('database_flags', []), self.module).to_request(),
u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(),
u'tier': self.request.get('tier'),
u'edition': self.request.get('edition'),
u'deletionProtectionEnabled': self.request.get('deletion_protection_enabled'),
u'availabilityType': self.request.get('availability_type'),
u'backupConfiguration': InstanceBackupconfiguration(self.request.get('backup_configuration', {}), self.module).to_request(),
u'userLabels': self.request.get('user_labels'),
u'locationPreference': InstanceLocationPreference(self.request.get('location_preference', {}), self.module).to_request(),
}
)
@ -1216,9 +1224,12 @@ class InstanceSettings(object):
u'databaseFlags': InstanceDatabaseflagsArray(self.request.get(u'databaseFlags', []), self.module).from_response(),
u'ipConfiguration': InstanceIpconfiguration(self.request.get(u'ipConfiguration', {}), self.module).from_response(),
u'tier': self.request.get(u'tier'),
u'edition': self.request.get('edition'),
u'deletionProtectionEnabled': self.request.get('deletion_protection_enabled'),
u'availabilityType': self.request.get(u'availabilityType'),
u'backupConfiguration': InstanceBackupconfiguration(self.request.get(u'backupConfiguration', {}), self.module).from_response(),
u'userLabels': self.request.get(u'userLabels'),
u'locationPreference': InstanceLocationPreference(self.request.get('location_preference', {}), self.module).from_response(),
}
)
@ -1316,12 +1327,22 @@ class InstanceBackupconfiguration(object):
def to_request(self):
return remove_nones_from_dict(
{u'enabled': self.request.get('enabled'), u'binaryLogEnabled': self.request.get('binary_log_enabled'), u'startTime': self.request.get('start_time')}
{
u'enabled': self.request.get('enabled'),
u'binaryLogEnabled': self.request.get('binary_log_enabled'),
u'startTime': self.request.get('start_time'),
u'pointInTimeRecoveryEnabled': self.request.get('binary_log_enabled'),
}
)
def from_response(self):
return remove_nones_from_dict(
{u'enabled': self.request.get(u'enabled'), u'binaryLogEnabled': self.request.get(u'binaryLogEnabled'), u'startTime': self.request.get(u'startTime')}
{
u'enabled': self.request.get(u'enabled'),
u'binaryLogEnabled': self.request.get(u'binaryLogEnabled'),
u'startTime': self.request.get('start_time'),
u'pointInTimeRecoveryEnabled': self.request.get('binary_log_enabled'),
}
)
@ -1387,6 +1408,33 @@ class InstanceServercacert(object):
}
)
class InstanceLocationPreference(object):
def __init__(self, request, module):
self.module = module
if request:
self.request = request
else:
self.request = {}
def to_request(self):
return remove_nones_from_dict(
{
u'followGaeApplication': self.request.get('follow_gae_application'),
u'zone': self.request.get('zone'),
u'secondaryZone': self.request.get('secondary_zone'),
u'kind': self.request.get('kind'),
}
)
def from_response(self):
return remove_nones_from_dict(
{
u'followGaeApplication': self.request.get('follow_gae_application'),
u'zone': self.request.get('zone'),
u'secondaryZone': self.request.get('secondary_zone'),
u'kind': self.request.get('kind'),
}
)
if __name__ == '__main__':
main()