Skip to content

Commit 5a395e2

Browse files
authored
Merge pull request #652 from gomesfernandes/fix/bigquery-clustering-fields
fix: google.cloud.gcp_bigquery_table clustering fields
2 parents 850e4c6 + 3085861 commit 5a395e2

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bugfixes:
2+
- gcp_bigquery_table - properly handle BigQuery table clustering fields

plugins/modules/gcp_bigquery_table.py

+17-2
Original file line numberDiff line numberDiff line change
@@ -1169,7 +1169,7 @@ def resource_to_request(module):
11691169
request = {
11701170
u'kind': 'bigquery#table',
11711171
u'tableReference': TableTablereference(module.params.get('table_reference', {}), module).to_request(),
1172-
u'clustering': module.params.get('clustering'),
1172+
u'clustering': TableClustering(module.params.get('clustering', {}), module).to_request(),
11731173
u'description': module.params.get('description'),
11741174
u'friendlyName': module.params.get('friendly_name'),
11751175
u'labels': module.params.get('labels'),
@@ -1247,7 +1247,7 @@ def is_different(module, response):
12471247
def response_to_hash(module, response):
12481248
return {
12491249
u'tableReference': TableTablereference(response.get(u'tableReference', {}), module).from_response(),
1250-
u'clustering': response.get(u'clustering'),
1250+
u'clustering': TableClustering(response.get(u'clustering', {}), module).from_response(),
12511251
u'creationTime': response.get(u'creationTime'),
12521252
u'description': response.get(u'description'),
12531253
u'friendlyName': response.get(u'friendlyName'),
@@ -1713,5 +1713,20 @@ def _response_from_item(self, item):
17131713
)
17141714

17151715

1716+
class TableClustering(object):
1717+
def __init__(self, request, module):
1718+
self.module = module
1719+
if request:
1720+
self.request = request
1721+
else:
1722+
self.request = {}
1723+
1724+
def to_request(self):
1725+
return remove_nones_from_dict({'fields': self.request})
1726+
1727+
def from_response(self):
1728+
return remove_nones_from_dict({'fields': self.request})
1729+
1730+
17161731
if __name__ == '__main__':
17171732
main()

0 commit comments

Comments
 (0)