def server_down(cmd, client, resource_group_name=None, server_name=None, delete_group=None): if delete_group: resource_client = resource_client_factory(cmd.cli_ctx) if resource_group_name is None: raise CLIError("Expected a a resource group name saved in cache.") # delete resource group logger.warning('Deleting Resource Group \'%s\'...', resource_group_name) return resource_client.resource_groups.delete(resource_group_name) logger.warning('Deleting server \'%s\'...', server_name) return client.delete(resource_group_name, server_name)
def _process_db_up_namespace(cmd, namespace, db_type=None): # populate from cache if existing when no resource group name provided resource_client = resource_client_factory(cmd.cli_ctx) if namespace.resource_group_name is None: _set_value(db_type, namespace, 'resource_group_name', 'group', cache=False) try: resource_client.resource_groups.get(namespace.resource_group_name) except: # Clear resource group name information when it is invalid namespace.resource_group_name = None # populate from cache if existing when no location provided if namespace.location is None: _set_value(db_type, namespace, 'location', 'location', cache=False) # generate smart defaults when namespace.location is None if _get_value(db_type, namespace, 'location', 'location') is None: try: get_default_location_from_resource_group(cmd, namespace) except Exception: namespace.location = 'eastus' _set_value(db_type, namespace, 'location', 'location', default=namespace.location) # When resource group name in namespace is different from what in cache, reset it and create new server name if namespace.resource_group_name != get_config_value(db_type, 'group', None): set_config_value(db_type, 'group', namespace.resource_group_name) if namespace.server_name is None: namespace.server_name = create_random_resource_name('server') set_config_value(db_type, 'server', namespace.server_name) # When no resource group name in namespace and cache, create new resource group with random name create_resource_group = True if namespace.resource_group_name is None: # No resource group provided and in cache namespace.resource_group_name = create_random_resource_name('group') else: try: resource_client.resource_groups.get(namespace.resource_group_name) create_resource_group = False except Exception: # throw exception when resource group name is invalid pass if create_resource_group: # create new resource group params = ResourceGroup(location=namespace.location) logger.warning('Creating Resource Group \'%s\'...', namespace.resource_group_name) resource_client.resource_groups.create_or_update(namespace.resource_group_name, params) _set_value(db_type, namespace, 'resource_group_name', 'group', default=namespace.resource_group_name) _set_value(db_type, namespace, 'server_name', 'server', default=create_random_resource_name('server')) _set_value(db_type, namespace, 'administrator_login', 'login', default=generate_username()) if namespace.generate_password: namespace.administrator_login_password = str(uuid.uuid4()) del namespace.generate_password _set_value(db_type, namespace, 'database_name', 'database', default=DEFAULT_DATABASE_NAME)
def _process_db_up_namespace(cmd, namespace, db_type=None): # populate from cache if existing _set_value(db_type, namespace, 'location', 'location', cache=False) _set_value(db_type, namespace, 'resource_group_name', 'group', cache=False) # generate smart defaults if _get_value(db_type, namespace, 'location', 'location') is None: try: get_default_location_from_resource_group(cmd, namespace) except (CLIError, ValidationError): namespace.location = 'westus2' _set_value(db_type, namespace, 'location', 'location', namespace.location) create_resource_group = True resource_client = resource_client_factory(cmd.cli_ctx) if namespace.resource_group_name is None: namespace.resource_group_name = create_random_resource_name('group') else: try: resource_client.resource_groups.get(namespace.resource_group_name) create_resource_group = False except CloudError: pass if create_resource_group: # create new resource group params = ResourceGroup(location=namespace.location) logger.warning('Creating Resource Group \'%s\'...', namespace.resource_group_name) resource_client.resource_groups.create_or_update( namespace.resource_group_name, params) _set_value(db_type, namespace, 'resource_group_name', 'group', namespace.resource_group_name) _set_value(db_type, namespace, 'server_name', 'server', create_random_resource_name('server')) _set_value(db_type, namespace, 'administrator_login', 'login', generate_username()) if namespace.generate_password: namespace.administrator_login_password = str(uuid.uuid4()) del namespace.generate_password _set_value(db_type, namespace, 'database_name', 'database', DEFAULT_DATABASE_NAME)
def _process_db_up_namespace(cmd, namespace, db_type=None): # populate from cache if existing _set_value(db_type, namespace, 'location', 'location', cache=False) _set_value(db_type, namespace, 'resource_group_name', 'group', cache=False) # generate smart defaults if _get_value(db_type, namespace, 'location', 'location') is None: try: get_default_location_from_resource_group(cmd, namespace) except (CLIError, ValidationError): namespace.location = 'westus2' _set_value(db_type, namespace, 'location', 'location', namespace.location) create_resource_group = True resource_client = resource_client_factory(cmd.cli_ctx) if namespace.resource_group_name is None: namespace.resource_group_name = create_random_resource_name('group') else: try: resource_client.resource_groups.get(namespace.resource_group_name) create_resource_group = False except CloudError: pass if create_resource_group: # create new resource group params = ResourceGroup(location=namespace.location) logger.warning('Creating Resource Group \'%s\'...', namespace.resource_group_name) resource_client.resource_groups.create_or_update(namespace.resource_group_name, params) _set_value(db_type, namespace, 'resource_group_name', 'group', namespace.resource_group_name) _set_value(db_type, namespace, 'server_name', 'server', create_random_resource_name('server')) _set_value(db_type, namespace, 'administrator_login', 'login', generate_username()) if namespace.generate_password: namespace.administrator_login_password = str(uuid.uuid4()) del namespace.generate_password _set_value(db_type, namespace, 'database_name', 'database', DEFAULT_DATABASE_NAME)