/* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). * You may not use this file except in compliance with the License. * A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language governing * permissions and limitations under the License. */ /* * Do not modify this file. This file is generated from the backup-2018-11-15.normal.json service model. */ using System; using System.Collections.Generic; using System.Xml.Serialization; using System.Text; using System.IO; using System.Net; using Amazon.Runtime; using Amazon.Runtime.Internal; namespace Amazon.Backup.Model { /// /// Container for the parameters to the StartBackupJob operation. /// Starts an on-demand backup job for the specified resource. /// public partial class StartBackupJobRequest : AmazonBackupRequest { private Dictionary _backupOptions = new Dictionary(); private string _backupVaultName; private long? _completeWindowMinutes; private string _iamRoleArn; private string _idempotencyToken; private Lifecycle _lifecycle; private Dictionary _recoveryPointTags = new Dictionary(); private string _resourceArn; private long? _startWindowMinutes; /// /// Gets and sets the property BackupOptions. /// /// Specifies 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. /// /// public Dictionary BackupOptions { get { return this._backupOptions; } set { this._backupOptions = value; } } // Check to see if BackupOptions property is set internal bool IsSetBackupOptions() { return this._backupOptions != null && this._backupOptions.Count > 0; } /// /// Gets and sets the property 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. They consist of lowercase letters, numbers, and hyphens. /// /// [AWSProperty(Required=true)] public string BackupVaultName { get { return this._backupVaultName; } set { this._backupVaultName = value; } } // Check to see if BackupVaultName property is set internal bool IsSetBackupVaultName() { return this._backupVaultName != null; } /// /// Gets and sets the property CompleteWindowMinutes. /// /// 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. /// /// public long CompleteWindowMinutes { get { return this._completeWindowMinutes.GetValueOrDefault(); } set { this._completeWindowMinutes = value; } } // Check to see if CompleteWindowMinutes property is set internal bool IsSetCompleteWindowMinutes() { return this._completeWindowMinutes.HasValue; } /// /// Gets and sets the property IamRoleArn. /// /// Specifies the IAM role ARN used to create the target recovery point; for example, /// arn:aws:iam::123456789012:role/S3Access. /// /// [AWSProperty(Required=true)] public string IamRoleArn { get { return this._iamRoleArn; } set { this._iamRoleArn = value; } } // Check to see if IamRoleArn property is set internal bool IsSetIamRoleArn() { return this._iamRoleArn != null; } /// /// Gets and sets the property IdempotencyToken. /// /// 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. /// /// public string IdempotencyToken { get { return this._idempotencyToken; } set { this._idempotencyToken = value; } } // Check to see if IdempotencyToken property is set internal bool IsSetIdempotencyToken() { return this._idempotencyToken != null; } /// /// Gets and sets the property Lifecycle. /// /// 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 are able to be transitioned to cold storage are listed in the /// "Lifecycle to cold storage" section of the /// Feature availability by resource table. Backup ignores this expression for other /// resource types. /// /// public Lifecycle Lifecycle { get { return this._lifecycle; } set { this._lifecycle = value; } } // Check to see if Lifecycle property is set internal bool IsSetLifecycle() { return this._lifecycle != null; } /// /// Gets and sets the property RecoveryPointTags. /// /// To help organize your resources, you can assign your own metadata to the resources /// that you create. Each tag is a key-value pair. /// /// [AWSProperty(Sensitive=true)] public Dictionary RecoveryPointTags { get { return this._recoveryPointTags; } set { this._recoveryPointTags = value; } } // Check to see if RecoveryPointTags property is set internal bool IsSetRecoveryPointTags() { return this._recoveryPointTags != null && this._recoveryPointTags.Count > 0; } /// /// Gets and sets the property ResourceArn. /// /// An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the /// ARN depends on the resource type. /// /// [AWSProperty(Required=true)] public string ResourceArn { get { return this._resourceArn; } set { this._resourceArn = value; } } // Check to see if ResourceArn property is set internal bool IsSetResourceArn() { return this._resourceArn != null; } /// /// Gets and sets the property StartWindowMinutes. /// /// 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. /// /// /// /// 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). /// /// public long StartWindowMinutes { get { return this._startWindowMinutes.GetValueOrDefault(); } set { this._startWindowMinutes = value; } } // Check to see if StartWindowMinutes property is set internal bool IsSetStartWindowMinutes() { return this._startWindowMinutes.HasValue; } } }