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

com.pulumi.aws.cfg.RemediationConfigurationArgs Maven / Gradle / Ivy

Go to download

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

The 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.cfg;

import com.pulumi.aws.cfg.inputs.RemediationConfigurationExecutionControlsArgs;
import com.pulumi.aws.cfg.inputs.RemediationConfigurationParameterArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
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 RemediationConfigurationArgs extends com.pulumi.resources.ResourceArgs {

    public static final RemediationConfigurationArgs Empty = new RemediationConfigurationArgs();

    /**
     * Remediation is triggered automatically if `true`.
     * 
     */
    @Import(name="automatic")
    private @Nullable Output automatic;

    /**
     * @return Remediation is triggered automatically if `true`.
     * 
     */
    public Optional> automatic() {
        return Optional.ofNullable(this.automatic);
    }

    /**
     * Name of the AWS Config rule.
     * 
     */
    @Import(name="configRuleName", required=true)
    private Output configRuleName;

    /**
     * @return Name of the AWS Config rule.
     * 
     */
    public Output configRuleName() {
        return this.configRuleName;
    }

    /**
     * Configuration block for execution controls. See below.
     * 
     */
    @Import(name="executionControls")
    private @Nullable Output executionControls;

    /**
     * @return Configuration block for execution controls. See below.
     * 
     */
    public Optional> executionControls() {
        return Optional.ofNullable(this.executionControls);
    }

    /**
     * Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
     * 
     */
    @Import(name="maximumAutomaticAttempts")
    private @Nullable Output maximumAutomaticAttempts;

    /**
     * @return Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
     * 
     */
    public Optional> maximumAutomaticAttempts() {
        return Optional.ofNullable(this.maximumAutomaticAttempts);
    }

    /**
     * Can be specified multiple times for each parameter. Each parameter block supports arguments below.
     * 
     */
    @Import(name="parameters")
    private @Nullable Output> parameters;

    /**
     * @return Can be specified multiple times for each parameter. Each parameter block supports arguments below.
     * 
     */
    public Optional>> parameters() {
        return Optional.ofNullable(this.parameters);
    }

    /**
     * Type of resource.
     * 
     */
    @Import(name="resourceType")
    private @Nullable Output resourceType;

    /**
     * @return Type of resource.
     * 
     */
    public Optional> resourceType() {
        return Optional.ofNullable(this.resourceType);
    }

    /**
     * Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
     * 
     */
    @Import(name="retryAttemptSeconds")
    private @Nullable Output retryAttemptSeconds;

    /**
     * @return Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
     * 
     */
    public Optional> retryAttemptSeconds() {
        return Optional.ofNullable(this.retryAttemptSeconds);
    }

    /**
     * Target ID is the name of the public document.
     * 
     */
    @Import(name="targetId", required=true)
    private Output targetId;

    /**
     * @return Target ID is the name of the public document.
     * 
     */
    public Output targetId() {
        return this.targetId;
    }

    /**
     * Type of the target. Target executes remediation. For example, SSM document.
     * 
     * The following arguments are optional:
     * 
     */
    @Import(name="targetType", required=true)
    private Output targetType;

    /**
     * @return Type of the target. Target executes remediation. For example, SSM document.
     * 
     * The following arguments are optional:
     * 
     */
    public Output targetType() {
        return this.targetType;
    }

    /**
     * Version of the target. For example, version of the SSM document
     * 
     */
    @Import(name="targetVersion")
    private @Nullable Output targetVersion;

    /**
     * @return Version of the target. For example, version of the SSM document
     * 
     */
    public Optional> targetVersion() {
        return Optional.ofNullable(this.targetVersion);
    }

    private RemediationConfigurationArgs() {}

    private RemediationConfigurationArgs(RemediationConfigurationArgs $) {
        this.automatic = $.automatic;
        this.configRuleName = $.configRuleName;
        this.executionControls = $.executionControls;
        this.maximumAutomaticAttempts = $.maximumAutomaticAttempts;
        this.parameters = $.parameters;
        this.resourceType = $.resourceType;
        this.retryAttemptSeconds = $.retryAttemptSeconds;
        this.targetId = $.targetId;
        this.targetType = $.targetType;
        this.targetVersion = $.targetVersion;
    }

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

    public static final class Builder {
        private RemediationConfigurationArgs $;

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

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

        /**
         * @param automatic Remediation is triggered automatically if `true`.
         * 
         * @return builder
         * 
         */
        public Builder automatic(@Nullable Output automatic) {
            $.automatic = automatic;
            return this;
        }

        /**
         * @param automatic Remediation is triggered automatically if `true`.
         * 
         * @return builder
         * 
         */
        public Builder automatic(Boolean automatic) {
            return automatic(Output.of(automatic));
        }

        /**
         * @param configRuleName Name of the AWS Config rule.
         * 
         * @return builder
         * 
         */
        public Builder configRuleName(Output configRuleName) {
            $.configRuleName = configRuleName;
            return this;
        }

        /**
         * @param configRuleName Name of the AWS Config rule.
         * 
         * @return builder
         * 
         */
        public Builder configRuleName(String configRuleName) {
            return configRuleName(Output.of(configRuleName));
        }

        /**
         * @param executionControls Configuration block for execution controls. See below.
         * 
         * @return builder
         * 
         */
        public Builder executionControls(@Nullable Output executionControls) {
            $.executionControls = executionControls;
            return this;
        }

        /**
         * @param executionControls Configuration block for execution controls. See below.
         * 
         * @return builder
         * 
         */
        public Builder executionControls(RemediationConfigurationExecutionControlsArgs executionControls) {
            return executionControls(Output.of(executionControls));
        }

        /**
         * @param maximumAutomaticAttempts Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
         * 
         * @return builder
         * 
         */
        public Builder maximumAutomaticAttempts(@Nullable Output maximumAutomaticAttempts) {
            $.maximumAutomaticAttempts = maximumAutomaticAttempts;
            return this;
        }

        /**
         * @param maximumAutomaticAttempts Maximum number of failed attempts for auto-remediation. If you do not select a number, the default is 5.
         * 
         * @return builder
         * 
         */
        public Builder maximumAutomaticAttempts(Integer maximumAutomaticAttempts) {
            return maximumAutomaticAttempts(Output.of(maximumAutomaticAttempts));
        }

        /**
         * @param parameters Can be specified multiple times for each parameter. Each parameter block supports arguments below.
         * 
         * @return builder
         * 
         */
        public Builder parameters(@Nullable Output> parameters) {
            $.parameters = parameters;
            return this;
        }

        /**
         * @param parameters Can be specified multiple times for each parameter. Each parameter block supports arguments below.
         * 
         * @return builder
         * 
         */
        public Builder parameters(List parameters) {
            return parameters(Output.of(parameters));
        }

        /**
         * @param parameters Can be specified multiple times for each parameter. Each parameter block supports arguments below.
         * 
         * @return builder
         * 
         */
        public Builder parameters(RemediationConfigurationParameterArgs... parameters) {
            return parameters(List.of(parameters));
        }

        /**
         * @param resourceType Type of resource.
         * 
         * @return builder
         * 
         */
        public Builder resourceType(@Nullable Output resourceType) {
            $.resourceType = resourceType;
            return this;
        }

        /**
         * @param resourceType Type of resource.
         * 
         * @return builder
         * 
         */
        public Builder resourceType(String resourceType) {
            return resourceType(Output.of(resourceType));
        }

        /**
         * @param retryAttemptSeconds Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
         * 
         * @return builder
         * 
         */
        public Builder retryAttemptSeconds(@Nullable Output retryAttemptSeconds) {
            $.retryAttemptSeconds = retryAttemptSeconds;
            return this;
        }

        /**
         * @param retryAttemptSeconds Maximum time in seconds that AWS Config runs auto-remediation. If you do not select a number, the default is 60 seconds.
         * 
         * @return builder
         * 
         */
        public Builder retryAttemptSeconds(Integer retryAttemptSeconds) {
            return retryAttemptSeconds(Output.of(retryAttemptSeconds));
        }

        /**
         * @param targetId Target ID is the name of the public document.
         * 
         * @return builder
         * 
         */
        public Builder targetId(Output targetId) {
            $.targetId = targetId;
            return this;
        }

        /**
         * @param targetId Target ID is the name of the public document.
         * 
         * @return builder
         * 
         */
        public Builder targetId(String targetId) {
            return targetId(Output.of(targetId));
        }

        /**
         * @param targetType Type of the target. Target executes remediation. For example, SSM document.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder targetType(Output targetType) {
            $.targetType = targetType;
            return this;
        }

        /**
         * @param targetType Type of the target. Target executes remediation. For example, SSM document.
         * 
         * The following arguments are optional:
         * 
         * @return builder
         * 
         */
        public Builder targetType(String targetType) {
            return targetType(Output.of(targetType));
        }

        /**
         * @param targetVersion Version of the target. For example, version of the SSM document
         * 
         * @return builder
         * 
         */
        public Builder targetVersion(@Nullable Output targetVersion) {
            $.targetVersion = targetVersion;
            return this;
        }

        /**
         * @param targetVersion Version of the target. For example, version of the SSM document
         * 
         * @return builder
         * 
         */
        public Builder targetVersion(String targetVersion) {
            return targetVersion(Output.of(targetVersion));
        }

        public RemediationConfigurationArgs build() {
            if ($.configRuleName == null) {
                throw new MissingRequiredPropertyException("RemediationConfigurationArgs", "configRuleName");
            }
            if ($.targetId == null) {
                throw new MissingRequiredPropertyException("RemediationConfigurationArgs", "targetId");
            }
            if ($.targetType == null) {
                throw new MissingRequiredPropertyException("RemediationConfigurationArgs", "targetType");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy