diff --git a/plugins/modules/gcp_compute_disk.py b/plugins/modules/gcp_compute_disk.py index 1ea7c95ae..ff623028e 100644 --- a/plugins/modules/gcp_compute_disk.py +++ b/plugins/modules/gcp_compute_disk.py @@ -150,7 +150,7 @@ kms_key_service_account: description: - The service account used for the encryption request for the given KMS key. - If absent, the Compute Engine Service Agent service account is used. + - If absent, the Compute Engine Service Agent service account is used. required: false type: str disk_encryption_key: @@ -182,7 +182,7 @@ kms_key_service_account: description: - The service account used for the encryption request for the given KMS key. - If absent, the Compute Engine Service Agent service account is used. + - If absent, the Compute Engine Service Agent service account is used. required: false type: str source_snapshot: @@ -418,7 +418,7 @@ kmsKeyServiceAccount: description: - The service account used for the encryption request for the given KMS key. - If absent, the Compute Engine Service Agent service account is used. + - If absent, the Compute Engine Service Agent service account is used. returned: success type: str sourceImageId: @@ -465,7 +465,7 @@ kmsKeyServiceAccount: description: - The service account used for the encryption request for the given KMS key. - If absent, the Compute Engine Service Agent service account is used. + - If absent, the Compute Engine Service Agent service account is used. returned: success type: str sourceSnapshot: diff --git a/plugins/modules/gcp_compute_disk_info.py b/plugins/modules/gcp_compute_disk_info.py index a05bb4442..619c98620 100644 --- a/plugins/modules/gcp_compute_disk_info.py +++ b/plugins/modules/gcp_compute_disk_info.py @@ -250,7 +250,8 @@ kmsKeyServiceAccount: description: - The service account used for the encryption request for the given KMS - key. If absent, the Compute Engine Service Agent service account is used. + key. + - If absent, the Compute Engine Service Agent service account is used. returned: success type: str sourceImageId: @@ -298,7 +299,8 @@ kmsKeyServiceAccount: description: - The service account used for the encryption request for the given KMS - key. If absent, the Compute Engine Service Agent service account is used. + key. + - If absent, the Compute Engine Service Agent service account is used. returned: success type: str sourceSnapshot: diff --git a/plugins/modules/gcp_compute_snapshot.py b/plugins/modules/gcp_compute_snapshot.py index a94a4abed..428bef036 100644 --- a/plugins/modules/gcp_compute_snapshot.py +++ b/plugins/modules/gcp_compute_snapshot.py @@ -70,6 +70,12 @@ - An optional description of this resource. required: false type: str + storage_locations: + description: + - Cloud Storage bucket storage location of the snapshot (regional or multi-regional). + elements: str + required: false + type: list labels: description: - Labels to apply to this Snapshot. @@ -108,6 +114,12 @@ - The name of the encryption key that is stored in Google Cloud KMS. required: false type: str + kms_key_service_account: + description: + - The service account used for the encryption request for the given KMS key. + - If absent, the Compute Engine Service Agent service account is used. + required: false + type: str source_disk_encryption_key: description: - The customer-supplied encryption key of the source snapshot. Required if the @@ -126,6 +138,12 @@ - The name of the encryption key that is stored in Google Cloud KMS. required: false type: str + kms_key_service_account: + description: + - The service account used for the encryption request for the given KMS key. + - If absent, the Compute Engine Service Agent service account is used. + required: false + type: str project: description: - The Google Cloud Platform project to use. @@ -240,6 +258,11 @@ is expected to change with snapshot creation/deletion. returned: success type: int +storageLocations: + description: + - Cloud Storage bucket storage location of the snapshot (regional or multi-regional). + returned: success + type: list licenses: description: - A list of public visible licenses that apply to this snapshot. This can be because @@ -292,6 +315,12 @@ - The name of the encryption key that is stored in Google Cloud KMS. returned: success type: str + kmsKeyServiceAccount: + description: + - The service account used for the encryption request for the given KMS key. + - If absent, the Compute Engine Service Agent service account is used. + returned: success + type: str sourceDiskEncryptionKey: description: - The customer-supplied encryption key of the source snapshot. Required if the source @@ -310,6 +339,12 @@ - The name of the encryption key that is stored in Google Cloud KMS. returned: success type: str + kmsKeyServiceAccount: + description: + - The service account used for the encryption request for the given KMS key. + - If absent, the Compute Engine Service Agent service account is used. + returned: success + type: str ''' ################################################################################ @@ -341,11 +376,16 @@ def main(): state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), description=dict(type='str'), + storage_locations=dict(type='list', elements='str'), labels=dict(type='dict'), source_disk=dict(required=True, type='dict'), zone=dict(type='str'), - snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'))), - source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'))), + snapshot_encryption_key=dict( + type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str')) + ), + source_disk_encryption_key=dict( + type='dict', options=dict(raw_key=dict(type='str'), kms_key_name=dict(type='str'), kms_key_service_account=dict(type='str')) + ), ) ) @@ -415,6 +455,7 @@ def resource_to_request(module): u'zone': module.params.get('zone'), u'name': module.params.get('name'), u'description': module.params.get('description'), + u'storageLocations': module.params.get('storage_locations'), u'labels': module.params.get('labels'), } return_vals = {} @@ -492,6 +533,7 @@ def response_to_hash(module, response): u'name': module.params.get('name'), u'description': module.params.get('description'), u'storageBytes': response.get(u'storageBytes'), + u'storageLocations': response.get(u'storageLocations'), u'licenses': response.get(u'licenses'), u'labels': response.get(u'labels'), u'labelFingerprint': response.get(u'labelFingerprint'), @@ -551,10 +593,22 @@ def __init__(self, request, module): self.request = {} def to_request(self): - return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')}) + return remove_nones_from_dict( + { + u'rawKey': self.request.get('raw_key'), + u'kmsKeyName': self.request.get('kms_key_name'), + u'kmsKeyServiceAccount': self.request.get('kms_key_service_account'), + } + ) def from_response(self): - return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'kmsKeyName': self.request.get(u'kmsKeyName')}) + return remove_nones_from_dict( + { + u'rawKey': self.request.get(u'rawKey'), + u'kmsKeyName': self.request.get(u'kmsKeyName'), + u'kmsKeyServiceAccount': self.request.get(u'kmsKeyServiceAccount'), + } + ) class SnapshotSourcediskencryptionkey(object): @@ -566,10 +620,22 @@ def __init__(self, request, module): self.request = {} def to_request(self): - return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')}) + return remove_nones_from_dict( + { + u'rawKey': self.request.get('raw_key'), + u'kmsKeyName': self.request.get('kms_key_name'), + u'kmsKeyServiceAccount': self.request.get('kms_key_service_account'), + } + ) def from_response(self): - return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'kmsKeyName': self.request.get(u'kmsKeyName')}) + return remove_nones_from_dict( + { + u'rawKey': self.request.get(u'rawKey'), + u'kmsKeyName': self.request.get(u'kmsKeyName'), + u'kmsKeyServiceAccount': self.request.get(u'kmsKeyServiceAccount'), + } + ) if __name__ == '__main__': diff --git a/plugins/modules/gcp_compute_snapshot_info.py b/plugins/modules/gcp_compute_snapshot_info.py index 3c6fe0c02..88a12f35f 100644 --- a/plugins/modules/gcp_compute_snapshot_info.py +++ b/plugins/modules/gcp_compute_snapshot_info.py @@ -149,6 +149,11 @@ number is expected to change with snapshot creation/deletion. returned: success type: int + storageLocations: + description: + - Cloud Storage bucket storage location of the snapshot (regional or multi-regional). + returned: success + type: list licenses: description: - A list of public visible licenses that apply to this snapshot. This can be @@ -202,6 +207,13 @@ - The name of the encryption key that is stored in Google Cloud KMS. returned: success type: str + kmsKeyServiceAccount: + description: + - The service account used for the encryption request for the given KMS + key. + - If absent, the Compute Engine Service Agent service account is used. + returned: success + type: str sourceDiskEncryptionKey: description: - The customer-supplied encryption key of the source snapshot. Required if the @@ -220,6 +232,13 @@ - The name of the encryption key that is stored in Google Cloud KMS. returned: success type: str + kmsKeyServiceAccount: + description: + - The service account used for the encryption request for the given KMS + key. + - If absent, the Compute Engine Service Agent service account is used. + returned: success + type: str ''' ################################################################################