def register_wl_container(cmd, client, vault_name, resource_group_name, workload_type, resource_id, container_type): if not cust_help.is_id(resource_id): raise CLIError( """ Resource ID is not a valid one. """) workload_type = workload_type_map[workload_type] container_name = resource_id.split('/')[-1] containers = list_protectable_containers(cmd, resource_group_name, vault_name) for container in containers: if cust_help.get_resource_id(container.properties.container_id) == cust_help.get_resource_id(resource_id): container_name = container.name break if not cust_help.is_native_name(container_name): raise CLIError( """ Container unavailable or already registered. """) properties = AzureVMAppContainerProtectionContainer(backup_management_type=container_type, source_resource_id=resource_id, workload_type=workload_type) param = ProtectionContainerResource(properties=properties) # Trigger register and wait for completion result = sdk_no_wait(True, client.register, vault_name, resource_group_name, fabric_name, container_name, param) return cust_help.track_register_operation(cmd.cli_ctx, result, vault_name, resource_group_name, container_name)
def _get_protectable_container_name(cmd, resource_group_name, vault_name, resource_id): containers = list_protectable_containers(cmd, resource_group_name, vault_name) container_name = None for container in containers: container_resource_id = cust_help.get_resource_id(container.properties.container_id) if container_resource_id.lower() == cust_help.get_resource_id(resource_id).lower(): container_name = container.name break return container_name