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

com.pulumi.azurenative.alertsmanagement.outputs.ScheduleResponse 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.alertsmanagement.outputs;

import com.pulumi.azurenative.alertsmanagement.outputs.DailyRecurrenceResponse;
import com.pulumi.azurenative.alertsmanagement.outputs.MonthlyRecurrenceResponse;
import com.pulumi.azurenative.alertsmanagement.outputs.WeeklyRecurrenceResponse;
import com.pulumi.core.annotations.CustomType;
import java.lang.Object;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class ScheduleResponse {
    /**
     * @return Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix.
     * 
     */
    private @Nullable String effectiveFrom;
    /**
     * @return Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix.
     * 
     */
    private @Nullable String effectiveUntil;
    /**
     * @return List of recurrences.
     * 
     */
    private @Nullable List recurrences;
    /**
     * @return Scheduling time zone.
     * 
     */
    private @Nullable String timeZone;

    private ScheduleResponse() {}
    /**
     * @return Scheduling effective from time. Date-Time in ISO-8601 format without timezone suffix.
     * 
     */
    public Optional effectiveFrom() {
        return Optional.ofNullable(this.effectiveFrom);
    }
    /**
     * @return Scheduling effective until time. Date-Time in ISO-8601 format without timezone suffix.
     * 
     */
    public Optional effectiveUntil() {
        return Optional.ofNullable(this.effectiveUntil);
    }
    /**
     * @return List of recurrences.
     * 
     */
    public List recurrences() {
        return this.recurrences == null ? List.of() : this.recurrences;
    }
    /**
     * @return Scheduling time zone.
     * 
     */
    public Optional timeZone() {
        return Optional.ofNullable(this.timeZone);
    }

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

    public static Builder builder(ScheduleResponse defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable String effectiveFrom;
        private @Nullable String effectiveUntil;
        private @Nullable List recurrences;
        private @Nullable String timeZone;
        public Builder() {}
        public Builder(ScheduleResponse defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.effectiveFrom = defaults.effectiveFrom;
    	      this.effectiveUntil = defaults.effectiveUntil;
    	      this.recurrences = defaults.recurrences;
    	      this.timeZone = defaults.timeZone;
        }

        @CustomType.Setter
        public Builder effectiveFrom(@Nullable String effectiveFrom) {

            this.effectiveFrom = effectiveFrom;
            return this;
        }
        @CustomType.Setter
        public Builder effectiveUntil(@Nullable String effectiveUntil) {

            this.effectiveUntil = effectiveUntil;
            return this;
        }
        @CustomType.Setter
        public Builder recurrences(@Nullable List recurrences) {

            this.recurrences = recurrences;
            return this;
        }
        public Builder recurrences(Object... recurrences) {
            return recurrences(List.of(recurrences));
        }
        @CustomType.Setter
        public Builder timeZone(@Nullable String timeZone) {

            this.timeZone = timeZone;
            return this;
        }
        public ScheduleResponse build() {
            final var _resultValue = new ScheduleResponse();
            _resultValue.effectiveFrom = effectiveFrom;
            _resultValue.effectiveUntil = effectiveUntil;
            _resultValue.recurrences = recurrences;
            _resultValue.timeZone = timeZone;
            return _resultValue;
        }
    }
}