All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.alicloud.hbr.inputs.RestoreJobState Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.alicloud.hbr.inputs;

import com.pulumi.alicloud.hbr.inputs.RestoreJobOtsDetailArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class RestoreJobState extends com.pulumi.resources.ResourceArgs {

    public static final RestoreJobState Empty = new RestoreJobState();

    /**
     * The role name created in the original account RAM backup by the cross account managed by the current account.
     * 
     */
    @Import(name="crossAccountRoleName")
    private @Nullable Output crossAccountRoleName;

    /**
     * @return The role name created in the original account RAM backup by the cross account managed by the current account.
     * 
     */
    public Optional> crossAccountRoleName() {
        return Optional.ofNullable(this.crossAccountRoleName);
    }

    /**
     * The type of the cross account backup. Valid values: `SELF_ACCOUNT`, `CROSS_ACCOUNT`.
     * 
     */
    @Import(name="crossAccountType")
    private @Nullable Output crossAccountType;

    /**
     * @return The type of the cross account backup. Valid values: `SELF_ACCOUNT`, `CROSS_ACCOUNT`.
     * 
     */
    public Optional> crossAccountType() {
        return Optional.ofNullable(this.crossAccountType);
    }

    /**
     * The original account ID of the cross account backup managed by the current account.
     * 
     */
    @Import(name="crossAccountUserId")
    private @Nullable Output crossAccountUserId;

    /**
     * @return The original account ID of the cross account backup managed by the current account.
     * 
     */
    public Optional> crossAccountUserId() {
        return Optional.ofNullable(this.crossAccountUserId);
    }

    /**
     * The exclude path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/excludePath]`, up to 255 characters. **WARNING:** If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    @Import(name="exclude")
    private @Nullable Output exclude;

    /**
     * @return The exclude path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/excludePath]`, up to 255 characters. **WARNING:** If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    public Optional> exclude() {
        return Optional.ofNullable(this.exclude);
    }

    /**
     * The include path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/includePath"]`, Up to 255 characters. **WARNING:** The field is required while source_type equals `OTS_TABLE` which means source table name. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    @Import(name="include")
    private @Nullable Output include;

    /**
     * @return The include path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/includePath"]`, Up to 255 characters. **WARNING:** The field is required while source_type equals `OTS_TABLE` which means source table name. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    public Optional> include() {
        return Optional.ofNullable(this.include);
    }

    /**
     * Recovery options. **NOTE:** Required while source_type equals `OSS` or `NAS`, invalid while source_type equals `ECS_FILE`. It's a json string with format:`"{"includes":[],"excludes":[]}",`. Recovery options. When restores OTS_TABLE and real target time is the rangEnd time of the snapshot, it should be a string with format: `{"UI_TargetTime":1650032529018}`.
     * 
     */
    @Import(name="options")
    private @Nullable Output options;

    /**
     * @return Recovery options. **NOTE:** Required while source_type equals `OSS` or `NAS`, invalid while source_type equals `ECS_FILE`. It's a json string with format:`"{"includes":[],"excludes":[]}",`. Recovery options. When restores OTS_TABLE and real target time is the rangEnd time of the snapshot, it should be a string with format: `{"UI_TargetTime":1650032529018}`.
     * 
     */
    public Optional> options() {
        return Optional.ofNullable(this.options);
    }

    /**
     * The details about the Tablestore instance. See the following `Block ots_detail`.
     * 
     */
    @Import(name="otsDetail")
    private @Nullable Output otsDetail;

    /**
     * @return The details about the Tablestore instance. See the following `Block ots_detail`.
     * 
     */
    public Optional> otsDetail() {
        return Optional.ofNullable(this.otsDetail);
    }

    /**
     * Restore Job ID. It's the unique key of this resource, if you want to set this argument by yourself, you must specify a unique keyword that never appears.
     * 
     */
    @Import(name="restoreJobId")
    private @Nullable Output restoreJobId;

    /**
     * @return Restore Job ID. It's the unique key of this resource, if you want to set this argument by yourself, you must specify a unique keyword that never appears.
     * 
     */
    public Optional> restoreJobId() {
        return Optional.ofNullable(this.restoreJobId);
    }

    /**
     * The type of recovery destination. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS_ROLLBACK`. **Note**: Currently, there is a one-to-one correspondence between the data source type with the recovery destination type.
     * 
     */
    @Import(name="restoreType")
    private @Nullable Output restoreType;

    /**
     * @return The type of recovery destination. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS_ROLLBACK`. **Note**: Currently, there is a one-to-one correspondence between the data source type with the recovery destination type.
     * 
     */
    public Optional> restoreType() {
        return Optional.ofNullable(this.restoreType);
    }

    /**
     * The hashcode of Snapshot.
     * 
     */
    @Import(name="snapshotHash")
    private @Nullable Output snapshotHash;

    /**
     * @return The hashcode of Snapshot.
     * 
     */
    public Optional> snapshotHash() {
        return Optional.ofNullable(this.snapshotHash);
    }

    /**
     * The ID of Snapshot.
     * 
     */
    @Import(name="snapshotId")
    private @Nullable Output snapshotId;

    /**
     * @return The ID of Snapshot.
     * 
     */
    public Optional> snapshotId() {
        return Optional.ofNullable(this.snapshotId);
    }

    /**
     * The type of data source. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS`.
     * 
     */
    @Import(name="sourceType")
    private @Nullable Output sourceType;

    /**
     * @return The type of data source. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS`.
     * 
     */
    public Optional> sourceType() {
        return Optional.ofNullable(this.sourceType);
    }

    /**
     * The Restore Job Status.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The Restore Job Status.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The target name of OSS bucket. **NOTE:** Required while source_type equals `OSS`,
     * 
     */
    @Import(name="targetBucket")
    private @Nullable Output targetBucket;

    /**
     * @return The target name of OSS bucket. **NOTE:** Required while source_type equals `OSS`,
     * 
     */
    public Optional> targetBucket() {
        return Optional.ofNullable(this.targetBucket);
    }

    /**
     * The target client ID.
     * 
     */
    @Import(name="targetClientId")
    private @Nullable Output targetClientId;

    /**
     * @return The target client ID.
     * 
     */
    public Optional> targetClientId() {
        return Optional.ofNullable(this.targetClientId);
    }

    /**
     * The creation time of destination File System. **NOTE:** While source_type equals `NAS`, this parameter must be set. **Note:** The time format of the API adopts the ISO 8601 format, such as `2021-07-09T15:45:30CST` or `2021-07-09T07:45:30Z`.
     * 
     */
    @Import(name="targetCreateTime")
    private @Nullable Output targetCreateTime;

    /**
     * @return The creation time of destination File System. **NOTE:** While source_type equals `NAS`, this parameter must be set. **Note:** The time format of the API adopts the ISO 8601 format, such as `2021-07-09T15:45:30CST` or `2021-07-09T07:45:30Z`.
     * 
     */
    public Optional> targetCreateTime() {
        return Optional.ofNullable(this.targetCreateTime);
    }

    /**
     * The target data source ID.
     * 
     */
    @Import(name="targetDataSourceId")
    private @Nullable Output targetDataSourceId;

    /**
     * @return The target data source ID.
     * 
     */
    public Optional> targetDataSourceId() {
        return Optional.ofNullable(this.targetDataSourceId);
    }

    /**
     * The ID of destination File System. **NOTE:** Required while source_type equals `NAS`
     * 
     */
    @Import(name="targetFileSystemId")
    private @Nullable Output targetFileSystemId;

    /**
     * @return The ID of destination File System. **NOTE:** Required while source_type equals `NAS`
     * 
     */
    public Optional> targetFileSystemId() {
        return Optional.ofNullable(this.targetFileSystemId);
    }

    /**
     * The target ID of ECS instance. **NOTE:** Required while source_type equals `ECS_FILE`
     * 
     */
    @Import(name="targetInstanceId")
    private @Nullable Output targetInstanceId;

    /**
     * @return The target ID of ECS instance. **NOTE:** Required while source_type equals `ECS_FILE`
     * 
     */
    public Optional> targetInstanceId() {
        return Optional.ofNullable(this.targetInstanceId);
    }

    /**
     * The name of the Table store instance to which you want to restore data.**WARNING:** Required while source_type equals `OTS_TABLE`.
     * 
     */
    @Import(name="targetInstanceName")
    private @Nullable Output targetInstanceName;

    /**
     * @return The name of the Table store instance to which you want to restore data.**WARNING:** Required while source_type equals `OTS_TABLE`.
     * 
     */
    public Optional> targetInstanceName() {
        return Optional.ofNullable(this.targetInstanceName);
    }

    /**
     * The target file path of (ECS) instance. **WARNING:** Required while source_type equals `NAS` or `ECS_FILE`, If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    @Import(name="targetPath")
    private @Nullable Output targetPath;

    /**
     * @return The target file path of (ECS) instance. **WARNING:** Required while source_type equals `NAS` or `ECS_FILE`, If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    public Optional> targetPath() {
        return Optional.ofNullable(this.targetPath);
    }

    /**
     * The target prefix of the OSS object. **WARNING:** Required while source_type equals `OSS`. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    @Import(name="targetPrefix")
    private @Nullable Output targetPrefix;

    /**
     * @return The target prefix of the OSS object. **WARNING:** Required while source_type equals `OSS`. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
     * 
     */
    public Optional> targetPrefix() {
        return Optional.ofNullable(this.targetPrefix);
    }

    /**
     * The name of the table that stores the restored data. **WARNING:** Required while source_type equals `OTS_TABLE`.
     * 
     */
    @Import(name="targetTableName")
    private @Nullable Output targetTableName;

    /**
     * @return The name of the table that stores the restored data. **WARNING:** Required while source_type equals `OTS_TABLE`.
     * 
     */
    public Optional> targetTableName() {
        return Optional.ofNullable(this.targetTableName);
    }

    /**
     * The time when data is restored to the Table store instance. This value is a UNIX timestamp. Unit: seconds. **WARNING:** Required while source_type equals `OTS_TABLE`. **Note:** The time when data is restored to the Tablestore instance. It should be 0 if restores data at the End time of the snapshot.
     * 
     */
    @Import(name="targetTime")
    private @Nullable Output targetTime;

    /**
     * @return The time when data is restored to the Table store instance. This value is a UNIX timestamp. Unit: seconds. **WARNING:** Required while source_type equals `OTS_TABLE`. **Note:** The time when data is restored to the Tablestore instance. It should be 0 if restores data at the End time of the snapshot.
     * 
     */
    public Optional> targetTime() {
        return Optional.ofNullable(this.targetTime);
    }

    /**
     * The full machine backup details.
     * 
     */
    @Import(name="udmDetail")
    private @Nullable Output udmDetail;

    /**
     * @return The full machine backup details.
     * 
     */
    public Optional> udmDetail() {
        return Optional.ofNullable(this.udmDetail);
    }

    /**
     * The ID of backup vault.
     * 
     */
    @Import(name="vaultId")
    private @Nullable Output vaultId;

    /**
     * @return The ID of backup vault.
     * 
     */
    public Optional> vaultId() {
        return Optional.ofNullable(this.vaultId);
    }

    private RestoreJobState() {}

    private RestoreJobState(RestoreJobState $) {
        this.crossAccountRoleName = $.crossAccountRoleName;
        this.crossAccountType = $.crossAccountType;
        this.crossAccountUserId = $.crossAccountUserId;
        this.exclude = $.exclude;
        this.include = $.include;
        this.options = $.options;
        this.otsDetail = $.otsDetail;
        this.restoreJobId = $.restoreJobId;
        this.restoreType = $.restoreType;
        this.snapshotHash = $.snapshotHash;
        this.snapshotId = $.snapshotId;
        this.sourceType = $.sourceType;
        this.status = $.status;
        this.targetBucket = $.targetBucket;
        this.targetClientId = $.targetClientId;
        this.targetCreateTime = $.targetCreateTime;
        this.targetDataSourceId = $.targetDataSourceId;
        this.targetFileSystemId = $.targetFileSystemId;
        this.targetInstanceId = $.targetInstanceId;
        this.targetInstanceName = $.targetInstanceName;
        this.targetPath = $.targetPath;
        this.targetPrefix = $.targetPrefix;
        this.targetTableName = $.targetTableName;
        this.targetTime = $.targetTime;
        this.udmDetail = $.udmDetail;
        this.vaultId = $.vaultId;
    }

    public static Builder builder() {
        return new Builder();
    }
    public static Builder builder(RestoreJobState defaults) {
        return new Builder(defaults);
    }

    public static final class Builder {
        private RestoreJobState $;

        public Builder() {
            $ = new RestoreJobState();
        }

        public Builder(RestoreJobState defaults) {
            $ = new RestoreJobState(Objects.requireNonNull(defaults));
        }

        /**
         * @param crossAccountRoleName The role name created in the original account RAM backup by the cross account managed by the current account.
         * 
         * @return builder
         * 
         */
        public Builder crossAccountRoleName(@Nullable Output crossAccountRoleName) {
            $.crossAccountRoleName = crossAccountRoleName;
            return this;
        }

        /**
         * @param crossAccountRoleName The role name created in the original account RAM backup by the cross account managed by the current account.
         * 
         * @return builder
         * 
         */
        public Builder crossAccountRoleName(String crossAccountRoleName) {
            return crossAccountRoleName(Output.of(crossAccountRoleName));
        }

        /**
         * @param crossAccountType The type of the cross account backup. Valid values: `SELF_ACCOUNT`, `CROSS_ACCOUNT`.
         * 
         * @return builder
         * 
         */
        public Builder crossAccountType(@Nullable Output crossAccountType) {
            $.crossAccountType = crossAccountType;
            return this;
        }

        /**
         * @param crossAccountType The type of the cross account backup. Valid values: `SELF_ACCOUNT`, `CROSS_ACCOUNT`.
         * 
         * @return builder
         * 
         */
        public Builder crossAccountType(String crossAccountType) {
            return crossAccountType(Output.of(crossAccountType));
        }

        /**
         * @param crossAccountUserId The original account ID of the cross account backup managed by the current account.
         * 
         * @return builder
         * 
         */
        public Builder crossAccountUserId(@Nullable Output crossAccountUserId) {
            $.crossAccountUserId = crossAccountUserId;
            return this;
        }

        /**
         * @param crossAccountUserId The original account ID of the cross account backup managed by the current account.
         * 
         * @return builder
         * 
         */
        public Builder crossAccountUserId(Integer crossAccountUserId) {
            return crossAccountUserId(Output.of(crossAccountUserId));
        }

        /**
         * @param exclude The exclude path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/excludePath]`, up to 255 characters. **WARNING:** If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder exclude(@Nullable Output exclude) {
            $.exclude = exclude;
            return this;
        }

        /**
         * @param exclude The exclude path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/excludePath]`, up to 255 characters. **WARNING:** If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder exclude(String exclude) {
            return exclude(Output.of(exclude));
        }

        /**
         * @param include The include path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/includePath"]`, Up to 255 characters. **WARNING:** The field is required while source_type equals `OTS_TABLE` which means source table name. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder include(@Nullable Output include) {
            $.include = include;
            return this;
        }

        /**
         * @param include The include path. **NOTE:** Invalid while source_type equals `OSS` or `NAS`. It's a json string with format:`["/includePath"]`, Up to 255 characters. **WARNING:** The field is required while source_type equals `OTS_TABLE` which means source table name. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder include(String include) {
            return include(Output.of(include));
        }

        /**
         * @param options Recovery options. **NOTE:** Required while source_type equals `OSS` or `NAS`, invalid while source_type equals `ECS_FILE`. It's a json string with format:`"{"includes":[],"excludes":[]}",`. Recovery options. When restores OTS_TABLE and real target time is the rangEnd time of the snapshot, it should be a string with format: `{"UI_TargetTime":1650032529018}`.
         * 
         * @return builder
         * 
         */
        public Builder options(@Nullable Output options) {
            $.options = options;
            return this;
        }

        /**
         * @param options Recovery options. **NOTE:** Required while source_type equals `OSS` or `NAS`, invalid while source_type equals `ECS_FILE`. It's a json string with format:`"{"includes":[],"excludes":[]}",`. Recovery options. When restores OTS_TABLE and real target time is the rangEnd time of the snapshot, it should be a string with format: `{"UI_TargetTime":1650032529018}`.
         * 
         * @return builder
         * 
         */
        public Builder options(String options) {
            return options(Output.of(options));
        }

        /**
         * @param otsDetail The details about the Tablestore instance. See the following `Block ots_detail`.
         * 
         * @return builder
         * 
         */
        public Builder otsDetail(@Nullable Output otsDetail) {
            $.otsDetail = otsDetail;
            return this;
        }

        /**
         * @param otsDetail The details about the Tablestore instance. See the following `Block ots_detail`.
         * 
         * @return builder
         * 
         */
        public Builder otsDetail(RestoreJobOtsDetailArgs otsDetail) {
            return otsDetail(Output.of(otsDetail));
        }

        /**
         * @param restoreJobId Restore Job ID. It's the unique key of this resource, if you want to set this argument by yourself, you must specify a unique keyword that never appears.
         * 
         * @return builder
         * 
         */
        public Builder restoreJobId(@Nullable Output restoreJobId) {
            $.restoreJobId = restoreJobId;
            return this;
        }

        /**
         * @param restoreJobId Restore Job ID. It's the unique key of this resource, if you want to set this argument by yourself, you must specify a unique keyword that never appears.
         * 
         * @return builder
         * 
         */
        public Builder restoreJobId(String restoreJobId) {
            return restoreJobId(Output.of(restoreJobId));
        }

        /**
         * @param restoreType The type of recovery destination. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS_ROLLBACK`. **Note**: Currently, there is a one-to-one correspondence between the data source type with the recovery destination type.
         * 
         * @return builder
         * 
         */
        public Builder restoreType(@Nullable Output restoreType) {
            $.restoreType = restoreType;
            return this;
        }

        /**
         * @param restoreType The type of recovery destination. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS_ROLLBACK`. **Note**: Currently, there is a one-to-one correspondence between the data source type with the recovery destination type.
         * 
         * @return builder
         * 
         */
        public Builder restoreType(String restoreType) {
            return restoreType(Output.of(restoreType));
        }

        /**
         * @param snapshotHash The hashcode of Snapshot.
         * 
         * @return builder
         * 
         */
        public Builder snapshotHash(@Nullable Output snapshotHash) {
            $.snapshotHash = snapshotHash;
            return this;
        }

        /**
         * @param snapshotHash The hashcode of Snapshot.
         * 
         * @return builder
         * 
         */
        public Builder snapshotHash(String snapshotHash) {
            return snapshotHash(Output.of(snapshotHash));
        }

        /**
         * @param snapshotId The ID of Snapshot.
         * 
         * @return builder
         * 
         */
        public Builder snapshotId(@Nullable Output snapshotId) {
            $.snapshotId = snapshotId;
            return this;
        }

        /**
         * @param snapshotId The ID of Snapshot.
         * 
         * @return builder
         * 
         */
        public Builder snapshotId(String snapshotId) {
            return snapshotId(Output.of(snapshotId));
        }

        /**
         * @param sourceType The type of data source. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS`.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(@Nullable Output sourceType) {
            $.sourceType = sourceType;
            return this;
        }

        /**
         * @param sourceType The type of data source. Valid values: `ECS_FILE`, `NAS`, `OSS`,`OTS_TABLE`,`UDM_ECS`.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(String sourceType) {
            return sourceType(Output.of(sourceType));
        }

        /**
         * @param status The Restore Job Status.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The Restore Job Status.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param targetBucket The target name of OSS bucket. **NOTE:** Required while source_type equals `OSS`,
         * 
         * @return builder
         * 
         */
        public Builder targetBucket(@Nullable Output targetBucket) {
            $.targetBucket = targetBucket;
            return this;
        }

        /**
         * @param targetBucket The target name of OSS bucket. **NOTE:** Required while source_type equals `OSS`,
         * 
         * @return builder
         * 
         */
        public Builder targetBucket(String targetBucket) {
            return targetBucket(Output.of(targetBucket));
        }

        /**
         * @param targetClientId The target client ID.
         * 
         * @return builder
         * 
         */
        public Builder targetClientId(@Nullable Output targetClientId) {
            $.targetClientId = targetClientId;
            return this;
        }

        /**
         * @param targetClientId The target client ID.
         * 
         * @return builder
         * 
         */
        public Builder targetClientId(String targetClientId) {
            return targetClientId(Output.of(targetClientId));
        }

        /**
         * @param targetCreateTime The creation time of destination File System. **NOTE:** While source_type equals `NAS`, this parameter must be set. **Note:** The time format of the API adopts the ISO 8601 format, such as `2021-07-09T15:45:30CST` or `2021-07-09T07:45:30Z`.
         * 
         * @return builder
         * 
         */
        public Builder targetCreateTime(@Nullable Output targetCreateTime) {
            $.targetCreateTime = targetCreateTime;
            return this;
        }

        /**
         * @param targetCreateTime The creation time of destination File System. **NOTE:** While source_type equals `NAS`, this parameter must be set. **Note:** The time format of the API adopts the ISO 8601 format, such as `2021-07-09T15:45:30CST` or `2021-07-09T07:45:30Z`.
         * 
         * @return builder
         * 
         */
        public Builder targetCreateTime(String targetCreateTime) {
            return targetCreateTime(Output.of(targetCreateTime));
        }

        /**
         * @param targetDataSourceId The target data source ID.
         * 
         * @return builder
         * 
         */
        public Builder targetDataSourceId(@Nullable Output targetDataSourceId) {
            $.targetDataSourceId = targetDataSourceId;
            return this;
        }

        /**
         * @param targetDataSourceId The target data source ID.
         * 
         * @return builder
         * 
         */
        public Builder targetDataSourceId(String targetDataSourceId) {
            return targetDataSourceId(Output.of(targetDataSourceId));
        }

        /**
         * @param targetFileSystemId The ID of destination File System. **NOTE:** Required while source_type equals `NAS`
         * 
         * @return builder
         * 
         */
        public Builder targetFileSystemId(@Nullable Output targetFileSystemId) {
            $.targetFileSystemId = targetFileSystemId;
            return this;
        }

        /**
         * @param targetFileSystemId The ID of destination File System. **NOTE:** Required while source_type equals `NAS`
         * 
         * @return builder
         * 
         */
        public Builder targetFileSystemId(String targetFileSystemId) {
            return targetFileSystemId(Output.of(targetFileSystemId));
        }

        /**
         * @param targetInstanceId The target ID of ECS instance. **NOTE:** Required while source_type equals `ECS_FILE`
         * 
         * @return builder
         * 
         */
        public Builder targetInstanceId(@Nullable Output targetInstanceId) {
            $.targetInstanceId = targetInstanceId;
            return this;
        }

        /**
         * @param targetInstanceId The target ID of ECS instance. **NOTE:** Required while source_type equals `ECS_FILE`
         * 
         * @return builder
         * 
         */
        public Builder targetInstanceId(String targetInstanceId) {
            return targetInstanceId(Output.of(targetInstanceId));
        }

        /**
         * @param targetInstanceName The name of the Table store instance to which you want to restore data.**WARNING:** Required while source_type equals `OTS_TABLE`.
         * 
         * @return builder
         * 
         */
        public Builder targetInstanceName(@Nullable Output targetInstanceName) {
            $.targetInstanceName = targetInstanceName;
            return this;
        }

        /**
         * @param targetInstanceName The name of the Table store instance to which you want to restore data.**WARNING:** Required while source_type equals `OTS_TABLE`.
         * 
         * @return builder
         * 
         */
        public Builder targetInstanceName(String targetInstanceName) {
            return targetInstanceName(Output.of(targetInstanceName));
        }

        /**
         * @param targetPath The target file path of (ECS) instance. **WARNING:** Required while source_type equals `NAS` or `ECS_FILE`, If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder targetPath(@Nullable Output targetPath) {
            $.targetPath = targetPath;
            return this;
        }

        /**
         * @param targetPath The target file path of (ECS) instance. **WARNING:** Required while source_type equals `NAS` or `ECS_FILE`, If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder targetPath(String targetPath) {
            return targetPath(Output.of(targetPath));
        }

        /**
         * @param targetPrefix The target prefix of the OSS object. **WARNING:** Required while source_type equals `OSS`. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder targetPrefix(@Nullable Output targetPrefix) {
            $.targetPrefix = targetPrefix;
            return this;
        }

        /**
         * @param targetPrefix The target prefix of the OSS object. **WARNING:** Required while source_type equals `OSS`. If this value filled in incorrectly, the task may not start correctly, so please check the parameters before executing the plan.
         * 
         * @return builder
         * 
         */
        public Builder targetPrefix(String targetPrefix) {
            return targetPrefix(Output.of(targetPrefix));
        }

        /**
         * @param targetTableName The name of the table that stores the restored data. **WARNING:** Required while source_type equals `OTS_TABLE`.
         * 
         * @return builder
         * 
         */
        public Builder targetTableName(@Nullable Output targetTableName) {
            $.targetTableName = targetTableName;
            return this;
        }

        /**
         * @param targetTableName The name of the table that stores the restored data. **WARNING:** Required while source_type equals `OTS_TABLE`.
         * 
         * @return builder
         * 
         */
        public Builder targetTableName(String targetTableName) {
            return targetTableName(Output.of(targetTableName));
        }

        /**
         * @param targetTime The time when data is restored to the Table store instance. This value is a UNIX timestamp. Unit: seconds. **WARNING:** Required while source_type equals `OTS_TABLE`. **Note:** The time when data is restored to the Tablestore instance. It should be 0 if restores data at the End time of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder targetTime(@Nullable Output targetTime) {
            $.targetTime = targetTime;
            return this;
        }

        /**
         * @param targetTime The time when data is restored to the Table store instance. This value is a UNIX timestamp. Unit: seconds. **WARNING:** Required while source_type equals `OTS_TABLE`. **Note:** The time when data is restored to the Tablestore instance. It should be 0 if restores data at the End time of the snapshot.
         * 
         * @return builder
         * 
         */
        public Builder targetTime(String targetTime) {
            return targetTime(Output.of(targetTime));
        }

        /**
         * @param udmDetail The full machine backup details.
         * 
         * @return builder
         * 
         */
        public Builder udmDetail(@Nullable Output udmDetail) {
            $.udmDetail = udmDetail;
            return this;
        }

        /**
         * @param udmDetail The full machine backup details.
         * 
         * @return builder
         * 
         */
        public Builder udmDetail(String udmDetail) {
            return udmDetail(Output.of(udmDetail));
        }

        /**
         * @param vaultId The ID of backup vault.
         * 
         * @return builder
         * 
         */
        public Builder vaultId(@Nullable Output vaultId) {
            $.vaultId = vaultId;
            return this;
        }

        /**
         * @param vaultId The ID of backup vault.
         * 
         * @return builder
         * 
         */
        public Builder vaultId(String vaultId) {
            return vaultId(Output.of(vaultId));
        }

        public RestoreJobState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy