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

com.pulumi.azurenative.customerinsights.KpiArgs Maven / Gradle / Ivy

There is a newer version: 2.78.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.customerinsights;

import com.pulumi.azurenative.customerinsights.enums.CalculationWindowTypes;
import com.pulumi.azurenative.customerinsights.enums.EntityTypes;
import com.pulumi.azurenative.customerinsights.enums.KpiFunctions;
import com.pulumi.azurenative.customerinsights.inputs.KpiAliasArgs;
import com.pulumi.azurenative.customerinsights.inputs.KpiExtractArgs;
import com.pulumi.azurenative.customerinsights.inputs.KpiThresholdsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
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 KpiArgs extends com.pulumi.resources.ResourceArgs {

    public static final KpiArgs Empty = new KpiArgs();

    /**
     * The aliases.
     * 
     */
    @Import(name="aliases")
    private @Nullable Output> aliases;

    /**
     * @return The aliases.
     * 
     */
    public Optional>> aliases() {
        return Optional.ofNullable(this.aliases);
    }

    /**
     * The calculation window.
     * 
     */
    @Import(name="calculationWindow", required=true)
    private Output calculationWindow;

    /**
     * @return The calculation window.
     * 
     */
    public Output calculationWindow() {
        return this.calculationWindow;
    }

    /**
     * Name of calculation window field.
     * 
     */
    @Import(name="calculationWindowFieldName")
    private @Nullable Output calculationWindowFieldName;

    /**
     * @return Name of calculation window field.
     * 
     */
    public Optional> calculationWindowFieldName() {
        return Optional.ofNullable(this.calculationWindowFieldName);
    }

    /**
     * Localized description for the KPI.
     * 
     */
    @Import(name="description")
    private @Nullable Output> description;

    /**
     * @return Localized description for the KPI.
     * 
     */
    public Optional>> description() {
        return Optional.ofNullable(this.description);
    }

    /**
     * Localized display name for the KPI.
     * 
     */
    @Import(name="displayName")
    private @Nullable Output> displayName;

    /**
     * @return Localized display name for the KPI.
     * 
     */
    public Optional>> displayName() {
        return Optional.ofNullable(this.displayName);
    }

    /**
     * The mapping entity type.
     * 
     */
    @Import(name="entityType", required=true)
    private Output entityType;

    /**
     * @return The mapping entity type.
     * 
     */
    public Output entityType() {
        return this.entityType;
    }

    /**
     * The mapping entity name.
     * 
     */
    @Import(name="entityTypeName", required=true)
    private Output entityTypeName;

    /**
     * @return The mapping entity name.
     * 
     */
    public Output entityTypeName() {
        return this.entityTypeName;
    }

    /**
     * The computation expression for the KPI.
     * 
     */
    @Import(name="expression", required=true)
    private Output expression;

    /**
     * @return The computation expression for the KPI.
     * 
     */
    public Output expression() {
        return this.expression;
    }

    /**
     * The KPI extracts.
     * 
     */
    @Import(name="extracts")
    private @Nullable Output> extracts;

    /**
     * @return The KPI extracts.
     * 
     */
    public Optional>> extracts() {
        return Optional.ofNullable(this.extracts);
    }

    /**
     * The filter expression for the KPI.
     * 
     */
    @Import(name="filter")
    private @Nullable Output filter;

    /**
     * @return The filter expression for the KPI.
     * 
     */
    public Optional> filter() {
        return Optional.ofNullable(this.filter);
    }

    /**
     * The computation function for the KPI.
     * 
     */
    @Import(name="function", required=true)
    private Output function;

    /**
     * @return The computation function for the KPI.
     * 
     */
    public Output function() {
        return this.function;
    }

    /**
     * the group by properties for the KPI.
     * 
     */
    @Import(name="groupBy")
    private @Nullable Output> groupBy;

    /**
     * @return the group by properties for the KPI.
     * 
     */
    public Optional>> groupBy() {
        return Optional.ofNullable(this.groupBy);
    }

    /**
     * The name of the hub.
     * 
     */
    @Import(name="hubName", required=true)
    private Output hubName;

    /**
     * @return The name of the hub.
     * 
     */
    public Output hubName() {
        return this.hubName;
    }

    /**
     * The name of the KPI.
     * 
     */
    @Import(name="kpiName")
    private @Nullable Output kpiName;

    /**
     * @return The name of the KPI.
     * 
     */
    public Optional> kpiName() {
        return Optional.ofNullable(this.kpiName);
    }

    /**
     * The name of the resource group.
     * 
     */
    @Import(name="resourceGroupName", required=true)
    private Output resourceGroupName;

    /**
     * @return The name of the resource group.
     * 
     */
    public Output resourceGroupName() {
        return this.resourceGroupName;
    }

    /**
     * The KPI thresholds.
     * 
     */
    @Import(name="thresHolds")
    private @Nullable Output thresHolds;

    /**
     * @return The KPI thresholds.
     * 
     */
    public Optional> thresHolds() {
        return Optional.ofNullable(this.thresHolds);
    }

    /**
     * The unit of measurement for the KPI.
     * 
     */
    @Import(name="unit")
    private @Nullable Output unit;

    /**
     * @return The unit of measurement for the KPI.
     * 
     */
    public Optional> unit() {
        return Optional.ofNullable(this.unit);
    }

    private KpiArgs() {}

    private KpiArgs(KpiArgs $) {
        this.aliases = $.aliases;
        this.calculationWindow = $.calculationWindow;
        this.calculationWindowFieldName = $.calculationWindowFieldName;
        this.description = $.description;
        this.displayName = $.displayName;
        this.entityType = $.entityType;
        this.entityTypeName = $.entityTypeName;
        this.expression = $.expression;
        this.extracts = $.extracts;
        this.filter = $.filter;
        this.function = $.function;
        this.groupBy = $.groupBy;
        this.hubName = $.hubName;
        this.kpiName = $.kpiName;
        this.resourceGroupName = $.resourceGroupName;
        this.thresHolds = $.thresHolds;
        this.unit = $.unit;
    }

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

    public static final class Builder {
        private KpiArgs $;

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

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

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

        /**
         * @param aliases The aliases.
         * 
         * @return builder
         * 
         */
        public Builder aliases(List aliases) {
            return aliases(Output.of(aliases));
        }

        /**
         * @param aliases The aliases.
         * 
         * @return builder
         * 
         */
        public Builder aliases(KpiAliasArgs... aliases) {
            return aliases(List.of(aliases));
        }

        /**
         * @param calculationWindow The calculation window.
         * 
         * @return builder
         * 
         */
        public Builder calculationWindow(Output calculationWindow) {
            $.calculationWindow = calculationWindow;
            return this;
        }

        /**
         * @param calculationWindow The calculation window.
         * 
         * @return builder
         * 
         */
        public Builder calculationWindow(CalculationWindowTypes calculationWindow) {
            return calculationWindow(Output.of(calculationWindow));
        }

        /**
         * @param calculationWindowFieldName Name of calculation window field.
         * 
         * @return builder
         * 
         */
        public Builder calculationWindowFieldName(@Nullable Output calculationWindowFieldName) {
            $.calculationWindowFieldName = calculationWindowFieldName;
            return this;
        }

        /**
         * @param calculationWindowFieldName Name of calculation window field.
         * 
         * @return builder
         * 
         */
        public Builder calculationWindowFieldName(String calculationWindowFieldName) {
            return calculationWindowFieldName(Output.of(calculationWindowFieldName));
        }

        /**
         * @param description Localized description for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder description(@Nullable Output> description) {
            $.description = description;
            return this;
        }

        /**
         * @param description Localized description for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder description(Map description) {
            return description(Output.of(description));
        }

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

        /**
         * @param displayName Localized display name for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder displayName(Map displayName) {
            return displayName(Output.of(displayName));
        }

        /**
         * @param entityType The mapping entity type.
         * 
         * @return builder
         * 
         */
        public Builder entityType(Output entityType) {
            $.entityType = entityType;
            return this;
        }

        /**
         * @param entityType The mapping entity type.
         * 
         * @return builder
         * 
         */
        public Builder entityType(EntityTypes entityType) {
            return entityType(Output.of(entityType));
        }

        /**
         * @param entityTypeName The mapping entity name.
         * 
         * @return builder
         * 
         */
        public Builder entityTypeName(Output entityTypeName) {
            $.entityTypeName = entityTypeName;
            return this;
        }

        /**
         * @param entityTypeName The mapping entity name.
         * 
         * @return builder
         * 
         */
        public Builder entityTypeName(String entityTypeName) {
            return entityTypeName(Output.of(entityTypeName));
        }

        /**
         * @param expression The computation expression for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder expression(Output expression) {
            $.expression = expression;
            return this;
        }

        /**
         * @param expression The computation expression for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder expression(String expression) {
            return expression(Output.of(expression));
        }

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

        /**
         * @param extracts The KPI extracts.
         * 
         * @return builder
         * 
         */
        public Builder extracts(List extracts) {
            return extracts(Output.of(extracts));
        }

        /**
         * @param extracts The KPI extracts.
         * 
         * @return builder
         * 
         */
        public Builder extracts(KpiExtractArgs... extracts) {
            return extracts(List.of(extracts));
        }

        /**
         * @param filter The filter expression for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder filter(@Nullable Output filter) {
            $.filter = filter;
            return this;
        }

        /**
         * @param filter The filter expression for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder filter(String filter) {
            return filter(Output.of(filter));
        }

        /**
         * @param function The computation function for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder function(Output function) {
            $.function = function;
            return this;
        }

        /**
         * @param function The computation function for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder function(KpiFunctions function) {
            return function(Output.of(function));
        }

        /**
         * @param groupBy the group by properties for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder groupBy(@Nullable Output> groupBy) {
            $.groupBy = groupBy;
            return this;
        }

        /**
         * @param groupBy the group by properties for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder groupBy(List groupBy) {
            return groupBy(Output.of(groupBy));
        }

        /**
         * @param groupBy the group by properties for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder groupBy(String... groupBy) {
            return groupBy(List.of(groupBy));
        }

        /**
         * @param hubName The name of the hub.
         * 
         * @return builder
         * 
         */
        public Builder hubName(Output hubName) {
            $.hubName = hubName;
            return this;
        }

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

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

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

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

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

        /**
         * @param thresHolds The KPI thresholds.
         * 
         * @return builder
         * 
         */
        public Builder thresHolds(@Nullable Output thresHolds) {
            $.thresHolds = thresHolds;
            return this;
        }

        /**
         * @param thresHolds The KPI thresholds.
         * 
         * @return builder
         * 
         */
        public Builder thresHolds(KpiThresholdsArgs thresHolds) {
            return thresHolds(Output.of(thresHolds));
        }

        /**
         * @param unit The unit of measurement for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder unit(@Nullable Output unit) {
            $.unit = unit;
            return this;
        }

        /**
         * @param unit The unit of measurement for the KPI.
         * 
         * @return builder
         * 
         */
        public Builder unit(String unit) {
            return unit(Output.of(unit));
        }

        public KpiArgs build() {
            if ($.calculationWindow == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "calculationWindow");
            }
            if ($.entityType == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "entityType");
            }
            if ($.entityTypeName == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "entityTypeName");
            }
            if ($.expression == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "expression");
            }
            if ($.function == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "function");
            }
            if ($.hubName == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "hubName");
            }
            if ($.resourceGroupName == null) {
                throw new MissingRequiredPropertyException("KpiArgs", "resourceGroupName");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy