Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azurenative.insights.ComponentArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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.enums.ApplicationType;
import com.pulumi.azurenative.insights.enums.FlowType;
import com.pulumi.azurenative.insights.enums.IngestionMode;
import com.pulumi.azurenative.insights.enums.PublicNetworkAccessType;
import com.pulumi.azurenative.insights.enums.RequestSource;
import com.pulumi.core.Either;
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.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 ComponentArgs extends com.pulumi.resources.ResourceArgs {
public static final ComponentArgs Empty = new ComponentArgs();
/**
* Type of application being monitored.
*
*/
@Import(name="applicationType", required=true)
private Output> applicationType;
/**
* @return Type of application being monitored.
*
*/
public Output> applicationType() {
return this.applicationType;
}
/**
* Disable IP masking.
*
*/
@Import(name="disableIpMasking")
private @Nullable Output disableIpMasking;
/**
* @return Disable IP masking.
*
*/
public Optional> disableIpMasking() {
return Optional.ofNullable(this.disableIpMasking);
}
/**
* Disable Non-AAD based Auth.
*
*/
@Import(name="disableLocalAuth")
private @Nullable Output disableLocalAuth;
/**
* @return Disable Non-AAD based Auth.
*
*/
public Optional> disableLocalAuth() {
return Optional.ofNullable(this.disableLocalAuth);
}
/**
* Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.
*
*/
@Import(name="flowType")
private @Nullable Output> flowType;
/**
* @return Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.
*
*/
public Optional>> flowType() {
return Optional.ofNullable(this.flowType);
}
/**
* Force users to create their own storage account for profiler and debugger.
*
*/
@Import(name="forceCustomerStorageForProfiler")
private @Nullable Output forceCustomerStorageForProfiler;
/**
* @return Force users to create their own storage account for profiler and debugger.
*
*/
public Optional> forceCustomerStorageForProfiler() {
return Optional.ofNullable(this.forceCustomerStorageForProfiler);
}
/**
* The unique application ID created when a new application is added to HockeyApp, used for communications with HockeyApp.
*
*/
@Import(name="hockeyAppId")
private @Nullable Output hockeyAppId;
/**
* @return The unique application ID created when a new application is added to HockeyApp, used for communications with HockeyApp.
*
*/
public Optional> hockeyAppId() {
return Optional.ofNullable(this.hockeyAppId);
}
/**
* Purge data immediately after 30 days.
*
*/
@Import(name="immediatePurgeDataOn30Days")
private @Nullable Output immediatePurgeDataOn30Days;
/**
* @return Purge data immediately after 30 days.
*
*/
public Optional> immediatePurgeDataOn30Days() {
return Optional.ofNullable(this.immediatePurgeDataOn30Days);
}
/**
* Indicates the flow of the ingestion.
*
*/
@Import(name="ingestionMode")
private @Nullable Output> ingestionMode;
/**
* @return Indicates the flow of the ingestion.
*
*/
public Optional>> ingestionMode() {
return Optional.ofNullable(this.ingestionMode);
}
/**
* The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone.
*
*/
@Import(name="kind", required=true)
private Output kind;
/**
* @return The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone.
*
*/
public Output kind() {
return this.kind;
}
/**
* Resource location
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return Resource location
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* The network access type for accessing Application Insights ingestion.
*
*/
@Import(name="publicNetworkAccessForIngestion")
private @Nullable Output> publicNetworkAccessForIngestion;
/**
* @return The network access type for accessing Application Insights ingestion.
*
*/
public Optional>> publicNetworkAccessForIngestion() {
return Optional.ofNullable(this.publicNetworkAccessForIngestion);
}
/**
* The network access type for accessing Application Insights query.
*
*/
@Import(name="publicNetworkAccessForQuery")
private @Nullable Output> publicNetworkAccessForQuery;
/**
* @return The network access type for accessing Application Insights query.
*
*/
public Optional>> publicNetworkAccessForQuery() {
return Optional.ofNullable(this.publicNetworkAccessForQuery);
}
/**
* Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.
*
*/
@Import(name="requestSource")
private @Nullable Output> requestSource;
/**
* @return Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.
*
*/
public Optional>> requestSource() {
return Optional.ofNullable(this.requestSource);
}
/**
* The name of the resource group. The name is case insensitive.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group. The name is case insensitive.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* The name of the Application Insights component resource.
*
*/
@Import(name="resourceName")
private @Nullable Output resourceName;
/**
* @return The name of the Application Insights component resource.
*
*/
public Optional> resourceName() {
return Optional.ofNullable(this.resourceName);
}
/**
* Retention period in days.
*
*/
@Import(name="retentionInDays")
private @Nullable Output retentionInDays;
/**
* @return Retention period in days.
*
*/
public Optional> retentionInDays() {
return Optional.ofNullable(this.retentionInDays);
}
/**
* Percentage of the data produced by the application being monitored that is being sampled for Application Insights telemetry.
*
*/
@Import(name="samplingPercentage")
private @Nullable Output samplingPercentage;
/**
* @return Percentage of the data produced by the application being monitored that is being sampled for Application Insights telemetry.
*
*/
public Optional> samplingPercentage() {
return Optional.ofNullable(this.samplingPercentage);
}
/**
* Resource tags
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return Resource tags
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property.
*
*/
@Import(name="workspaceResourceId")
private @Nullable Output workspaceResourceId;
/**
* @return Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property.
*
*/
public Optional> workspaceResourceId() {
return Optional.ofNullable(this.workspaceResourceId);
}
private ComponentArgs() {}
private ComponentArgs(ComponentArgs $) {
this.applicationType = $.applicationType;
this.disableIpMasking = $.disableIpMasking;
this.disableLocalAuth = $.disableLocalAuth;
this.flowType = $.flowType;
this.forceCustomerStorageForProfiler = $.forceCustomerStorageForProfiler;
this.hockeyAppId = $.hockeyAppId;
this.immediatePurgeDataOn30Days = $.immediatePurgeDataOn30Days;
this.ingestionMode = $.ingestionMode;
this.kind = $.kind;
this.location = $.location;
this.publicNetworkAccessForIngestion = $.publicNetworkAccessForIngestion;
this.publicNetworkAccessForQuery = $.publicNetworkAccessForQuery;
this.requestSource = $.requestSource;
this.resourceGroupName = $.resourceGroupName;
this.resourceName = $.resourceName;
this.retentionInDays = $.retentionInDays;
this.samplingPercentage = $.samplingPercentage;
this.tags = $.tags;
this.workspaceResourceId = $.workspaceResourceId;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ComponentArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ComponentArgs $;
public Builder() {
$ = new ComponentArgs();
}
public Builder(ComponentArgs defaults) {
$ = new ComponentArgs(Objects.requireNonNull(defaults));
}
/**
* @param applicationType Type of application being monitored.
*
* @return builder
*
*/
public Builder applicationType(Output> applicationType) {
$.applicationType = applicationType;
return this;
}
/**
* @param applicationType Type of application being monitored.
*
* @return builder
*
*/
public Builder applicationType(Either applicationType) {
return applicationType(Output.of(applicationType));
}
/**
* @param applicationType Type of application being monitored.
*
* @return builder
*
*/
public Builder applicationType(String applicationType) {
return applicationType(Either.ofLeft(applicationType));
}
/**
* @param applicationType Type of application being monitored.
*
* @return builder
*
*/
public Builder applicationType(ApplicationType applicationType) {
return applicationType(Either.ofRight(applicationType));
}
/**
* @param disableIpMasking Disable IP masking.
*
* @return builder
*
*/
public Builder disableIpMasking(@Nullable Output disableIpMasking) {
$.disableIpMasking = disableIpMasking;
return this;
}
/**
* @param disableIpMasking Disable IP masking.
*
* @return builder
*
*/
public Builder disableIpMasking(Boolean disableIpMasking) {
return disableIpMasking(Output.of(disableIpMasking));
}
/**
* @param disableLocalAuth Disable Non-AAD based Auth.
*
* @return builder
*
*/
public Builder disableLocalAuth(@Nullable Output disableLocalAuth) {
$.disableLocalAuth = disableLocalAuth;
return this;
}
/**
* @param disableLocalAuth Disable Non-AAD based Auth.
*
* @return builder
*
*/
public Builder disableLocalAuth(Boolean disableLocalAuth) {
return disableLocalAuth(Output.of(disableLocalAuth));
}
/**
* @param flowType Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.
*
* @return builder
*
*/
public Builder flowType(@Nullable Output> flowType) {
$.flowType = flowType;
return this;
}
/**
* @param flowType Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.
*
* @return builder
*
*/
public Builder flowType(Either flowType) {
return flowType(Output.of(flowType));
}
/**
* @param flowType Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.
*
* @return builder
*
*/
public Builder flowType(String flowType) {
return flowType(Either.ofLeft(flowType));
}
/**
* @param flowType Used by the Application Insights system to determine what kind of flow this component was created by. This is to be set to 'Bluefield' when creating/updating a component via the REST API.
*
* @return builder
*
*/
public Builder flowType(FlowType flowType) {
return flowType(Either.ofRight(flowType));
}
/**
* @param forceCustomerStorageForProfiler Force users to create their own storage account for profiler and debugger.
*
* @return builder
*
*/
public Builder forceCustomerStorageForProfiler(@Nullable Output forceCustomerStorageForProfiler) {
$.forceCustomerStorageForProfiler = forceCustomerStorageForProfiler;
return this;
}
/**
* @param forceCustomerStorageForProfiler Force users to create their own storage account for profiler and debugger.
*
* @return builder
*
*/
public Builder forceCustomerStorageForProfiler(Boolean forceCustomerStorageForProfiler) {
return forceCustomerStorageForProfiler(Output.of(forceCustomerStorageForProfiler));
}
/**
* @param hockeyAppId The unique application ID created when a new application is added to HockeyApp, used for communications with HockeyApp.
*
* @return builder
*
*/
public Builder hockeyAppId(@Nullable Output hockeyAppId) {
$.hockeyAppId = hockeyAppId;
return this;
}
/**
* @param hockeyAppId The unique application ID created when a new application is added to HockeyApp, used for communications with HockeyApp.
*
* @return builder
*
*/
public Builder hockeyAppId(String hockeyAppId) {
return hockeyAppId(Output.of(hockeyAppId));
}
/**
* @param immediatePurgeDataOn30Days Purge data immediately after 30 days.
*
* @return builder
*
*/
public Builder immediatePurgeDataOn30Days(@Nullable Output immediatePurgeDataOn30Days) {
$.immediatePurgeDataOn30Days = immediatePurgeDataOn30Days;
return this;
}
/**
* @param immediatePurgeDataOn30Days Purge data immediately after 30 days.
*
* @return builder
*
*/
public Builder immediatePurgeDataOn30Days(Boolean immediatePurgeDataOn30Days) {
return immediatePurgeDataOn30Days(Output.of(immediatePurgeDataOn30Days));
}
/**
* @param ingestionMode Indicates the flow of the ingestion.
*
* @return builder
*
*/
public Builder ingestionMode(@Nullable Output> ingestionMode) {
$.ingestionMode = ingestionMode;
return this;
}
/**
* @param ingestionMode Indicates the flow of the ingestion.
*
* @return builder
*
*/
public Builder ingestionMode(Either ingestionMode) {
return ingestionMode(Output.of(ingestionMode));
}
/**
* @param ingestionMode Indicates the flow of the ingestion.
*
* @return builder
*
*/
public Builder ingestionMode(String ingestionMode) {
return ingestionMode(Either.ofLeft(ingestionMode));
}
/**
* @param ingestionMode Indicates the flow of the ingestion.
*
* @return builder
*
*/
public Builder ingestionMode(IngestionMode ingestionMode) {
return ingestionMode(Either.ofRight(ingestionMode));
}
/**
* @param kind The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone.
*
* @return builder
*
*/
public Builder kind(Output kind) {
$.kind = kind;
return this;
}
/**
* @param kind The kind of application that this component refers to, used to customize UI. This value is a freeform string, values should typically be one of the following: web, ios, other, store, java, phone.
*
* @return builder
*
*/
public Builder kind(String kind) {
return kind(Output.of(kind));
}
/**
* @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 publicNetworkAccessForIngestion The network access type for accessing Application Insights ingestion.
*
* @return builder
*
*/
public Builder publicNetworkAccessForIngestion(@Nullable Output> publicNetworkAccessForIngestion) {
$.publicNetworkAccessForIngestion = publicNetworkAccessForIngestion;
return this;
}
/**
* @param publicNetworkAccessForIngestion The network access type for accessing Application Insights ingestion.
*
* @return builder
*
*/
public Builder publicNetworkAccessForIngestion(Either publicNetworkAccessForIngestion) {
return publicNetworkAccessForIngestion(Output.of(publicNetworkAccessForIngestion));
}
/**
* @param publicNetworkAccessForIngestion The network access type for accessing Application Insights ingestion.
*
* @return builder
*
*/
public Builder publicNetworkAccessForIngestion(String publicNetworkAccessForIngestion) {
return publicNetworkAccessForIngestion(Either.ofLeft(publicNetworkAccessForIngestion));
}
/**
* @param publicNetworkAccessForIngestion The network access type for accessing Application Insights ingestion.
*
* @return builder
*
*/
public Builder publicNetworkAccessForIngestion(PublicNetworkAccessType publicNetworkAccessForIngestion) {
return publicNetworkAccessForIngestion(Either.ofRight(publicNetworkAccessForIngestion));
}
/**
* @param publicNetworkAccessForQuery The network access type for accessing Application Insights query.
*
* @return builder
*
*/
public Builder publicNetworkAccessForQuery(@Nullable Output> publicNetworkAccessForQuery) {
$.publicNetworkAccessForQuery = publicNetworkAccessForQuery;
return this;
}
/**
* @param publicNetworkAccessForQuery The network access type for accessing Application Insights query.
*
* @return builder
*
*/
public Builder publicNetworkAccessForQuery(Either publicNetworkAccessForQuery) {
return publicNetworkAccessForQuery(Output.of(publicNetworkAccessForQuery));
}
/**
* @param publicNetworkAccessForQuery The network access type for accessing Application Insights query.
*
* @return builder
*
*/
public Builder publicNetworkAccessForQuery(String publicNetworkAccessForQuery) {
return publicNetworkAccessForQuery(Either.ofLeft(publicNetworkAccessForQuery));
}
/**
* @param publicNetworkAccessForQuery The network access type for accessing Application Insights query.
*
* @return builder
*
*/
public Builder publicNetworkAccessForQuery(PublicNetworkAccessType publicNetworkAccessForQuery) {
return publicNetworkAccessForQuery(Either.ofRight(publicNetworkAccessForQuery));
}
/**
* @param requestSource Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.
*
* @return builder
*
*/
public Builder requestSource(@Nullable Output> requestSource) {
$.requestSource = requestSource;
return this;
}
/**
* @param requestSource Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.
*
* @return builder
*
*/
public Builder requestSource(Either requestSource) {
return requestSource(Output.of(requestSource));
}
/**
* @param requestSource Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.
*
* @return builder
*
*/
public Builder requestSource(String requestSource) {
return requestSource(Either.ofLeft(requestSource));
}
/**
* @param requestSource Describes what tool created this Application Insights component. Customers using this API should set this to the default 'rest'.
*
* @return builder
*
*/
public Builder requestSource(RequestSource requestSource) {
return requestSource(Either.ofRight(requestSource));
}
/**
* @param resourceGroupName The name of the resource group. The name is case insensitive.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group. The name is case insensitive.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param resourceName The name of the Application Insights component resource.
*
* @return builder
*
*/
public Builder resourceName(@Nullable Output resourceName) {
$.resourceName = resourceName;
return this;
}
/**
* @param resourceName The name of the Application Insights component resource.
*
* @return builder
*
*/
public Builder resourceName(String resourceName) {
return resourceName(Output.of(resourceName));
}
/**
* @param retentionInDays Retention period in days.
*
* @return builder
*
*/
public Builder retentionInDays(@Nullable Output retentionInDays) {
$.retentionInDays = retentionInDays;
return this;
}
/**
* @param retentionInDays Retention period in days.
*
* @return builder
*
*/
public Builder retentionInDays(Integer retentionInDays) {
return retentionInDays(Output.of(retentionInDays));
}
/**
* @param samplingPercentage Percentage of the data produced by the application being monitored that is being sampled for Application Insights telemetry.
*
* @return builder
*
*/
public Builder samplingPercentage(@Nullable Output samplingPercentage) {
$.samplingPercentage = samplingPercentage;
return this;
}
/**
* @param samplingPercentage Percentage of the data produced by the application being monitored that is being sampled for Application Insights telemetry.
*
* @return builder
*
*/
public Builder samplingPercentage(Double samplingPercentage) {
return samplingPercentage(Output.of(samplingPercentage));
}
/**
* @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 workspaceResourceId Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property.
*
* @return builder
*
*/
public Builder workspaceResourceId(@Nullable Output workspaceResourceId) {
$.workspaceResourceId = workspaceResourceId;
return this;
}
/**
* @param workspaceResourceId Resource Id of the log analytics workspace which the data will be ingested to. This property is required to create an application with this API version. Applications from older versions will not have this property.
*
* @return builder
*
*/
public Builder workspaceResourceId(String workspaceResourceId) {
return workspaceResourceId(Output.of(workspaceResourceId));
}
public ComponentArgs build() {
$.applicationType = Codegen.stringProp("applicationType").left(ApplicationType.class).output().arg($.applicationType).def("web").require();
$.flowType = Codegen.stringProp("flowType").left(FlowType.class).output().arg($.flowType).def("Bluefield").getNullable();
$.ingestionMode = Codegen.stringProp("ingestionMode").left(IngestionMode.class).output().arg($.ingestionMode).def("LogAnalytics").getNullable();
if ($.kind == null) {
throw new MissingRequiredPropertyException("ComponentArgs", "kind");
}
$.requestSource = Codegen.stringProp("requestSource").left(RequestSource.class).output().arg($.requestSource).def("rest").getNullable();
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("ComponentArgs", "resourceGroupName");
}
return $;
}
}
}