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

com.pulumi.azurenative.policyinsights.RemediationAtResourceGroupArgs Maven / Gradle / Ivy

There is a newer version: 2.72.0
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.azurenative.policyinsights;

import com.pulumi.azurenative.policyinsights.enums.ResourceDiscoveryMode;
import com.pulumi.azurenative.policyinsights.inputs.RemediationFiltersArgs;
import com.pulumi.azurenative.policyinsights.inputs.RemediationPropertiesFailureThresholdArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final RemediationAtResourceGroupArgs Empty = new RemediationAtResourceGroupArgs();

    /**
     * The remediation failure threshold settings
     * 
     */
    @Import(name="failureThreshold")
    private @Nullable Output failureThreshold;

    /**
     * @return The remediation failure threshold settings
     * 
     */
    public Optional> failureThreshold() {
        return Optional.ofNullable(this.failureThreshold);
    }

    /**
     * The filters that will be applied to determine which resources to remediate.
     * 
     */
    @Import(name="filters")
    private @Nullable Output filters;

    /**
     * @return The filters that will be applied to determine which resources to remediate.
     * 
     */
    public Optional> filters() {
        return Optional.ofNullable(this.filters);
    }

    /**
     * Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
     * 
     */
    @Import(name="parallelDeployments")
    private @Nullable Output parallelDeployments;

    /**
     * @return Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
     * 
     */
    public Optional> parallelDeployments() {
        return Optional.ofNullable(this.parallelDeployments);
    }

    /**
     * The resource ID of the policy assignment that should be remediated.
     * 
     */
    @Import(name="policyAssignmentId")
    private @Nullable Output policyAssignmentId;

    /**
     * @return The resource ID of the policy assignment that should be remediated.
     * 
     */
    public Optional> policyAssignmentId() {
        return Optional.ofNullable(this.policyAssignmentId);
    }

    /**
     * The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
     * 
     */
    @Import(name="policyDefinitionReferenceId")
    private @Nullable Output policyDefinitionReferenceId;

    /**
     * @return The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
     * 
     */
    public Optional> policyDefinitionReferenceId() {
        return Optional.ofNullable(this.policyDefinitionReferenceId);
    }

    /**
     * The name of the remediation.
     * 
     */
    @Import(name="remediationName")
    private @Nullable Output remediationName;

    /**
     * @return The name of the remediation.
     * 
     */
    public Optional> remediationName() {
        return Optional.ofNullable(this.remediationName);
    }

    /**
     * Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
     * 
     */
    @Import(name="resourceCount")
    private @Nullable Output resourceCount;

    /**
     * @return Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
     * 
     */
    public Optional> resourceCount() {
        return Optional.ofNullable(this.resourceCount);
    }

    /**
     * The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
     * 
     */
    @Import(name="resourceDiscoveryMode")
    private @Nullable Output> resourceDiscoveryMode;

    /**
     * @return The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
     * 
     */
    public Optional>> resourceDiscoveryMode() {
        return Optional.ofNullable(this.resourceDiscoveryMode);
    }

    /**
     * Resource group name.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return Resource group name.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    private RemediationAtResourceGroupArgs() {}

    private RemediationAtResourceGroupArgs(RemediationAtResourceGroupArgs $) {
        this.failureThreshold = $.failureThreshold;
        this.filters = $.filters;
        this.parallelDeployments = $.parallelDeployments;
        this.policyAssignmentId = $.policyAssignmentId;
        this.policyDefinitionReferenceId = $.policyDefinitionReferenceId;
        this.remediationName = $.remediationName;
        this.resourceCount = $.resourceCount;
        this.resourceDiscoveryMode = $.resourceDiscoveryMode;
        this.resourceGroupName = $.resourceGroupName;
    }

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

    public static final class Builder {
        private RemediationAtResourceGroupArgs $;

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

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

        /**
         * @param failureThreshold The remediation failure threshold settings
         * 
         * @return builder
         * 
         */
        public Builder failureThreshold(@Nullable Output failureThreshold) {
            $.failureThreshold = failureThreshold;
            return this;
        }

        /**
         * @param failureThreshold The remediation failure threshold settings
         * 
         * @return builder
         * 
         */
        public Builder failureThreshold(RemediationPropertiesFailureThresholdArgs failureThreshold) {
            return failureThreshold(Output.of(failureThreshold));
        }

        /**
         * @param filters The filters that will be applied to determine which resources to remediate.
         * 
         * @return builder
         * 
         */
        public Builder filters(@Nullable Output filters) {
            $.filters = filters;
            return this;
        }

        /**
         * @param filters The filters that will be applied to determine which resources to remediate.
         * 
         * @return builder
         * 
         */
        public Builder filters(RemediationFiltersArgs filters) {
            return filters(Output.of(filters));
        }

        /**
         * @param parallelDeployments Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
         * 
         * @return builder
         * 
         */
        public Builder parallelDeployments(@Nullable Output parallelDeployments) {
            $.parallelDeployments = parallelDeployments;
            return this;
        }

        /**
         * @param parallelDeployments Determines how many resources to remediate at any given time. Can be used to increase or reduce the pace of the remediation. If not provided, the default parallel deployments value is used.
         * 
         * @return builder
         * 
         */
        public Builder parallelDeployments(Integer parallelDeployments) {
            return parallelDeployments(Output.of(parallelDeployments));
        }

        /**
         * @param policyAssignmentId The resource ID of the policy assignment that should be remediated.
         * 
         * @return builder
         * 
         */
        public Builder policyAssignmentId(@Nullable Output policyAssignmentId) {
            $.policyAssignmentId = policyAssignmentId;
            return this;
        }

        /**
         * @param policyAssignmentId The resource ID of the policy assignment that should be remediated.
         * 
         * @return builder
         * 
         */
        public Builder policyAssignmentId(String policyAssignmentId) {
            return policyAssignmentId(Output.of(policyAssignmentId));
        }

        /**
         * @param policyDefinitionReferenceId The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
         * 
         * @return builder
         * 
         */
        public Builder policyDefinitionReferenceId(@Nullable Output policyDefinitionReferenceId) {
            $.policyDefinitionReferenceId = policyDefinitionReferenceId;
            return this;
        }

        /**
         * @param policyDefinitionReferenceId The policy definition reference ID of the individual definition that should be remediated. Required when the policy assignment being remediated assigns a policy set definition.
         * 
         * @return builder
         * 
         */
        public Builder policyDefinitionReferenceId(String policyDefinitionReferenceId) {
            return policyDefinitionReferenceId(Output.of(policyDefinitionReferenceId));
        }

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

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

        /**
         * @param resourceCount Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
         * 
         * @return builder
         * 
         */
        public Builder resourceCount(@Nullable Output resourceCount) {
            $.resourceCount = resourceCount;
            return this;
        }

        /**
         * @param resourceCount Determines the max number of resources that can be remediated by the remediation job. If not provided, the default resource count is used.
         * 
         * @return builder
         * 
         */
        public Builder resourceCount(Integer resourceCount) {
            return resourceCount(Output.of(resourceCount));
        }

        /**
         * @param resourceDiscoveryMode The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
         * 
         * @return builder
         * 
         */
        public Builder resourceDiscoveryMode(@Nullable Output> resourceDiscoveryMode) {
            $.resourceDiscoveryMode = resourceDiscoveryMode;
            return this;
        }

        /**
         * @param resourceDiscoveryMode The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
         * 
         * @return builder
         * 
         */
        public Builder resourceDiscoveryMode(Either resourceDiscoveryMode) {
            return resourceDiscoveryMode(Output.of(resourceDiscoveryMode));
        }

        /**
         * @param resourceDiscoveryMode The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
         * 
         * @return builder
         * 
         */
        public Builder resourceDiscoveryMode(String resourceDiscoveryMode) {
            return resourceDiscoveryMode(Either.ofLeft(resourceDiscoveryMode));
        }

        /**
         * @param resourceDiscoveryMode The way resources to remediate are discovered. Defaults to ExistingNonCompliant if not specified.
         * 
         * @return builder
         * 
         */
        public Builder resourceDiscoveryMode(ResourceDiscoveryMode resourceDiscoveryMode) {
            return resourceDiscoveryMode(Either.ofRight(resourceDiscoveryMode));
        }

        /**
         * @param resourceGroupName Resource group name.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName Resource group name.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        public RemediationAtResourceGroupArgs build() {
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("RemediationAtResourceGroupArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy