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

com.pulumi.alicloud.hbr.inputs.GetSnapshotsPlainArgs 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.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


public final class GetSnapshotsPlainArgs extends com.pulumi.resources.InvokeArgs {

    public static final GetSnapshotsPlainArgs Empty = new GetSnapshotsPlainArgs();

    /**
     * The bucket name of OSS. While source_type equals `OSS`, this parameter must be set.
     * 
     */
    @Import(name="bucket")
    private @Nullable String bucket;

    /**
     * @return The bucket name of OSS. While source_type equals `OSS`, this parameter must be set.
     * 
     */
    public Optional bucket() {
        return Optional.ofNullable(this.bucket);
    }

    /**
     * Timestamp of Snapshot completion. 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. **Note**: While `complete_time_checker` equals `BETWEEN`, this field should be formatted such as `"2021-08-20T14:17:15CST,2021-08-26T14:17:15CST"`, The first part of this string is the start time, the second part is the end time, and the two parts should be separated by commas.
     * 
     */
    @Import(name="completeTime")
    private @Nullable String completeTime;

    /**
     * @return Timestamp of Snapshot completion. 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. **Note**: While `complete_time_checker` equals `BETWEEN`, this field should be formatted such as `"2021-08-20T14:17:15CST,2021-08-26T14:17:15CST"`, The first part of this string is the start time, the second part is the end time, and the two parts should be separated by commas.
     * 
     */
    public Optional completeTime() {
        return Optional.ofNullable(this.completeTime);
    }

    /**
     * Complete time filter operator. Optional values: `MATCH_TERM`, `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, `LESS_THAN`, `LESS_THAN_OR_EQUAL`, `BETWEEN`.
     * 
     */
    @Import(name="completeTimeChecker")
    private @Nullable String completeTimeChecker;

    /**
     * @return Complete time filter operator. Optional values: `MATCH_TERM`, `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, `LESS_THAN`, `LESS_THAN_OR_EQUAL`, `BETWEEN`.
     * 
     */
    public Optional completeTimeChecker() {
        return Optional.ofNullable(this.completeTimeChecker);
    }

    /**
     * File system creation timestamp of Nas. 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="createTime")
    private @Nullable String createTime;

    /**
     * @return File system creation timestamp of Nas. 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 createTime() {
        return Optional.ofNullable(this.createTime);
    }

    /**
     * The File System ID of Nas. While source_type equals `NAS`, this parameter must be set.
     * 
     */
    @Import(name="fileSystemId")
    private @Nullable String fileSystemId;

    /**
     * @return The File System ID of Nas. While source_type equals `NAS`, this parameter must be set.
     * 
     */
    public Optional fileSystemId() {
        return Optional.ofNullable(this.fileSystemId);
    }

    /**
     * A list of Snapshot IDs.
     * 
     */
    @Import(name="ids")
    private @Nullable List ids;

    /**
     * @return A list of Snapshot IDs.
     * 
     */
    public Optional> ids() {
        return Optional.ofNullable(this.ids);
    }

    /**
     * The ID of ECS instance. The ecs backup client must have been installed on the host. While source_type equals `ECS_FILE`, this parameter must be set.
     * 
     */
    @Import(name="instanceId")
    private @Nullable String instanceId;

    /**
     * @return The ID of ECS instance. The ecs backup client must have been installed on the host. While source_type equals `ECS_FILE`, this parameter must be set.
     * 
     */
    public Optional instanceId() {
        return Optional.ofNullable(this.instanceId);
    }

    @Import(name="limit")
    private @Nullable Integer limit;

    public Optional limit() {
        return Optional.ofNullable(this.limit);
    }

    /**
     * File name where to save data source results (after running `pulumi preview`).
     * 
     */
    @Import(name="outputFile")
    private @Nullable String outputFile;

    /**
     * @return File name where to save data source results (after running `pulumi preview`).
     * 
     */
    public Optional outputFile() {
        return Optional.ofNullable(this.outputFile);
    }

    @Import(name="query")
    private @Nullable String query;

    public Optional query() {
        return Optional.ofNullable(this.query);
    }

    /**
     * Data source type, valid values: `ECS_FILE`, `OSS`, `NAS`.
     * 
     */
    @Import(name="sourceType", required=true)
    private String sourceType;

    /**
     * @return Data source type, valid values: `ECS_FILE`, `OSS`, `NAS`.
     * 
     */
    public String sourceType() {
        return this.sourceType;
    }

    /**
     * The status of snapshot, valid values: `COMPLETE`, `PARTIAL_COMPLETE`.
     * 
     */
    @Import(name="status")
    private @Nullable String status;

    /**
     * @return The status of snapshot, valid values: `COMPLETE`, `PARTIAL_COMPLETE`.
     * 
     */
    public Optional status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The ID of Vault.
     * 
     */
    @Import(name="vaultId", required=true)
    private String vaultId;

    /**
     * @return The ID of Vault.
     * 
     */
    public String vaultId() {
        return this.vaultId;
    }

    private GetSnapshotsPlainArgs() {}

    private GetSnapshotsPlainArgs(GetSnapshotsPlainArgs $) {
        this.bucket = $.bucket;
        this.completeTime = $.completeTime;
        this.completeTimeChecker = $.completeTimeChecker;
        this.createTime = $.createTime;
        this.fileSystemId = $.fileSystemId;
        this.ids = $.ids;
        this.instanceId = $.instanceId;
        this.limit = $.limit;
        this.outputFile = $.outputFile;
        this.query = $.query;
        this.sourceType = $.sourceType;
        this.status = $.status;
        this.vaultId = $.vaultId;
    }

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

    public static final class Builder {
        private GetSnapshotsPlainArgs $;

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

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

        /**
         * @param bucket The bucket name of OSS. While source_type equals `OSS`, this parameter must be set.
         * 
         * @return builder
         * 
         */
        public Builder bucket(@Nullable String bucket) {
            $.bucket = bucket;
            return this;
        }

        /**
         * @param completeTime Timestamp of Snapshot completion. 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. **Note**: While `complete_time_checker` equals `BETWEEN`, this field should be formatted such as `"2021-08-20T14:17:15CST,2021-08-26T14:17:15CST"`, The first part of this string is the start time, the second part is the end time, and the two parts should be separated by commas.
         * 
         * @return builder
         * 
         */
        public Builder completeTime(@Nullable String completeTime) {
            $.completeTime = completeTime;
            return this;
        }

        /**
         * @param completeTimeChecker Complete time filter operator. Optional values: `MATCH_TERM`, `GREATER_THAN`, `GREATER_THAN_OR_EQUAL`, `LESS_THAN`, `LESS_THAN_OR_EQUAL`, `BETWEEN`.
         * 
         * @return builder
         * 
         */
        public Builder completeTimeChecker(@Nullable String completeTimeChecker) {
            $.completeTimeChecker = completeTimeChecker;
            return this;
        }

        /**
         * @param createTime File system creation timestamp of Nas. 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 createTime(@Nullable String createTime) {
            $.createTime = createTime;
            return this;
        }

        /**
         * @param fileSystemId The File System ID of Nas. While source_type equals `NAS`, this parameter must be set.
         * 
         * @return builder
         * 
         */
        public Builder fileSystemId(@Nullable String fileSystemId) {
            $.fileSystemId = fileSystemId;
            return this;
        }

        /**
         * @param ids A list of Snapshot IDs.
         * 
         * @return builder
         * 
         */
        public Builder ids(@Nullable List ids) {
            $.ids = ids;
            return this;
        }

        /**
         * @param ids A list of Snapshot IDs.
         * 
         * @return builder
         * 
         */
        public Builder ids(String... ids) {
            return ids(List.of(ids));
        }

        /**
         * @param instanceId The ID of ECS instance. The ecs backup client must have been installed on the host. While source_type equals `ECS_FILE`, this parameter must be set.
         * 
         * @return builder
         * 
         */
        public Builder instanceId(@Nullable String instanceId) {
            $.instanceId = instanceId;
            return this;
        }

        public Builder limit(@Nullable Integer limit) {
            $.limit = limit;
            return this;
        }

        /**
         * @param outputFile File name where to save data source results (after running `pulumi preview`).
         * 
         * @return builder
         * 
         */
        public Builder outputFile(@Nullable String outputFile) {
            $.outputFile = outputFile;
            return this;
        }

        public Builder query(@Nullable String query) {
            $.query = query;
            return this;
        }

        /**
         * @param sourceType Data source type, valid values: `ECS_FILE`, `OSS`, `NAS`.
         * 
         * @return builder
         * 
         */
        public Builder sourceType(String sourceType) {
            $.sourceType = sourceType;
            return this;
        }

        /**
         * @param status The status of snapshot, valid values: `COMPLETE`, `PARTIAL_COMPLETE`.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable String status) {
            $.status = status;
            return this;
        }

        /**
         * @param vaultId The ID of Vault.
         * 
         * @return builder
         * 
         */
        public Builder vaultId(String vaultId) {
            $.vaultId = vaultId;
            return this;
        }

        public GetSnapshotsPlainArgs build() {
            if ($.sourceType == null) {
                throw new MissingRequiredPropertyException("GetSnapshotsPlainArgs", "sourceType");
            }
            if ($.vaultId == null) {
                throw new MissingRequiredPropertyException("GetSnapshotsPlainArgs", "vaultId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy