in radlab-launcher/radlab.py [0:0]
def getbucket(action, projid):
"""Lists all buckets."""
storage_client = storage.Client(project=projid)
bucketoption = ''
if (action == ACTION_CREATE_DEPLOYMENT):
bucketoption = input("\nWant to use existing GCS Bucket for Terraform configs or Create Bucket ?:\n[1] Use Existing Bucket\n[2] Create New Bucket\n" + Fore.YELLOW + Style.BRIGHT + "Choose a number for your choice" + Style.RESET_ALL + ': ').strip()
if (bucketoption == '1' or action == ACTION_UPDATE_DEPLOYMENT or action == ACTION_DELETE_DEPLOYMENT or action == ACTION_LIST_DEPLOYMENT):
try:
buckets = storage_client.list_buckets()
barray = []
x = 0
print("\nSelect a bucket for Terraform Configs & States... \n")
# Print out Buckets in the default project
for bucket in buckets:
print("[" + str(x + 1) + "] " + bucket.name)
barray.append(bucket.name)
x = x + 1
# Take user input and get the corresponding item from the list
try:
inp = int(input(Fore.YELLOW + Style.BRIGHT + "Choose a number for Bucket Name" + Style.RESET_ALL + ': '))
except:
print(Fore.RED + "\nINVALID or NO OPTION SELECTED FOR BUCKET NAME.\n\nEnter the Bucket name Manually...\n" + Style.RESET_ALL)
if inp in range(1, len(barray) + 1):
tfbucket = barray[inp - 1]
return tfbucket
else:
print(Fore.RED + "\nINVALID or NO OPTION SELECTED FOR BUCKET NAME.\n\nEnter the Bucket name Manually...\n" + Style.RESET_ALL)
sys.exit(1)
except Exception as e:
print(e)
# except:
# tfbucket = input(Fore.YELLOW + Style.BRIGHT +"Enter the GCS Bucket name where Terraform Configs & States will be stored"+ Style.RESET_ALL + ": ")
# tfbucket = tfbucket.lower().strip()
# return tfbucket
elif (bucketoption == '2'):
print("CREATE BUCKET")
bucketprefix = input(Fore.YELLOW + Style.BRIGHT + "\nEnter the prefix for the bucket name i.e. radlab-[PREFIX] " + Style.RESET_ALL + ': ')
# Creates the new bucket
# Note: These samples create a bucket in the default US multi-region with a default storage class of Standard Storage.
# To create a bucket outside these defaults, see [Creating storage buckets](https://cloud.google.com/storage/docs/creating-buckets).
bucket = storage_client.create_bucket('radlab-' + bucketprefix)
print("Bucket {} created.".format(bucket.name))
return bucket.name
else:
sys.exit(Fore.RED + "\nInvalid Choice")