Skip to content

Commit 4705c69

Browse files
authored
RD-6446 Add --evaluate-functions (#1454)
I'm a bit tired of having to use the restclient to do this :) Also, node-instances list don't have this feature. Only nodes get, nodes list, NI get.
1 parent 7448144 commit 4705c69

4 files changed

Lines changed: 33 additions & 5 deletions

File tree

cloudify_cli/cli/cfy.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1906,6 +1906,14 @@ def __init__(self):
19061906
help=helptexts.SECRET_PROVIDER_NAME,
19071907
)
19081908

1909+
self.evaluate_functions = click.option(
1910+
'--evaluate-functions',
1911+
is_flag=True,
1912+
default=False,
1913+
required=False,
1914+
help=helptexts.EVALUATE_FUNCTIONS,
1915+
)
1916+
19091917
def common_options(self, f):
19101918
"""A shorthand for applying commonly used arguments.
19111919

cloudify_cli/cli/helptexts.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -616,3 +616,4 @@
616616
SECRET_PROVIDER_CONNECTION_PARAMETERS = """
617617
Secret Provider's connection parameters in stringify JSON format
618618
"""
619+
EVALUATE_FUNCTIONS = "Evaluate functions in returned nodes and node instances"

cloudify_cli/commands/node_instances.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,18 +56,22 @@ def node_instances():
5656
@cfy.options.common_options
5757
@cfy.options.tenant_name(
5858
required=False, resource_name_for_help='node-instance')
59+
@cfy.options.evaluate_functions
5960
@cfy.pass_logger
6061
@cfy.pass_client()
6162
@cfy.options.extended_view
62-
def get(node_instance_id, logger, client, tenant_name):
63+
def get(node_instance_id, evaluate_functions, logger, client, tenant_name):
6364
"""Retrieve information for a specific node-instance
6465
6566
`NODE_INSTANCE_ID` is the id of the node-instance to get information on.
6667
"""
6768
utils.explicit_tenant_name_message(tenant_name, logger)
68-
logger.info('Retrieving node instance {0}'.format(node_instance_id))
69+
logger.info('Retrieving node instance %s', node_instance_id)
6970
try:
70-
node_instance = client.node_instances.get(node_instance_id)
71+
node_instance = client.node_instances.get(
72+
node_instance_id,
73+
evaluate_functions=evaluate_functions,
74+
)
7175
except CloudifyClientError as e:
7276
if e.status_code != 404:
7377
raise

cloudify_cli/commands/nodes.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,18 @@ def nodes():
6060
@cfy.options.deployment_id(required=True)
6161
@cfy.options.common_options
6262
@cfy.options.tenant_name(required=False, resource_name_for_help='node')
63+
@cfy.options.evaluate_functions
6364
@cfy.pass_logger
6465
@cfy.pass_client()
6566
@cfy.options.extended_view
66-
def get(node_id, deployment_id, logger, client, tenant_name):
67+
def get(
68+
node_id,
69+
deployment_id,
70+
evaluate_functions,
71+
client,
72+
logger,
73+
tenant_name,
74+
):
6775
"""Retrieve information for a specific node of a specific deployment
6876
6977
`NODE_ID` is the node id to get information on.
@@ -72,7 +80,11 @@ def get(node_id, deployment_id, logger, client, tenant_name):
7280
logger.info('Retrieving node {0} for deployment {1}'.format(
7381
node_id, deployment_id))
7482
try:
75-
node = client.nodes.get(deployment_id, node_id)
83+
node = client.nodes.get(
84+
deployment_id,
85+
node_id,
86+
evaluate_functions=evaluate_functions,
87+
)
7688
except CloudifyClientError as e:
7789
if e.status_code != 404:
7890
raise
@@ -157,6 +169,7 @@ def _run_node_checks(deployment_id, logger, client):
157169
@cfy.options.pagination_offset
158170
@cfy.options.pagination_size
159171
@cfy.options.common_options
172+
@cfy.options.evaluate_functions
160173
@cfy.pass_logger
161174
@cfy.pass_client()
162175
@cfy.options.extended_view
@@ -170,6 +183,7 @@ def nodes_list(
170183
search,
171184
pagination_offset,
172185
pagination_size,
186+
evaluate_functions,
173187
logger,
174188
client
175189
):
@@ -195,6 +209,7 @@ def nodes_list(
195209
deployment_id=deployment_id,
196210
sort=sort_by,
197211
is_descending=descending,
212+
evaluate_functions=evaluate_functions,
198213
_all_tenants=all_tenants,
199214
_search=search,
200215
_offset=pagination_offset,

0 commit comments

Comments
 (0)