Ejemplo n.º 1
0
def list_recovery_points(client,
                         resource_group_name,
                         vault_name,
                         item,
                         start_date=None,
                         end_date=None):
    # Get container and item URIs
    container_uri = helper.get_protection_container_uri_from_id(item.id)
    item_uri = helper.get_protected_item_uri_from_id(item.id)

    query_end_date, query_start_date = helper.get_query_dates(
        end_date, start_date)

    filter_string = helper.get_filter_string({
        'startDate': query_start_date,
        'endDate': query_end_date
    })

    # Get recovery points
    recovery_points = client.list(vault_name, resource_group_name, fabric_name,
                                  container_uri, item_uri, filter_string)
    paged_recovery_points = helper.get_list_from_paged_response(
        recovery_points)

    return paged_recovery_points
Ejemplo n.º 2
0
def list_wl_recovery_points(cmd, client, resource_group_name, vault_name, item, start_date=None, end_date=None,
                            extended_info=None):
    # Get container and item URIs
    container_uri = cust_help.get_protection_container_uri_from_id(item.id)
    item_uri = cust_help.get_protected_item_uri_from_id(item.id)

    query_end_date, query_start_date = cust_help.get_query_dates(end_date, start_date)

    if query_end_date and query_start_date:
        cust_help.is_range_valid(query_start_date, query_end_date)

    filter_string = cust_help.get_filter_string({
        'startDate': query_start_date,
        'endDate': query_end_date})

    if cmd.name.split()[2] == 'show-log-chain' or extended_info is not None:
        filter_string = cust_help.get_filter_string({
            'restorePointQueryType': 'Log',
            'startDate': query_start_date,
            'endDate': query_end_date,
            'extendedInfo': extended_info})

    # Get recovery points
    recovery_points = client.list(vault_name, resource_group_name, fabric_name, container_uri, item_uri, filter_string)
    paged_recovery_points = cust_help.get_list_from_paged_response(recovery_points)

    return paged_recovery_points
Ejemplo n.º 3
0
def list_recovery_points(client,
                         resource_group_name,
                         vault_name,
                         item,
                         start_date=None,
                         end_date=None,
                         use_secondary_region=None):
    if use_secondary_region:
        raise InvalidArgumentValueError("""
            --use-secondary-region flag is not supported for --backup-management-type AzureStorage.
            Please either remove the flag or query for any other backup-management-type.
            """)

    # Get container and item URIs
    container_uri = helper.get_protection_container_uri_from_id(item.id)
    item_uri = helper.get_protected_item_uri_from_id(item.id)

    query_end_date, query_start_date = helper.get_query_dates(
        end_date, start_date)

    filter_string = helper.get_filter_string({
        'startDate': query_start_date,
        'endDate': query_end_date
    })

    # Get recovery points
    recovery_points = client.list(vault_name, resource_group_name, fabric_name,
                                  container_uri, item_uri, filter_string)
    paged_recovery_points = helper.get_list_from_paged_response(
        recovery_points)

    return paged_recovery_points
Ejemplo n.º 4
0
def list_recovery_points(cmd,
                         client,
                         resource_group_name,
                         vault_name,
                         item,
                         start_date=None,
                         end_date=None,
                         use_secondary_region=None,
                         is_ready_for_move=None,
                         target_tier=None,
                         tier=None,
                         recommended_for_archive=None):
    if use_secondary_region:
        raise ArgumentUsageError("""
            --use-secondary-region flag is not supported for --backup-management-type AzureStorage.
            Please either remove the flag or query for any other backup-management-type.
            """)

    if is_ready_for_move is not None or target_tier is not None or tier is not None:
        raise ArgumentUsageError(
            """Invalid argument has been passed. --is-ready-for-move true, --target-tier
        and --tier flags are not supported for --backup-management-type AzureStorage."""
        )

    if recommended_for_archive is not None:
        raise ArgumentUsageError(
            """--recommended-for-archive is supported by AzureIaasVM backup management
        type only.""")

    if cmd.name.split()[2] == 'show-log-chain':
        raise ArgumentUsageError(
            "show-log-chain is supported by AzureWorkload backup management type only."
        )

    # Get container and item URIs
    container_uri = helper.get_protection_container_uri_from_id(item.id)
    item_uri = helper.get_protected_item_uri_from_id(item.id)

    query_end_date, query_start_date = helper.get_query_dates(
        end_date, start_date)

    filter_string = helper.get_filter_string({
        'startDate': query_start_date,
        'endDate': query_end_date
    })

    # Get recovery points
    recovery_points = client.list(vault_name, resource_group_name, fabric_name,
                                  container_uri, item_uri, filter_string)
    paged_recovery_points = helper.get_list_from_paged_response(
        recovery_points)

    return paged_recovery_points
Ejemplo n.º 5
0
def list_wl_recovery_points(cmd, client, resource_group_name, vault_name, item, start_date=None, end_date=None,
                            extended_info=None, is_ready_for_move=None, target_tier=None, use_secondary_region=None,
                            tier=None, recommended_for_archive=None):

    if recommended_for_archive is not None:
        raise ArgumentUsageError("""--recommended-for-archive is supported by AzureIaasVM backup management
        type only.""")

    # Get container and item URIs
    container_uri = cust_help.get_protection_container_uri_from_id(item.id)
    item_uri = cust_help.get_protected_item_uri_from_id(item.id)

    query_end_date, query_start_date = cust_help.get_query_dates(end_date, start_date)

    if query_end_date and query_start_date:
        cust_help.is_range_valid(query_start_date, query_end_date)

    filter_string = cust_help.get_filter_string({
        'startDate': query_start_date,
        'endDate': query_end_date})

    if cmd.name.split()[2] == 'show-log-chain' or extended_info is not None:
        filter_string = cust_help.get_filter_string({
            'restorePointQueryType': 'Log',
            'startDate': query_start_date,
            'endDate': query_end_date,
            'extendedInfo': extended_info})

    if use_secondary_region:
        client = recovery_points_crr_cf(cmd.cli_ctx)

    # Get recovery points
    recovery_points = client.list(vault_name, resource_group_name, fabric_name, container_uri, item_uri, filter_string)
    paged_recovery_points = cust_help.get_list_from_paged_response(recovery_points)

    common.fetch_tier(paged_recovery_points)

    if use_secondary_region:
        paged_recovery_points = [item for item in paged_recovery_points if item.properties.recovery_point_tier_details
                                 is None or (item.properties.recovery_point_tier_details is not None and
                                             item.tier_type != 'VaultArchive')]

    recovery_point_list = common.check_rp_move_readiness(paged_recovery_points, target_tier, is_ready_for_move)
    recovery_point_list = common.filter_rp_based_on_tier(recovery_point_list, tier)
    return recovery_point_list