All Downloads are FREE. Search and download functionalities are using the official Maven repository.
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.azure.apimanagement.ApiDiagnosticArgs 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.
// *** 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.apimanagement;
import com.pulumi.azure.apimanagement.inputs.ApiDiagnosticBackendRequestArgs;
import com.pulumi.azure.apimanagement.inputs.ApiDiagnosticBackendResponseArgs;
import com.pulumi.azure.apimanagement.inputs.ApiDiagnosticFrontendRequestArgs;
import com.pulumi.azure.apimanagement.inputs.ApiDiagnosticFrontendResponseArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ApiDiagnosticArgs extends com.pulumi.resources.ResourceArgs {
public static final ApiDiagnosticArgs Empty = new ApiDiagnosticArgs();
/**
* Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
*
*/
@Import(name="alwaysLogErrors")
private @Nullable Output alwaysLogErrors;
/**
* @return Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
*
*/
public Optional> alwaysLogErrors() {
return Optional.ofNullable(this.alwaysLogErrors);
}
/**
* The ID (name) of the Diagnostics Logger.
*
*/
@Import(name="apiManagementLoggerId", required=true)
private Output apiManagementLoggerId;
/**
* @return The ID (name) of the Diagnostics Logger.
*
*/
public Output apiManagementLoggerId() {
return this.apiManagementLoggerId;
}
/**
* The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
@Import(name="apiManagementName", required=true)
private Output apiManagementName;
/**
* @return The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
public Output apiManagementName() {
return this.apiManagementName;
}
/**
* The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
@Import(name="apiName", required=true)
private Output apiName;
/**
* @return The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
public Output apiName() {
return this.apiName;
}
/**
* A `backend_request` block as defined below.
*
*/
@Import(name="backendRequest")
private @Nullable Output backendRequest;
/**
* @return A `backend_request` block as defined below.
*
*/
public Optional> backendRequest() {
return Optional.ofNullable(this.backendRequest);
}
/**
* A `backend_response` block as defined below.
*
*/
@Import(name="backendResponse")
private @Nullable Output backendResponse;
/**
* @return A `backend_response` block as defined below.
*
*/
public Optional> backendResponse() {
return Optional.ofNullable(this.backendResponse);
}
/**
* A `frontend_request` block as defined below.
*
*/
@Import(name="frontendRequest")
private @Nullable Output frontendRequest;
/**
* @return A `frontend_request` block as defined below.
*
*/
public Optional> frontendRequest() {
return Optional.ofNullable(this.frontendRequest);
}
/**
* A `frontend_response` block as defined below.
*
*/
@Import(name="frontendResponse")
private @Nullable Output frontendResponse;
/**
* @return A `frontend_response` block as defined below.
*
*/
public Optional> frontendResponse() {
return Optional.ofNullable(this.frontendResponse);
}
/**
* The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.
*
*/
@Import(name="httpCorrelationProtocol")
private @Nullable Output httpCorrelationProtocol;
/**
* @return The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.
*
*/
public Optional> httpCorrelationProtocol() {
return Optional.ofNullable(this.httpCorrelationProtocol);
}
/**
* Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
@Import(name="identifier", required=true)
private Output identifier;
/**
* @return Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
public Output identifier() {
return this.identifier;
}
/**
* Log client IP address.
*
*/
@Import(name="logClientIp")
private @Nullable Output logClientIp;
/**
* @return Log client IP address.
*
*/
public Optional> logClientIp() {
return Optional.ofNullable(this.logClientIp);
}
/**
* The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.
*
*/
@Import(name="operationNameFormat")
private @Nullable Output operationNameFormat;
/**
* @return The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.
*
*/
public Optional> operationNameFormat() {
return Optional.ofNullable(this.operationNameFormat);
}
/**
* The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.
*
*/
@Import(name="samplingPercentage")
private @Nullable Output samplingPercentage;
/**
* @return Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.
*
*/
public Optional> samplingPercentage() {
return Optional.ofNullable(this.samplingPercentage);
}
/**
* Logging verbosity. Possible values are `verbose`, `information` or `error`.
*
*/
@Import(name="verbosity")
private @Nullable Output verbosity;
/**
* @return Logging verbosity. Possible values are `verbose`, `information` or `error`.
*
*/
public Optional> verbosity() {
return Optional.ofNullable(this.verbosity);
}
private ApiDiagnosticArgs() {}
private ApiDiagnosticArgs(ApiDiagnosticArgs $) {
this.alwaysLogErrors = $.alwaysLogErrors;
this.apiManagementLoggerId = $.apiManagementLoggerId;
this.apiManagementName = $.apiManagementName;
this.apiName = $.apiName;
this.backendRequest = $.backendRequest;
this.backendResponse = $.backendResponse;
this.frontendRequest = $.frontendRequest;
this.frontendResponse = $.frontendResponse;
this.httpCorrelationProtocol = $.httpCorrelationProtocol;
this.identifier = $.identifier;
this.logClientIp = $.logClientIp;
this.operationNameFormat = $.operationNameFormat;
this.resourceGroupName = $.resourceGroupName;
this.samplingPercentage = $.samplingPercentage;
this.verbosity = $.verbosity;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ApiDiagnosticArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ApiDiagnosticArgs $;
public Builder() {
$ = new ApiDiagnosticArgs();
}
public Builder(ApiDiagnosticArgs defaults) {
$ = new ApiDiagnosticArgs(Objects.requireNonNull(defaults));
}
/**
* @param alwaysLogErrors Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
*
* @return builder
*
*/
public Builder alwaysLogErrors(@Nullable Output alwaysLogErrors) {
$.alwaysLogErrors = alwaysLogErrors;
return this;
}
/**
* @param alwaysLogErrors Always log errors. Send telemetry if there is an erroneous condition, regardless of sampling settings.
*
* @return builder
*
*/
public Builder alwaysLogErrors(Boolean alwaysLogErrors) {
return alwaysLogErrors(Output.of(alwaysLogErrors));
}
/**
* @param apiManagementLoggerId The ID (name) of the Diagnostics Logger.
*
* @return builder
*
*/
public Builder apiManagementLoggerId(Output apiManagementLoggerId) {
$.apiManagementLoggerId = apiManagementLoggerId;
return this;
}
/**
* @param apiManagementLoggerId The ID (name) of the Diagnostics Logger.
*
* @return builder
*
*/
public Builder apiManagementLoggerId(String apiManagementLoggerId) {
return apiManagementLoggerId(Output.of(apiManagementLoggerId));
}
/**
* @param apiManagementName The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder apiManagementName(Output apiManagementName) {
$.apiManagementName = apiManagementName;
return this;
}
/**
* @param apiManagementName The name of the API Management Service instance. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder apiManagementName(String apiManagementName) {
return apiManagementName(Output.of(apiManagementName));
}
/**
* @param apiName The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder apiName(Output apiName) {
$.apiName = apiName;
return this;
}
/**
* @param apiName The name of the API on which to configure the Diagnostics Logs. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder apiName(String apiName) {
return apiName(Output.of(apiName));
}
/**
* @param backendRequest A `backend_request` block as defined below.
*
* @return builder
*
*/
public Builder backendRequest(@Nullable Output backendRequest) {
$.backendRequest = backendRequest;
return this;
}
/**
* @param backendRequest A `backend_request` block as defined below.
*
* @return builder
*
*/
public Builder backendRequest(ApiDiagnosticBackendRequestArgs backendRequest) {
return backendRequest(Output.of(backendRequest));
}
/**
* @param backendResponse A `backend_response` block as defined below.
*
* @return builder
*
*/
public Builder backendResponse(@Nullable Output backendResponse) {
$.backendResponse = backendResponse;
return this;
}
/**
* @param backendResponse A `backend_response` block as defined below.
*
* @return builder
*
*/
public Builder backendResponse(ApiDiagnosticBackendResponseArgs backendResponse) {
return backendResponse(Output.of(backendResponse));
}
/**
* @param frontendRequest A `frontend_request` block as defined below.
*
* @return builder
*
*/
public Builder frontendRequest(@Nullable Output frontendRequest) {
$.frontendRequest = frontendRequest;
return this;
}
/**
* @param frontendRequest A `frontend_request` block as defined below.
*
* @return builder
*
*/
public Builder frontendRequest(ApiDiagnosticFrontendRequestArgs frontendRequest) {
return frontendRequest(Output.of(frontendRequest));
}
/**
* @param frontendResponse A `frontend_response` block as defined below.
*
* @return builder
*
*/
public Builder frontendResponse(@Nullable Output frontendResponse) {
$.frontendResponse = frontendResponse;
return this;
}
/**
* @param frontendResponse A `frontend_response` block as defined below.
*
* @return builder
*
*/
public Builder frontendResponse(ApiDiagnosticFrontendResponseArgs frontendResponse) {
return frontendResponse(Output.of(frontendResponse));
}
/**
* @param httpCorrelationProtocol The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.
*
* @return builder
*
*/
public Builder httpCorrelationProtocol(@Nullable Output httpCorrelationProtocol) {
$.httpCorrelationProtocol = httpCorrelationProtocol;
return this;
}
/**
* @param httpCorrelationProtocol The HTTP Correlation Protocol to use. Possible values are `None`, `Legacy` or `W3C`.
*
* @return builder
*
*/
public Builder httpCorrelationProtocol(String httpCorrelationProtocol) {
return httpCorrelationProtocol(Output.of(httpCorrelationProtocol));
}
/**
* @param identifier Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder identifier(Output identifier) {
$.identifier = identifier;
return this;
}
/**
* @param identifier Identifier of the Diagnostics Logs. Possible values are `applicationinsights` and `azuremonitor`. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder identifier(String identifier) {
return identifier(Output.of(identifier));
}
/**
* @param logClientIp Log client IP address.
*
* @return builder
*
*/
public Builder logClientIp(@Nullable Output logClientIp) {
$.logClientIp = logClientIp;
return this;
}
/**
* @param logClientIp Log client IP address.
*
* @return builder
*
*/
public Builder logClientIp(Boolean logClientIp) {
return logClientIp(Output.of(logClientIp));
}
/**
* @param operationNameFormat The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.
*
* @return builder
*
*/
public Builder operationNameFormat(@Nullable Output operationNameFormat) {
$.operationNameFormat = operationNameFormat;
return this;
}
/**
* @param operationNameFormat The format of the Operation Name for Application Insights telemetries. Possible values are `Name`, and `Url`. Defaults to `Name`.
*
* @return builder
*
*/
public Builder operationNameFormat(String operationNameFormat) {
return operationNameFormat(Output.of(operationNameFormat));
}
/**
* @param resourceGroupName The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the Resource Group where the API Management Service API Diagnostics Logs should exist. Changing this forces a new API Management Service API Diagnostics Logs to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param samplingPercentage Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.
*
* @return builder
*
*/
public Builder samplingPercentage(@Nullable Output samplingPercentage) {
$.samplingPercentage = samplingPercentage;
return this;
}
/**
* @param samplingPercentage Sampling (%). For high traffic APIs, please read this [documentation](https://docs.microsoft.com/azure/api-management/api-management-howto-app-insights#performance-implications-and-log-sampling) to understand performance implications and log sampling. Valid values are between `0.0` and `100.0`.
*
* @return builder
*
*/
public Builder samplingPercentage(Double samplingPercentage) {
return samplingPercentage(Output.of(samplingPercentage));
}
/**
* @param verbosity Logging verbosity. Possible values are `verbose`, `information` or `error`.
*
* @return builder
*
*/
public Builder verbosity(@Nullable Output verbosity) {
$.verbosity = verbosity;
return this;
}
/**
* @param verbosity Logging verbosity. Possible values are `verbose`, `information` or `error`.
*
* @return builder
*
*/
public Builder verbosity(String verbosity) {
return verbosity(Output.of(verbosity));
}
public ApiDiagnosticArgs build() {
if ($.apiManagementLoggerId == null) {
throw new MissingRequiredPropertyException("ApiDiagnosticArgs", "apiManagementLoggerId");
}
if ($.apiManagementName == null) {
throw new MissingRequiredPropertyException("ApiDiagnosticArgs", "apiManagementName");
}
if ($.apiName == null) {
throw new MissingRequiredPropertyException("ApiDiagnosticArgs", "apiName");
}
if ($.identifier == null) {
throw new MissingRequiredPropertyException("ApiDiagnosticArgs", "identifier");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("ApiDiagnosticArgs", "resourceGroupName");
}
return $;
}
}
}