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

com.pulumi.azurenative.insights.LogProfileArgs Maven / Gradle / Ivy

// *** 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.RetentionPolicyArgs;
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.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final LogProfileArgs Empty = new LogProfileArgs();

    /**
     * the categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.'
     * 
     */
    @Import(name="categories", required=true)
    private Output> categories;

    /**
     * @return the categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.'
     * 
     */
    public Output> categories() {
        return this.categories;
    }

    /**
     * Resource location
     * 
     */
    @Import(name="location")
    private @Nullable Output location;

    /**
     * @return Resource location
     * 
     */
    public Optional> location() {
        return Optional.ofNullable(this.location);
    }

    /**
     * List of regions for which Activity Log events should be stored or streamed. It is a comma separated list of valid ARM locations including the 'global' location.
     * 
     */
    @Import(name="locations", required=true)
    private Output> locations;

    /**
     * @return List of regions for which Activity Log events should be stored or streamed. It is a comma separated list of valid ARM locations including the 'global' location.
     * 
     */
    public Output> locations() {
        return this.locations;
    }

    /**
     * The name of the log profile.
     * 
     */
    @Import(name="logProfileName")
    private @Nullable Output logProfileName;

    /**
     * @return The name of the log profile.
     * 
     */
    public Optional> logProfileName() {
        return Optional.ofNullable(this.logProfileName);
    }

    /**
     * the retention policy for the events in the log.
     * 
     */
    @Import(name="retentionPolicy", required=true)
    private Output retentionPolicy;

    /**
     * @return the retention policy for the events in the log.
     * 
     */
    public Output retentionPolicy() {
        return this.retentionPolicy;
    }

    /**
     * The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'.
     * 
     */
    @Import(name="serviceBusRuleId")
    private @Nullable Output serviceBusRuleId;

    /**
     * @return The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'.
     * 
     */
    public Optional> serviceBusRuleId() {
        return Optional.ofNullable(this.serviceBusRuleId);
    }

    /**
     * the resource id of the storage account to which you would like to send the Activity Log.
     * 
     */
    @Import(name="storageAccountId")
    private @Nullable Output storageAccountId;

    /**
     * @return the resource id of the storage account to which you would like to send the Activity Log.
     * 
     */
    public Optional> storageAccountId() {
        return Optional.ofNullable(this.storageAccountId);
    }

    /**
     * Resource tags
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return Resource tags
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    private LogProfileArgs() {}

    private LogProfileArgs(LogProfileArgs $) {
        this.categories = $.categories;
        this.location = $.location;
        this.locations = $.locations;
        this.logProfileName = $.logProfileName;
        this.retentionPolicy = $.retentionPolicy;
        this.serviceBusRuleId = $.serviceBusRuleId;
        this.storageAccountId = $.storageAccountId;
        this.tags = $.tags;
    }

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

    public static final class Builder {
        private LogProfileArgs $;

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

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

        /**
         * @param categories the categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.'
         * 
         * @return builder
         * 
         */
        public Builder categories(Output> categories) {
            $.categories = categories;
            return this;
        }

        /**
         * @param categories the categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.'
         * 
         * @return builder
         * 
         */
        public Builder categories(List categories) {
            return categories(Output.of(categories));
        }

        /**
         * @param categories the categories of the logs. These categories are created as is convenient to the user. Some values are: 'Write', 'Delete', and/or 'Action.'
         * 
         * @return builder
         * 
         */
        public Builder categories(String... categories) {
            return categories(List.of(categories));
        }

        /**
         * @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 locations List of regions for which Activity Log events should be stored or streamed. It is a comma separated list of valid ARM locations including the 'global' location.
         * 
         * @return builder
         * 
         */
        public Builder locations(Output> locations) {
            $.locations = locations;
            return this;
        }

        /**
         * @param locations List of regions for which Activity Log events should be stored or streamed. It is a comma separated list of valid ARM locations including the 'global' location.
         * 
         * @return builder
         * 
         */
        public Builder locations(List locations) {
            return locations(Output.of(locations));
        }

        /**
         * @param locations List of regions for which Activity Log events should be stored or streamed. It is a comma separated list of valid ARM locations including the 'global' location.
         * 
         * @return builder
         * 
         */
        public Builder locations(String... locations) {
            return locations(List.of(locations));
        }

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

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

        /**
         * @param retentionPolicy the retention policy for the events in the log.
         * 
         * @return builder
         * 
         */
        public Builder retentionPolicy(Output retentionPolicy) {
            $.retentionPolicy = retentionPolicy;
            return this;
        }

        /**
         * @param retentionPolicy the retention policy for the events in the log.
         * 
         * @return builder
         * 
         */
        public Builder retentionPolicy(RetentionPolicyArgs retentionPolicy) {
            return retentionPolicy(Output.of(retentionPolicy));
        }

        /**
         * @param serviceBusRuleId The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'.
         * 
         * @return builder
         * 
         */
        public Builder serviceBusRuleId(@Nullable Output serviceBusRuleId) {
            $.serviceBusRuleId = serviceBusRuleId;
            return this;
        }

        /**
         * @param serviceBusRuleId The service bus rule ID of the service bus namespace in which you would like to have Event Hubs created for streaming the Activity Log. The rule ID is of the format: '{service bus resource ID}/authorizationrules/{key name}'.
         * 
         * @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 the Activity Log.
         * 
         * @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 the Activity Log.
         * 
         * @return builder
         * 
         */
        public Builder storageAccountId(String storageAccountId) {
            return storageAccountId(Output.of(storageAccountId));
        }

        /**
         * @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));
        }

        public LogProfileArgs build() {
            if ($.categories == null) {
                throw new MissingRequiredPropertyException("LogProfileArgs", "categories");
            }
            if ($.locations == null) {
                throw new MissingRequiredPropertyException("LogProfileArgs", "locations");
            }
            if ($.retentionPolicy == null) {
                throw new MissingRequiredPropertyException("LogProfileArgs", "retentionPolicy");
            }
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy