def show_protectable_instance(items, server_name, protectable_item_type): if server_name is None: raise RequiredArgumentMissingError(""" Server name missing. Please provide a valid server name using --target-server-name. """) if protectable_item_type is None: az_error = RequiredArgumentMissingError(""" Protectable item type missing. Please provide a valid protectable item type name using --target-server-type. """) recommendation_text = "{} are the allowed values.".format( str(list(protectable_item_type_map.keys()))) az_error.set_recommendation(recommendation_text) raise az_error protectable_item_type = _check_map(protectable_item_type, protectable_item_type_map) # Protectable Item Type filter filtered_items = [ item for item in items if item.properties.protectable_item_type is not None and item.properties.protectable_item_type.lower() == protectable_item_type.lower() ] # Server Name filter filtered_items = [ item for item in filtered_items if item.properties.server_name.lower() == server_name.lower() ] return cust_help.get_none_one_or_many(filtered_items)
def _check_map(item_type, item_type_map): if item_type is None: if item_type_map == workload_type_map: az_error = RequiredArgumentMissingError(""" Workload type missing. Please enter a valid workload type using --workload-type. """) recommendation_text = "{} are the allowed values.".format( str(list(item_type_map.keys()))) az_error.set_recommendation(recommendation_text) raise az_error if item_type_map == protectable_item_type_map: az_error = RequiredArgumentMissingError(""" Protectable item type missing. Please enter a valid protectable item type using --protectable-item-type. """) recommendation_text = "{} are the allowed values.".format( str(list(item_type_map.keys()))) az_error.set_recommendation(recommendation_text) raise az_error raise RequiredArgumentMissingError( "Item type missing. Enter a valid item type.") if item_type_map.get(item_type) is not None: return item_type_map[item_type] error_text = "{} is an invalid argument.".format(item_type) recommendation_text = "{} are the allowed values.".format( str(list(item_type_map.keys()))) az_error = InvalidArgumentValueError(error_text) az_error.set_recommendation(recommendation_text) raise az_error