1515############
1616
1717import os
18+ import uuid
1819import json
1920import shutil
2021from datetime import datetime
6566
6667
6768DEPLOYMENT_COLUMNS = [
68- 'id' , 'blueprint_id ' , 'created_at ' , 'updated_at ' , 'visibility ' ,
69- 'tenant_name' , 'created_by' , 'site_name' , 'labels' ,
69+ 'id' , 'display_name ' , 'blueprint_id ' , 'created_at ' , 'updated_at ' ,
70+ 'visibility' , ' tenant_name' , 'created_by' , 'site_name' , 'labels' ,
7071 'deployment_status' , 'installation_status'
7172]
7273DEPLOYMENT_UPDATE_COLUMNS = [
@@ -205,6 +206,7 @@ def _print_single_update(deployment_update_dict,
205206 required = False , resource_name_for_help = 'deployment' )
206207@cfy .options .all_tenants
207208@cfy .options .search
209+ @cfy .options .search_name
208210@cfy .options .pagination_offset
209211@cfy .options .pagination_size
210212@cfy .options .common_options
@@ -219,6 +221,7 @@ def manager_list(blueprint_id,
219221 descending ,
220222 all_tenants ,
221223 search ,
224+ search_name ,
222225 pagination_offset ,
223226 pagination_size ,
224227 logger ,
@@ -245,7 +248,8 @@ def manager_list(blueprint_id,
245248 _offset = pagination_offset ,
246249 _size = pagination_size ,
247250 _group_id = group_id ,
248- blueprint_id = blueprint_id )
251+ blueprint_id = blueprint_id ,
252+ _search_name = search_name )
249253 modify_resource_labels (deployments )
250254 total = deployments .metadata .pagination .total
251255 print_data (DEPLOYMENT_COLUMNS , deployments , 'Deployments:' )
@@ -522,6 +526,8 @@ def manager_update(ctx,
522526@cfy .options .visibility ()
523527@cfy .options .site_name
524528@cfy .options .labels
529+ @cfy .options .generate_id
530+ @cfy .options .display_name
525531@cfy .options .common_options
526532@cfy .options .tenant_name (required = False , resource_name_for_help = 'deployment' )
527533@cfy .options .runtime_only_evaluation
@@ -536,6 +542,8 @@ def manager_create(blueprint_id,
536542 visibility ,
537543 site_name ,
538544 labels ,
545+ generate_id ,
546+ display_name ,
539547 logger ,
540548 client ,
541549 tenant_name ,
@@ -549,8 +557,18 @@ def manager_create(blueprint_id,
549557 utils .explicit_tenant_name_message (tenant_name , logger )
550558 logger .info ('Creating new deployment from blueprint {0}...' .format (
551559 blueprint_id ))
552- deployment_id = deployment_id or blueprint_id
553560 visibility = get_visibility (private_resource , visibility , logger )
561+ if deployment_id :
562+ if generate_id :
563+ raise CloudifyCliError ('`--generate-id` cannot be provided if a '
564+ 'deployment ID is specified' )
565+ else :
566+ if generate_id :
567+ deployment_id = str (uuid .uuid4 ())
568+ else :
569+ deployment_id = blueprint_id
570+
571+ display_name = display_name or deployment_id
554572
555573 try :
556574 deployment = client .deployments .create (
@@ -561,7 +579,8 @@ def manager_create(blueprint_id,
561579 skip_plugins_validation = skip_plugins_validation ,
562580 site_name = site_name ,
563581 runtime_only_evaluation = runtime_only_evaluation ,
564- labels = labels
582+ labels = labels ,
583+ display_name = display_name
565584 )
566585 except (MissingRequiredDeploymentInputError ,
567586 UnknownDeploymentInputError ) as e :
@@ -580,8 +599,8 @@ def manager_create(blueprint_id,
580599 logger .info ('Unable to create deployment due to invalid secret' )
581600 raise CloudifyCliError (str (e ))
582601
583- logger .info ("Deployment created. The deployment's id is {0}" . format (
584- deployment .id ))
602+ logger .info ("Deployment `{0}` created. The deployment's id is "
603+ "{1}" . format ( deployment . display_name , deployment .id ))
585604
586605
587606@cfy .command (name = 'delete' ,
0 commit comments