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

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

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.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 RemediationAtManagementGroupArgs extends com.pulumi.resources.ResourceArgs {

    public static final RemediationAtManagementGroupArgs Empty = new RemediationAtManagementGroupArgs();

    /**
     * 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);
    }

    /**
     * Management group ID.
     * 
     */
    @Import(name="managementGroupId", required=true)
    private Output managementGroupId;

    /**
     * @return Management group ID.
     * 
     */
    public Output managementGroupId() {
        return this.managementGroupId;
    }

    /**
     * The namespace for Microsoft Management RP; only "Microsoft.Management" is allowed.
     * 
     */
    @Import(name="managementGroupsNamespace", required=true)
    private Output managementGroupsNamespace;

    /**
     * @return The namespace for Microsoft Management RP; only "Microsoft.Management" is allowed.
     * 
     */
    public Output managementGroupsNamespace() {
        return this.managementGroupsNamespace;
    }

    /**
     * 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);
    }

    private RemediationAtManagementGroupArgs() {}

    private RemediationAtManagementGroupArgs(RemediationAtManagementGroupArgs $) {
        this.failureThreshold = $.failureThreshold;
        this.filters = $.filters;
        this.managementGroupId = $.managementGroupId;
        this.managementGroupsNamespace = $.managementGroupsNamespace;
        this.parallelDeployments = $.parallelDeployments;
        this.policyAssignmentId = $.policyAssignmentId;
        this.policyDefinitionReferenceId = $.policyDefinitionReferenceId;
        this.remediationName = $.remediationName;
        this.resourceCount = $.resourceCount;
        this.resourceDiscoveryMode = $.resourceDiscoveryMode;
    }

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

    public static final class Builder {
        private RemediationAtManagementGroupArgs $;

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

        public Builder(RemediationAtManagementGroupArgs defaults) {
            $ = new RemediationAtManagementGroupArgs(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 managementGroupId Management group ID.
         * 
         * @return builder
         * 
         */
        public Builder managementGroupId(Output managementGroupId) {
            $.managementGroupId = managementGroupId;
            return this;
        }

        /**
         * @param managementGroupId Management group ID.
         * 
         * @return builder
         * 
         */
        public Builder managementGroupId(String managementGroupId) {
            return managementGroupId(Output.of(managementGroupId));
        }

        /**
         * @param managementGroupsNamespace The namespace for Microsoft Management RP; only "Microsoft.Management" is allowed.
         * 
         * @return builder
         * 
         */
        public Builder managementGroupsNamespace(Output managementGroupsNamespace) {
            $.managementGroupsNamespace = managementGroupsNamespace;
            return this;
        }

        /**
         * @param managementGroupsNamespace The namespace for Microsoft Management RP; only "Microsoft.Management" is allowed.
         * 
         * @return builder
         * 
         */
        public Builder managementGroupsNamespace(String managementGroupsNamespace) {
            return managementGroupsNamespace(Output.of(managementGroupsNamespace));
        }

        /**
         * @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));
        }

        public RemediationAtManagementGroupArgs build() {
            if ($.managementGroupId == null) {
                throw new MissingRequiredPropertyException("RemediationAtManagementGroupArgs", "managementGroupId");
            }
            if ($.managementGroupsNamespace == null) {
                throw new MissingRequiredPropertyException("RemediationAtManagementGroupArgs", "managementGroupsNamespace");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy