Skip to content

Commit be85700

Browse files
authored
Add private_cluster parameters to CDF, CDE, and CML modules (#133)
* Add private_cluster parameter to CML workspace module * Add private_cluster parameter to CDF service module * Add private_network parameter to CDE service module Signed-off-by: Jim Enright <[email protected]>
1 parent 48b3675 commit be85700

File tree

3 files changed

+31
-0
lines changed

3 files changed

+31
-0
lines changed

plugins/modules/de.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@
9191
- Creates a CDE endpoint (Load Balancer) in a publicly accessible subnet
9292
type: bool
9393
required: False
94+
enable_private_network:
95+
description:
96+
- Create a fully private CDE instance
97+
type: bool
98+
required: False
9499
loadbalancer_ips:
95100
description:
96101
- List of CIDRs allowed to access the load balancer.
@@ -346,6 +351,7 @@ def __init__(self, module):
346351
self.maximum_spot_instances = self._get_param('maximum_spot_instances')
347352
self.chart_value_overrides = self._get_param('chart_value_overrides')
348353
self.enable_public_endpoint = self._get_param('enable_public_endpoint')
354+
self.enable_private_network = self._get_param('enable_private_network')
349355
self.enable_workload_analytics = self._get_param('enable_workload_analytics')
350356
self.initial_instances = self._get_param('initial_instances')
351357
self.initial_spot_instances = self._get_param('initial_spot_instances')
@@ -448,6 +454,7 @@ def _enable_service(self):
448454
maximum_spot_instances=self.maximum_spot_instances,
449455
chart_value_overrides=self.chart_value_overrides,
450456
enable_public_endpoint=self.enable_public_endpoint,
457+
enable_private_network=self.enable_private_network,
451458
loadbalancer_allowlist=self.loadbalancer_ips,
452459
enable_workload_analytics=self.enable_workload_analytics,
453460
initial_instances=self.initial_instances,
@@ -502,6 +509,7 @@ def main():
502509
maximum_spot_instances=dict(required=False, type='int', default=0),
503510
chart_value_overrides=dict(required=False, type='list', default=None),
504511
enable_public_endpoint=dict(required=False, type='bool', default=True),
512+
enable_private_network=dict(required=False, type='bool', default=False),
505513
loadbalancer_ips=dict(required=False, type='list', elements='str', default=None),
506514
enable_workload_analytics=dict(required=False, type='bool', default=True),
507515
initial_instances=dict(required=False, type='int', default=1),

plugins/modules/df_service.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,14 @@
7979
required: False
8080
aliases:
8181
- use_public_load_balancer
82+
private_cluster:
83+
description:
84+
- Flag to specify if a private K8s cluster should be created.
85+
type: bool
86+
required: False
87+
default: False
88+
aliases:
89+
- enable_private_cluster
8290
loadbalancer_ip_ranges:
8391
description: The IP ranges authorized to connect to the load balancer
8492
type: list
@@ -295,6 +303,7 @@ def __init__(self, module):
295303
self.nodes_min = self._get_param('nodes_min')
296304
self.nodes_max = self._get_param('nodes_max')
297305
self.public_loadbalancer = self._get_param('public_loadbalancer')
306+
self.private_cluster = self._get_param('private_cluster')
298307
self.lb_ip_ranges = self._get_param('loadbalancer_ip_ranges')
299308
self.k8s_ip_ranges = self._get_param('k8s_ip_ranges')
300309
self.cluster_subnets = self._get_param('cluster_subnets')
@@ -378,6 +387,7 @@ def process(self):
378387
min_nodes=self.nodes_min,
379388
max_nodes=self.nodes_max,
380389
enable_public_ip=self.public_loadbalancer,
390+
private_cluster=self.private_cluster,
381391
lb_ips=self.lb_ip_ranges,
382392
kube_ips=self.k8s_ip_ranges,
383393
# tags=self.tags, # Currently overstrict blocking of values
@@ -472,6 +482,7 @@ def main():
472482
nodes_min=dict(type='int', default=3, aliases=['min_k8s_node_count']),
473483
nodes_max=dict(type='int', default=3, aliases=['max_k8s_node_count']),
474484
public_loadbalancer=dict(type='bool', default=False, aliases=['use_public_load_balancer']),
485+
private_cluster=dict(type='bool', default=False, aliases=['enable_private_cluster']),
475486
loadbalancer_ip_ranges=dict(type='list', elements='str', default=None),
476487
k8s_ip_ranges=dict(type='list', elements='str', default=None),
477488
cluster_subnets=dict(type='list', elements='str', default=None),

plugins/modules/ml.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,14 @@
272272
default: False
273273
aliases:
274274
- enable_public_loadbalancer
275+
private_cluster:
276+
description:
277+
- Flag to specify if a private K8s cluster should be created.
278+
type: bool
279+
required: False
280+
default: False
281+
aliases:
282+
- enable_private_cluster
275283
force:
276284
description:
277285
- Flag to force delete a workspace even if errors occur during deletion.
@@ -586,6 +594,7 @@ def __init__(self, module):
586594
self.nfs_version = self._get_param('nfs_version')
587595
self.ip_addresses = self._get_param('ip_addresses')
588596
self.public_loadbalancer = self._get_param('public_loadbalancer')
597+
self.private_cluster = self._get_param('private_cluster')
589598
self.k8s_request = self._get_param('k8s_request')
590599

591600
self.force = self._get_param('force')
@@ -665,6 +674,7 @@ def process(self):
665674
nfsVersion=self.nfs_version,
666675
loadBalancerIPWhitelists=self.ip_addresses,
667676
usePublicLoadBalancer=self.public_loadbalancer,
677+
privateCluster=self.private_cluster,
668678
provisionK8sRequest=self.k8s_request
669679
)
670680
if self.k8s_request and self.k8s_request['tags'] is not None:
@@ -775,6 +785,8 @@ def main():
775785
'loadbalancer_access_ips']),
776786
public_loadbalancer=dict(required=False, type='bool', default=False, aliases=[
777787
'enable_public_loadbalancer']),
788+
private_cluster=dict(required=False, type='bool', default=False, aliases=[
789+
'enable_private_cluster']),
778790
force=dict(required=False, type='bool',
779791
default=False, aliases=['force_delete']),
780792
storage=dict(required=False, type='bool',

0 commit comments

Comments
 (0)