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

com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceArgs Maven / Gradle / Ivy

Go to download

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

There is a newer version: 6.60.0-alpha.1731982519
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.aws.ssm.inputs;

import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceDailySettingArgs;
import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceMonthlySettingArgs;
import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceShiftCoverageArgs;
import com.pulumi.aws.ssm.inputs.ContactsRotationRecurrenceWeeklySettingArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final ContactsRotationRecurrenceArgs Empty = new ContactsRotationRecurrenceArgs();

    @Import(name="dailySettings")
    private @Nullable Output> dailySettings;

    public Optional>> dailySettings() {
        return Optional.ofNullable(this.dailySettings);
    }

    /**
     * (Optional) Information about on-call rotations that recur monthly. See Monthly Settings for more details.
     * 
     */
    @Import(name="monthlySettings")
    private @Nullable Output> monthlySettings;

    /**
     * @return (Optional) Information about on-call rotations that recur monthly. See Monthly Settings for more details.
     * 
     */
    public Optional>> monthlySettings() {
        return Optional.ofNullable(this.monthlySettings);
    }

    /**
     * (Required) The number of contacts, or shift team members designated to be on call concurrently during a shift.
     * 
     */
    @Import(name="numberOfOnCalls", required=true)
    private Output numberOfOnCalls;

    /**
     * @return (Required) The number of contacts, or shift team members designated to be on call concurrently during a shift.
     * 
     */
    public Output numberOfOnCalls() {
        return this.numberOfOnCalls;
    }

    /**
     * (Required) The number of days, weeks, or months a single rotation lasts.
     * 
     */
    @Import(name="recurrenceMultiplier", required=true)
    private Output recurrenceMultiplier;

    /**
     * @return (Required) The number of days, weeks, or months a single rotation lasts.
     * 
     */
    public Output recurrenceMultiplier() {
        return this.recurrenceMultiplier;
    }

    /**
     * (Optional) Information about the days of the week that the on-call rotation coverage includes. See Shift Coverages for more details.
     * 
     */
    @Import(name="shiftCoverages")
    private @Nullable Output> shiftCoverages;

    /**
     * @return (Optional) Information about the days of the week that the on-call rotation coverage includes. See Shift Coverages for more details.
     * 
     */
    public Optional>> shiftCoverages() {
        return Optional.ofNullable(this.shiftCoverages);
    }

    /**
     * (Optional) Information about on-call rotations that recur weekly. See Weekly Settings for more details.
     * 
     */
    @Import(name="weeklySettings")
    private @Nullable Output> weeklySettings;

    /**
     * @return (Optional) Information about on-call rotations that recur weekly. See Weekly Settings for more details.
     * 
     */
    public Optional>> weeklySettings() {
        return Optional.ofNullable(this.weeklySettings);
    }

    private ContactsRotationRecurrenceArgs() {}

    private ContactsRotationRecurrenceArgs(ContactsRotationRecurrenceArgs $) {
        this.dailySettings = $.dailySettings;
        this.monthlySettings = $.monthlySettings;
        this.numberOfOnCalls = $.numberOfOnCalls;
        this.recurrenceMultiplier = $.recurrenceMultiplier;
        this.shiftCoverages = $.shiftCoverages;
        this.weeklySettings = $.weeklySettings;
    }

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

    public static final class Builder {
        private ContactsRotationRecurrenceArgs $;

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

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

        public Builder dailySettings(@Nullable Output> dailySettings) {
            $.dailySettings = dailySettings;
            return this;
        }

        public Builder dailySettings(List dailySettings) {
            return dailySettings(Output.of(dailySettings));
        }

        public Builder dailySettings(ContactsRotationRecurrenceDailySettingArgs... dailySettings) {
            return dailySettings(List.of(dailySettings));
        }

        /**
         * @param monthlySettings (Optional) Information about on-call rotations that recur monthly. See Monthly Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder monthlySettings(@Nullable Output> monthlySettings) {
            $.monthlySettings = monthlySettings;
            return this;
        }

        /**
         * @param monthlySettings (Optional) Information about on-call rotations that recur monthly. See Monthly Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder monthlySettings(List monthlySettings) {
            return monthlySettings(Output.of(monthlySettings));
        }

        /**
         * @param monthlySettings (Optional) Information about on-call rotations that recur monthly. See Monthly Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder monthlySettings(ContactsRotationRecurrenceMonthlySettingArgs... monthlySettings) {
            return monthlySettings(List.of(monthlySettings));
        }

        /**
         * @param numberOfOnCalls (Required) The number of contacts, or shift team members designated to be on call concurrently during a shift.
         * 
         * @return builder
         * 
         */
        public Builder numberOfOnCalls(Output numberOfOnCalls) {
            $.numberOfOnCalls = numberOfOnCalls;
            return this;
        }

        /**
         * @param numberOfOnCalls (Required) The number of contacts, or shift team members designated to be on call concurrently during a shift.
         * 
         * @return builder
         * 
         */
        public Builder numberOfOnCalls(Integer numberOfOnCalls) {
            return numberOfOnCalls(Output.of(numberOfOnCalls));
        }

        /**
         * @param recurrenceMultiplier (Required) The number of days, weeks, or months a single rotation lasts.
         * 
         * @return builder
         * 
         */
        public Builder recurrenceMultiplier(Output recurrenceMultiplier) {
            $.recurrenceMultiplier = recurrenceMultiplier;
            return this;
        }

        /**
         * @param recurrenceMultiplier (Required) The number of days, weeks, or months a single rotation lasts.
         * 
         * @return builder
         * 
         */
        public Builder recurrenceMultiplier(Integer recurrenceMultiplier) {
            return recurrenceMultiplier(Output.of(recurrenceMultiplier));
        }

        /**
         * @param shiftCoverages (Optional) Information about the days of the week that the on-call rotation coverage includes. See Shift Coverages for more details.
         * 
         * @return builder
         * 
         */
        public Builder shiftCoverages(@Nullable Output> shiftCoverages) {
            $.shiftCoverages = shiftCoverages;
            return this;
        }

        /**
         * @param shiftCoverages (Optional) Information about the days of the week that the on-call rotation coverage includes. See Shift Coverages for more details.
         * 
         * @return builder
         * 
         */
        public Builder shiftCoverages(List shiftCoverages) {
            return shiftCoverages(Output.of(shiftCoverages));
        }

        /**
         * @param shiftCoverages (Optional) Information about the days of the week that the on-call rotation coverage includes. See Shift Coverages for more details.
         * 
         * @return builder
         * 
         */
        public Builder shiftCoverages(ContactsRotationRecurrenceShiftCoverageArgs... shiftCoverages) {
            return shiftCoverages(List.of(shiftCoverages));
        }

        /**
         * @param weeklySettings (Optional) Information about on-call rotations that recur weekly. See Weekly Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder weeklySettings(@Nullable Output> weeklySettings) {
            $.weeklySettings = weeklySettings;
            return this;
        }

        /**
         * @param weeklySettings (Optional) Information about on-call rotations that recur weekly. See Weekly Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder weeklySettings(List weeklySettings) {
            return weeklySettings(Output.of(weeklySettings));
        }

        /**
         * @param weeklySettings (Optional) Information about on-call rotations that recur weekly. See Weekly Settings for more details.
         * 
         * @return builder
         * 
         */
        public Builder weeklySettings(ContactsRotationRecurrenceWeeklySettingArgs... weeklySettings) {
            return weeklySettings(List.of(weeklySettings));
        }

        public ContactsRotationRecurrenceArgs build() {
            if ($.numberOfOnCalls == null) {
                throw new MissingRequiredPropertyException("ContactsRotationRecurrenceArgs", "numberOfOnCalls");
            }
            if ($.recurrenceMultiplier == null) {
                throw new MissingRequiredPropertyException("ContactsRotationRecurrenceArgs", "recurrenceMultiplier");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy