diff --git a/lib/ansible/modules/cloud/google/gcp_compute_https_health_check.py b/lib/ansible/modules/cloud/google/gcp_compute_https_health_check.py index 84054f37a6..72e9832b28 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_https_health_check.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_https_health_check.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -220,7 +219,7 @@ def main(): port=dict(type='int'), request_path=dict(type='str'), timeout_sec=dict(type='int', aliases=['timeout_seconds']), - unhealthy_threshold=dict(type='int') + unhealthy_threshold=dict(type='int'), ) ) @@ -281,7 +280,7 @@ def resource_to_request(module): u'port': module.params.get('port'), u'requestPath': module.params.get('request_path'), u'timeoutSec': module.params.get('timeout_sec'), - u'unhealthyThreshold': module.params.get('unhealthy_threshold') + u'unhealthyThreshold': module.params.get('unhealthy_threshold'), } return_vals = {} for k, v in request.items(): @@ -316,8 +315,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -357,7 +356,7 @@ def response_to_hash(module, response): u'port': response.get(u'port'), u'requestPath': response.get(u'requestPath'), u'timeoutSec': response.get(u'timeoutSec'), - u'unhealthyThreshold': response.get(u'unhealthyThreshold') + u'unhealthyThreshold': response.get(u'unhealthyThreshold'), } @@ -383,7 +382,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_https_health_check_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_https_health_check_facts.py index ca015c068b..47605bfe9c 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_https_health_check_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_https_health_check_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -149,11 +148,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -163,9 +158,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_image.py b/lib/ansible/modules/cloud/google/gcp_compute_image.py index fec986d9f8..8083167342 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_image.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_image.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -452,28 +451,19 @@ def main(): description=dict(type='str'), disk_size_gb=dict(type='int'), family=dict(type='str'), - guest_os_features=dict(type='list', elements='dict', options=dict( - type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE']) - )), - image_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - sha256=dict(type='str') - )), + guest_os_features=dict(type='list', elements='dict', options=dict(type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE']))), + image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), labels=dict(type='dict'), licenses=dict(type='list', elements='str'), name=dict(required=True, type='str'), - raw_disk=dict(type='dict', options=dict( - container_type=dict(type='str', choices=['TAR']), - sha1_checksum=dict(type='str'), - source=dict(required=True, type='str') - )), + raw_disk=dict( + type='dict', + options=dict(container_type=dict(type='str', choices=['TAR']), sha1_checksum=dict(type='str'), source=dict(required=True, type='str')), + ), source_disk=dict(), - source_disk_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - sha256=dict(type='str') - )), + source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), source_disk_id=dict(type='str'), - source_type=dict(type='str', choices=['RAW']) + source_type=dict(type='str', choices=['RAW']), ) ) @@ -514,8 +504,7 @@ def create(module, link, kind): def update(module, link, kind, fetch): - update_fields(module, resource_to_request(module), - response_to_hash(module, fetch)) + update_fields(module, resource_to_request(module), response_to_hash(module, fetch)) return fetch_resource(module, self_link(module), kind) @@ -527,14 +516,8 @@ def update_fields(module, request, response): def labels_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( - ''.join([ - "https://www.googleapis.com/compute/v1/", - "projects/{project}/global/images/{name}/setLabels" - ]).format(**module.params), - { - u'labels': module.params.get('labels'), - u'labelFingerprint': response.get('labelFingerprint') - } + ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/images/{name}/setLabels"]).format(**module.params), + {u'labels': module.params.get('labels'), u'labelFingerprint': response.get('labelFingerprint')}, ) @@ -558,7 +541,7 @@ def resource_to_request(module): u'sourceDisk': replace_resource_dict(module.params.get(u'source_disk', {}), 'selfLink'), u'sourceDiskEncryptionKey': ImageSourcediskencryptionkey(module.params.get('source_disk_encryption_key', {}), module).to_request(), u'sourceDiskId': module.params.get('source_disk_id'), - u'sourceType': module.params.get('source_type') + u'sourceType': module.params.get('source_type'), } return_vals = {} for k, v in request.items(): @@ -593,8 +576,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -641,7 +624,7 @@ def response_to_hash(module, response): u'sourceDisk': response.get(u'sourceDisk'), u'sourceDiskEncryptionKey': ImageSourcediskencryptionkey(response.get(u'sourceDiskEncryptionKey', {}), module).from_response(), u'sourceDiskId': response.get(u'sourceDiskId'), - u'sourceType': response.get(u'sourceType') + u'sourceType': response.get(u'sourceType'), } @@ -667,7 +650,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -689,22 +672,26 @@ class ImageDeprecated(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'deleted': self.request.get('deleted'), - u'deprecated': self.request.get('deprecated'), - u'obsolete': self.request.get('obsolete'), - u'replacement': self.request.get('replacement'), - u'state': self.request.get('state') - }) + return remove_nones_from_dict( + { + u'deleted': self.request.get('deleted'), + u'deprecated': self.request.get('deprecated'), + u'obsolete': self.request.get('obsolete'), + u'replacement': self.request.get('replacement'), + u'state': self.request.get('state'), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'deleted': self.request.get(u'deleted'), - u'deprecated': self.request.get(u'deprecated'), - u'obsolete': self.request.get(u'obsolete'), - u'replacement': self.request.get(u'replacement'), - u'state': self.request.get(u'state') - }) + return remove_nones_from_dict( + { + u'deleted': self.request.get(u'deleted'), + u'deprecated': self.request.get(u'deprecated'), + u'obsolete': self.request.get(u'obsolete'), + u'replacement': self.request.get(u'replacement'), + u'state': self.request.get(u'state'), + } + ) class ImageGuestosfeaturesArray(object): @@ -728,14 +715,10 @@ class ImageGuestosfeaturesArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'type': item.get('type') - }) + return remove_nones_from_dict({u'type': item.get('type')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'type': item.get(u'type') - }) + return remove_nones_from_dict({u'type': item.get(u'type')}) class ImageImageencryptionkey(object): @@ -747,16 +730,10 @@ class ImageImageencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')}) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')}) class ImageRawdisk(object): @@ -768,18 +745,14 @@ class ImageRawdisk(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'containerType': self.request.get('container_type'), - u'sha1Checksum': self.request.get('sha1_checksum'), - u'source': self.request.get('source') - }) + return remove_nones_from_dict( + {u'containerType': self.request.get('container_type'), u'sha1Checksum': self.request.get('sha1_checksum'), u'source': self.request.get('source')} + ) def from_response(self): - return remove_nones_from_dict({ - u'containerType': self.request.get(u'containerType'), - u'sha1Checksum': self.request.get(u'sha1Checksum'), - u'source': self.request.get(u'source') - }) + return remove_nones_from_dict( + {u'containerType': self.request.get(u'containerType'), u'sha1Checksum': self.request.get(u'sha1Checksum'), u'source': self.request.get(u'source')} + ) class ImageSourcediskencryptionkey(object): @@ -791,16 +764,10 @@ class ImageSourcediskencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')}) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py index 680c56aca0..a9b67bf847 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_image_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -291,11 +290,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -305,9 +300,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance.py b/lib/ansible/modules/cloud/google/gcp_compute_instance.py index 5c389a75eb..23a0d80f29 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -891,70 +890,60 @@ def main(): argument_spec=dict( state=dict(default='present', choices=['present', 'absent'], type='str'), can_ip_forward=dict(type='bool'), - disks=dict(type='list', elements='dict', options=dict( - auto_delete=dict(type='bool'), - boot=dict(type='bool'), - device_name=dict(type='str'), - disk_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - rsa_encrypted_key=dict(type='str'), - sha256=dict(type='str') - )), - index=dict(type='int'), - initialize_params=dict(type='dict', options=dict( - disk_name=dict(type='str'), - disk_size_gb=dict(type='int'), - disk_type=dict(type='str'), - source_image=dict(type='str'), - source_image_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - sha256=dict(type='str') - )) - )), - interface=dict(type='str', choices=['SCSI', 'NVME']), - mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), - source=dict(), - type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']) - )), - guest_accelerators=dict(type='list', elements='dict', options=dict( - accelerator_count=dict(type='int'), - accelerator_type=dict(type='str') - )), + disks=dict( + type='list', + elements='dict', + options=dict( + auto_delete=dict(type='bool'), + boot=dict(type='bool'), + device_name=dict(type='str'), + disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'), sha256=dict(type='str'))), + index=dict(type='int'), + initialize_params=dict( + type='dict', + options=dict( + disk_name=dict(type='str'), + disk_size_gb=dict(type='int'), + disk_type=dict(type='str'), + source_image=dict(type='str'), + source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), + ), + ), + interface=dict(type='str', choices=['SCSI', 'NVME']), + mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), + source=dict(), + type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']), + ), + ), + guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))), label_fingerprint=dict(type='str'), metadata=dict(type='dict'), machine_type=dict(type='str'), min_cpu_platform=dict(type='str'), name=dict(type='str'), - network_interfaces=dict(type='list', elements='dict', options=dict( - access_configs=dict(type='list', elements='dict', options=dict( - name=dict(required=True, type='str'), - nat_ip=dict(), - type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) - )), - alias_ip_ranges=dict(type='list', elements='dict', options=dict( - ip_cidr_range=dict(type='str'), - subnetwork_range_name=dict(type='str') - )), - name=dict(type='str'), - network=dict(), - network_ip=dict(type='str'), - subnetwork=dict() - )), - scheduling=dict(type='dict', options=dict( - automatic_restart=dict(type='bool'), - on_host_maintenance=dict(type='str'), - preemptible=dict(type='bool') - )), - service_accounts=dict(type='list', elements='dict', options=dict( - email=dict(type='str'), - scopes=dict(type='list', elements='str') - )), + network_interfaces=dict( + type='list', + elements='dict', + options=dict( + access_configs=dict( + type='list', + elements='dict', + options=dict(name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])), + ), + alias_ip_ranges=dict(type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))), + name=dict(type='str'), + network=dict(), + network_ip=dict(type='str'), + subnetwork=dict(), + ), + ), + scheduling=dict( + type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool')) + ), + service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))), status=dict(type='str', choices=['PROVISIONING', 'STAGING', 'RUNNING', 'STOPPING', 'SUSPENDING', 'SUSPENDED', 'TERMINATED']), - tags=dict(type='dict', options=dict( - fingerprint=dict(type='str'), - items=dict(type='list', elements='str') - )), - zone=dict(required=True, type='str') + tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))), + zone=dict(required=True, type='str'), ) ) @@ -1000,8 +989,7 @@ def create(module, link, kind): def update(module, link, kind, fetch): - update_fields(module, resource_to_request(module), - response_to_hash(module, fetch)) + update_fields(module, resource_to_request(module), response_to_hash(module, fetch)) return fetch_resource(module, self_link(module), kind) @@ -1013,13 +1001,8 @@ def update_fields(module, request, response): def machine_type_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( - ''.join([ - "https://www.googleapis.com/compute/v1/", - "projects/{project}/zones/{zone}/instances/{name}/setMachineType" - ]).format(**module.params), - { - u'machineType': machine_type_selflink(module.params.get('machine_type'), module.params) - } + ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/zones/{zone}/instances/{name}/setMachineType"]).format(**module.params), + {u'machineType': machine_type_selflink(module.params.get('machine_type'), module.params)}, ) @@ -1043,7 +1026,7 @@ def resource_to_request(module): u'scheduling': InstanceScheduling(module.params.get('scheduling', {}), module).to_request(), u'serviceAccounts': InstanceServiceaccountsArray(module.params.get('service_accounts', []), module).to_request(), u'status': module.params.get('status'), - u'tags': InstanceTags(module.params.get('tags', {}), module).to_request() + u'tags': InstanceTags(module.params.get('tags', {}), module).to_request(), } request = encode_request(request, module) return_vals = {} @@ -1079,8 +1062,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + except getattr(json.decoder, 'JSONDecodeError', ValueError): + module.fail_json(msg="Invalid JSON response with error: %s" % response.text) result = decode_response(result, module) @@ -1129,7 +1112,7 @@ def response_to_hash(module, response): u'serviceAccounts': InstanceServiceaccountsArray(response.get(u'serviceAccounts', []), module).from_response(), u'status': response.get(u'status'), u'statusMessage': response.get(u'statusMessage'), - u'tags': InstanceTags(response.get(u'tags', {}), module).from_response() + u'tags': InstanceTags(response.get(u'tags', {}), module).from_response(), } @@ -1173,7 +1156,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -1218,13 +1201,8 @@ def metadata_encoder(metadata): metadata_new = [] for key in metadata: value = metadata[key] - metadata_new.append({ - "key": key, - "value": value - }) - return { - 'items': metadata_new - } + metadata_new.append({"key": key, "value": value}) + return {'items': metadata_new} # Map metadata.items[]{key:,value:} => metadata[key]=value @@ -1290,32 +1268,36 @@ class InstanceDisksArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'autoDelete': item.get('auto_delete'), - u'boot': item.get('boot'), - u'deviceName': item.get('device_name'), - u'diskEncryptionKey': InstanceDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(), - u'index': item.get('index'), - u'initializeParams': InstanceInitializeparams(item.get('initialize_params', {}), self.module).to_request(), - u'interface': item.get('interface'), - u'mode': item.get('mode'), - u'source': replace_resource_dict(item.get(u'source', {}), 'selfLink'), - u'type': item.get('type') - }) + return remove_nones_from_dict( + { + u'autoDelete': item.get('auto_delete'), + u'boot': item.get('boot'), + u'deviceName': item.get('device_name'), + u'diskEncryptionKey': InstanceDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(), + u'index': item.get('index'), + u'initializeParams': InstanceInitializeparams(item.get('initialize_params', {}), self.module).to_request(), + u'interface': item.get('interface'), + u'mode': item.get('mode'), + u'source': replace_resource_dict(item.get(u'source', {}), 'selfLink'), + u'type': item.get('type'), + } + ) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'autoDelete': item.get(u'autoDelete'), - u'boot': item.get(u'boot'), - u'deviceName': item.get(u'deviceName'), - u'diskEncryptionKey': InstanceDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(), - u'index': item.get(u'index'), - u'initializeParams': InstanceInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(), - u'interface': item.get(u'interface'), - u'mode': item.get(u'mode'), - u'source': item.get(u'source'), - u'type': item.get(u'type') - }) + return remove_nones_from_dict( + { + u'autoDelete': item.get(u'autoDelete'), + u'boot': item.get(u'boot'), + u'deviceName': item.get(u'deviceName'), + u'diskEncryptionKey': InstanceDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(), + u'index': item.get(u'index'), + u'initializeParams': InstanceInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(), + u'interface': item.get(u'interface'), + u'mode': item.get(u'mode'), + u'source': item.get(u'source'), + u'type': item.get(u'type'), + } + ) class InstanceDiskencryptionkey(object): @@ -1327,18 +1309,14 @@ class InstanceDiskencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'rsaEncryptedKey': self.request.get('rsa_encrypted_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict( + {u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key'), u'sha256': self.request.get('sha256')} + ) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict( + {u'rawKey': self.request.get(u'rawKey'), u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey'), u'sha256': self.request.get(u'sha256')} + ) class InstanceInitializeparams(object): @@ -1350,22 +1328,26 @@ class InstanceInitializeparams(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'diskName': self.request.get('disk_name'), - u'diskSizeGb': self.request.get('disk_size_gb'), - u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params), - u'sourceImage': self.request.get('source_image'), - u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request() - }) + return remove_nones_from_dict( + { + u'diskName': self.request.get('disk_name'), + u'diskSizeGb': self.request.get('disk_size_gb'), + u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params), + u'sourceImage': self.request.get('source_image'), + u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request(), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'diskName': self.request.get(u'diskName'), - u'diskSizeGb': self.request.get(u'diskSizeGb'), - u'diskType': self.request.get(u'diskType'), - u'sourceImage': self.request.get(u'sourceImage'), - u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response() - }) + return remove_nones_from_dict( + { + u'diskName': self.request.get(u'diskName'), + u'diskSizeGb': self.request.get(u'diskSizeGb'), + u'diskType': self.request.get(u'diskType'), + u'sourceImage': self.request.get(u'sourceImage'), + u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response(), + } + ) class InstanceSourceimageencryptionkey(object): @@ -1377,16 +1359,10 @@ class InstanceSourceimageencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')}) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')}) class InstanceGuestacceleratorsArray(object): @@ -1410,16 +1386,10 @@ class InstanceGuestacceleratorsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'acceleratorCount': item.get('accelerator_count'), - u'acceleratorType': item.get('accelerator_type') - }) + return remove_nones_from_dict({u'acceleratorCount': item.get('accelerator_count'), u'acceleratorType': item.get('accelerator_type')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'acceleratorCount': item.get(u'acceleratorCount'), - u'acceleratorType': item.get(u'acceleratorType') - }) + return remove_nones_from_dict({u'acceleratorCount': item.get(u'acceleratorCount'), u'acceleratorType': item.get(u'acceleratorType')}) class InstanceNetworkinterfacesArray(object): @@ -1443,24 +1413,28 @@ class InstanceNetworkinterfacesArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'accessConfigs': InstanceAccessconfigsArray(item.get('access_configs', []), self.module).to_request(), - u'aliasIpRanges': InstanceAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(), - u'name': item.get('name'), - u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'), - u'networkIP': item.get('network_ip'), - u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink') - }) + return remove_nones_from_dict( + { + u'accessConfigs': InstanceAccessconfigsArray(item.get('access_configs', []), self.module).to_request(), + u'aliasIpRanges': InstanceAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(), + u'name': item.get('name'), + u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'), + u'networkIP': item.get('network_ip'), + u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink'), + } + ) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'accessConfigs': InstanceAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(), - u'aliasIpRanges': InstanceAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(), - u'name': item.get(u'name'), - u'network': item.get(u'network'), - u'networkIP': item.get(u'networkIP'), - u'subnetwork': item.get(u'subnetwork') - }) + return remove_nones_from_dict( + { + u'accessConfigs': InstanceAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(), + u'aliasIpRanges': InstanceAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(), + u'name': item.get(u'name'), + u'network': item.get(u'network'), + u'networkIP': item.get(u'networkIP'), + u'subnetwork': item.get(u'subnetwork'), + } + ) class InstanceAccessconfigsArray(object): @@ -1484,18 +1458,12 @@ class InstanceAccessconfigsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'name': item.get('name'), - u'natIP': replace_resource_dict(item.get(u'nat_ip', {}), 'address'), - u'type': item.get('type') - }) + return remove_nones_from_dict( + {u'name': item.get('name'), u'natIP': replace_resource_dict(item.get(u'nat_ip', {}), 'address'), u'type': item.get('type')} + ) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'name': item.get(u'name'), - u'natIP': item.get(u'natIP'), - u'type': item.get(u'type') - }) + return remove_nones_from_dict({u'name': item.get(u'name'), u'natIP': item.get(u'natIP'), u'type': item.get(u'type')}) class InstanceAliasiprangesArray(object): @@ -1519,16 +1487,10 @@ class InstanceAliasiprangesArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'ipCidrRange': item.get('ip_cidr_range'), - u'subnetworkRangeName': item.get('subnetwork_range_name') - }) + return remove_nones_from_dict({u'ipCidrRange': item.get('ip_cidr_range'), u'subnetworkRangeName': item.get('subnetwork_range_name')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'ipCidrRange': item.get(u'ipCidrRange'), - u'subnetworkRangeName': item.get(u'subnetworkRangeName') - }) + return remove_nones_from_dict({u'ipCidrRange': item.get(u'ipCidrRange'), u'subnetworkRangeName': item.get(u'subnetworkRangeName')}) class InstanceScheduling(object): @@ -1540,18 +1502,22 @@ class InstanceScheduling(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'automaticRestart': self.request.get('automatic_restart'), - u'onHostMaintenance': self.request.get('on_host_maintenance'), - u'preemptible': self.request.get('preemptible') - }) + return remove_nones_from_dict( + { + u'automaticRestart': self.request.get('automatic_restart'), + u'onHostMaintenance': self.request.get('on_host_maintenance'), + u'preemptible': self.request.get('preemptible'), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'automaticRestart': self.request.get(u'automaticRestart'), - u'onHostMaintenance': self.request.get(u'onHostMaintenance'), - u'preemptible': self.request.get(u'preemptible') - }) + return remove_nones_from_dict( + { + u'automaticRestart': self.request.get(u'automaticRestart'), + u'onHostMaintenance': self.request.get(u'onHostMaintenance'), + u'preemptible': self.request.get(u'preemptible'), + } + ) class InstanceServiceaccountsArray(object): @@ -1575,16 +1541,10 @@ class InstanceServiceaccountsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'email': item.get('email'), - u'scopes': item.get('scopes') - }) + return remove_nones_from_dict({u'email': item.get('email'), u'scopes': item.get('scopes')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'email': item.get(u'email'), - u'scopes': item.get(u'scopes') - }) + return remove_nones_from_dict({u'email': item.get(u'email'), u'scopes': item.get(u'scopes')}) class InstanceTags(object): @@ -1596,16 +1556,10 @@ class InstanceTags(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'fingerprint': self.request.get('fingerprint'), - u'items': self.request.get('items') - }) + return remove_nones_from_dict({u'fingerprint': self.request.get('fingerprint'), u'items': self.request.get('items')}) def from_response(self): - return remove_nones_from_dict({ - u'fingerprint': self.request.get(u'fingerprint'), - u'items': self.request.get(u'items') - }) + return remove_nones_from_dict({u'fingerprint': self.request.get(u'fingerprint'), u'items': self.request.get(u'items')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py index 0a32d8fd62..7840d6b441 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -484,12 +483,7 @@ 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'] @@ -499,9 +493,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py index b814cce498..e92f66ed8a 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -238,15 +237,12 @@ def main(): state=dict(default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), name=dict(type='str'), - named_ports=dict(type='list', elements='dict', options=dict( - name=dict(type='str'), - port=dict(type='int') - )), + named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))), network=dict(), region=dict(type='str'), subnetwork=dict(), zone=dict(required=True, type='str'), - instances=dict(type='list') + instances=dict(type='list'), ) ) @@ -308,7 +304,7 @@ def resource_to_request(module): u'namedPorts': InstanceGroupNamedportsArray(module.params.get('named_ports', []), module).to_request(), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'region': region_selflink(module.params.get('region'), module.params), - u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink') + u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink'), } return_vals = {} for k, v in request.items(): @@ -343,8 +339,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -381,7 +377,7 @@ def response_to_hash(module, response): u'namedPorts': InstanceGroupNamedportsArray(response.get(u'namedPorts', []), module).from_response(), u'network': response.get(u'network'), u'region': response.get(u'region'), - u'subnetwork': response.get(u'subnetwork') + u'subnetwork': response.get(u'subnetwork'), } @@ -416,7 +412,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -454,8 +450,7 @@ class InstanceLogic(object): def list_instances(self): auth = GcpSession(self.module, 'compute') - response = return_if_object(self.module, auth.post(self._list_instances_url(), {'instanceState': 'ALL'}), - 'compute#instanceGroupsListInstances') + response = return_if_object(self.module, auth.post(self._list_instances_url(), {'instanceState': 'ALL'}), 'compute#instanceGroupsListInstances') # Transform instance list into a list of selfLinks for diffing with module parameters instances = [] @@ -481,9 +476,7 @@ class InstanceLogic(object): return "https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{name}/addInstances".format(**self.module.params) def _build_request(self, instances): - request = { - 'instances': [] - } + request = {'instances': []} for instance in instances: request['instances'].append({'instance': instance}) return request @@ -510,16 +503,10 @@ class InstanceGroupNamedportsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'name': item.get('name'), - u'port': item.get('port') - }) + return remove_nones_from_dict({u'name': item.get('name'), u'port': item.get('port')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'name': item.get(u'name'), - u'port': item.get(u'port') - }) + return remove_nones_from_dict({u'name': item.get(u'name'), u'port': item.get(u'port')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py index 19b55fc5d1..0486890a0e 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -157,12 +156,7 @@ 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'] @@ -172,9 +166,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py index 77071a39bf..4fbc5be5bd 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -342,13 +341,10 @@ def main(): description=dict(type='str'), instance_template=dict(required=True), name=dict(required=True, type='str'), - named_ports=dict(type='list', elements='dict', options=dict( - name=dict(type='str'), - port=dict(type='int') - )), + named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))), target_pools=dict(type='list'), target_size=dict(type='int'), - zone=dict(required=True, type='str') + zone=dict(required=True, type='str'), ) ) @@ -407,7 +403,7 @@ def resource_to_request(module): u'name': module.params.get('name'), u'namedPorts': InstanceGroupManagerNamedportsArray(module.params.get('named_ports', []), module).to_request(), u'targetPools': replace_resource_dict(module.params.get('target_pools', []), 'selfLink'), - u'targetSize': module.params.get('target_size') + u'targetSize': module.params.get('target_size'), } return_vals = {} for k, v in request.items(): @@ -442,8 +438,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -484,7 +480,7 @@ def response_to_hash(module, response): u'namedPorts': InstanceGroupManagerNamedportsArray(response.get(u'namedPorts', []), module).from_response(), u'region': response.get(u'region'), u'targetPools': response.get(u'targetPools'), - u'targetSize': response.get(u'targetSize') + u'targetSize': response.get(u'targetSize'), } @@ -519,7 +515,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -541,28 +537,32 @@ class InstanceGroupManagerCurrentactions(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'abandoning': self.request.get('abandoning'), - u'creating': self.request.get('creating'), - u'creatingWithoutRetries': self.request.get('creating_without_retries'), - u'deleting': self.request.get('deleting'), - u'none': self.request.get('none'), - u'recreating': self.request.get('recreating'), - u'refreshing': self.request.get('refreshing'), - u'restarting': self.request.get('restarting') - }) + return remove_nones_from_dict( + { + u'abandoning': self.request.get('abandoning'), + u'creating': self.request.get('creating'), + u'creatingWithoutRetries': self.request.get('creating_without_retries'), + u'deleting': self.request.get('deleting'), + u'none': self.request.get('none'), + u'recreating': self.request.get('recreating'), + u'refreshing': self.request.get('refreshing'), + u'restarting': self.request.get('restarting'), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'abandoning': self.request.get(u'abandoning'), - u'creating': self.request.get(u'creating'), - u'creatingWithoutRetries': self.request.get(u'creatingWithoutRetries'), - u'deleting': self.request.get(u'deleting'), - u'none': self.request.get(u'none'), - u'recreating': self.request.get(u'recreating'), - u'refreshing': self.request.get(u'refreshing'), - u'restarting': self.request.get(u'restarting') - }) + return remove_nones_from_dict( + { + u'abandoning': self.request.get(u'abandoning'), + u'creating': self.request.get(u'creating'), + u'creatingWithoutRetries': self.request.get(u'creatingWithoutRetries'), + u'deleting': self.request.get(u'deleting'), + u'none': self.request.get(u'none'), + u'recreating': self.request.get(u'recreating'), + u'refreshing': self.request.get(u'refreshing'), + u'restarting': self.request.get(u'restarting'), + } + ) class InstanceGroupManagerNamedportsArray(object): @@ -586,16 +586,10 @@ class InstanceGroupManagerNamedportsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'name': item.get('name'), - u'port': item.get('port') - }) + return remove_nones_from_dict({u'name': item.get('name'), u'port': item.get('port')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'name': item.get(u'name'), - u'port': item.get(u'port') - }) + return remove_nones_from_dict({u'name': item.get(u'name'), u'port': item.get(u'port')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py index e7914577e3..03f2caee85 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_group_manager_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -232,12 +231,7 @@ 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'] @@ -247,9 +241,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py index eab2b9b170..691493eca0 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_template.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -867,70 +866,69 @@ def main(): state=dict(default='present', choices=['present', 'absent'], type='str'), description=dict(type='str'), name=dict(required=True, type='str'), - properties=dict(type='dict', options=dict( - can_ip_forward=dict(type='bool'), - description=dict(type='str'), - disks=dict(type='list', elements='dict', options=dict( - auto_delete=dict(type='bool'), - boot=dict(type='bool'), - device_name=dict(type='str'), - disk_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - rsa_encrypted_key=dict(type='str'), - sha256=dict(type='str') - )), - index=dict(type='int'), - initialize_params=dict(type='dict', options=dict( - disk_name=dict(type='str'), - disk_size_gb=dict(type='int'), - disk_type=dict(type='str'), - source_image=dict(type='str'), - source_image_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - sha256=dict(type='str') - )) - )), - interface=dict(type='str', choices=['SCSI', 'NVME']), - mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), - source=dict(), - type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']) - )), - machine_type=dict(required=True, type='str'), - min_cpu_platform=dict(type='str'), - metadata=dict(type='dict'), - guest_accelerators=dict(type='list', elements='dict', options=dict( - accelerator_count=dict(type='int'), - accelerator_type=dict(type='str') - )), - network_interfaces=dict(type='list', elements='dict', options=dict( - access_configs=dict(type='list', elements='dict', options=dict( - name=dict(required=True, type='str'), - nat_ip=dict(), - type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) - )), - alias_ip_ranges=dict(type='list', elements='dict', options=dict( - ip_cidr_range=dict(type='str'), - subnetwork_range_name=dict(type='str') - )), - name=dict(type='str'), - network=dict(), - network_ip=dict(type='str'), - subnetwork=dict() - )), - scheduling=dict(type='dict', options=dict( - automatic_restart=dict(type='bool'), - on_host_maintenance=dict(type='str'), - preemptible=dict(type='bool') - )), - service_accounts=dict(type='list', elements='dict', options=dict( - email=dict(type='str'), - scopes=dict(type='list', elements='str') - )), - tags=dict(type='dict', options=dict( - fingerprint=dict(type='str'), - items=dict(type='list', elements='str') - )) - )) + properties=dict( + type='dict', + options=dict( + can_ip_forward=dict(type='bool'), + description=dict(type='str'), + disks=dict( + type='list', + elements='dict', + options=dict( + auto_delete=dict(type='bool'), + boot=dict(type='bool'), + device_name=dict(type='str'), + disk_encryption_key=dict( + type='dict', options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'), sha256=dict(type='str')) + ), + index=dict(type='int'), + initialize_params=dict( + type='dict', + options=dict( + disk_name=dict(type='str'), + disk_size_gb=dict(type='int'), + disk_type=dict(type='str'), + source_image=dict(type='str'), + source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), + ), + ), + interface=dict(type='str', choices=['SCSI', 'NVME']), + mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), + source=dict(), + type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']), + ), + ), + machine_type=dict(required=True, type='str'), + min_cpu_platform=dict(type='str'), + metadata=dict(type='dict'), + guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))), + network_interfaces=dict( + type='list', + elements='dict', + options=dict( + access_configs=dict( + type='list', + elements='dict', + options=dict( + name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) + ), + ), + alias_ip_ranges=dict( + type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str')) + ), + name=dict(type='str'), + network=dict(), + network_ip=dict(type='str'), + subnetwork=dict(), + ), + ), + scheduling=dict( + type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool')) + ), + service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))), + tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))), + ), + ), ) ) @@ -984,7 +982,7 @@ def resource_to_request(module): u'kind': 'compute#instanceTemplate', u'description': module.params.get('description'), u'name': module.params.get('name'), - u'properties': InstanceTemplateProperties(module.params.get('properties', {}), module).to_request() + u'properties': InstanceTemplateProperties(module.params.get('properties', {}), module).to_request(), } request = encode_request(request, module) return_vals = {} @@ -1020,8 +1018,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + except getattr(json.decoder, 'JSONDecodeError', ValueError): + module.fail_json(msg="Invalid JSON response with error: %s" % response.text) result = decode_response(result, module) @@ -1058,7 +1056,7 @@ def response_to_hash(module, response): u'description': response.get(u'description'), u'id': response.get(u'id'), u'name': response.get(u'name'), - u'properties': InstanceTemplateProperties(response.get(u'properties', {}), module).from_response() + u'properties': InstanceTemplateProperties(response.get(u'properties', {}), module).from_response(), } @@ -1093,7 +1091,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -1138,13 +1136,8 @@ def metadata_encoder(metadata): metadata_new = [] for key in metadata: value = metadata[key] - metadata_new.append({ - "key": key, - "value": value - }) - return { - 'items': metadata_new - } + metadata_new.append({"key": key, "value": value}) + return {'items': metadata_new} # Map metadata.items[]{key:,value:} => metadata[key]=value @@ -1166,34 +1159,38 @@ class InstanceTemplateProperties(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'canIpForward': self.request.get('can_ip_forward'), - u'description': self.request.get('description'), - u'disks': InstanceTemplateDisksArray(self.request.get('disks', []), self.module).to_request(), - u'machineType': self.request.get('machine_type'), - u'minCpuPlatform': self.request.get('min_cpu_platform'), - u'metadata': self.request.get('metadata'), - u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get('guest_accelerators', []), self.module).to_request(), - u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get('network_interfaces', []), self.module).to_request(), - u'scheduling': InstanceTemplateScheduling(self.request.get('scheduling', {}), self.module).to_request(), - u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get('service_accounts', []), self.module).to_request(), - u'tags': InstanceTemplateTags(self.request.get('tags', {}), self.module).to_request() - }) + return remove_nones_from_dict( + { + u'canIpForward': self.request.get('can_ip_forward'), + u'description': self.request.get('description'), + u'disks': InstanceTemplateDisksArray(self.request.get('disks', []), self.module).to_request(), + u'machineType': self.request.get('machine_type'), + u'minCpuPlatform': self.request.get('min_cpu_platform'), + u'metadata': self.request.get('metadata'), + u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get('guest_accelerators', []), self.module).to_request(), + u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get('network_interfaces', []), self.module).to_request(), + u'scheduling': InstanceTemplateScheduling(self.request.get('scheduling', {}), self.module).to_request(), + u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get('service_accounts', []), self.module).to_request(), + u'tags': InstanceTemplateTags(self.request.get('tags', {}), self.module).to_request(), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'canIpForward': self.request.get(u'canIpForward'), - u'description': self.request.get(u'description'), - u'disks': InstanceTemplateDisksArray(self.request.get(u'disks', []), self.module).from_response(), - u'machineType': self.request.get(u'machineType'), - u'minCpuPlatform': self.request.get(u'minCpuPlatform'), - u'metadata': self.request.get(u'metadata'), - u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get(u'guestAccelerators', []), self.module).from_response(), - u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get(u'networkInterfaces', []), self.module).from_response(), - u'scheduling': InstanceTemplateScheduling(self.request.get(u'scheduling', {}), self.module).from_response(), - u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get(u'serviceAccounts', []), self.module).from_response(), - u'tags': InstanceTemplateTags(self.request.get(u'tags', {}), self.module).from_response() - }) + return remove_nones_from_dict( + { + u'canIpForward': self.request.get(u'canIpForward'), + u'description': self.request.get(u'description'), + u'disks': InstanceTemplateDisksArray(self.request.get(u'disks', []), self.module).from_response(), + u'machineType': self.request.get(u'machineType'), + u'minCpuPlatform': self.request.get(u'minCpuPlatform'), + u'metadata': self.request.get(u'metadata'), + u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get(u'guestAccelerators', []), self.module).from_response(), + u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get(u'networkInterfaces', []), self.module).from_response(), + u'scheduling': InstanceTemplateScheduling(self.request.get(u'scheduling', {}), self.module).from_response(), + u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get(u'serviceAccounts', []), self.module).from_response(), + u'tags': InstanceTemplateTags(self.request.get(u'tags', {}), self.module).from_response(), + } + ) class InstanceTemplateDisksArray(object): @@ -1217,32 +1214,36 @@ class InstanceTemplateDisksArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'autoDelete': item.get('auto_delete'), - u'boot': item.get('boot'), - u'deviceName': item.get('device_name'), - u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(), - u'index': item.get('index'), - u'initializeParams': InstanceTemplateInitializeparams(item.get('initialize_params', {}), self.module).to_request(), - u'interface': item.get('interface'), - u'mode': item.get('mode'), - u'source': replace_resource_dict(item.get(u'source', {}), 'name'), - u'type': item.get('type') - }) + return remove_nones_from_dict( + { + u'autoDelete': item.get('auto_delete'), + u'boot': item.get('boot'), + u'deviceName': item.get('device_name'), + u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(), + u'index': item.get('index'), + u'initializeParams': InstanceTemplateInitializeparams(item.get('initialize_params', {}), self.module).to_request(), + u'interface': item.get('interface'), + u'mode': item.get('mode'), + u'source': replace_resource_dict(item.get(u'source', {}), 'name'), + u'type': item.get('type'), + } + ) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'autoDelete': item.get(u'autoDelete'), - u'boot': item.get(u'boot'), - u'deviceName': item.get(u'deviceName'), - u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(), - u'index': item.get(u'index'), - u'initializeParams': InstanceTemplateInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(), - u'interface': item.get(u'interface'), - u'mode': item.get(u'mode'), - u'source': item.get(u'source'), - u'type': item.get(u'type') - }) + return remove_nones_from_dict( + { + u'autoDelete': item.get(u'autoDelete'), + u'boot': item.get(u'boot'), + u'deviceName': item.get(u'deviceName'), + u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(), + u'index': item.get(u'index'), + u'initializeParams': InstanceTemplateInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(), + u'interface': item.get(u'interface'), + u'mode': item.get(u'mode'), + u'source': item.get(u'source'), + u'type': item.get(u'type'), + } + ) class InstanceTemplateDiskencryptionkey(object): @@ -1254,18 +1255,14 @@ class InstanceTemplateDiskencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'rsaEncryptedKey': self.request.get('rsa_encrypted_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict( + {u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key'), u'sha256': self.request.get('sha256')} + ) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict( + {u'rawKey': self.request.get(u'rawKey'), u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey'), u'sha256': self.request.get(u'sha256')} + ) class InstanceTemplateInitializeparams(object): @@ -1277,23 +1274,30 @@ class InstanceTemplateInitializeparams(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'diskName': self.request.get('disk_name'), - u'diskSizeGb': self.request.get('disk_size_gb'), - u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params), - u'sourceImage': self.request.get('source_image'), - u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request() - }) + return remove_nones_from_dict( + { + u'diskName': self.request.get('disk_name'), + u'diskSizeGb': self.request.get('disk_size_gb'), + u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params), + u'sourceImage': self.request.get('source_image'), + u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey( + self.request.get('source_image_encryption_key', {}), self.module + ).to_request(), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'diskName': self.request.get(u'diskName'), - u'diskSizeGb': self.request.get(u'diskSizeGb'), - u'diskType': self.request.get(u'diskType'), - u'sourceImage': self.request.get(u'sourceImage'), - u'sourceImageEncryptionKey': - InstanceTemplateSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response() - }) + return remove_nones_from_dict( + { + u'diskName': self.request.get(u'diskName'), + u'diskSizeGb': self.request.get(u'diskSizeGb'), + u'diskType': self.request.get(u'diskType'), + u'sourceImage': self.request.get(u'sourceImage'), + u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey( + self.request.get(u'sourceImageEncryptionKey', {}), self.module + ).from_response(), + } + ) class InstanceTemplateSourceimageencryptionkey(object): @@ -1305,16 +1309,10 @@ class InstanceTemplateSourceimageencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')}) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')}) class InstanceTemplateGuestacceleratorsArray(object): @@ -1338,16 +1336,10 @@ class InstanceTemplateGuestacceleratorsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'acceleratorCount': item.get('accelerator_count'), - u'acceleratorType': item.get('accelerator_type') - }) + return remove_nones_from_dict({u'acceleratorCount': item.get('accelerator_count'), u'acceleratorType': item.get('accelerator_type')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'acceleratorCount': item.get(u'acceleratorCount'), - u'acceleratorType': item.get(u'acceleratorType') - }) + return remove_nones_from_dict({u'acceleratorCount': item.get(u'acceleratorCount'), u'acceleratorType': item.get(u'acceleratorType')}) class InstanceTemplateNetworkinterfacesArray(object): @@ -1371,24 +1363,28 @@ class InstanceTemplateNetworkinterfacesArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get('access_configs', []), self.module).to_request(), - u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(), - u'name': item.get('name'), - u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'), - u'networkIP': item.get('network_ip'), - u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink') - }) + return remove_nones_from_dict( + { + u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get('access_configs', []), self.module).to_request(), + u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(), + u'name': item.get('name'), + u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'), + u'networkIP': item.get('network_ip'), + u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink'), + } + ) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(), - u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(), - u'name': item.get(u'name'), - u'network': item.get(u'network'), - u'networkIP': item.get(u'networkIP'), - u'subnetwork': item.get(u'subnetwork') - }) + return remove_nones_from_dict( + { + u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(), + u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(), + u'name': item.get(u'name'), + u'network': item.get(u'network'), + u'networkIP': item.get(u'networkIP'), + u'subnetwork': item.get(u'subnetwork'), + } + ) class InstanceTemplateAccessconfigsArray(object): @@ -1412,18 +1408,12 @@ class InstanceTemplateAccessconfigsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'name': item.get('name'), - u'natIP': replace_resource_dict(item.get(u'nat_ip', {}), 'address'), - u'type': item.get('type') - }) + return remove_nones_from_dict( + {u'name': item.get('name'), u'natIP': replace_resource_dict(item.get(u'nat_ip', {}), 'address'), u'type': item.get('type')} + ) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'name': item.get(u'name'), - u'natIP': item.get(u'natIP'), - u'type': item.get(u'type') - }) + return remove_nones_from_dict({u'name': item.get(u'name'), u'natIP': item.get(u'natIP'), u'type': item.get(u'type')}) class InstanceTemplateAliasiprangesArray(object): @@ -1447,16 +1437,10 @@ class InstanceTemplateAliasiprangesArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'ipCidrRange': item.get('ip_cidr_range'), - u'subnetworkRangeName': item.get('subnetwork_range_name') - }) + return remove_nones_from_dict({u'ipCidrRange': item.get('ip_cidr_range'), u'subnetworkRangeName': item.get('subnetwork_range_name')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'ipCidrRange': item.get(u'ipCidrRange'), - u'subnetworkRangeName': item.get(u'subnetworkRangeName') - }) + return remove_nones_from_dict({u'ipCidrRange': item.get(u'ipCidrRange'), u'subnetworkRangeName': item.get(u'subnetworkRangeName')}) class InstanceTemplateScheduling(object): @@ -1468,18 +1452,22 @@ class InstanceTemplateScheduling(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'automaticRestart': self.request.get('automatic_restart'), - u'onHostMaintenance': self.request.get('on_host_maintenance'), - u'preemptible': self.request.get('preemptible') - }) + return remove_nones_from_dict( + { + u'automaticRestart': self.request.get('automatic_restart'), + u'onHostMaintenance': self.request.get('on_host_maintenance'), + u'preemptible': self.request.get('preemptible'), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'automaticRestart': self.request.get(u'automaticRestart'), - u'onHostMaintenance': self.request.get(u'onHostMaintenance'), - u'preemptible': self.request.get(u'preemptible') - }) + return remove_nones_from_dict( + { + u'automaticRestart': self.request.get(u'automaticRestart'), + u'onHostMaintenance': self.request.get(u'onHostMaintenance'), + u'preemptible': self.request.get(u'preemptible'), + } + ) class InstanceTemplateServiceaccountsArray(object): @@ -1503,16 +1491,10 @@ class InstanceTemplateServiceaccountsArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'email': item.get('email'), - u'scopes': item.get('scopes') - }) + return remove_nones_from_dict({u'email': item.get('email'), u'scopes': item.get('scopes')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'email': item.get(u'email'), - u'scopes': item.get(u'scopes') - }) + return remove_nones_from_dict({u'email': item.get(u'email'), u'scopes': item.get(u'scopes')}) class InstanceTemplateTags(object): @@ -1524,16 +1506,10 @@ class InstanceTemplateTags(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'fingerprint': self.request.get('fingerprint'), - u'items': self.request.get('items') - }) + return remove_nones_from_dict({u'fingerprint': self.request.get('fingerprint'), u'items': self.request.get('items')}) def from_response(self): - return remove_nones_from_dict({ - u'fingerprint': self.request.get(u'fingerprint'), - u'items': self.request.get(u'items') - }) + return remove_nones_from_dict({u'fingerprint': self.request.get(u'fingerprint'), u'items': self.request.get(u'items')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py index 5465814d82..190c4b3ee5 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_instance_template_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -473,11 +472,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -487,9 +482,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py index d69182ab98..ac70e94158 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -78,6 +77,20 @@ options: characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. required: true + candidate_subnets: + description: + - Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress + and customerRouterIpAddress for this attachment. + - All prefixes must be within link-local address space (169.254.0.0/16) and must + be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 + from the supplied candidate prefix(es). The request will fail if all possible + /29s are in use on Google's edge. If not supplied, Google will randomly select + an unused /29 from all of link-local space. + required: false + vlan_tag8021q: + description: + - The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. + required: false region: description: - Region where the regional interconnect attachment resides. @@ -170,6 +183,22 @@ name: which cannot be a dash. returned: success type: str +candidateSubnets: + description: + - Up to 16 candidate prefixes that can be used to restrict the allocation of cloudRouterIpAddress + and customerRouterIpAddress for this attachment. + - All prefixes must be within link-local address space (169.254.0.0/16) and must + be /29 or shorter (/28, /27, etc). Google will attempt to select an unused /29 + from the supplied candidate prefix(es). The request will fail if all possible + /29s are in use on Google's edge. If not supplied, Google will randomly select + an unused /29 from all of link-local space. + returned: success + type: list +vlanTag8021q: + description: + - The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. + returned: success + type: int region: description: - Region where the regional interconnect attachment resides. @@ -201,7 +230,9 @@ def main(): description=dict(type='str'), router=dict(required=True), name=dict(required=True, type='str'), - region=dict(required=True, type='str') + candidate_subnets=dict(type='list', elements='str'), + vlan_tag8021q=dict(type='int'), + region=dict(required=True, type='str'), ) ) @@ -256,7 +287,9 @@ def resource_to_request(module): u'interconnect': module.params.get('interconnect'), u'description': module.params.get('description'), u'router': replace_resource_dict(module.params.get(u'router', {}), 'selfLink'), - u'name': module.params.get('name') + u'name': module.params.get('name'), + u'candidateSubnets': module.params.get('candidate_subnets'), + u'vlanTag8021q': module.params.get('vlan_tag8021q'), } return_vals = {} for k, v in request.items(): @@ -291,8 +324,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -331,7 +364,9 @@ def response_to_hash(module, response): u'router': response.get(u'router'), u'creationTimestamp': response.get(u'creationTimestamp'), u'id': response.get(u'id'), - u'name': response.get(u'name') + u'name': response.get(u'name'), + u'candidateSubnets': response.get(u'candidateSubnets'), + u'vlanTag8021q': response.get(u'vlanTag8021q'), } @@ -366,7 +401,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -388,14 +423,10 @@ class InterconnectAttachmentPrivateinterconnectinfo(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'tag8021q': self.request.get('tag8021q') - }) + return remove_nones_from_dict({u'tag8021q': self.request.get('tag8021q')}) def from_response(self): - return remove_nones_from_dict({ - u'tag8021q': self.request.get(u'tag8021q') - }) + return remove_nones_from_dict({u'tag8021q': self.request.get(u'tag8021q')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py index 90af8b9688..482c7b0621 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_interconnect_attachment_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -141,6 +140,22 @@ items: which cannot be a dash. returned: success type: str + candidateSubnets: + description: + - Up to 16 candidate prefixes that can be used to restrict the allocation of + cloudRouterIpAddress and customerRouterIpAddress for this attachment. + - All prefixes must be within link-local address space (169.254.0.0/16) and + must be /29 or shorter (/28, /27, etc). Google will attempt to select an unused + /29 from the supplied candidate prefix(es). The request will fail if all possible + /29s are in use on Google's edge. If not supplied, Google will randomly select + an unused /29 from all of link-local space. + returned: success + type: list + vlanTag8021q: + description: + - The IEEE 802.1Q VLAN tag for this attachment, in the range 2-4094. + returned: success + type: int region: description: - Region where the regional interconnect attachment resides. @@ -160,12 +175,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str'), - region=dict(required=True, type='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -175,9 +185,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_network.py b/lib/ansible/modules/cloud/google/gcp_compute_network.py index e48b798b80..b5d1201880 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_network.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_network.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -216,11 +215,9 @@ def main(): ipv4_range=dict(type='str'), name=dict(required=True, type='str'), auto_create_subnetworks=dict(type='bool'), - routing_config=dict(type='dict', options=dict( - routing_mode=dict(required=True, type='str', choices=['REGIONAL', 'GLOBAL']) - )) + routing_config=dict(type='dict', options=dict(routing_mode=dict(required=True, type='str', choices=['REGIONAL', 'GLOBAL']))), ), - mutually_exclusive=[['auto_create_subnetworks', 'ipv4_range']] + mutually_exclusive=[['auto_create_subnetworks', 'ipv4_range']], ) if not module.params['scopes']: @@ -276,7 +273,7 @@ def resource_to_request(module): u'IPv4Range': module.params.get('ipv4_range'), u'name': module.params.get('name'), u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'), - u'routingConfig': NetworkRoutingconfig(module.params.get('routing_config', {}), module).to_request() + u'routingConfig': NetworkRoutingconfig(module.params.get('routing_config', {}), module).to_request(), } return_vals = {} for k, v in request.items(): @@ -311,8 +308,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -350,7 +347,7 @@ def response_to_hash(module, response): u'subnetworks': response.get(u'subnetworks'), u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'), u'creationTimestamp': response.get(u'creationTimestamp'), - u'routingConfig': NetworkRoutingconfig(response.get(u'routingConfig', {}), module).from_response() + u'routingConfig': NetworkRoutingconfig(response.get(u'routingConfig', {}), module).from_response(), } @@ -376,7 +373,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -398,14 +395,10 @@ class NetworkRoutingconfig(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'routingMode': self.request.get('routing_mode') - }) + return remove_nones_from_dict({u'routingMode': self.request.get('routing_mode')}) def from_response(self): - return remove_nones_from_dict({ - u'routingMode': self.request.get(u'routingMode') - }) + return remove_nones_from_dict({u'routingMode': self.request.get(u'routingMode')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_network_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_network_facts.py index d54dad6c80..6a61d55571 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_network_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_network_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -148,11 +147,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -162,9 +157,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py b/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py index 378a6aa1cb..880fe8be91 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_region_disk.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -346,15 +345,9 @@ def main(): replica_zones=dict(required=True, type='list', elements='str'), type=dict(type='str'), region=dict(required=True, type='str'), - disk_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - sha256=dict(type='str') - )), + disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), source_snapshot=dict(), - source_snapshot_encryption_key=dict(type='dict', options=dict( - raw_key=dict(type='str'), - sha256=dict(type='str') - )) + source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))), ) ) @@ -395,8 +388,7 @@ def create(module, link, kind): def update(module, link, kind, fetch): - update_fields(module, resource_to_request(module), - response_to_hash(module, fetch)) + update_fields(module, resource_to_request(module), response_to_hash(module, fetch)) return fetch_resource(module, self_link(module), kind) @@ -410,27 +402,16 @@ def update_fields(module, request, response): def label_fingerprint_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( - ''.join([ - "https://www.googleapis.com/compute/v1/", - "projects/{project}/regions/{region}/disks/{name}/setLabels" - ]).format(**module.params), - { - u'labelFingerprint': response.get('labelFingerprint'), - u'labels': module.params.get('labels') - } + ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/disks/{name}/setLabels"]).format(**module.params), + {u'labelFingerprint': response.get('labelFingerprint'), u'labels': module.params.get('labels')}, ) def size_gb_update(module, request, response): auth = GcpSession(module, 'compute') auth.post( - ''.join([ - "https://www.googleapis.com/compute/v1/", - "projects/{project}/regions/{region}/disks/{name}/resize" - ]).format(**module.params), - { - u'sizeGb': module.params.get('size_gb') - } + ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/disks/{name}/resize"]).format(**module.params), + {u'sizeGb': module.params.get('size_gb')}, ) @@ -450,7 +431,7 @@ def resource_to_request(module): u'name': module.params.get('name'), u'sizeGb': module.params.get('size_gb'), u'replicaZones': module.params.get('replica_zones'), - u'type': region_disk_type_selflink(module.params.get('type'), module.params) + u'type': region_disk_type_selflink(module.params.get('type'), module.params), } return_vals = {} for k, v in request.items(): @@ -485,8 +466,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -528,7 +509,7 @@ def response_to_hash(module, response): u'sizeGb': response.get(u'sizeGb'), u'users': response.get(u'users'), u'replicaZones': response.get(u'replicaZones'), - u'type': response.get(u'type') + u'type': response.get(u'type'), } @@ -572,7 +553,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -594,16 +575,10 @@ class RegionDiskDiskencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')}) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')}) class RegionDiskSourcesnapshotencryptionkey(object): @@ -615,16 +590,10 @@ class RegionDiskSourcesnapshotencryptionkey(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get('raw_key'), - u'sha256': self.request.get('sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')}) def from_response(self): - return remove_nones_from_dict({ - u'rawKey': self.request.get(u'rawKey'), - u'sha256': self.request.get(u'sha256') - }) + return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py index 69b3cb56b7..9d7d15b2e3 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_region_disk_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -228,12 +227,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str'), - region=dict(required=True, type='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -243,9 +237,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_route.py b/lib/ansible/modules/cloud/google/gcp_compute_route.py index ebb0dbc885..42f28538e4 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_route.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_route.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -269,7 +268,7 @@ def main(): next_hop_gateway=dict(type='str'), next_hop_instance=dict(), next_hop_ip=dict(type='str'), - next_hop_vpn_tunnel=dict() + next_hop_vpn_tunnel=dict(), ) ) @@ -330,7 +329,7 @@ def resource_to_request(module): u'nextHopGateway': module.params.get('next_hop_gateway'), u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'), u'nextHopIp': module.params.get('next_hop_ip'), - u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink') + u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink'), } return_vals = {} for k, v in request.items(): @@ -365,8 +364,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -406,7 +405,7 @@ def response_to_hash(module, response): u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'), u'nextHopIp': module.params.get('next_hop_ip'), u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink'), - u'nextHopNetwork': response.get(u'nextHopNetwork') + u'nextHopNetwork': response.get(u'nextHopNetwork'), } @@ -432,7 +431,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py index f4a487073c..65fc91b225 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_route_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -152,11 +151,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -166,9 +161,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_router.py b/lib/ansible/modules/cloud/google/gcp_compute_router.py index 6d8a9dc197..86ff9be81a 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_router.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_router.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -260,16 +259,16 @@ def main(): name=dict(required=True, type='str'), description=dict(type='str'), network=dict(required=True), - bgp=dict(type='dict', options=dict( - asn=dict(required=True, type='int'), - advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']), - advertised_groups=dict(type='list', elements='str'), - advertised_ip_ranges=dict(type='list', elements='dict', options=dict( - range=dict(type='str'), - description=dict(type='str') - )) - )), - region=dict(required=True, type='str') + bgp=dict( + type='dict', + options=dict( + asn=dict(required=True, type='int'), + advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']), + advertised_groups=dict(type='list', elements='str'), + advertised_ip_ranges=dict(type='list', elements='dict', options=dict(range=dict(type='str'), description=dict(type='str'))), + ), + ), + region=dict(required=True, type='str'), ) ) @@ -326,7 +325,7 @@ def resource_to_request(module): u'name': module.params.get('name'), u'description': module.params.get('description'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), - u'bgp': RouterBgp(module.params.get('bgp', {}), module).to_request() + u'bgp': RouterBgp(module.params.get('bgp', {}), module).to_request(), } return_vals = {} for k, v in request.items(): @@ -361,8 +360,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -397,7 +396,7 @@ def response_to_hash(module, response): u'name': module.params.get('name'), u'description': response.get(u'description'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), - u'bgp': RouterBgp(response.get(u'bgp', {}), module).from_response() + u'bgp': RouterBgp(response.get(u'bgp', {}), module).from_response(), } @@ -423,7 +422,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) @@ -445,20 +444,24 @@ class RouterBgp(object): self.request = {} def to_request(self): - return remove_nones_from_dict({ - u'asn': self.request.get('asn'), - u'advertiseMode': self.request.get('advertise_mode'), - u'advertisedGroups': self.request.get('advertised_groups'), - u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get('advertised_ip_ranges', []), self.module).to_request() - }) + return remove_nones_from_dict( + { + u'asn': self.request.get('asn'), + u'advertiseMode': self.request.get('advertise_mode'), + u'advertisedGroups': self.request.get('advertised_groups'), + u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get('advertised_ip_ranges', []), self.module).to_request(), + } + ) def from_response(self): - return remove_nones_from_dict({ - u'asn': self.request.get(u'asn'), - u'advertiseMode': self.request.get(u'advertiseMode'), - u'advertisedGroups': self.request.get(u'advertisedGroups'), - u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get(u'advertisedIpRanges', []), self.module).from_response() - }) + return remove_nones_from_dict( + { + u'asn': self.request.get(u'asn'), + u'advertiseMode': self.request.get(u'advertiseMode'), + u'advertisedGroups': self.request.get(u'advertisedGroups'), + u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get(u'advertisedIpRanges', []), self.module).from_response(), + } + ) class RouterAdvertisediprangesArray(object): @@ -482,16 +485,10 @@ class RouterAdvertisediprangesArray(object): return items def _request_for_item(self, item): - return remove_nones_from_dict({ - u'range': item.get('range'), - u'description': item.get('description') - }) + return remove_nones_from_dict({u'range': item.get('range'), u'description': item.get('description')}) def _response_from_item(self, item): - return remove_nones_from_dict({ - u'range': item.get(u'range'), - u'description': item.get(u'description') - }) + return remove_nones_from_dict({u'range': item.get(u'range'), u'description': item.get(u'description')}) if __name__ == '__main__': diff --git a/lib/ansible/modules/cloud/google/gcp_compute_router_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_router_facts.py index 2e9a5f4d94..2d142c7346 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_router_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_router_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -167,12 +166,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str'), - region=dict(required=True, type='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -182,9 +176,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate.py b/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate.py index f5faf874c2..f9fd45e04f 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -176,7 +175,7 @@ def main(): certificate=dict(required=True, type='str'), description=dict(type='str'), name=dict(type='str'), - private_key=dict(required=True, type='str') + private_key=dict(required=True, type='str'), ) ) @@ -231,7 +230,7 @@ def resource_to_request(module): u'certificate': module.params.get('certificate'), u'description': module.params.get('description'), u'name': module.params.get('name'), - u'privateKey': module.params.get('private_key') + u'privateKey': module.params.get('private_key'), } return_vals = {} for k, v in request.items(): @@ -266,8 +265,8 @@ def return_if_object(module, response, kind, allow_not_found=False): try: module.raise_for_status(response) result = response.json() - except getattr(json.decoder, 'JSONDecodeError', ValueError) as inst: - module.fail_json(msg="Invalid JSON response with error: %s" % inst) + 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'])) @@ -302,7 +301,7 @@ def response_to_hash(module, response): u'description': response.get(u'description'), u'id': response.get(u'id'), u'name': response.get(u'name'), - u'privateKey': module.params.get('private_key') + u'privateKey': module.params.get('private_key'), } @@ -328,7 +327,7 @@ 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}) while status != 'DONE': - raise_if_errors(op_result, ['error', 'errors'], 'message') + raise_if_errors(op_result, ['error', 'errors'], module) time.sleep(1.0) op_result = fetch_resource(module, op_uri, 'compute#operation') status = navigate_hash(op_result, ['status']) diff --git a/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate_facts.py b/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate_facts.py index e82ed7db54..12463218cf 100644 --- a/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate_facts.py +++ b/lib/ansible/modules/cloud/google/gcp_compute_ssl_certificate_facts.py @@ -18,15 +18,14 @@ # ---------------------------------------------------------------------------- from __future__ import absolute_import, division, print_function + __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 = ''' --- @@ -116,11 +115,7 @@ import json def main(): - module = GcpModule( - argument_spec=dict( - filters=dict(type='list', elements='str') - ) - ) + module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'))) if not module.params['scopes']: module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] @@ -130,9 +125,7 @@ def main(): items = items.get('items') else: items = [] - return_value = { - 'items': items - } + return_value = {'items': items} module.exit_json(**return_value)