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

com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskState Maven / Gradle / Ivy

// *** 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.ssm.inputs;

import com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTargetArgs;
import com.pulumi.aws.ssm.inputs.MaintenanceWindowTaskTaskInvocationParametersArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 MaintenanceWindowTaskState extends com.pulumi.resources.ResourceArgs {

    public static final MaintenanceWindowTaskState Empty = new MaintenanceWindowTaskState();

    /**
     * The ARN of the maintenance window task.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

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

    /**
     * Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`.
     * 
     */
    @Import(name="cutoffBehavior")
    private @Nullable Output cutoffBehavior;

    /**
     * @return Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`.
     * 
     */
    public Optional> cutoffBehavior() {
        return Optional.ofNullable(this.cutoffBehavior);
    }

    /**
     * The description of the maintenance window task.
     * 
     */
    @Import(name="description")
    private @Nullable Output description;

    /**
     * @return The description of the maintenance window task.
     * 
     */
    public Optional> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * The maximum number of targets this task can be run for in parallel.
     * 
     */
    @Import(name="maxConcurrency")
    private @Nullable Output maxConcurrency;

    /**
     * @return The maximum number of targets this task can be run for in parallel.
     * 
     */
    public Optional> maxConcurrency() {
        return Optional.ofNullable(this.maxConcurrency);
    }

    /**
     * The maximum number of errors allowed before this task stops being scheduled.
     * 
     */
    @Import(name="maxErrors")
    private @Nullable Output maxErrors;

    /**
     * @return The maximum number of errors allowed before this task stops being scheduled.
     * 
     */
    public Optional> maxErrors() {
        return Optional.ofNullable(this.maxErrors);
    }

    /**
     * The name of the maintenance window task.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return The name of the maintenance window task.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.
     * 
     */
    @Import(name="priority")
    private @Nullable Output priority;

    /**
     * @return The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.
     * 
     */
    public Optional> priority() {
        return Optional.ofNullable(this.priority);
    }

    /**
     * The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you.
     * 
     */
    @Import(name="serviceRoleArn")
    private @Nullable Output serviceRoleArn;

    /**
     * @return The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you.
     * 
     */
    public Optional> serviceRoleArn() {
        return Optional.ofNullable(this.serviceRoleArn);
    }

    /**
     * The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2.
     * 
     */
    @Import(name="targets")
    private @Nullable Output> targets;

    /**
     * @return The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2.
     * 
     */
    public Optional>> targets() {
        return Optional.ofNullable(this.targets);
    }

    /**
     * The ARN of the task to execute.
     * 
     */
    @Import(name="taskArn")
    private @Nullable Output taskArn;

    /**
     * @return The ARN of the task to execute.
     * 
     */
    public Optional> taskArn() {
        return Optional.ofNullable(this.taskArn);
    }

    /**
     * Configuration block with parameters for task execution.
     * 
     */
    @Import(name="taskInvocationParameters")
    private @Nullable Output taskInvocationParameters;

    /**
     * @return Configuration block with parameters for task execution.
     * 
     */
    public Optional> taskInvocationParameters() {
        return Optional.ofNullable(this.taskInvocationParameters);
    }

    /**
     * The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`.
     * 
     */
    @Import(name="taskType")
    private @Nullable Output taskType;

    /**
     * @return The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`.
     * 
     */
    public Optional> taskType() {
        return Optional.ofNullable(this.taskType);
    }

    /**
     * The Id of the maintenance window to register the task with.
     * 
     */
    @Import(name="windowId")
    private @Nullable Output windowId;

    /**
     * @return The Id of the maintenance window to register the task with.
     * 
     */
    public Optional> windowId() {
        return Optional.ofNullable(this.windowId);
    }

    /**
     * The ID of the maintenance window task.
     * 
     */
    @Import(name="windowTaskId")
    private @Nullable Output windowTaskId;

    /**
     * @return The ID of the maintenance window task.
     * 
     */
    public Optional> windowTaskId() {
        return Optional.ofNullable(this.windowTaskId);
    }

    private MaintenanceWindowTaskState() {}

    private MaintenanceWindowTaskState(MaintenanceWindowTaskState $) {
        this.arn = $.arn;
        this.cutoffBehavior = $.cutoffBehavior;
        this.description = $.description;
        this.maxConcurrency = $.maxConcurrency;
        this.maxErrors = $.maxErrors;
        this.name = $.name;
        this.priority = $.priority;
        this.serviceRoleArn = $.serviceRoleArn;
        this.targets = $.targets;
        this.taskArn = $.taskArn;
        this.taskInvocationParameters = $.taskInvocationParameters;
        this.taskType = $.taskType;
        this.windowId = $.windowId;
        this.windowTaskId = $.windowTaskId;
    }

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

    public static final class Builder {
        private MaintenanceWindowTaskState $;

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

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

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

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

        /**
         * @param cutoffBehavior Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`.
         * 
         * @return builder
         * 
         */
        public Builder cutoffBehavior(@Nullable Output cutoffBehavior) {
            $.cutoffBehavior = cutoffBehavior;
            return this;
        }

        /**
         * @param cutoffBehavior Indicates whether tasks should continue to run after the cutoff time specified in the maintenance windows is reached. Valid values are `CONTINUE_TASK` and `CANCEL_TASK`.
         * 
         * @return builder
         * 
         */
        public Builder cutoffBehavior(String cutoffBehavior) {
            return cutoffBehavior(Output.of(cutoffBehavior));
        }

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

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

        /**
         * @param maxConcurrency The maximum number of targets this task can be run for in parallel.
         * 
         * @return builder
         * 
         */
        public Builder maxConcurrency(@Nullable Output maxConcurrency) {
            $.maxConcurrency = maxConcurrency;
            return this;
        }

        /**
         * @param maxConcurrency The maximum number of targets this task can be run for in parallel.
         * 
         * @return builder
         * 
         */
        public Builder maxConcurrency(String maxConcurrency) {
            return maxConcurrency(Output.of(maxConcurrency));
        }

        /**
         * @param maxErrors The maximum number of errors allowed before this task stops being scheduled.
         * 
         * @return builder
         * 
         */
        public Builder maxErrors(@Nullable Output maxErrors) {
            $.maxErrors = maxErrors;
            return this;
        }

        /**
         * @param maxErrors The maximum number of errors allowed before this task stops being scheduled.
         * 
         * @return builder
         * 
         */
        public Builder maxErrors(String maxErrors) {
            return maxErrors(Output.of(maxErrors));
        }

        /**
         * @param name The name of the maintenance window task.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name The name of the maintenance window task.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param priority The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.
         * 
         * @return builder
         * 
         */
        public Builder priority(@Nullable Output priority) {
            $.priority = priority;
            return this;
        }

        /**
         * @param priority The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.
         * 
         * @return builder
         * 
         */
        public Builder priority(Integer priority) {
            return priority(Output.of(priority));
        }

        /**
         * @param serviceRoleArn The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you.
         * 
         * @return builder
         * 
         */
        public Builder serviceRoleArn(@Nullable Output serviceRoleArn) {
            $.serviceRoleArn = serviceRoleArn;
            return this;
        }

        /**
         * @param serviceRoleArn The role that should be assumed when executing the task. If a role is not provided, Systems Manager uses your account's service-linked role. If no service-linked role for Systems Manager exists in your account, it is created for you.
         * 
         * @return builder
         * 
         */
        public Builder serviceRoleArn(String serviceRoleArn) {
            return serviceRoleArn(Output.of(serviceRoleArn));
        }

        /**
         * @param targets The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2.
         * 
         * @return builder
         * 
         */
        public Builder targets(@Nullable Output> targets) {
            $.targets = targets;
            return this;
        }

        /**
         * @param targets The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2.
         * 
         * @return builder
         * 
         */
        public Builder targets(List targets) {
            return targets(Output.of(targets));
        }

        /**
         * @param targets The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2.
         * 
         * @return builder
         * 
         */
        public Builder targets(MaintenanceWindowTaskTargetArgs... targets) {
            return targets(List.of(targets));
        }

        /**
         * @param taskArn The ARN of the task to execute.
         * 
         * @return builder
         * 
         */
        public Builder taskArn(@Nullable Output taskArn) {
            $.taskArn = taskArn;
            return this;
        }

        /**
         * @param taskArn The ARN of the task to execute.
         * 
         * @return builder
         * 
         */
        public Builder taskArn(String taskArn) {
            return taskArn(Output.of(taskArn));
        }

        /**
         * @param taskInvocationParameters Configuration block with parameters for task execution.
         * 
         * @return builder
         * 
         */
        public Builder taskInvocationParameters(@Nullable Output taskInvocationParameters) {
            $.taskInvocationParameters = taskInvocationParameters;
            return this;
        }

        /**
         * @param taskInvocationParameters Configuration block with parameters for task execution.
         * 
         * @return builder
         * 
         */
        public Builder taskInvocationParameters(MaintenanceWindowTaskTaskInvocationParametersArgs taskInvocationParameters) {
            return taskInvocationParameters(Output.of(taskInvocationParameters));
        }

        /**
         * @param taskType The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`.
         * 
         * @return builder
         * 
         */
        public Builder taskType(@Nullable Output taskType) {
            $.taskType = taskType;
            return this;
        }

        /**
         * @param taskType The type of task being registered. Valid values: `AUTOMATION`, `LAMBDA`, `RUN_COMMAND` or `STEP_FUNCTIONS`.
         * 
         * @return builder
         * 
         */
        public Builder taskType(String taskType) {
            return taskType(Output.of(taskType));
        }

        /**
         * @param windowId The Id of the maintenance window to register the task with.
         * 
         * @return builder
         * 
         */
        public Builder windowId(@Nullable Output windowId) {
            $.windowId = windowId;
            return this;
        }

        /**
         * @param windowId The Id of the maintenance window to register the task with.
         * 
         * @return builder
         * 
         */
        public Builder windowId(String windowId) {
            return windowId(Output.of(windowId));
        }

        /**
         * @param windowTaskId The ID of the maintenance window task.
         * 
         * @return builder
         * 
         */
        public Builder windowTaskId(@Nullable Output windowTaskId) {
            $.windowTaskId = windowTaskId;
            return this;
        }

        /**
         * @param windowTaskId The ID of the maintenance window task.
         * 
         * @return builder
         * 
         */
        public Builder windowTaskId(String windowTaskId) {
            return windowTaskId(Output.of(windowTaskId));
        }

        public MaintenanceWindowTaskState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy