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

com.pulumi.azurenative.insights.TenantActionGroupArgs 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.insights;

import com.pulumi.azurenative.insights.inputs.AzureAppPushReceiverArgs;
import com.pulumi.azurenative.insights.inputs.EmailReceiverArgs;
import com.pulumi.azurenative.insights.inputs.SmsReceiverArgs;
import com.pulumi.azurenative.insights.inputs.VoiceReceiverArgs;
import com.pulumi.azurenative.insights.inputs.WebhookReceiverArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final TenantActionGroupArgs Empty = new TenantActionGroupArgs();

    /**
     * The list of AzureAppPush receivers that are part of this tenant action group.
     * 
     */
    @Import(name="azureAppPushReceivers")
    private @Nullable Output> azureAppPushReceivers;

    /**
     * @return The list of AzureAppPush receivers that are part of this tenant action group.
     * 
     */
    public Optional>> azureAppPushReceivers() {
        return Optional.ofNullable(this.azureAppPushReceivers);
    }

    /**
     * The list of email receivers that are part of this tenant action group.
     * 
     */
    @Import(name="emailReceivers")
    private @Nullable Output> emailReceivers;

    /**
     * @return The list of email receivers that are part of this tenant action group.
     * 
     */
    public Optional>> emailReceivers() {
        return Optional.ofNullable(this.emailReceivers);
    }

    /**
     * Indicates whether this tenant action group is enabled. If a tenant action group is not enabled, then none of its receivers will receive communications.
     * 
     */
    @Import(name="enabled", required=true)
    private Output enabled;

    /**
     * @return Indicates whether this tenant action group is enabled. If a tenant action group is not enabled, then none of its receivers will receive communications.
     * 
     */
    public Output enabled() {
        return this.enabled;
    }

    /**
     * The short name of the action group. This will be used in SMS messages.
     * 
     */
    @Import(name="groupShortName", required=true)
    private Output groupShortName;

    /**
     * @return The short name of the action group. This will be used in SMS messages.
     * 
     */
    public Output groupShortName() {
        return this.groupShortName;
    }

    /**
     * Resource location
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Resource location
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * The management group id.
     * 
     */
    @Import(name="managementGroupId", required=true)
    private Output managementGroupId;

    /**
     * @return The management group id.
     * 
     */
    public Output managementGroupId() {
        return this.managementGroupId;
    }

    /**
     * The list of SMS receivers that are part of this tenant action group.
     * 
     */
    @Import(name="smsReceivers")
    private @Nullable Output> smsReceivers;

    /**
     * @return The list of SMS receivers that are part of this tenant action group.
     * 
     */
    public Optional>> smsReceivers() {
        return Optional.ofNullable(this.smsReceivers);
    }

    /**
     * Resource tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The name of the action group.
     * 
     */
    @Import(name="tenantActionGroupName")
    private @Nullable Output tenantActionGroupName;

    /**
     * @return The name of the action group.
     * 
     */
    public Optional> tenantActionGroupName() {
        return Optional.ofNullable(this.tenantActionGroupName);
    }

    /**
     * The list of voice receivers that are part of this tenant action group.
     * 
     */
    @Import(name="voiceReceivers")
    private @Nullable Output> voiceReceivers;

    /**
     * @return The list of voice receivers that are part of this tenant action group.
     * 
     */
    public Optional>> voiceReceivers() {
        return Optional.ofNullable(this.voiceReceivers);
    }

    /**
     * The list of webhook receivers that are part of this tenant action group.
     * 
     */
    @Import(name="webhookReceivers")
    private @Nullable Output> webhookReceivers;

    /**
     * @return The list of webhook receivers that are part of this tenant action group.
     * 
     */
    public Optional>> webhookReceivers() {
        return Optional.ofNullable(this.webhookReceivers);
    }

    private TenantActionGroupArgs() {}

    private TenantActionGroupArgs(TenantActionGroupArgs $) {
        this.azureAppPushReceivers = $.azureAppPushReceivers;
        this.emailReceivers = $.emailReceivers;
        this.enabled = $.enabled;
        this.groupShortName = $.groupShortName;
        this.location = $.location;
        this.managementGroupId = $.managementGroupId;
        this.smsReceivers = $.smsReceivers;
        this.tags = $.tags;
        this.tenantActionGroupName = $.tenantActionGroupName;
        this.voiceReceivers = $.voiceReceivers;
        this.webhookReceivers = $.webhookReceivers;
    }

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

    public static final class Builder {
        private TenantActionGroupArgs $;

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

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

        /**
         * @param azureAppPushReceivers The list of AzureAppPush receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder azureAppPushReceivers(@Nullable Output> azureAppPushReceivers) {
            $.azureAppPushReceivers = azureAppPushReceivers;
            return this;
        }

        /**
         * @param azureAppPushReceivers The list of AzureAppPush receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder azureAppPushReceivers(List azureAppPushReceivers) {
            return azureAppPushReceivers(Output.of(azureAppPushReceivers));
        }

        /**
         * @param azureAppPushReceivers The list of AzureAppPush receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder azureAppPushReceivers(AzureAppPushReceiverArgs... azureAppPushReceivers) {
            return azureAppPushReceivers(List.of(azureAppPushReceivers));
        }

        /**
         * @param emailReceivers The list of email receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder emailReceivers(@Nullable Output> emailReceivers) {
            $.emailReceivers = emailReceivers;
            return this;
        }

        /**
         * @param emailReceivers The list of email receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder emailReceivers(List emailReceivers) {
            return emailReceivers(Output.of(emailReceivers));
        }

        /**
         * @param emailReceivers The list of email receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder emailReceivers(EmailReceiverArgs... emailReceivers) {
            return emailReceivers(List.of(emailReceivers));
        }

        /**
         * @param enabled Indicates whether this tenant action group is enabled. If a tenant action group is not enabled, then none of its receivers will receive communications.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Output enabled) {
            $.enabled = enabled;
            return this;
        }

        /**
         * @param enabled Indicates whether this tenant action group is enabled. If a tenant action group is not enabled, then none of its receivers will receive communications.
         * 
         * @return builder
         * 
         */
        public Builder enabled(Boolean enabled) {
            return enabled(Output.of(enabled));
        }

        /**
         * @param groupShortName The short name of the action group. This will be used in SMS messages.
         * 
         * @return builder
         * 
         */
        public Builder groupShortName(Output groupShortName) {
            $.groupShortName = groupShortName;
            return this;
        }

        /**
         * @param groupShortName The short name of the action group. This will be used in SMS messages.
         * 
         * @return builder
         * 
         */
        public Builder groupShortName(String groupShortName) {
            return groupShortName(Output.of(groupShortName));
        }

        /**
         * @param location Resource location
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Resource location
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param managementGroupId The management group id.
         * 
         * @return builder
         * 
         */
        public Builder managementGroupId(Output managementGroupId) {
            $.managementGroupId = managementGroupId;
            return this;
        }

        /**
         * @param managementGroupId The management group id.
         * 
         * @return builder
         * 
         */
        public Builder managementGroupId(String managementGroupId) {
            return managementGroupId(Output.of(managementGroupId));
        }

        /**
         * @param smsReceivers The list of SMS receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder smsReceivers(@Nullable Output> smsReceivers) {
            $.smsReceivers = smsReceivers;
            return this;
        }

        /**
         * @param smsReceivers The list of SMS receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder smsReceivers(List smsReceivers) {
            return smsReceivers(Output.of(smsReceivers));
        }

        /**
         * @param smsReceivers The list of SMS receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder smsReceivers(SmsReceiverArgs... smsReceivers) {
            return smsReceivers(List.of(smsReceivers));
        }

        /**
         * @param tags Resource tags
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags Resource tags
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tenantActionGroupName The name of the action group.
         * 
         * @return builder
         * 
         */
        public Builder tenantActionGroupName(@Nullable Output tenantActionGroupName) {
            $.tenantActionGroupName = tenantActionGroupName;
            return this;
        }

        /**
         * @param tenantActionGroupName The name of the action group.
         * 
         * @return builder
         * 
         */
        public Builder tenantActionGroupName(String tenantActionGroupName) {
            return tenantActionGroupName(Output.of(tenantActionGroupName));
        }

        /**
         * @param voiceReceivers The list of voice receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder voiceReceivers(@Nullable Output> voiceReceivers) {
            $.voiceReceivers = voiceReceivers;
            return this;
        }

        /**
         * @param voiceReceivers The list of voice receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder voiceReceivers(List voiceReceivers) {
            return voiceReceivers(Output.of(voiceReceivers));
        }

        /**
         * @param voiceReceivers The list of voice receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder voiceReceivers(VoiceReceiverArgs... voiceReceivers) {
            return voiceReceivers(List.of(voiceReceivers));
        }

        /**
         * @param webhookReceivers The list of webhook receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder webhookReceivers(@Nullable Output> webhookReceivers) {
            $.webhookReceivers = webhookReceivers;
            return this;
        }

        /**
         * @param webhookReceivers The list of webhook receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder webhookReceivers(List webhookReceivers) {
            return webhookReceivers(Output.of(webhookReceivers));
        }

        /**
         * @param webhookReceivers The list of webhook receivers that are part of this tenant action group.
         * 
         * @return builder
         * 
         */
        public Builder webhookReceivers(WebhookReceiverArgs... webhookReceivers) {
            return webhookReceivers(List.of(webhookReceivers));
        }

        public TenantActionGroupArgs build() {
            $.enabled = Codegen.booleanProp("enabled").output().arg($.enabled).def(true).require();
            if ($.groupShortName == null) {
                throw new MissingRequiredPropertyException("TenantActionGroupArgs", "groupShortName");
            }
            if ($.managementGroupId == null) {
                throw new MissingRequiredPropertyException("TenantActionGroupArgs", "managementGroupId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy