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

com.pulumi.alicloud.ros.inputs.GetTemplatesPlainArgs 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.ros.inputs;

import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final GetTemplatesPlainArgs Empty = new GetTemplatesPlainArgs();

    /**
     * Default to `false`. Set it to `true` can output more details about resource attributes.
     * 
     */
    @Import(name="enableDetails")
    private @Nullable Boolean enableDetails;

    /**
     * @return Default to `false`. Set it to `true` can output more details about resource attributes.
     * 
     */
    public Optional enableDetails() {
        return Optional.ofNullable(this.enableDetails);
    }

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

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

    /**
     * A regex string to filter results by Template name.
     * 
     */
    @Import(name="nameRegex")
    private @Nullable String nameRegex;

    /**
     * @return A regex string to filter results by Template name.
     * 
     */
    public Optional nameRegex() {
        return Optional.ofNullable(this.nameRegex);
    }

    /**
     * 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);
    }

    /**
     * Share Type. Valid Values: `Private`, `Shared`
     * 
     */
    @Import(name="shareType")
    private @Nullable String shareType;

    /**
     * @return Share Type. Valid Values: `Private`, `Shared`
     * 
     */
    public Optional shareType() {
        return Optional.ofNullable(this.shareType);
    }

    /**
     * Query the resource bound to the tag. The format of the incoming value is `json` string, including `TagKey` and `TagValue`. `TagKey` cannot be null, and `TagValue` can be empty. Format example `{"key1":"value1"}`.
     * 
     */
    @Import(name="tags")
    private @Nullable Map tags;

    /**
     * @return Query the resource bound to the tag. The format of the incoming value is `json` string, including `TagKey` and `TagValue`. `TagKey` cannot be null, and `TagValue` can be empty. Format example `{"key1":"value1"}`.
     * 
     */
    public Optional> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The name of the template.  The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (_). It must start with a digit or letter.
     * 
     */
    @Import(name="templateName")
    private @Nullable String templateName;

    /**
     * @return The name of the template.  The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (_). It must start with a digit or letter.
     * 
     */
    public Optional templateName() {
        return Optional.ofNullable(this.templateName);
    }

    private GetTemplatesPlainArgs() {}

    private GetTemplatesPlainArgs(GetTemplatesPlainArgs $) {
        this.enableDetails = $.enableDetails;
        this.ids = $.ids;
        this.nameRegex = $.nameRegex;
        this.outputFile = $.outputFile;
        this.shareType = $.shareType;
        this.tags = $.tags;
        this.templateName = $.templateName;
    }

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

    public static final class Builder {
        private GetTemplatesPlainArgs $;

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

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

        /**
         * @param enableDetails Default to `false`. Set it to `true` can output more details about resource attributes.
         * 
         * @return builder
         * 
         */
        public Builder enableDetails(@Nullable Boolean enableDetails) {
            $.enableDetails = enableDetails;
            return this;
        }

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

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

        /**
         * @param nameRegex A regex string to filter results by Template name.
         * 
         * @return builder
         * 
         */
        public Builder nameRegex(@Nullable String nameRegex) {
            $.nameRegex = nameRegex;
            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;
        }

        /**
         * @param shareType Share Type. Valid Values: `Private`, `Shared`
         * 
         * @return builder
         * 
         */
        public Builder shareType(@Nullable String shareType) {
            $.shareType = shareType;
            return this;
        }

        /**
         * @param tags Query the resource bound to the tag. The format of the incoming value is `json` string, including `TagKey` and `TagValue`. `TagKey` cannot be null, and `TagValue` can be empty. Format example `{"key1":"value1"}`.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Map tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param templateName The name of the template.  The name can be up to 255 characters in length and can contain digits, letters, hyphens (-), and underscores (_). It must start with a digit or letter.
         * 
         * @return builder
         * 
         */
        public Builder templateName(@Nullable String templateName) {
            $.templateName = templateName;
            return this;
        }

        public GetTemplatesPlainArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy