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

com.pulumi.azurenative.insights.DiagnosticSettingArgs 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.insights;

import com.pulumi.azurenative.insights.inputs.LogSettingsArgs;
import com.pulumi.azurenative.insights.inputs.MetricSettingsArgs;
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.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final DiagnosticSettingArgs Empty = new DiagnosticSettingArgs();

    /**
     * The resource Id for the event hub authorization rule.
     * 
     */
    @Import(name="eventHubAuthorizationRuleId")
    private @Nullable Output eventHubAuthorizationRuleId;

    /**
     * @return The resource Id for the event hub authorization rule.
     * 
     */
    public Optional> eventHubAuthorizationRuleId() {
        return Optional.ofNullable(this.eventHubAuthorizationRuleId);
    }

    /**
     * The name of the event hub. If none is specified, the default event hub will be selected.
     * 
     */
    @Import(name="eventHubName")
    private @Nullable Output eventHubName;

    /**
     * @return The name of the event hub. If none is specified, the default event hub will be selected.
     * 
     */
    public Optional> eventHubName() {
        return Optional.ofNullable(this.eventHubName);
    }

    /**
     * A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.)
     * 
     */
    @Import(name="logAnalyticsDestinationType")
    private @Nullable Output logAnalyticsDestinationType;

    /**
     * @return A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.)
     * 
     */
    public Optional> logAnalyticsDestinationType() {
        return Optional.ofNullable(this.logAnalyticsDestinationType);
    }

    /**
     * The list of logs settings.
     * 
     */
    @Import(name="logs")
    private @Nullable Output> logs;

    /**
     * @return The list of logs settings.
     * 
     */
    public Optional>> logs() {
        return Optional.ofNullable(this.logs);
    }

    /**
     * The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs.
     * 
     */
    @Import(name="marketplacePartnerId")
    private @Nullable Output marketplacePartnerId;

    /**
     * @return The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs.
     * 
     */
    public Optional> marketplacePartnerId() {
        return Optional.ofNullable(this.marketplacePartnerId);
    }

    /**
     * The list of metric settings.
     * 
     */
    @Import(name="metrics")
    private @Nullable Output> metrics;

    /**
     * @return The list of metric settings.
     * 
     */
    public Optional>> metrics() {
        return Optional.ofNullable(this.metrics);
    }

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

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

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

    /**
     * @return The identifier of the resource.
     * 
     */
    public Output resourceUri() {
        return this.resourceUri;
    }

    /**
     * The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.
     * 
     */
    @Import(name="serviceBusRuleId")
    private @Nullable Output serviceBusRuleId;

    /**
     * @return The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.
     * 
     */
    public Optional> serviceBusRuleId() {
        return Optional.ofNullable(this.serviceBusRuleId);
    }

    /**
     * The resource ID of the storage account to which you would like to send Diagnostic Logs.
     * 
     */
    @Import(name="storageAccountId")
    private @Nullable Output storageAccountId;

    /**
     * @return The resource ID of the storage account to which you would like to send Diagnostic Logs.
     * 
     */
    public Optional> storageAccountId() {
        return Optional.ofNullable(this.storageAccountId);
    }

    /**
     * The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2
     * 
     */
    @Import(name="workspaceId")
    private @Nullable Output workspaceId;

    /**
     * @return The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2
     * 
     */
    public Optional> workspaceId() {
        return Optional.ofNullable(this.workspaceId);
    }

    private DiagnosticSettingArgs() {}

    private DiagnosticSettingArgs(DiagnosticSettingArgs $) {
        this.eventHubAuthorizationRuleId = $.eventHubAuthorizationRuleId;
        this.eventHubName = $.eventHubName;
        this.logAnalyticsDestinationType = $.logAnalyticsDestinationType;
        this.logs = $.logs;
        this.marketplacePartnerId = $.marketplacePartnerId;
        this.metrics = $.metrics;
        this.name = $.name;
        this.resourceUri = $.resourceUri;
        this.serviceBusRuleId = $.serviceBusRuleId;
        this.storageAccountId = $.storageAccountId;
        this.workspaceId = $.workspaceId;
    }

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

    public static final class Builder {
        private DiagnosticSettingArgs $;

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

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

        /**
         * @param eventHubAuthorizationRuleId The resource Id for the event hub authorization rule.
         * 
         * @return builder
         * 
         */
        public Builder eventHubAuthorizationRuleId(@Nullable Output eventHubAuthorizationRuleId) {
            $.eventHubAuthorizationRuleId = eventHubAuthorizationRuleId;
            return this;
        }

        /**
         * @param eventHubAuthorizationRuleId The resource Id for the event hub authorization rule.
         * 
         * @return builder
         * 
         */
        public Builder eventHubAuthorizationRuleId(String eventHubAuthorizationRuleId) {
            return eventHubAuthorizationRuleId(Output.of(eventHubAuthorizationRuleId));
        }

        /**
         * @param eventHubName The name of the event hub. If none is specified, the default event hub will be selected.
         * 
         * @return builder
         * 
         */
        public Builder eventHubName(@Nullable Output eventHubName) {
            $.eventHubName = eventHubName;
            return this;
        }

        /**
         * @param eventHubName The name of the event hub. If none is specified, the default event hub will be selected.
         * 
         * @return builder
         * 
         */
        public Builder eventHubName(String eventHubName) {
            return eventHubName(Output.of(eventHubName));
        }

        /**
         * @param logAnalyticsDestinationType A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.)
         * 
         * @return builder
         * 
         */
        public Builder logAnalyticsDestinationType(@Nullable Output logAnalyticsDestinationType) {
            $.logAnalyticsDestinationType = logAnalyticsDestinationType;
            return this;
        }

        /**
         * @param logAnalyticsDestinationType A string indicating whether the export to Log Analytics should use the default destination type, i.e. AzureDiagnostics, or use a destination type constructed as follows: <normalized service identity>_<normalized category name>. Possible values are: Dedicated and null (null is default.)
         * 
         * @return builder
         * 
         */
        public Builder logAnalyticsDestinationType(String logAnalyticsDestinationType) {
            return logAnalyticsDestinationType(Output.of(logAnalyticsDestinationType));
        }

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

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

        /**
         * @param logs The list of logs settings.
         * 
         * @return builder
         * 
         */
        public Builder logs(LogSettingsArgs... logs) {
            return logs(List.of(logs));
        }

        /**
         * @param marketplacePartnerId The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs.
         * 
         * @return builder
         * 
         */
        public Builder marketplacePartnerId(@Nullable Output marketplacePartnerId) {
            $.marketplacePartnerId = marketplacePartnerId;
            return this;
        }

        /**
         * @param marketplacePartnerId The full ARM resource ID of the Marketplace resource to which you would like to send Diagnostic Logs.
         * 
         * @return builder
         * 
         */
        public Builder marketplacePartnerId(String marketplacePartnerId) {
            return marketplacePartnerId(Output.of(marketplacePartnerId));
        }

        /**
         * @param metrics The list of metric settings.
         * 
         * @return builder
         * 
         */
        public Builder metrics(@Nullable Output> metrics) {
            $.metrics = metrics;
            return this;
        }

        /**
         * @param metrics The list of metric settings.
         * 
         * @return builder
         * 
         */
        public Builder metrics(List metrics) {
            return metrics(Output.of(metrics));
        }

        /**
         * @param metrics The list of metric settings.
         * 
         * @return builder
         * 
         */
        public Builder metrics(MetricSettingsArgs... metrics) {
            return metrics(List.of(metrics));
        }

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

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

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

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

        /**
         * @param serviceBusRuleId The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.
         * 
         * @return builder
         * 
         */
        public Builder serviceBusRuleId(@Nullable Output serviceBusRuleId) {
            $.serviceBusRuleId = serviceBusRuleId;
            return this;
        }

        /**
         * @param serviceBusRuleId The service bus rule Id of the diagnostic setting. This is here to maintain backwards compatibility.
         * 
         * @return builder
         * 
         */
        public Builder serviceBusRuleId(String serviceBusRuleId) {
            return serviceBusRuleId(Output.of(serviceBusRuleId));
        }

        /**
         * @param storageAccountId The resource ID of the storage account to which you would like to send Diagnostic Logs.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountId(@Nullable Output storageAccountId) {
            $.storageAccountId = storageAccountId;
            return this;
        }

        /**
         * @param storageAccountId The resource ID of the storage account to which you would like to send Diagnostic Logs.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountId(String storageAccountId) {
            return storageAccountId(Output.of(storageAccountId));
        }

        /**
         * @param workspaceId The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2
         * 
         * @return builder
         * 
         */
        public Builder workspaceId(@Nullable Output workspaceId) {
            $.workspaceId = workspaceId;
            return this;
        }

        /**
         * @param workspaceId The full ARM resource ID of the Log Analytics workspace to which you would like to send Diagnostic Logs. Example: /subscriptions/4b9e8510-67ab-4e9a-95a9-e2f1e570ea9c/resourceGroups/insights-integration/providers/Microsoft.OperationalInsights/workspaces/viruela2
         * 
         * @return builder
         * 
         */
        public Builder workspaceId(String workspaceId) {
            return workspaceId(Output.of(workspaceId));
        }

        public DiagnosticSettingArgs build() {
            if ($.resourceUri == null) {
                throw new MissingRequiredPropertyException("DiagnosticSettingArgs", "resourceUri");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy