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

com.pulumi.alicloud.ros.inputs.StackGroupState 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.alicloud.ros.inputs.StackGroupParameterArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final StackGroupState Empty = new StackGroupState();

    /**
     * The list of target account IDs, in JSON format. A maximum of 20 accounts can be specified.
     * 
     */
    @Import(name="accountIds")
    private @Nullable Output accountIds;

    /**
     * @return The list of target account IDs, in JSON format. A maximum of 20 accounts can be specified.
     * 
     */
    public Optional> accountIds() {
        return Optional.ofNullable(this.accountIds);
    }

    /**
     * The name of the RAM administrator role assumed by ROS. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
     * 
     */
    @Import(name="administrationRoleName")
    private @Nullable Output administrationRoleName;

    /**
     * @return The name of the RAM administrator role assumed by ROS. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
     * 
     */
    public Optional> administrationRoleName() {
        return Optional.ofNullable(this.administrationRoleName);
    }

    /**
     * The description of the stack group.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the stack group.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The name of the RAM execution role assumed by the administrator role. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
     * 
     */
    @Import(name="executionRoleName")
    private @Nullable Output executionRoleName;

    /**
     * @return The name of the RAM execution role assumed by the administrator role. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
     * 
     */
    public Optional> executionRoleName() {
        return Optional.ofNullable(this.executionRoleName);
    }

    /**
     * The description of the operation.
     * 
     */
    @Import(name="operationDescription")
    private @Nullable Output operationDescription;

    /**
     * @return The description of the operation.
     * 
     */
    public Optional> operationDescription() {
        return Optional.ofNullable(this.operationDescription);
    }

    /**
     * The operation settings, in JSON format.
     * 
     */
    @Import(name="operationPreferences")
    private @Nullable Output operationPreferences;

    /**
     * @return The operation settings, in JSON format.
     * 
     */
    public Optional> operationPreferences() {
        return Optional.ofNullable(this.operationPreferences);
    }

    /**
     * The parameters. If the parameter name and value are not specified, ROS will use the default value specified in the template.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return The parameters. If the parameter name and value are not specified, ROS will use the default value specified in the template.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * The list of target regions, in JSON format. A maximum of 20 accounts can be specified.
     * 
     */
    @Import(name="regionIds")
    private @Nullable Output regionIds;

    /**
     * @return The list of target regions, in JSON format. A maximum of 20 accounts can be specified.
     * 
     */
    public Optional> regionIds() {
        return Optional.ofNullable(this.regionIds);
    }

    /**
     * The id of Stack Group.
     * 
     */
    @Import(name="stackGroupId")
    private @Nullable Output stackGroupId;

    /**
     * @return The id of Stack Group.
     * 
     */
    public Optional> stackGroupId() {
        return Optional.ofNullable(this.stackGroupId);
    }

    /**
     * The name of the stack group. The name must be unique in a region.
     * 
     */
    @Import(name="stackGroupName")
    private @Nullable Output stackGroupName;

    /**
     * @return The name of the stack group. The name must be unique in a region.
     * 
     */
    public Optional> stackGroupName() {
        return Optional.ofNullable(this.stackGroupName);
    }

    /**
     * The status of Stack Group.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of Stack Group.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body is longer than required, we recommend that you add parameters to the HTTP POST request body to avoid request failures due to excessive length of URLs.
     * 
     */
    @Import(name="templateBody")
    private @Nullable Output templateBody;

    /**
     * @return The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body is longer than required, we recommend that you add parameters to the HTTP POST request body to avoid request failures due to excessive length of URLs.
     * 
     */
    public Optional> templateBody() {
        return Optional.ofNullable(this.templateBody);
    }

    /**
     * The URL of the file that contains the template body. The URL must point to a template located in an HTTP or HTTPS web server or an Alibaba Cloud OSS bucket. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. The template must be 1 to 524,288 bytes in length. If the region of the OSS bucket is not specified, the RegionId value is used by default.
     * 
     */
    @Import(name="templateUrl")
    private @Nullable Output templateUrl;

    /**
     * @return The URL of the file that contains the template body. The URL must point to a template located in an HTTP or HTTPS web server or an Alibaba Cloud OSS bucket. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. The template must be 1 to 524,288 bytes in length. If the region of the OSS bucket is not specified, the RegionId value is used by default.
     * 
     */
    public Optional> templateUrl() {
        return Optional.ofNullable(this.templateUrl);
    }

    /**
     * The version of the template.
     * 
     */
    @Import(name="templateVersion")
    private @Nullable Output templateVersion;

    /**
     * @return The version of the template.
     * 
     */
    public Optional> templateVersion() {
        return Optional.ofNullable(this.templateVersion);
    }

    private StackGroupState() {}

    private StackGroupState(StackGroupState $) {
        this.accountIds = $.accountIds;
        this.administrationRoleName = $.administrationRoleName;
        this.description = $.description;
        this.executionRoleName = $.executionRoleName;
        this.operationDescription = $.operationDescription;
        this.operationPreferences = $.operationPreferences;
        this.parameters = $.parameters;
        this.regionIds = $.regionIds;
        this.stackGroupId = $.stackGroupId;
        this.stackGroupName = $.stackGroupName;
        this.status = $.status;
        this.templateBody = $.templateBody;
        this.templateUrl = $.templateUrl;
        this.templateVersion = $.templateVersion;
    }

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

    public static final class Builder {
        private StackGroupState $;

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

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

        /**
         * @param accountIds The list of target account IDs, in JSON format. A maximum of 20 accounts can be specified.
         * 
         * @return builder
         * 
         */
        public Builder accountIds(@Nullable Output accountIds) {
            $.accountIds = accountIds;
            return this;
        }

        /**
         * @param accountIds The list of target account IDs, in JSON format. A maximum of 20 accounts can be specified.
         * 
         * @return builder
         * 
         */
        public Builder accountIds(String accountIds) {
            return accountIds(Output.of(accountIds));
        }

        /**
         * @param administrationRoleName The name of the RAM administrator role assumed by ROS. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
         * 
         * @return builder
         * 
         */
        public Builder administrationRoleName(@Nullable Output administrationRoleName) {
            $.administrationRoleName = administrationRoleName;
            return this;
        }

        /**
         * @param administrationRoleName The name of the RAM administrator role assumed by ROS. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
         * 
         * @return builder
         * 
         */
        public Builder administrationRoleName(String administrationRoleName) {
            return administrationRoleName(Output.of(administrationRoleName));
        }

        /**
         * @param description The description of the stack group.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output description) {
            $.description = description;
            return this;
        }

        /**
         * @param description The description of the stack group.
         * 
         * @return builder
         * 
         */
        public Builder description(String description) {
            return description(Output.of(description));
        }

        /**
         * @param executionRoleName The name of the RAM execution role assumed by the administrator role. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
         * 
         * @return builder
         * 
         */
        public Builder executionRoleName(@Nullable Output executionRoleName) {
            $.executionRoleName = executionRoleName;
            return this;
        }

        /**
         * @param executionRoleName The name of the RAM execution role assumed by the administrator role. ROS assumes this role to perform operations on the stack corresponding to the stack instance in the stack group.
         * 
         * @return builder
         * 
         */
        public Builder executionRoleName(String executionRoleName) {
            return executionRoleName(Output.of(executionRoleName));
        }

        /**
         * @param operationDescription The description of the operation.
         * 
         * @return builder
         * 
         */
        public Builder operationDescription(@Nullable Output operationDescription) {
            $.operationDescription = operationDescription;
            return this;
        }

        /**
         * @param operationDescription The description of the operation.
         * 
         * @return builder
         * 
         */
        public Builder operationDescription(String operationDescription) {
            return operationDescription(Output.of(operationDescription));
        }

        /**
         * @param operationPreferences The operation settings, in JSON format.
         * 
         * @return builder
         * 
         */
        public Builder operationPreferences(@Nullable Output operationPreferences) {
            $.operationPreferences = operationPreferences;
            return this;
        }

        /**
         * @param operationPreferences The operation settings, in JSON format.
         * 
         * @return builder
         * 
         */
        public Builder operationPreferences(String operationPreferences) {
            return operationPreferences(Output.of(operationPreferences));
        }

        /**
         * @param parameters The parameters. If the parameter name and value are not specified, ROS will use the default value specified in the template.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters The parameters. If the parameter name and value are not specified, ROS will use the default value specified in the template.
         * 
         * @return builder
         * 
         */
        public Builder parameters(List parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param parameters The parameters. If the parameter name and value are not specified, ROS will use the default value specified in the template.
         * 
         * @return builder
         * 
         */
        public Builder parameters(StackGroupParameterArgs... parameters) {
            return parameters(List.of(parameters));
        }

        /**
         * @param regionIds The list of target regions, in JSON format. A maximum of 20 accounts can be specified.
         * 
         * @return builder
         * 
         */
        public Builder regionIds(@Nullable Output regionIds) {
            $.regionIds = regionIds;
            return this;
        }

        /**
         * @param regionIds The list of target regions, in JSON format. A maximum of 20 accounts can be specified.
         * 
         * @return builder
         * 
         */
        public Builder regionIds(String regionIds) {
            return regionIds(Output.of(regionIds));
        }

        /**
         * @param stackGroupId The id of Stack Group.
         * 
         * @return builder
         * 
         */
        public Builder stackGroupId(@Nullable Output stackGroupId) {
            $.stackGroupId = stackGroupId;
            return this;
        }

        /**
         * @param stackGroupId The id of Stack Group.
         * 
         * @return builder
         * 
         */
        public Builder stackGroupId(String stackGroupId) {
            return stackGroupId(Output.of(stackGroupId));
        }

        /**
         * @param stackGroupName The name of the stack group. The name must be unique in a region.
         * 
         * @return builder
         * 
         */
        public Builder stackGroupName(@Nullable Output stackGroupName) {
            $.stackGroupName = stackGroupName;
            return this;
        }

        /**
         * @param stackGroupName The name of the stack group. The name must be unique in a region.
         * 
         * @return builder
         * 
         */
        public Builder stackGroupName(String stackGroupName) {
            return stackGroupName(Output.of(stackGroupName));
        }

        /**
         * @param status The status of Stack Group.
         * 
         * @return builder
         * 
         */
        public Builder status(@Nullable Output status) {
            $.status = status;
            return this;
        }

        /**
         * @param status The status of Stack Group.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param templateBody The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body is longer than required, we recommend that you add parameters to the HTTP POST request body to avoid request failures due to excessive length of URLs.
         * 
         * @return builder
         * 
         */
        public Builder templateBody(@Nullable Output templateBody) {
            $.templateBody = templateBody;
            return this;
        }

        /**
         * @param templateBody The structure that contains the template body. The template body must be 1 to 524,288 bytes in length. If the length of the template body is longer than required, we recommend that you add parameters to the HTTP POST request body to avoid request failures due to excessive length of URLs.
         * 
         * @return builder
         * 
         */
        public Builder templateBody(String templateBody) {
            return templateBody(Output.of(templateBody));
        }

        /**
         * @param templateUrl The URL of the file that contains the template body. The URL must point to a template located in an HTTP or HTTPS web server or an Alibaba Cloud OSS bucket. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. The template must be 1 to 524,288 bytes in length. If the region of the OSS bucket is not specified, the RegionId value is used by default.
         * 
         * @return builder
         * 
         */
        public Builder templateUrl(@Nullable Output templateUrl) {
            $.templateUrl = templateUrl;
            return this;
        }

        /**
         * @param templateUrl The URL of the file that contains the template body. The URL must point to a template located in an HTTP or HTTPS web server or an Alibaba Cloud OSS bucket. Examples: oss://ros/template/demo and oss://ros/template/demo?RegionId=cn-hangzhou. The template must be 1 to 524,288 bytes in length. If the region of the OSS bucket is not specified, the RegionId value is used by default.
         * 
         * @return builder
         * 
         */
        public Builder templateUrl(String templateUrl) {
            return templateUrl(Output.of(templateUrl));
        }

        /**
         * @param templateVersion The version of the template.
         * 
         * @return builder
         * 
         */
        public Builder templateVersion(@Nullable Output templateVersion) {
            $.templateVersion = templateVersion;
            return this;
        }

        /**
         * @param templateVersion The version of the template.
         * 
         * @return builder
         * 
         */
        public Builder templateVersion(String templateVersion) {
            return templateVersion(Output.of(templateVersion));
        }

        public StackGroupState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy