mirror of
https://github.com/ansible-collections/google.cloud.git
synced 2025-04-06 19:00:27 -07:00
Formatting changes related to upstream code generator cleanup. (#162)
Signed-off-by: Modular Magician <magic-modules@google.com>
This commit is contained in:
parent
f2746afceb
commit
99d5da337c
94 changed files with 1515 additions and 1845 deletions
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -306,27 +305,29 @@ def main():
|
|||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
name=dict(type='str'),
|
||||
access=dict(type='list', elements='dict', options=dict(
|
||||
domain=dict(type='str'),
|
||||
group_by_email=dict(type='str'),
|
||||
role=dict(type='str', choices=['READER', 'WRITER', 'OWNER']),
|
||||
special_group=dict(type='str'),
|
||||
user_by_email=dict(type='str'),
|
||||
view=dict(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_reference=dict(required=True, type='dict', options=dict(
|
||||
dataset_id=dict(required=True, type='str'),
|
||||
project_id=dict(type='str')
|
||||
)),
|
||||
access=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
domain=dict(type='str'),
|
||||
group_by_email=dict(type='str'),
|
||||
role=dict(type='str', choices=['READER', 'WRITER', 'OWNER']),
|
||||
special_group=dict(type='str'),
|
||||
user_by_email=dict(type='str'),
|
||||
view=dict(
|
||||
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_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'),
|
||||
description=dict(type='str'),
|
||||
friendly_name=dict(type='str'),
|
||||
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'friendlyName': module.params.get('friendly_name'),
|
||||
u'labels': module.params.get('labels'),
|
||||
u'location': module.params.get('location')
|
||||
u'location': module.params.get('location'),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -462,7 +463,7 @@ def response_to_hash(module, response):
|
|||
u'id': response.get(u'id'),
|
||||
u'labels': response.get(u'labels'),
|
||||
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
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'domain': item.get('domain'),
|
||||
u'groupByEmail': item.get('group_by_email'),
|
||||
u'role': item.get('role'),
|
||||
u'specialGroup': item.get('special_group'),
|
||||
u'userByEmail': item.get('user_by_email'),
|
||||
u'view': DatasetView(item.get('view', {}), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'domain': item.get('domain'),
|
||||
u'groupByEmail': item.get('group_by_email'),
|
||||
u'role': item.get('role'),
|
||||
u'specialGroup': item.get('special_group'),
|
||||
u'userByEmail': item.get('user_by_email'),
|
||||
u'view': DatasetView(item.get('view', {}), self.module).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'domain': item.get(u'domain'),
|
||||
u'groupByEmail': item.get(u'groupByEmail'),
|
||||
u'role': item.get(u'role'),
|
||||
u'specialGroup': item.get(u'specialGroup'),
|
||||
u'userByEmail': item.get(u'userByEmail'),
|
||||
u'view': DatasetView(item.get(u'view', {}), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'domain': item.get(u'domain'),
|
||||
u'groupByEmail': item.get(u'groupByEmail'),
|
||||
u'role': item.get(u'role'),
|
||||
u'specialGroup': item.get(u'specialGroup'),
|
||||
u'userByEmail': item.get(u'userByEmail'),
|
||||
u'view': DatasetView(item.get(u'view', {}), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class DatasetView(object):
|
||||
|
@ -516,18 +521,14 @@ class DatasetView(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'datasetId': self.request.get('dataset_id'),
|
||||
u'projectId': self.request.get('project_id'),
|
||||
u'tableId': self.request.get('table_id')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{u'datasetId': self.request.get('dataset_id'), u'projectId': self.request.get('project_id'), u'tableId': self.request.get('table_id')}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'datasetId': self.request.get(u'datasetId'),
|
||||
u'projectId': self.request.get(u'projectId'),
|
||||
u'tableId': self.request.get(u'tableId')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{u'datasetId': self.request.get(u'datasetId'), u'projectId': self.request.get(u'projectId'), u'tableId': self.request.get(u'tableId')}
|
||||
)
|
||||
|
||||
|
||||
class DatasetDatasetreference(object):
|
||||
|
@ -539,16 +540,10 @@ class DatasetDatasetreference(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'datasetId': self.request.get('dataset_id'),
|
||||
u'projectId': self.request.get('project_id')
|
||||
})
|
||||
return remove_nones_from_dict({u'datasetId': self.request.get('dataset_id'), u'projectId': self.request.get('project_id')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'datasetId': self.request.get(u'datasetId'),
|
||||
u'projectId': self.request.get(u'projectId')
|
||||
})
|
||||
return remove_nones_from_dict({u'datasetId': self.request.get(u'datasetId'), u'projectId': self.request.get(u'projectId')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -199,10 +198,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery']
|
||||
|
@ -212,9 +208,7 @@ def main():
|
|||
items = items.get('datasets')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -904,85 +903,107 @@ def main():
|
|||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
table_reference=dict(type='dict', options=dict(
|
||||
dataset_id=dict(type='str'),
|
||||
project_id=dict(type='str'),
|
||||
table_id=dict(type='str')
|
||||
)),
|
||||
table_reference=dict(type='dict', options=dict(dataset_id=dict(type='str'), project_id=dict(type='str'), table_id=dict(type='str'))),
|
||||
description=dict(type='str'),
|
||||
friendly_name=dict(type='str'),
|
||||
labels=dict(type='dict'),
|
||||
name=dict(type='str'),
|
||||
view=dict(type='dict', options=dict(
|
||||
use_legacy_sql=dict(type='bool'),
|
||||
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'])
|
||||
)),
|
||||
schema=dict(type='dict', options=dict(
|
||||
fields=dict(type='list', elements='dict', options=dict(
|
||||
description=dict(type='str'),
|
||||
fields=dict(type='list', elements='str'),
|
||||
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
|
||||
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')
|
||||
)),
|
||||
view=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
use_legacy_sql=dict(type='bool'),
|
||||
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']))),
|
||||
schema=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
fields=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
description=dict(type='str'),
|
||||
fields=dict(type='list', elements='str'),
|
||||
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
|
||||
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'),
|
||||
external_data_configuration=dict(type='dict', options=dict(
|
||||
autodetect=dict(type='bool'),
|
||||
compression=dict(type='str', choices=['GZIP', 'NONE']),
|
||||
ignore_unknown_values=dict(type='bool'),
|
||||
max_bad_records=dict(default=0, type='int'),
|
||||
source_format=dict(type='str', choices=['CSV', 'GOOGLE_SHEETS', 'NEWLINE_DELIMITED_JSON', 'AVRO', 'DATASTORE_BACKUP', 'BIGTABLE']),
|
||||
source_uris=dict(type='list', elements='str'),
|
||||
schema=dict(type='dict', options=dict(
|
||||
fields=dict(type='list', elements='dict', options=dict(
|
||||
description=dict(type='str'),
|
||||
fields=dict(type='list', elements='str'),
|
||||
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
|
||||
name=dict(type='str'),
|
||||
type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD'])
|
||||
))
|
||||
)),
|
||||
google_sheets_options=dict(type='dict', options=dict(
|
||||
skip_leading_rows=dict(default=0, type='int')
|
||||
)),
|
||||
csv_options=dict(type='dict', options=dict(
|
||||
allow_jagged_rows=dict(type='bool'),
|
||||
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')
|
||||
)),
|
||||
bigtable_options=dict(type='dict', options=dict(
|
||||
ignore_unspecified_column_families=dict(type='bool'),
|
||||
read_rowkey_as_string=dict(type='bool'),
|
||||
column_families=dict(type='list', elements='dict', 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')
|
||||
external_data_configuration=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
autodetect=dict(type='bool'),
|
||||
compression=dict(type='str', choices=['GZIP', 'NONE']),
|
||||
ignore_unknown_values=dict(type='bool'),
|
||||
max_bad_records=dict(default=0, type='int'),
|
||||
source_format=dict(type='str', choices=['CSV', 'GOOGLE_SHEETS', 'NEWLINE_DELIMITED_JSON', 'AVRO', 'DATASTORE_BACKUP', 'BIGTABLE']),
|
||||
source_uris=dict(type='list', elements='str'),
|
||||
schema=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
fields=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
description=dict(type='str'),
|
||||
fields=dict(type='list', elements='str'),
|
||||
mode=dict(type='str', choices=['NULLABLE', 'REQUIRED', 'REPEATED']),
|
||||
name=dict(type='str'),
|
||||
type=dict(type='str', choices=['STRING', 'BYTES', 'INTEGER', 'FLOAT', 'TIMESTAMP', 'DATE', 'TIME', 'DATETIME', 'RECORD']),
|
||||
),
|
||||
)
|
||||
),
|
||||
),
|
||||
google_sheets_options=dict(type='dict', options=dict(skip_leading_rows=dict(default=0, type='int'))),
|
||||
csv_options=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
allow_jagged_rows=dict(type='bool'),
|
||||
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'),
|
||||
),
|
||||
),
|
||||
bigtable_options=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
ignore_unspecified_column_families=dict(type='bool'),
|
||||
read_rowkey_as_string=dict(type='bool'),
|
||||
column_families=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
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'encryptionConfiguration': TableEncryptionconfiguration(module.params.get('encryption_configuration', {}), module).to_request(),
|
||||
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 = {}
|
||||
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'encryptionConfiguration': TableEncryptionconfiguration(response.get(u'encryptionConfiguration', {}), module).from_response(),
|
||||
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 = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'datasetId': self.request.get('dataset_id'),
|
||||
u'projectId': self.request.get('project_id'),
|
||||
u'tableId': self.request.get('table_id')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{u'datasetId': self.request.get('dataset_id'), u'projectId': self.request.get('project_id'), u'tableId': self.request.get('table_id')}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'datasetId': self.request.get(u'datasetId'),
|
||||
u'projectId': self.request.get(u'projectId'),
|
||||
u'tableId': self.request.get(u'tableId')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{u'datasetId': self.request.get(u'datasetId'), u'projectId': self.request.get(u'projectId'), u'tableId': self.request.get(u'tableId')}
|
||||
)
|
||||
|
||||
|
||||
class TableView(object):
|
||||
|
@ -1166,18 +1183,24 @@ class TableView(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'useLegacySql': self.request.get('use_legacy_sql'),
|
||||
u'userDefinedFunctionResources':
|
||||
TableUserdefinedfunctionresourcesArray(self.request.get('user_defined_function_resources', []), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'useLegacySql': self.request.get('use_legacy_sql'),
|
||||
u'userDefinedFunctionResources': TableUserdefinedfunctionresourcesArray(
|
||||
self.request.get('user_defined_function_resources', []), self.module
|
||||
).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'useLegacySql': self.request.get(u'useLegacySql'),
|
||||
u'userDefinedFunctionResources':
|
||||
TableUserdefinedfunctionresourcesArray(self.request.get(u'userDefinedFunctionResources', []), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'useLegacySql': self.request.get(u'useLegacySql'),
|
||||
u'userDefinedFunctionResources': TableUserdefinedfunctionresourcesArray(
|
||||
self.request.get(u'userDefinedFunctionResources', []), self.module
|
||||
).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableUserdefinedfunctionresourcesArray(object):
|
||||
|
@ -1201,16 +1224,10 @@ class TableUserdefinedfunctionresourcesArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'inlineCode': item.get('inline_code'),
|
||||
u'resourceUri': item.get('resource_uri')
|
||||
})
|
||||
return remove_nones_from_dict({u'inlineCode': item.get('inline_code'), u'resourceUri': item.get('resource_uri')})
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'inlineCode': item.get(u'inlineCode'),
|
||||
u'resourceUri': item.get(u'resourceUri')
|
||||
})
|
||||
return remove_nones_from_dict({u'inlineCode': item.get(u'inlineCode'), u'resourceUri': item.get(u'resourceUri')})
|
||||
|
||||
|
||||
class TableTimepartitioning(object):
|
||||
|
@ -1222,16 +1239,10 @@ class TableTimepartitioning(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'expirationMs': self.request.get('expiration_ms'),
|
||||
u'type': self.request.get('type')
|
||||
})
|
||||
return remove_nones_from_dict({u'expirationMs': self.request.get('expiration_ms'), u'type': self.request.get('type')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'expirationMs': self.request.get(u'expirationMs'),
|
||||
u'type': self.request.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict({u'expirationMs': self.request.get(u'expirationMs'), u'type': self.request.get(u'type')})
|
||||
|
||||
|
||||
class TableStreamingbuffer(object):
|
||||
|
@ -1243,18 +1254,22 @@ class TableStreamingbuffer(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'estimatedBytes': self.request.get('estimated_bytes'),
|
||||
u'estimatedRows': self.request.get('estimated_rows'),
|
||||
u'oldestEntryTime': self.request.get('oldest_entry_time')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'estimatedBytes': self.request.get('estimated_bytes'),
|
||||
u'estimatedRows': self.request.get('estimated_rows'),
|
||||
u'oldestEntryTime': self.request.get('oldest_entry_time'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'estimatedBytes': self.request.get(u'estimatedBytes'),
|
||||
u'estimatedRows': self.request.get(u'estimatedRows'),
|
||||
u'oldestEntryTime': self.request.get(u'oldestEntryTime')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'estimatedBytes': self.request.get(u'estimatedBytes'),
|
||||
u'estimatedRows': self.request.get(u'estimatedRows'),
|
||||
u'oldestEntryTime': self.request.get(u'oldestEntryTime'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableSchema(object):
|
||||
|
@ -1266,14 +1281,10 @@ class TableSchema(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()})
|
||||
|
||||
|
||||
class TableFieldsArray(object):
|
||||
|
@ -1297,22 +1308,26 @@ class TableFieldsArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'description': item.get('description'),
|
||||
u'fields': item.get('fields'),
|
||||
u'mode': item.get('mode'),
|
||||
u'name': item.get('name'),
|
||||
u'type': item.get('type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'description': item.get('description'),
|
||||
u'fields': item.get('fields'),
|
||||
u'mode': item.get('mode'),
|
||||
u'name': item.get('name'),
|
||||
u'type': item.get('type'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'description': item.get(u'description'),
|
||||
u'fields': item.get(u'fields'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'name': item.get(u'name'),
|
||||
u'type': item.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'description': item.get(u'description'),
|
||||
u'fields': item.get(u'fields'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'name': item.get(u'name'),
|
||||
u'type': item.get(u'type'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableEncryptionconfiguration(object):
|
||||
|
@ -1324,14 +1339,10 @@ class TableEncryptionconfiguration(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'kmsKeyName': self.request.get('kms_key_name')
|
||||
})
|
||||
return remove_nones_from_dict({u'kmsKeyName': self.request.get('kms_key_name')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'kmsKeyName': self.request.get(u'kmsKeyName')
|
||||
})
|
||||
return remove_nones_from_dict({u'kmsKeyName': self.request.get(u'kmsKeyName')})
|
||||
|
||||
|
||||
class TableExternaldataconfiguration(object):
|
||||
|
@ -1343,32 +1354,36 @@ class TableExternaldataconfiguration(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'autodetect': self.request.get('autodetect'),
|
||||
u'compression': self.request.get('compression'),
|
||||
u'ignoreUnknownValues': self.request.get('ignore_unknown_values'),
|
||||
u'maxBadRecords': self.request.get('max_bad_records'),
|
||||
u'sourceFormat': self.request.get('source_format'),
|
||||
u'sourceUris': self.request.get('source_uris'),
|
||||
u'schema': TableSchema(self.request.get('schema', {}), self.module).to_request(),
|
||||
u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get('google_sheets_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()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autodetect': self.request.get('autodetect'),
|
||||
u'compression': self.request.get('compression'),
|
||||
u'ignoreUnknownValues': self.request.get('ignore_unknown_values'),
|
||||
u'maxBadRecords': self.request.get('max_bad_records'),
|
||||
u'sourceFormat': self.request.get('source_format'),
|
||||
u'sourceUris': self.request.get('source_uris'),
|
||||
u'schema': TableSchema(self.request.get('schema', {}), self.module).to_request(),
|
||||
u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get('google_sheets_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):
|
||||
return remove_nones_from_dict({
|
||||
u'autodetect': self.request.get(u'autodetect'),
|
||||
u'compression': self.request.get(u'compression'),
|
||||
u'ignoreUnknownValues': self.request.get(u'ignoreUnknownValues'),
|
||||
u'maxBadRecords': self.request.get(u'maxBadRecords'),
|
||||
u'sourceFormat': self.request.get(u'sourceFormat'),
|
||||
u'sourceUris': self.request.get(u'sourceUris'),
|
||||
u'schema': TableSchema(self.request.get(u'schema', {}), self.module).from_response(),
|
||||
u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get(u'googleSheetsOptions', {}), 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()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autodetect': self.request.get(u'autodetect'),
|
||||
u'compression': self.request.get(u'compression'),
|
||||
u'ignoreUnknownValues': self.request.get(u'ignoreUnknownValues'),
|
||||
u'maxBadRecords': self.request.get(u'maxBadRecords'),
|
||||
u'sourceFormat': self.request.get(u'sourceFormat'),
|
||||
u'sourceUris': self.request.get(u'sourceUris'),
|
||||
u'schema': TableSchema(self.request.get(u'schema', {}), self.module).from_response(),
|
||||
u'googleSheetsOptions': TableGooglesheetsoptions(self.request.get(u'googleSheetsOptions', {}), 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):
|
||||
|
@ -1380,14 +1395,10 @@ class TableSchema(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get('fields', []), self.module).to_request()})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict({u'fields': TableFieldsArray(self.request.get(u'fields', []), self.module).from_response()})
|
||||
|
||||
|
||||
class TableFieldsArray(object):
|
||||
|
@ -1411,22 +1422,26 @@ class TableFieldsArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'description': item.get('description'),
|
||||
u'fields': item.get('fields'),
|
||||
u'mode': item.get('mode'),
|
||||
u'name': item.get('name'),
|
||||
u'type': item.get('type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'description': item.get('description'),
|
||||
u'fields': item.get('fields'),
|
||||
u'mode': item.get('mode'),
|
||||
u'name': item.get('name'),
|
||||
u'type': item.get('type'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'description': item.get(u'description'),
|
||||
u'fields': item.get(u'fields'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'name': item.get(u'name'),
|
||||
u'type': item.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'description': item.get(u'description'),
|
||||
u'fields': item.get(u'fields'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'name': item.get(u'name'),
|
||||
u'type': item.get(u'type'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableGooglesheetsoptions(object):
|
||||
|
@ -1438,14 +1453,10 @@ class TableGooglesheetsoptions(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'skipLeadingRows': self.request.get('skip_leading_rows')
|
||||
})
|
||||
return remove_nones_from_dict({u'skipLeadingRows': self.request.get('skip_leading_rows')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'skipLeadingRows': self.request.get(u'skipLeadingRows')
|
||||
})
|
||||
return remove_nones_from_dict({u'skipLeadingRows': self.request.get(u'skipLeadingRows')})
|
||||
|
||||
|
||||
class TableCsvoptions(object):
|
||||
|
@ -1457,24 +1468,28 @@ class TableCsvoptions(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'allowJaggedRows': self.request.get('allow_jagged_rows'),
|
||||
u'allowQuotedNewlines': self.request.get('allow_quoted_newlines'),
|
||||
u'encoding': self.request.get('encoding'),
|
||||
u'fieldDelimiter': self.request.get('field_delimiter'),
|
||||
u'quote': self.request.get('quote'),
|
||||
u'skipLeadingRows': self.request.get('skip_leading_rows')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'allowJaggedRows': self.request.get('allow_jagged_rows'),
|
||||
u'allowQuotedNewlines': self.request.get('allow_quoted_newlines'),
|
||||
u'encoding': self.request.get('encoding'),
|
||||
u'fieldDelimiter': self.request.get('field_delimiter'),
|
||||
u'quote': self.request.get('quote'),
|
||||
u'skipLeadingRows': self.request.get('skip_leading_rows'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'allowJaggedRows': self.request.get(u'allowJaggedRows'),
|
||||
u'allowQuotedNewlines': self.request.get(u'allowQuotedNewlines'),
|
||||
u'encoding': self.request.get(u'encoding'),
|
||||
u'fieldDelimiter': self.request.get(u'fieldDelimiter'),
|
||||
u'quote': self.request.get(u'quote'),
|
||||
u'skipLeadingRows': self.request.get(u'skipLeadingRows')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'allowJaggedRows': self.request.get(u'allowJaggedRows'),
|
||||
u'allowQuotedNewlines': self.request.get(u'allowQuotedNewlines'),
|
||||
u'encoding': self.request.get(u'encoding'),
|
||||
u'fieldDelimiter': self.request.get(u'fieldDelimiter'),
|
||||
u'quote': self.request.get(u'quote'),
|
||||
u'skipLeadingRows': self.request.get(u'skipLeadingRows'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableBigtableoptions(object):
|
||||
|
@ -1486,18 +1501,22 @@ class TableBigtableoptions(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'ignoreUnspecifiedColumnFamilies': self.request.get('ignore_unspecified_column_families'),
|
||||
u'readRowkeyAsString': self.request.get('read_rowkey_as_string'),
|
||||
u'columnFamilies': TableColumnfamiliesArray(self.request.get('column_families', []), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'ignoreUnspecifiedColumnFamilies': self.request.get('ignore_unspecified_column_families'),
|
||||
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):
|
||||
return remove_nones_from_dict({
|
||||
u'ignoreUnspecifiedColumnFamilies': self.request.get(u'ignoreUnspecifiedColumnFamilies'),
|
||||
u'readRowkeyAsString': self.request.get(u'readRowkeyAsString'),
|
||||
u'columnFamilies': TableColumnfamiliesArray(self.request.get(u'columnFamilies', []), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'ignoreUnspecifiedColumnFamilies': self.request.get(u'ignoreUnspecifiedColumnFamilies'),
|
||||
u'readRowkeyAsString': self.request.get(u'readRowkeyAsString'),
|
||||
u'columnFamilies': TableColumnfamiliesArray(self.request.get(u'columnFamilies', []), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableColumnfamiliesArray(object):
|
||||
|
@ -1521,22 +1540,26 @@ class TableColumnfamiliesArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'columns': TableColumnsArray(item.get('columns', []), self.module).to_request(),
|
||||
u'encoding': item.get('encoding'),
|
||||
u'familyId': item.get('family_id'),
|
||||
u'onlyReadLatest': item.get('only_read_latest'),
|
||||
u'type': item.get('type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'columns': TableColumnsArray(item.get('columns', []), self.module).to_request(),
|
||||
u'encoding': item.get('encoding'),
|
||||
u'familyId': item.get('family_id'),
|
||||
u'onlyReadLatest': item.get('only_read_latest'),
|
||||
u'type': item.get('type'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'columns': TableColumnsArray(item.get(u'columns', []), self.module).from_response(),
|
||||
u'encoding': item.get(u'encoding'),
|
||||
u'familyId': item.get(u'familyId'),
|
||||
u'onlyReadLatest': item.get(u'onlyReadLatest'),
|
||||
u'type': item.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'columns': TableColumnsArray(item.get(u'columns', []), self.module).from_response(),
|
||||
u'encoding': item.get(u'encoding'),
|
||||
u'familyId': item.get(u'familyId'),
|
||||
u'onlyReadLatest': item.get(u'onlyReadLatest'),
|
||||
u'type': item.get(u'type'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class TableColumnsArray(object):
|
||||
|
@ -1560,22 +1583,26 @@ class TableColumnsArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'encoding': item.get('encoding'),
|
||||
u'fieldName': item.get('field_name'),
|
||||
u'onlyReadLatest': item.get('only_read_latest'),
|
||||
u'qualifierString': item.get('qualifier_string'),
|
||||
u'type': item.get('type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'encoding': item.get('encoding'),
|
||||
u'fieldName': item.get('field_name'),
|
||||
u'onlyReadLatest': item.get('only_read_latest'),
|
||||
u'qualifierString': item.get('qualifier_string'),
|
||||
u'type': item.get('type'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'encoding': item.get(u'encoding'),
|
||||
u'fieldName': item.get(u'fieldName'),
|
||||
u'onlyReadLatest': item.get(u'onlyReadLatest'),
|
||||
u'qualifierString': item.get(u'qualifierString'),
|
||||
u'type': item.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'encoding': item.get(u'encoding'),
|
||||
u'fieldName': item.get(u'fieldName'),
|
||||
u'onlyReadLatest': item.get(u'onlyReadLatest'),
|
||||
u'qualifierString': item.get(u'qualifierString'),
|
||||
u'type': item.get(u'type'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -513,11 +512,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
dataset=dict(type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(dataset=dict(type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/bigquery']
|
||||
|
@ -527,9 +522,7 @@ def main():
|
|||
items = items.get('tables')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -220,7 +220,7 @@ def main():
|
|||
name=dict(required=True, type='str'),
|
||||
network_tier=dict(type='str', choices=['PREMIUM', 'STANDARD']),
|
||||
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'name': module.params.get('name'),
|
||||
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 = {}
|
||||
for k, v in request.items():
|
||||
|
|
|
@ -147,12 +147,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -162,7 +157,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -114,11 +114,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -128,7 +124,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -623,42 +623,55 @@ def main():
|
|||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
affinity_cookie_ttl_sec=dict(type='int'),
|
||||
backends=dict(type='list', elements='dict', options=dict(
|
||||
balancing_mode=dict(type='str', choices=['UTILIZATION', 'RATE', 'CONNECTION']),
|
||||
capacity_scaler=dict(type='str'),
|
||||
description=dict(type='str'),
|
||||
group=dict(),
|
||||
max_connections=dict(type='int'),
|
||||
max_connections_per_instance=dict(type='int'),
|
||||
max_rate=dict(type='int'),
|
||||
max_rate_per_instance=dict(type='str'),
|
||||
max_utilization=dict(type='str')
|
||||
)),
|
||||
cdn_policy=dict(type='dict', options=dict(
|
||||
cache_key_policy=dict(type='dict', options=dict(
|
||||
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')
|
||||
)),
|
||||
backends=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
balancing_mode=dict(type='str', choices=['UTILIZATION', 'RATE', 'CONNECTION']),
|
||||
capacity_scaler=dict(type='str'),
|
||||
description=dict(type='str'),
|
||||
group=dict(),
|
||||
max_connections=dict(type='int'),
|
||||
max_connections_per_instance=dict(type='int'),
|
||||
max_rate=dict(type='int'),
|
||||
max_rate_per_instance=dict(type='str'),
|
||||
max_utilization=dict(type='str'),
|
||||
),
|
||||
),
|
||||
cdn_policy=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
cache_key_policy=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
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'),
|
||||
enable_cdn=dict(type='bool'),
|
||||
health_checks=dict(required=True, type='list', elements='str'),
|
||||
health_checks=dict(type='list', elements='str'),
|
||||
iap=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']),
|
||||
name=dict(required=True, type='str'),
|
||||
load_balancing_scheme=dict(type='str', choices=['INTERNAL', 'EXTERNAL']),
|
||||
name=dict(type='str'),
|
||||
port_name=dict(type='str'),
|
||||
protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'HTTP2', 'TCP', 'SSL']),
|
||||
security_policy=dict(type='str'),
|
||||
session_affinity=dict(type='str', choices=['NONE', 'CLIENT_IP', 'GENERATED_COOKIE']),
|
||||
protocol=dict(type='str', choices=['HTTP', 'HTTPS', 'TCP', 'SSL']),
|
||||
region=dict(type='str'),
|
||||
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']),
|
||||
)
|
||||
)
|
||||
|
@ -888,7 +901,7 @@ class BackendServiceBackendsArray(object):
|
|||
u'balancingMode': item.get('balancing_mode'),
|
||||
u'capacityScaler': item.get('capacity_scaler'),
|
||||
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'maxConnectionsPerInstance': item.get('max_connections_per_instance'),
|
||||
u'maxRate': item.get('max_rate'),
|
||||
|
@ -898,17 +911,19 @@ class BackendServiceBackendsArray(object):
|
|||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'balancingMode': item.get(u'balancingMode'),
|
||||
u'capacityScaler': item.get(u'capacityScaler'),
|
||||
u'description': item.get(u'description'),
|
||||
u'group': item.get(u'group'),
|
||||
u'maxConnections': item.get(u'maxConnections'),
|
||||
u'maxConnectionsPerInstance': item.get(u'maxConnectionsPerInstance'),
|
||||
u'maxRate': item.get(u'maxRate'),
|
||||
u'maxRatePerInstance': item.get(u'maxRatePerInstance'),
|
||||
u'maxUtilization': item.get(u'maxUtilization')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'balancingMode': item.get(u'balancingMode'),
|
||||
u'capacityScaler': item.get(u'capacityScaler'),
|
||||
u'description': item.get(u'description'),
|
||||
u'group': item.get(u'group'),
|
||||
u'maxConnections': item.get(u'maxConnections'),
|
||||
u'maxConnectionsPerInstance': item.get(u'maxConnectionsPerInstance'),
|
||||
u'maxRate': item.get(u'maxRate'),
|
||||
u'maxRatePerInstance': item.get(u'maxRatePerInstance'),
|
||||
u'maxUtilization': item.get(u'maxUtilization'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class BackendServiceCdnpolicy(object):
|
||||
|
@ -920,14 +935,10 @@ class BackendServiceCdnpolicy(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get('cache_key_policy', {}), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict({u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get('cache_key_policy', {}), self.module).to_request()})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get(u'cacheKeyPolicy', {}), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict({u'cacheKeyPolicy': BackendServiceCachekeypolicy(self.request.get(u'cacheKeyPolicy', {}), self.module).from_response()})
|
||||
|
||||
|
||||
class BackendServiceCachekeypolicy(object):
|
||||
|
@ -990,6 +1001,7 @@ class BackendServiceIap(object):
|
|||
u'enabled': self.request.get('enabled'),
|
||||
u'oauth2ClientId': self.request.get('oauth2_client_id'),
|
||||
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'oauth2ClientId': self.request.get(u'oauth2ClientId'),
|
||||
u'oauth2ClientSecret': self.request.get(u'oauth2ClientSecret'),
|
||||
u'oauth2ClientSecretSha256': self.request.get(u'oauth2ClientSecretSha256'),
|
||||
}
|
||||
)
|
||||
|
||||
|
|
|
@ -340,11 +340,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -354,7 +350,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -409,19 +409,10 @@ def main():
|
|||
type=dict(type='str'),
|
||||
source_image=dict(type='str'),
|
||||
zone=dict(required=True, type='str'),
|
||||
source_image_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
disk_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
source_snapshot=dict(),
|
||||
source_snapshot_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
))
|
||||
source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -462,8 +453,7 @@ def create(module, link, kind):
|
|||
|
||||
|
||||
def update(module, link, kind, fetch):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -477,27 +467,16 @@ def update_fields(module, request, response):
|
|||
def label_fingerprint_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/zones/{zone}/disks/{name}/setLabels"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'labelFingerprint': response.get('labelFingerprint'),
|
||||
u'labels': module.params.get('labels')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/zones/{zone}/disks/{name}/resize"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'sizeGb': module.params.get('size_gb')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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'users': response.get(u'users'),
|
||||
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 = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
@ -669,10 +648,10 @@ class DiskDiskencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')})
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
|
||||
|
||||
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):
|
||||
|
@ -684,10 +663,10 @@ class DiskSourcesnapshotencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'kmsKeyName': self.request.get('kms_key_name')})
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
|
||||
|
||||
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__':
|
||||
|
|
|
@ -276,7 +276,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -426,14 +426,8 @@ def main():
|
|||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
allowed=dict(type='list', elements='dict', options=dict(
|
||||
ip_protocol=dict(required=True, type='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')
|
||||
)),
|
||||
allowed=dict(type='list', elements='dict', options=dict(ip_protocol=dict(required=True, type='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'),
|
||||
destination_ranges=dict(type='list', elements='str'),
|
||||
direction=dict(type='str', choices=['INGRESS', 'EGRESS']),
|
||||
|
@ -445,15 +439,17 @@ def main():
|
|||
source_service_accounts=dict(type='list', elements='str'),
|
||||
source_tags=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'],
|
||||
['destination_ranges', 'source_ranges', 'source_tags'],
|
||||
['destination_ranges', 'source_ranges'],
|
||||
['source_service_accounts', 'source_tags', 'target_tags'],
|
||||
['destination_ranges', 'source_service_accounts', 'source_tags', 'target_service_accounts'],
|
||||
['source_tags', 'target_service_accounts', 'target_tags'],
|
||||
['source_service_accounts', 'target_service_accounts', 'target_tags']]
|
||||
mutually_exclusive=[
|
||||
['allowed', 'denied'],
|
||||
['destination_ranges', 'source_ranges', 'source_tags'],
|
||||
['destination_ranges', 'source_ranges'],
|
||||
['source_service_accounts', 'source_tags', 'target_tags'],
|
||||
['destination_ranges', 'source_service_accounts', 'source_tags', 'target_service_accounts'],
|
||||
['source_tags', 'target_service_accounts', 'target_tags'],
|
||||
['source_service_accounts', 'target_service_accounts', 'target_tags'],
|
||||
],
|
||||
)
|
||||
|
||||
if not module.params['scopes']:
|
||||
|
@ -518,7 +514,7 @@ def resource_to_request(module):
|
|||
u'sourceServiceAccounts': module.params.get('source_service_accounts'),
|
||||
u'sourceTags': module.params.get('source_tags'),
|
||||
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)
|
||||
return_vals = {}
|
||||
|
@ -600,7 +596,7 @@ def response_to_hash(module, response):
|
|||
u'sourceServiceAccounts': response.get(u'sourceServiceAccounts'),
|
||||
u'sourceTags': response.get(u'sourceTags'),
|
||||
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):
|
||||
if 'network' in request and request['network'] is not None:
|
||||
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'],
|
||||
network=request['network'])
|
||||
request['network'] = 'https://www.googleapis.com/compute/v1/projects/{project}/{network}'.format(
|
||||
project=module.params['project'], network=request['network']
|
||||
)
|
||||
|
||||
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')})
|
||||
|
||||
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):
|
||||
|
@ -699,40 +696,7 @@ class FirewallDeniedArray(object):
|
|||
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'IPProtocol'), 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')
|
||||
})
|
||||
return remove_nones_from_dict({u'IPProtocol': item.get(u'ip_protocol'), u'ports': item.get(u'ports')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -247,11 +247,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -261,7 +257,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -421,7 +421,7 @@ def main():
|
|||
subnetwork=dict(),
|
||||
target=dict(),
|
||||
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):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -475,13 +474,8 @@ def update_fields(module, request, response):
|
|||
def target_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/forwardingRules/{name}/setTarget"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'target': replace_resource_dict(module.params.get(u'target', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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'subnetwork': replace_resource_dict(module.params.get(u'subnetwork', {}), '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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -585,7 +579,7 @@ def response_to_hash(module, response):
|
|||
u'ports': response.get(u'ports'),
|
||||
u'subnetwork': response.get(u'subnetwork'),
|
||||
u'target': response.get(u'target'),
|
||||
u'networkTier': module.params.get('network_tier')
|
||||
u'networkTier': module.params.get('network_tier'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -238,7 +238,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ def main():
|
|||
description=dict(type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
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'name': module.params.get('name'),
|
||||
u'ipVersion': module.params.get('ip_version'),
|
||||
u'addressType': module.params.get('address_type')
|
||||
u'addressType': module.params.get('address_type'),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -307,7 +307,7 @@ def response_to_hash(module, response):
|
|||
u'name': response.get(u'name'),
|
||||
u'ipVersion': response.get(u'ipVersion'),
|
||||
u'region': response.get(u'region'),
|
||||
u'addressType': response.get(u'addressType')
|
||||
u'addressType': response.get(u'addressType'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -128,11 +128,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -142,7 +138,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -430,7 +430,7 @@ def main():
|
|||
port_range=dict(type='str'),
|
||||
ports=dict(type='list', elements='str'),
|
||||
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'network': replace_resource_dict(module.params.get(u'network', {}), 'selfLink'),
|
||||
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'),
|
||||
}
|
||||
return_vals = {}
|
||||
|
@ -580,6 +582,9 @@ def response_to_hash(module, response):
|
|||
u'name': response.get(u'name'),
|
||||
u'network': response.get(u'network'),
|
||||
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'),
|
||||
}
|
||||
|
||||
|
|
|
@ -212,11 +212,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -226,7 +222,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -536,38 +536,50 @@ def main():
|
|||
timeout_sec=dict(default=5, type='int', aliases=['timeout_seconds']),
|
||||
unhealthy_threshold=dict(default=2, type='int'),
|
||||
type=dict(type='str', choices=['TCP', 'SSL', 'HTTP', 'HTTPS']),
|
||||
http_health_check=dict(type='dict', options=dict(
|
||||
host=dict(type='str'),
|
||||
request_path=dict(default='/', 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'])
|
||||
)),
|
||||
https_health_check=dict(type='dict', options=dict(
|
||||
host=dict(type='str'),
|
||||
request_path=dict(default='/', 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'])
|
||||
)),
|
||||
tcp_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'])
|
||||
)),
|
||||
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'])
|
||||
))
|
||||
http_health_check=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
host=dict(type='str'),
|
||||
request_path=dict(default='/', 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']),
|
||||
),
|
||||
),
|
||||
https_health_check=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
host=dict(type='str'),
|
||||
request_path=dict(default='/', 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']),
|
||||
),
|
||||
),
|
||||
tcp_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']),
|
||||
),
|
||||
),
|
||||
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']:
|
||||
|
@ -629,7 +641,7 @@ def resource_to_request(module):
|
|||
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'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 = {}
|
||||
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'httpsHealthCheck': HealthCheckHttpshealthcheck(response.get(u'httpsHealthCheck', {}), 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 = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'host': self.request.get('host'),
|
||||
u'requestPath': self.request.get('request_path'),
|
||||
u'response': self.request.get('response'),
|
||||
u'port': self.request.get('port'),
|
||||
u'portName': self.request.get('port_name'),
|
||||
u'proxyHeader': self.request.get('proxy_header')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'host': self.request.get('host'),
|
||||
u'requestPath': self.request.get('request_path'),
|
||||
u'response': self.request.get('response'),
|
||||
u'port': self.request.get('port'),
|
||||
u'portName': self.request.get('port_name'),
|
||||
u'proxyHeader': self.request.get('proxy_header'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'host': self.request.get(u'host'),
|
||||
u'requestPath': self.request.get(u'requestPath'),
|
||||
u'response': self.request.get(u'response'),
|
||||
u'port': self.request.get(u'port'),
|
||||
u'portName': self.request.get(u'portName'),
|
||||
u'proxyHeader': self.request.get(u'proxyHeader')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'host': self.request.get(u'host'),
|
||||
u'requestPath': self.request.get(u'requestPath'),
|
||||
u'response': self.request.get(u'response'),
|
||||
u'port': self.request.get(u'port'),
|
||||
u'portName': self.request.get(u'portName'),
|
||||
u'proxyHeader': self.request.get(u'proxyHeader'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class HealthCheckHttpshealthcheck(object):
|
||||
|
@ -784,24 +800,28 @@ class HealthCheckHttpshealthcheck(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'host': self.request.get('host'),
|
||||
u'requestPath': self.request.get('request_path'),
|
||||
u'response': self.request.get('response'),
|
||||
u'port': self.request.get('port'),
|
||||
u'portName': self.request.get('port_name'),
|
||||
u'proxyHeader': self.request.get('proxy_header')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'host': self.request.get('host'),
|
||||
u'requestPath': self.request.get('request_path'),
|
||||
u'response': self.request.get('response'),
|
||||
u'port': self.request.get('port'),
|
||||
u'portName': self.request.get('port_name'),
|
||||
u'proxyHeader': self.request.get('proxy_header'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'host': self.request.get(u'host'),
|
||||
u'requestPath': self.request.get(u'requestPath'),
|
||||
u'response': self.request.get(u'response'),
|
||||
u'port': self.request.get(u'port'),
|
||||
u'portName': self.request.get(u'portName'),
|
||||
u'proxyHeader': self.request.get(u'proxyHeader')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'host': self.request.get(u'host'),
|
||||
u'requestPath': self.request.get(u'requestPath'),
|
||||
u'response': self.request.get(u'response'),
|
||||
u'port': self.request.get(u'port'),
|
||||
u'portName': self.request.get(u'portName'),
|
||||
u'proxyHeader': self.request.get(u'proxyHeader'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class HealthCheckTcphealthcheck(object):
|
||||
|
|
|
@ -302,11 +302,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -316,7 +312,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -148,11 +148,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -162,7 +158,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -148,11 +148,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -162,7 +158,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -452,26 +452,17 @@ def main():
|
|||
description=dict(type='str'),
|
||||
disk_size_gb=dict(type='int'),
|
||||
family=dict(type='str'),
|
||||
guest_os_features=dict(type='list', elements='dict', options=dict(
|
||||
type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE'])
|
||||
)),
|
||||
image_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
guest_os_features=dict(type='list', elements='dict', options=dict(type=dict(type='str', choices=['VIRTIO_SCSI_MULTIQUEUE']))),
|
||||
image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
labels=dict(type='dict'),
|
||||
licenses=dict(type='list', elements='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
raw_disk=dict(type='dict', options=dict(
|
||||
container_type=dict(type='str', choices=['TAR']),
|
||||
sha1_checksum=dict(type='str'),
|
||||
source=dict(required=True, type='str')
|
||||
)),
|
||||
raw_disk=dict(
|
||||
type='dict',
|
||||
options=dict(container_type=dict(type='str', choices=['TAR']), sha1_checksum=dict(type='str'), source=dict(required=True, type='str')),
|
||||
),
|
||||
source_disk=dict(),
|
||||
source_disk_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
source_disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
source_disk_id=dict(type='str'),
|
||||
source_type=dict(type='str', choices=['RAW']),
|
||||
)
|
||||
|
@ -514,8 +505,7 @@ def create(module, link, kind):
|
|||
|
||||
|
||||
def update(module, link, kind, fetch):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -527,14 +517,8 @@ def update_fields(module, request, response):
|
|||
def labels_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/images/{name}/setLabels"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'labels': module.params.get('labels'),
|
||||
u'labelFingerprint': response.get('labelFingerprint')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/images/{name}/setLabels"]).format(**module.params),
|
||||
{u'labels': module.params.get('labels'), u'labelFingerprint': response.get('labelFingerprint')},
|
||||
)
|
||||
|
||||
|
||||
|
@ -756,10 +740,10 @@ class ImageImageencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
@ -790,10 +774,10 @@ class ImageSourcediskencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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__':
|
||||
|
|
|
@ -290,11 +290,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -304,7 +300,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -890,70 +890,60 @@ def main():
|
|||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
can_ip_forward=dict(type='bool'),
|
||||
disks=dict(type='list', elements='dict', options=dict(
|
||||
auto_delete=dict(type='bool'),
|
||||
boot=dict(type='bool'),
|
||||
device_name=dict(type='str'),
|
||||
disk_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
rsa_encrypted_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
index=dict(type='int'),
|
||||
initialize_params=dict(type='dict', options=dict(
|
||||
disk_name=dict(type='str'),
|
||||
disk_size_gb=dict(type='int'),
|
||||
disk_type=dict(type='str'),
|
||||
source_image=dict(type='str'),
|
||||
source_image_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
))
|
||||
)),
|
||||
interface=dict(type='str', choices=['SCSI', 'NVME']),
|
||||
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
|
||||
source=dict(),
|
||||
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT'])
|
||||
)),
|
||||
guest_accelerators=dict(type='list', elements='dict', options=dict(
|
||||
accelerator_count=dict(type='int'),
|
||||
accelerator_type=dict(type='str')
|
||||
)),
|
||||
disks=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
auto_delete=dict(type='bool'),
|
||||
boot=dict(type='bool'),
|
||||
device_name=dict(type='str'),
|
||||
disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
index=dict(type='int'),
|
||||
initialize_params=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
disk_name=dict(type='str'),
|
||||
disk_size_gb=dict(type='int'),
|
||||
disk_type=dict(type='str'),
|
||||
source_image=dict(type='str'),
|
||||
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
),
|
||||
),
|
||||
interface=dict(type='str', choices=['SCSI', 'NVME']),
|
||||
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
|
||||
source=dict(),
|
||||
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']),
|
||||
),
|
||||
),
|
||||
guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))),
|
||||
label_fingerprint=dict(type='str'),
|
||||
metadata=dict(type='dict'),
|
||||
machine_type=dict(type='str'),
|
||||
min_cpu_platform=dict(type='str'),
|
||||
name=dict(type='str'),
|
||||
network_interfaces=dict(type='list', elements='dict', options=dict(
|
||||
access_configs=dict(type='list', elements='dict', options=dict(
|
||||
name=dict(required=True, type='str'),
|
||||
nat_ip=dict(),
|
||||
type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])
|
||||
)),
|
||||
alias_ip_ranges=dict(type='list', elements='dict', options=dict(
|
||||
ip_cidr_range=dict(type='str'),
|
||||
subnetwork_range_name=dict(type='str')
|
||||
)),
|
||||
name=dict(type='str'),
|
||||
network=dict(),
|
||||
network_ip=dict(type='str'),
|
||||
subnetwork=dict()
|
||||
)),
|
||||
scheduling=dict(type='dict', options=dict(
|
||||
automatic_restart=dict(type='bool'),
|
||||
on_host_maintenance=dict(type='str'),
|
||||
preemptible=dict(type='bool')
|
||||
)),
|
||||
service_accounts=dict(type='list', elements='dict', options=dict(
|
||||
email=dict(type='str'),
|
||||
scopes=dict(type='list', elements='str')
|
||||
)),
|
||||
network_interfaces=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
access_configs=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])),
|
||||
),
|
||||
alias_ip_ranges=dict(type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))),
|
||||
name=dict(type='str'),
|
||||
network=dict(),
|
||||
network_ip=dict(type='str'),
|
||||
subnetwork=dict(),
|
||||
),
|
||||
),
|
||||
scheduling=dict(
|
||||
type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool'))
|
||||
),
|
||||
service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))),
|
||||
status=dict(type='str', choices=['PROVISIONING', 'STAGING', 'RUNNING', 'STOPPING', 'SUSPENDING', 'SUSPENDED', 'TERMINATED']),
|
||||
tags=dict(type='dict', options=dict(
|
||||
fingerprint=dict(type='str'),
|
||||
items=dict(type='list', elements='str')
|
||||
)),
|
||||
zone=dict(required=True, type='str')
|
||||
tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))),
|
||||
zone=dict(required=True, type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -999,8 +989,7 @@ def create(module, link, kind):
|
|||
|
||||
|
||||
def update(module, link, kind, fetch):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -1012,13 +1001,8 @@ def update_fields(module, request, response):
|
|||
def machine_type_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/zones/{zone}/instances/{name}/setMachineType"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'machineType': machine_type_selflink(module.params.get('machine_type'), module.params)
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/zones/{zone}/instances/{name}/setMachineType"]).format(**module.params),
|
||||
{u'machineType': machine_type_selflink(module.params.get('machine_type'), module.params)},
|
||||
)
|
||||
|
||||
|
||||
|
@ -1042,7 +1026,7 @@ def resource_to_request(module):
|
|||
u'scheduling': InstanceScheduling(module.params.get('scheduling', {}), module).to_request(),
|
||||
u'serviceAccounts': InstanceServiceaccountsArray(module.params.get('service_accounts', []), module).to_request(),
|
||||
u'status': module.params.get('status'),
|
||||
u'tags': InstanceTags(module.params.get('tags', {}), module).to_request()
|
||||
u'tags': InstanceTags(module.params.get('tags', {}), module).to_request(),
|
||||
}
|
||||
request = encode_request(request, module)
|
||||
return_vals = {}
|
||||
|
@ -1284,32 +1268,36 @@ class InstanceDisksArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'autoDelete': item.get('auto_delete'),
|
||||
u'boot': item.get('boot'),
|
||||
u'deviceName': item.get('device_name'),
|
||||
u'diskEncryptionKey': InstanceDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(),
|
||||
u'index': item.get('index'),
|
||||
u'initializeParams': InstanceInitializeparams(item.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get('interface'),
|
||||
u'mode': item.get('mode'),
|
||||
u'source': replace_resource_dict(item.get(u'source', {}), 'selfLink'),
|
||||
u'type': item.get('type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autoDelete': item.get('auto_delete'),
|
||||
u'boot': item.get('boot'),
|
||||
u'deviceName': item.get('device_name'),
|
||||
u'diskEncryptionKey': InstanceDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(),
|
||||
u'index': item.get('index'),
|
||||
u'initializeParams': InstanceInitializeparams(item.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get('interface'),
|
||||
u'mode': item.get('mode'),
|
||||
u'source': replace_resource_dict(item.get(u'source', {}), 'selfLink'),
|
||||
u'type': item.get('type'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'autoDelete': item.get(u'autoDelete'),
|
||||
u'boot': item.get(u'boot'),
|
||||
u'deviceName': item.get(u'deviceName'),
|
||||
u'diskEncryptionKey': InstanceDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(),
|
||||
u'index': item.get(u'index'),
|
||||
u'initializeParams': InstanceInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get(u'interface'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'source': item.get(u'source'),
|
||||
u'type': item.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autoDelete': item.get(u'autoDelete'),
|
||||
u'boot': item.get(u'boot'),
|
||||
u'deviceName': item.get(u'deviceName'),
|
||||
u'diskEncryptionKey': InstanceDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(),
|
||||
u'index': item.get(u'index'),
|
||||
u'initializeParams': InstanceInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get(u'interface'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'source': item.get(u'source'),
|
||||
u'type': item.get(u'type'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceDiskencryptionkey(object):
|
||||
|
@ -1321,10 +1309,14 @@ class InstanceDiskencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key')})
|
||||
return remove_nones_from_dict(
|
||||
{u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key'), u'sha256': self.request.get('sha256')}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey')})
|
||||
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):
|
||||
|
@ -1336,22 +1328,26 @@ class InstanceInitializeparams(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'diskName': self.request.get('disk_name'),
|
||||
u'diskSizeGb': self.request.get('disk_size_gb'),
|
||||
u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params),
|
||||
u'sourceImage': self.request.get('source_image'),
|
||||
u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'diskName': self.request.get('disk_name'),
|
||||
u'diskSizeGb': self.request.get('disk_size_gb'),
|
||||
u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params),
|
||||
u'sourceImage': self.request.get('source_image'),
|
||||
u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'diskName': self.request.get(u'diskName'),
|
||||
u'diskSizeGb': self.request.get(u'diskSizeGb'),
|
||||
u'diskType': self.request.get(u'diskType'),
|
||||
u'sourceImage': self.request.get(u'sourceImage'),
|
||||
u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'diskName': self.request.get(u'diskName'),
|
||||
u'diskSizeGb': self.request.get(u'diskSizeGb'),
|
||||
u'diskType': self.request.get(u'diskType'),
|
||||
u'sourceImage': self.request.get(u'sourceImage'),
|
||||
u'sourceImageEncryptionKey': InstanceSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceSourceimageencryptionkey(object):
|
||||
|
@ -1363,10 +1359,10 @@ class InstanceSourceimageencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
@ -1417,24 +1413,28 @@ class InstanceNetworkinterfacesArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'accessConfigs': InstanceAccessconfigsArray(item.get('access_configs', []), self.module).to_request(),
|
||||
u'aliasIpRanges': InstanceAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(),
|
||||
u'name': item.get('name'),
|
||||
u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'),
|
||||
u'networkIP': item.get('network_ip'),
|
||||
u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'accessConfigs': InstanceAccessconfigsArray(item.get('access_configs', []), self.module).to_request(),
|
||||
u'aliasIpRanges': InstanceAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(),
|
||||
u'name': item.get('name'),
|
||||
u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'),
|
||||
u'networkIP': item.get('network_ip'),
|
||||
u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'accessConfigs': InstanceAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(),
|
||||
u'aliasIpRanges': InstanceAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(),
|
||||
u'name': item.get(u'name'),
|
||||
u'network': item.get(u'network'),
|
||||
u'networkIP': item.get(u'networkIP'),
|
||||
u'subnetwork': item.get(u'subnetwork')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'accessConfigs': InstanceAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(),
|
||||
u'aliasIpRanges': InstanceAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(),
|
||||
u'name': item.get(u'name'),
|
||||
u'network': item.get(u'network'),
|
||||
u'networkIP': item.get(u'networkIP'),
|
||||
u'subnetwork': item.get(u'subnetwork'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceAccessconfigsArray(object):
|
||||
|
|
|
@ -493,7 +493,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -237,15 +237,12 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
description=dict(type='str'),
|
||||
name=dict(type='str'),
|
||||
named_ports=dict(type='list', elements='dict', options=dict(
|
||||
name=dict(type='str'),
|
||||
port=dict(type='int')
|
||||
)),
|
||||
named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))),
|
||||
network=dict(),
|
||||
region=dict(type='str'),
|
||||
subnetwork=dict(),
|
||||
zone=dict(required=True, type='str'),
|
||||
instances=dict(type='list')
|
||||
instances=dict(type='list'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -453,8 +450,7 @@ class InstanceLogic(object):
|
|||
|
||||
def list_instances(self):
|
||||
auth = GcpSession(self.module, 'compute')
|
||||
response = return_if_object(self.module, auth.post(self._list_instances_url(), {'instanceState': 'ALL'}),
|
||||
'compute#instanceGroupsListInstances')
|
||||
response = return_if_object(self.module, auth.post(self._list_instances_url(), {'instanceState': 'ALL'}), 'compute#instanceGroupsListInstances')
|
||||
|
||||
# Transform instance list into a list of selfLinks for diffing with module parameters
|
||||
instances = []
|
||||
|
@ -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)
|
||||
|
||||
def _build_request(self, instances):
|
||||
request = {
|
||||
'instances': []
|
||||
}
|
||||
request = {'instances': []}
|
||||
for instance in instances:
|
||||
request['instances'].append({'instance': instance})
|
||||
return request
|
||||
|
|
|
@ -156,12 +156,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
zone=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), zone=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -171,7 +166,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -341,10 +341,7 @@ def main():
|
|||
description=dict(type='str'),
|
||||
instance_template=dict(required=True),
|
||||
name=dict(required=True, type='str'),
|
||||
named_ports=dict(type='list', elements='dict', options=dict(
|
||||
name=dict(type='str'),
|
||||
port=dict(type='int')
|
||||
)),
|
||||
named_ports=dict(type='list', elements='dict', options=dict(name=dict(type='str'), port=dict(type='int'))),
|
||||
target_pools=dict(type='list'),
|
||||
target_size=dict(type='int'),
|
||||
zone=dict(required=True, type='str'),
|
||||
|
@ -540,19 +537,32 @@ class InstanceGroupManagerCurrentactions(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
return remove_nones_from_dict({
|
||||
u'abandoning': self.request.get(u'abandoning'),
|
||||
u'creating': self.request.get(u'creating'),
|
||||
u'creatingWithoutRetries': self.request.get(u'creatingWithoutRetries'),
|
||||
u'deleting': self.request.get(u'deleting'),
|
||||
u'none': self.request.get(u'none'),
|
||||
u'recreating': self.request.get(u'recreating'),
|
||||
u'refreshing': self.request.get(u'refreshing'),
|
||||
u'restarting': self.request.get(u'restarting')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'abandoning': self.request.get(u'abandoning'),
|
||||
u'creating': self.request.get(u'creating'),
|
||||
u'creatingWithoutRetries': self.request.get(u'creatingWithoutRetries'),
|
||||
u'deleting': self.request.get(u'deleting'),
|
||||
u'none': self.request.get(u'none'),
|
||||
u'recreating': self.request.get(u'recreating'),
|
||||
u'refreshing': self.request.get(u'refreshing'),
|
||||
u'restarting': self.request.get(u'restarting'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceGroupManagerNamedportsArray(object):
|
||||
|
|
|
@ -241,7 +241,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -866,70 +866,69 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
description=dict(type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
properties=dict(type='dict', options=dict(
|
||||
can_ip_forward=dict(type='bool'),
|
||||
description=dict(type='str'),
|
||||
disks=dict(type='list', elements='dict', options=dict(
|
||||
auto_delete=dict(type='bool'),
|
||||
boot=dict(type='bool'),
|
||||
device_name=dict(type='str'),
|
||||
disk_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
rsa_encrypted_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
index=dict(type='int'),
|
||||
initialize_params=dict(type='dict', options=dict(
|
||||
disk_name=dict(type='str'),
|
||||
disk_size_gb=dict(type='int'),
|
||||
disk_type=dict(type='str'),
|
||||
source_image=dict(type='str'),
|
||||
source_image_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
))
|
||||
)),
|
||||
interface=dict(type='str', choices=['SCSI', 'NVME']),
|
||||
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
|
||||
source=dict(),
|
||||
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT'])
|
||||
)),
|
||||
machine_type=dict(required=True, type='str'),
|
||||
min_cpu_platform=dict(type='str'),
|
||||
metadata=dict(type='dict'),
|
||||
guest_accelerators=dict(type='list', elements='dict', options=dict(
|
||||
accelerator_count=dict(type='int'),
|
||||
accelerator_type=dict(type='str')
|
||||
)),
|
||||
network_interfaces=dict(type='list', elements='dict', options=dict(
|
||||
access_configs=dict(type='list', elements='dict', options=dict(
|
||||
name=dict(required=True, type='str'),
|
||||
nat_ip=dict(),
|
||||
type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])
|
||||
)),
|
||||
alias_ip_ranges=dict(type='list', elements='dict', options=dict(
|
||||
ip_cidr_range=dict(type='str'),
|
||||
subnetwork_range_name=dict(type='str')
|
||||
)),
|
||||
name=dict(type='str'),
|
||||
network=dict(),
|
||||
network_ip=dict(type='str'),
|
||||
subnetwork=dict()
|
||||
)),
|
||||
scheduling=dict(type='dict', options=dict(
|
||||
automatic_restart=dict(type='bool'),
|
||||
on_host_maintenance=dict(type='str'),
|
||||
preemptible=dict(type='bool')
|
||||
)),
|
||||
service_accounts=dict(type='list', elements='dict', options=dict(
|
||||
email=dict(type='str'),
|
||||
scopes=dict(type='list', elements='str')
|
||||
)),
|
||||
tags=dict(type='dict', options=dict(
|
||||
fingerprint=dict(type='str'),
|
||||
items=dict(type='list', elements='str')
|
||||
))
|
||||
))
|
||||
properties=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
can_ip_forward=dict(type='bool'),
|
||||
description=dict(type='str'),
|
||||
disks=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
auto_delete=dict(type='bool'),
|
||||
boot=dict(type='bool'),
|
||||
device_name=dict(type='str'),
|
||||
disk_encryption_key=dict(
|
||||
type='dict', options=dict(raw_key=dict(type='str'), rsa_encrypted_key=dict(type='str'), sha256=dict(type='str'))
|
||||
),
|
||||
index=dict(type='int'),
|
||||
initialize_params=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
disk_name=dict(type='str'),
|
||||
disk_size_gb=dict(type='int'),
|
||||
disk_type=dict(type='str'),
|
||||
source_image=dict(type='str'),
|
||||
source_image_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
),
|
||||
),
|
||||
interface=dict(type='str', choices=['SCSI', 'NVME']),
|
||||
mode=dict(type='str', choices=['READ_WRITE', 'READ_ONLY']),
|
||||
source=dict(),
|
||||
type=dict(type='str', choices=['SCRATCH', 'PERSISTENT']),
|
||||
),
|
||||
),
|
||||
machine_type=dict(required=True, type='str'),
|
||||
min_cpu_platform=dict(type='str'),
|
||||
metadata=dict(type='dict'),
|
||||
guest_accelerators=dict(type='list', elements='dict', options=dict(accelerator_count=dict(type='int'), accelerator_type=dict(type='str'))),
|
||||
network_interfaces=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
access_configs=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
name=dict(required=True, type='str'), nat_ip=dict(), type=dict(required=True, type='str', choices=['ONE_TO_ONE_NAT'])
|
||||
),
|
||||
),
|
||||
alias_ip_ranges=dict(
|
||||
type='list', elements='dict', options=dict(ip_cidr_range=dict(type='str'), subnetwork_range_name=dict(type='str'))
|
||||
),
|
||||
name=dict(type='str'),
|
||||
network=dict(),
|
||||
network_ip=dict(type='str'),
|
||||
subnetwork=dict(),
|
||||
),
|
||||
),
|
||||
scheduling=dict(
|
||||
type='dict', options=dict(automatic_restart=dict(type='bool'), on_host_maintenance=dict(type='str'), preemptible=dict(type='bool'))
|
||||
),
|
||||
service_accounts=dict(type='list', elements='dict', options=dict(email=dict(type='str'), scopes=dict(type='list', elements='str'))),
|
||||
tags=dict(type='dict', options=dict(fingerprint=dict(type='str'), items=dict(type='list', elements='str'))),
|
||||
),
|
||||
),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -1160,34 +1159,38 @@ class InstanceTemplateProperties(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'canIpForward': self.request.get('can_ip_forward'),
|
||||
u'description': self.request.get('description'),
|
||||
u'disks': InstanceTemplateDisksArray(self.request.get('disks', []), self.module).to_request(),
|
||||
u'machineType': self.request.get('machine_type'),
|
||||
u'minCpuPlatform': self.request.get('min_cpu_platform'),
|
||||
u'metadata': self.request.get('metadata'),
|
||||
u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get('guest_accelerators', []), self.module).to_request(),
|
||||
u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get('network_interfaces', []), self.module).to_request(),
|
||||
u'scheduling': InstanceTemplateScheduling(self.request.get('scheduling', {}), self.module).to_request(),
|
||||
u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get('service_accounts', []), self.module).to_request(),
|
||||
u'tags': InstanceTemplateTags(self.request.get('tags', {}), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'canIpForward': self.request.get('can_ip_forward'),
|
||||
u'description': self.request.get('description'),
|
||||
u'disks': InstanceTemplateDisksArray(self.request.get('disks', []), self.module).to_request(),
|
||||
u'machineType': self.request.get('machine_type'),
|
||||
u'minCpuPlatform': self.request.get('min_cpu_platform'),
|
||||
u'metadata': self.request.get('metadata'),
|
||||
u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get('guest_accelerators', []), self.module).to_request(),
|
||||
u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get('network_interfaces', []), self.module).to_request(),
|
||||
u'scheduling': InstanceTemplateScheduling(self.request.get('scheduling', {}), self.module).to_request(),
|
||||
u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get('service_accounts', []), self.module).to_request(),
|
||||
u'tags': InstanceTemplateTags(self.request.get('tags', {}), self.module).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'canIpForward': self.request.get(u'canIpForward'),
|
||||
u'description': self.request.get(u'description'),
|
||||
u'disks': InstanceTemplateDisksArray(self.request.get(u'disks', []), self.module).from_response(),
|
||||
u'machineType': self.request.get(u'machineType'),
|
||||
u'minCpuPlatform': self.request.get(u'minCpuPlatform'),
|
||||
u'metadata': self.request.get(u'metadata'),
|
||||
u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get(u'guestAccelerators', []), self.module).from_response(),
|
||||
u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get(u'networkInterfaces', []), self.module).from_response(),
|
||||
u'scheduling': InstanceTemplateScheduling(self.request.get(u'scheduling', {}), self.module).from_response(),
|
||||
u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get(u'serviceAccounts', []), self.module).from_response(),
|
||||
u'tags': InstanceTemplateTags(self.request.get(u'tags', {}), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'canIpForward': self.request.get(u'canIpForward'),
|
||||
u'description': self.request.get(u'description'),
|
||||
u'disks': InstanceTemplateDisksArray(self.request.get(u'disks', []), self.module).from_response(),
|
||||
u'machineType': self.request.get(u'machineType'),
|
||||
u'minCpuPlatform': self.request.get(u'minCpuPlatform'),
|
||||
u'metadata': self.request.get(u'metadata'),
|
||||
u'guestAccelerators': InstanceTemplateGuestacceleratorsArray(self.request.get(u'guestAccelerators', []), self.module).from_response(),
|
||||
u'networkInterfaces': InstanceTemplateNetworkinterfacesArray(self.request.get(u'networkInterfaces', []), self.module).from_response(),
|
||||
u'scheduling': InstanceTemplateScheduling(self.request.get(u'scheduling', {}), self.module).from_response(),
|
||||
u'serviceAccounts': InstanceTemplateServiceaccountsArray(self.request.get(u'serviceAccounts', []), self.module).from_response(),
|
||||
u'tags': InstanceTemplateTags(self.request.get(u'tags', {}), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceTemplateDisksArray(object):
|
||||
|
@ -1211,32 +1214,36 @@ class InstanceTemplateDisksArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'autoDelete': item.get('auto_delete'),
|
||||
u'boot': item.get('boot'),
|
||||
u'deviceName': item.get('device_name'),
|
||||
u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(),
|
||||
u'index': item.get('index'),
|
||||
u'initializeParams': InstanceTemplateInitializeparams(item.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get('interface'),
|
||||
u'mode': item.get('mode'),
|
||||
u'source': replace_resource_dict(item.get(u'source', {}), 'name'),
|
||||
u'type': item.get('type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autoDelete': item.get('auto_delete'),
|
||||
u'boot': item.get('boot'),
|
||||
u'deviceName': item.get('device_name'),
|
||||
u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get('disk_encryption_key', {}), self.module).to_request(),
|
||||
u'index': item.get('index'),
|
||||
u'initializeParams': InstanceTemplateInitializeparams(item.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get('interface'),
|
||||
u'mode': item.get('mode'),
|
||||
u'source': replace_resource_dict(item.get(u'source', {}), 'name'),
|
||||
u'type': item.get('type'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'autoDelete': item.get(u'autoDelete'),
|
||||
u'boot': item.get(u'boot'),
|
||||
u'deviceName': item.get(u'deviceName'),
|
||||
u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(),
|
||||
u'index': item.get(u'index'),
|
||||
u'initializeParams': InstanceTemplateInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get(u'interface'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'source': item.get(u'source'),
|
||||
u'type': item.get(u'type')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autoDelete': item.get(u'autoDelete'),
|
||||
u'boot': item.get(u'boot'),
|
||||
u'deviceName': item.get(u'deviceName'),
|
||||
u'diskEncryptionKey': InstanceTemplateDiskencryptionkey(item.get(u'diskEncryptionKey', {}), self.module).from_response(),
|
||||
u'index': item.get(u'index'),
|
||||
u'initializeParams': InstanceTemplateInitializeparams(self.module.params.get('initialize_params', {}), self.module).to_request(),
|
||||
u'interface': item.get(u'interface'),
|
||||
u'mode': item.get(u'mode'),
|
||||
u'source': item.get(u'source'),
|
||||
u'type': item.get(u'type'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceTemplateDiskencryptionkey(object):
|
||||
|
@ -1248,10 +1255,14 @@ class InstanceTemplateDiskencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key')})
|
||||
return remove_nones_from_dict(
|
||||
{u'rawKey': self.request.get('raw_key'), u'rsaEncryptedKey': self.request.get('rsa_encrypted_key'), u'sha256': self.request.get('sha256')}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'rsaEncryptedKey': self.request.get(u'rsaEncryptedKey')})
|
||||
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):
|
||||
|
@ -1263,23 +1274,30 @@ class InstanceTemplateInitializeparams(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'diskName': self.request.get('disk_name'),
|
||||
u'diskSizeGb': self.request.get('disk_size_gb'),
|
||||
u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params),
|
||||
u'sourceImage': self.request.get('source_image'),
|
||||
u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey(self.request.get('source_image_encryption_key', {}), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'diskName': self.request.get('disk_name'),
|
||||
u'diskSizeGb': self.request.get('disk_size_gb'),
|
||||
u'diskType': disk_type_selflink(self.request.get('disk_type'), self.module.params),
|
||||
u'sourceImage': self.request.get('source_image'),
|
||||
u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey(
|
||||
self.request.get('source_image_encryption_key', {}), self.module
|
||||
).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'diskName': self.request.get(u'diskName'),
|
||||
u'diskSizeGb': self.request.get(u'diskSizeGb'),
|
||||
u'diskType': self.request.get(u'diskType'),
|
||||
u'sourceImage': self.request.get(u'sourceImage'),
|
||||
u'sourceImageEncryptionKey':
|
||||
InstanceTemplateSourceimageencryptionkey(self.request.get(u'sourceImageEncryptionKey', {}), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'diskName': self.request.get(u'diskName'),
|
||||
u'diskSizeGb': self.request.get(u'diskSizeGb'),
|
||||
u'diskType': self.request.get(u'diskType'),
|
||||
u'sourceImage': self.request.get(u'sourceImage'),
|
||||
u'sourceImageEncryptionKey': InstanceTemplateSourceimageencryptionkey(
|
||||
self.request.get(u'sourceImageEncryptionKey', {}), self.module
|
||||
).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceTemplateSourceimageencryptionkey(object):
|
||||
|
@ -1291,10 +1309,10 @@ class InstanceTemplateSourceimageencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
@ -1345,24 +1363,28 @@ class InstanceTemplateNetworkinterfacesArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get('access_configs', []), self.module).to_request(),
|
||||
u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(),
|
||||
u'name': item.get('name'),
|
||||
u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'),
|
||||
u'networkIP': item.get('network_ip'),
|
||||
u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get('access_configs', []), self.module).to_request(),
|
||||
u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get('alias_ip_ranges', []), self.module).to_request(),
|
||||
u'name': item.get('name'),
|
||||
u'network': replace_resource_dict(item.get(u'network', {}), 'selfLink'),
|
||||
u'networkIP': item.get('network_ip'),
|
||||
u'subnetwork': replace_resource_dict(item.get(u'subnetwork', {}), 'selfLink'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(),
|
||||
u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(),
|
||||
u'name': item.get(u'name'),
|
||||
u'network': item.get(u'network'),
|
||||
u'networkIP': item.get(u'networkIP'),
|
||||
u'subnetwork': item.get(u'subnetwork')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'accessConfigs': InstanceTemplateAccessconfigsArray(item.get(u'accessConfigs', []), self.module).from_response(),
|
||||
u'aliasIpRanges': InstanceTemplateAliasiprangesArray(item.get(u'aliasIpRanges', []), self.module).from_response(),
|
||||
u'name': item.get(u'name'),
|
||||
u'network': item.get(u'network'),
|
||||
u'networkIP': item.get(u'networkIP'),
|
||||
u'subnetwork': item.get(u'subnetwork'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceTemplateAccessconfigsArray(object):
|
||||
|
|
|
@ -472,11 +472,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -486,7 +482,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -201,7 +200,7 @@ def main():
|
|||
description=dict(type='str'),
|
||||
router=dict(required=True),
|
||||
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'description': module.params.get('description'),
|
||||
u'router': replace_resource_dict(module.params.get(u'router', {}), 'selfLink'),
|
||||
u'name': module.params.get('name')
|
||||
u'name': module.params.get('name'),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -331,7 +330,7 @@ def response_to_hash(module, response):
|
|||
u'router': response.get(u'router'),
|
||||
u'creationTimestamp': response.get(u'creationTimestamp'),
|
||||
u'id': response.get(u'id'),
|
||||
u'name': response.get(u'name')
|
||||
u'name': response.get(u'name'),
|
||||
}
|
||||
|
||||
|
||||
|
@ -388,14 +387,10 @@ class InterconnectAttachmentPrivateinterconnectinfo(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'tag8021q': self.request.get('tag8021q')
|
||||
})
|
||||
return remove_nones_from_dict({u'tag8021q': self.request.get('tag8021q')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'tag8021q': self.request.get(u'tag8021q')
|
||||
})
|
||||
return remove_nones_from_dict({u'tag8021q': self.request.get(u'tag8021q')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -160,12 +159,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -175,9 +169,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -215,11 +215,9 @@ def main():
|
|||
ipv4_range=dict(type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
auto_create_subnetworks=dict(type='bool'),
|
||||
routing_config=dict(type='dict', options=dict(
|
||||
routing_mode=dict(required=True, type='str', choices=['REGIONAL', 'GLOBAL'])
|
||||
))
|
||||
routing_config=dict(type='dict', options=dict(routing_mode=dict(required=True, type='str', choices=['REGIONAL', 'GLOBAL']))),
|
||||
),
|
||||
mutually_exclusive=[['auto_create_subnetworks', 'ipv4_range']]
|
||||
mutually_exclusive=[['auto_create_subnetworks', 'ipv4_range']],
|
||||
)
|
||||
|
||||
if not module.params['scopes']:
|
||||
|
@ -275,7 +273,7 @@ def resource_to_request(module):
|
|||
u'IPv4Range': module.params.get('ipv4_range'),
|
||||
u'name': module.params.get('name'),
|
||||
u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'),
|
||||
u'routingConfig': NetworkRoutingconfig(module.params.get('routing_config', {}), module).to_request()
|
||||
u'routingConfig': NetworkRoutingconfig(module.params.get('routing_config', {}), module).to_request(),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -349,7 +347,7 @@ def response_to_hash(module, response):
|
|||
u'subnetworks': response.get(u'subnetworks'),
|
||||
u'autoCreateSubnetworks': module.params.get('auto_create_subnetworks'),
|
||||
u'creationTimestamp': response.get(u'creationTimestamp'),
|
||||
u'routingConfig': NetworkRoutingconfig(response.get(u'routingConfig', {}), module).from_response()
|
||||
u'routingConfig': NetworkRoutingconfig(response.get(u'routingConfig', {}), module).from_response(),
|
||||
}
|
||||
|
||||
|
||||
|
@ -397,14 +395,10 @@ class NetworkRoutingconfig(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'routingMode': self.request.get('routing_mode')
|
||||
})
|
||||
return remove_nones_from_dict({u'routingMode': self.request.get('routing_mode')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'routingMode': self.request.get(u'routingMode')
|
||||
})
|
||||
return remove_nones_from_dict({u'routingMode': self.request.get(u'routingMode')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -147,11 +147,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -161,7 +157,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -346,15 +345,9 @@ def main():
|
|||
replica_zones=dict(required=True, type='list', elements='str'),
|
||||
type=dict(type='str'),
|
||||
region=dict(required=True, type='str'),
|
||||
disk_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
)),
|
||||
disk_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
source_snapshot=dict(),
|
||||
source_snapshot_encryption_key=dict(type='dict', options=dict(
|
||||
raw_key=dict(type='str'),
|
||||
sha256=dict(type='str')
|
||||
))
|
||||
source_snapshot_encryption_key=dict(type='dict', options=dict(raw_key=dict(type='str'), sha256=dict(type='str'))),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -395,8 +388,7 @@ def create(module, link, kind):
|
|||
|
||||
|
||||
def update(module, link, kind, fetch):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -410,27 +402,16 @@ def update_fields(module, request, response):
|
|||
def label_fingerprint_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/disks/{name}/setLabels"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'labelFingerprint': response.get('labelFingerprint'),
|
||||
u'labels': module.params.get('labels')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/disks/{name}/setLabels"]).format(**module.params),
|
||||
{u'labelFingerprint': response.get('labelFingerprint'), u'labels': module.params.get('labels')},
|
||||
)
|
||||
|
||||
|
||||
def size_gb_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/disks/{name}/resize"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'sizeGb': module.params.get('size_gb')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/disks/{name}/resize"]).format(**module.params),
|
||||
{u'sizeGb': module.params.get('size_gb')},
|
||||
)
|
||||
|
||||
|
||||
|
@ -450,7 +431,7 @@ def resource_to_request(module):
|
|||
u'name': module.params.get('name'),
|
||||
u'sizeGb': module.params.get('size_gb'),
|
||||
u'replicaZones': module.params.get('replica_zones'),
|
||||
u'type': region_disk_type_selflink(module.params.get('type'), module.params)
|
||||
u'type': region_disk_type_selflink(module.params.get('type'), module.params),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -528,7 +509,7 @@ def response_to_hash(module, response):
|
|||
u'sizeGb': response.get(u'sizeGb'),
|
||||
u'users': response.get(u'users'),
|
||||
u'replicaZones': response.get(u'replicaZones'),
|
||||
u'type': response.get(u'type')
|
||||
u'type': response.get(u'type'),
|
||||
}
|
||||
|
||||
|
||||
|
@ -594,16 +575,10 @@ class RegionDiskDiskencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'rawKey': self.request.get('raw_key'),
|
||||
u'sha256': self.request.get('sha256')
|
||||
})
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'rawKey': self.request.get(u'rawKey'),
|
||||
u'sha256': self.request.get(u'sha256')
|
||||
})
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
|
||||
|
||||
|
||||
class RegionDiskSourcesnapshotencryptionkey(object):
|
||||
|
@ -615,16 +590,10 @@ class RegionDiskSourcesnapshotencryptionkey(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'rawKey': self.request.get('raw_key'),
|
||||
u'sha256': self.request.get('sha256')
|
||||
})
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get('raw_key'), u'sha256': self.request.get('sha256')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'rawKey': self.request.get(u'rawKey'),
|
||||
u'sha256': self.request.get(u'sha256')
|
||||
})
|
||||
return remove_nones_from_dict({u'rawKey': self.request.get(u'rawKey'), u'sha256': self.request.get(u'sha256')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -228,12 +227,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -243,9 +237,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -268,7 +268,7 @@ def main():
|
|||
next_hop_gateway=dict(type='str'),
|
||||
next_hop_instance=dict(),
|
||||
next_hop_ip=dict(type='str'),
|
||||
next_hop_vpn_tunnel=dict()
|
||||
next_hop_vpn_tunnel=dict(),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -329,7 +329,7 @@ def resource_to_request(module):
|
|||
u'nextHopGateway': module.params.get('next_hop_gateway'),
|
||||
u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'),
|
||||
u'nextHopIp': module.params.get('next_hop_ip'),
|
||||
u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink')
|
||||
u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink'),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -405,7 +405,7 @@ def response_to_hash(module, response):
|
|||
u'nextHopInstance': replace_resource_dict(module.params.get(u'next_hop_instance', {}), 'selfLink'),
|
||||
u'nextHopIp': module.params.get('next_hop_ip'),
|
||||
u'nextHopVpnTunnel': replace_resource_dict(module.params.get(u'next_hop_vpn_tunnel', {}), 'selfLink'),
|
||||
u'nextHopNetwork': response.get(u'nextHopNetwork')
|
||||
u'nextHopNetwork': response.get(u'nextHopNetwork'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -151,11 +151,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -165,7 +161,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -259,16 +259,16 @@ def main():
|
|||
name=dict(required=True, type='str'),
|
||||
description=dict(type='str'),
|
||||
network=dict(required=True),
|
||||
bgp=dict(type='dict', options=dict(
|
||||
asn=dict(required=True, type='int'),
|
||||
advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']),
|
||||
advertised_groups=dict(type='list', elements='str'),
|
||||
advertised_ip_ranges=dict(type='list', elements='dict', options=dict(
|
||||
range=dict(type='str'),
|
||||
description=dict(type='str')
|
||||
))
|
||||
)),
|
||||
region=dict(required=True, type='str')
|
||||
bgp=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
asn=dict(required=True, type='int'),
|
||||
advertise_mode=dict(default='DEFAULT', type='str', choices=['DEFAULT', 'CUSTOM']),
|
||||
advertised_groups=dict(type='list', elements='str'),
|
||||
advertised_ip_ranges=dict(type='list', elements='dict', options=dict(range=dict(type='str'), description=dict(type='str'))),
|
||||
),
|
||||
),
|
||||
region=dict(required=True, type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -444,20 +444,24 @@ class RouterBgp(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'asn': self.request.get('asn'),
|
||||
u'advertiseMode': self.request.get('advertise_mode'),
|
||||
u'advertisedGroups': self.request.get('advertised_groups'),
|
||||
u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get('advertised_ip_ranges', []), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'asn': self.request.get('asn'),
|
||||
u'advertiseMode': self.request.get('advertise_mode'),
|
||||
u'advertisedGroups': self.request.get('advertised_groups'),
|
||||
u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get('advertised_ip_ranges', []), self.module).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'asn': self.request.get(u'asn'),
|
||||
u'advertiseMode': self.request.get(u'advertiseMode'),
|
||||
u'advertisedGroups': self.request.get(u'advertisedGroups'),
|
||||
u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get(u'advertisedIpRanges', []), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'asn': self.request.get(u'asn'),
|
||||
u'advertiseMode': self.request.get(u'advertiseMode'),
|
||||
u'advertisedGroups': self.request.get(u'advertisedGroups'),
|
||||
u'advertisedIpRanges': RouterAdvertisediprangesArray(self.request.get(u'advertisedIpRanges', []), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class RouterAdvertisediprangesArray(object):
|
||||
|
|
|
@ -166,12 +166,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -181,7 +176,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -175,7 +175,7 @@ def main():
|
|||
certificate=dict(required=True, type='str'),
|
||||
description=dict(type='str'),
|
||||
name=dict(type='str'),
|
||||
private_key=dict(required=True, type='str')
|
||||
private_key=dict(required=True, type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -115,11 +115,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -129,7 +125,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -403,10 +403,10 @@ class SslPolicyWarningsArray(object):
|
|||
return items
|
||||
|
||||
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):
|
||||
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__':
|
||||
|
|
|
@ -153,11 +153,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -167,7 +163,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -278,10 +278,9 @@ def main():
|
|||
name=dict(required=True, type='str'),
|
||||
network=dict(required=True),
|
||||
enable_flow_logs=dict(type='bool'),
|
||||
secondary_ip_ranges=dict(type='list', elements='dict', options=dict(
|
||||
range_name=dict(required=True, type='str'),
|
||||
ip_cidr_range=dict(required=True, type='str')
|
||||
)),
|
||||
secondary_ip_ranges=dict(
|
||||
type='list', elements='dict', options=dict(range_name=dict(required=True, type='str'), ip_cidr_range=dict(required=True, type='str'))
|
||||
),
|
||||
private_ip_google_access=dict(type='bool'),
|
||||
region=dict(required=True, type='str'),
|
||||
)
|
||||
|
@ -324,8 +323,7 @@ def create(module, link, kind):
|
|||
|
||||
|
||||
def update(module, link, kind, fetch):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -341,41 +339,30 @@ def update_fields(module, request, response):
|
|||
def ip_cidr_range_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/subnetworks/{name}/expandIpCidrRange"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'ipCidrRange': module.params.get('ip_cidr_range')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.patch(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/subnetworks/{name}"
|
||||
]).format(**module.params),
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/subnetworks/{name}"]).format(**module.params),
|
||||
{
|
||||
u'enableFlowLogs': module.params.get('enable_flow_logs'),
|
||||
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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/subnetworks/{name}/setPrivateIpGoogleAccess"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'privateIpGoogleAccess': module.params.get('private_ip_google_access')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/regions/{region}/subnetworks/{name}/setPrivateIpGoogleAccess"]).format(
|
||||
**module.params
|
||||
),
|
||||
{u'privateIpGoogleAccess': module.params.get('private_ip_google_access')},
|
||||
)
|
||||
|
||||
|
||||
|
@ -531,16 +518,10 @@ class SubnetworkSecondaryiprangesArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'rangeName': item.get('range_name'),
|
||||
u'ipCidrRange': item.get('ip_cidr_range')
|
||||
})
|
||||
return remove_nones_from_dict({u'rangeName': item.get('range_name'), u'ipCidrRange': item.get('ip_cidr_range')})
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'rangeName': item.get(u'rangeName'),
|
||||
u'ipCidrRange': item.get(u'ipCidrRange')
|
||||
})
|
||||
return remove_nones_from_dict({u'rangeName': item.get(u'rangeName'), u'ipCidrRange': item.get(u'ipCidrRange')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -175,12 +175,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -190,7 +185,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -188,7 +188,7 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
description=dict(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):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -242,13 +241,8 @@ def update_fields(module, request, response):
|
|||
def url_map_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/targetHttpProxies/{name}/setUrlMap"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/targetHttpProxies/{name}/setUrlMap"]).format(**module.params),
|
||||
{u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')},
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -109,11 +109,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -123,7 +119,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -267,7 +267,7 @@ def main():
|
|||
quic_override=dict(type='str', choices=['NONE', 'ENABLE', 'DISABLE']),
|
||||
ssl_certificates=dict(required=True, type='list'),
|
||||
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):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -327,52 +326,32 @@ def update_fields(module, request, response):
|
|||
def quic_override_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetHttpsProxies/{name}/setQuicOverride"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'quicOverride': module.params.get('quic_override')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetHttpsProxies/{name}/setQuicOverride"]).format(**module.params),
|
||||
{u'quicOverride': module.params.get('quic_override')},
|
||||
)
|
||||
|
||||
|
||||
def ssl_certificates_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/targetHttpsProxies/{name}/setSslCertificates"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetHttpsProxies/{name}/setSslPolicy"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/targetHttpsProxies/{name}/setUrlMap"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'urlMap': replace_resource_dict(module.params.get(u'url_map', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), '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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -462,7 +441,7 @@ def response_to_hash(module, response):
|
|||
u'quicOverride': response.get(u'quicOverride'),
|
||||
u'sslCertificates': response.get(u'sslCertificates'),
|
||||
u'sslPolicy': response.get(u'sslPolicy'),
|
||||
u'urlMap': response.get(u'urlMap')
|
||||
u'urlMap': response.get(u'urlMap'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -132,11 +132,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -146,7 +142,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -167,12 +167,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -182,7 +177,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -253,7 +253,7 @@ def main():
|
|||
proxy_header=dict(type='str', choices=['NONE', 'PROXY_V1']),
|
||||
service=dict(required=True),
|
||||
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):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -313,52 +312,32 @@ def update_fields(module, request, response):
|
|||
def proxy_header_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetSslProxies/{name}/setProxyHeader"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'proxyHeader': module.params.get('proxy_header')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetSslProxies/{name}/setProxyHeader"]).format(**module.params),
|
||||
{u'proxyHeader': module.params.get('proxy_header')},
|
||||
)
|
||||
|
||||
|
||||
def service_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetSslProxies/{name}/setBackendService"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetSslProxies/{name}/setSslCertificates"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'sslCertificates': replace_resource_dict(module.params.get('ssl_certificates', []), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetSslProxies/{name}/setSslPolicy"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'sslPolicy': replace_resource_dict(module.params.get(u'ssl_policy', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "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'service': replace_resource_dict(module.params.get(u'service', {}), '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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -448,7 +427,7 @@ def response_to_hash(module, response):
|
|||
u'proxyHeader': response.get(u'proxyHeader'),
|
||||
u'service': response.get(u'service'),
|
||||
u'sslCertificates': response.get(u'sslCertificates'),
|
||||
u'sslPolicy': response.get(u'sslPolicy')
|
||||
u'sslPolicy': response.get(u'sslPolicy'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -128,11 +128,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -142,7 +138,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -198,7 +198,7 @@ def main():
|
|||
description=dict(type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
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):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -254,26 +253,16 @@ def update_fields(module, request, response):
|
|||
def proxy_header_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetTcpProxies/{name}/setProxyHeader"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'proxyHeader': module.params.get('proxy_header')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetTcpProxies/{name}/setProxyHeader"]).format(**module.params),
|
||||
{u'proxyHeader': module.params.get('proxy_header')},
|
||||
)
|
||||
|
||||
|
||||
def service_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/global/targetTcpProxies/{name}/setBackendService"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/global/targetTcpProxies/{name}/setBackendService"]).format(**module.params),
|
||||
{u'service': replace_resource_dict(module.params.get(u'service', {}), 'selfLink')},
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -114,11 +114,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -128,7 +124,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@ def main():
|
|||
description=dict(type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
network=dict(required=True),
|
||||
region=dict(required=True, type='str')
|
||||
region=dict(required=True, type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -129,12 +129,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -144,7 +139,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -370,27 +370,33 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
default_service=dict(required=True),
|
||||
description=dict(type='str'),
|
||||
host_rules=dict(type='list', elements='dict', options=dict(
|
||||
description=dict(type='str'),
|
||||
hosts=dict(required=True, type='list', elements='str'),
|
||||
path_matcher=dict(required=True, type='str')
|
||||
)),
|
||||
host_rules=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
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'),
|
||||
path_matchers=dict(type='list', elements='dict', options=dict(
|
||||
default_service=dict(required=True),
|
||||
description=dict(type='str'),
|
||||
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'),
|
||||
service=dict(required=True)
|
||||
))
|
||||
path_matchers=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
default_service=dict(required=True),
|
||||
description=dict(type='str'),
|
||||
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'), 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'name': module.params.get('name'),
|
||||
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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -522,7 +528,7 @@ def response_to_hash(module, response):
|
|||
u'fingerprint': response.get(u'fingerprint'),
|
||||
u'name': module.params.get('name'),
|
||||
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
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'defaultService': replace_resource_dict(item.get(u'default_service', {}), 'selfLink'),
|
||||
u'description': item.get('description'),
|
||||
u'name': item.get('name'),
|
||||
u'pathRules': UrlMapPathrulesArray(item.get('path_rules', []), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'defaultService': replace_resource_dict(item.get(u'default_service', {}), 'selfLink'),
|
||||
u'description': item.get('description'),
|
||||
u'name': item.get('name'),
|
||||
u'pathRules': UrlMapPathrulesArray(item.get('path_rules', []), self.module).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'defaultService': item.get(u'defaultService'),
|
||||
u'description': item.get(u'description'),
|
||||
u'name': item.get(u'name'),
|
||||
u'pathRules': UrlMapPathrulesArray(item.get(u'pathRules', []), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'defaultService': item.get(u'defaultService'),
|
||||
u'description': item.get(u'description'),
|
||||
u'name': item.get(u'name'),
|
||||
u'pathRules': UrlMapPathrulesArray(item.get(u'pathRules', []), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class UrlMapPathrulesArray(object):
|
||||
|
|
|
@ -210,11 +210,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
@ -224,7 +220,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {'resources': items}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -287,6 +287,7 @@ def main():
|
|||
ike_version=dict(default=2, type='int'),
|
||||
local_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'),
|
||||
)
|
||||
)
|
||||
|
@ -329,8 +330,7 @@ def create(module, link, kind):
|
|||
|
||||
|
||||
def update(module, link, kind, fetch):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -342,14 +342,8 @@ def update_fields(module, request, response):
|
|||
def labels_update(module, request, response):
|
||||
auth = GcpSession(module, 'compute')
|
||||
auth.post(
|
||||
''.join([
|
||||
"https://www.googleapis.com/compute/v1/",
|
||||
"projects/{project}/regions/{region}/vpnTunnels/{name}/setLabels"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'labels': module.params.get('labels'),
|
||||
u'labelFingerprint': response.get('labelFingerprint')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/compute/v1/", "projects/{project}/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'localTrafficSelector': module.params.get('local_traffic_selector'),
|
||||
u'remoteTrafficSelector': module.params.get('remote_traffic_selector'),
|
||||
u'labels': module.params.get('labels'),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -447,7 +442,7 @@ def response_to_hash(module, response):
|
|||
u'localTrafficSelector': response.get(u'localTrafficSelector'),
|
||||
u'remoteTrafficSelector': response.get(u'remoteTrafficSelector'),
|
||||
u'labels': response.get(u'labels'),
|
||||
u'labelFingerprint': response.get(u'labelFingerprint')
|
||||
u'labelFingerprint': response.get(u'labelFingerprint'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -167,12 +167,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
filters=dict(type='list', elements='str'),
|
||||
region=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(filters=dict(type='list', elements='str'), region=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/compute']
|
||||
|
|
|
@ -611,7 +611,16 @@ def main():
|
|||
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']),
|
||||
monitoring_service=dict(type='str', choices=['monitoring.googleapis.com', 'none']),
|
||||
network=dict(type='str'),
|
||||
|
@ -628,7 +637,8 @@ def main():
|
|||
),
|
||||
),
|
||||
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'addonsConfig': ClusterAddonsconfig(module.params.get('addons_config', {}), module).to_request(),
|
||||
u'subnetwork': module.params.get('subnetwork'),
|
||||
u'location': module.params.get('location'),
|
||||
}
|
||||
request = encode_request(request, module)
|
||||
return_vals = {}
|
||||
|
@ -855,18 +866,20 @@ class ClusterNodeconfig(object):
|
|||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'machineType': self.request.get(u'machineType'),
|
||||
u'diskSizeGb': self.request.get(u'diskSizeGb'),
|
||||
u'oauthScopes': self.request.get(u'oauthScopes'),
|
||||
u'serviceAccount': self.request.get(u'serviceAccount'),
|
||||
u'metadata': self.request.get(u'metadata'),
|
||||
u'imageType': self.request.get(u'imageType'),
|
||||
u'labels': self.request.get(u'labels'),
|
||||
u'localSsdCount': self.request.get(u'localSsdCount'),
|
||||
u'tags': self.request.get(u'tags'),
|
||||
u'preemptible': self.request.get(u'preemptible')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'machineType': self.request.get(u'machineType'),
|
||||
u'diskSizeGb': self.request.get(u'diskSizeGb'),
|
||||
u'oauthScopes': self.request.get(u'oauthScopes'),
|
||||
u'serviceAccount': self.request.get(u'serviceAccount'),
|
||||
u'metadata': self.request.get(u'metadata'),
|
||||
u'imageType': self.request.get(u'imageType'),
|
||||
u'labels': self.request.get(u'labels'),
|
||||
u'localSsdCount': self.request.get(u'localSsdCount'),
|
||||
u'tags': self.request.get(u'tags'),
|
||||
u'preemptible': self.request.get(u'preemptible'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class ClusterMasterauth(object):
|
||||
|
@ -878,10 +891,26 @@ class ClusterMasterauth(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
@ -893,16 +922,20 @@ class ClusterAddonsconfig(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
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()
|
||||
})
|
||||
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(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
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()
|
||||
})
|
||||
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(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class ClusterHttploadbalancing(object):
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -367,11 +366,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
zone=dict(required=True, type='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(zone=dict(required=True, type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
|
@ -381,9 +376,7 @@ def main():
|
|||
items = items.get('clusters')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -458,21 +458,17 @@ def main():
|
|||
),
|
||||
),
|
||||
initial_node_count=dict(required=True, type='int'),
|
||||
autoscaling=dict(type='dict', options=dict(
|
||||
enabled=dict(type='bool'),
|
||||
min_node_count=dict(type='int'),
|
||||
max_node_count=dict(type='int')
|
||||
)),
|
||||
management=dict(type='dict', options=dict(
|
||||
auto_upgrade=dict(type='bool'),
|
||||
auto_repair=dict(type='bool'),
|
||||
upgrade_options=dict(type='dict', options=dict(
|
||||
auto_upgrade_start_time=dict(type='str'),
|
||||
description=dict(type='str')
|
||||
))
|
||||
)),
|
||||
autoscaling=dict(type='dict', options=dict(enabled=dict(type='bool'), min_node_count=dict(type='int'), max_node_count=dict(type='int'))),
|
||||
management=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
auto_upgrade=dict(type='bool'),
|
||||
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),
|
||||
zone=dict(required=True, type='str')
|
||||
zone=dict(required=True, type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -555,8 +551,8 @@ def self_link(module):
|
|||
|
||||
|
||||
def collection(module):
|
||||
res = {'project': module.params['project'], 'location': module.params['location'], 'cluster': replace_resource_dict(module.params['cluster'], 'name')}
|
||||
return "https://container.googleapis.com/v1/projects/{project}/zones/{location}/clusters/{cluster}/nodePools".format(**res)
|
||||
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/{zone}/clusters/{cluster}/nodePools".format(**res)
|
||||
|
||||
|
||||
def return_if_object(module, response, allow_not_found=False):
|
||||
|
@ -729,18 +725,22 @@ class NodePoolManagement(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'autoUpgrade': self.request.get('auto_upgrade'),
|
||||
u'autoRepair': self.request.get('auto_repair'),
|
||||
u'upgradeOptions': NodePoolUpgradeoptions(self.request.get('upgrade_options', {}), self.module).to_request()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autoUpgrade': self.request.get('auto_upgrade'),
|
||||
u'autoRepair': self.request.get('auto_repair'),
|
||||
u'upgradeOptions': NodePoolUpgradeoptions(self.request.get('upgrade_options', {}), self.module).to_request(),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'autoUpgrade': self.request.get(u'autoUpgrade'),
|
||||
u'autoRepair': self.request.get(u'autoRepair'),
|
||||
u'upgradeOptions': NodePoolUpgradeoptions(self.request.get(u'upgradeOptions', {}), self.module).from_response()
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'autoUpgrade': self.request.get(u'autoUpgrade'),
|
||||
u'autoRepair': self.request.get(u'autoRepair'),
|
||||
u'upgradeOptions': NodePoolUpgradeoptions(self.request.get(u'upgradeOptions', {}), self.module).from_response(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class NodePoolUpgradeoptions(object):
|
||||
|
@ -752,10 +752,10 @@ class NodePoolUpgradeoptions(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -268,12 +267,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
zone=dict(required=True, type='str'),
|
||||
cluster=dict(required=True)
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(zone=dict(required=True, type='str'), cluster=dict(required=True)))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
|
@ -283,18 +277,12 @@ def main():
|
|||
items = items.get('nodePools')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
def collection(module):
|
||||
res = {
|
||||
'project': module.params['project'],
|
||||
'zone': module.params['zone'],
|
||||
'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/{zone}/clusters/{cluster}/nodePools".format(**res)
|
||||
|
||||
|
||||
|
|
|
@ -162,7 +162,7 @@ def main():
|
|||
dns_name=dict(required=True, type='str'),
|
||||
name=dict(required=True, type='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):
|
||||
update_fields(module, resource_to_request(module),
|
||||
response_to_hash(module, fetch))
|
||||
update_fields(module, resource_to_request(module), response_to_hash(module, fetch))
|
||||
return fetch_resource(module, self_link(module), kind)
|
||||
|
||||
|
||||
|
@ -216,14 +215,8 @@ def update_fields(module, request, response):
|
|||
def description_update(module, request, response):
|
||||
auth = GcpSession(module, 'dns')
|
||||
auth.patch(
|
||||
''.join([
|
||||
"https://www.googleapis.com/dns/v1/",
|
||||
"projects/{project}/managedZones/{name}"
|
||||
]).format(**module.params),
|
||||
{
|
||||
u'description': module.params.get('description'),
|
||||
u'labels': module.params.get('labels')
|
||||
}
|
||||
''.join(["https://www.googleapis.com/dns/v1/", "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'name': module.params.get('name'),
|
||||
u'nameServerSet': module.params.get('name_server_set'),
|
||||
u'labels': module.params.get('labels')
|
||||
u'labels': module.params.get('labels'),
|
||||
}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -312,7 +305,7 @@ def response_to_hash(module, response):
|
|||
u'nameServers': response.get(u'nameServers'),
|
||||
u'nameServerSet': response.get(u'nameServerSet'),
|
||||
u'creationTime': response.get(u'creationTime'),
|
||||
u'labels': response.get(u'labels')
|
||||
u'labels': response.get(u'labels'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -122,11 +121,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
dns_name=dict(type='list', elements='str')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(dns_name=dict(type='list', elements='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite']
|
||||
|
@ -136,9 +131,7 @@ def main():
|
|||
items = items.get('managedZones')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -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']),
|
||||
ttl=dict(type='int'),
|
||||
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):
|
||||
res = {
|
||||
'project': module.params['project'],
|
||||
'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')
|
||||
}
|
||||
res = {'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)
|
||||
|
||||
|
||||
|
@ -329,7 +326,7 @@ def is_different(module, response):
|
|||
# Remove unnecessary properties from the response.
|
||||
# This is for doing comparisons with Ansible's current parameters.
|
||||
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):
|
||||
|
@ -366,7 +363,7 @@ def prefetch_soa_resource(module):
|
|||
{
|
||||
'type': 'SOA',
|
||||
'managed_zone': module.params['managed_zone'],
|
||||
'name': replace_resource_dict(module.params['managed_zone'], 'dnsName'),
|
||||
'name': '.'.join(name),
|
||||
'project': module.params['project'],
|
||||
'scopes': module.params['scopes'],
|
||||
'service_account_file': module.params['service_account_file'],
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -108,11 +107,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
managed_zone=dict(required=True)
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(managed_zone=dict(required=True)))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/ndev.clouddns.readwrite']
|
||||
|
@ -122,17 +117,12 @@ def main():
|
|||
items = items.get('rrsets')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
def collection(module):
|
||||
res = {
|
||||
'project': module.params['project'],
|
||||
'managed_zone': replace_resource_dict(module.params['managed_zone'], 'name')
|
||||
}
|
||||
res = {'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)
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -121,11 +120,7 @@ def main():
|
|||
"""Main function"""
|
||||
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
name=dict(type='str'),
|
||||
display_name=dict(type='str')
|
||||
)
|
||||
argument_spec=dict(state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str'), display_name=dict(type='str'))
|
||||
)
|
||||
|
||||
if not module.params['scopes']:
|
||||
|
@ -174,10 +169,7 @@ def delete(module, link):
|
|||
|
||||
|
||||
def resource_to_request(module):
|
||||
request = {
|
||||
u'name': module.params.get('name'),
|
||||
u'displayName': module.params.get('display_name')
|
||||
}
|
||||
request = {u'name': module.params.get('name'), u'displayName': module.params.get('display_name')}
|
||||
request = encode_request(request, module)
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -251,7 +243,7 @@ def response_to_hash(module, response):
|
|||
u'uniqueId': response.get(u'uniqueId'),
|
||||
u'email': response.get(u'email'),
|
||||
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"""
|
||||
account_id = resource_request['name'].split('@')[0]
|
||||
del resource_request['name']
|
||||
return {
|
||||
'accountId': account_id,
|
||||
'serviceAccount': resource_request
|
||||
}
|
||||
return {'accountId': account_id, 'serviceAccount': resource_request}
|
||||
|
||||
|
||||
def decode_response(response, module):
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -102,10 +101,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/iam']
|
||||
|
@ -115,9 +111,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -178,7 +177,7 @@ def main():
|
|||
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']),
|
||||
service_account=dict(),
|
||||
path=dict(type='path')
|
||||
path=dict(type='path'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -220,10 +219,7 @@ def delete(module):
|
|||
|
||||
|
||||
def resource_to_request(module):
|
||||
request = {
|
||||
u'privateKeyType': module.params.get('private_key_type'),
|
||||
u'keyAlgorithm': module.params.get('key_algorithm')
|
||||
}
|
||||
request = {u'privateKeyType': module.params.get('private_key_type'), u'keyAlgorithm': module.params.get('key_algorithm')}
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
if v:
|
||||
|
@ -252,10 +248,7 @@ def self_link_from_file(module):
|
|||
|
||||
|
||||
def self_link(module):
|
||||
results = {
|
||||
'project': module.params['project'],
|
||||
'service_account': replace_resource_dict(module.params['service_account'], 'name')
|
||||
}
|
||||
results = {'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)
|
||||
|
||||
|
||||
|
|
|
@ -181,10 +181,8 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
name=dict(type='str'),
|
||||
topic=dict(),
|
||||
push_config=dict(type='dict', options=dict(
|
||||
push_endpoint=dict(type='str')
|
||||
)),
|
||||
ack_deadline_seconds=dict(type='int')
|
||||
push_config=dict(type='dict', options=dict(push_endpoint=dict(type='str'))),
|
||||
ack_deadline_seconds=dict(type='int'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -256,7 +254,7 @@ def resource_to_request(module):
|
|||
u'name': module.params.get('name'),
|
||||
u'topic': replace_resource_dict(module.params.get(u'topic', {}), 'name'),
|
||||
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)
|
||||
return_vals = {}
|
||||
|
@ -329,7 +327,7 @@ def response_to_hash(module, response):
|
|||
u'name': response.get(u'name'),
|
||||
u'topic': response.get(u'topic'),
|
||||
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):
|
||||
request['topic'] = '/'.join(['projects', module.params['project'],
|
||||
'topics', module.params['topic']['name']])
|
||||
request['name'] = '/'.join(['projects', module.params['project'],
|
||||
'subscriptions', module.params['name']])
|
||||
request['topic'] = '/'.join(['projects', module.params['project'], 'topics', module.params['topic']['name']])
|
||||
request['name'] = '/'.join(['projects', module.params['project'], 'subscriptions', module.params['name']])
|
||||
|
||||
return request
|
||||
|
||||
|
@ -361,10 +357,10 @@ class SubscriptionPushconfig(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -115,10 +114,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
|
||||
|
@ -128,9 +124,7 @@ def main():
|
|||
items = items.get('subscriptions')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -90,11 +90,7 @@ import json
|
|||
def main():
|
||||
"""Main function"""
|
||||
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(required=True, type='str'), labels=dict(type='dict')
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(state=dict(default='present', choices=['present', 'absent'], type='str'), name=dict(type='str')))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
|
||||
|
@ -142,7 +138,7 @@ def delete(module, link):
|
|||
|
||||
|
||||
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)
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -210,7 +206,7 @@ def is_different(module, response):
|
|||
# Remove unnecessary properties from the response.
|
||||
# This is for doing comparisons with Ansible's current parameters.
|
||||
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):
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -77,10 +76,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/pubsub']
|
||||
|
@ -90,9 +86,7 @@ def main():
|
|||
items = items.get('topics')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -182,11 +181,8 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
name=dict(type='str'),
|
||||
labels=dict(type='dict'),
|
||||
parent=dict(type='dict', options=dict(
|
||||
type=dict(type='str'),
|
||||
id=dict(type='str')
|
||||
)),
|
||||
id=dict(required=True, type='str')
|
||||
parent=dict(type='dict', options=dict(type=dict(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'name': module.params.get('name'),
|
||||
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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -314,7 +310,7 @@ def response_to_hash(module, response):
|
|||
u'name': response.get(u'name'),
|
||||
u'createTime': response.get(u'createTime'),
|
||||
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 = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'type': self.request.get('type'),
|
||||
u'id': self.request.get('id')
|
||||
})
|
||||
return remove_nones_from_dict({u'type': self.request.get('type'), u'id': self.request.get('id')})
|
||||
|
||||
def from_response(self):
|
||||
return remove_nones_from_dict({
|
||||
u'type': self.request.get(u'type'),
|
||||
u'id': self.request.get(u'id')
|
||||
})
|
||||
return remove_nones_from_dict({u'type': self.request.get(u'type'), u'id': self.request.get(u'id')})
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -129,10 +128,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/cloud-platform']
|
||||
|
@ -142,9 +138,7 @@ def main():
|
|||
items = items.get('projects')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -142,7 +142,7 @@ def main():
|
|||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
name=dict(required=True, type='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):
|
||||
request = {
|
||||
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 = {u'name': module.params.get('name'), u'extraStatements': module.params.get('extra_statements')}
|
||||
request = encode_request(request, module)
|
||||
return_vals = {}
|
||||
for k, v in request.items():
|
||||
|
@ -266,7 +262,7 @@ def is_different(module, response):
|
|||
# Remove unnecessary properties from the response.
|
||||
# This is for doing comparisons with Ansible's current parameters.
|
||||
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):
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -101,11 +100,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
instance=dict(required=True)
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(instance=dict(required=True)))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin']
|
||||
|
@ -115,17 +110,12 @@ def main():
|
|||
items = items.get('databases')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
def collection(module):
|
||||
res = {
|
||||
'project': module.params['project'],
|
||||
'instance': replace_resource_dict(module.params['instance'], 'name')
|
||||
}
|
||||
res = {'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)
|
||||
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ def main():
|
|||
name=dict(required=True, type='str'),
|
||||
config=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'),
|
||||
)
|
||||
)
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -118,10 +117,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/spanner.admin']
|
||||
|
@ -131,9 +127,7 @@ def main():
|
|||
items = items.get('instances')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -145,7 +145,7 @@ def main():
|
|||
charset=dict(type='str'),
|
||||
collation=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):
|
||||
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):
|
||||
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):
|
||||
|
@ -269,7 +271,7 @@ def is_different(module, response):
|
|||
# Remove unnecessary properties from the response.
|
||||
# This is for doing comparisons with Ansible's current parameters.
|
||||
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):
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -102,11 +101,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
instance=dict(required=True)
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(instance=dict(required=True)))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
|
||||
|
@ -116,17 +111,12 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
def collection(module):
|
||||
res = {
|
||||
'project': module.params['project'],
|
||||
'instance': replace_resource_dict(module.params['instance'], 'name')
|
||||
}
|
||||
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)
|
||||
|
||||
|
||||
|
|
|
@ -570,43 +570,53 @@ def main():
|
|||
backend_type=dict(type='str', choices=['FIRST_GEN', 'SECOND_GEN', 'EXTERNAL']),
|
||||
connection_name=dict(type='str'),
|
||||
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']),
|
||||
ipv6_address=dict(type='str'),
|
||||
master_instance_name=dict(type='str'),
|
||||
max_disk_size=dict(type='int'),
|
||||
name=dict(required=True, type='str'),
|
||||
region=dict(type='str'),
|
||||
replica_configuration=dict(type='dict', options=dict(
|
||||
failover_target=dict(type='bool'),
|
||||
mysql_replica_configuration=dict(type='dict', options=dict(
|
||||
ca_certificate=dict(type='str'),
|
||||
client_certificate=dict(type='str'),
|
||||
client_key=dict(type='str'),
|
||||
connect_retry_interval=dict(type='int'),
|
||||
dump_file_path=dict(type='str'),
|
||||
master_heartbeat_period=dict(type='int'),
|
||||
password=dict(type='str'),
|
||||
ssl_cipher=dict(type='str'),
|
||||
username=dict(type='str'),
|
||||
verify_server_certificate=dict(type='bool')
|
||||
)),
|
||||
replica_names=dict(type='list', elements='str'),
|
||||
service_account_email_address=dict(type='str')
|
||||
)),
|
||||
settings=dict(type='dict', options=dict(
|
||||
ip_configuration=dict(type='dict', 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')
|
||||
))
|
||||
replica_configuration=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
failover_target=dict(type='bool'),
|
||||
mysql_replica_configuration=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
ca_certificate=dict(type='str'),
|
||||
client_certificate=dict(type='str'),
|
||||
client_key=dict(type='str'),
|
||||
connect_retry_interval=dict(type='int'),
|
||||
dump_file_path=dict(type='str'),
|
||||
master_heartbeat_period=dict(type='int'),
|
||||
password=dict(type='str'),
|
||||
ssl_cipher=dict(type='str'),
|
||||
username=dict(type='str'),
|
||||
verify_server_certificate=dict(type='bool'),
|
||||
),
|
||||
),
|
||||
replica_names=dict(type='list', elements='str'),
|
||||
service_account_email_address=dict(type='str'),
|
||||
),
|
||||
),
|
||||
settings=dict(
|
||||
type='dict',
|
||||
options=dict(
|
||||
ip_configuration=dict(
|
||||
type='dict',
|
||||
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'region': module.params.get('region'),
|
||||
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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -751,7 +761,7 @@ def response_to_hash(module, response):
|
|||
u'name': response.get(u'name'),
|
||||
u'region': response.get(u'region'),
|
||||
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 = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
@ -841,20 +851,26 @@ class InstanceReplicaconfiguration(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
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'replicaNames': self.request.get('replica_names'),
|
||||
u'serviceAccountEmailAddress': self.request.get('service_account_email_address')
|
||||
})
|
||||
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'replicaNames': self.request.get('replica_names'),
|
||||
u'serviceAccountEmailAddress': self.request.get('service_account_email_address'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
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'replicaNames': self.request.get(u'replicaNames'),
|
||||
u'serviceAccountEmailAddress': self.request.get(u'serviceAccountEmailAddress')
|
||||
})
|
||||
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'replicaNames': self.request.get(u'replicaNames'),
|
||||
u'serviceAccountEmailAddress': self.request.get(u'serviceAccountEmailAddress'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceMysqlreplicaconfiguration(object):
|
||||
|
@ -907,18 +923,22 @@ class InstanceSettings(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
return remove_nones_from_dict({
|
||||
u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(),
|
||||
u'tier': self.request.get('tier'),
|
||||
u'settingsVersion': self.request.get('settings_version')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'ipConfiguration': InstanceIpconfiguration(self.request.get('ip_configuration', {}), self.module).to_request(),
|
||||
u'tier': self.request.get('tier'),
|
||||
u'settingsVersion': self.request.get('settings_version'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
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'settingsVersion': self.request.get(u'settingsVersion')
|
||||
})
|
||||
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'settingsVersion': self.request.get(u'settingsVersion'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class InstanceIpconfiguration(object):
|
||||
|
@ -930,18 +950,22 @@ class InstanceIpconfiguration(object):
|
|||
self.request = {}
|
||||
|
||||
def to_request(self):
|
||||
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'requireSsl': self.request.get('require_ssl')
|
||||
})
|
||||
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'requireSsl': self.request.get('require_ssl'),
|
||||
}
|
||||
)
|
||||
|
||||
def from_response(self):
|
||||
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'requireSsl': self.request.get(u'requireSsl')
|
||||
})
|
||||
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'requireSsl': self.request.get(u'requireSsl'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
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')})
|
||||
|
||||
|
||||
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__':
|
||||
main()
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -335,10 +334,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict())
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
|
||||
|
@ -348,9 +344,7 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
|
|
|
@ -148,7 +148,7 @@ def main():
|
|||
host=dict(required=True, type='str'),
|
||||
name=dict(required=True, type='str'),
|
||||
instance=dict(required=True),
|
||||
password=dict(type='str')
|
||||
password=dict(type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -103,11 +102,7 @@ import json
|
|||
|
||||
|
||||
def main():
|
||||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
instance=dict(required=True)
|
||||
)
|
||||
)
|
||||
module = GcpModule(argument_spec=dict(instance=dict(required=True)))
|
||||
|
||||
if not module.params['scopes']:
|
||||
module.params['scopes'] = ['https://www.googleapis.com/auth/sqlservice.admin']
|
||||
|
@ -117,17 +112,12 @@ def main():
|
|||
items = items.get('items')
|
||||
else:
|
||||
items = []
|
||||
return_value = {
|
||||
'items': items
|
||||
}
|
||||
return_value = {'items': items}
|
||||
module.exit_json(**return_value)
|
||||
|
||||
|
||||
def collection(module):
|
||||
res = {
|
||||
'project': module.params['project'],
|
||||
'instance': replace_resource_dict(module.params['instance'], 'name')
|
||||
}
|
||||
res = {'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)
|
||||
|
||||
|
||||
|
|
|
@ -789,60 +789,79 @@ def main():
|
|||
module = GcpModule(
|
||||
argument_spec=dict(
|
||||
state=dict(default='present', choices=['present', 'absent'], type='str'),
|
||||
acl=dict(type='list', elements='dict', options=dict(
|
||||
bucket=dict(required=True),
|
||||
domain=dict(type='str'),
|
||||
email=dict(type='str'),
|
||||
entity=dict(required=True, type='str'),
|
||||
entity_id=dict(type='str'),
|
||||
id=dict(type='str'),
|
||||
project_team=dict(type='dict', options=dict(
|
||||
project_number=dict(type='str'),
|
||||
team=dict(type='str', choices=['editors', 'owners', 'viewers'])
|
||||
)),
|
||||
role=dict(type='str', choices=['OWNER', 'READER', 'WRITER'])
|
||||
)),
|
||||
cors=dict(type='list', elements='dict', options=dict(
|
||||
max_age_seconds=dict(type='int'),
|
||||
method=dict(type='list', elements='str'),
|
||||
origin=dict(type='list', elements='str'),
|
||||
response_header=dict(type='list', elements='str')
|
||||
)),
|
||||
default_object_acl=dict(type='list', elements='dict', options=dict(
|
||||
bucket=dict(required=True),
|
||||
domain=dict(type='str'),
|
||||
email=dict(type='str'),
|
||||
entity=dict(required=True, type='str'),
|
||||
entity_id=dict(type='str'),
|
||||
generation=dict(type='int'),
|
||||
id=dict(type='str'),
|
||||
object=dict(type='str'),
|
||||
project_team=dict(type='dict', options=dict(
|
||||
project_number=dict(type='str'),
|
||||
team=dict(type='str', choices=['editors', 'owners', 'viewers'])
|
||||
)),
|
||||
role=dict(required=True, type='str', choices=['OWNER', 'READER'])
|
||||
)),
|
||||
lifecycle=dict(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')
|
||||
))
|
||||
))
|
||||
)),
|
||||
acl=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
bucket=dict(required=True),
|
||||
domain=dict(type='str'),
|
||||
email=dict(type='str'),
|
||||
entity=dict(required=True, type='str'),
|
||||
entity_id=dict(type='str'),
|
||||
id=dict(type='str'),
|
||||
project_team=dict(
|
||||
type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))
|
||||
),
|
||||
role=dict(type='str', choices=['OWNER', 'READER', 'WRITER']),
|
||||
),
|
||||
),
|
||||
cors=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
max_age_seconds=dict(type='int'),
|
||||
method=dict(type='list', elements='str'),
|
||||
origin=dict(type='list', elements='str'),
|
||||
response_header=dict(type='list', elements='str'),
|
||||
),
|
||||
),
|
||||
default_object_acl=dict(
|
||||
type='list',
|
||||
elements='dict',
|
||||
options=dict(
|
||||
bucket=dict(required=True),
|
||||
domain=dict(type='str'),
|
||||
email=dict(type='str'),
|
||||
entity=dict(required=True, type='str'),
|
||||
entity_id=dict(type='str'),
|
||||
generation=dict(type='int'),
|
||||
id=dict(type='str'),
|
||||
object=dict(type='str'),
|
||||
project_team=dict(
|
||||
type='dict', options=dict(project_number=dict(type='str'), team=dict(type='str', choices=['editors', 'owners', 'viewers']))
|
||||
),
|
||||
role=dict(required=True, type='str', choices=['OWNER', 'READER']),
|
||||
),
|
||||
),
|
||||
lifecycle=dict(
|
||||
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'),
|
||||
logging=dict(type='dict', options=dict(log_bucket=dict(type='str'), log_object_prefix=dict(type='str'))),
|
||||
metageneration=dict(type='int'),
|
||||
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']),
|
||||
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'))),
|
||||
|
@ -1021,28 +1040,32 @@ class BucketAclArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'),
|
||||
u'domain': item.get('domain'),
|
||||
u'email': item.get('email'),
|
||||
u'entity': item.get('entity'),
|
||||
u'entityId': item.get('entity_id'),
|
||||
u'id': item.get('id'),
|
||||
u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(),
|
||||
u'role': item.get('role')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'),
|
||||
u'domain': item.get('domain'),
|
||||
u'email': item.get('email'),
|
||||
u'entity': item.get('entity'),
|
||||
u'entityId': item.get('entity_id'),
|
||||
u'id': item.get('id'),
|
||||
u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(),
|
||||
u'role': item.get('role'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'bucket': item.get(u'bucket'),
|
||||
u'domain': item.get(u'domain'),
|
||||
u'email': item.get(u'email'),
|
||||
u'entity': item.get(u'entity'),
|
||||
u'entityId': item.get(u'entityId'),
|
||||
u'id': item.get(u'id'),
|
||||
u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(),
|
||||
u'role': item.get(u'role')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'bucket': item.get(u'bucket'),
|
||||
u'domain': item.get(u'domain'),
|
||||
u'email': item.get(u'email'),
|
||||
u'entity': item.get(u'entity'),
|
||||
u'entityId': item.get(u'entityId'),
|
||||
u'id': item.get(u'id'),
|
||||
u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(),
|
||||
u'role': item.get(u'role'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class BucketProjectteam(object):
|
||||
|
@ -1122,32 +1145,36 @@ class BucketDefaultobjectaclArray(object):
|
|||
return items
|
||||
|
||||
def _request_for_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'),
|
||||
u'domain': item.get('domain'),
|
||||
u'email': item.get('email'),
|
||||
u'entity': item.get('entity'),
|
||||
u'entityId': item.get('entity_id'),
|
||||
u'generation': item.get('generation'),
|
||||
u'id': item.get('id'),
|
||||
u'object': item.get('object'),
|
||||
u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(),
|
||||
u'role': item.get('role')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'bucket': replace_resource_dict(item.get(u'bucket', {}), 'name'),
|
||||
u'domain': item.get('domain'),
|
||||
u'email': item.get('email'),
|
||||
u'entity': item.get('entity'),
|
||||
u'entityId': item.get('entity_id'),
|
||||
u'generation': item.get('generation'),
|
||||
u'id': item.get('id'),
|
||||
u'object': item.get('object'),
|
||||
u'projectTeam': BucketProjectteam(item.get('project_team', {}), self.module).to_request(),
|
||||
u'role': item.get('role'),
|
||||
}
|
||||
)
|
||||
|
||||
def _response_from_item(self, item):
|
||||
return remove_nones_from_dict({
|
||||
u'bucket': item.get(u'bucket'),
|
||||
u'domain': item.get(u'domain'),
|
||||
u'email': item.get(u'email'),
|
||||
u'entity': item.get(u'entity'),
|
||||
u'entityId': item.get(u'entityId'),
|
||||
u'generation': item.get(u'generation'),
|
||||
u'id': item.get(u'id'),
|
||||
u'object': item.get(u'object'),
|
||||
u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(),
|
||||
u'role': item.get(u'role')
|
||||
})
|
||||
return remove_nones_from_dict(
|
||||
{
|
||||
u'bucket': item.get(u'bucket'),
|
||||
u'domain': item.get(u'domain'),
|
||||
u'email': item.get(u'email'),
|
||||
u'entity': item.get(u'entity'),
|
||||
u'entityId': item.get(u'entityId'),
|
||||
u'generation': item.get(u'generation'),
|
||||
u'id': item.get(u'id'),
|
||||
u'object': item.get(u'object'),
|
||||
u'projectTeam': BucketProjectteam(item.get(u'projectTeam', {}), self.module).from_response(),
|
||||
u'role': item.get(u'role'),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
class BucketProjectteam(object):
|
||||
|
@ -1254,7 +1281,7 @@ class BucketCondition(object):
|
|||
def from_response(self):
|
||||
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'isLive': self.request.get(u'isLive'),
|
||||
u'matchesStorageClass': self.request.get(u'matchesStorageClass'),
|
||||
|
@ -1287,10 +1314,10 @@ class BucketOwner(object):
|
|||
self.request = {}
|
||||
|
||||
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):
|
||||
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):
|
||||
|
|
|
@ -267,7 +267,7 @@ def resource_to_request(module):
|
|||
u'entity': module.params.get('entity'),
|
||||
u'entityId': module.params.get('entity_id'),
|
||||
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 = {}
|
||||
for k, v in request.items():
|
||||
|
@ -340,7 +340,7 @@ def response_to_hash(module, response):
|
|||
u'entityId': response.get(u'entityId'),
|
||||
u'id': response.get(u'id'),
|
||||
u'projectTeam': BucketAccessControlProjectteam(response.get(u'projectTeam', {}), module).from_response(),
|
||||
u'role': response.get(u'role')
|
||||
u'role': response.get(u'role'),
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -18,15 +18,14 @@
|
|||
# ----------------------------------------------------------------------------
|
||||
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
################################################################################
|
||||
# Documentation
|
||||
################################################################################
|
||||
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1',
|
||||
'status': ["preview"],
|
||||
'supported_by': 'community'}
|
||||
ANSIBLE_METADATA = {'metadata_version': '1.1', 'status': ["preview"], 'supported_by': 'community'}
|
||||
|
||||
DOCUMENTATION = '''
|
||||
---
|
||||
|
@ -145,7 +144,7 @@ def main():
|
|||
overwrite=dict(type='bool'),
|
||||
src=dict(type='path'),
|
||||
dest=dict(type='path'),
|
||||
bucket=dict(type='str')
|
||||
bucket=dict(type='str'),
|
||||
)
|
||||
)
|
||||
|
||||
|
@ -277,7 +276,7 @@ def object_headers(module):
|
|||
return {
|
||||
"name": module.params['dest'],
|
||||
"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'])),
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue