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

com.pulumi.azurenative.authorization.AccessReviewHistoryDefinitionByIdArgs Maven / Gradle / Ivy

There is a newer version: 2.89.2
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.authorization;

import com.pulumi.azurenative.authorization.enums.AccessReviewRecurrenceRangeType;
import com.pulumi.azurenative.authorization.enums.AccessReviewResult;
import com.pulumi.azurenative.authorization.inputs.AccessReviewHistoryInstanceArgs;
import com.pulumi.azurenative.authorization.inputs.AccessReviewScopeArgs;
import com.pulumi.core.Either;
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 AccessReviewHistoryDefinitionByIdArgs extends com.pulumi.resources.ResourceArgs {

    public static final AccessReviewHistoryDefinitionByIdArgs Empty = new AccessReviewHistoryDefinitionByIdArgs();

    /**
     * Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request.
     * 
     */
    @Import(name="decisions")
    private @Nullable Output>> decisions;

    /**
     * @return Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request.
     * 
     */
    public Optional>>> decisions() {
        return Optional.ofNullable(this.decisions);
    }

    /**
     * The display name for the history definition.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output displayName;

    /**
     * @return The display name for the history definition.
     * 
     */
    public Optional> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The DateTime when the review is scheduled to end. Required if type is endDate
     * 
     */
    @Import(name="endDate")
    private @Nullable Output endDate;

    /**
     * @return The DateTime when the review is scheduled to end. Required if type is endDate
     * 
     */
    public Optional> endDate() {
        return Optional.ofNullable(this.endDate);
    }

    /**
     * The id of the access review history definition.
     * 
     */
    @Import(name="historyDefinitionId")
    private @Nullable Output historyDefinitionId;

    /**
     * @return The id of the access review history definition.
     * 
     */
    public Optional> historyDefinitionId() {
        return Optional.ofNullable(this.historyDefinitionId);
    }

    /**
     * Set of access review history instances for this history definition.
     * 
     */
    @Import(name="instances")
    private @Nullable Output> instances;

    /**
     * @return Set of access review history instances for this history definition.
     * 
     */
    public Optional>> instances() {
        return Optional.ofNullable(this.instances);
    }

    /**
     * The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly.
     * 
     */
    @Import(name="interval")
    private @Nullable Output interval;

    /**
     * @return The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly.
     * 
     */
    public Optional> interval() {
        return Optional.ofNullable(this.interval);
    }

    /**
     * The number of times to repeat the access review. Required and must be positive if type is numbered.
     * 
     */
    @Import(name="numberOfOccurrences")
    private @Nullable Output numberOfOccurrences;

    /**
     * @return The number of times to repeat the access review. Required and must be positive if type is numbered.
     * 
     */
    public Optional> numberOfOccurrences() {
        return Optional.ofNullable(this.numberOfOccurrences);
    }

    /**
     * A collection of scopes used when selecting review history data
     * 
     */
    @Import(name="scopes")
    private @Nullable Output> scopes;

    /**
     * @return A collection of scopes used when selecting review history data
     * 
     */
    public Optional>> scopes() {
        return Optional.ofNullable(this.scopes);
    }

    /**
     * The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create.
     * 
     */
    @Import(name="startDate")
    private @Nullable Output startDate;

    /**
     * @return The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create.
     * 
     */
    public Optional> startDate() {
        return Optional.ofNullable(this.startDate);
    }

    /**
     * The recurrence range type. The possible values are: endDate, noEnd, numbered.
     * 
     */
    @Import(name="type")
    private @Nullable Output> type;

    /**
     * @return The recurrence range type. The possible values are: endDate, noEnd, numbered.
     * 
     */
    public Optional>> type() {
        return Optional.ofNullable(this.type);
    }

    private AccessReviewHistoryDefinitionByIdArgs() {}

    private AccessReviewHistoryDefinitionByIdArgs(AccessReviewHistoryDefinitionByIdArgs $) {
        this.decisions = $.decisions;
        this.displayName = $.displayName;
        this.endDate = $.endDate;
        this.historyDefinitionId = $.historyDefinitionId;
        this.instances = $.instances;
        this.interval = $.interval;
        this.numberOfOccurrences = $.numberOfOccurrences;
        this.scopes = $.scopes;
        this.startDate = $.startDate;
        this.type = $.type;
    }

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

    public static final class Builder {
        private AccessReviewHistoryDefinitionByIdArgs $;

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

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

        /**
         * @param decisions Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request.
         * 
         * @return builder
         * 
         */
        public Builder decisions(@Nullable Output>> decisions) {
            $.decisions = decisions;
            return this;
        }

        /**
         * @param decisions Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request.
         * 
         * @return builder
         * 
         */
        public Builder decisions(List> decisions) {
            return decisions(Output.of(decisions));
        }

        /**
         * @param decisions Collection of review decisions which the history data should be filtered on. For example if Approve and Deny are supplied the data will only contain review results in which the decision maker approved or denied a review request.
         * 
         * @return builder
         * 
         */
        public Builder decisions(Either... decisions) {
            return decisions(List.of(decisions));
        }

        /**
         * @param displayName The display name for the history definition.
         * 
         * @return builder
         * 
         */
        public Builder displayName(@Nullable Output displayName) {
            $.displayName = displayName;
            return this;
        }

        /**
         * @param displayName The display name for the history definition.
         * 
         * @return builder
         * 
         */
        public Builder displayName(String displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate
         * 
         * @return builder
         * 
         */
        public Builder endDate(@Nullable Output endDate) {
            $.endDate = endDate;
            return this;
        }

        /**
         * @param endDate The DateTime when the review is scheduled to end. Required if type is endDate
         * 
         * @return builder
         * 
         */
        public Builder endDate(String endDate) {
            return endDate(Output.of(endDate));
        }

        /**
         * @param historyDefinitionId The id of the access review history definition.
         * 
         * @return builder
         * 
         */
        public Builder historyDefinitionId(@Nullable Output historyDefinitionId) {
            $.historyDefinitionId = historyDefinitionId;
            return this;
        }

        /**
         * @param historyDefinitionId The id of the access review history definition.
         * 
         * @return builder
         * 
         */
        public Builder historyDefinitionId(String historyDefinitionId) {
            return historyDefinitionId(Output.of(historyDefinitionId));
        }

        /**
         * @param instances Set of access review history instances for this history definition.
         * 
         * @return builder
         * 
         */
        public Builder instances(@Nullable Output> instances) {
            $.instances = instances;
            return this;
        }

        /**
         * @param instances Set of access review history instances for this history definition.
         * 
         * @return builder
         * 
         */
        public Builder instances(List instances) {
            return instances(Output.of(instances));
        }

        /**
         * @param instances Set of access review history instances for this history definition.
         * 
         * @return builder
         * 
         */
        public Builder instances(AccessReviewHistoryInstanceArgs... instances) {
            return instances(List.of(instances));
        }

        /**
         * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly.
         * 
         * @return builder
         * 
         */
        public Builder interval(@Nullable Output interval) {
            $.interval = interval;
            return this;
        }

        /**
         * @param interval The interval for recurrence. For a quarterly review, the interval is 3 for type : absoluteMonthly.
         * 
         * @return builder
         * 
         */
        public Builder interval(Integer interval) {
            return interval(Output.of(interval));
        }

        /**
         * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive if type is numbered.
         * 
         * @return builder
         * 
         */
        public Builder numberOfOccurrences(@Nullable Output numberOfOccurrences) {
            $.numberOfOccurrences = numberOfOccurrences;
            return this;
        }

        /**
         * @param numberOfOccurrences The number of times to repeat the access review. Required and must be positive if type is numbered.
         * 
         * @return builder
         * 
         */
        public Builder numberOfOccurrences(Integer numberOfOccurrences) {
            return numberOfOccurrences(Output.of(numberOfOccurrences));
        }

        /**
         * @param scopes A collection of scopes used when selecting review history data
         * 
         * @return builder
         * 
         */
        public Builder scopes(@Nullable Output> scopes) {
            $.scopes = scopes;
            return this;
        }

        /**
         * @param scopes A collection of scopes used when selecting review history data
         * 
         * @return builder
         * 
         */
        public Builder scopes(List scopes) {
            return scopes(Output.of(scopes));
        }

        /**
         * @param scopes A collection of scopes used when selecting review history data
         * 
         * @return builder
         * 
         */
        public Builder scopes(AccessReviewScopeArgs... scopes) {
            return scopes(List.of(scopes));
        }

        /**
         * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create.
         * 
         * @return builder
         * 
         */
        public Builder startDate(@Nullable Output startDate) {
            $.startDate = startDate;
            return this;
        }

        /**
         * @param startDate The DateTime when the review is scheduled to be start. This could be a date in the future. Required on create.
         * 
         * @return builder
         * 
         */
        public Builder startDate(String startDate) {
            return startDate(Output.of(startDate));
        }

        /**
         * @param type The recurrence range type. The possible values are: endDate, noEnd, numbered.
         * 
         * @return builder
         * 
         */
        public Builder type(@Nullable Output> type) {
            $.type = type;
            return this;
        }

        /**
         * @param type The recurrence range type. The possible values are: endDate, noEnd, numbered.
         * 
         * @return builder
         * 
         */
        public Builder type(Either type) {
            return type(Output.of(type));
        }

        /**
         * @param type The recurrence range type. The possible values are: endDate, noEnd, numbered.
         * 
         * @return builder
         * 
         */
        public Builder type(String type) {
            return type(Either.ofLeft(type));
        }

        /**
         * @param type The recurrence range type. The possible values are: endDate, noEnd, numbered.
         * 
         * @return builder
         * 
         */
        public Builder type(AccessReviewRecurrenceRangeType type) {
            return type(Either.ofRight(type));
        }

        public AccessReviewHistoryDefinitionByIdArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy