Skip to content

Commit 71ee5a1

Browse files
authored
Add support for on premise parameters to cloudera.cloud.dw_cluster (#190)
Signed-off-by: Jim Enright <[email protected]>
1 parent 4fcc88b commit 71ee5a1

File tree

1 file changed

+54
-1
lines changed

1 file changed

+54
-1
lines changed

plugins/modules/dw_cluster.py

Lines changed: 54 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,6 @@
8383
description:
8484
- Options for activating an Azure CDW Cluster
8585
type: dict
86-
elements: dict
8786
required: False
8887
suboptions:
8988
subnet:
@@ -137,6 +136,26 @@
137136
- Only a single instance type can be listed.
138137
type: list
139138
elements: str
139+
private_cloud:
140+
description:
141+
- Options for activating an On Premise CDW Cluster
142+
type: dict
143+
required: False
144+
suboptions:
145+
storage_class:
146+
description:
147+
- The storage class for the Local Storage Operator.
148+
type: str
149+
db_client_certificate:
150+
description:
151+
- TLS client certificate contents.
152+
- Used for the mutual TLS connections between the Database Catalog and the metastore database.
153+
type: str
154+
db_client_key:
155+
description:
156+
- TLS client private key contents.
157+
- Used for the mutual TLS connections between the Database Catalog and the metastore database.
158+
type: str
140159
reserved_compute_nodes:
141160
description:
142161
- Set additional number of nodes to reserve for executors and coordinators to use during autoscaling.
@@ -219,6 +238,12 @@
219238
aws_lb_subnets: [subnet-id-1, subnet-id-2]
220239
aws_worker_subnets: [subnet-id-3, subnet-id-4]
221240
241+
# Request Cloudera on premise Cluster creation
242+
- cloudera.cloud.dw_cluster:
243+
env_crn: crn:cdp:environments...
244+
private_cloud:
245+
storage_class: my-storage-class
246+
222247
# Delete a Data Warehouse Cluster
223248
- cloudera.cloud.dw_cluster:
224249
state: absent
@@ -357,6 +382,20 @@ def __init__(self, module):
357382
self.az_subnet = self._get_nested_param("azure", "subnet")
358383
self.az_managed_identity = self._get_nested_param("azure", "managed_identity")
359384

385+
# On Premise nested parameters
386+
self.pvc_storage_class = self._get_nested_param(
387+
"private_cloud",
388+
"storage_class",
389+
)
390+
self.pvc_db_client_cert = self._get_nested_param(
391+
"private_cloud",
392+
"db_client_certificate",
393+
)
394+
self.pvc_db_client_key = self._get_nested_param(
395+
"private_cloud",
396+
"db_client_key",
397+
)
398+
360399
# Initialize return values
361400
self.cluster = {}
362401
self.changed = False
@@ -481,6 +520,9 @@ def process(self):
481520
reserved_compute_nodes=self.reserved_compute_nodes,
482521
reserved_shared_services_nodes=self.reserved_shared_services_nodes,
483522
resource_pool=self.resource_pool,
523+
pvc_storage_class=self.pvc_storage_class,
524+
pvc_db_client_cert=self.pvc_db_client_cert,
525+
pvc_db_client_key=self.pvc_db_client_key,
484526
lb_ip_ranges=self.lb_ip_ranges,
485527
k8s_ip_ranges=self.k8s_ip_ranges,
486528
)
@@ -536,6 +578,17 @@ def main():
536578
),
537579
aws_lb_subnets=dict(type="list", aliases=["aws_public_subnets"]),
538580
aws_worker_subnets=dict(type="list", aliases=["aws_private_subnets"]),
581+
private_cloud=dict(
582+
type="dict",
583+
options=dict(
584+
storage_class=dict(type="str"),
585+
db_client_certificate=dict(type="str"),
586+
db_client_key=dict(type="str"),
587+
),
588+
required_together=[
589+
["db_client_certificate", "db_client_key"],
590+
],
591+
),
539592
reserved_compute_nodes=dict(type="int"),
540593
reserved_shared_services_nodes=dict(type="int"),
541594
resource_pool=dict(type="str"),

0 commit comments

Comments
 (0)