mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-04-25 04:11:24 -07:00
Bug fixes for GCP modules (as of 2019-01-22T12:43:52-08:00) (#51245)
This commit is contained in:
parent
a81d110422
commit
6c246c99d6
24 changed files with 660 additions and 869 deletions
|
@ -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__':
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue