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

com.pulumi.azure.appinsights.inputs.InsightsState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.

There is a newer version: 6.10.0-alpha.1731737215
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.azure.appinsights.inputs;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final InsightsState Empty = new InsightsState();

    /**
     * The App ID associated with this Application Insights component.
     * 
     */
    @Import(name="appId")
    private @Nullable Output appId;

    /**
     * @return The App ID associated with this Application Insights component.
     * 
     */
    public Optional> appId() {
        return Optional.ofNullable(this.appId);
    }

    /**
     * Specifies the type of Application Insights to create. Valid values are `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="applicationType")
    private @Nullable Output applicationType;

    /**
     * @return Specifies the type of Application Insights to create. Valid values are `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.
     * 
     */
    public Optional> applicationType() {
        return Optional.ofNullable(this.applicationType);
    }

    /**
     * The Connection String for this Application Insights component. (Sensitive)
     * 
     */
    @Import(name="connectionString")
    private @Nullable Output connectionString;

    /**
     * @return The Connection String for this Application Insights component. (Sensitive)
     * 
     */
    public Optional> connectionString() {
        return Optional.ofNullable(this.connectionString);
    }

    /**
     * Specifies the Application Insights component daily data volume cap in GB. Defaults to `100`.
     * 
     */
    @Import(name="dailyDataCapInGb")
    private @Nullable Output dailyDataCapInGb;

    /**
     * @return Specifies the Application Insights component daily data volume cap in GB. Defaults to `100`.
     * 
     */
    public Optional> dailyDataCapInGb() {
        return Optional.ofNullable(this.dailyDataCapInGb);
    }

    /**
     * Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to `false`.
     * 
     */
    @Import(name="dailyDataCapNotificationsDisabled")
    private @Nullable Output dailyDataCapNotificationsDisabled;

    /**
     * @return Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to `false`.
     * 
     */
    public Optional> dailyDataCapNotificationsDisabled() {
        return Optional.ofNullable(this.dailyDataCapNotificationsDisabled);
    }

    /**
     * By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to `false`.
     * 
     */
    @Import(name="disableIpMasking")
    private @Nullable Output disableIpMasking;

    /**
     * @return By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to `false`.
     * 
     */
    public Optional> disableIpMasking() {
        return Optional.ofNullable(this.disableIpMasking);
    }

    /**
     * Should the Application Insights component force users to create their own storage account for profiling? Defaults to `false`.
     * 
     */
    @Import(name="forceCustomerStorageForProfiler")
    private @Nullable Output forceCustomerStorageForProfiler;

    /**
     * @return Should the Application Insights component force users to create their own storage account for profiling? Defaults to `false`.
     * 
     */
    public Optional> forceCustomerStorageForProfiler() {
        return Optional.ofNullable(this.forceCustomerStorageForProfiler);
    }

    /**
     * The Instrumentation Key for this Application Insights component. (Sensitive)
     * 
     */
    @Import(name="instrumentationKey")
    private @Nullable Output instrumentationKey;

    /**
     * @return The Instrumentation Key for this Application Insights component. (Sensitive)
     * 
     */
    public Optional> instrumentationKey() {
        return Optional.ofNullable(this.instrumentationKey);
    }

    /**
     * Should the Application Insights component support ingestion over the Public Internet? Defaults to `true`.
     * 
     */
    @Import(name="internetIngestionEnabled")
    private @Nullable Output internetIngestionEnabled;

    /**
     * @return Should the Application Insights component support ingestion over the Public Internet? Defaults to `true`.
     * 
     */
    public Optional> internetIngestionEnabled() {
        return Optional.ofNullable(this.internetIngestionEnabled);
    }

    /**
     * Should the Application Insights component support querying over the Public Internet? Defaults to `true`.
     * 
     */
    @Import(name="internetQueryEnabled")
    private @Nullable Output internetQueryEnabled;

    /**
     * @return Should the Application Insights component support querying over the Public Internet? Defaults to `true`.
     * 
     */
    public Optional> internetQueryEnabled() {
        return Optional.ofNullable(this.internetQueryEnabled);
    }

    /**
     * Disable Non-Azure AD based Auth. Defaults to `false`.
     * 
     */
    @Import(name="localAuthenticationDisabled")
    private @Nullable Output localAuthenticationDisabled;

    /**
     * @return Disable Non-Azure AD based Auth. Defaults to `false`.
     * 
     */
    public Optional> localAuthenticationDisabled() {
        return Optional.ofNullable(this.localAuthenticationDisabled);
    }

    /**
     * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * Specifies the name of the Application Insights component. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="name")
    private @Nullable Output name;

    /**
     * @return Specifies the name of the Application Insights component. Changing this forces a new resource to be created.
     * 
     */
    public Optional> name() {
        return Optional.ofNullable(this.name);
    }

    /**
     * The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.
     * 
     */
    @Import(name="resourceGroupName")
    private @Nullable Output resourceGroupName;

    /**
     * @return The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.
     * 
     */
    public Optional> resourceGroupName() {
        return Optional.ofNullable(this.resourceGroupName);
    }

    /**
     * Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.
     * 
     */
    @Import(name="retentionInDays")
    private @Nullable Output retentionInDays;

    /**
     * @return Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.
     * 
     */
    public Optional> retentionInDays() {
        return Optional.ofNullable(this.retentionInDays);
    }

    /**
     * Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to `100`.
     * 
     */
    @Import(name="samplingPercentage")
    private @Nullable Output samplingPercentage;

    /**
     * @return Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to `100`.
     * 
     */
    public Optional> samplingPercentage() {
        return Optional.ofNullable(this.samplingPercentage);
    }

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * Specifies the id of a log analytics workspace resource.
     * 
     * > **NOTE:** This can not be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process)
     * 
     */
    @Import(name="workspaceId")
    private @Nullable Output workspaceId;

    /**
     * @return Specifies the id of a log analytics workspace resource.
     * 
     * > **NOTE:** This can not be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process)
     * 
     */
    public Optional> workspaceId() {
        return Optional.ofNullable(this.workspaceId);
    }

    private InsightsState() {}

    private InsightsState(InsightsState $) {
        this.appId = $.appId;
        this.applicationType = $.applicationType;
        this.connectionString = $.connectionString;
        this.dailyDataCapInGb = $.dailyDataCapInGb;
        this.dailyDataCapNotificationsDisabled = $.dailyDataCapNotificationsDisabled;
        this.disableIpMasking = $.disableIpMasking;
        this.forceCustomerStorageForProfiler = $.forceCustomerStorageForProfiler;
        this.instrumentationKey = $.instrumentationKey;
        this.internetIngestionEnabled = $.internetIngestionEnabled;
        this.internetQueryEnabled = $.internetQueryEnabled;
        this.localAuthenticationDisabled = $.localAuthenticationDisabled;
        this.location = $.location;
        this.name = $.name;
        this.resourceGroupName = $.resourceGroupName;
        this.retentionInDays = $.retentionInDays;
        this.samplingPercentage = $.samplingPercentage;
        this.tags = $.tags;
        this.workspaceId = $.workspaceId;
    }

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

    public static final class Builder {
        private InsightsState $;

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

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

        /**
         * @param appId The App ID associated with this Application Insights component.
         * 
         * @return builder
         * 
         */
        public Builder appId(@Nullable Output appId) {
            $.appId = appId;
            return this;
        }

        /**
         * @param appId The App ID associated with this Application Insights component.
         * 
         * @return builder
         * 
         */
        public Builder appId(String appId) {
            return appId(Output.of(appId));
        }

        /**
         * @param applicationType Specifies the type of Application Insights to create. Valid values are `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder applicationType(@Nullable Output applicationType) {
            $.applicationType = applicationType;
            return this;
        }

        /**
         * @param applicationType Specifies the type of Application Insights to create. Valid values are `ios` for _iOS_, `java` for _Java web_, `MobileCenter` for _App Center_, `Node.JS` for _Node.js_, `other` for _General_, `phone` for _Windows Phone_, `store` for _Windows Store_ and `web` for _ASP.NET_. Please note these values are case sensitive; unmatched values are treated as _ASP.NET_ by Azure. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder applicationType(String applicationType) {
            return applicationType(Output.of(applicationType));
        }

        /**
         * @param connectionString The Connection String for this Application Insights component. (Sensitive)
         * 
         * @return builder
         * 
         */
        public Builder connectionString(@Nullable Output connectionString) {
            $.connectionString = connectionString;
            return this;
        }

        /**
         * @param connectionString The Connection String for this Application Insights component. (Sensitive)
         * 
         * @return builder
         * 
         */
        public Builder connectionString(String connectionString) {
            return connectionString(Output.of(connectionString));
        }

        /**
         * @param dailyDataCapInGb Specifies the Application Insights component daily data volume cap in GB. Defaults to `100`.
         * 
         * @return builder
         * 
         */
        public Builder dailyDataCapInGb(@Nullable Output dailyDataCapInGb) {
            $.dailyDataCapInGb = dailyDataCapInGb;
            return this;
        }

        /**
         * @param dailyDataCapInGb Specifies the Application Insights component daily data volume cap in GB. Defaults to `100`.
         * 
         * @return builder
         * 
         */
        public Builder dailyDataCapInGb(Double dailyDataCapInGb) {
            return dailyDataCapInGb(Output.of(dailyDataCapInGb));
        }

        /**
         * @param dailyDataCapNotificationsDisabled Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder dailyDataCapNotificationsDisabled(@Nullable Output dailyDataCapNotificationsDisabled) {
            $.dailyDataCapNotificationsDisabled = dailyDataCapNotificationsDisabled;
            return this;
        }

        /**
         * @param dailyDataCapNotificationsDisabled Specifies if a notification email will be sent when the daily data volume cap is met. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder dailyDataCapNotificationsDisabled(Boolean dailyDataCapNotificationsDisabled) {
            return dailyDataCapNotificationsDisabled(Output.of(dailyDataCapNotificationsDisabled));
        }

        /**
         * @param disableIpMasking By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder disableIpMasking(@Nullable Output disableIpMasking) {
            $.disableIpMasking = disableIpMasking;
            return this;
        }

        /**
         * @param disableIpMasking By default the real client IP is masked as `0.0.0.0` in the logs. Use this argument to disable masking and log the real client IP. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder disableIpMasking(Boolean disableIpMasking) {
            return disableIpMasking(Output.of(disableIpMasking));
        }

        /**
         * @param forceCustomerStorageForProfiler Should the Application Insights component force users to create their own storage account for profiling? Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder forceCustomerStorageForProfiler(@Nullable Output forceCustomerStorageForProfiler) {
            $.forceCustomerStorageForProfiler = forceCustomerStorageForProfiler;
            return this;
        }

        /**
         * @param forceCustomerStorageForProfiler Should the Application Insights component force users to create their own storage account for profiling? Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder forceCustomerStorageForProfiler(Boolean forceCustomerStorageForProfiler) {
            return forceCustomerStorageForProfiler(Output.of(forceCustomerStorageForProfiler));
        }

        /**
         * @param instrumentationKey The Instrumentation Key for this Application Insights component. (Sensitive)
         * 
         * @return builder
         * 
         */
        public Builder instrumentationKey(@Nullable Output instrumentationKey) {
            $.instrumentationKey = instrumentationKey;
            return this;
        }

        /**
         * @param instrumentationKey The Instrumentation Key for this Application Insights component. (Sensitive)
         * 
         * @return builder
         * 
         */
        public Builder instrumentationKey(String instrumentationKey) {
            return instrumentationKey(Output.of(instrumentationKey));
        }

        /**
         * @param internetIngestionEnabled Should the Application Insights component support ingestion over the Public Internet? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder internetIngestionEnabled(@Nullable Output internetIngestionEnabled) {
            $.internetIngestionEnabled = internetIngestionEnabled;
            return this;
        }

        /**
         * @param internetIngestionEnabled Should the Application Insights component support ingestion over the Public Internet? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder internetIngestionEnabled(Boolean internetIngestionEnabled) {
            return internetIngestionEnabled(Output.of(internetIngestionEnabled));
        }

        /**
         * @param internetQueryEnabled Should the Application Insights component support querying over the Public Internet? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder internetQueryEnabled(@Nullable Output internetQueryEnabled) {
            $.internetQueryEnabled = internetQueryEnabled;
            return this;
        }

        /**
         * @param internetQueryEnabled Should the Application Insights component support querying over the Public Internet? Defaults to `true`.
         * 
         * @return builder
         * 
         */
        public Builder internetQueryEnabled(Boolean internetQueryEnabled) {
            return internetQueryEnabled(Output.of(internetQueryEnabled));
        }

        /**
         * @param localAuthenticationDisabled Disable Non-Azure AD based Auth. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder localAuthenticationDisabled(@Nullable Output localAuthenticationDisabled) {
            $.localAuthenticationDisabled = localAuthenticationDisabled;
            return this;
        }

        /**
         * @param localAuthenticationDisabled Disable Non-Azure AD based Auth. Defaults to `false`.
         * 
         * @return builder
         * 
         */
        public Builder localAuthenticationDisabled(Boolean localAuthenticationDisabled) {
            return localAuthenticationDisabled(Output.of(localAuthenticationDisabled));
        }

        /**
         * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(@Nullable Output location) {
            $.location = location;
            return this;
        }

        /**
         * @param location Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder location(String location) {
            return location(Output.of(location));
        }

        /**
         * @param name Specifies the name of the Application Insights component. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(@Nullable Output name) {
            $.name = name;
            return this;
        }

        /**
         * @param name Specifies the name of the Application Insights component. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder name(String name) {
            return name(Output.of(name));
        }

        /**
         * @param resourceGroupName The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(@Nullable Output resourceGroupName) {
            $.resourceGroupName = resourceGroupName;
            return this;
        }

        /**
         * @param resourceGroupName The name of the resource group in which to create the Application Insights component. Changing this forces a new resource to be created.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupName(String resourceGroupName) {
            return resourceGroupName(Output.of(resourceGroupName));
        }

        /**
         * @param retentionInDays Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.
         * 
         * @return builder
         * 
         */
        public Builder retentionInDays(@Nullable Output retentionInDays) {
            $.retentionInDays = retentionInDays;
            return this;
        }

        /**
         * @param retentionInDays Specifies the retention period in days. Possible values are `30`, `60`, `90`, `120`, `180`, `270`, `365`, `550` or `730`. Defaults to `90`.
         * 
         * @return builder
         * 
         */
        public Builder retentionInDays(Integer retentionInDays) {
            return retentionInDays(Output.of(retentionInDays));
        }

        /**
         * @param samplingPercentage Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to `100`.
         * 
         * @return builder
         * 
         */
        public Builder samplingPercentage(@Nullable Output samplingPercentage) {
            $.samplingPercentage = samplingPercentage;
            return this;
        }

        /**
         * @param samplingPercentage Specifies the percentage of the data produced by the monitored application that is sampled for Application Insights telemetry. Defaults to `100`.
         * 
         * @return builder
         * 
         */
        public Builder samplingPercentage(Double samplingPercentage) {
            return samplingPercentage(Output.of(samplingPercentage));
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param workspaceId Specifies the id of a log analytics workspace resource.
         * 
         * > **NOTE:** This can not be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process)
         * 
         * @return builder
         * 
         */
        public Builder workspaceId(@Nullable Output workspaceId) {
            $.workspaceId = workspaceId;
            return this;
        }

        /**
         * @param workspaceId Specifies the id of a log analytics workspace resource.
         * 
         * > **NOTE:** This can not be removed after set. More details can be found at [Migrate to workspace-based Application Insights resources](https://docs.microsoft.com/azure/azure-monitor/app/convert-classic-resource#migration-process)
         * 
         * @return builder
         * 
         */
        public Builder workspaceId(String workspaceId) {
            return workspaceId(Output.of(workspaceId));
        }

        public InsightsState build() {
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy