Skip to content

start_backup_job

start_backup_job(
    backup_vault_name: BackupVaultName,
    resource_arn: ARN,
    iam_role_arn: IAMRoleArn,
    *,
    config_overrides: Optional[BackupClientConfig] = None,
    logically_air_gapped_backup_vault_arn: Optional[ARN] = None,
    idempotency_token: Optional[string] = None,
    start_window_minutes: Optional[WindowMinutes] = None,
    complete_window_minutes: Optional[WindowMinutes] = None,
    lifecycle: Optional[Lifecycle] = None,
    recovery_point_tags: Optional[Tags] = None,
    backup_options: Optional[BackupOptions] = None,
    index: Optional[Index] = None,
) -> StartBackupJobOutput

Starts an on-demand backup job for the specified resource.

Parameters:

  • backup_vault_name (BackupVaultName) –

    The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created.

  • logically_air_gapped_backup_vault_arn (Optional[ARN], default: None ) –

    The ARN of a logically air-gapped vault. ARN must be in the same account and Region. If provided, supported fully managed resources back up directly to logically air-gapped vault, while other supported resources create a temporary (billable) snapshot in backup vault, then copy it to logically air-gapped vault. Unsupported resources only back up to the specified backup vault.

  • resource_arn (ARN) –

    An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.

  • iam_role_arn (IAMRoleArn) –

    Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access.

  • idempotency_token (Optional[string], default: None ) –

    A customer-chosen string that you can use to distinguish between otherwise identical calls to StartBackupJob. Retrying a successful request with the same idempotency token results in a success message with no action taken.

  • start_window_minutes (Optional[WindowMinutes], default: None ) –

    A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional, and the default is 8 hours. If this value is included, it must be at least 60 minutes to avoid errors.

    This parameter has a maximum value of 100 years (52,560,000 minutes).

    During the start window, the backup job status remains in CREATED status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to RUNNING) or until the job status changes to EXPIRED (which is expected to occur when the start window time is over).

  • complete_window_minutes (Optional[WindowMinutes], default: None ) –

    A value in minutes during which a successfully started backup must complete, or else Backup will cancel the job. This value is optional. This value begins counting down from when the backup was scheduled. It does not add additional time for StartWindowMinutes, or if the backup started later than scheduled.

    Like StartWindowMinutes, this parameter has a maximum value of 100 years (52,560,000 minutes).

  • lifecycle (Optional[Lifecycle], default: None ) –

    The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define.

    Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold.

    Resource types that can transition to cold storage are listed in the Feature availability by resource table. Backup ignores this expression for other resource types.

    This parameter has a maximum value of 100 years (36,500 days).

  • recovery_point_tags (Optional[Tags], default: None ) –

    The tags to assign to the resources.

  • backup_options (Optional[BackupOptions], default: None ) –

    The backup option for a selected resource. This option is only available for Windows Volume Shadow Copy Service (VSS) backup jobs.

    Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup. Set to "WindowsVSS""disabled" to create a regular backup. The WindowsVSS option is not enabled by default.

  • index (Optional[Index], default: None ) –

    Include this parameter to enable index creation if your backup job has a resource type that supports backup indexes.

    Resource types that support backup indexes include:

    • EBS for Amazon Elastic Block Store

    • S3 for Amazon Simple Storage Service (Amazon S3)

    Index can have 1 of 2 possible values, either ENABLED or DISABLED.

    To create a backup index for an eligible ACTIVE recovery point that does not yet have a backup index, set value to ENABLED.

    To delete a backup index, set value to DISABLED.

Raises:

Source code in docs_src/capo_backup/_services/backup.py
def start_backup_job(
    self,
    backup_vault_name: "capo_backup.types.backup_vault_name.BackupVaultName",
    resource_arn: "capo_backup.types.arn.ARN",
    iam_role_arn: "capo_backup.types.iam_role_arn.IAMRoleArn",
    *,
    config_overrides: Optional[BackupClientConfig] = None,
    logically_air_gapped_backup_vault_arn: Optional[
        "capo_backup.types.arn.ARN"
    ] = None,
    idempotency_token: Optional["capo_backup.types.string.string"] = None,
    start_window_minutes: Optional[
        "capo_backup.types.window_minutes.WindowMinutes"
    ] = None,
    complete_window_minutes: Optional[
        "capo_backup.types.window_minutes.WindowMinutes"
    ] = None,
    lifecycle: Optional["capo_backup.types.lifecycle.Lifecycle"] = None,
    recovery_point_tags: Optional["capo_backup.types.tags.Tags"] = None,
    backup_options: Optional[
        "capo_backup.types.backup_options.BackupOptions"
    ] = None,
    index: Optional["capo_backup.types.index.Index"] = None,
) -> "capo_backup.types.start_backup_job_output.StartBackupJobOutput":
    """<p>Starts an on-demand backup job for the specified resource.</p>

    Args:
        backup_vault_name: <p>The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created.</p>
        logically_air_gapped_backup_vault_arn: <p>The ARN of a logically air-gapped vault. ARN must be in the same account and Region. If provided, supported fully managed resources back up directly to logically air-gapped vault, while other supported resources create a temporary (billable) snapshot in backup vault, then copy it to logically air-gapped vault. Unsupported resources only back up to the specified backup vault.</p>
        resource_arn: <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.</p>
        iam_role_arn: <p>Specifies the IAM role ARN used to create the target recovery point; for example, <code>arn:aws:iam::123456789012:role/S3Access</code>.</p>
        idempotency_token: <p>A customer-chosen string that you can use to distinguish between otherwise identical calls to <code>StartBackupJob</code>. Retrying a successful request with the same idempotency token results in a success message with no action taken.</p>
        start_window_minutes: <p>A value in minutes after a backup is scheduled before a job will be canceled if it doesn't start successfully. This value is optional, and the default is 8 hours. If this value is included, it must be at least 60 minutes to avoid errors.</p> <p>This parameter has a maximum value of 100 years (52,560,000 minutes).</p> <p>During the start window, the backup job status remains in <code>CREATED</code> status until it has successfully begun or until the start window time has run out. If within the start window time Backup receives an error that allows the job to be retried, Backup will automatically retry to begin the job at least every 10 minutes until the backup successfully begins (the job status changes to <code>RUNNING</code>) or until the job status changes to <code>EXPIRED</code> (which is expected to occur when the start window time is over).</p>
        complete_window_minutes: <p>A value in minutes during which a successfully started backup must complete, or else Backup will cancel the job. This value is optional. This value begins counting down from when the backup was scheduled. It does not add additional time for <code>StartWindowMinutes</code>, or if the backup started later than scheduled.</p> <p>Like <code>StartWindowMinutes</code>, this parameter has a maximum value of 100 years (52,560,000 minutes).</p>
        lifecycle: <p>The lifecycle defines when a protected resource is transitioned to cold storage and when it expires. Backup will transition and expire backups automatically according to the lifecycle that you define. </p> <p>Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the “transition to cold after days” setting. The “transition to cold after days” setting cannot be changed after a backup has been transitioned to cold. </p> <p>Resource types that can transition to cold storage are listed in the <a href="https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource">Feature availability by resource</a> table. Backup ignores this expression for other resource types.</p> <p>This parameter has a maximum value of 100 years (36,500 days).</p>
        recovery_point_tags: <p>The tags to assign to the resources.</p>
        backup_options: <p>The backup option for a selected resource. This option is only available for Windows Volume Shadow Copy Service (VSS) backup jobs.</p> <p>Valid values: Set to <code>"WindowsVSS":"enabled"</code> to enable the <code>WindowsVSS</code> backup option and create a Windows VSS backup. Set to <code>"WindowsVSS""disabled"</code> to create a regular backup. The <code>WindowsVSS</code> option is not enabled by default.</p>
        index: <p>Include this parameter to enable index creation if your backup job has a resource type that supports backup indexes.</p> <p>Resource types that support backup indexes include:</p> <ul> <li> <p> <code>EBS</code> for Amazon Elastic Block Store</p> </li> <li> <p> <code>S3</code> for Amazon Simple Storage Service (Amazon S3)</p> </li> </ul> <p>Index can have 1 of 2 possible values, either <code>ENABLED</code> or <code>DISABLED</code>.</p> <p>To create a backup index for an eligible <code>ACTIVE</code> recovery point that does not yet have a backup index, set value to <code>ENABLED</code>.</p> <p>To delete a backup index, set value to <code>DISABLED</code>.</p>

    Raises:
        capo_backup.errors.invalid_parameter_value_exception.InvalidParameterValueException: <p>Indicates that something is wrong with a parameter's value. For example, the value is out of range.</p>
        capo_backup.errors.invalid_request_exception.InvalidRequestException: <p>Indicates that something is wrong with the input to the request. For example, a parameter is of the wrong type.</p>
        capo_backup.errors.limit_exceeded_exception.LimitExceededException: <p>A limit in the request has been exceeded; for example, a maximum number of items allowed in a request.</p>
        capo_backup.errors.missing_parameter_value_exception.MissingParameterValueException: <p>Indicates that a required parameter is missing.</p>
        capo_backup.errors.resource_not_found_exception.ResourceNotFoundException: <p>A resource that is required for the action doesn't exist.</p>
        capo_backup.errors.service_unavailable_exception.ServiceUnavailableException: <p>The request failed due to a temporary failure of the server.</p>
        capo_backup.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_backup.types.start_backup_job_input.StartBackupJobInput]",
    ) -> OperationResponse[
        "capo_backup.types.start_backup_job_output.StartBackupJobOutput"
    ]:
        import capo_backup._operations.cryo_controller_user_manager.start_backup_job

        output, http_response = (
            capo_backup._operations.cryo_controller_user_manager.start_backup_job.start_backup_job(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_backup.types.start_backup_job_input.StartBackupJobInput",
    ) -> dict[str, Any]:
        import capo_backup.types.start_backup_job_input

        return capo_backup.types.start_backup_job_input.redact_sensitive(input_)

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("StartBackupJob", redact_input=_redact_input),
    )
    input_: capo_backup.types.start_backup_job_input.StartBackupJobInput = {
        "backup_vault_name": backup_vault_name,
        "resource_arn": resource_arn,
        "iam_role_arn": iam_role_arn,
    }
    if logically_air_gapped_backup_vault_arn is not None:
        input_["logically_air_gapped_backup_vault_arn"] = (
            logically_air_gapped_backup_vault_arn
        )
    if idempotency_token is None:
        idempotency_token = str(uuid.uuid4())
    input_["idempotency_token"] = idempotency_token
    if start_window_minutes is not None:
        input_["start_window_minutes"] = start_window_minutes
    if complete_window_minutes is not None:
        input_["complete_window_minutes"] = complete_window_minutes
    if lifecycle is not None:
        input_["lifecycle"] = lifecycle
    if recovery_point_tags is not None:
        input_["recovery_point_tags"] = recovery_point_tags
    if backup_options is not None:
        input_["backup_options"] = backup_options
    if index is not None:
        input_["index"] = index

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output