Skip to content

Commit 9a9f9f3

Browse files
author
Adrian Polanczyk
authored
RD-6060 - Changes for Vault Secrets Provider (#1458)
1 parent 02b7fe7 commit 9a9f9f3

2 files changed

Lines changed: 73 additions & 4 deletions

File tree

cloudify_cli/cli/cfy.py

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1900,6 +1900,7 @@ def __init__(self):
19001900
)
19011901

19021902
self.provider = click.option(
1903+
'-p',
19031904
'--provider',
19041905
'provider',
19051906
required=False,
@@ -2499,22 +2500,32 @@ def deployment_filter_rules(self, f):
24992500
return self._filter_rules(f, 'deployment')
25002501

25012502
@staticmethod
2502-
def secret_provider_type(required=True, _help=None):
2503+
def secret_provider_type(
2504+
required=True,
2505+
_help=None,
2506+
default=None,
2507+
callback=validate_value_not_empty,
2508+
):
25032509
args = [
2510+
'-y',
25042511
'--type',
25052512
'secret_provider_type',
25062513
]
25072514
kwargs = {
25082515
'required': required,
25092516
'help': _help or helptexts.SECRET_PROVIDER_TYPE,
2510-
'callback': validate_value_not_empty,
2517+
'callback': callback,
25112518
}
25122519

2520+
if default is not None:
2521+
kwargs['default'] = default
2522+
25132523
return click.option(*args, **kwargs)
25142524

25152525
@staticmethod
25162526
def connection_parameters(required=True, _help=None, default=None):
25172527
args = [
2528+
'-c',
25182529
'--connection-parameters',
25192530
]
25202531
kwargs = {
@@ -2530,6 +2541,7 @@ def connection_parameters(required=True, _help=None, default=None):
25302541
@staticmethod
25312542
def provider_multiple(required=False, _help=None, default=None):
25322543
args = [
2544+
'-p',
25332545
'--provider',
25342546
'provider',
25352547
]

cloudify_cli/commands/secrets.py

Lines changed: 59 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
SECRET_PROVIDER_COLUMNS = [
4747
'name',
4848
'type',
49-
'connection_parameters',
5049
'visibility',
5150
'tenant_name',
5251
'created_by',
@@ -473,10 +472,18 @@ def providers_create(
473472
)
474473

475474
logger.info(
476-
'Secret provider `%s` created',
475+
'Secrets Provider `%s` created',
477476
secret_provider_name,
478477
)
479478

479+
client.secrets_providers.check(
480+
name=secret_provider_name,
481+
)
482+
483+
logger.info(
484+
'Connected to the Secrets Provider successfully',
485+
)
486+
480487

481488
@providers.command(
482489
name='update',
@@ -610,6 +617,56 @@ def providers_list(
610617
)
611618

612619

620+
@providers.command(
621+
name='test',
622+
short_help='Test a Secrets Provider connectivity',
623+
)
624+
@cfy.argument(
625+
'secret_provider_name',
626+
required=False,
627+
default='',
628+
)
629+
@cfy.options.secret_provider_type(
630+
required=False,
631+
default='',
632+
callback=None,
633+
)
634+
@cfy.options.connection_parameters(
635+
required=False,
636+
)
637+
@cfy.options.tenant_name(
638+
required=False,
639+
resource_name_for_help='secret_provider',
640+
)
641+
@cfy.options.visibility(
642+
mutually_exclusive_required=False,
643+
)
644+
@cfy.options.common_options
645+
@cfy.assert_manager_active()
646+
@cfy.pass_client(
647+
use_tenant_in_header=True,
648+
)
649+
@cfy.pass_logger
650+
def providers_test(
651+
secret_provider_name,
652+
secret_provider_type,
653+
connection_parameters,
654+
tenant_name,
655+
visibility,
656+
logger,
657+
client,
658+
):
659+
client.secrets_providers.check(
660+
name=secret_provider_name,
661+
_type=secret_provider_type,
662+
connection_parameters=connection_parameters,
663+
)
664+
665+
logger.info(
666+
'Connected to the Secrets Provider successfully',
667+
)
668+
669+
613670
def _get_secret_string(secret_file, secret_string):
614671
if secret_file:
615672
if not os.path.exists(secret_file):

0 commit comments

Comments
 (0)