Skip to content

Commit 2f76e6f

Browse files
committed
Update deletion states and process
Update module parameter requirements Update log messaging Signed-off-by: Webster Mudge <wmudge@cloudera.com>
1 parent bf5ac7c commit 2f76e6f

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

plugins/modules/dw_database_catalog.py

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ def process(self):
156156
if self.id is None:
157157
dbcs = self.cdpy.dw.list_dbcs(cluster_id=self.cluster_id)
158158
for dbc in dbcs:
159-
if self.name is not None and dbc['name'] == self.name:
159+
if dbc['name'] == self.name:
160160
self.target = self.cdpy.dw.describe_dbc(cluster_id=self.cluster_id, dbc_id=dbc['id'])
161161
else:
162162
self.target = self.cdpy.dw.describe_dbc(cluster_id=self.cluster_id, dbc_id=self.id)
@@ -169,24 +169,24 @@ def process(self):
169169
else:
170170
# Begin Drop
171171
if self.target['status'] not in self.cdpy.sdk.REMOVABLE_STATES:
172-
self.module.warn(
173-
"DW Database Catalog is not in a valid state for Delete operations: %s" % self.target['status'])
172+
self.module.fail_json(msg=
173+
"Database Catalog is not in a valid state for Delete operations: %s" % self.target['status'])
174174
else:
175175
_ = self.cdpy.dw.delete_dbc(cluster_id=self.cluster_id, dbc_id=self.target['id'])
176176
self.changed = True
177-
if self.wait:
178-
self.cdpy.sdk.wait_for_state(
179-
describe_func=self.cdpy.dw.describe_dbc,
180-
params=dict(cluster_id=self.cluster_id, dbc_id=self.target['id']),
181-
field=None, delay=self.delay, timeout=self.timeout
182-
)
183-
else:
184-
self.cdpy.sdk.sleep(self.delay) # Wait for consistency sync
185-
self.database_catalog = self.cdpy.dw.describe_dbc(cluster_id=self.cluster_id, dbc_id=self.target['id'])
177+
if self.wait:
178+
self.cdpy.sdk.wait_for_state(
179+
describe_func=self.cdpy.dw.describe_dbc,
180+
params=dict(cluster_id=self.cluster_id, dbc_id=self.target['id']),
181+
field=None, delay=self.delay, timeout=self.timeout
182+
)
183+
else:
184+
self.cdpy.sdk.sleep(self.delay) # Wait for consistency sync
185+
self.database_catalog = self.cdpy.dw.describe_dbc(cluster_id=self.cluster_id, dbc_id=self.target['id'])
186186
# End Drop
187187
elif self.state == 'present':
188188
# Begin Config Check
189-
self.module.warn("DW Database Catalog already present and reconciliation is not yet implemented")
189+
self.module.warn("Database Catalog already present and reconciliation is not yet implemented")
190190
if self.wait:
191191
self.target = self.cdpy.sdk.wait_for_state(
192192
describe_func=self.cdpy.dw.describe_dbc,
@@ -201,7 +201,7 @@ def process(self):
201201
else:
202202
# Begin Database Catalog Not Found
203203
if self.state == 'absent':
204-
self.module.warn("DW Database Catalog %s already absent in Cluster %s" % (self.name, self.cluster_id))
204+
self.module.warn("Database Catalog %s already absent in Cluster %s" % (self.name, self.cluster_id))
205205
elif self.state == 'present':
206206
if not self.module.check_mode:
207207
dbc_id = self.cdpy.dw.create_dbc(cluster_id=self.cluster_id, name=self.name,
@@ -233,8 +233,9 @@ def main():
233233
),
234234
required_if=[
235235
['state', 'present', ['name']],
236-
['state', 'absent', ['name', 'id']],
236+
['state', 'absent', ['name', 'id'], True],
237237
],
238+
mutually_exclusive=[['name', 'id']],
238239
supports_check_mode=True
239240
)
240241

0 commit comments

Comments
 (0)