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

com.pulumi.aws.rum.inputs.AppMonitorState Maven / Gradle / Ivy

Go to download

A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.

There is a newer version: 6.60.0-alpha.1731982519
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.aws.rum.inputs;

import com.pulumi.aws.rum.inputs.AppMonitorAppMonitorConfigurationArgs;
import com.pulumi.aws.rum.inputs.AppMonitorCustomEventsArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import java.lang.Boolean;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final AppMonitorState Empty = new AppMonitorState();

    /**
     * configuration data for the app monitor. See app_monitor_configuration below.
     * 
     */
    @Import(name="appMonitorConfiguration")
    private @Nullable Output appMonitorConfiguration;

    /**
     * @return configuration data for the app monitor. See app_monitor_configuration below.
     * 
     */
    public Optional> appMonitorConfiguration() {
        return Optional.ofNullable(this.appMonitorConfiguration);
    }

    /**
     * The unique ID of the app monitor. Useful for JS templates.
     * 
     */
    @Import(name="appMonitorId")
    private @Nullable Output appMonitorId;

    /**
     * @return The unique ID of the app monitor. Useful for JS templates.
     * 
     */
    public Optional> appMonitorId() {
        return Optional.ofNullable(this.appMonitorId);
    }

    /**
     * The Amazon Resource Name (ARN) specifying the app monitor.
     * 
     */
    @Import(name="arn")
    private @Nullable Output arn;

    /**
     * @return The Amazon Resource Name (ARN) specifying the app monitor.
     * 
     */
    public Optional> arn() {
        return Optional.ofNullable(this.arn);
    }

    /**
     * Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED`. See custom_events below.
     * 
     */
    @Import(name="customEvents")
    private @Nullable Output customEvents;

    /**
     * @return Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED`. See custom_events below.
     * 
     */
    public Optional> customEvents() {
        return Optional.ofNullable(this.customEvents);
    }

    /**
     * Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter  specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. Default value is `false`.
     * 
     */
    @Import(name="cwLogEnabled")
    private @Nullable Output cwLogEnabled;

    /**
     * @return Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter  specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. Default value is `false`.
     * 
     */
    public Optional> cwLogEnabled() {
        return Optional.ofNullable(this.cwLogEnabled);
    }

    /**
     * The name of the log group where the copies are stored.
     * 
     */
    @Import(name="cwLogGroup")
    private @Nullable Output cwLogGroup;

    /**
     * @return The name of the log group where the copies are stored.
     * 
     */
    public Optional> cwLogGroup() {
        return Optional.ofNullable(this.cwLogGroup);
    }

    /**
     * The top-level internet domain name for which your application has administrative authority.
     * 
     */
    @Import(name="domain")
    private @Nullable Output domain;

    /**
     * @return The top-level internet domain name for which your application has administrative authority.
     * 
     */
    public Optional> domain() {
        return Optional.ofNullable(this.domain);
    }

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

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

    /**
     * A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    @Import(name="tagsAll")
    private @Nullable Output> tagsAll;

    /**
     * @return A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
     * 
     * @deprecated
     * Please use `tags` instead.
     * 
     */
    @Deprecated /* Please use `tags` instead. */
    public Optional>> tagsAll() {
        return Optional.ofNullable(this.tagsAll);
    }

    private AppMonitorState() {}

    private AppMonitorState(AppMonitorState $) {
        this.appMonitorConfiguration = $.appMonitorConfiguration;
        this.appMonitorId = $.appMonitorId;
        this.arn = $.arn;
        this.customEvents = $.customEvents;
        this.cwLogEnabled = $.cwLogEnabled;
        this.cwLogGroup = $.cwLogGroup;
        this.domain = $.domain;
        this.name = $.name;
        this.tags = $.tags;
        this.tagsAll = $.tagsAll;
    }

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

    public static final class Builder {
        private AppMonitorState $;

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

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

        /**
         * @param appMonitorConfiguration configuration data for the app monitor. See app_monitor_configuration below.
         * 
         * @return builder
         * 
         */
        public Builder appMonitorConfiguration(@Nullable Output appMonitorConfiguration) {
            $.appMonitorConfiguration = appMonitorConfiguration;
            return this;
        }

        /**
         * @param appMonitorConfiguration configuration data for the app monitor. See app_monitor_configuration below.
         * 
         * @return builder
         * 
         */
        public Builder appMonitorConfiguration(AppMonitorAppMonitorConfigurationArgs appMonitorConfiguration) {
            return appMonitorConfiguration(Output.of(appMonitorConfiguration));
        }

        /**
         * @param appMonitorId The unique ID of the app monitor. Useful for JS templates.
         * 
         * @return builder
         * 
         */
        public Builder appMonitorId(@Nullable Output appMonitorId) {
            $.appMonitorId = appMonitorId;
            return this;
        }

        /**
         * @param appMonitorId The unique ID of the app monitor. Useful for JS templates.
         * 
         * @return builder
         * 
         */
        public Builder appMonitorId(String appMonitorId) {
            return appMonitorId(Output.of(appMonitorId));
        }

        /**
         * @param arn The Amazon Resource Name (ARN) specifying the app monitor.
         * 
         * @return builder
         * 
         */
        public Builder arn(@Nullable Output arn) {
            $.arn = arn;
            return this;
        }

        /**
         * @param arn The Amazon Resource Name (ARN) specifying the app monitor.
         * 
         * @return builder
         * 
         */
        public Builder arn(String arn) {
            return arn(Output.of(arn));
        }

        /**
         * @param customEvents Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED`. See custom_events below.
         * 
         * @return builder
         * 
         */
        public Builder customEvents(@Nullable Output customEvents) {
            $.customEvents = customEvents;
            return this;
        }

        /**
         * @param customEvents Specifies whether this app monitor allows the web client to define and send custom events. If you omit this parameter, custom events are `DISABLED`. See custom_events below.
         * 
         * @return builder
         * 
         */
        public Builder customEvents(AppMonitorCustomEventsArgs customEvents) {
            return customEvents(Output.of(customEvents));
        }

        /**
         * @param cwLogEnabled Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter  specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. Default value is `false`.
         * 
         * @return builder
         * 
         */
        public Builder cwLogEnabled(@Nullable Output cwLogEnabled) {
            $.cwLogEnabled = cwLogEnabled;
            return this;
        }

        /**
         * @param cwLogEnabled Data collected by RUM is kept by RUM for 30 days and then deleted. This parameter  specifies whether RUM sends a copy of this telemetry data to Amazon CloudWatch Logs in your account. This enables you to keep the telemetry data for more than 30 days, but it does incur Amazon CloudWatch Logs charges. Default value is `false`.
         * 
         * @return builder
         * 
         */
        public Builder cwLogEnabled(Boolean cwLogEnabled) {
            return cwLogEnabled(Output.of(cwLogEnabled));
        }

        /**
         * @param cwLogGroup The name of the log group where the copies are stored.
         * 
         * @return builder
         * 
         */
        public Builder cwLogGroup(@Nullable Output cwLogGroup) {
            $.cwLogGroup = cwLogGroup;
            return this;
        }

        /**
         * @param cwLogGroup The name of the log group where the copies are stored.
         * 
         * @return builder
         * 
         */
        public Builder cwLogGroup(String cwLogGroup) {
            return cwLogGroup(Output.of(cwLogGroup));
        }

        /**
         * @param domain The top-level internet domain name for which your application has administrative authority.
         * 
         * @return builder
         * 
         */
        public Builder domain(@Nullable Output domain) {
            $.domain = domain;
            return this;
        }

        /**
         * @param domain The top-level internet domain name for which your application has administrative authority.
         * 
         * @return builder
         * 
         */
        public Builder domain(String domain) {
            return domain(Output.of(domain));
        }

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

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

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A map of tags to assign to the resource. If configured with a provider `default_tags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(@Nullable Output> tagsAll) {
            $.tagsAll = tagsAll;
            return this;
        }

        /**
         * @param tagsAll A map of tags assigned to the resource, including those inherited from the provider `default_tags` configuration block.
         * 
         * @return builder
         * 
         * @deprecated
         * Please use `tags` instead.
         * 
         */
        @Deprecated /* Please use `tags` instead. */
        public Builder tagsAll(Map tagsAll) {
            return tagsAll(Output.of(tagsAll));
        }

        public AppMonitorState build() {
            return $;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy