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

com.pulumi.azurenative.authorization.AccessReviewScheduleDefinitionByIdArgs 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.authorization;

import com.pulumi.azurenative.authorization.enums.AccessReviewRecurrenceRangeType;
import com.pulumi.azurenative.authorization.enums.DefaultDecisionType;
import com.pulumi.azurenative.authorization.inputs.AccessReviewInstanceArgs;
import com.pulumi.azurenative.authorization.inputs.AccessReviewReviewerArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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 AccessReviewScheduleDefinitionByIdArgs extends com.pulumi.resources.ResourceArgs {

    public static final AccessReviewScheduleDefinitionByIdArgs Empty = new AccessReviewScheduleDefinitionByIdArgs();

    /**
     * Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review.
     * 
     */
    @Import(name="autoApplyDecisionsEnabled")
    private @Nullable Output autoApplyDecisionsEnabled;

    /**
     * @return Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review.
     * 
     */
    public Optional> autoApplyDecisionsEnabled() {
        return Optional.ofNullable(this.autoApplyDecisionsEnabled);
    }

    /**
     * This is the collection of backup reviewers.
     * 
     */
    @Import(name="backupReviewers")
    private @Nullable Output> backupReviewers;

    /**
     * @return This is the collection of backup reviewers.
     * 
     */
    public Optional>> backupReviewers() {
        return Optional.ofNullable(this.backupReviewers);
    }

    /**
     * This specifies the behavior for the autoReview feature when an access review completes.
     * 
     */
    @Import(name="defaultDecision")
    private @Nullable Output> defaultDecision;

    /**
     * @return This specifies the behavior for the autoReview feature when an access review completes.
     * 
     */
    public Optional>> defaultDecision() {
        return Optional.ofNullable(this.defaultDecision);
    }

    /**
     * Flag to indicate whether reviewers are required to provide a justification when reviewing access.
     * 
     */
    @Import(name="defaultDecisionEnabled")
    private @Nullable Output defaultDecisionEnabled;

    /**
     * @return Flag to indicate whether reviewers are required to provide a justification when reviewing access.
     * 
     */
    public Optional> defaultDecisionEnabled() {
        return Optional.ofNullable(this.defaultDecisionEnabled);
    }

    /**
     * The description provided by the access review creator and visible to admins.
     * 
     */
    @Import(name="descriptionForAdmins")
    private @Nullable Output descriptionForAdmins;

    /**
     * @return The description provided by the access review creator and visible to admins.
     * 
     */
    public Optional> descriptionForAdmins() {
        return Optional.ofNullable(this.descriptionForAdmins);
    }

    /**
     * The description provided by the access review creator to be shown to reviewers.
     * 
     */
    @Import(name="descriptionForReviewers")
    private @Nullable Output descriptionForReviewers;

    /**
     * @return The description provided by the access review creator to be shown to reviewers.
     * 
     */
    public Optional> descriptionForReviewers() {
        return Optional.ofNullable(this.descriptionForReviewers);
    }

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

    /**
     * @return The display name for the schedule 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);
    }

    /**
     * This is used to indicate the resource id(s) to exclude
     * 
     */
    @Import(name="excludeResourceId")
    private @Nullable Output excludeResourceId;

    /**
     * @return This is used to indicate the resource id(s) to exclude
     * 
     */
    public Optional> excludeResourceId() {
        return Optional.ofNullable(this.excludeResourceId);
    }

    /**
     * This is used to indicate the role definition id(s) to exclude
     * 
     */
    @Import(name="excludeRoleDefinitionId")
    private @Nullable Output excludeRoleDefinitionId;

    /**
     * @return This is used to indicate the role definition id(s) to exclude
     * 
     */
    public Optional> excludeRoleDefinitionId() {
        return Optional.ofNullable(this.excludeRoleDefinitionId);
    }

    /**
     * Flag to indicate whether to expand nested memberships or not.
     * 
     */
    @Import(name="expandNestedMemberships")
    private @Nullable Output expandNestedMemberships;

    /**
     * @return Flag to indicate whether to expand nested memberships or not.
     * 
     */
    public Optional> expandNestedMemberships() {
        return Optional.ofNullable(this.expandNestedMemberships);
    }

    /**
     * Duration users are inactive for. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
     * 
     */
    @Import(name="inactiveDuration")
    private @Nullable Output inactiveDuration;

    /**
     * @return Duration users are inactive for. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
     * 
     */
    public Optional> inactiveDuration() {
        return Optional.ofNullable(this.inactiveDuration);
    }

    /**
     * Flag to indicate whether to expand nested memberships or not.
     * 
     */
    @Import(name="includeAccessBelowResource")
    private @Nullable Output includeAccessBelowResource;

    /**
     * @return Flag to indicate whether to expand nested memberships or not.
     * 
     */
    public Optional> includeAccessBelowResource() {
        return Optional.ofNullable(this.includeAccessBelowResource);
    }

    /**
     * Flag to indicate whether to expand nested memberships or not.
     * 
     */
    @Import(name="includeInheritedAccess")
    private @Nullable Output includeInheritedAccess;

    /**
     * @return Flag to indicate whether to expand nested memberships or not.
     * 
     */
    public Optional> includeInheritedAccess() {
        return Optional.ofNullable(this.includeInheritedAccess);
    }

    /**
     * The duration in days for an instance.
     * 
     */
    @Import(name="instanceDurationInDays")
    private @Nullable Output instanceDurationInDays;

    /**
     * @return The duration in days for an instance.
     * 
     */
    public Optional> instanceDurationInDays() {
        return Optional.ofNullable(this.instanceDurationInDays);
    }

    /**
     * This is the collection of instances returned when one does an expand on it.
     * 
     */
    @Import(name="instances")
    private @Nullable Output> instances;

    /**
     * @return This is the collection of instances returned when one does an expand on it.
     * 
     */
    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);
    }

    /**
     * Flag to indicate whether the reviewer is required to pass justification when recording a decision.
     * 
     */
    @Import(name="justificationRequiredOnApproval")
    private @Nullable Output justificationRequiredOnApproval;

    /**
     * @return Flag to indicate whether the reviewer is required to pass justification when recording a decision.
     * 
     */
    public Optional> justificationRequiredOnApproval() {
        return Optional.ofNullable(this.justificationRequiredOnApproval);
    }

    /**
     * Flag to indicate whether sending mails to reviewers and the review creator is enabled.
     * 
     */
    @Import(name="mailNotificationsEnabled")
    private @Nullable Output mailNotificationsEnabled;

    /**
     * @return Flag to indicate whether sending mails to reviewers and the review creator is enabled.
     * 
     */
    public Optional> mailNotificationsEnabled() {
        return Optional.ofNullable(this.mailNotificationsEnabled);
    }

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

    /**
     * Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
     * 
     */
    @Import(name="recommendationLookBackDuration")
    private @Nullable Output recommendationLookBackDuration;

    /**
     * @return Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
     * 
     */
    public Optional> recommendationLookBackDuration() {
        return Optional.ofNullable(this.recommendationLookBackDuration);
    }

    /**
     * Flag to indicate whether showing recommendations to reviewers is enabled.
     * 
     */
    @Import(name="recommendationsEnabled")
    private @Nullable Output recommendationsEnabled;

    /**
     * @return Flag to indicate whether showing recommendations to reviewers is enabled.
     * 
     */
    public Optional> recommendationsEnabled() {
        return Optional.ofNullable(this.recommendationsEnabled);
    }

    /**
     * Flag to indicate whether sending reminder emails to reviewers are enabled.
     * 
     */
    @Import(name="reminderNotificationsEnabled")
    private @Nullable Output reminderNotificationsEnabled;

    /**
     * @return Flag to indicate whether sending reminder emails to reviewers are enabled.
     * 
     */
    public Optional> reminderNotificationsEnabled() {
        return Optional.ofNullable(this.reminderNotificationsEnabled);
    }

    /**
     * This is the collection of reviewers.
     * 
     */
    @Import(name="reviewers")
    private @Nullable Output> reviewers;

    /**
     * @return This is the collection of reviewers.
     * 
     */
    public Optional>> reviewers() {
        return Optional.ofNullable(this.reviewers);
    }

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

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

    /**
     * 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 AccessReviewScheduleDefinitionByIdArgs() {}

    private AccessReviewScheduleDefinitionByIdArgs(AccessReviewScheduleDefinitionByIdArgs $) {
        this.autoApplyDecisionsEnabled = $.autoApplyDecisionsEnabled;
        this.backupReviewers = $.backupReviewers;
        this.defaultDecision = $.defaultDecision;
        this.defaultDecisionEnabled = $.defaultDecisionEnabled;
        this.descriptionForAdmins = $.descriptionForAdmins;
        this.descriptionForReviewers = $.descriptionForReviewers;
        this.displayName = $.displayName;
        this.endDate = $.endDate;
        this.excludeResourceId = $.excludeResourceId;
        this.excludeRoleDefinitionId = $.excludeRoleDefinitionId;
        this.expandNestedMemberships = $.expandNestedMemberships;
        this.inactiveDuration = $.inactiveDuration;
        this.includeAccessBelowResource = $.includeAccessBelowResource;
        this.includeInheritedAccess = $.includeInheritedAccess;
        this.instanceDurationInDays = $.instanceDurationInDays;
        this.instances = $.instances;
        this.interval = $.interval;
        this.justificationRequiredOnApproval = $.justificationRequiredOnApproval;
        this.mailNotificationsEnabled = $.mailNotificationsEnabled;
        this.numberOfOccurrences = $.numberOfOccurrences;
        this.recommendationLookBackDuration = $.recommendationLookBackDuration;
        this.recommendationsEnabled = $.recommendationsEnabled;
        this.reminderNotificationsEnabled = $.reminderNotificationsEnabled;
        this.reviewers = $.reviewers;
        this.scheduleDefinitionId = $.scheduleDefinitionId;
        this.startDate = $.startDate;
        this.type = $.type;
    }

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

    public static final class Builder {
        private AccessReviewScheduleDefinitionByIdArgs $;

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

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

        /**
         * @param autoApplyDecisionsEnabled Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review.
         * 
         * @return builder
         * 
         */
        public Builder autoApplyDecisionsEnabled(@Nullable Output autoApplyDecisionsEnabled) {
            $.autoApplyDecisionsEnabled = autoApplyDecisionsEnabled;
            return this;
        }

        /**
         * @param autoApplyDecisionsEnabled Flag to indicate whether auto-apply capability, to automatically change the target object access resource, is enabled. If not enabled, a user must, after the review completes, apply the access review.
         * 
         * @return builder
         * 
         */
        public Builder autoApplyDecisionsEnabled(Boolean autoApplyDecisionsEnabled) {
            return autoApplyDecisionsEnabled(Output.of(autoApplyDecisionsEnabled));
        }

        /**
         * @param backupReviewers This is the collection of backup reviewers.
         * 
         * @return builder
         * 
         */
        public Builder backupReviewers(@Nullable Output> backupReviewers) {
            $.backupReviewers = backupReviewers;
            return this;
        }

        /**
         * @param backupReviewers This is the collection of backup reviewers.
         * 
         * @return builder
         * 
         */
        public Builder backupReviewers(List backupReviewers) {
            return backupReviewers(Output.of(backupReviewers));
        }

        /**
         * @param backupReviewers This is the collection of backup reviewers.
         * 
         * @return builder
         * 
         */
        public Builder backupReviewers(AccessReviewReviewerArgs... backupReviewers) {
            return backupReviewers(List.of(backupReviewers));
        }

        /**
         * @param defaultDecision This specifies the behavior for the autoReview feature when an access review completes.
         * 
         * @return builder
         * 
         */
        public Builder defaultDecision(@Nullable Output> defaultDecision) {
            $.defaultDecision = defaultDecision;
            return this;
        }

        /**
         * @param defaultDecision This specifies the behavior for the autoReview feature when an access review completes.
         * 
         * @return builder
         * 
         */
        public Builder defaultDecision(Either defaultDecision) {
            return defaultDecision(Output.of(defaultDecision));
        }

        /**
         * @param defaultDecision This specifies the behavior for the autoReview feature when an access review completes.
         * 
         * @return builder
         * 
         */
        public Builder defaultDecision(String defaultDecision) {
            return defaultDecision(Either.ofLeft(defaultDecision));
        }

        /**
         * @param defaultDecision This specifies the behavior for the autoReview feature when an access review completes.
         * 
         * @return builder
         * 
         */
        public Builder defaultDecision(DefaultDecisionType defaultDecision) {
            return defaultDecision(Either.ofRight(defaultDecision));
        }

        /**
         * @param defaultDecisionEnabled Flag to indicate whether reviewers are required to provide a justification when reviewing access.
         * 
         * @return builder
         * 
         */
        public Builder defaultDecisionEnabled(@Nullable Output defaultDecisionEnabled) {
            $.defaultDecisionEnabled = defaultDecisionEnabled;
            return this;
        }

        /**
         * @param defaultDecisionEnabled Flag to indicate whether reviewers are required to provide a justification when reviewing access.
         * 
         * @return builder
         * 
         */
        public Builder defaultDecisionEnabled(Boolean defaultDecisionEnabled) {
            return defaultDecisionEnabled(Output.of(defaultDecisionEnabled));
        }

        /**
         * @param descriptionForAdmins The description provided by the access review creator and visible to admins.
         * 
         * @return builder
         * 
         */
        public Builder descriptionForAdmins(@Nullable Output descriptionForAdmins) {
            $.descriptionForAdmins = descriptionForAdmins;
            return this;
        }

        /**
         * @param descriptionForAdmins The description provided by the access review creator and visible to admins.
         * 
         * @return builder
         * 
         */
        public Builder descriptionForAdmins(String descriptionForAdmins) {
            return descriptionForAdmins(Output.of(descriptionForAdmins));
        }

        /**
         * @param descriptionForReviewers The description provided by the access review creator to be shown to reviewers.
         * 
         * @return builder
         * 
         */
        public Builder descriptionForReviewers(@Nullable Output descriptionForReviewers) {
            $.descriptionForReviewers = descriptionForReviewers;
            return this;
        }

        /**
         * @param descriptionForReviewers The description provided by the access review creator to be shown to reviewers.
         * 
         * @return builder
         * 
         */
        public Builder descriptionForReviewers(String descriptionForReviewers) {
            return descriptionForReviewers(Output.of(descriptionForReviewers));
        }

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

        /**
         * @param displayName The display name for the schedule 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 excludeResourceId This is used to indicate the resource id(s) to exclude
         * 
         * @return builder
         * 
         */
        public Builder excludeResourceId(@Nullable Output excludeResourceId) {
            $.excludeResourceId = excludeResourceId;
            return this;
        }

        /**
         * @param excludeResourceId This is used to indicate the resource id(s) to exclude
         * 
         * @return builder
         * 
         */
        public Builder excludeResourceId(String excludeResourceId) {
            return excludeResourceId(Output.of(excludeResourceId));
        }

        /**
         * @param excludeRoleDefinitionId This is used to indicate the role definition id(s) to exclude
         * 
         * @return builder
         * 
         */
        public Builder excludeRoleDefinitionId(@Nullable Output excludeRoleDefinitionId) {
            $.excludeRoleDefinitionId = excludeRoleDefinitionId;
            return this;
        }

        /**
         * @param excludeRoleDefinitionId This is used to indicate the role definition id(s) to exclude
         * 
         * @return builder
         * 
         */
        public Builder excludeRoleDefinitionId(String excludeRoleDefinitionId) {
            return excludeRoleDefinitionId(Output.of(excludeRoleDefinitionId));
        }

        /**
         * @param expandNestedMemberships Flag to indicate whether to expand nested memberships or not.
         * 
         * @return builder
         * 
         */
        public Builder expandNestedMemberships(@Nullable Output expandNestedMemberships) {
            $.expandNestedMemberships = expandNestedMemberships;
            return this;
        }

        /**
         * @param expandNestedMemberships Flag to indicate whether to expand nested memberships or not.
         * 
         * @return builder
         * 
         */
        public Builder expandNestedMemberships(Boolean expandNestedMemberships) {
            return expandNestedMemberships(Output.of(expandNestedMemberships));
        }

        /**
         * @param inactiveDuration Duration users are inactive for. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
         * 
         * @return builder
         * 
         */
        public Builder inactiveDuration(@Nullable Output inactiveDuration) {
            $.inactiveDuration = inactiveDuration;
            return this;
        }

        /**
         * @param inactiveDuration Duration users are inactive for. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
         * 
         * @return builder
         * 
         */
        public Builder inactiveDuration(String inactiveDuration) {
            return inactiveDuration(Output.of(inactiveDuration));
        }

        /**
         * @param includeAccessBelowResource Flag to indicate whether to expand nested memberships or not.
         * 
         * @return builder
         * 
         */
        public Builder includeAccessBelowResource(@Nullable Output includeAccessBelowResource) {
            $.includeAccessBelowResource = includeAccessBelowResource;
            return this;
        }

        /**
         * @param includeAccessBelowResource Flag to indicate whether to expand nested memberships or not.
         * 
         * @return builder
         * 
         */
        public Builder includeAccessBelowResource(Boolean includeAccessBelowResource) {
            return includeAccessBelowResource(Output.of(includeAccessBelowResource));
        }

        /**
         * @param includeInheritedAccess Flag to indicate whether to expand nested memberships or not.
         * 
         * @return builder
         * 
         */
        public Builder includeInheritedAccess(@Nullable Output includeInheritedAccess) {
            $.includeInheritedAccess = includeInheritedAccess;
            return this;
        }

        /**
         * @param includeInheritedAccess Flag to indicate whether to expand nested memberships or not.
         * 
         * @return builder
         * 
         */
        public Builder includeInheritedAccess(Boolean includeInheritedAccess) {
            return includeInheritedAccess(Output.of(includeInheritedAccess));
        }

        /**
         * @param instanceDurationInDays The duration in days for an instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceDurationInDays(@Nullable Output instanceDurationInDays) {
            $.instanceDurationInDays = instanceDurationInDays;
            return this;
        }

        /**
         * @param instanceDurationInDays The duration in days for an instance.
         * 
         * @return builder
         * 
         */
        public Builder instanceDurationInDays(Integer instanceDurationInDays) {
            return instanceDurationInDays(Output.of(instanceDurationInDays));
        }

        /**
         * @param instances This is the collection of instances returned when one does an expand on it.
         * 
         * @return builder
         * 
         */
        public Builder instances(@Nullable Output> instances) {
            $.instances = instances;
            return this;
        }

        /**
         * @param instances This is the collection of instances returned when one does an expand on it.
         * 
         * @return builder
         * 
         */
        public Builder instances(List instances) {
            return instances(Output.of(instances));
        }

        /**
         * @param instances This is the collection of instances returned when one does an expand on it.
         * 
         * @return builder
         * 
         */
        public Builder instances(AccessReviewInstanceArgs... 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 justificationRequiredOnApproval Flag to indicate whether the reviewer is required to pass justification when recording a decision.
         * 
         * @return builder
         * 
         */
        public Builder justificationRequiredOnApproval(@Nullable Output justificationRequiredOnApproval) {
            $.justificationRequiredOnApproval = justificationRequiredOnApproval;
            return this;
        }

        /**
         * @param justificationRequiredOnApproval Flag to indicate whether the reviewer is required to pass justification when recording a decision.
         * 
         * @return builder
         * 
         */
        public Builder justificationRequiredOnApproval(Boolean justificationRequiredOnApproval) {
            return justificationRequiredOnApproval(Output.of(justificationRequiredOnApproval));
        }

        /**
         * @param mailNotificationsEnabled Flag to indicate whether sending mails to reviewers and the review creator is enabled.
         * 
         * @return builder
         * 
         */
        public Builder mailNotificationsEnabled(@Nullable Output mailNotificationsEnabled) {
            $.mailNotificationsEnabled = mailNotificationsEnabled;
            return this;
        }

        /**
         * @param mailNotificationsEnabled Flag to indicate whether sending mails to reviewers and the review creator is enabled.
         * 
         * @return builder
         * 
         */
        public Builder mailNotificationsEnabled(Boolean mailNotificationsEnabled) {
            return mailNotificationsEnabled(Output.of(mailNotificationsEnabled));
        }

        /**
         * @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 recommendationLookBackDuration Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
         * 
         * @return builder
         * 
         */
        public Builder recommendationLookBackDuration(@Nullable Output recommendationLookBackDuration) {
            $.recommendationLookBackDuration = recommendationLookBackDuration;
            return this;
        }

        /**
         * @param recommendationLookBackDuration Recommendations for access reviews are calculated by looking back at 30 days of data(w.r.t the start date of the review) by default. However, in some scenarios, customers want to change how far back to look at and want to configure 60 days, 90 days, etc. instead. This setting allows customers to configure this duration. The value should be in ISO  8601 format (http://en.wikipedia.org/wiki/ISO_8601#Durations).This code can be used to convert TimeSpan to a valid interval string: XmlConvert.ToString(new TimeSpan(hours, minutes, seconds))
         * 
         * @return builder
         * 
         */
        public Builder recommendationLookBackDuration(String recommendationLookBackDuration) {
            return recommendationLookBackDuration(Output.of(recommendationLookBackDuration));
        }

        /**
         * @param recommendationsEnabled Flag to indicate whether showing recommendations to reviewers is enabled.
         * 
         * @return builder
         * 
         */
        public Builder recommendationsEnabled(@Nullable Output recommendationsEnabled) {
            $.recommendationsEnabled = recommendationsEnabled;
            return this;
        }

        /**
         * @param recommendationsEnabled Flag to indicate whether showing recommendations to reviewers is enabled.
         * 
         * @return builder
         * 
         */
        public Builder recommendationsEnabled(Boolean recommendationsEnabled) {
            return recommendationsEnabled(Output.of(recommendationsEnabled));
        }

        /**
         * @param reminderNotificationsEnabled Flag to indicate whether sending reminder emails to reviewers are enabled.
         * 
         * @return builder
         * 
         */
        public Builder reminderNotificationsEnabled(@Nullable Output reminderNotificationsEnabled) {
            $.reminderNotificationsEnabled = reminderNotificationsEnabled;
            return this;
        }

        /**
         * @param reminderNotificationsEnabled Flag to indicate whether sending reminder emails to reviewers are enabled.
         * 
         * @return builder
         * 
         */
        public Builder reminderNotificationsEnabled(Boolean reminderNotificationsEnabled) {
            return reminderNotificationsEnabled(Output.of(reminderNotificationsEnabled));
        }

        /**
         * @param reviewers This is the collection of reviewers.
         * 
         * @return builder
         * 
         */
        public Builder reviewers(@Nullable Output> reviewers) {
            $.reviewers = reviewers;
            return this;
        }

        /**
         * @param reviewers This is the collection of reviewers.
         * 
         * @return builder
         * 
         */
        public Builder reviewers(List reviewers) {
            return reviewers(Output.of(reviewers));
        }

        /**
         * @param reviewers This is the collection of reviewers.
         * 
         * @return builder
         * 
         */
        public Builder reviewers(AccessReviewReviewerArgs... reviewers) {
            return reviewers(List.of(reviewers));
        }

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

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

        /**
         * @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 AccessReviewScheduleDefinitionByIdArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy