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

com.pulumi.aws.budgets.inputs.BudgetActionState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
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.aws.budgets.inputs;

import com.pulumi.aws.budgets.inputs.BudgetActionActionThresholdArgs;
import com.pulumi.aws.budgets.inputs.BudgetActionDefinitionArgs;
import com.pulumi.aws.budgets.inputs.BudgetActionSubscriberArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 BudgetActionState extends com.pulumi.resources.ResourceArgs {

    public static final BudgetActionState Empty = new BudgetActionState();

    /**
     * The ID of the target account for budget. Will use current user's account_id by default if omitted.
     * 
     */
    @Import(name="accountId")
    private @Nullable Output accountId;

    /**
     * @return The ID of the target account for budget. Will use current user's account_id by default if omitted.
     * 
     */
    public Optional> accountId() {
        return Optional.ofNullable(this.accountId);
    }

    /**
     * The id of the budget action.
     * 
     */
    @Import(name="actionId")
    private @Nullable Output actionId;

    /**
     * @return The id of the budget action.
     * 
     */
    public Optional> actionId() {
        return Optional.ofNullable(this.actionId);
    }

    /**
     * The trigger threshold of the action. See Action Threshold.
     * 
     */
    @Import(name="actionThreshold")
    private @Nullable Output actionThreshold;

    /**
     * @return The trigger threshold of the action. See Action Threshold.
     * 
     */
    public Optional> actionThreshold() {
        return Optional.ofNullable(this.actionThreshold);
    }

    /**
     * The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. Valid values are `APPLY_IAM_POLICY`, `APPLY_SCP_POLICY`, and `RUN_SSM_DOCUMENTS`.
     * 
     */
    @Import(name="actionType")
    private @Nullable Output actionType;

    /**
     * @return The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. Valid values are `APPLY_IAM_POLICY`, `APPLY_SCP_POLICY`, and `RUN_SSM_DOCUMENTS`.
     * 
     */
    public Optional> actionType() {
        return Optional.ofNullable(this.actionType);
    }

    /**
     * This specifies if the action needs manual or automatic approval. Valid values are `AUTOMATIC` and `MANUAL`.
     * 
     */
    @Import(name="approvalModel")
    private @Nullable Output approvalModel;

    /**
     * @return This specifies if the action needs manual or automatic approval. Valid values are `AUTOMATIC` and `MANUAL`.
     * 
     */
    public Optional> approvalModel() {
        return Optional.ofNullable(this.approvalModel);
    }

    /**
     * The ARN of the budget action.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The ARN of the budget action.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * The name of a budget.
     * 
     */
    @Import(name="budgetName")
    private @Nullable Output budgetName;

    /**
     * @return The name of a budget.
     * 
     */
    public Optional> budgetName() {
        return Optional.ofNullable(this.budgetName);
    }

    /**
     * Specifies all of the type-specific parameters. See Definition.
     * 
     */
    @Import(name="definition")
    private @Nullable Output definition;

    /**
     * @return Specifies all of the type-specific parameters. See Definition.
     * 
     */
    public Optional> definition() {
        return Optional.ofNullable(this.definition);
    }

    /**
     * The role passed for action execution and reversion. Roles and actions must be in the same account.
     * 
     */
    @Import(name="executionRoleArn")
    private @Nullable Output executionRoleArn;

    /**
     * @return The role passed for action execution and reversion. Roles and actions must be in the same account.
     * 
     */
    public Optional> executionRoleArn() {
        return Optional.ofNullable(this.executionRoleArn);
    }

    /**
     * The type of a notification. Valid values are `ACTUAL` or `FORECASTED`.
     * 
     */
    @Import(name="notificationType")
    private @Nullable Output notificationType;

    /**
     * @return The type of a notification. Valid values are `ACTUAL` or `FORECASTED`.
     * 
     */
    public Optional> notificationType() {
        return Optional.ofNullable(this.notificationType);
    }

    /**
     * The status of the budget action.
     * 
     */
    @Import(name="status")
    private @Nullable Output status;

    /**
     * @return The status of the budget action.
     * 
     */
    public Optional> status() {
        return Optional.ofNullable(this.status);
    }

    /**
     * A list of subscribers. See Subscriber.
     * 
     */
    @Import(name="subscribers")
    private @Nullable Output> subscribers;

    /**
     * @return A list of subscribers. See Subscriber.
     * 
     */
    public Optional>> subscribers() {
        return Optional.ofNullable(this.subscribers);
    }

    /**
     * Map of tags assigned to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Map of tags assigned to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    private BudgetActionState() {}

    private BudgetActionState(BudgetActionState $) {
        this.accountId = $.accountId;
        this.actionId = $.actionId;
        this.actionThreshold = $.actionThreshold;
        this.actionType = $.actionType;
        this.approvalModel = $.approvalModel;
        this.arn = $.arn;
        this.budgetName = $.budgetName;
        this.definition = $.definition;
        this.executionRoleArn = $.executionRoleArn;
        this.notificationType = $.notificationType;
        this.status = $.status;
        this.subscribers = $.subscribers;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
    }

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

    public static final class Builder {
        private BudgetActionState $;

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

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

        /**
         * @param accountId The ID of the target account for budget. Will use current user's account_id by default if omitted.
         * 
         * @return builder
         * 
         */
        public Builder accountId(@Nullable Output accountId) {
            $.accountId = accountId;
            return this;
        }

        /**
         * @param accountId The ID of the target account for budget. Will use current user's account_id by default if omitted.
         * 
         * @return builder
         * 
         */
        public Builder accountId(String accountId) {
            return accountId(Output.of(accountId));
        }

        /**
         * @param actionId The id of the budget action.
         * 
         * @return builder
         * 
         */
        public Builder actionId(@Nullable Output actionId) {
            $.actionId = actionId;
            return this;
        }

        /**
         * @param actionId The id of the budget action.
         * 
         * @return builder
         * 
         */
        public Builder actionId(String actionId) {
            return actionId(Output.of(actionId));
        }

        /**
         * @param actionThreshold The trigger threshold of the action. See Action Threshold.
         * 
         * @return builder
         * 
         */
        public Builder actionThreshold(@Nullable Output actionThreshold) {
            $.actionThreshold = actionThreshold;
            return this;
        }

        /**
         * @param actionThreshold The trigger threshold of the action. See Action Threshold.
         * 
         * @return builder
         * 
         */
        public Builder actionThreshold(BudgetActionActionThresholdArgs actionThreshold) {
            return actionThreshold(Output.of(actionThreshold));
        }

        /**
         * @param actionType The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. Valid values are `APPLY_IAM_POLICY`, `APPLY_SCP_POLICY`, and `RUN_SSM_DOCUMENTS`.
         * 
         * @return builder
         * 
         */
        public Builder actionType(@Nullable Output actionType) {
            $.actionType = actionType;
            return this;
        }

        /**
         * @param actionType The type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition. Valid values are `APPLY_IAM_POLICY`, `APPLY_SCP_POLICY`, and `RUN_SSM_DOCUMENTS`.
         * 
         * @return builder
         * 
         */
        public Builder actionType(String actionType) {
            return actionType(Output.of(actionType));
        }

        /**
         * @param approvalModel This specifies if the action needs manual or automatic approval. Valid values are `AUTOMATIC` and `MANUAL`.
         * 
         * @return builder
         * 
         */
        public Builder approvalModel(@Nullable Output approvalModel) {
            $.approvalModel = approvalModel;
            return this;
        }

        /**
         * @param approvalModel This specifies if the action needs manual or automatic approval. Valid values are `AUTOMATIC` and `MANUAL`.
         * 
         * @return builder
         * 
         */
        public Builder approvalModel(String approvalModel) {
            return approvalModel(Output.of(approvalModel));
        }

        /**
         * @param arn The ARN of the budget action.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The ARN of the budget action.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param budgetName The name of a budget.
         * 
         * @return builder
         * 
         */
        public Builder budgetName(@Nullable Output budgetName) {
            $.budgetName = budgetName;
            return this;
        }

        /**
         * @param budgetName The name of a budget.
         * 
         * @return builder
         * 
         */
        public Builder budgetName(String budgetName) {
            return budgetName(Output.of(budgetName));
        }

        /**
         * @param definition Specifies all of the type-specific parameters. See Definition.
         * 
         * @return builder
         * 
         */
        public Builder definition(@Nullable Output definition) {
            $.definition = definition;
            return this;
        }

        /**
         * @param definition Specifies all of the type-specific parameters. See Definition.
         * 
         * @return builder
         * 
         */
        public Builder definition(BudgetActionDefinitionArgs definition) {
            return definition(Output.of(definition));
        }

        /**
         * @param executionRoleArn The role passed for action execution and reversion. Roles and actions must be in the same account.
         * 
         * @return builder
         * 
         */
        public Builder executionRoleArn(@Nullable Output executionRoleArn) {
            $.executionRoleArn = executionRoleArn;
            return this;
        }

        /**
         * @param executionRoleArn The role passed for action execution and reversion. Roles and actions must be in the same account.
         * 
         * @return builder
         * 
         */
        public Builder executionRoleArn(String executionRoleArn) {
            return executionRoleArn(Output.of(executionRoleArn));
        }

        /**
         * @param notificationType The type of a notification. Valid values are `ACTUAL` or `FORECASTED`.
         * 
         * @return builder
         * 
         */
        public Builder notificationType(@Nullable Output notificationType) {
            $.notificationType = notificationType;
            return this;
        }

        /**
         * @param notificationType The type of a notification. Valid values are `ACTUAL` or `FORECASTED`.
         * 
         * @return builder
         * 
         */
        public Builder notificationType(String notificationType) {
            return notificationType(Output.of(notificationType));
        }

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

        /**
         * @param status The status of the budget action.
         * 
         * @return builder
         * 
         */
        public Builder status(String status) {
            return status(Output.of(status));
        }

        /**
         * @param subscribers A list of subscribers. See Subscriber.
         * 
         * @return builder
         * 
         */
        public Builder subscribers(@Nullable Output> subscribers) {
            $.subscribers = subscribers;
            return this;
        }

        /**
         * @param subscribers A list of subscribers. See Subscriber.
         * 
         * @return builder
         * 
         */
        public Builder subscribers(List subscribers) {
            return subscribers(Output.of(subscribers));
        }

        /**
         * @param subscribers A list of subscribers. See Subscriber.
         * 
         * @return builder
         * 
         */
        public Builder subscribers(BudgetActionSubscriberArgs... subscribers) {
            return subscribers(List.of(subscribers));
        }

        /**
         * @param tags Map of tags assigned to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Map of tags assigned to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll Map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public BudgetActionState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy