Formatting changes related to upstream code generator cleanup. (#162)

Signed-off-by: Modular Magician <magic-modules@google.com>
This commit is contained in:
The Magician 2019-01-14 16:07:24 -08:00 committed by Alex Stephen
parent f2746afceb
commit 99d5da337c
94 changed files with 1515 additions and 1845 deletions

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -306,27 +305,29 @@ def main():
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
name=dict(type='str'), name=dict(type='str'),
access=dict(type='list', elements='dict', options=dict( access=dict(
domain=dict(type='str'), type='list',
group_by_email=dict(type='str'), elements='dict',
role=dict(type='str', choices=['READER', 'WRITER', 'OWNER']), options=dict(
special_group=dict(type='str'), domain=dict(type='str'),
user_by_email=dict(type='str'), group_by_email=dict(type='str'),
view=dict(type='dict', options=dict( role=dict(type='str', choices=['READER', 'WRITER', 'OWNER']),
dataset_id=dict(required=True, type='str'), special_group=dict(type='str'),
project_id=dict(required=True, type='str'), user_by_email=dict(type='str'),
table_id=dict(required=True, type='str') view=dict(
)) type='dict',
)), options=dict(
dataset_reference=dict(required=True, type='dict', options=dict( dataset_id=dict(required=True, type='str'), project_id=dict(required=True, type='str'), table_id=dict(required=True, type='str')
dataset_id=dict(required=True, type='str'), ),
project_id=dict(type='str') ),
)), ),
),
dataset_reference=dict(required=True, type='dict', options=dict(dataset_id=dict(required=True, type='str'), project_id=dict(type='str'))),
default_table_expiration_ms=dict(type='int'), default_table_expiration_ms=dict(type='int'),
description=dict(type='str'), description=dict(type='str'),
friendly_name=dict(type='str'), friendly_name=dict(type='str'),
labels=dict(type='dict'), labels=dict(type='dict'),
location=dict(default='US', type='str') location=dict(default='US', type='str'),
) )
) )
@ -386,7 +387,7 @@ def resource_to_request(module):
u'description': module.params.get('description'), u'description': module.params.get('description'),
u'friendlyName': module.params.get('friendly_name'), u'friendlyName': module.params.get('friendly_name'),
u'labels': module.params.get('labels'), u'labels': module.params.get('labels'),
u'location': module.params.get('location') u'location': module.params.get('location'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -462,7 +463,7 @@ def response_to_hash(module, response):
u'id': response.get(u'id'), u'id': response.get(u'id'),
u'labels': response.get(u'labels'), u'labels': response.get(u'labels'),
u'lastModifiedTime': response.get(u'lastModifiedTime'), u'lastModifiedTime': response.get(u'lastModifiedTime'),
u'location': response.get(u'location') u'location': response.get(u'location'),
} }
@ -487,24 +488,28 @@ class DatasetAccessArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'domain': item.get('domain'), {
u'groupByEmail': item.get('group_by_email'), u'domain': item.get('domain'),
u'role': item.get('role'), u'groupByEmail': item.get('group_by_email'),
u'specialGroup': item.get('special_group'), u'role': item.get('role'),
u'userByEmail': item.get('user_by_email'), u'specialGroup': item.get('special_group'),
u'view': DatasetView(item.get('view', {}), self.module).to_request() u'userByEmail': item.get('user_by_email'),
}) u'view': DatasetView(item.get('view', {}), self.module).to_request(),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'domain': item.get(u'domain'), {
u'groupByEmail': item.get(u'groupByEmail'), u'domain': item.get(u'domain'),
u'role': item.get(u'role'), u'groupByEmail': item.get(u'groupByEmail'),
u'specialGroup': item.get(u'specialGroup'), u'role': item.get(u'role'),
u'userByEmail': item.get(u'userByEmail'), u'specialGroup': item.get(u'specialGroup'),
u'view': DatasetView(item.get(u'view', {}), self.module).from_response() u'userByEmail': item.get(u'userByEmail'),
}) u'view': DatasetView(item.get(u'view', {}), self.module).from_response(),
}
)
class DatasetView(object): class DatasetView(object):
@ -516,18 +521,14 @@ class DatasetView(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'datasetId': self.request.get('dataset_id'), {u'datasetId': self.request.get('dataset_id'), u'projectId': self.request.get('project_id'), u'tableId': self.request.get('table_id')}
u'projectId': self.request.get('project_id'), )
u'tableId': self.request.get('table_id')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'datasetId': self.request.get(u'datasetId'), {u'datasetId': self.request.get(u'datasetId'), u'projectId': self.request.get(u'projectId'), u'tableId': self.request.get(u'tableId')}
u'projectId': self.request.get(u'projectId'), )
u'tableId': self.request.get(u'tableId')
})
class DatasetDatasetreference(object): class DatasetDatasetreference(object):
@ -539,16 +540,10 @@ class DatasetDatasetreference(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'datasetId': self.request.get('dataset_id'), u'projectId': self.request.get('project_id')})
u'datasetId': self.request.get('dataset_id'),
u'projectId': self.request.get('project_id')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'datasetId': self.request.get(u'datasetId'), u'projectId': self.request.get(u'projectId')})
u'datasetId': self.request.get(u'datasetId'),
u'projectId': self.request.get(u'projectId')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -199,10 +198,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery'] module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery']
@ -212,9 +208,7 @@ def main():
items = items.get('datasets') items = items.get('datasets')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -904,85 +903,107 @@ def main():
module = GcpModule( module = GcpModule(
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
table_reference=dict(type='dict', options=dict( table_reference=dict(type='dict', options=dict(dataset_id=dict(type='str'), project_id=dict(type='str'), table_id=dict(type='str'))),
dataset_id=dict(type='str'),
project_id=dict(type='str'),
table_id=dict(type='str')
)),
description=dict(type='str'), description=dict(type='str'),
friendly_name=dict(type='str'), friendly_name=dict(type='str'),
labels=dict(type='dict'), labels=dict(type='dict'),
name=dict(type='str'), name=dict(type='str'),
view=dict(type='dict', options=dict( view=dict(
use_legacy_sql=dict(type='bool'), type='dict',
user_defined_function_resources=dict(type='list', elements='dict', options=dict( options=dict(
inline_code=dict(type='str'), use_legacy_sql=dict(type='bool'),
resource_uri=dict(type='str') user_defined_function_resources=dict(
)) type='list', elements='dict', options=dict(inline_code=dict(type='str'), resource_uri=dict(type='str'))
)), ),
time_partitioning=dict(type='dict', options=dict( ),
expiration_ms=dict(type='int'), ),
type=dict(type='str', choices=['DAY']) time_partitioning=dict(type='dict', options=dict(expiration_ms=dict(type='int'), type=dict(type='str', choices=['DAY']))),
)), schema=dict(
schema=dict(type='dict', options=dict( type='dict',
fields=dict(type='list', elements='dict', options=dict( options=dict(
description=dict(type='str'), fields=dict(
fields=dict(type='list', elements='str'), type='list',
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']), elements='dict',
name=dict(type='str'), options=dict(
type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']) description=dict(type='str'),
)) fields=dict(type='list', elements='str'),
)), mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
encryption_configuration=dict(type='dict', options=dict( name=dict(type='str'),
kms_key_name=dict(type='str') type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']),
)), ),
)
),
),
encryption_configuration=dict(type='dict', options=dict(kms_key_name=dict(type='str'))),
expiration_time=dict(type='int'), expiration_time=dict(type='int'),
external_data_configuration=dict(type='dict', options=dict( external_data_configuration=dict(
autodetect=dict(type='bool'), type='dict',
compression=dict(type='str', choices=['GZIP', 'NONE']), options=dict(
ignore_unknown_values=dict(type='bool'), autodetect=dict(type='bool'),
max_bad_records=dict(default=0, type='int'), compression=dict(type='str', choices=['GZIP', 'NONE']),
source_format=dict(type='str', choices=['CSV', 'GOOGLE_SHEETS', 'NEWLINE_DELIMITED_JSON', 'AVRO', 'DATASTORE_BACKUP', 'BIGTABLE']), ignore_unknown_values=dict(type='bool'),
source_uris=dict(type='list', elements='str'), max_bad_records=dict(default=0, type='int'),
schema=dict(type='dict', options=dict( source_format=dict(type='str', choices=['CSV', 'GOOGLE_SHEETS', 'NEWLINE_DELIMITED_JSON', 'AVRO', 'DATASTORE_BACKUP', 'BIGTABLE']),
fields=dict(type='list', elements='dict', options=dict( source_uris=dict(type='list', elements='str'),
description=dict(type='str'), schema=dict(
fields=dict(type='list', elements='str'), type='dict',
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']), options=dict(
name=dict(type='str'), fields=dict(
type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']) type='list',
)) elements='dict',
)), options=dict(
google_sheets_options=dict(type='dict', options=dict( description=dict(type='str'),
skip_leading_rows=dict(default=0, type='int') fields=dict(type='list', elements='str'),
)), mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
csv_options=dict(type='dict', options=dict( name=dict(type='str'),
allow_jagged_rows=dict(type='bool'), type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']),
allow_quoted_newlines=dict(type='bool'), ),
encoding=dict(type='str', choices=['UTF-8', 'ISO-8859-1']), )
field_delimiter=dict(type='str'), ),
quote=dict(type='str'), ),
skip_leading_rows=dict(default=0, type='int') google_sheets_options=dict(type='dict', options=dict(skip_leading_rows=dict(default=0, type='int'))),
)), csv_options=dict(
bigtable_options=dict(type='dict', options=dict( type='dict',
ignore_unspecified_column_families=dict(type='bool'), options=dict(
read_rowkey_as_string=dict(type='bool'), allow_jagged_rows=dict(type='bool'),
column_families=dict(type='list', elements='dict', options=dict( allow_quoted_newlines=dict(type='bool'),
columns=dict(type='list', elements='dict', options=dict( encoding=dict(type='str', choices=['UTF-8', 'ISO-8859-1']),
encoding=dict(type='str', choices=['TEXT', 'BINARY']), field_delimiter=dict(type='str'),
field_name=dict(type='str'), quote=dict(type='str'),
only_read_latest=dict(type='bool'), skip_leading_rows=dict(default=0, type='int'),
qualifier_string=dict(required=True, type='str'), ),
type=dict(type='str', choices=['BYTES', 'STRING', 'INTEGER', 'FLOAT', 'BOOLEAN']) ),
)), bigtable_options=dict(
encoding=dict(type='str', choices=['TEXT', 'BINARY']), type='dict',
family_id=dict(type='str'), options=dict(
only_read_latest=dict(type='bool'), ignore_unspecified_column_families=dict(type='bool'),
type=dict(type='str', choices=['BYTES', 'STRING', 'INTEGER', 'FLOAT', 'BOOLEAN']) read_rowkey_as_string=dict(type='bool'),
)) column_families=dict(
)) type='list',
)), elements='dict',
dataset=dict(type='str') options=dict(
columns=dict(
type='list',
elements='dict',
options=dict(
encoding=dict(type='str', choices=['TEXT', 'BINARY']),
field_name=dict(type='str'),
only_read_latest=dict(type='bool'),
qualifier_string=dict(required=True, type='str'),
type=dict(type='str', choices=['BYTES', 'STRING', 'INTEGER', 'FLOAT', 'BOOLEAN']),
),
),
encoding=dict(type='str', choices=['TEXT', 'BINARY']),
family_id=dict(type='str'),
only_read_latest=dict(type='bool'),
type=dict(type='str', choices=['BYTES', 'STRING', 'INTEGER', 'FLOAT', 'BOOLEAN']),
),
),
),
),
),
),
dataset=dict(type='str'),
) )
) )
@ -1045,7 +1066,7 @@ def resource_to_request(module):
u'schema': TableSchema(module.params.get('schema', {}), module).to_request(), u'schema': TableSchema(module.params.get('schema', {}), module).to_request(),
u'encryptionConfiguration': TableEncryptionconfiguration(module.params.get('encryption_configuration', {}), module).to_request(), u'encryptionConfiguration': TableEncryptionconfiguration(module.params.get('encryption_configuration', {}), module).to_request(),
u'expirationTime': module.params.get('expiration_time'), u'expirationTime': module.params.get('expiration_time'),
u'externalDataConfiguration': TableExternaldataconfiguration(module.params.get('external_data_configuration', {}), module).to_request() u'externalDataConfiguration': TableExternaldataconfiguration(module.params.get('external_data_configuration', {}), module).to_request(),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -1130,7 +1151,7 @@ def response_to_hash(module, response):
u'schema': TableSchema(response.get(u'schema', {}), module).from_response(), u'schema': TableSchema(response.get(u'schema', {}), module).from_response(),
u'encryptionConfiguration': TableEncryptionconfiguration(response.get(u'encryptionConfiguration', {}), module).from_response(), u'encryptionConfiguration': TableEncryptionconfiguration(response.get(u'encryptionConfiguration', {}), module).from_response(),
u'expirationTime': response.get(u'expirationTime'), u'expirationTime': response.get(u'expirationTime'),
u'externalDataConfiguration': TableExternaldataconfiguration(response.get(u'externalDataConfiguration', {}), module).from_response() u'externalDataConfiguration': TableExternaldataconfiguration(response.get(u'externalDataConfiguration', {}), module).from_response(),
} }
@ -1143,18 +1164,14 @@ class TableTablereference(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'datasetId': self.request.get('dataset_id'), {u'datasetId': self.request.get('dataset_id'), u'projectId': self.request.get('project_id'), u'tableId': self.request.get('table_id')}
u'projectId': self.request.get('project_id'), )
u'tableId': self.request.get('table_id')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'datasetId': self.request.get(u'datasetId'), {u'datasetId': self.request.get(u'datasetId'), u'projectId': self.request.get(u'projectId'), u'tableId': self.request.get(u'tableId')}
u'projectId': self.request.get(u'projectId'), )
u'tableId': self.request.get(u'tableId')
})
class TableView(object): class TableView(object):
@ -1166,18 +1183,24 @@ class TableView(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'useLegacySql': self.request.get('use_legacy_sql'), {
u'userDefinedFunctionResources': u'useLegacySql': self.request.get('use_legacy_sql'),
TableUserdefinedfunctionresourcesArray(self.request.get('user_defined_function_resources', []), self.module).to_request() u'userDefinedFunctionResources': TableUserdefinedfunctionresourcesArray(
}) self.request.get('user_defined_function_resources', []), self.module
).to_request(),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'useLegacySql': self.request.get(u'useLegacySql'), {
u'userDefinedFunctionResources': u'useLegacySql': self.request.get(u'useLegacySql'),
TableUserdefinedfunctionresourcesArray(self.request.get(u'userDefinedFunctionResources', []), self.module).from_response() u'userDefinedFunctionResources': TableUserdefinedfunctionresourcesArray(
}) self.request.get(u'userDefinedFunctionResources', []), self.module
).from_response(),
}
)
class TableUserdefinedfunctionresourcesArray(object): class TableUserdefinedfunctionresourcesArray(object):
@ -1201,16 +1224,10 @@ class TableUserdefinedfunctionresourcesArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict({u'inlineCode': item.get('inline_code'), u'resourceUri': item.get('resource_uri')})
u'inlineCode': item.get('inline_code'),
u'resourceUri': item.get('resource_uri')
})
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict({u'inlineCode': item.get(u'inlineCode'), u'resourceUri': item.get(u'resourceUri')})
u'inlineCode': item.get(u'inlineCode'),
u'resourceUri': item.get(u'resourceUri')
})
class TableTimepartitioning(object): class TableTimepartitioning(object):
@ -1222,16 +1239,10 @@ class TableTimepartitioning(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'expirationMs': self.request.get('expiration_ms'), u'type': self.request.get('type')})
u'expirationMs': self.request.get('expiration_ms'),
u'type': self.request.get('type')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'expirationMs': self.request.get(u'expirationMs'), u'type': self.request.get(u'type')})
u'expirationMs': self.request.get(u'expirationMs'),
u'type': self.request.get(u'type')
})
class TableStreamingbuffer(object): class TableStreamingbuffer(object):
@ -1243,18 +1254,22 @@ class TableStreamingbuffer(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'estimatedBytes': self.request.get('estimated_bytes'), {
u'estimatedRows': self.request.get('estimated_rows'), u'estimatedBytes': self.request.get('estimated_bytes'),
u'oldestEntryTime': self.request.get('oldest_entry_time') u'estimatedRows': self.request.get('estimated_rows'),
}) u'oldestEntryTime': self.request.get('oldest_entry_time'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'estimatedBytes': self.request.get(u'estimatedBytes'), {
u'estimatedRows': self.request.get(u'estimatedRows'), u'estimatedBytes': self.request.get(u'estimatedBytes'),
u'oldestEntryTime': self.request.get(u'oldestEntryTime') u'estimatedRows': self.request.get(u'estimatedRows'),
}) u'oldestEntryTime': self.request.get(u'oldestEntryTime'),
}
)
class TableSchema(object): class TableSchema(object):
@ -1266,14 +1281,10 @@ class TableSchema(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()})
u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()})
u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()
})
class TableFieldsArray(object): class TableFieldsArray(object):
@ -1297,22 +1308,26 @@ class TableFieldsArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'description': item.get('description'), {
u'fields': item.get('fields'), u'description': item.get('description'),
u'mode': item.get('mode'), u'fields': item.get('fields'),
u'name': item.get('name'), u'mode': item.get('mode'),
u'type': item.get('type') u'name': item.get('name'),
}) u'type': item.get('type'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'description': item.get(u'description'), {
u'fields': item.get(u'fields'), u'description': item.get(u'description'),
u'mode': item.get(u'mode'), u'fields': item.get(u'fields'),
u'name': item.get(u'name'), u'mode': item.get(u'mode'),
u'type': item.get(u'type') u'name': item.get(u'name'),
}) u'type': item.get(u'type'),
}
)
class TableEncryptionconfiguration(object): class TableEncryptionconfiguration(object):
@ -1324,14 +1339,10 @@ class TableEncryptionconfiguration(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'kmsKeyName': self.request.get('kms_key_name')})
u'kmsKeyName': self.request.get('kms_key_name')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'kmsKeyName': self.request.get(u'kmsKeyName')})
u'kmsKeyName': self.request.get(u'kmsKeyName')
})
class TableExternaldataconfiguration(object): class TableExternaldataconfiguration(object):
@ -1343,32 +1354,36 @@ class TableExternaldataconfiguration(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autodetect': self.request.get('autodetect'), {
u'compression': self.request.get('compression'), u'autodetect': self.request.get('autodetect'),
u'ignoreUnknownValues': self.request.get('ignore_unknown_values'), u'compression': self.request.get('compression'),
u'maxBadRecords': self.request.get('max_bad_records'), u'ignoreUnknownValues': self.request.get('ignore_unknown_values'),
u'sourceFormat': self.request.get('source_format'), u'maxBadRecords': self.request.get('max_bad_records'),
u'sourceUris': self.request.get('source_uris'), u'sourceFormat': self.request.get('source_format'),
u'schema': TableSchema(self.request.get('schema', {}), self.module).to_request(), u'sourceUris': self.request.get('source_uris'),
u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get('google_sheets_options', {}), self.module).to_request(), u'schema': TableSchema(self.request.get('schema', {}), self.module).to_request(),
u'csvOptions': TableCsvoptions(self.request.get('csv_options', {}), self.module).to_request(), u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get('google_sheets_options', {}), self.module).to_request(),
u'bigtableOptions': TableBigtableoptions(self.request.get('bigtable_options', {}), self.module).to_request() u'csvOptions': TableCsvoptions(self.request.get('csv_options', {}), self.module).to_request(),
}) u'bigtableOptions': TableBigtableoptions(self.request.get('bigtable_options', {}), self.module).to_request(),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autodetect': self.request.get(u'autodetect'), {
u'compression': self.request.get(u'compression'), u'autodetect': self.request.get(u'autodetect'),
u'ignoreUnknownValues': self.request.get(u'ignoreUnknownValues'), u'compression': self.request.get(u'compression'),
u'maxBadRecords': self.request.get(u'maxBadRecords'), u'ignoreUnknownValues': self.request.get(u'ignoreUnknownValues'),
u'sourceFormat': self.request.get(u'sourceFormat'), u'maxBadRecords': self.request.get(u'maxBadRecords'),
u'sourceUris': self.request.get(u'sourceUris'), u'sourceFormat': self.request.get(u'sourceFormat'),
u'schema': TableSchema(self.request.get(u'schema', {}), self.module).from_response(), u'sourceUris': self.request.get(u'sourceUris'),
u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get(u'googleSheetsOptions', {}), self.module).from_response(), u'schema': TableSchema(self.request.get(u'schema', {}), self.module).from_response(),
u'csvOptions': TableCsvoptions(self.request.get(u'csvOptions', {}), self.module).from_response(), u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get(u'googleSheetsOptions', {}), self.module).from_response(),
u'bigtableOptions': TableBigtableoptions(self.request.get(u'bigtableOptions', {}), self.module).from_response() u'csvOptions': TableCsvoptions(self.request.get(u'csvOptions', {}), self.module).from_response(),
}) u'bigtableOptions': TableBigtableoptions(self.request.get(u'bigtableOptions', {}), self.module).from_response(),
}
)
class TableSchema(object): class TableSchema(object):
@ -1380,14 +1395,10 @@ class TableSchema(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()})
u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()})
u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()
})
class TableFieldsArray(object): class TableFieldsArray(object):
@ -1411,22 +1422,26 @@ class TableFieldsArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'description': item.get('description'), {
u'fields': item.get('fields'), u'description': item.get('description'),
u'mode': item.get('mode'), u'fields': item.get('fields'),
u'name': item.get('name'), u'mode': item.get('mode'),
u'type': item.get('type') u'name': item.get('name'),
}) u'type': item.get('type'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'description': item.get(u'description'), {
u'fields': item.get(u'fields'), u'description': item.get(u'description'),
u'mode': item.get(u'mode'), u'fields': item.get(u'fields'),
u'name': item.get(u'name'), u'mode': item.get(u'mode'),
u'type': item.get(u'type') u'name': item.get(u'name'),
}) u'type': item.get(u'type'),
}
)
class TableGooglesheetsoptions(object): class TableGooglesheetsoptions(object):
@ -1438,14 +1453,10 @@ class TableGooglesheetsoptions(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'skipLeadingRows': self.request.get('skip_leading_rows')})
u'skipLeadingRows': self.request.get('skip_leading_rows')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'skipLeadingRows': self.request.get(u'skipLeadingRows')})
u'skipLeadingRows': self.request.get(u'skipLeadingRows')
})
class TableCsvoptions(object): class TableCsvoptions(object):
@ -1457,24 +1468,28 @@ class TableCsvoptions(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'allowJaggedRows': self.request.get('allow_jagged_rows'), {
u'allowQuotedNewlines': self.request.get('allow_quoted_newlines'), u'allowJaggedRows': self.request.get('allow_jagged_rows'),
u'encoding': self.request.get('encoding'), u'allowQuotedNewlines': self.request.get('allow_quoted_newlines'),
u'fieldDelimiter': self.request.get('field_delimiter'), u'encoding': self.request.get('encoding'),
u'quote': self.request.get('quote'), u'fieldDelimiter': self.request.get('field_delimiter'),
u'skipLeadingRows': self.request.get('skip_leading_rows') u'quote': self.request.get('quote'),
}) u'skipLeadingRows': self.request.get('skip_leading_rows'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'allowJaggedRows': self.request.get(u'allowJaggedRows'), {
u'allowQuotedNewlines': self.request.get(u'allowQuotedNewlines'), u'allowJaggedRows': self.request.get(u'allowJaggedRows'),
u'encoding': self.request.get(u'encoding'), u'allowQuotedNewlines': self.request.get(u'allowQuotedNewlines'),
u'fieldDelimiter': self.request.get(u'fieldDelimiter'), u'encoding': self.request.get(u'encoding'),
u'quote': self.request.get(u'quote'), u'fieldDelimiter': self.request.get(u'fieldDelimiter'),
u'skipLeadingRows': self.request.get(u'skipLeadingRows') u'quote': self.request.get(u'quote'),
}) u'skipLeadingRows': self.request.get(u'skipLeadingRows'),
}
)
class TableBigtableoptions(object): class TableBigtableoptions(object):
@ -1486,18 +1501,22 @@ class TableBigtableoptions(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'ignoreUnspecifiedColumnFamilies': self.request.get('ignore_unspecified_column_families'), {
u'readRowkeyAsString': self.request.get('read_rowkey_as_string'), u'ignoreUnspecifiedColumnFamilies': self.request.get('ignore_unspecified_column_families'),
u'columnFamilies': TableColumnfamiliesArray(self.request.get('column_families', []), self.module).to_request() u'readRowkeyAsString': self.request.get('read_rowkey_as_string'),
}) u'columnFamilies': TableColumnfamiliesArray(self.request.get('column_families', []), self.module).to_request(),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'ignoreUnspecifiedColumnFamilies': self.request.get(u'ignoreUnspecifiedColumnFamilies'), {
u'readRowkeyAsString': self.request.get(u'readRowkeyAsString'), u'ignoreUnspecifiedColumnFamilies': self.request.get(u'ignoreUnspecifiedColumnFamilies'),
u'columnFamilies': TableColumnfamiliesArray(self.request.get(u'columnFamilies', []), self.module).from_response() u'readRowkeyAsString': self.request.get(u'readRowkeyAsString'),
}) u'columnFamilies': TableColumnfamiliesArray(self.request.get(u'columnFamilies', []), self.module).from_response(),
}
)
class TableColumnfamiliesArray(object): class TableColumnfamiliesArray(object):
@ -1521,22 +1540,26 @@ class TableColumnfamiliesArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'columns': TableColumnsArray(item.get('columns', []), self.module).to_request(), {
u'encoding': item.get('encoding'), u'columns': TableColumnsArray(item.get('columns', []), self.module).to_request(),
u'familyId': item.get('family_id'), u'encoding': item.get('encoding'),
u'onlyReadLatest': item.get('only_read_latest'), u'familyId': item.get('family_id'),
u'type': item.get('type') u'onlyReadLatest': item.get('only_read_latest'),
}) u'type': item.get('type'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'columns': TableColumnsArray(item.get(u'columns', []), self.module).from_response(), {
u'encoding': item.get(u'encoding'), u'columns': TableColumnsArray(item.get(u'columns', []), self.module).from_response(),
u'familyId': item.get(u'familyId'), u'encoding': item.get(u'encoding'),
u'onlyReadLatest': item.get(u'onlyReadLatest'), u'familyId': item.get(u'familyId'),
u'type': item.get(u'type') u'onlyReadLatest': item.get(u'onlyReadLatest'),
}) u'type': item.get(u'type'),
}
)
class TableColumnsArray(object): class TableColumnsArray(object):
@ -1560,22 +1583,26 @@ class TableColumnsArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'encoding': item.get('encoding'), {
u'fieldName': item.get('field_name'), u'encoding': item.get('encoding'),
u'onlyReadLatest': item.get('only_read_latest'), u'fieldName': item.get('field_name'),
u'qualifierString': item.get('qualifier_string'), u'onlyReadLatest': item.get('only_read_latest'),
u'type': item.get('type') u'qualifierString': item.get('qualifier_string'),
}) u'type': item.get('type'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'encoding': item.get(u'encoding'), {
u'fieldName': item.get(u'fieldName'), u'encoding': item.get(u'encoding'),
u'onlyReadLatest': item.get(u'onlyReadLatest'), u'fieldName': item.get(u'fieldName'),
u'qualifierString': item.get(u'qualifierString'), u'onlyReadLatest': item.get(u'onlyReadLatest'),
u'type': item.get(u'type') u'qualifierString': item.get(u'qualifierString'),
}) u'type': item.get(u'type'),
}
)
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -513,11 +512,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(dataset=dict(type='str')))
argument_spec=dict(
dataset=dict(type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery'] module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery']
@ -527,9 +522,7 @@ def main():
items = items.get('tables') items = items.get('tables')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -220,7 +220,7 @@ def main():
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']), network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']),
subnetwork=dict(), subnetwork=dict(),
region=dict(required=True, type='str') region=dict(required=True, type='str'),
) )
) )
@ -277,7 +277,7 @@ def resource_to_request(module):
u'description': module.params.get('description'), u'description': module.params.get('description'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'networkTier': module.params.get('network_tier'), u'networkTier': module.params.get('network_tier'),
u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink') u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():

View file

@ -147,12 +147,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -162,7 +157,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -114,11 +114,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -128,7 +124,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -623,42 +623,55 @@ def main():
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
affinity_cookie_ttl_sec=dict(type='int'), affinity_cookie_ttl_sec=dict(type='int'),
backends=dict(type='list', elements='dict', options=dict( backends=dict(
balancing_mode=dict(type='str', choices=['UTILIZATION', 'RATE', 'CONNECTION']), type='list',
capacity_scaler=dict(type='str'), elements='dict',
description=dict(type='str'), options=dict(
group=dict(), balancing_mode=dict(type='str', choices=['UTILIZATION', 'RATE', 'CONNECTION']),
max_connections=dict(type='int'), capacity_scaler=dict(type='str'),
max_connections_per_instance=dict(type='int'), description=dict(type='str'),
max_rate=dict(type='int'), group=dict(),
max_rate_per_instance=dict(type='str'), max_connections=dict(type='int'),
max_utilization=dict(type='str') max_connections_per_instance=dict(type='int'),
)), max_rate=dict(type='int'),
cdn_policy=dict(type='dict', options=dict( max_rate_per_instance=dict(type='str'),
cache_key_policy=dict(type='dict', options=dict( max_utilization=dict(type='str'),
include_host=dict(type='bool'), ),
include_protocol=dict(type='bool'), ),
include_query_string=dict(type='bool'), cdn_policy=dict(
query_string_blacklist=dict(type='list', elements='str'), type='dict',
query_string_whitelist=dict(type='list', elements='str') options=dict(
)) cache_key_policy=dict(
)), type='dict',
connection_draining=dict(type='dict', options=dict( options=dict(
draining_timeout_sec=dict(type='int') include_host=dict(type='bool'),
)), include_protocol=dict(type='bool'),
include_query_string=dict(type='bool'),
query_string_blacklist=dict(type='list', elements='str'),
query_string_whitelist=dict(type='list', elements='str'),
),
)
),
),
connection_draining=dict(type='dict', options=dict(draining_timeout_sec=dict(type='int'))),
description=dict(type='str'), description=dict(type='str'),
enable_cdn=dict(type='bool'), enable_cdn=dict(type='bool'),
health_checks=dict(required=True, type='list', elements='str'), health_checks=dict(type='list', elements='str'),
iap=dict( iap=dict(
type='dict', type='dict',
options=dict(enabled=dict(type='bool'), oauth2_client_id=dict(required=True, type='str'), oauth2_client_secret=dict(required=True, type='str')), options=dict(
enabled=dict(type='bool'),
oauth2_client_id=dict(type='str'),
oauth2_client_secret=dict(type='str'),
oauth2_client_secret_sha256=dict(type='str'),
),
), ),
load_balancing_scheme=dict(default='EXTERNAL', type='str', choices=['EXTERNAL']), load_balancing_scheme=dict(type='str', choices=['INTERNAL', 'EXTERNAL']),
name=dict(required=True, type='str'), name=dict(type='str'),
port_name=dict(type='str'), port_name=dict(type='str'),
protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'HTTP2', 'TCP', 'SSL']), protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'TCP', 'SSL']),
security_policy=dict(type='str'), region=dict(type='str'),
session_affinity=dict(type='str', choices=['NONE', 'CLIENT_IP', 'GENERATED_COOKIE']), session_affinity=dict(type='str', choices=['NONE', 'CLIENT_IP', 'GENERATED_COOKIE', 'CLIENT_IP_PROTO', 'CLIENT_IP_PORT_PROTO']),
timeout_sec=dict(type='int', aliases=['timeout_seconds']), timeout_sec=dict(type='int', aliases=['timeout_seconds']),
) )
) )
@ -888,7 +901,7 @@ class BackendServiceBackendsArray(object):
u'balancingMode': item.get('balancing_mode'), u'balancingMode': item.get('balancing_mode'),
u'capacityScaler': item.get('capacity_scaler'), u'capacityScaler': item.get('capacity_scaler'),
u'description': item.get('description'), u'description': item.get('description'),
u'group': item.get('group'), u'group': replace_resource_dict(item.get(u'group', {}), 'selfLink'),
u'maxConnections': item.get('max_connections'), u'maxConnections': item.get('max_connections'),
u'maxConnectionsPerInstance': item.get('max_connections_per_instance'), u'maxConnectionsPerInstance': item.get('max_connections_per_instance'),
u'maxRate': item.get('max_rate'), u'maxRate': item.get('max_rate'),
@ -898,17 +911,19 @@ class BackendServiceBackendsArray(object):
) )
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'balancingMode': item.get(u'balancingMode'), {
u'capacityScaler': item.get(u'capacityScaler'), u'balancingMode': item.get(u'balancingMode'),
u'description': item.get(u'description'), u'capacityScaler': item.get(u'capacityScaler'),
u'group': item.get(u'group'), u'description': item.get(u'description'),
u'maxConnections': item.get(u'maxConnections'), u'group': item.get(u'group'),
u'maxConnectionsPerInstance': item.get(u'maxConnectionsPerInstance'), u'maxConnections': item.get(u'maxConnections'),
u'maxRate': item.get(u'maxRate'), u'maxConnectionsPerInstance': item.get(u'maxConnectionsPerInstance'),
u'maxRatePerInstance': item.get(u'maxRatePerInstance'), u'maxRate': item.get(u'maxRate'),
u'maxUtilization': item.get(u'maxUtilization') u'maxRatePerInstance': item.get(u'maxRatePerInstance'),
}) u'maxUtilization': item.get(u'maxUtilization'),
}
)
class BackendServiceCdnpolicy(object): class BackendServiceCdnpolicy(object):
@ -920,14 +935,10 @@ class BackendServiceCdnpolicy(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get('cache_key_policy', {}), self.module).to_request()})
u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get('cache_key_policy', {}), self.module).to_request()
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get(u'cacheKeyPolicy', {}), self.module).from_response()})
u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get(u'cacheKeyPolicy', {}), self.module).from_response()
})
class BackendServiceCachekeypolicy(object): class BackendServiceCachekeypolicy(object):
@ -990,6 +1001,7 @@ class BackendServiceIap(object):
u'enabled': self.request.get('enabled'), u'enabled': self.request.get('enabled'),
u'oauth2ClientId': self.request.get('oauth2_client_id'), u'oauth2ClientId': self.request.get('oauth2_client_id'),
u'oauth2ClientSecret': self.request.get('oauth2_client_secret'), u'oauth2ClientSecret': self.request.get('oauth2_client_secret'),
u'oauth2ClientSecretSha256': self.request.get('oauth2_client_secret_sha256'),
} }
) )
@ -999,6 +1011,7 @@ class BackendServiceIap(object):
u'enabled': self.request.get(u'enabled'), u'enabled': self.request.get(u'enabled'),
u'oauth2ClientId': self.request.get(u'oauth2ClientId'), u'oauth2ClientId': self.request.get(u'oauth2ClientId'),
u'oauth2ClientSecret': self.request.get(u'oauth2ClientSecret'), u'oauth2ClientSecret': self.request.get(u'oauth2ClientSecret'),
u'oauth2ClientSecretSha256': self.request.get(u'oauth2ClientSecretSha256'),
} }
) )

View file

@ -340,11 +340,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -354,7 +350,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -409,19 +409,10 @@ def main():
type=dict(type='str'), type=dict(type='str'),
source_image=dict(type='str'), source_image=dict(type='str'),
zone=dict(required=True, type='str'), zone=dict(required=True, type='str'),
source_image_encryption_key=dict(type='dict', options=dict( source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
raw_key=dict(type='str'), disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=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=dict(),
source_snapshot_encryption_key=dict(type='dict', options=dict( source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
raw_key=dict(type='str'),
sha256=dict(type='str')
))
) )
) )
@ -462,8 +453,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -477,27 +467,16 @@ def update_fields(module, request, response):
def label_fingerprint_update(module, request, response): def label_fingerprint_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/zones/{zone}/disks/{name}/setLabels"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'labelFingerprint': response.get('labelFingerprint'), u'labels': module.params.get('labels')},
"projects/{project}/zones/{zone}/disks/{name}/setLabels"
]).format(**module.params),
{
u'labelFingerprint': response.get('labelFingerprint'),
u'labels': module.params.get('labels')
}
) )
def size_gb_update(module, request, response): def size_gb_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/zones/{zone}/disks/{name}/resize"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'sizeGb': module.params.get('size_gb')},
"projects/{project}/zones/{zone}/disks/{name}/resize"
]).format(**module.params),
{
u'sizeGb': module.params.get('size_gb')
}
) )
@ -597,7 +576,7 @@ def response_to_hash(module, response):
u'sizeGb': response.get(u'sizeGb'), u'sizeGb': response.get(u'sizeGb'),
u'users': response.get(u'users'), u'users': response.get(u'users'),
u'type': response.get(u'type'), u'type': response.get(u'type'),
u'sourceImage': module.params.get('source_image') u'sourceImage': module.params.get('source_image'),
} }
@ -654,10 +633,10 @@ class DiskSourceimageencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'kmsKeyName': self.request.get(u'kmsKeyName')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
class DiskDiskencryptionkey(object): class DiskDiskencryptionkey(object):
@ -669,10 +648,10 @@ class DiskDiskencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'kmsKeyName': self.request.get(u'kmsKeyName')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
class DiskSourcesnapshotencryptionkey(object): class DiskSourcesnapshotencryptionkey(object):
@ -684,10 +663,10 @@ class DiskSourcesnapshotencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'kmsKeyName': self.request.get(u'kmsKeyName')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -276,7 +276,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -426,14 +426,8 @@ def main():
module = GcpModule( module = GcpModule(
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
allowed=dict(type='list', elements='dict', options=dict( allowed=dict(type='list', elements='dict', options=dict(ip_protocol=dict(required=True, type='str'), ports=dict(type='list', elements='str'))),
ip_protocol=dict(required=True, type='str'), denied=dict(type='list', elements='dict', options=dict(ip_protocol=dict(required=True, type='str'), ports=dict(type='list', elements='str'))),
ports=dict(type='list', elements='str')
)),
denied=dict(type='list', elements='dict', options=dict(
ip_protocol=dict(required=True, type='str'),
ports=dict(type='list', elements='str')
)),
description=dict(type='str'), description=dict(type='str'),
destination_ranges=dict(type='list', elements='str'), destination_ranges=dict(type='list', elements='str'),
direction=dict(type='str', choices=['INGRESS', 'EGRESS']), direction=dict(type='str', choices=['INGRESS', 'EGRESS']),
@ -445,15 +439,17 @@ def main():
source_service_accounts=dict(type='list', elements='str'), source_service_accounts=dict(type='list', elements='str'),
source_tags=dict(type='list', elements='str'), source_tags=dict(type='list', elements='str'),
target_service_accounts=dict(type='list', elements='str'), target_service_accounts=dict(type='list', elements='str'),
target_tags=dict(type='list', elements='str') target_tags=dict(type='list', elements='str'),
), ),
mutually_exclusive=[['allowed', 'denied'], mutually_exclusive=[
['destination_ranges', 'source_ranges', 'source_tags'], ['allowed', 'denied'],
['destination_ranges', 'source_ranges'], ['destination_ranges', 'source_ranges', 'source_tags'],
['source_service_accounts', 'source_tags', 'target_tags'], ['destination_ranges', 'source_ranges'],
['destination_ranges', 'source_service_accounts', 'source_tags', 'target_service_accounts'], ['source_service_accounts', 'source_tags', 'target_tags'],
['source_tags', 'target_service_accounts', 'target_tags'], ['destination_ranges', 'source_service_accounts', 'source_tags', 'target_service_accounts'],
['source_service_accounts', 'target_service_accounts', 'target_tags']] ['source_tags', 'target_service_accounts', 'target_tags'],
['source_service_accounts', 'target_service_accounts', 'target_tags'],
],
) )
if not module.params['scopes']: if not module.params['scopes']:
@ -518,7 +514,7 @@ def resource_to_request(module):
u'sourceServiceAccounts': module.params.get('source_service_accounts'), u'sourceServiceAccounts': module.params.get('source_service_accounts'),
u'sourceTags': module.params.get('source_tags'), u'sourceTags': module.params.get('source_tags'),
u'targetServiceAccounts': module.params.get('target_service_accounts'), u'targetServiceAccounts': module.params.get('target_service_accounts'),
u'targetTags': module.params.get('target_tags') u'targetTags': module.params.get('target_tags'),
} }
request = encode_request(request, module) request = encode_request(request, module)
return_vals = {} return_vals = {}
@ -600,7 +596,7 @@ def response_to_hash(module, response):
u'sourceServiceAccounts': response.get(u'sourceServiceAccounts'), u'sourceServiceAccounts': response.get(u'sourceServiceAccounts'),
u'sourceTags': response.get(u'sourceTags'), u'sourceTags': response.get(u'sourceTags'),
u'targetServiceAccounts': response.get(u'targetServiceAccounts'), u'targetServiceAccounts': response.get(u'targetServiceAccounts'),
u'targetTags': response.get(u'targetTags') u'targetTags': response.get(u'targetTags'),
} }
@ -642,8 +638,9 @@ def raise_if_errors(response, err_path, module):
def encode_request(request, module): def encode_request(request, module):
if 'network' in request and request['network'] is not None: if 'network' in request and request['network'] is not None:
if not re.match(r'https://www.googleapis.com/compute/v1/projects/.*', request['network']): if not re.match(r'https://www.googleapis.com/compute/v1/projects/.*', request['network']):
request['network'] = 'https://www.googleapis.com/compute/v1/projects/{project}/{network}'.format(project=module.params['project'], request['network'] = 'https://www.googleapis.com/compute/v1/projects/{project}/{network}'.format(
network=request['network']) project=module.params['project'], network=request['network']
)
return request return request
@ -672,7 +669,7 @@ class FirewallAllowedArray(object):
return remove_nones_from_dict({u'IPProtocol': item.get('ip_protocol'), u'ports': item.get('ports')}) return remove_nones_from_dict({u'IPProtocol': item.get('ip_protocol'), u'ports': item.get('ports')})
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({u'IPProtocol': item.get(u'IPProtocol'), u'ports': item.get(u'ports')}) return remove_nones_from_dict({u'IPProtocol': item.get(u'ip_protocol'), u'ports': item.get(u'ports')})
class FirewallDeniedArray(object): class FirewallDeniedArray(object):
@ -699,40 +696,7 @@ class FirewallDeniedArray(object):
return remove_nones_from_dict({u'IPProtocol': item.get('ip_protocol'), u'ports': item.get('ports')}) return remove_nones_from_dict({u'IPProtocol': item.get('ip_protocol'), u'ports': item.get('ports')})
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({u'IPProtocol': item.get(u'IPProtocol'), u'ports': item.get(u'ports')}) return remove_nones_from_dict({u'IPProtocol': item.get(u'ip_protocol'), u'ports': item.get(u'ports')})
class FirewallDeniedArray(object):
def __init__(self, request, module):
self.module = module
if request:
self.request = request
else:
self.request = []
def to_request(self):
items = []
for item in self.request:
items.append(self._request_for_item(item))
return items
def from_response(self):
items = []
for item in self.request:
items.append(self._response_from_item(item))
return items
def _request_for_item(self, item):
return remove_nones_from_dict({
u'IPProtocol': item.get('ip_protocol'),
u'ports': item.get('ports')
})
def _response_from_item(self, item):
return remove_nones_from_dict({
u'IPProtocol': item.get(u'ip_protocol'),
u'ports': item.get(u'ports')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -247,11 +247,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -261,7 +257,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -421,7 +421,7 @@ def main():
subnetwork=dict(), subnetwork=dict(),
target=dict(), target=dict(),
network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']), network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']),
region=dict(required=True, type='str') region=dict(required=True, type='str'),
) )
) )
@ -462,8 +462,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -475,13 +474,8 @@ def update_fields(module, request, response):
def target_update(module, request, response): def target_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/forwardingRules/{name}/setTarget"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink')},
"projects/{project}/regions/{region}/forwardingRules/{name}/setTarget"
]).format(**module.params),
{
u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink')
}
) )
@ -505,7 +499,7 @@ def resource_to_request(module):
u'ports': module.params.get('ports'), u'ports': module.params.get('ports'),
u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink'), u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink'),
u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink'), u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink'),
u'networkTier': module.params.get('network_tier') u'networkTier': module.params.get('network_tier'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -585,7 +579,7 @@ def response_to_hash(module, response):
u'ports': response.get(u'ports'), u'ports': response.get(u'ports'),
u'subnetwork': response.get(u'subnetwork'), u'subnetwork': response.get(u'subnetwork'),
u'target': response.get(u'target'), u'target': response.get(u'target'),
u'networkTier': module.params.get('network_tier') u'networkTier': module.params.get('network_tier'),
} }

View file

@ -238,7 +238,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -178,7 +178,7 @@ def main():
description=dict(type='str'), description=dict(type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
ip_version=dict(type='str', choices=['IPV4', 'IPV6']), ip_version=dict(type='str', choices=['IPV4', 'IPV6']),
address_type=dict(default='EXTERNAL', type='str', choices=['EXTERNAL', 'INTERNAL']) address_type=dict(default='EXTERNAL', type='str', choices=['EXTERNAL', 'INTERNAL']),
) )
) )
@ -234,7 +234,7 @@ def resource_to_request(module):
u'description': module.params.get('description'), u'description': module.params.get('description'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'ipVersion': module.params.get('ip_version'), u'ipVersion': module.params.get('ip_version'),
u'addressType': module.params.get('address_type') u'addressType': module.params.get('address_type'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -307,7 +307,7 @@ def response_to_hash(module, response):
u'name': response.get(u'name'), u'name': response.get(u'name'),
u'ipVersion': response.get(u'ipVersion'), u'ipVersion': response.get(u'ipVersion'),
u'region': response.get(u'region'), u'region': response.get(u'region'),
u'addressType': response.get(u'addressType') u'addressType': response.get(u'addressType'),
} }

View file

@ -128,11 +128,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -142,7 +138,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -430,7 +430,7 @@ def main():
port_range=dict(type='str'), port_range=dict(type='str'),
ports=dict(type='list', elements='str'), ports=dict(type='list', elements='str'),
subnetwork=dict(), subnetwork=dict(),
target=dict(type='str') target=dict(type='str'),
) )
) )
@ -504,6 +504,8 @@ def resource_to_request(module):
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'), u'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'),
u'portRange': module.params.get('port_range'), u'portRange': module.params.get('port_range'),
u'ports': module.params.get('ports'),
u'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), 'selfLink'),
u'target': module.params.get('target'), u'target': module.params.get('target'),
} }
return_vals = {} return_vals = {}
@ -580,6 +582,9 @@ def response_to_hash(module, response):
u'name': response.get(u'name'), u'name': response.get(u'name'),
u'network': response.get(u'network'), u'network': response.get(u'network'),
u'portRange': response.get(u'portRange'), u'portRange': response.get(u'portRange'),
u'ports': response.get(u'ports'),
u'subnetwork': response.get(u'subnetwork'),
u'region': response.get(u'region'),
u'target': response.get(u'target'), u'target': response.get(u'target'),
} }

View file

@ -212,11 +212,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -226,7 +222,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -536,38 +536,50 @@ def main():
timeout_sec=dict(default=5, type='int', aliases=['timeout_seconds']), timeout_sec=dict(default=5, type='int', aliases=['timeout_seconds']),
unhealthy_threshold=dict(default=2, type='int'), unhealthy_threshold=dict(default=2, type='int'),
type=dict(type='str', choices=['TCP', 'SSL', 'HTTP', 'HTTPS']), type=dict(type='str', choices=['TCP', 'SSL', 'HTTP', 'HTTPS']),
http_health_check=dict(type='dict', options=dict( http_health_check=dict(
host=dict(type='str'), type='dict',
request_path=dict(default='/', type='str'), options=dict(
response=dict(type='str'), host=dict(type='str'),
port=dict(type='int'), request_path=dict(default='/', type='str'),
port_name=dict(type='str'), response=dict(type='str'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']) port=dict(type='int'),
)), port_name=dict(type='str'),
https_health_check=dict(type='dict', options=dict( proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
host=dict(type='str'), ),
request_path=dict(default='/', type='str'), ),
response=dict(type='str'), https_health_check=dict(
port=dict(type='int'), type='dict',
port_name=dict(type='str'), options=dict(
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']) host=dict(type='str'),
)), request_path=dict(default='/', type='str'),
tcp_health_check=dict(type='dict', options=dict( response=dict(type='str'),
request=dict(type='str'), port=dict(type='int'),
response=dict(type='str'), port_name=dict(type='str'),
port=dict(type='int'), proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
port_name=dict(type='str'), ),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']) ),
)), tcp_health_check=dict(
ssl_health_check=dict(type='dict', options=dict( type='dict',
request=dict(type='str'), options=dict(
response=dict(type='str'), request=dict(type='str'),
port=dict(type='int'), response=dict(type='str'),
port_name=dict(type='str'), port=dict(type='int'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']) port_name=dict(type='str'),
)) proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
),
),
ssl_health_check=dict(
type='dict',
options=dict(
request=dict(type='str'),
response=dict(type='str'),
port=dict(type='int'),
port_name=dict(type='str'),
proxy_header=dict(default='NONE', type='str', choices=['NONE', 'PROXY_V1']),
),
),
), ),
mutually_exclusive=[['http_health_check', 'https_health_check', 'ssl_health_check', 'tcp_health_check']] mutually_exclusive=[['http_health_check', 'https_health_check', 'ssl_health_check', 'tcp_health_check']],
) )
if not module.params['scopes']: if not module.params['scopes']:
@ -629,7 +641,7 @@ def resource_to_request(module):
u'httpHealthCheck': HealthCheckHttphealthcheck(module.params.get('http_health_check', {}), module).to_request(), u'httpHealthCheck': HealthCheckHttphealthcheck(module.params.get('http_health_check', {}), module).to_request(),
u'httpsHealthCheck': HealthCheckHttpshealthcheck(module.params.get('https_health_check', {}), module).to_request(), u'httpsHealthCheck': HealthCheckHttpshealthcheck(module.params.get('https_health_check', {}), module).to_request(),
u'tcpHealthCheck': HealthCheckTcphealthcheck(module.params.get('tcp_health_check', {}), module).to_request(), u'tcpHealthCheck': HealthCheckTcphealthcheck(module.params.get('tcp_health_check', {}), module).to_request(),
u'sslHealthCheck': HealthCheckSslhealthcheck(module.params.get('ssl_health_check', {}), module).to_request() u'sslHealthCheck': HealthCheckSslhealthcheck(module.params.get('ssl_health_check', {}), module).to_request(),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -707,7 +719,7 @@ def response_to_hash(module, response):
u'httpHealthCheck': HealthCheckHttphealthcheck(response.get(u'httpHealthCheck', {}), module).from_response(), u'httpHealthCheck': HealthCheckHttphealthcheck(response.get(u'httpHealthCheck', {}), module).from_response(),
u'httpsHealthCheck': HealthCheckHttpshealthcheck(response.get(u'httpsHealthCheck', {}), module).from_response(), u'httpsHealthCheck': HealthCheckHttpshealthcheck(response.get(u'httpsHealthCheck', {}), module).from_response(),
u'tcpHealthCheck': HealthCheckTcphealthcheck(response.get(u'tcpHealthCheck', {}), module).from_response(), u'tcpHealthCheck': HealthCheckTcphealthcheck(response.get(u'tcpHealthCheck', {}), module).from_response(),
u'sslHealthCheck': HealthCheckSslhealthcheck(response.get(u'sslHealthCheck', {}), module).from_response() u'sslHealthCheck': HealthCheckSslhealthcheck(response.get(u'sslHealthCheck', {}), module).from_response(),
} }
@ -755,24 +767,28 @@ class HealthCheckHttphealthcheck(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'host': self.request.get('host'), {
u'requestPath': self.request.get('request_path'), u'host': self.request.get('host'),
u'response': self.request.get('response'), u'requestPath': self.request.get('request_path'),
u'port': self.request.get('port'), u'response': self.request.get('response'),
u'portName': self.request.get('port_name'), u'port': self.request.get('port'),
u'proxyHeader': self.request.get('proxy_header') u'portName': self.request.get('port_name'),
}) u'proxyHeader': self.request.get('proxy_header'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'host': self.request.get(u'host'), {
u'requestPath': self.request.get(u'requestPath'), u'host': self.request.get(u'host'),
u'response': self.request.get(u'response'), u'requestPath': self.request.get(u'requestPath'),
u'port': self.request.get(u'port'), u'response': self.request.get(u'response'),
u'portName': self.request.get(u'portName'), u'port': self.request.get(u'port'),
u'proxyHeader': self.request.get(u'proxyHeader') u'portName': self.request.get(u'portName'),
}) u'proxyHeader': self.request.get(u'proxyHeader'),
}
)
class HealthCheckHttpshealthcheck(object): class HealthCheckHttpshealthcheck(object):
@ -784,24 +800,28 @@ class HealthCheckHttpshealthcheck(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'host': self.request.get('host'), {
u'requestPath': self.request.get('request_path'), u'host': self.request.get('host'),
u'response': self.request.get('response'), u'requestPath': self.request.get('request_path'),
u'port': self.request.get('port'), u'response': self.request.get('response'),
u'portName': self.request.get('port_name'), u'port': self.request.get('port'),
u'proxyHeader': self.request.get('proxy_header') u'portName': self.request.get('port_name'),
}) u'proxyHeader': self.request.get('proxy_header'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'host': self.request.get(u'host'), {
u'requestPath': self.request.get(u'requestPath'), u'host': self.request.get(u'host'),
u'response': self.request.get(u'response'), u'requestPath': self.request.get(u'requestPath'),
u'port': self.request.get(u'port'), u'response': self.request.get(u'response'),
u'portName': self.request.get(u'portName'), u'port': self.request.get(u'port'),
u'proxyHeader': self.request.get(u'proxyHeader') u'portName': self.request.get(u'portName'),
}) u'proxyHeader': self.request.get(u'proxyHeader'),
}
)
class HealthCheckTcphealthcheck(object): class HealthCheckTcphealthcheck(object):

View file

@ -302,11 +302,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -316,7 +312,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -148,11 +148,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -162,7 +158,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -148,11 +148,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -162,7 +158,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -452,26 +452,17 @@ def main():
description=dict(type='str'), description=dict(type='str'),
disk_size_gb=dict(type='int'), disk_size_gb=dict(type='int'),
family=dict(type='str'), family=dict(type='str'),
guest_os_features=dict(type='list', elements='dict', options=dict( guest_os_features=dict(type='list', elements='dict', options=dict(type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE']))),
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'))),
)),
image_encryption_key=dict(type='dict', options=dict(
raw_key=dict(type='str'),
sha256=dict(type='str')
)),
labels=dict(type='dict'), labels=dict(type='dict'),
licenses=dict(type='list', elements='str'), licenses=dict(type='list', elements='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
raw_disk=dict(type='dict', options=dict( raw_disk=dict(
container_type=dict(type='str', choices=['TAR']), type='dict',
sha1_checksum=dict(type='str'), options=dict(container_type=dict(type='str', choices=['TAR']), sha1_checksum=dict(type='str'), source=dict(required=True, type='str')),
source=dict(required=True, type='str') ),
)),
source_disk=dict(), source_disk=dict(),
source_disk_encryption_key=dict(type='dict', options=dict( source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
raw_key=dict(type='str'),
sha256=dict(type='str')
)),
source_disk_id=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 +505,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -527,14 +517,8 @@ def update_fields(module, request, response):
def labels_update(module, request, response): def labels_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/images/{name}/setLabels"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'labels': module.params.get('labels'), u'labelFingerprint': response.get('labelFingerprint')},
"projects/{project}/global/images/{name}/setLabels"
]).format(**module.params),
{
u'labels': module.params.get('labels'),
u'labelFingerprint': response.get('labelFingerprint')
}
) )
@ -756,10 +740,10 @@ class ImageImageencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
class ImageRawdisk(object): class ImageRawdisk(object):
@ -790,10 +774,10 @@ class ImageSourcediskencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -290,11 +290,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -304,7 +300,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -890,70 +890,60 @@ def main():
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
can_ip_forward=dict(type='bool'), can_ip_forward=dict(type='bool'),
disks=dict(type='list', elements='dict', options=dict( disks=dict(
auto_delete=dict(type='bool'), type='list',
boot=dict(type='bool'), elements='dict',
device_name=dict(type='str'), options=dict(
disk_encryption_key=dict(type='dict', options=dict( auto_delete=dict(type='bool'),
raw_key=dict(type='str'), boot=dict(type='bool'),
rsa_encrypted_key=dict(type='str'), device_name=dict(type='str'),
sha256=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'),
index=dict(type='int'), initialize_params=dict(
initialize_params=dict(type='dict', options=dict( type='dict',
disk_name=dict(type='str'), options=dict(
disk_size_gb=dict(type='int'), disk_name=dict(type='str'),
disk_type=dict(type='str'), disk_size_gb=dict(type='int'),
source_image=dict(type='str'), disk_type=dict(type='str'),
source_image_encryption_key=dict(type='dict', options=dict( source_image=dict(type='str'),
raw_key=dict(type='str'), source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
sha256=dict(type='str') ),
)) ),
)), interface=dict(type='str', choices=['SCSI', 'NVME']),
interface=dict(type='str', choices=['SCSI', 'NVME']), mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), source=dict(),
source=dict(), type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']),
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']) ),
)), ),
guest_accelerators=dict(type='list', elements='dict', options=dict( guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))),
accelerator_count=dict(type='int'),
accelerator_type=dict(type='str')
)),
label_fingerprint=dict(type='str'), label_fingerprint=dict(type='str'),
metadata=dict(type='dict'), metadata=dict(type='dict'),
machine_type=dict(type='str'), machine_type=dict(type='str'),
min_cpu_platform=dict(type='str'), min_cpu_platform=dict(type='str'),
name=dict(type='str'), name=dict(type='str'),
network_interfaces=dict(type='list', elements='dict', options=dict( network_interfaces=dict(
access_configs=dict(type='list', elements='dict', options=dict( type='list',
name=dict(required=True, type='str'), elements='dict',
nat_ip=dict(), options=dict(
type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) access_configs=dict(
)), type='list',
alias_ip_ranges=dict(type='list', elements='dict', options=dict( elements='dict',
ip_cidr_range=dict(type='str'), options=dict(name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])),
subnetwork_range_name=dict(type='str') ),
)), 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'), name=dict(type='str'),
network=dict(), network=dict(),
network_ip=dict(type='str'), network_ip=dict(type='str'),
subnetwork=dict() subnetwork=dict(),
)), ),
scheduling=dict(type='dict', options=dict( ),
automatic_restart=dict(type='bool'), scheduling=dict(
on_host_maintenance=dict(type='str'), type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool'))
preemptible=dict(type='bool') ),
)), service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))),
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']), status=dict(type='str', choices=['PROVISIONING', 'STAGING', 'RUNNING', 'STOPPING', 'SUSPENDING', 'SUSPENDED', 'TERMINATED']),
tags=dict(type='dict', options=dict( tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))),
fingerprint=dict(type='str'), zone=dict(required=True, type='str'),
items=dict(type='list', elements='str')
)),
zone=dict(required=True, type='str')
) )
) )
@ -999,8 +989,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -1012,13 +1001,8 @@ def update_fields(module, request, response):
def machine_type_update(module, request, response): def machine_type_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/zones/{zone}/instances/{name}/setMachineType"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'machineType': machine_type_selflink(module.params.get('machine_type'), module.params)},
"projects/{project}/zones/{zone}/instances/{name}/setMachineType"
]).format(**module.params),
{
u'machineType': machine_type_selflink(module.params.get('machine_type'), module.params)
}
) )
@ -1042,7 +1026,7 @@ def resource_to_request(module):
u'scheduling': InstanceScheduling(module.params.get('scheduling', {}), module).to_request(), u'scheduling': InstanceScheduling(module.params.get('scheduling', {}), module).to_request(),
u'serviceAccounts': InstanceServiceaccountsArray(module.params.get('service_accounts', []), module).to_request(), u'serviceAccounts': InstanceServiceaccountsArray(module.params.get('service_accounts', []), module).to_request(),
u'status': module.params.get('status'), 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) request = encode_request(request, module)
return_vals = {} return_vals = {}
@ -1284,32 +1268,36 @@ class InstanceDisksArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autoDelete': item.get('auto_delete'), {
u'boot': item.get('boot'), u'autoDelete': item.get('auto_delete'),
u'deviceName': item.get('device_name'), u'boot': item.get('boot'),
u'diskEncryptionKey': InstanceDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(), u'deviceName': item.get('device_name'),
u'index': item.get('index'), u'diskEncryptionKey': InstanceDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(),
u'initializeParams': InstanceInitializeparams(item.get('initialize_params', {}), self.module).to_request(), u'index': item.get('index'),
u'interface': item.get('interface'), u'initializeParams': InstanceInitializeparams(item.get('initialize_params', {}), self.module).to_request(),
u'mode': item.get('mode'), u'interface': item.get('interface'),
u'source': replace_resource_dict(item.get(u'source', {}), 'selfLink'), u'mode': item.get('mode'),
u'type': item.get('type') u'source': replace_resource_dict(item.get(u'source', {}), 'selfLink'),
}) u'type': item.get('type'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autoDelete': item.get(u'autoDelete'), {
u'boot': item.get(u'boot'), u'autoDelete': item.get(u'autoDelete'),
u'deviceName': item.get(u'deviceName'), u'boot': item.get(u'boot'),
u'diskEncryptionKey': InstanceDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(), u'deviceName': item.get(u'deviceName'),
u'index': item.get(u'index'), u'diskEncryptionKey': InstanceDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(),
u'initializeParams': InstanceInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(), u'index': item.get(u'index'),
u'interface': item.get(u'interface'), u'initializeParams': InstanceInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(),
u'mode': item.get(u'mode'), u'interface': item.get(u'interface'),
u'source': item.get(u'source'), u'mode': item.get(u'mode'),
u'type': item.get(u'type') u'source': item.get(u'source'),
}) u'type': item.get(u'type'),
}
)
class InstanceDiskencryptionkey(object): class InstanceDiskencryptionkey(object):
@ -1321,10 +1309,14 @@ class InstanceDiskencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key')}) 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): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey')}) 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): class InstanceInitializeparams(object):
@ -1336,22 +1328,26 @@ class InstanceInitializeparams(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'diskName': self.request.get('disk_name'), {
u'diskSizeGb': self.request.get('disk_size_gb'), u'diskName': self.request.get('disk_name'),
u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params), u'diskSizeGb': self.request.get('disk_size_gb'),
u'sourceImage': self.request.get('source_image'), u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params),
u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request() 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): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'diskName': self.request.get(u'diskName'), {
u'diskSizeGb': self.request.get(u'diskSizeGb'), u'diskName': self.request.get(u'diskName'),
u'diskType': self.request.get(u'diskType'), u'diskSizeGb': self.request.get(u'diskSizeGb'),
u'sourceImage': self.request.get(u'sourceImage'), u'diskType': self.request.get(u'diskType'),
u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response() u'sourceImage': self.request.get(u'sourceImage'),
}) u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response(),
}
)
class InstanceSourceimageencryptionkey(object): class InstanceSourceimageencryptionkey(object):
@ -1363,10 +1359,10 @@ class InstanceSourceimageencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
class InstanceGuestacceleratorsArray(object): class InstanceGuestacceleratorsArray(object):
@ -1417,24 +1413,28 @@ class InstanceNetworkinterfacesArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ 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'accessConfigs': InstanceAccessconfigsArray(item.get('access_configs', []), self.module).to_request(),
u'name': item.get('name'), u'aliasIpRanges': InstanceAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(),
u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'), u'name': item.get('name'),
u'networkIP': item.get('network_ip'), u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'),
u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink') u'networkIP': item.get('network_ip'),
}) u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ 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'accessConfigs': InstanceAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(),
u'name': item.get(u'name'), u'aliasIpRanges': InstanceAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(),
u'network': item.get(u'network'), u'name': item.get(u'name'),
u'networkIP': item.get(u'networkIP'), u'network': item.get(u'network'),
u'subnetwork': item.get(u'subnetwork') u'networkIP': item.get(u'networkIP'),
}) u'subnetwork': item.get(u'subnetwork'),
}
)
class InstanceAccessconfigsArray(object): class InstanceAccessconfigsArray(object):

View file

@ -493,7 +493,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -237,15 +237,12 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'), description=dict(type='str'),
name=dict(type='str'), name=dict(type='str'),
named_ports=dict(type='list', elements='dict', options=dict( named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))),
name=dict(type='str'),
port=dict(type='int')
)),
network=dict(), network=dict(),
region=dict(type='str'), region=dict(type='str'),
subnetwork=dict(), subnetwork=dict(),
zone=dict(required=True, type='str'), zone=dict(required=True, type='str'),
instances=dict(type='list') instances=dict(type='list'),
) )
) )
@ -453,8 +450,7 @@ class InstanceLogic(object):
def list_instances(self): def list_instances(self):
auth = GcpSession(self.module, 'compute') auth = GcpSession(self.module, 'compute')
response = return_if_object(self.module, auth.post(self._list_instances_url(), {'instanceState': 'ALL'}), response = return_if_object(self.module, auth.post(self._list_instances_url(), {'instanceState': 'ALL'}), 'compute#instanceGroupsListInstances')
'compute#instanceGroupsListInstances')
# Transform instance list into a list of selfLinks for diffing with module parameters # Transform instance list into a list of selfLinks for diffing with module parameters
instances = [] instances = []
@ -480,9 +476,7 @@ class InstanceLogic(object):
return "https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{name}/addInstances".format(**self.module.params) return "https://www.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instanceGroups/{name}/addInstances".format(**self.module.params)
def _build_request(self, instances): def _build_request(self, instances):
request = { request = {'instances': []}
'instances': []
}
for instance in instances: for instance in instances:
request['instances'].append({'instance': instance}) request['instances'].append({'instance': instance})
return request return request

View file

@ -156,12 +156,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
zone=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -171,7 +166,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -341,10 +341,7 @@ def main():
description=dict(type='str'), description=dict(type='str'),
instance_template=dict(required=True), instance_template=dict(required=True),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
named_ports=dict(type='list', elements='dict', options=dict( named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))),
name=dict(type='str'),
port=dict(type='int')
)),
target_pools=dict(type='list'), target_pools=dict(type='list'),
target_size=dict(type='int'), target_size=dict(type='int'),
zone=dict(required=True, type='str'), zone=dict(required=True, type='str'),
@ -540,19 +537,32 @@ class InstanceGroupManagerCurrentactions(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({}) 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): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'abandoning': self.request.get(u'abandoning'), {
u'creating': self.request.get(u'creating'), u'abandoning': self.request.get(u'abandoning'),
u'creatingWithoutRetries': self.request.get(u'creatingWithoutRetries'), u'creating': self.request.get(u'creating'),
u'deleting': self.request.get(u'deleting'), u'creatingWithoutRetries': self.request.get(u'creatingWithoutRetries'),
u'none': self.request.get(u'none'), u'deleting': self.request.get(u'deleting'),
u'recreating': self.request.get(u'recreating'), u'none': self.request.get(u'none'),
u'refreshing': self.request.get(u'refreshing'), u'recreating': self.request.get(u'recreating'),
u'restarting': self.request.get(u'restarting') u'refreshing': self.request.get(u'refreshing'),
}) u'restarting': self.request.get(u'restarting'),
}
)
class InstanceGroupManagerNamedportsArray(object): class InstanceGroupManagerNamedportsArray(object):

View file

@ -241,7 +241,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -866,70 +866,69 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'), description=dict(type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
properties=dict(type='dict', options=dict( properties=dict(
can_ip_forward=dict(type='bool'), type='dict',
description=dict(type='str'), options=dict(
disks=dict(type='list', elements='dict', options=dict( can_ip_forward=dict(type='bool'),
auto_delete=dict(type='bool'), description=dict(type='str'),
boot=dict(type='bool'), disks=dict(
device_name=dict(type='str'), type='list',
disk_encryption_key=dict(type='dict', options=dict( elements='dict',
raw_key=dict(type='str'), options=dict(
rsa_encrypted_key=dict(type='str'), auto_delete=dict(type='bool'),
sha256=dict(type='str') boot=dict(type='bool'),
)), device_name=dict(type='str'),
index=dict(type='int'), disk_encryption_key=dict(
initialize_params=dict(type='dict', options=dict( type='dict', options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'), sha256=dict(type='str'))
disk_name=dict(type='str'), ),
disk_size_gb=dict(type='int'), index=dict(type='int'),
disk_type=dict(type='str'), initialize_params=dict(
source_image=dict(type='str'), type='dict',
source_image_encryption_key=dict(type='dict', options=dict( options=dict(
raw_key=dict(type='str'), disk_name=dict(type='str'),
sha256=dict(type='str') disk_size_gb=dict(type='int'),
)) disk_type=dict(type='str'),
)), source_image=dict(type='str'),
interface=dict(type='str', choices=['SCSI', 'NVME']), source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']), ),
source=dict(), ),
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']) interface=dict(type='str', choices=['SCSI', 'NVME']),
)), mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
machine_type=dict(required=True, type='str'), source=dict(),
min_cpu_platform=dict(type='str'), type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']),
metadata=dict(type='dict'), ),
guest_accelerators=dict(type='list', elements='dict', options=dict( ),
accelerator_count=dict(type='int'), machine_type=dict(required=True, type='str'),
accelerator_type=dict(type='str') min_cpu_platform=dict(type='str'),
)), metadata=dict(type='dict'),
network_interfaces=dict(type='list', elements='dict', options=dict( guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))),
access_configs=dict(type='list', elements='dict', options=dict( network_interfaces=dict(
name=dict(required=True, type='str'), type='list',
nat_ip=dict(), elements='dict',
type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT']) options=dict(
)), access_configs=dict(
alias_ip_ranges=dict(type='list', elements='dict', options=dict( type='list',
ip_cidr_range=dict(type='str'), elements='dict',
subnetwork_range_name=dict(type='str') options=dict(
)), name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])
name=dict(type='str'), ),
network=dict(), ),
network_ip=dict(type='str'), alias_ip_ranges=dict(
subnetwork=dict() type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))
)), ),
scheduling=dict(type='dict', options=dict( name=dict(type='str'),
automatic_restart=dict(type='bool'), network=dict(),
on_host_maintenance=dict(type='str'), network_ip=dict(type='str'),
preemptible=dict(type='bool') subnetwork=dict(),
)), ),
service_accounts=dict(type='list', elements='dict', options=dict( ),
email=dict(type='str'), scheduling=dict(
scopes=dict(type='list', elements='str') type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool'))
)), ),
tags=dict(type='dict', options=dict( service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))),
fingerprint=dict(type='str'), tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))),
items=dict(type='list', elements='str') ),
)) ),
))
) )
) )
@ -1160,34 +1159,38 @@ class InstanceTemplateProperties(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'canIpForward': self.request.get('can_ip_forward'), {
u'description': self.request.get('description'), u'canIpForward': self.request.get('can_ip_forward'),
u'disks': InstanceTemplateDisksArray(self.request.get('disks', []), self.module).to_request(), u'description': self.request.get('description'),
u'machineType': self.request.get('machine_type'), u'disks': InstanceTemplateDisksArray(self.request.get('disks', []), self.module).to_request(),
u'minCpuPlatform': self.request.get('min_cpu_platform'), u'machineType': self.request.get('machine_type'),
u'metadata': self.request.get('metadata'), u'minCpuPlatform': self.request.get('min_cpu_platform'),
u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get('guest_accelerators', []), self.module).to_request(), u'metadata': self.request.get('metadata'),
u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get('network_interfaces', []), self.module).to_request(), u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get('guest_accelerators', []), self.module).to_request(),
u'scheduling': InstanceTemplateScheduling(self.request.get('scheduling', {}), self.module).to_request(), u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get('network_interfaces', []), self.module).to_request(),
u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get('service_accounts', []), self.module).to_request(), u'scheduling': InstanceTemplateScheduling(self.request.get('scheduling', {}), self.module).to_request(),
u'tags': InstanceTemplateTags(self.request.get('tags', {}), 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): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'canIpForward': self.request.get(u'canIpForward'), {
u'description': self.request.get(u'description'), u'canIpForward': self.request.get(u'canIpForward'),
u'disks': InstanceTemplateDisksArray(self.request.get(u'disks', []), self.module).from_response(), u'description': self.request.get(u'description'),
u'machineType': self.request.get(u'machineType'), u'disks': InstanceTemplateDisksArray(self.request.get(u'disks', []), self.module).from_response(),
u'minCpuPlatform': self.request.get(u'minCpuPlatform'), u'machineType': self.request.get(u'machineType'),
u'metadata': self.request.get(u'metadata'), u'minCpuPlatform': self.request.get(u'minCpuPlatform'),
u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get(u'guestAccelerators', []), self.module).from_response(), u'metadata': self.request.get(u'metadata'),
u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get(u'networkInterfaces', []), self.module).from_response(), u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get(u'guestAccelerators', []), self.module).from_response(),
u'scheduling': InstanceTemplateScheduling(self.request.get(u'scheduling', {}), self.module).from_response(), u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get(u'networkInterfaces', []), self.module).from_response(),
u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get(u'serviceAccounts', []), self.module).from_response(), u'scheduling': InstanceTemplateScheduling(self.request.get(u'scheduling', {}), self.module).from_response(),
u'tags': InstanceTemplateTags(self.request.get(u'tags', {}), 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): class InstanceTemplateDisksArray(object):
@ -1211,32 +1214,36 @@ class InstanceTemplateDisksArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autoDelete': item.get('auto_delete'), {
u'boot': item.get('boot'), u'autoDelete': item.get('auto_delete'),
u'deviceName': item.get('device_name'), u'boot': item.get('boot'),
u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(), u'deviceName': item.get('device_name'),
u'index': item.get('index'), u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(),
u'initializeParams': InstanceTemplateInitializeparams(item.get('initialize_params', {}), self.module).to_request(), u'index': item.get('index'),
u'interface': item.get('interface'), u'initializeParams': InstanceTemplateInitializeparams(item.get('initialize_params', {}), self.module).to_request(),
u'mode': item.get('mode'), u'interface': item.get('interface'),
u'source': replace_resource_dict(item.get(u'source', {}), 'name'), u'mode': item.get('mode'),
u'type': item.get('type') u'source': replace_resource_dict(item.get(u'source', {}), 'name'),
}) u'type': item.get('type'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autoDelete': item.get(u'autoDelete'), {
u'boot': item.get(u'boot'), u'autoDelete': item.get(u'autoDelete'),
u'deviceName': item.get(u'deviceName'), u'boot': item.get(u'boot'),
u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(), u'deviceName': item.get(u'deviceName'),
u'index': item.get(u'index'), u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(),
u'initializeParams': InstanceTemplateInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(), u'index': item.get(u'index'),
u'interface': item.get(u'interface'), u'initializeParams': InstanceTemplateInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(),
u'mode': item.get(u'mode'), u'interface': item.get(u'interface'),
u'source': item.get(u'source'), u'mode': item.get(u'mode'),
u'type': item.get(u'type') u'source': item.get(u'source'),
}) u'type': item.get(u'type'),
}
)
class InstanceTemplateDiskencryptionkey(object): class InstanceTemplateDiskencryptionkey(object):
@ -1248,10 +1255,14 @@ class InstanceTemplateDiskencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key')}) 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): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey')}) 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): class InstanceTemplateInitializeparams(object):
@ -1263,23 +1274,30 @@ class InstanceTemplateInitializeparams(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'diskName': self.request.get('disk_name'), {
u'diskSizeGb': self.request.get('disk_size_gb'), u'diskName': self.request.get('disk_name'),
u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params), u'diskSizeGb': self.request.get('disk_size_gb'),
u'sourceImage': self.request.get('source_image'), u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params),
u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request() 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): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'diskName': self.request.get(u'diskName'), {
u'diskSizeGb': self.request.get(u'diskSizeGb'), u'diskName': self.request.get(u'diskName'),
u'diskType': self.request.get(u'diskType'), u'diskSizeGb': self.request.get(u'diskSizeGb'),
u'sourceImage': self.request.get(u'sourceImage'), u'diskType': self.request.get(u'diskType'),
u'sourceImageEncryptionKey': u'sourceImage': self.request.get(u'sourceImage'),
InstanceTemplateSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response() u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey(
}) self.request.get(u'sourceImageEncryptionKey', {}), self.module
).from_response(),
}
)
class InstanceTemplateSourceimageencryptionkey(object): class InstanceTemplateSourceimageencryptionkey(object):
@ -1291,10 +1309,10 @@ class InstanceTemplateSourceimageencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key')}) return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey')}) return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
class InstanceTemplateGuestacceleratorsArray(object): class InstanceTemplateGuestacceleratorsArray(object):
@ -1345,24 +1363,28 @@ class InstanceTemplateNetworkinterfacesArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ 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'accessConfigs': InstanceTemplateAccessconfigsArray(item.get('access_configs', []), self.module).to_request(),
u'name': item.get('name'), u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(),
u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'), u'name': item.get('name'),
u'networkIP': item.get('network_ip'), u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'),
u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink') u'networkIP': item.get('network_ip'),
}) u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ 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'accessConfigs': InstanceTemplateAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(),
u'name': item.get(u'name'), u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(),
u'network': item.get(u'network'), u'name': item.get(u'name'),
u'networkIP': item.get(u'networkIP'), u'network': item.get(u'network'),
u'subnetwork': item.get(u'subnetwork') u'networkIP': item.get(u'networkIP'),
}) u'subnetwork': item.get(u'subnetwork'),
}
)
class InstanceTemplateAccessconfigsArray(object): class InstanceTemplateAccessconfigsArray(object):

View file

@ -472,11 +472,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -486,7 +482,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -201,7 +200,7 @@ def main():
description=dict(type='str'), description=dict(type='str'),
router=dict(required=True), router=dict(required=True),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
region=dict(required=True, type='str') region=dict(required=True, type='str'),
) )
) )
@ -256,7 +255,7 @@ def resource_to_request(module):
u'interconnect': module.params.get('interconnect'), u'interconnect': module.params.get('interconnect'),
u'description': module.params.get('description'), u'description': module.params.get('description'),
u'router': replace_resource_dict(module.params.get(u'router', {}), 'selfLink'), u'router': replace_resource_dict(module.params.get(u'router', {}), 'selfLink'),
u'name': module.params.get('name') u'name': module.params.get('name'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -331,7 +330,7 @@ def response_to_hash(module, response):
u'router': response.get(u'router'), u'router': response.get(u'router'),
u'creationTimestamp': response.get(u'creationTimestamp'), u'creationTimestamp': response.get(u'creationTimestamp'),
u'id': response.get(u'id'), u'id': response.get(u'id'),
u'name': response.get(u'name') u'name': response.get(u'name'),
} }
@ -388,14 +387,10 @@ class InterconnectAttachmentPrivateinterconnectinfo(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'tag8021q': self.request.get('tag8021q')})
u'tag8021q': self.request.get('tag8021q')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'tag8021q': self.request.get(u'tag8021q')})
u'tag8021q': self.request.get(u'tag8021q')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -160,12 +159,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -175,9 +169,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -215,11 +215,9 @@ def main():
ipv4_range=dict(type='str'), ipv4_range=dict(type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
auto_create_subnetworks=dict(type='bool'), auto_create_subnetworks=dict(type='bool'),
routing_config=dict(type='dict', options=dict( routing_config=dict(type='dict', options=dict(routing_mode=dict(required=True, type='str', choices=['REGIONAL', 'GLOBAL']))),
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']: if not module.params['scopes']:
@ -275,7 +273,7 @@ def resource_to_request(module):
u'IPv4Range': module.params.get('ipv4_range'), u'IPv4Range': module.params.get('ipv4_range'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'), 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 = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -349,7 +347,7 @@ def response_to_hash(module, response):
u'subnetworks': response.get(u'subnetworks'), u'subnetworks': response.get(u'subnetworks'),
u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'), u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'),
u'creationTimestamp': response.get(u'creationTimestamp'), 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(),
} }
@ -397,14 +395,10 @@ class NetworkRoutingconfig(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'routingMode': self.request.get('routing_mode')})
u'routingMode': self.request.get('routing_mode')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'routingMode': self.request.get(u'routingMode')})
u'routingMode': self.request.get(u'routingMode')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -147,11 +147,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -161,7 +157,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -346,15 +345,9 @@ def main():
replica_zones=dict(required=True, type='list', elements='str'), replica_zones=dict(required=True, type='list', elements='str'),
type=dict(type='str'), type=dict(type='str'),
region=dict(required=True, type='str'), region=dict(required=True, type='str'),
disk_encryption_key=dict(type='dict', options=dict( disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
raw_key=dict(type='str'),
sha256=dict(type='str')
)),
source_snapshot=dict(), source_snapshot=dict(),
source_snapshot_encryption_key=dict(type='dict', options=dict( source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
raw_key=dict(type='str'),
sha256=dict(type='str')
))
) )
) )
@ -395,8 +388,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) 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): def label_fingerprint_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/disks/{name}/setLabels"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'labelFingerprint': response.get('labelFingerprint'), u'labels': module.params.get('labels')},
"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): def size_gb_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/disks/{name}/resize"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'sizeGb': module.params.get('size_gb')},
"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'name': module.params.get('name'),
u'sizeGb': module.params.get('size_gb'), u'sizeGb': module.params.get('size_gb'),
u'replicaZones': module.params.get('replica_zones'), 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 = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -528,7 +509,7 @@ def response_to_hash(module, response):
u'sizeGb': response.get(u'sizeGb'), u'sizeGb': response.get(u'sizeGb'),
u'users': response.get(u'users'), u'users': response.get(u'users'),
u'replicaZones': response.get(u'replicaZones'), u'replicaZones': response.get(u'replicaZones'),
u'type': response.get(u'type') u'type': response.get(u'type'),
} }
@ -594,16 +575,10 @@ class RegionDiskDiskencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
u'rawKey': self.request.get('raw_key'),
u'sha256': self.request.get('sha256')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
u'rawKey': self.request.get(u'rawKey'),
u'sha256': self.request.get(u'sha256')
})
class RegionDiskSourcesnapshotencryptionkey(object): class RegionDiskSourcesnapshotencryptionkey(object):
@ -615,16 +590,10 @@ class RegionDiskSourcesnapshotencryptionkey(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
u'rawKey': self.request.get('raw_key'),
u'sha256': self.request.get('sha256')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
u'rawKey': self.request.get(u'rawKey'),
u'sha256': self.request.get(u'sha256')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -228,12 +227,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -243,9 +237,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -268,7 +268,7 @@ def main():
next_hop_gateway=dict(type='str'), next_hop_gateway=dict(type='str'),
next_hop_instance=dict(), next_hop_instance=dict(),
next_hop_ip=dict(type='str'), next_hop_ip=dict(type='str'),
next_hop_vpn_tunnel=dict() next_hop_vpn_tunnel=dict(),
) )
) )
@ -329,7 +329,7 @@ def resource_to_request(module):
u'nextHopGateway': module.params.get('next_hop_gateway'), u'nextHopGateway': module.params.get('next_hop_gateway'),
u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'), u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'),
u'nextHopIp': module.params.get('next_hop_ip'), 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 = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -405,7 +405,7 @@ def response_to_hash(module, response):
u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'), u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'),
u'nextHopIp': module.params.get('next_hop_ip'), 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'),
u'nextHopNetwork': response.get(u'nextHopNetwork') u'nextHopNetwork': response.get(u'nextHopNetwork'),
} }

View file

@ -151,11 +151,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -165,7 +161,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -259,16 +259,16 @@ def main():
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
description=dict(type='str'), description=dict(type='str'),
network=dict(required=True), network=dict(required=True),
bgp=dict(type='dict', options=dict( bgp=dict(
asn=dict(required=True, type='int'), type='dict',
advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']), options=dict(
advertised_groups=dict(type='list', elements='str'), asn=dict(required=True, type='int'),
advertised_ip_ranges=dict(type='list', elements='dict', options=dict( advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']),
range=dict(type='str'), advertised_groups=dict(type='list', elements='str'),
description=dict(type='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') region=dict(required=True, type='str'),
) )
) )
@ -444,20 +444,24 @@ class RouterBgp(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'asn': self.request.get('asn'), {
u'advertiseMode': self.request.get('advertise_mode'), u'asn': self.request.get('asn'),
u'advertisedGroups': self.request.get('advertised_groups'), u'advertiseMode': self.request.get('advertise_mode'),
u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get('advertised_ip_ranges', []), self.module).to_request() u'advertisedGroups': self.request.get('advertised_groups'),
}) u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get('advertised_ip_ranges', []), self.module).to_request(),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'asn': self.request.get(u'asn'), {
u'advertiseMode': self.request.get(u'advertiseMode'), u'asn': self.request.get(u'asn'),
u'advertisedGroups': self.request.get(u'advertisedGroups'), u'advertiseMode': self.request.get(u'advertiseMode'),
u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get(u'advertisedIpRanges', []), self.module).from_response() u'advertisedGroups': self.request.get(u'advertisedGroups'),
}) u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get(u'advertisedIpRanges', []), self.module).from_response(),
}
)
class RouterAdvertisediprangesArray(object): class RouterAdvertisediprangesArray(object):

View file

@ -166,12 +166,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -181,7 +176,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -175,7 +175,7 @@ def main():
certificate=dict(required=True, type='str'), certificate=dict(required=True, type='str'),
description=dict(type='str'), description=dict(type='str'),
name=dict(type='str'), name=dict(type='str'),
private_key=dict(required=True, type='str') private_key=dict(required=True, type='str'),
) )
) )

View file

@ -115,11 +115,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -129,7 +125,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -403,10 +403,10 @@ class SslPolicyWarningsArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({}) return remove_nones_from_dict({u'code': item.get('code'), u'message': item.get('message')})
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({}) return remove_nones_from_dict({u'code': item.get(u'code'), u'message': item.get(u'message')})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -153,11 +153,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -167,7 +163,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -278,10 +278,9 @@ def main():
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
network=dict(required=True), network=dict(required=True),
enable_flow_logs=dict(type='bool'), enable_flow_logs=dict(type='bool'),
secondary_ip_ranges=dict(type='list', elements='dict', options=dict( secondary_ip_ranges=dict(
range_name=dict(required=True, type='str'), type='list', elements='dict', options=dict(range_name=dict(required=True, type='str'), ip_cidr_range=dict(required=True, type='str'))
ip_cidr_range=dict(required=True, type='str') ),
)),
private_ip_google_access=dict(type='bool'), private_ip_google_access=dict(type='bool'),
region=dict(required=True, type='str'), region=dict(required=True, type='str'),
) )
@ -324,8 +323,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -341,41 +339,30 @@ def update_fields(module, request, response):
def ip_cidr_range_update(module, request, response): def ip_cidr_range_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/subnetworks/{name}/expandIpCidrRange"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'ipCidrRange': module.params.get('ip_cidr_range')},
"projects/{project}/regions/{region}/subnetworks/{name}/expandIpCidrRange"
]).format(**module.params),
{
u'ipCidrRange': module.params.get('ip_cidr_range')
}
) )
def enable_flow_logs_update(module, request, response): def enable_flow_logs_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.patch( auth.patch(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/subnetworks/{name}"]).format(**module.params),
"https://www.googleapis.com/compute/v1/",
"projects/{project}/regions/{region}/subnetworks/{name}"
]).format(**module.params),
{ {
u'enableFlowLogs': module.params.get('enable_flow_logs'), u'enableFlowLogs': module.params.get('enable_flow_logs'),
u'fingerprint': response.get('fingerprint'), u'fingerprint': response.get('fingerprint'),
u'secondaryIpRanges': SubnetworkSecondaryiprangesArray(module.params.get('secondary_ip_ranges', []), module).to_request() u'secondaryIpRanges': SubnetworkSecondaryiprangesArray(module.params.get('secondary_ip_ranges', []), module).to_request(),
} },
) )
def private_ip_google_access_update(module, request, response): def private_ip_google_access_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/subnetworks/{name}/setPrivateIpGoogleAccess"]).format(
"https://www.googleapis.com/compute/v1/", **module.params
"projects/{project}/regions/{region}/subnetworks/{name}/setPrivateIpGoogleAccess" ),
]).format(**module.params), {u'privateIpGoogleAccess': module.params.get('private_ip_google_access')},
{
u'privateIpGoogleAccess': module.params.get('private_ip_google_access')
}
) )
@ -531,16 +518,10 @@ class SubnetworkSecondaryiprangesArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict({u'rangeName': item.get('range_name'), u'ipCidrRange': item.get('ip_cidr_range')})
u'rangeName': item.get('range_name'),
u'ipCidrRange': item.get('ip_cidr_range')
})
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict({u'rangeName': item.get(u'rangeName'), u'ipCidrRange': item.get(u'ipCidrRange')})
u'rangeName': item.get(u'rangeName'),
u'ipCidrRange': item.get(u'ipCidrRange')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -175,12 +175,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -190,7 +185,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -188,7 +188,7 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
description=dict(type='str'), description=dict(type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
url_map=dict(required=True) url_map=dict(required=True),
) )
) )
@ -229,8 +229,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -242,13 +241,8 @@ def update_fields(module, request, response):
def url_map_update(module, request, response): def url_map_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/targetHttpProxies/{name}/setUrlMap"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')},
"projects/{project}/targetHttpProxies/{name}/setUrlMap"
]).format(**module.params),
{
u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')
}
) )

View file

@ -109,11 +109,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -123,7 +119,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -267,7 +267,7 @@ def main():
quic_override=dict(type='str', choices=['NONE', 'ENABLE', 'DISABLE']), quic_override=dict(type='str', choices=['NONE', 'ENABLE', 'DISABLE']),
ssl_certificates=dict(required=True, type='list'), ssl_certificates=dict(required=True, type='list'),
ssl_policy=dict(), ssl_policy=dict(),
url_map=dict(required=True) url_map=dict(required=True),
) )
) )
@ -308,8 +308,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -327,52 +326,32 @@ def update_fields(module, request, response):
def quic_override_update(module, request, response): def quic_override_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetHttpsProxies/{name}/setQuicOverride"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'quicOverride': module.params.get('quic_override')},
"projects/{project}/global/targetHttpsProxies/{name}/setQuicOverride"
]).format(**module.params),
{
u'quicOverride': module.params.get('quic_override')
}
) )
def ssl_certificates_update(module, request, response): def ssl_certificates_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/targetHttpsProxies/{name}/setSslCertificates"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink')},
"projects/{project}/targetHttpsProxies/{name}/setSslCertificates"
]).format(**module.params),
{
u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink')
}
) )
def ssl_policy_update(module, request, response): def ssl_policy_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetHttpsProxies/{name}/setSslPolicy"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink')},
"projects/{project}/global/targetHttpsProxies/{name}/setSslPolicy"
]).format(**module.params),
{
u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink')
}
) )
def url_map_update(module, request, response): def url_map_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/targetHttpsProxies/{name}/setUrlMap"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')},
"projects/{project}/targetHttpsProxies/{name}/setUrlMap"
]).format(**module.params),
{
u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')
}
) )
@ -389,7 +368,7 @@ def resource_to_request(module):
u'quicOverride': module.params.get('quic_override'), u'quicOverride': module.params.get('quic_override'),
u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink'), u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink'),
u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink'), u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink'),
u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink') u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -462,7 +441,7 @@ def response_to_hash(module, response):
u'quicOverride': response.get(u'quicOverride'), u'quicOverride': response.get(u'quicOverride'),
u'sslCertificates': response.get(u'sslCertificates'), u'sslCertificates': response.get(u'sslCertificates'),
u'sslPolicy': response.get(u'sslPolicy'), u'sslPolicy': response.get(u'sslPolicy'),
u'urlMap': response.get(u'urlMap') u'urlMap': response.get(u'urlMap'),
} }

View file

@ -132,11 +132,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -146,7 +142,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -167,12 +167,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -182,7 +177,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -253,7 +253,7 @@ def main():
proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']),
service=dict(required=True), service=dict(required=True),
ssl_certificates=dict(required=True, type='list'), ssl_certificates=dict(required=True, type='list'),
ssl_policy=dict() ssl_policy=dict(),
) )
) )
@ -294,8 +294,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -313,52 +312,32 @@ def update_fields(module, request, response):
def proxy_header_update(module, request, response): def proxy_header_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetSslProxies/{name}/setProxyHeader"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'proxyHeader': module.params.get('proxy_header')},
"projects/{project}/global/targetSslProxies/{name}/setProxyHeader"
]).format(**module.params),
{
u'proxyHeader': module.params.get('proxy_header')
}
) )
def service_update(module, request, response): def service_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetSslProxies/{name}/setBackendService"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')},
"projects/{project}/global/targetSslProxies/{name}/setBackendService"
]).format(**module.params),
{
u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')
}
) )
def ssl_certificates_update(module, request, response): def ssl_certificates_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetSslProxies/{name}/setSslCertificates"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink')},
"projects/{project}/global/targetSslProxies/{name}/setSslCertificates"
]).format(**module.params),
{
u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink')
}
) )
def ssl_policy_update(module, request, response): def ssl_policy_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetSslProxies/{name}/setSslPolicy"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink')},
"projects/{project}/global/targetSslProxies/{name}/setSslPolicy"
]).format(**module.params),
{
u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink')
}
) )
@ -375,7 +354,7 @@ def resource_to_request(module):
u'proxyHeader': module.params.get('proxy_header'), u'proxyHeader': module.params.get('proxy_header'),
u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink'), u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink'),
u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink'), u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink'),
u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink') u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -448,7 +427,7 @@ def response_to_hash(module, response):
u'proxyHeader': response.get(u'proxyHeader'), u'proxyHeader': response.get(u'proxyHeader'),
u'service': response.get(u'service'), u'service': response.get(u'service'),
u'sslCertificates': response.get(u'sslCertificates'), u'sslCertificates': response.get(u'sslCertificates'),
u'sslPolicy': response.get(u'sslPolicy') u'sslPolicy': response.get(u'sslPolicy'),
} }

View file

@ -128,11 +128,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -142,7 +138,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -198,7 +198,7 @@ def main():
description=dict(type='str'), description=dict(type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']), proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']),
service=dict(required=True) service=dict(required=True),
) )
) )
@ -239,8 +239,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -254,26 +253,16 @@ def update_fields(module, request, response):
def proxy_header_update(module, request, response): def proxy_header_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetTcpProxies/{name}/setProxyHeader"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'proxyHeader': module.params.get('proxy_header')},
"projects/{project}/global/targetTcpProxies/{name}/setProxyHeader"
]).format(**module.params),
{
u'proxyHeader': module.params.get('proxy_header')
}
) )
def service_update(module, request, response): def service_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetTcpProxies/{name}/setBackendService"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')},
"projects/{project}/global/targetTcpProxies/{name}/setBackendService"
]).format(**module.params),
{
u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')
}
) )

View file

@ -114,11 +114,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -128,7 +124,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -180,7 +180,7 @@ def main():
description=dict(type='str'), description=dict(type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
network=dict(required=True), network=dict(required=True),
region=dict(required=True, type='str') region=dict(required=True, type='str'),
) )
) )

View file

@ -129,12 +129,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -144,7 +139,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -370,27 +370,33 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
default_service=dict(required=True), default_service=dict(required=True),
description=dict(type='str'), description=dict(type='str'),
host_rules=dict(type='list', elements='dict', options=dict( host_rules=dict(
description=dict(type='str'), type='list',
hosts=dict(required=True, type='list', elements='str'), elements='dict',
path_matcher=dict(required=True, type='str') options=dict(
)), description=dict(type='str'), hosts=dict(required=True, type='list', elements='str'), path_matcher=dict(required=True, type='str')
),
),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
path_matchers=dict(type='list', elements='dict', options=dict( path_matchers=dict(
default_service=dict(required=True), type='list',
description=dict(type='str'), elements='dict',
name=dict(required=True, type='str'), options=dict(
path_rules=dict(type='list', elements='dict', options=dict( default_service=dict(required=True),
paths=dict(required=True, type='list', elements='str'), description=dict(type='str'),
service=dict(required=True) name=dict(required=True, type='str'),
)) path_rules=dict(
)), type='list', elements='dict', options=dict(paths=dict(required=True, type='list', elements='str'), service=dict(required=True))
tests=dict(type='list', elements='dict', options=dict( ),
description=dict(type='str'), ),
host=dict(required=True, type='str'), ),
path=dict(required=True, type='str'), tests=dict(
service=dict(required=True) type='list',
)) elements='dict',
options=dict(
description=dict(type='str'), host=dict(required=True, type='str'), path=dict(required=True, type='str'), service=dict(required=True)
),
),
) )
) )
@ -448,7 +454,7 @@ def resource_to_request(module):
u'hostRules': UrlMapHostrulesArray(module.params.get('host_rules', []), module).to_request(), u'hostRules': UrlMapHostrulesArray(module.params.get('host_rules', []), module).to_request(),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'pathMatchers': UrlMapPathmatchersArray(module.params.get('path_matchers', []), module).to_request(), u'pathMatchers': UrlMapPathmatchersArray(module.params.get('path_matchers', []), module).to_request(),
u'tests': UrlMapTestsArray(module.params.get('tests', []), module).to_request() u'tests': UrlMapTestsArray(module.params.get('tests', []), module).to_request(),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -522,7 +528,7 @@ def response_to_hash(module, response):
u'fingerprint': response.get(u'fingerprint'), u'fingerprint': response.get(u'fingerprint'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'pathMatchers': UrlMapPathmatchersArray(response.get(u'pathMatchers', []), module).from_response(), u'pathMatchers': UrlMapPathmatchersArray(response.get(u'pathMatchers', []), module).from_response(),
u'tests': UrlMapTestsArray(response.get(u'tests', []), module).from_response() u'tests': UrlMapTestsArray(response.get(u'tests', []), module).from_response(),
} }
@ -609,20 +615,24 @@ class UrlMapPathmatchersArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'defaultService': replace_resource_dict(item.get(u'default_service', {}), 'selfLink'), {
u'description': item.get('description'), u'defaultService': replace_resource_dict(item.get(u'default_service', {}), 'selfLink'),
u'name': item.get('name'), u'description': item.get('description'),
u'pathRules': UrlMapPathrulesArray(item.get('path_rules', []), self.module).to_request() u'name': item.get('name'),
}) u'pathRules': UrlMapPathrulesArray(item.get('path_rules', []), self.module).to_request(),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'defaultService': item.get(u'defaultService'), {
u'description': item.get(u'description'), u'defaultService': item.get(u'defaultService'),
u'name': item.get(u'name'), u'description': item.get(u'description'),
u'pathRules': UrlMapPathrulesArray(item.get(u'pathRules', []), self.module).from_response() u'name': item.get(u'name'),
}) u'pathRules': UrlMapPathrulesArray(item.get(u'pathRules', []), self.module).from_response(),
}
)
class UrlMapPathrulesArray(object): class UrlMapPathrulesArray(object):

View file

@ -210,11 +210,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
argument_spec=dict(
filters=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
@ -224,7 +220,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = {'resources': items} return_value = {'items': items}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -287,6 +287,7 @@ def main():
ike_version=dict(default=2, type='int'), ike_version=dict(default=2, type='int'),
local_traffic_selector=dict(type='list', elements='str'), local_traffic_selector=dict(type='list', elements='str'),
remote_traffic_selector=dict(type='list', elements='str'), remote_traffic_selector=dict(type='list', elements='str'),
labels=dict(type='dict'),
region=dict(required=True, type='str'), region=dict(required=True, type='str'),
) )
) )
@ -329,8 +330,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -342,14 +342,8 @@ def update_fields(module, request, response):
def labels_update(module, request, response): def labels_update(module, request, response):
auth = GcpSession(module, 'compute') auth = GcpSession(module, 'compute')
auth.post( auth.post(
''.join([ ''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/vpnTunnels/{name}/setLabels"]).format(**module.params),
"https://www.googleapis.com/compute/v1/", {u'labels': module.params.get('labels'), u'labelFingerprint': response.get('labelFingerprint')},
"projects/{project}/regions/{region}/vpnTunnels/{name}/setLabels"
]).format(**module.params),
{
u'labels': module.params.get('labels'),
u'labelFingerprint': response.get('labelFingerprint')
}
) )
@ -370,6 +364,7 @@ def resource_to_request(module):
u'ikeVersion': module.params.get('ike_version'), u'ikeVersion': module.params.get('ike_version'),
u'localTrafficSelector': module.params.get('local_traffic_selector'), u'localTrafficSelector': module.params.get('local_traffic_selector'),
u'remoteTrafficSelector': module.params.get('remote_traffic_selector'), u'remoteTrafficSelector': module.params.get('remote_traffic_selector'),
u'labels': module.params.get('labels'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -447,7 +442,7 @@ def response_to_hash(module, response):
u'localTrafficSelector': response.get(u'localTrafficSelector'), u'localTrafficSelector': response.get(u'localTrafficSelector'),
u'remoteTrafficSelector': response.get(u'remoteTrafficSelector'), u'remoteTrafficSelector': response.get(u'remoteTrafficSelector'),
u'labels': response.get(u'labels'), u'labels': response.get(u'labels'),
u'labelFingerprint': response.get(u'labelFingerprint') u'labelFingerprint': response.get(u'labelFingerprint'),
} }

View file

@ -167,12 +167,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
argument_spec=dict(
filters=dict(type='list', elements='str'),
region=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/compute'] module.params['scopes'] = ['https://www.googleapis.com/auth/compute']

View file

@ -611,7 +611,16 @@ def main():
preemptible=dict(type='bool'), preemptible=dict(type='bool'),
), ),
), ),
master_auth=dict(type='dict', options=dict(username=dict(type='str'), password=dict(type='str'))), master_auth=dict(
type='dict',
options=dict(
username=dict(type='str'),
password=dict(type='str'),
cluster_ca_certificate=dict(type='str'),
client_certificate=dict(type='str'),
client_key=dict(type='str'),
),
),
logging_service=dict(type='str', choices=['logging.googleapis.com', 'none']), logging_service=dict(type='str', choices=['logging.googleapis.com', 'none']),
monitoring_service=dict(type='str', choices=['monitoring.googleapis.com', 'none']), monitoring_service=dict(type='str', choices=['monitoring.googleapis.com', 'none']),
network=dict(type='str'), network=dict(type='str'),
@ -628,7 +637,8 @@ def main():
), ),
), ),
subnetwork=dict(type='str'), subnetwork=dict(type='str'),
location=dict(required=True, type='str', aliases=['zone']), location=dict(type='list', elements='str'),
zone=dict(required=True, type='str'),
) )
) )
@ -691,6 +701,7 @@ def resource_to_request(module):
u'clusterIpv4Cidr': module.params.get('cluster_ipv4_cidr'), u'clusterIpv4Cidr': module.params.get('cluster_ipv4_cidr'),
u'addonsConfig': ClusterAddonsconfig(module.params.get('addons_config', {}), module).to_request(), u'addonsConfig': ClusterAddonsconfig(module.params.get('addons_config', {}), module).to_request(),
u'subnetwork': module.params.get('subnetwork'), u'subnetwork': module.params.get('subnetwork'),
u'location': module.params.get('location'),
} }
request = encode_request(request, module) request = encode_request(request, module)
return_vals = {} return_vals = {}
@ -855,18 +866,20 @@ class ClusterNodeconfig(object):
) )
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'machineType': self.request.get(u'machineType'), {
u'diskSizeGb': self.request.get(u'diskSizeGb'), u'machineType': self.request.get(u'machineType'),
u'oauthScopes': self.request.get(u'oauthScopes'), u'diskSizeGb': self.request.get(u'diskSizeGb'),
u'serviceAccount': self.request.get(u'serviceAccount'), u'oauthScopes': self.request.get(u'oauthScopes'),
u'metadata': self.request.get(u'metadata'), u'serviceAccount': self.request.get(u'serviceAccount'),
u'imageType': self.request.get(u'imageType'), u'metadata': self.request.get(u'metadata'),
u'labels': self.request.get(u'labels'), u'imageType': self.request.get(u'imageType'),
u'localSsdCount': self.request.get(u'localSsdCount'), u'labels': self.request.get(u'labels'),
u'tags': self.request.get(u'tags'), u'localSsdCount': self.request.get(u'localSsdCount'),
u'preemptible': self.request.get(u'preemptible') u'tags': self.request.get(u'tags'),
}) u'preemptible': self.request.get(u'preemptible'),
}
)
class ClusterMasterauth(object): class ClusterMasterauth(object):
@ -878,10 +891,26 @@ class ClusterMasterauth(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'username': self.request.get('username'), u'password': self.request.get('password')}) return remove_nones_from_dict(
{
u'username': self.request.get('username'),
u'password': self.request.get('password'),
u'clusterCaCertificate': self.request.get('cluster_ca_certificate'),
u'clientCertificate': self.request.get('client_certificate'),
u'clientKey': self.request.get('client_key'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'username': self.request.get(u'username'), u'password': self.request.get(u'password')}) return remove_nones_from_dict(
{
u'username': self.request.get(u'username'),
u'password': self.request.get(u'password'),
u'clusterCaCertificate': self.request.get(u'clusterCaCertificate'),
u'clientCertificate': self.request.get(u'clientCertificate'),
u'clientKey': self.request.get(u'clientKey'),
}
)
class ClusterAddonsconfig(object): class ClusterAddonsconfig(object):
@ -893,16 +922,20 @@ class ClusterAddonsconfig(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'httpLoadBalancing': ClusterHttploadbalancing(self.request.get('http_load_balancing', {}), self.module).to_request(), {
u'horizontalPodAutoscaling': ClusterHorizontalpodautoscaling(self.request.get('horizontal_pod_autoscaling', {}), self.module).to_request() u'httpLoadBalancing': ClusterHttploadbalancing(self.request.get('http_load_balancing', {}), self.module).to_request(),
}) u'horizontalPodAutoscaling': ClusterHorizontalpodautoscaling(self.request.get('horizontal_pod_autoscaling', {}), self.module).to_request(),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'httpLoadBalancing': ClusterHttploadbalancing(self.request.get(u'httpLoadBalancing', {}), self.module).from_response(), {
u'horizontalPodAutoscaling': ClusterHorizontalpodautoscaling(self.request.get(u'horizontalPodAutoscaling', {}), self.module).from_response() u'httpLoadBalancing': ClusterHttploadbalancing(self.request.get(u'httpLoadBalancing', {}), self.module).from_response(),
}) u'horizontalPodAutoscaling': ClusterHorizontalpodautoscaling(self.request.get(u'horizontalPodAutoscaling', {}), self.module).from_response(),
}
)
class ClusterHttploadbalancing(object): class ClusterHttploadbalancing(object):

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -367,11 +366,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(zone=dict(required=True, type='str')))
argument_spec=dict(
zone=dict(required=True, type='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform'] module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
@ -381,9 +376,7 @@ def main():
items = items.get('clusters') items = items.get('clusters')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -458,21 +458,17 @@ def main():
), ),
), ),
initial_node_count=dict(required=True, type='int'), initial_node_count=dict(required=True, type='int'),
autoscaling=dict(type='dict', options=dict( autoscaling=dict(type='dict', options=dict(enabled=dict(type='bool'), min_node_count=dict(type='int'), max_node_count=dict(type='int'))),
enabled=dict(type='bool'), management=dict(
min_node_count=dict(type='int'), type='dict',
max_node_count=dict(type='int') options=dict(
)), auto_upgrade=dict(type='bool'),
management=dict(type='dict', options=dict( auto_repair=dict(type='bool'),
auto_upgrade=dict(type='bool'), upgrade_options=dict(type='dict', options=dict(auto_upgrade_start_time=dict(type='str'), description=dict(type='str'))),
auto_repair=dict(type='bool'), ),
upgrade_options=dict(type='dict', options=dict( ),
auto_upgrade_start_time=dict(type='str'),
description=dict(type='str')
))
)),
cluster=dict(required=True), cluster=dict(required=True),
zone=dict(required=True, type='str') zone=dict(required=True, type='str'),
) )
) )
@ -555,8 +551,8 @@ def self_link(module):
def collection(module): def collection(module):
res = {'project': module.params['project'], 'location': module.params['location'], 'cluster': replace_resource_dict(module.params['cluster'], 'name')} res = {'project': module.params['project'], 'zone': module.params['zone'], 'cluster': replace_resource_dict(module.params['cluster'], 'name')}
return "https://container.googleapis.com/v1/projects/{project}/zones/{location}/clusters/{cluster}/nodePools".format(**res) return "https://container.googleapis.com/v1/projects/{project}/zones/{zone}/clusters/{cluster}/nodePools".format(**res)
def return_if_object(module, response, allow_not_found=False): def return_if_object(module, response, allow_not_found=False):
@ -729,18 +725,22 @@ class NodePoolManagement(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autoUpgrade': self.request.get('auto_upgrade'), {
u'autoRepair': self.request.get('auto_repair'), u'autoUpgrade': self.request.get('auto_upgrade'),
u'upgradeOptions': NodePoolUpgradeoptions(self.request.get('upgrade_options', {}), self.module).to_request() u'autoRepair': self.request.get('auto_repair'),
}) u'upgradeOptions': NodePoolUpgradeoptions(self.request.get('upgrade_options', {}), self.module).to_request(),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'autoUpgrade': self.request.get(u'autoUpgrade'), {
u'autoRepair': self.request.get(u'autoRepair'), u'autoUpgrade': self.request.get(u'autoUpgrade'),
u'upgradeOptions': NodePoolUpgradeoptions(self.request.get(u'upgradeOptions', {}), self.module).from_response() u'autoRepair': self.request.get(u'autoRepair'),
}) u'upgradeOptions': NodePoolUpgradeoptions(self.request.get(u'upgradeOptions', {}), self.module).from_response(),
}
)
class NodePoolUpgradeoptions(object): class NodePoolUpgradeoptions(object):
@ -752,10 +752,10 @@ class NodePoolUpgradeoptions(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({}) return remove_nones_from_dict({u'autoUpgradeStartTime': self.request.get('auto_upgrade_start_time'), u'description': self.request.get('description')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({}) return remove_nones_from_dict({u'autoUpgradeStartTime': self.request.get(u'autoUpgradeStartTime'), u'description': self.request.get(u'description')})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -268,12 +267,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(zone=dict(required=True, type='str'), cluster=dict(required=True)))
argument_spec=dict(
zone=dict(required=True, type='str'),
cluster=dict(required=True)
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform'] module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
@ -283,18 +277,12 @@ def main():
items = items.get('nodePools') items = items.get('nodePools')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)
def collection(module): def collection(module):
res = { res = {'project': module.params['project'], 'zone': module.params['zone'], 'cluster': replace_resource_dict(module.params['cluster'], 'name')}
'project': module.params['project'],
'zone': module.params['zone'],
'cluster': replace_resource_dict(module.params['cluster'], 'name')
}
return "https://container.googleapis.com/v1/projects/{project}/zones/{zone}/clusters/{cluster}/nodePools".format(**res) return "https://container.googleapis.com/v1/projects/{project}/zones/{zone}/clusters/{cluster}/nodePools".format(**res)

View file

@ -162,7 +162,7 @@ def main():
dns_name=dict(required=True, type='str'), dns_name=dict(required=True, type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
name_server_set=dict(type='list', elements='str'), name_server_set=dict(type='list', elements='str'),
labels=dict(type='dict') labels=dict(type='dict'),
) )
) )
@ -203,8 +203,7 @@ def create(module, link, kind):
def update(module, link, kind, fetch): def update(module, link, kind, fetch):
update_fields(module, resource_to_request(module), update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
response_to_hash(module, fetch))
return fetch_resource(module, self_link(module), kind) return fetch_resource(module, self_link(module), kind)
@ -216,14 +215,8 @@ def update_fields(module, request, response):
def description_update(module, request, response): def description_update(module, request, response):
auth = GcpSession(module, 'dns') auth = GcpSession(module, 'dns')
auth.patch( auth.patch(
''.join([ ''.join(["https://www.googleapis.com/dns/v1/", "projects/{project}/managedZones/{name}"]).format(**module.params),
"https://www.googleapis.com/dns/v1/", {u'description': module.params.get('description'), u'labels': module.params.get('labels')},
"projects/{project}/managedZones/{name}"
]).format(**module.params),
{
u'description': module.params.get('description'),
u'labels': module.params.get('labels')
}
) )
@ -239,7 +232,7 @@ def resource_to_request(module):
u'dnsName': module.params.get('dns_name'), u'dnsName': module.params.get('dns_name'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'nameServerSet': module.params.get('name_server_set'), u'nameServerSet': module.params.get('name_server_set'),
u'labels': module.params.get('labels') u'labels': module.params.get('labels'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -312,7 +305,7 @@ def response_to_hash(module, response):
u'nameServers': response.get(u'nameServers'), u'nameServers': response.get(u'nameServers'),
u'nameServerSet': response.get(u'nameServerSet'), u'nameServerSet': response.get(u'nameServerSet'),
u'creationTime': response.get(u'creationTime'), u'creationTime': response.get(u'creationTime'),
u'labels': response.get(u'labels') u'labels': response.get(u'labels'),
} }

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -122,11 +121,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(dns_name=dict(type='list', elements='str')))
argument_spec=dict(
dns_name=dict(type='list', elements='str')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite'] module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite']
@ -136,9 +131,7 @@ def main():
items = items.get('managedZones') items = items.get('managedZones')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -173,7 +173,7 @@ def main():
type=dict(required=True, type='str', choices=['A', 'AAAA', 'CAA', 'CNAME', 'MX', 'NAPTR', 'NS', 'PTR', 'SOA', 'SPF', 'SRV', 'TLSA', 'TXT']), type=dict(required=True, type='str', choices=['A', 'AAAA', 'CAA', 'CNAME', 'MX', 'NAPTR', 'NS', 'PTR', 'SOA', 'SPF', 'SRV', 'TLSA', 'TXT']),
ttl=dict(type='int'), ttl=dict(type='int'),
target=dict(type='list', elements='str'), target=dict(type='list', elements='str'),
managed_zone=dict(required=True) managed_zone=dict(required=True),
) )
) )
@ -280,10 +280,7 @@ def self_link(module):
def collection(module): def collection(module):
res = { res = {'project': module.params['project'], 'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')}
'project': module.params['project'],
'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')
}
return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/changes".format(**res) return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/changes".format(**res)
@ -329,7 +326,7 @@ def is_different(module, response):
# Remove unnecessary properties from the response. # Remove unnecessary properties from the response.
# This is for doing comparisons with Ansible's current parameters. # This is for doing comparisons with Ansible's current parameters.
def response_to_hash(module, response): def response_to_hash(module, response):
return {u'name': response.get(u'name'), u'type': response.get(u'type'), u'ttl': response.get(u'ttl'), u'rrdatas': response.get(u'rrdatas')} return {u'name': response.get(u'name'), u'type': response.get(u'type'), u'ttl': response.get(u'ttl'), u'rrdatas': response.get(u'target')}
def updated_record(module): def updated_record(module):
@ -366,7 +363,7 @@ def prefetch_soa_resource(module):
{ {
'type': 'SOA', 'type': 'SOA',
'managed_zone': module.params['managed_zone'], 'managed_zone': module.params['managed_zone'],
'name': replace_resource_dict(module.params['managed_zone'], 'dnsName'), 'name': '.'.join(name),
'project': module.params['project'], 'project': module.params['project'],
'scopes': module.params['scopes'], 'scopes': module.params['scopes'],
'service_account_file': module.params['service_account_file'], 'service_account_file': module.params['service_account_file'],

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -108,11 +107,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(managed_zone=dict(required=True)))
argument_spec=dict(
managed_zone=dict(required=True)
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite'] module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite']
@ -122,17 +117,12 @@ def main():
items = items.get('rrsets') items = items.get('rrsets')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)
def collection(module): def collection(module):
res = { res = {'project': module.params['project'], 'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')}
'project': module.params['project'],
'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')
}
return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/rrsets".format(**res) return "https://www.googleapis.com/dns/v1/projects/{project}/managedZones/{managed_zone}/rrsets".format(**res)

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -121,11 +120,7 @@ def main():
"""Main function""" """Main function"""
module = GcpModule( module = GcpModule(
argument_spec=dict( argument_spec=dict(state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), display_name=dict(type='str'))
state=dict(default='present', choices=['present', 'absent'], type='str'),
name=dict(type='str'),
display_name=dict(type='str')
)
) )
if not module.params['scopes']: if not module.params['scopes']:
@ -174,10 +169,7 @@ def delete(module, link):
def resource_to_request(module): def resource_to_request(module):
request = { request = {u'name': module.params.get('name'), u'displayName': module.params.get('display_name')}
u'name': module.params.get('name'),
u'displayName': module.params.get('display_name')
}
request = encode_request(request, module) request = encode_request(request, module)
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -251,7 +243,7 @@ def response_to_hash(module, response):
u'uniqueId': response.get(u'uniqueId'), u'uniqueId': response.get(u'uniqueId'),
u'email': response.get(u'email'), u'email': response.get(u'email'),
u'displayName': response.get(u'displayName'), u'displayName': response.get(u'displayName'),
u'oauth2ClientId': response.get(u'oauth2ClientId') u'oauth2ClientId': response.get(u'oauth2ClientId'),
} }
@ -259,10 +251,7 @@ def encode_request(resource_request, module):
"""Structures the request as accountId + rest of request""" """Structures the request as accountId + rest of request"""
account_id = resource_request['name'].split('@')[0] account_id = resource_request['name'].split('@')[0]
del resource_request['name'] del resource_request['name']
return { return {'accountId': account_id, 'serviceAccount': resource_request}
'accountId': account_id,
'serviceAccount': resource_request
}
def decode_response(response, module): def decode_response(response, module):

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -102,10 +101,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/iam'] module.params['scopes'] = ['https://www.googleapis.com/auth/iam']
@ -115,9 +111,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -178,7 +177,7 @@ def main():
private_key_type=dict(type='str', choices=['TYPE_UNSPECIFIED', 'TYPE_PKCS12_FILE', 'TYPE_GOOGLE_CREDENTIALS_FILE']), private_key_type=dict(type='str', choices=['TYPE_UNSPECIFIED', 'TYPE_PKCS12_FILE', 'TYPE_GOOGLE_CREDENTIALS_FILE']),
key_algorithm=dict(type='str', choices=['KEY_ALG_UNSPECIFIED', 'KEY_ALG_RSA_1024', 'KEY_ALG_RSA_2048']), key_algorithm=dict(type='str', choices=['KEY_ALG_UNSPECIFIED', 'KEY_ALG_RSA_1024', 'KEY_ALG_RSA_2048']),
service_account=dict(), service_account=dict(),
path=dict(type='path') path=dict(type='path'),
) )
) )
@ -220,10 +219,7 @@ def delete(module):
def resource_to_request(module): def resource_to_request(module):
request = { request = {u'privateKeyType': module.params.get('private_key_type'), u'keyAlgorithm': module.params.get('key_algorithm')}
u'privateKeyType': module.params.get('private_key_type'),
u'keyAlgorithm': module.params.get('key_algorithm')
}
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
if v: if v:
@ -252,10 +248,7 @@ def self_link_from_file(module):
def self_link(module): def self_link(module):
results = { results = {'project': module.params['project'], 'service_account': replace_resource_dict(module.params['service_account'], 'name')}
'project': module.params['project'],
'service_account': replace_resource_dict(module.params['service_account'], 'name')
}
return "https://iam.googleapis.com/v1/projects/{project}/serviceAccounts/{service_account}/keys".format(**results) return "https://iam.googleapis.com/v1/projects/{project}/serviceAccounts/{service_account}/keys".format(**results)

View file

@ -181,10 +181,8 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
name=dict(type='str'), name=dict(type='str'),
topic=dict(), topic=dict(),
push_config=dict(type='dict', options=dict( push_config=dict(type='dict', options=dict(push_endpoint=dict(type='str'))),
push_endpoint=dict(type='str') ack_deadline_seconds=dict(type='int'),
)),
ack_deadline_seconds=dict(type='int')
) )
) )
@ -256,7 +254,7 @@ def resource_to_request(module):
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'topic': replace_resource_dict(module.params.get(u'topic', {}), 'name'), u'topic': replace_resource_dict(module.params.get(u'topic', {}), 'name'),
u'pushConfig': SubscriptionPushconfig(module.params.get('push_config', {}), module).to_request(), u'pushConfig': SubscriptionPushconfig(module.params.get('push_config', {}), module).to_request(),
u'ackDeadlineSeconds': module.params.get('ack_deadline_seconds') u'ackDeadlineSeconds': module.params.get('ack_deadline_seconds'),
} }
request = encode_request(request, module) request = encode_request(request, module)
return_vals = {} return_vals = {}
@ -329,7 +327,7 @@ def response_to_hash(module, response):
u'name': response.get(u'name'), u'name': response.get(u'name'),
u'topic': response.get(u'topic'), u'topic': response.get(u'topic'),
u'pushConfig': SubscriptionPushconfig(response.get(u'pushConfig', {}), module).from_response(), u'pushConfig': SubscriptionPushconfig(response.get(u'pushConfig', {}), module).from_response(),
u'ackDeadlineSeconds': response.get(u'ackDeadlineSeconds') u'ackDeadlineSeconds': response.get(u'ackDeadlineSeconds'),
} }
@ -344,10 +342,8 @@ def decode_request(response, module):
def encode_request(request, module): def encode_request(request, module):
request['topic'] = '/'.join(['projects', module.params['project'], request['topic'] = '/'.join(['projects', module.params['project'], 'topics', module.params['topic']['name']])
'topics', module.params['topic']['name']]) request['name'] = '/'.join(['projects', module.params['project'], 'subscriptions', module.params['name']])
request['name'] = '/'.join(['projects', module.params['project'],
'subscriptions', module.params['name']])
return request return request
@ -361,10 +357,10 @@ class SubscriptionPushconfig(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'pushEndpoint': self.request.get('push_endpoint'), u'attributes': self.request.get('attributes')}) return remove_nones_from_dict({u'pushEndpoint': self.request.get('push_endpoint')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'pushEndpoint': self.request.get(u'pushEndpoint'), u'attributes': self.request.get(u'attributes')}) return remove_nones_from_dict({u'pushEndpoint': self.request.get(u'pushEndpoint')})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -115,10 +114,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub'] module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
@ -128,9 +124,7 @@ def main():
items = items.get('subscriptions') items = items.get('subscriptions')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -90,11 +90,7 @@ import json
def main(): def main():
"""Main function""" """Main function"""
module = GcpModule( module = GcpModule(argument_spec=dict(state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str')))
argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), labels=dict(type='dict')
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub'] module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
@ -142,7 +138,7 @@ def delete(module, link):
def resource_to_request(module): def resource_to_request(module):
request = {u'name': module.params.get('name'), u'labels': module.params.get('labels')} request = {u'name': module.params.get('name')}
request = encode_request(request, module) request = encode_request(request, module)
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -210,7 +206,7 @@ def is_different(module, response):
# Remove unnecessary properties from the response. # Remove unnecessary properties from the response.
# This is for doing comparisons with Ansible's current parameters. # This is for doing comparisons with Ansible's current parameters.
def response_to_hash(module, response): def response_to_hash(module, response):
return {u'name': response.get(u'name'), u'labels': response.get(u'labels')} return {u'name': response.get(u'name')}
def decode_request(response, module): def decode_request(response, module):

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -77,10 +76,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub'] module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
@ -90,9 +86,7 @@ def main():
items = items.get('topics') items = items.get('topics')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -182,11 +181,8 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
name=dict(type='str'), name=dict(type='str'),
labels=dict(type='dict'), labels=dict(type='dict'),
parent=dict(type='dict', options=dict( parent=dict(type='dict', options=dict(type=dict(type='str'), id=dict(type='str'))),
type=dict(type='str'), id=dict(required=True, type='str'),
id=dict(type='str')
)),
id=dict(required=True, type='str')
) )
) )
@ -240,7 +236,7 @@ def resource_to_request(module):
u'projectId': module.params.get('id'), u'projectId': module.params.get('id'),
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'labels': module.params.get('labels'), u'labels': module.params.get('labels'),
u'parent': ProjectParent(module.params.get('parent', {}), module).to_request() u'parent': ProjectParent(module.params.get('parent', {}), module).to_request(),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -314,7 +310,7 @@ def response_to_hash(module, response):
u'name': response.get(u'name'), u'name': response.get(u'name'),
u'createTime': response.get(u'createTime'), u'createTime': response.get(u'createTime'),
u'labels': response.get(u'labels'), u'labels': response.get(u'labels'),
u'parent': ProjectParent(response.get(u'parent', {}), module).from_response() u'parent': ProjectParent(response.get(u'parent', {}), module).from_response(),
} }
@ -362,16 +358,10 @@ class ProjectParent(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'type': self.request.get('type'), u'id': self.request.get('id')})
u'type': self.request.get('type'),
u'id': self.request.get('id')
})
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict({u'type': self.request.get(u'type'), u'id': self.request.get(u'id')})
u'type': self.request.get(u'type'),
u'id': self.request.get(u'id')
})
if __name__ == '__main__': if __name__ == '__main__':

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -129,10 +128,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform'] module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
@ -142,9 +138,7 @@ def main():
items = items.get('projects') items = items.get('projects')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -142,7 +142,7 @@ def main():
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
extra_statements=dict(type='list', elements='str'), extra_statements=dict(type='list', elements='str'),
instance=dict(required=True) instance=dict(required=True),
) )
) )
@ -192,11 +192,7 @@ def delete(module, link):
def resource_to_request(module): def resource_to_request(module):
request = { request = {u'name': module.params.get('name'), u'extraStatements': module.params.get('extra_statements')}
u'instance': replace_resource_dict(module.params.get(u'instance', {}), 'name'),
u'name': module.params.get('name'),
u'extraStatements': module.params.get('extra_statements'),
}
request = encode_request(request, module) request = encode_request(request, module)
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -266,7 +262,7 @@ def is_different(module, response):
# Remove unnecessary properties from the response. # Remove unnecessary properties from the response.
# This is for doing comparisons with Ansible's current parameters. # This is for doing comparisons with Ansible's current parameters.
def response_to_hash(module, response): def response_to_hash(module, response):
return {u'name': module.params.get('name'), u'extraStatements': module.params.get('extra_statements')} return {u'name': response.get(u'name'), u'extraStatements': module.params.get('extra_statements')}
def decode_response(response, module): def decode_response(response, module):

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -101,11 +100,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(instance=dict(required=True)))
argument_spec=dict(
instance=dict(required=True)
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin'] module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin']
@ -115,17 +110,12 @@ def main():
items = items.get('databases') items = items.get('databases')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)
def collection(module): def collection(module):
res = { res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name')}
'project': module.params['project'],
'instance': replace_resource_dict(module.params['instance'], 'name')
}
return "https://spanner.googleapis.com/v1/projects/{project}/instances/{instance}/databases".format(**res) return "https://spanner.googleapis.com/v1/projects/{project}/instances/{instance}/databases".format(**res)

View file

@ -178,7 +178,7 @@ def main():
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
config=dict(required=True, type='str'), config=dict(required=True, type='str'),
display_name=dict(required=True, type='str'), display_name=dict(required=True, type='str'),
node_count=dict(default=1, type='int'), node_count=dict(type='int'),
labels=dict(type='dict'), labels=dict(type='dict'),
) )
) )

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -118,10 +117,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin'] module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin']
@ -131,9 +127,7 @@ def main():
items = items.get('instances') items = items.get('instances')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -145,7 +145,7 @@ def main():
charset=dict(type='str'), charset=dict(type='str'),
collation=dict(type='str'), collation=dict(type='str'),
name=dict(type='str'), name=dict(type='str'),
instance=dict(required=True) instance=dict(required=True),
) )
) )
@ -217,11 +217,13 @@ def fetch_resource(module, link, kind, allow_not_found=True):
def self_link(module): def self_link(module):
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases/{name}".format(**module.params) res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name'), 'name': module.params['name']}
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases/{name}".format(**res)
def collection(module): def collection(module):
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**module.params) res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name')}
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**res)
def return_if_object(module, response, kind, allow_not_found=False): def return_if_object(module, response, kind, allow_not_found=False):
@ -269,7 +271,7 @@ def is_different(module, response):
# Remove unnecessary properties from the response. # Remove unnecessary properties from the response.
# This is for doing comparisons with Ansible's current parameters. # This is for doing comparisons with Ansible's current parameters.
def response_to_hash(module, response): def response_to_hash(module, response):
return {u'charset': response.get(u'charset'), u'collation': response.get(u'collation'), u'name': module.params.get('name')} return {u'charset': response.get(u'charset'), u'collation': response.get(u'collation'), u'name': response.get(u'name')}
def async_op_url(module, extra_data=None): def async_op_url(module, extra_data=None):

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -102,11 +101,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(instance=dict(required=True)))
argument_spec=dict(
instance=dict(required=True)
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin'] module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
@ -116,17 +111,12 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)
def collection(module): def collection(module):
res = { res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name')}
'project': module.params['project'],
'instance': replace_resource_dict(module.params['instance'], 'name')
}
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**res) return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/databases".format(**res)

View file

@ -570,43 +570,53 @@ def main():
backend_type=dict(type='str', choices=['FIRST_GEN', 'SECOND_GEN', 'EXTERNAL']), backend_type=dict(type='str', choices=['FIRST_GEN', 'SECOND_GEN', 'EXTERNAL']),
connection_name=dict(type='str'), connection_name=dict(type='str'),
database_version=dict(type='str', choices=['MYSQL_5_5', 'MYSQL_5_6', 'MYSQL_5_7', 'POSTGRES_9_6']), database_version=dict(type='str', choices=['MYSQL_5_5', 'MYSQL_5_6', 'MYSQL_5_7', 'POSTGRES_9_6']),
failover_replica=dict(type='dict', options=dict(name=dict(type='str'))), failover_replica=dict(type='dict', options=dict(available=dict(type='bool'), name=dict(type='str'))),
instance_type=dict(type='str', choices=['CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE', 'READ_REPLICA_INSTANCE']), instance_type=dict(type='str', choices=['CLOUD_SQL_INSTANCE', 'ON_PREMISES_INSTANCE', 'READ_REPLICA_INSTANCE']),
ipv6_address=dict(type='str'), ipv6_address=dict(type='str'),
master_instance_name=dict(type='str'), master_instance_name=dict(type='str'),
max_disk_size=dict(type='int'), max_disk_size=dict(type='int'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
region=dict(type='str'), region=dict(type='str'),
replica_configuration=dict(type='dict', options=dict( replica_configuration=dict(
failover_target=dict(type='bool'), type='dict',
mysql_replica_configuration=dict(type='dict', options=dict( options=dict(
ca_certificate=dict(type='str'), failover_target=dict(type='bool'),
client_certificate=dict(type='str'), mysql_replica_configuration=dict(
client_key=dict(type='str'), type='dict',
connect_retry_interval=dict(type='int'), options=dict(
dump_file_path=dict(type='str'), ca_certificate=dict(type='str'),
master_heartbeat_period=dict(type='int'), client_certificate=dict(type='str'),
password=dict(type='str'), client_key=dict(type='str'),
ssl_cipher=dict(type='str'), connect_retry_interval=dict(type='int'),
username=dict(type='str'), dump_file_path=dict(type='str'),
verify_server_certificate=dict(type='bool') master_heartbeat_period=dict(type='int'),
)), password=dict(type='str'),
replica_names=dict(type='list', elements='str'), ssl_cipher=dict(type='str'),
service_account_email_address=dict(type='str') username=dict(type='str'),
)), verify_server_certificate=dict(type='bool'),
settings=dict(type='dict', options=dict( ),
ip_configuration=dict(type='dict', options=dict( ),
ipv4_enabled=dict(type='bool'), replica_names=dict(type='list', elements='str'),
authorized_networks=dict(type='list', elements='dict', options=dict( service_account_email_address=dict(type='str'),
expiration_time=dict(type='str'), ),
name=dict(type='str'), ),
value=dict(type='str') settings=dict(
)), type='dict',
require_ssl=dict(type='bool') options=dict(
)), ip_configuration=dict(
tier=dict(type='str'), type='dict',
settings_version=dict(type='int') options=dict(
)) ipv4_enabled=dict(type='bool'),
authorized_networks=dict(
type='list', elements='dict', options=dict(expiration_time=dict(type='str'), name=dict(type='str'), value=dict(type='str'))
),
require_ssl=dict(type='bool'),
),
),
tier=dict(type='str'),
settings_version=dict(type='int'),
),
),
) )
) )
@ -670,7 +680,7 @@ def resource_to_request(module):
u'name': module.params.get('name'), u'name': module.params.get('name'),
u'region': module.params.get('region'), u'region': module.params.get('region'),
u'replicaConfiguration': InstanceReplicaconfiguration(module.params.get('replica_configuration', {}), module).to_request(), u'replicaConfiguration': InstanceReplicaconfiguration(module.params.get('replica_configuration', {}), module).to_request(),
u'settings': InstanceSettings(module.params.get('settings', {}), module).to_request() u'settings': InstanceSettings(module.params.get('settings', {}), module).to_request(),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -751,7 +761,7 @@ def response_to_hash(module, response):
u'name': response.get(u'name'), u'name': response.get(u'name'),
u'region': response.get(u'region'), u'region': response.get(u'region'),
u'replicaConfiguration': InstanceReplicaconfiguration(response.get(u'replicaConfiguration', {}), module).from_response(), u'replicaConfiguration': InstanceReplicaconfiguration(response.get(u'replicaConfiguration', {}), module).from_response(),
u'settings': InstanceSettings(response.get(u'settings', {}), module).from_response() u'settings': InstanceSettings(response.get(u'settings', {}), module).from_response(),
} }
@ -799,10 +809,10 @@ class InstanceFailoverreplica(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'name': self.request.get('name')}) return remove_nones_from_dict({u'available': self.request.get('available'), u'name': self.request.get('name')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'name': self.request.get(u'name')}) return remove_nones_from_dict({u'available': self.request.get(u'available'), u'name': self.request.get(u'name')})
class InstanceIpaddressesArray(object): class InstanceIpaddressesArray(object):
@ -841,20 +851,26 @@ class InstanceReplicaconfiguration(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'failoverTarget': self.request.get('failover_target'), {
u'mysqlReplicaConfiguration': InstanceMysqlreplicaconfiguration(self.request.get('mysql_replica_configuration', {}), self.module).to_request(), u'failoverTarget': self.request.get('failover_target'),
u'replicaNames': self.request.get('replica_names'), u'mysqlReplicaConfiguration': InstanceMysqlreplicaconfiguration(self.request.get('mysql_replica_configuration', {}), self.module).to_request(),
u'serviceAccountEmailAddress': self.request.get('service_account_email_address') u'replicaNames': self.request.get('replica_names'),
}) u'serviceAccountEmailAddress': self.request.get('service_account_email_address'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'failoverTarget': self.request.get(u'failoverTarget'), {
u'mysqlReplicaConfiguration': InstanceMysqlreplicaconfiguration(self.request.get(u'mysqlReplicaConfiguration', {}), self.module).from_response(), u'failoverTarget': self.request.get(u'failoverTarget'),
u'replicaNames': self.request.get(u'replicaNames'), u'mysqlReplicaConfiguration': InstanceMysqlreplicaconfiguration(
u'serviceAccountEmailAddress': self.request.get(u'serviceAccountEmailAddress') self.request.get(u'mysqlReplicaConfiguration', {}), self.module
}) ).from_response(),
u'replicaNames': self.request.get(u'replicaNames'),
u'serviceAccountEmailAddress': self.request.get(u'serviceAccountEmailAddress'),
}
)
class InstanceMysqlreplicaconfiguration(object): class InstanceMysqlreplicaconfiguration(object):
@ -907,18 +923,22 @@ class InstanceSettings(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(), {
u'tier': self.request.get('tier'), u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(),
u'settingsVersion': self.request.get('settings_version') u'tier': self.request.get('tier'),
}) u'settingsVersion': self.request.get('settings_version'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'ipConfiguration': InstanceIpconfiguration(self.request.get(u'ipConfiguration', {}), self.module).from_response(), {
u'tier': self.request.get(u'tier'), u'ipConfiguration': InstanceIpconfiguration(self.request.get(u'ipConfiguration', {}), self.module).from_response(),
u'settingsVersion': self.request.get(u'settingsVersion') u'tier': self.request.get(u'tier'),
}) u'settingsVersion': self.request.get(u'settingsVersion'),
}
)
class InstanceIpconfiguration(object): class InstanceIpconfiguration(object):
@ -930,18 +950,22 @@ class InstanceIpconfiguration(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'ipv4Enabled': self.request.get('ipv4_enabled'), {
u'authorizedNetworks': InstanceAuthorizednetworksArray(self.request.get('authorized_networks', []), self.module).to_request(), u'ipv4Enabled': self.request.get('ipv4_enabled'),
u'requireSsl': self.request.get('require_ssl') u'authorizedNetworks': InstanceAuthorizednetworksArray(self.request.get('authorized_networks', []), self.module).to_request(),
}) u'requireSsl': self.request.get('require_ssl'),
}
)
def from_response(self): def from_response(self):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'ipv4Enabled': self.request.get(u'ipv4Enabled'), {
u'authorizedNetworks': InstanceAuthorizednetworksArray(self.request.get(u'authorizedNetworks', []), self.module).from_response(), u'ipv4Enabled': self.request.get(u'ipv4Enabled'),
u'requireSsl': self.request.get(u'requireSsl') u'authorizedNetworks': InstanceAuthorizednetworksArray(self.request.get(u'authorizedNetworks', []), self.module).from_response(),
}) u'requireSsl': self.request.get(u'requireSsl'),
}
)
class InstanceAuthorizednetworksArray(object): class InstanceAuthorizednetworksArray(object):
@ -971,24 +995,5 @@ class InstanceAuthorizednetworksArray(object):
return remove_nones_from_dict({u'expirationTime': item.get(u'expirationTime'), u'name': item.get(u'name'), u'value': item.get(u'value')}) return remove_nones_from_dict({u'expirationTime': item.get(u'expirationTime'), u'name': item.get(u'name'), u'value': item.get(u'value')})
class InstanceBackupconfiguration(object):
def __init__(self, request, module):
self.module = module
if request:
self.request = request
else:
self.request = {}
def to_request(self):
return remove_nones_from_dict(
{u'enabled': self.request.get('enabled'), u'binaryLogEnabled': self.request.get('binary_log_enabled'), u'startTime': self.request.get('start_time')}
)
def from_response(self):
return remove_nones_from_dict(
{u'enabled': self.request.get(u'enabled'), u'binaryLogEnabled': self.request.get(u'binaryLogEnabled'), u'startTime': self.request.get(u'startTime')}
)
if __name__ == '__main__': if __name__ == '__main__':
main() main()

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -335,10 +334,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict())
argument_spec=dict(
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin'] module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
@ -348,9 +344,7 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)

View file

@ -148,7 +148,7 @@ def main():
host=dict(required=True, type='str'), host=dict(required=True, type='str'),
name=dict(required=True, type='str'), name=dict(required=True, type='str'),
instance=dict(required=True), instance=dict(required=True),
password=dict(type='str') password=dict(type='str'),
) )
) )

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -103,11 +102,7 @@ import json
def main(): def main():
module = GcpModule( module = GcpModule(argument_spec=dict(instance=dict(required=True)))
argument_spec=dict(
instance=dict(required=True)
)
)
if not module.params['scopes']: if not module.params['scopes']:
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin'] module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
@ -117,17 +112,12 @@ def main():
items = items.get('items') items = items.get('items')
else: else:
items = [] items = []
return_value = { return_value = {'items': items}
'items': items
}
module.exit_json(**return_value) module.exit_json(**return_value)
def collection(module): def collection(module):
res = { res = {'project': module.params['project'], 'instance': replace_resource_dict(module.params['instance'], 'name')}
'project': module.params['project'],
'instance': replace_resource_dict(module.params['instance'], 'name')
}
return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/users".format(**res) return "https://www.googleapis.com/sql/v1beta4/projects/{project}/instances/{instance}/users".format(**res)

View file

@ -789,60 +789,79 @@ def main():
module = GcpModule( module = GcpModule(
argument_spec=dict( argument_spec=dict(
state=dict(default='present', choices=['present', 'absent'], type='str'), state=dict(default='present', choices=['present', 'absent'], type='str'),
acl=dict(type='list', elements='dict', options=dict( acl=dict(
bucket=dict(required=True), type='list',
domain=dict(type='str'), elements='dict',
email=dict(type='str'), options=dict(
entity=dict(required=True, type='str'), bucket=dict(required=True),
entity_id=dict(type='str'), domain=dict(type='str'),
id=dict(type='str'), email=dict(type='str'),
project_team=dict(type='dict', options=dict( entity=dict(required=True, type='str'),
project_number=dict(type='str'), entity_id=dict(type='str'),
team=dict(type='str', choices=['editors', 'owners', 'viewers']) id=dict(type='str'),
)), project_team=dict(
role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']) type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))
)), ),
cors=dict(type='list', elements='dict', options=dict( role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']),
max_age_seconds=dict(type='int'), ),
method=dict(type='list', elements='str'), ),
origin=dict(type='list', elements='str'), cors=dict(
response_header=dict(type='list', elements='str') type='list',
)), elements='dict',
default_object_acl=dict(type='list', elements='dict', options=dict( options=dict(
bucket=dict(required=True), max_age_seconds=dict(type='int'),
domain=dict(type='str'), method=dict(type='list', elements='str'),
email=dict(type='str'), origin=dict(type='list', elements='str'),
entity=dict(required=True, type='str'), response_header=dict(type='list', elements='str'),
entity_id=dict(type='str'), ),
generation=dict(type='int'), ),
id=dict(type='str'), default_object_acl=dict(
object=dict(type='str'), type='list',
project_team=dict(type='dict', options=dict( elements='dict',
project_number=dict(type='str'), options=dict(
team=dict(type='str', choices=['editors', 'owners', 'viewers']) bucket=dict(required=True),
)), domain=dict(type='str'),
role=dict(required=True, type='str', choices=['OWNER', 'READER']) email=dict(type='str'),
)), entity=dict(required=True, type='str'),
lifecycle=dict(type='dict', options=dict( entity_id=dict(type='str'),
rule=dict(type='list', elements='dict', options=dict( generation=dict(type='int'),
action=dict(type='dict', options=dict( id=dict(type='str'),
storage_class=dict(type='str'), object=dict(type='str'),
type=dict(type='str', choices=['Delete', 'SetStorageClass']) project_team=dict(
)), type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))
condition=dict(type='dict', options=dict( ),
age_days=dict(type='int'), role=dict(required=True, type='str', choices=['OWNER', 'READER']),
created_before=dict(type='str'), ),
is_live=dict(type='bool'), ),
matches_storage_class=dict(type='list', elements='str'), lifecycle=dict(
num_newer_versions=dict(type='int') type='dict',
)) options=dict(
)) rule=dict(
)), type='list',
elements='dict',
options=dict(
action=dict(
type='dict', options=dict(storage_class=dict(type='str'), type=dict(type='str', choices=['Delete', 'SetStorageClass']))
),
condition=dict(
type='dict',
options=dict(
age_days=dict(type='int'),
created_before=dict(type='str'),
is_live=dict(type='bool'),
matches_storage_class=dict(type='list', elements='str'),
num_newer_versions=dict(type='int'),
),
),
),
)
),
),
location=dict(type='str'), location=dict(type='str'),
logging=dict(type='dict', options=dict(log_bucket=dict(type='str'), log_object_prefix=dict(type='str'))), logging=dict(type='dict', options=dict(log_bucket=dict(type='str'), log_object_prefix=dict(type='str'))),
metageneration=dict(type='int'), metageneration=dict(type='int'),
name=dict(type='str'), name=dict(type='str'),
owner=dict(type='dict', options=dict(entity=dict(type='str'))), owner=dict(type='dict', options=dict(entity=dict(type='str'), entity_id=dict(type='str'))),
storage_class=dict(type='str', choices=['MULTI_REGIONAL', 'REGIONAL', 'STANDARD', 'NEARLINE', 'COLDLINE', 'DURABLE_REDUCED_AVAILABILITY']), storage_class=dict(type='str', choices=['MULTI_REGIONAL', 'REGIONAL', 'STANDARD', 'NEARLINE', 'COLDLINE', 'DURABLE_REDUCED_AVAILABILITY']),
versioning=dict(type='dict', options=dict(enabled=dict(type='bool'))), versioning=dict(type='dict', options=dict(enabled=dict(type='bool'))),
website=dict(type='dict', options=dict(main_page_suffix=dict(type='str'), not_found_page=dict(type='str'))), website=dict(type='dict', options=dict(main_page_suffix=dict(type='str'), not_found_page=dict(type='str'))),
@ -1021,28 +1040,32 @@ class BucketAclArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'), {
u'domain': item.get('domain'), u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'),
u'email': item.get('email'), u'domain': item.get('domain'),
u'entity': item.get('entity'), u'email': item.get('email'),
u'entityId': item.get('entity_id'), u'entity': item.get('entity'),
u'id': item.get('id'), u'entityId': item.get('entity_id'),
u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(), u'id': item.get('id'),
u'role': item.get('role') u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(),
}) u'role': item.get('role'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'bucket': item.get(u'bucket'), {
u'domain': item.get(u'domain'), u'bucket': item.get(u'bucket'),
u'email': item.get(u'email'), u'domain': item.get(u'domain'),
u'entity': item.get(u'entity'), u'email': item.get(u'email'),
u'entityId': item.get(u'entityId'), u'entity': item.get(u'entity'),
u'id': item.get(u'id'), u'entityId': item.get(u'entityId'),
u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(), u'id': item.get(u'id'),
u'role': item.get(u'role') u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(),
}) u'role': item.get(u'role'),
}
)
class BucketProjectteam(object): class BucketProjectteam(object):
@ -1122,32 +1145,36 @@ class BucketDefaultobjectaclArray(object):
return items return items
def _request_for_item(self, item): def _request_for_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'), {
u'domain': item.get('domain'), u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'),
u'email': item.get('email'), u'domain': item.get('domain'),
u'entity': item.get('entity'), u'email': item.get('email'),
u'entityId': item.get('entity_id'), u'entity': item.get('entity'),
u'generation': item.get('generation'), u'entityId': item.get('entity_id'),
u'id': item.get('id'), u'generation': item.get('generation'),
u'object': item.get('object'), u'id': item.get('id'),
u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(), u'object': item.get('object'),
u'role': item.get('role') u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(),
}) u'role': item.get('role'),
}
)
def _response_from_item(self, item): def _response_from_item(self, item):
return remove_nones_from_dict({ return remove_nones_from_dict(
u'bucket': item.get(u'bucket'), {
u'domain': item.get(u'domain'), u'bucket': item.get(u'bucket'),
u'email': item.get(u'email'), u'domain': item.get(u'domain'),
u'entity': item.get(u'entity'), u'email': item.get(u'email'),
u'entityId': item.get(u'entityId'), u'entity': item.get(u'entity'),
u'generation': item.get(u'generation'), u'entityId': item.get(u'entityId'),
u'id': item.get(u'id'), u'generation': item.get(u'generation'),
u'object': item.get(u'object'), u'id': item.get(u'id'),
u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(), u'object': item.get(u'object'),
u'role': item.get(u'role') u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(),
}) u'role': item.get(u'role'),
}
)
class BucketProjectteam(object): class BucketProjectteam(object):
@ -1254,7 +1281,7 @@ class BucketCondition(object):
def from_response(self): def from_response(self):
return remove_nones_from_dict( return remove_nones_from_dict(
{ {
u'age': self.request.get(u'age'), u'age': self.request.get(u'ageDays'),
u'createdBefore': self.request.get(u'createdBefore'), u'createdBefore': self.request.get(u'createdBefore'),
u'isLive': self.request.get(u'isLive'), u'isLive': self.request.get(u'isLive'),
u'matchesStorageClass': self.request.get(u'matchesStorageClass'), u'matchesStorageClass': self.request.get(u'matchesStorageClass'),
@ -1287,10 +1314,10 @@ class BucketOwner(object):
self.request = {} self.request = {}
def to_request(self): def to_request(self):
return remove_nones_from_dict({u'entity': self.request.get('entity')}) return remove_nones_from_dict({u'entity': self.request.get('entity'), u'entityId': self.request.get('entity_id')})
def from_response(self): def from_response(self):
return remove_nones_from_dict({u'entity': self.request.get(u'entity')}) return remove_nones_from_dict({u'entity': self.request.get(u'entity'), u'entityId': self.request.get(u'entityId')})
class BucketVersioning(object): class BucketVersioning(object):

View file

@ -267,7 +267,7 @@ def resource_to_request(module):
u'entity': module.params.get('entity'), u'entity': module.params.get('entity'),
u'entityId': module.params.get('entity_id'), u'entityId': module.params.get('entity_id'),
u'projectTeam': BucketAccessControlProjectteam(module.params.get('project_team', {}), module).to_request(), u'projectTeam': BucketAccessControlProjectteam(module.params.get('project_team', {}), module).to_request(),
u'role': module.params.get('role') u'role': module.params.get('role'),
} }
return_vals = {} return_vals = {}
for k, v in request.items(): for k, v in request.items():
@ -340,7 +340,7 @@ def response_to_hash(module, response):
u'entityId': response.get(u'entityId'), u'entityId': response.get(u'entityId'),
u'id': response.get(u'id'), u'id': response.get(u'id'),
u'projectTeam': BucketAccessControlProjectteam(response.get(u'projectTeam', {}), module).from_response(), u'projectTeam': BucketAccessControlProjectteam(response.get(u'projectTeam', {}), module).from_response(),
u'role': response.get(u'role') u'role': response.get(u'role'),
} }

View file

@ -18,15 +18,14 @@
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
from __future__ import absolute_import, division, print_function from __future__ import absolute_import, division, print_function
__metaclass__ = type __metaclass__ = type
################################################################################ ################################################################################
# Documentation # Documentation
################################################################################ ################################################################################
ANSIBLE_METADATA = {'metadata_version': '1.1', ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
'status': ["preview"],
'supported_by': 'community'}
DOCUMENTATION = ''' DOCUMENTATION = '''
--- ---
@ -145,7 +144,7 @@ def main():
overwrite=dict(type='bool'), overwrite=dict(type='bool'),
src=dict(type='path'), src=dict(type='path'),
dest=dict(type='path'), dest=dict(type='path'),
bucket=dict(type='str') bucket=dict(type='str'),
) )
) )
@ -277,7 +276,7 @@ def object_headers(module):
return { return {
"name": module.params['dest'], "name": module.params['dest'],
"Content-Type": mimetypes.guess_type(module.params['src'])[0], "Content-Type": mimetypes.guess_type(module.params['src'])[0],
"Content-Length": str(os.path.getsize(module.params['src'])) "Content-Length": str(os.path.getsize(module.params['src'])),
} }