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

com.pulumi.azurenative.insights.inputs.DataCollectionRuleDestinationsArgs Maven / Gradle / Ivy

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

import com.pulumi.azurenative.insights.inputs.DestinationsSpecAzureMonitorMetricsArgs;
import com.pulumi.azurenative.insights.inputs.EventHubDestinationArgs;
import com.pulumi.azurenative.insights.inputs.EventHubDirectDestinationArgs;
import com.pulumi.azurenative.insights.inputs.LogAnalyticsDestinationArgs;
import com.pulumi.azurenative.insights.inputs.MonitoringAccountDestinationArgs;
import com.pulumi.azurenative.insights.inputs.StorageBlobDestinationArgs;
import com.pulumi.azurenative.insights.inputs.StorageTableDestinationArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


/**
 * The specification of destinations.
 * 
 */
public final class DataCollectionRuleDestinationsArgs extends com.pulumi.resources.ResourceArgs {

    public static final DataCollectionRuleDestinationsArgs Empty = new DataCollectionRuleDestinationsArgs();

    /**
     * Azure Monitor Metrics destination.
     * 
     */
    @Import(name="azureMonitorMetrics")
    private @Nullable Output azureMonitorMetrics;

    /**
     * @return Azure Monitor Metrics destination.
     * 
     */
    public Optional> azureMonitorMetrics() {
        return Optional.ofNullable(this.azureMonitorMetrics);
    }

    /**
     * List of Event Hubs destinations.
     * 
     */
    @Import(name="eventHubs")
    private @Nullable Output> eventHubs;

    /**
     * @return List of Event Hubs destinations.
     * 
     */
    public Optional>> eventHubs() {
        return Optional.ofNullable(this.eventHubs);
    }

    /**
     * List of Event Hubs Direct destinations.
     * 
     */
    @Import(name="eventHubsDirect")
    private @Nullable Output> eventHubsDirect;

    /**
     * @return List of Event Hubs Direct destinations.
     * 
     */
    public Optional>> eventHubsDirect() {
        return Optional.ofNullable(this.eventHubsDirect);
    }

    /**
     * List of Log Analytics destinations.
     * 
     */
    @Import(name="logAnalytics")
    private @Nullable Output> logAnalytics;

    /**
     * @return List of Log Analytics destinations.
     * 
     */
    public Optional>> logAnalytics() {
        return Optional.ofNullable(this.logAnalytics);
    }

    /**
     * List of monitoring account destinations.
     * 
     */
    @Import(name="monitoringAccounts")
    private @Nullable Output> monitoringAccounts;

    /**
     * @return List of monitoring account destinations.
     * 
     */
    public Optional>> monitoringAccounts() {
        return Optional.ofNullable(this.monitoringAccounts);
    }

    /**
     * List of storage accounts destinations.
     * 
     */
    @Import(name="storageAccounts")
    private @Nullable Output> storageAccounts;

    /**
     * @return List of storage accounts destinations.
     * 
     */
    public Optional>> storageAccounts() {
        return Optional.ofNullable(this.storageAccounts);
    }

    /**
     * List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     * 
     */
    @Import(name="storageBlobsDirect")
    private @Nullable Output> storageBlobsDirect;

    /**
     * @return List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
     * 
     */
    public Optional>> storageBlobsDirect() {
        return Optional.ofNullable(this.storageBlobsDirect);
    }

    /**
     * List of Storage Table Direct destinations.
     * 
     */
    @Import(name="storageTablesDirect")
    private @Nullable Output> storageTablesDirect;

    /**
     * @return List of Storage Table Direct destinations.
     * 
     */
    public Optional>> storageTablesDirect() {
        return Optional.ofNullable(this.storageTablesDirect);
    }

    private DataCollectionRuleDestinationsArgs() {}

    private DataCollectionRuleDestinationsArgs(DataCollectionRuleDestinationsArgs $) {
        this.azureMonitorMetrics = $.azureMonitorMetrics;
        this.eventHubs = $.eventHubs;
        this.eventHubsDirect = $.eventHubsDirect;
        this.logAnalytics = $.logAnalytics;
        this.monitoringAccounts = $.monitoringAccounts;
        this.storageAccounts = $.storageAccounts;
        this.storageBlobsDirect = $.storageBlobsDirect;
        this.storageTablesDirect = $.storageTablesDirect;
    }

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

    public static final class Builder {
        private DataCollectionRuleDestinationsArgs $;

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

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

        /**
         * @param azureMonitorMetrics Azure Monitor Metrics destination.
         * 
         * @return builder
         * 
         */
        public Builder azureMonitorMetrics(@Nullable Output azureMonitorMetrics) {
            $.azureMonitorMetrics = azureMonitorMetrics;
            return this;
        }

        /**
         * @param azureMonitorMetrics Azure Monitor Metrics destination.
         * 
         * @return builder
         * 
         */
        public Builder azureMonitorMetrics(DestinationsSpecAzureMonitorMetricsArgs azureMonitorMetrics) {
            return azureMonitorMetrics(Output.of(azureMonitorMetrics));
        }

        /**
         * @param eventHubs List of Event Hubs destinations.
         * 
         * @return builder
         * 
         */
        public Builder eventHubs(@Nullable Output> eventHubs) {
            $.eventHubs = eventHubs;
            return this;
        }

        /**
         * @param eventHubs List of Event Hubs destinations.
         * 
         * @return builder
         * 
         */
        public Builder eventHubs(List eventHubs) {
            return eventHubs(Output.of(eventHubs));
        }

        /**
         * @param eventHubs List of Event Hubs destinations.
         * 
         * @return builder
         * 
         */
        public Builder eventHubs(EventHubDestinationArgs... eventHubs) {
            return eventHubs(List.of(eventHubs));
        }

        /**
         * @param eventHubsDirect List of Event Hubs Direct destinations.
         * 
         * @return builder
         * 
         */
        public Builder eventHubsDirect(@Nullable Output> eventHubsDirect) {
            $.eventHubsDirect = eventHubsDirect;
            return this;
        }

        /**
         * @param eventHubsDirect List of Event Hubs Direct destinations.
         * 
         * @return builder
         * 
         */
        public Builder eventHubsDirect(List eventHubsDirect) {
            return eventHubsDirect(Output.of(eventHubsDirect));
        }

        /**
         * @param eventHubsDirect List of Event Hubs Direct destinations.
         * 
         * @return builder
         * 
         */
        public Builder eventHubsDirect(EventHubDirectDestinationArgs... eventHubsDirect) {
            return eventHubsDirect(List.of(eventHubsDirect));
        }

        /**
         * @param logAnalytics List of Log Analytics destinations.
         * 
         * @return builder
         * 
         */
        public Builder logAnalytics(@Nullable Output> logAnalytics) {
            $.logAnalytics = logAnalytics;
            return this;
        }

        /**
         * @param logAnalytics List of Log Analytics destinations.
         * 
         * @return builder
         * 
         */
        public Builder logAnalytics(List logAnalytics) {
            return logAnalytics(Output.of(logAnalytics));
        }

        /**
         * @param logAnalytics List of Log Analytics destinations.
         * 
         * @return builder
         * 
         */
        public Builder logAnalytics(LogAnalyticsDestinationArgs... logAnalytics) {
            return logAnalytics(List.of(logAnalytics));
        }

        /**
         * @param monitoringAccounts List of monitoring account destinations.
         * 
         * @return builder
         * 
         */
        public Builder monitoringAccounts(@Nullable Output> monitoringAccounts) {
            $.monitoringAccounts = monitoringAccounts;
            return this;
        }

        /**
         * @param monitoringAccounts List of monitoring account destinations.
         * 
         * @return builder
         * 
         */
        public Builder monitoringAccounts(List monitoringAccounts) {
            return monitoringAccounts(Output.of(monitoringAccounts));
        }

        /**
         * @param monitoringAccounts List of monitoring account destinations.
         * 
         * @return builder
         * 
         */
        public Builder monitoringAccounts(MonitoringAccountDestinationArgs... monitoringAccounts) {
            return monitoringAccounts(List.of(monitoringAccounts));
        }

        /**
         * @param storageAccounts List of storage accounts destinations.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(@Nullable Output> storageAccounts) {
            $.storageAccounts = storageAccounts;
            return this;
        }

        /**
         * @param storageAccounts List of storage accounts destinations.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(List storageAccounts) {
            return storageAccounts(Output.of(storageAccounts));
        }

        /**
         * @param storageAccounts List of storage accounts destinations.
         * 
         * @return builder
         * 
         */
        public Builder storageAccounts(StorageBlobDestinationArgs... storageAccounts) {
            return storageAccounts(List.of(storageAccounts));
        }

        /**
         * @param storageBlobsDirect List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
         * 
         * @return builder
         * 
         */
        public Builder storageBlobsDirect(@Nullable Output> storageBlobsDirect) {
            $.storageBlobsDirect = storageBlobsDirect;
            return this;
        }

        /**
         * @param storageBlobsDirect List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
         * 
         * @return builder
         * 
         */
        public Builder storageBlobsDirect(List storageBlobsDirect) {
            return storageBlobsDirect(Output.of(storageBlobsDirect));
        }

        /**
         * @param storageBlobsDirect List of Storage Blob Direct destinations. To be used only for sending data directly to store from the agent.
         * 
         * @return builder
         * 
         */
        public Builder storageBlobsDirect(StorageBlobDestinationArgs... storageBlobsDirect) {
            return storageBlobsDirect(List.of(storageBlobsDirect));
        }

        /**
         * @param storageTablesDirect List of Storage Table Direct destinations.
         * 
         * @return builder
         * 
         */
        public Builder storageTablesDirect(@Nullable Output> storageTablesDirect) {
            $.storageTablesDirect = storageTablesDirect;
            return this;
        }

        /**
         * @param storageTablesDirect List of Storage Table Direct destinations.
         * 
         * @return builder
         * 
         */
        public Builder storageTablesDirect(List storageTablesDirect) {
            return storageTablesDirect(Output.of(storageTablesDirect));
        }

        /**
         * @param storageTablesDirect List of Storage Table Direct destinations.
         * 
         * @return builder
         * 
         */
        public Builder storageTablesDirect(StorageTableDestinationArgs... storageTablesDirect) {
            return storageTablesDirect(List.of(storageTablesDirect));
        }

        public DataCollectionRuleDestinationsArgs build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy