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

com.pulumi.alicloud.arms.PrometheusArgs Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
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.alicloud.arms;

import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;


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

    public static final PrometheusArgs Empty = new PrometheusArgs();

    /**
     * The ID of the Kubernetes cluster. This parameter is required, if you set `cluster_type` to `aliyun-cs`.
     * 
     */
    @Import(name="clusterId")
    private @Nullable Output clusterId;

    /**
     * @return The ID of the Kubernetes cluster. This parameter is required, if you set `cluster_type` to `aliyun-cs`.
     * 
     */
    public Optional> clusterId() {
        return Optional.ofNullable(this.clusterId);
    }

    /**
     * The name of the created cluster. This parameter is required, if you set `cluster_type` to `remote-write`, `ecs` or `global-view`.
     * 
     */
    @Import(name="clusterName")
    private @Nullable Output clusterName;

    /**
     * @return The name of the created cluster. This parameter is required, if you set `cluster_type` to `remote-write`, `ecs` or `global-view`.
     * 
     */
    public Optional> clusterName() {
        return Optional.ofNullable(this.clusterName);
    }

    /**
     * The type of the Prometheus instance. Valid values: `remote-write`, `ecs`, `global-view`, `aliyun-cs`.
     * 
     */
    @Import(name="clusterType", required=true)
    private Output clusterType;

    /**
     * @return The type of the Prometheus instance. Valid values: `remote-write`, `ecs`, `global-view`, `aliyun-cs`.
     * 
     */
    public Output clusterType() {
        return this.clusterType;
    }

    /**
     * The ID of the Grafana dedicated instance. When using the shared version of Grafana, you can set `grafana_instance_id` to `free`.
     * 
     */
    @Import(name="grafanaInstanceId", required=true)
    private Output grafanaInstanceId;

    /**
     * @return The ID of the Grafana dedicated instance. When using the shared version of Grafana, you can set `grafana_instance_id` to `free`.
     * 
     */
    public Output grafanaInstanceId() {
        return this.grafanaInstanceId;
    }

    /**
     * The ID of the resource group.
     * 
     */
    @Import(name="resourceGroupId")
    private @Nullable Output resourceGroupId;

    /**
     * @return The ID of the resource group.
     * 
     */
    public Optional> resourceGroupId() {
        return Optional.ofNullable(this.resourceGroupId);
    }

    /**
     * The ID of the security group. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
     * 
     */
    @Import(name="securityGroupId")
    private @Nullable Output securityGroupId;

    /**
     * @return The ID of the security group. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
     * 
     */
    public Optional> securityGroupId() {
        return Optional.ofNullable(this.securityGroupId);
    }

    /**
     * The child instance json string of the globalView instance.
     * 
     */
    @Import(name="subClustersJson")
    private @Nullable Output subClustersJson;

    /**
     * @return The child instance json string of the globalView instance.
     * 
     */
    public Optional> subClustersJson() {
        return Optional.ofNullable(this.subClustersJson);
    }

    /**
     * A mapping of tags to assign to the resource.
     * 
     */
    @Import(name="tags")
    private @Nullable Output> tags;

    /**
     * @return A mapping of tags to assign to the resource.
     * 
     */
    public Optional>> tags() {
        return Optional.ofNullable(this.tags);
    }

    /**
     * The ID of the VPC. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
     * 
     */
    @Import(name="vpcId")
    private @Nullable Output vpcId;

    /**
     * @return The ID of the VPC. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
     * 
     */
    public Optional> vpcId() {
        return Optional.ofNullable(this.vpcId);
    }

    /**
     * The ID of the VSwitch. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
     * 
     */
    @Import(name="vswitchId")
    private @Nullable Output vswitchId;

    /**
     * @return The ID of the VSwitch. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
     * 
     */
    public Optional> vswitchId() {
        return Optional.ofNullable(this.vswitchId);
    }

    private PrometheusArgs() {}

    private PrometheusArgs(PrometheusArgs $) {
        this.clusterId = $.clusterId;
        this.clusterName = $.clusterName;
        this.clusterType = $.clusterType;
        this.grafanaInstanceId = $.grafanaInstanceId;
        this.resourceGroupId = $.resourceGroupId;
        this.securityGroupId = $.securityGroupId;
        this.subClustersJson = $.subClustersJson;
        this.tags = $.tags;
        this.vpcId = $.vpcId;
        this.vswitchId = $.vswitchId;
    }

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

    public static final class Builder {
        private PrometheusArgs $;

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

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

        /**
         * @param clusterId The ID of the Kubernetes cluster. This parameter is required, if you set `cluster_type` to `aliyun-cs`.
         * 
         * @return builder
         * 
         */
        public Builder clusterId(@Nullable Output clusterId) {
            $.clusterId = clusterId;
            return this;
        }

        /**
         * @param clusterId The ID of the Kubernetes cluster. This parameter is required, if you set `cluster_type` to `aliyun-cs`.
         * 
         * @return builder
         * 
         */
        public Builder clusterId(String clusterId) {
            return clusterId(Output.of(clusterId));
        }

        /**
         * @param clusterName The name of the created cluster. This parameter is required, if you set `cluster_type` to `remote-write`, `ecs` or `global-view`.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(@Nullable Output clusterName) {
            $.clusterName = clusterName;
            return this;
        }

        /**
         * @param clusterName The name of the created cluster. This parameter is required, if you set `cluster_type` to `remote-write`, `ecs` or `global-view`.
         * 
         * @return builder
         * 
         */
        public Builder clusterName(String clusterName) {
            return clusterName(Output.of(clusterName));
        }

        /**
         * @param clusterType The type of the Prometheus instance. Valid values: `remote-write`, `ecs`, `global-view`, `aliyun-cs`.
         * 
         * @return builder
         * 
         */
        public Builder clusterType(Output clusterType) {
            $.clusterType = clusterType;
            return this;
        }

        /**
         * @param clusterType The type of the Prometheus instance. Valid values: `remote-write`, `ecs`, `global-view`, `aliyun-cs`.
         * 
         * @return builder
         * 
         */
        public Builder clusterType(String clusterType) {
            return clusterType(Output.of(clusterType));
        }

        /**
         * @param grafanaInstanceId The ID of the Grafana dedicated instance. When using the shared version of Grafana, you can set `grafana_instance_id` to `free`.
         * 
         * @return builder
         * 
         */
        public Builder grafanaInstanceId(Output grafanaInstanceId) {
            $.grafanaInstanceId = grafanaInstanceId;
            return this;
        }

        /**
         * @param grafanaInstanceId The ID of the Grafana dedicated instance. When using the shared version of Grafana, you can set `grafana_instance_id` to `free`.
         * 
         * @return builder
         * 
         */
        public Builder grafanaInstanceId(String grafanaInstanceId) {
            return grafanaInstanceId(Output.of(grafanaInstanceId));
        }

        /**
         * @param resourceGroupId The ID of the resource group.
         * 
         * @return builder
         * 
         */
        public Builder resourceGroupId(@Nullable Output resourceGroupId) {
            $.resourceGroupId = resourceGroupId;
            return this;
        }

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

        /**
         * @param securityGroupId The ID of the security group. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
         * 
         * @return builder
         * 
         */
        public Builder securityGroupId(@Nullable Output securityGroupId) {
            $.securityGroupId = securityGroupId;
            return this;
        }

        /**
         * @param securityGroupId The ID of the security group. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
         * 
         * @return builder
         * 
         */
        public Builder securityGroupId(String securityGroupId) {
            return securityGroupId(Output.of(securityGroupId));
        }

        /**
         * @param subClustersJson The child instance json string of the globalView instance.
         * 
         * @return builder
         * 
         */
        public Builder subClustersJson(@Nullable Output subClustersJson) {
            $.subClustersJson = subClustersJson;
            return this;
        }

        /**
         * @param subClustersJson The child instance json string of the globalView instance.
         * 
         * @return builder
         * 
         */
        public Builder subClustersJson(String subClustersJson) {
            return subClustersJson(Output.of(subClustersJson));
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(@Nullable Output> tags) {
            $.tags = tags;
            return this;
        }

        /**
         * @param tags A mapping of tags to assign to the resource.
         * 
         * @return builder
         * 
         */
        public Builder tags(Map tags) {
            return tags(Output.of(tags));
        }

        /**
         * @param vpcId The ID of the VPC. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
         * 
         * @return builder
         * 
         */
        public Builder vpcId(@Nullable Output vpcId) {
            $.vpcId = vpcId;
            return this;
        }

        /**
         * @param vpcId The ID of the VPC. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
         * 
         * @return builder
         * 
         */
        public Builder vpcId(String vpcId) {
            return vpcId(Output.of(vpcId));
        }

        /**
         * @param vswitchId The ID of the VSwitch. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(@Nullable Output vswitchId) {
            $.vswitchId = vswitchId;
            return this;
        }

        /**
         * @param vswitchId The ID of the VSwitch. This parameter is required, if you set `cluster_type` to `ecs` or `aliyun-cs`(ASK instance).
         * 
         * @return builder
         * 
         */
        public Builder vswitchId(String vswitchId) {
            return vswitchId(Output.of(vswitchId));
        }

        public PrometheusArgs build() {
            if ($.clusterType == null) {
                throw new MissingRequiredPropertyException("PrometheusArgs", "clusterType");
            }
            if ($.grafanaInstanceId == null) {
                throw new MissingRequiredPropertyException("PrometheusArgs", "grafanaInstanceId");
            }
            return $;
        }
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy