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 *.tar.gz
venv/ venv/
changelogs/.plugin-cache.yaml 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'))), negative_caching_policy=dict(type='list', elements='dict', options=dict(code=dict(type='int'), ttl=dict(type='int'))),
cache_mode=dict(type='str'), cache_mode=dict(type='str'),
serve_while_stale=dict(type='int'), 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'), 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'negativeCachingPolicy': BackendBucketNegativecachingpolicyArray(self.request.get('negative_caching_policy', []), self.module).to_request(),
u'cacheMode': self.request.get('cache_mode'), u'cacheMode': self.request.get('cache_mode'),
u'serveWhileStale': self.request.get('serve_while_stale'), 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 in PEM format.
- The certificate chain must be no greater than 5 certs long. - The certificate chain must be no greater than 5 certs long.
- The chain must include at least one intermediate cert. - The chain must include at least one intermediate cert.
required: true required: false
type: str type: str
description: description:
description: description:
@ -71,10 +71,23 @@ options:
which cannot be a dash. which cannot be a dash.
required: false required: false
type: str 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: private_key:
description: description:
- The write-only private key in PEM format. - The write-only private key in PEM format.
required: true required: false
type: str type: str
project: project:
description: description:
@ -209,6 +222,17 @@ privateKey:
- The write-only private key in PEM format. - The write-only private key in PEM format.
returned: success returned: success
type: str 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( module = GcpModule(
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), 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'), description=dict(type='str'),
name=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'description': module.params.get('description'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'privateKey': module.params.get('private_key'), u'privateKey': module.params.get('private_key'),
u'managed': module.params.get('managed'),
u'type': module.params.get('type'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():

View file

@ -832,6 +832,7 @@ def main():
backend_type=dict(type='str'), backend_type=dict(type='str'),
connection_name=dict(type='str'), connection_name=dict(type='str'),
database_version=dict(type='str'), database_version=dict(type='str'),
root_password=dict(type='str'),
failover_replica=dict(type='dict', options=dict(name=dict(type='str'))), failover_replica=dict(type='dict', options=dict(name=dict(type='str'))),
instance_type=dict(type='str'), instance_type=dict(type='str'),
ipv6_address=dict(type='str'), ipv6_address=dict(type='str'),
@ -878,9 +879,12 @@ def main():
), ),
), ),
tier=dict(type='str'), tier=dict(type='str'),
edition=dict(type='str', choices=['ENTERPRISE', 'ENTERPRISE_PLUS']),
deletion_protection_enabled=dict(type='bool'),
availability_type=dict(type='str'), 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( 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'), user_labels=dict(type='dict'),
), ),
@ -941,6 +945,7 @@ def resource_to_request(module):
u'backendType': module.params.get('backend_type'), u'backendType': module.params.get('backend_type'),
u'connectionName': module.params.get('connection_name'), u'connectionName': module.params.get('connection_name'),
u'databaseVersion': module.params.get('database_version'), 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'failoverReplica': InstanceFailoverreplica(module.params.get('failover_replica', {}), module).to_request(),
u'instanceType': module.params.get('instance_type'), u'instanceType': module.params.get('instance_type'),
u'ipv6Address': module.params.get('ipv6_address'), 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'databaseFlags': InstanceDatabaseflagsArray(self.request.get('database_flags', []), self.module).to_request(),
u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(), u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(),
u'tier': self.request.get('tier'), 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'availabilityType': self.request.get('availability_type'),
u'backupConfiguration': InstanceBackupconfiguration(self.request.get('backup_configuration', {}), self.module).to_request(), u'backupConfiguration': InstanceBackupconfiguration(self.request.get('backup_configuration', {}), self.module).to_request(),
u'userLabels': self.request.get('user_labels'), 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'databaseFlags': InstanceDatabaseflagsArray(self.request.get(u'databaseFlags', []), self.module).from_response(),
u'ipConfiguration': InstanceIpconfiguration(self.request.get(u'ipConfiguration', {}), self.module).from_response(), u'ipConfiguration': InstanceIpconfiguration(self.request.get(u'ipConfiguration', {}), self.module).from_response(),
u'tier': self.request.get(u'tier'), 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'availabilityType': self.request.get(u'availabilityType'),
u'backupConfiguration': InstanceBackupconfiguration(self.request.get(u'backupConfiguration', {}), self.module).from_response(), u'backupConfiguration': InstanceBackupconfiguration(self.request.get(u'backupConfiguration', {}), self.module).from_response(),
u'userLabels': self.request.get(u'userLabels'), 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): def to_request(self):
return remove_nones_from_dict( 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): def from_response(self):
return remove_nones_from_dict( 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__': if __name__ == '__main__':
main() main()