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

com.pulumi.azurenative.alertsmanagement.inputs.ScopeArgs Maven / Gradle / Ivy

The 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.inputs;

import com.pulumi.azurenative.alertsmanagement.enums.ScopeType;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.
 * 
 */
public final class ScopeArgs extends com.pulumi.resources.ResourceArgs {

    public static final ScopeArgs Empty = new ScopeArgs();

    /**
     * type of target scope
     * 
     */
    @Import(name="scopeType")
    private @Nullable Output> scopeType;

    /**
     * @return type of target scope
     * 
     */
    public Optional>> scopeType() {
        return Optional.ofNullable(this.scopeType);
    }

    /**
     * list of ARM IDs of the given scope type which will be the target of the given action rule.
     * 
     */
    @Import(name="values")
    private @Nullable Output> values;

    /**
     * @return list of ARM IDs of the given scope type which will be the target of the given action rule.
     * 
     */
    public Optional>> values() {
        return Optional.ofNullable(this.values);
    }

    private ScopeArgs() {}

    private ScopeArgs(ScopeArgs $) {
        this.scopeType = $.scopeType;
        this.values = $.values;
    }

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

    public static final class Builder {
        private ScopeArgs $;

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

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

        /**
         * @param scopeType type of target scope
         * 
         * @return builder
         * 
         */
        public Builder scopeType(@Nullable Output> scopeType) {
            $.scopeType = scopeType;
            return this;
        }

        /**
         * @param scopeType type of target scope
         * 
         * @return builder
         * 
         */
        public Builder scopeType(Either scopeType) {
            return scopeType(Output.of(scopeType));
        }

        /**
         * @param scopeType type of target scope
         * 
         * @return builder
         * 
         */
        public Builder scopeType(String scopeType) {
            return scopeType(Either.ofLeft(scopeType));
        }

        /**
         * @param scopeType type of target scope
         * 
         * @return builder
         * 
         */
        public Builder scopeType(ScopeType scopeType) {
            return scopeType(Either.ofRight(scopeType));
        }

        /**
         * @param values list of ARM IDs of the given scope type which will be the target of the given action rule.
         * 
         * @return builder
         * 
         */
        public Builder values(@Nullable Output> values) {
            $.values = values;
            return this;
        }

        /**
         * @param values list of ARM IDs of the given scope type which will be the target of the given action rule.
         * 
         * @return builder
         * 
         */
        public Builder values(List values) {
            return values(Output.of(values));
        }

        /**
         * @param values list of ARM IDs of the given scope type which will be the target of the given action rule.
         * 
         * @return builder
         * 
         */
        public Builder values(String... values) {
            return values(List.of(values));
        }

        public ScopeArgs build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy