Skip to content

Commit 5825e5d

Browse files
committed
Separate considerations for readyflows and customflows
Add support for readyflows Remove comment support from df_service until string limitations are inline with rest of platform Add support for terminating deployed flows when disabling the DFX Service Signed-off-by: Daniel Chaffelson <chaffelson@gmail.com>
1 parent 119edad commit 5825e5d

File tree

2 files changed

+41
-8
lines changed

2 files changed

+41
-8
lines changed

src/cdpy/common.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,9 +398,9 @@ def validate_crn(self, obj: str, crn_type=None):
398398
if crn_type == 'deployment':
399399
check_strings += [':df:', ':deployment:']
400400
for substring in check_strings:
401-
if substring not in obj:
402-
self.throw_error(CdpError("Supplied crn %s of proposed type %s is missing substring %s"
403-
% (str(obj), crn_type, substring)))
401+
if substring not in obj:
402+
self.throw_error(CdpError("Supplied crn %s of proposed type %s is missing substring %s"
403+
% (str(obj), crn_type, substring)))
404404

405405
@staticmethod
406406
def sleep(seconds):

src/cdpy/df.py

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def resolve_service_crn_from_name(self, name):
6666

6767
def enable_service(self, env_crn: str, lb_ips: list = None, min_nodes: int = 3, max_nodes: int = 3,
6868
enable_public_ip: bool = True, kube_ips: list = None, cluster_subnets: list = None,
69-
lb_subnets: list = None, tags: list = None):
69+
lb_subnets: list = None, tags: dict = None):
7070
self.sdk.validate_crn(env_crn)
7171
return self.sdk.call(
7272
svc='df', func='enable_service', ret_field='service',
@@ -157,18 +157,51 @@ def list_flow_definitions(self, name=None):
157157
result = [x for x in result if x['name'] == name]
158158
return result
159159

160+
def describe_readyflow(self, def_crn):
161+
# Describes readyFlow not added to the Catalog
162+
self.sdk.validate_crn(def_crn, 'readyflow')
163+
return self.sdk.call(
164+
svc='df', func='describe_readyflow', ret_field='readyflowDetail', squelch=[
165+
Squelch(value='NOT_FOUND',
166+
warning='No ReadyFlow Definition with crn %s found' % def_crn)
167+
],
168+
readyflowCrn=def_crn
169+
)
170+
171+
def import_readyflow(self, def_crn):
172+
# Imports a Readyflow from the Control Plane into the Tenant Flow Catalog
173+
self.sdk.validate_crn(def_crn, 'readyflow')
174+
return self.sdk.call(
175+
svc='df', func='add_readyflow', ret_field='addedReadyflowDetail', squelch=[
176+
Squelch(value='NOT_FOUND',
177+
warning='No ReadyFlow Definition with crn %s found' % def_crn)
178+
],
179+
readyflowCrn=def_crn
180+
)
181+
182+
def delete_added_readyflow(self, def_crn):
183+
# Deletes an added Readyflow from the Tenant Flow Catalog
184+
self.sdk.validate_crn(def_crn, 'readyflow')
185+
return self.sdk.call(
186+
svc='df', func='delete_added_readyflow', ret_field='readyflowDetail', squelch=[
187+
Squelch(value='NOT_FOUND',
188+
warning='No ReadyFlow Definition with crn %s found' % def_crn)
189+
],
190+
readyflowCrn=def_crn
191+
)
192+
160193
def describe_added_readyflow(self, def_crn, sort_versions=True):
161194
# Describes readyFlows added to the Catalog
162195
self.sdk.validate_crn(def_crn, 'readyflow')
163196
result = self.sdk.call(
164-
svc='df', func='describe_added_readyflow', ret_field='readyflowDetail', squelch=[
197+
svc='df', func='describe_added_readyflow', ret_field='addedReadyflowDetail', squelch=[
165198
Squelch(value='NOT_FOUND',
166199
warning='No ReadyFlow Definition with crn %s found' % def_crn)
167200
],
168201
readyflowCrn=def_crn
169202
)
170203
out = result
171-
if sort_versions:
204+
if sort_versions and out:
172205
out['versions'] = sorted(result['versions'], key=lambda d: d['version'], reverse=True)
173206
return out
174207

@@ -182,7 +215,7 @@ def describe_customflow(self, def_crn, sort_versions=True):
182215
flowCrn=def_crn
183216
)
184217
out = result
185-
if sort_versions:
218+
if sort_versions and out:
186219
out['versions'] = sorted(result['versions'], key=lambda d: d['version'], reverse=True)
187220
return out
188221

@@ -240,7 +273,7 @@ def create_deployment(self, df_crn, flow_ver_crn, deployment_name, size_name=Non
240273
if size_name is not None and size_name not in self.DEPLOYMENT_SIZES:
241274
self.sdk.throw_error(CdpError("Deployment size_name %s not in supported size list: %s"
242275
% (size_name, str(self.DEPLOYMENT_SIZES))))
243-
_ = [self.sdk.validate_crn(x[0], x[1]) for x in [(df_crn, 'df'), (flow_ver_crn, 'flow')]]
276+
self.sdk.validate_crn(df_crn, 'df')
244277
if self.list_deployments(name=deployment_name):
245278
self.sdk.throw_error(CdpError("Deployment already exists with conflicting name %s" % deployment_name))
246279
# Setup

0 commit comments

Comments
 (0)