1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. arms
  5. getEnvPodMonitors
Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi

alicloud.arms.getEnvPodMonitors

Explore with Pulumi AI

alicloud logo
Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi

    This data source provides the ARMS Env Pod Monitors of the current Alibaba Cloud user.

    NOTE: Available since v1.258.0.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as alicloud from "@pulumi/alicloud";
    import * as random from "@pulumi/random";
    import * as std from "@pulumi/std";
    
    const config = new pulumi.Config();
    const name = config.get("name") || "terraform-example";
    const enhanced = alicloud.vpc.getEnhancedNatAvailableZones({});
    const defaultInteger = new random.index.Integer("default", {
        max: 99999,
        min: 10000,
    });
    const vpc = new alicloud.vpc.Network("vpc", {
        description: `${name}-${defaultInteger.result}`,
        cidrBlock: "192.168.0.0/16",
        vpcName: `${name}-${defaultInteger.result}`,
    });
    const vswitch = new alicloud.vpc.Switch("vswitch", {
        description: `${name}-${defaultInteger.result}`,
        vpcId: vpc.id,
        vswitchName: `${name}-${defaultInteger.result}`,
        zoneId: enhanced.then(enhanced => enhanced.zones?.[0]?.zoneId),
        cidrBlock: vpc.cidrBlock.apply(cidrBlock => std.cidrsubnetOutput({
            input: cidrBlock,
            newbits: 8,
            netnum: 8,
        })).apply(invoke => invoke.result),
    });
    const defaultSnapshotPolicy = new alicloud.ecs.SnapshotPolicy("default", {
        name: `${name}-${defaultInteger.result}`,
        repeatWeekdays: [
            "1",
            "2",
            "3",
        ],
        retentionDays: -1,
        timePoints: [
            "1",
            "22",
            "23",
        ],
    });
    const _default = vswitch.zoneId.apply(zoneId => alicloud.ecs.getInstanceTypesOutput({
        availabilityZone: zoneId,
        cpuCoreCount: 2,
        memorySize: 4,
        kubernetesNodeRole: "Worker",
        instanceTypeFamily: "ecs.sn1ne",
    }));
    const defaultManagedKubernetes = new alicloud.cs.ManagedKubernetes("default", {
        name: `terraform-example-${defaultInteger.result}`,
        clusterSpec: "ack.pro.small",
        version: "1.24.6-aliyun.1",
        newNatGateway: true,
        nodeCidrMask: 26,
        proxyMode: "ipvs",
        serviceCidr: "172.23.0.0/16",
        podCidr: "10.95.0.0/16",
        workerVswitchIds: [vswitch.id],
    });
    const defaultKeyPair = new alicloud.ecs.KeyPair("default", {keyPairName: `terraform-example-${defaultInteger.result}`});
    const defaultNodePool = new alicloud.cs.NodePool("default", {
        name: "desired_size",
        clusterId: defaultManagedKubernetes.id,
        vswitchIds: [vswitch.id],
        instanceTypes: [_default.apply(_default => _default.instanceTypes?.[0]?.id)],
        systemDiskCategory: "cloud_efficiency",
        systemDiskSize: 40,
        keyName: defaultKeyPair.keyName,
        desiredSize: "2",
    });
    const environment_cs = new alicloud.arms.Environment("environment-cs", {
        environmentType: "CS",
        environmentName: `${name}-${defaultInteger.result}`,
        bindResourceId: defaultNodePool.clusterId,
        environmentSubType: "ManagedKubernetes",
    });
    const defaultEnvPodMonitor = new alicloud.arms.EnvPodMonitor("default", {
        aliyunLang: "en",
        environmentId: environment_cs.id,
        configYaml: `apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: arms-admin-pm1
      namespace: arms-prom
      annotations:
        arms.prometheus.io/discovery: 'true'
        o11y.aliyun.com/addon-name: mysql
        o11y.aliyun.com/addon-version: 1.0.2
        o11y.aliyun.com/release-name: mysql2
    spec:
      selector:
        matchLabels:
          app: arms-prometheus-ack-arms-prometheus
          release: arms-prometheus
      namespaceSelector:
        any: true
      podMetricsEndpoints:
      - interval: 30s
        targetPort: 9335
        path: /metrics
      - interval: 11s
        targetPort: 9335
        path: /metric
    `,
    });
    const ids = alicloud.arms.getEnvPodMonitorsOutput({
        environmentId: defaultEnvPodMonitor.environmentId,
        ids: [defaultEnvPodMonitor.id],
    });
    export const armsEnvPodMonitorsId0 = ids.apply(ids => ids.monitors?.[0]?.id);
    
    import pulumi
    import pulumi_alicloud as alicloud
    import pulumi_random as random
    import pulumi_std as std
    
    config = pulumi.Config()
    name = config.get("name")
    if name is None:
        name = "terraform-example"
    enhanced = alicloud.vpc.get_enhanced_nat_available_zones()
    default_integer = random.index.Integer("default",
        max=99999,
        min=10000)
    vpc = alicloud.vpc.Network("vpc",
        description=f"{name}-{default_integer['result']}",
        cidr_block="192.168.0.0/16",
        vpc_name=f"{name}-{default_integer['result']}")
    vswitch = alicloud.vpc.Switch("vswitch",
        description=f"{name}-{default_integer['result']}",
        vpc_id=vpc.id,
        vswitch_name=f"{name}-{default_integer['result']}",
        zone_id=enhanced.zones[0].zone_id,
        cidr_block=vpc.cidr_block.apply(lambda cidr_block: std.cidrsubnet_output(input=cidr_block,
            newbits=8,
            netnum=8)).apply(lambda invoke: invoke.result))
    default_snapshot_policy = alicloud.ecs.SnapshotPolicy("default",
        name=f"{name}-{default_integer['result']}",
        repeat_weekdays=[
            "1",
            "2",
            "3",
        ],
        retention_days=-1,
        time_points=[
            "1",
            "22",
            "23",
        ])
    default = vswitch.zone_id.apply(lambda zone_id: alicloud.ecs.get_instance_types_output(availability_zone=zone_id,
        cpu_core_count=2,
        memory_size=4,
        kubernetes_node_role="Worker",
        instance_type_family="ecs.sn1ne"))
    default_managed_kubernetes = alicloud.cs.ManagedKubernetes("default",
        name=f"terraform-example-{default_integer['result']}",
        cluster_spec="ack.pro.small",
        version="1.24.6-aliyun.1",
        new_nat_gateway=True,
        node_cidr_mask=26,
        proxy_mode="ipvs",
        service_cidr="172.23.0.0/16",
        pod_cidr="10.95.0.0/16",
        worker_vswitch_ids=[vswitch.id])
    default_key_pair = alicloud.ecs.KeyPair("default", key_pair_name=f"terraform-example-{default_integer['result']}")
    default_node_pool = alicloud.cs.NodePool("default",
        name="desired_size",
        cluster_id=default_managed_kubernetes.id,
        vswitch_ids=[vswitch.id],
        instance_types=[default.instance_types[0].id],
        system_disk_category="cloud_efficiency",
        system_disk_size=40,
        key_name=default_key_pair.key_name,
        desired_size="2")
    environment_cs = alicloud.arms.Environment("environment-cs",
        environment_type="CS",
        environment_name=f"{name}-{default_integer['result']}",
        bind_resource_id=default_node_pool.cluster_id,
        environment_sub_type="ManagedKubernetes")
    default_env_pod_monitor = alicloud.arms.EnvPodMonitor("default",
        aliyun_lang="en",
        environment_id=environment_cs.id,
        config_yaml="""apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: arms-admin-pm1
      namespace: arms-prom
      annotations:
        arms.prometheus.io/discovery: 'true'
        o11y.aliyun.com/addon-name: mysql
        o11y.aliyun.com/addon-version: 1.0.2
        o11y.aliyun.com/release-name: mysql2
    spec:
      selector:
        matchLabels:
          app: arms-prometheus-ack-arms-prometheus
          release: arms-prometheus
      namespaceSelector:
        any: true
      podMetricsEndpoints:
      - interval: 30s
        targetPort: 9335
        path: /metrics
      - interval: 11s
        targetPort: 9335
        path: /metric
    """)
    ids = alicloud.arms.get_env_pod_monitors_output(environment_id=default_env_pod_monitor.environment_id,
        ids=[default_env_pod_monitor.id])
    pulumi.export("armsEnvPodMonitorsId0", ids.monitors[0].id)
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/arms"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cs"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/ecs"
    	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/vpc"
    	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    cfg := config.New(ctx, "")
    name := "terraform-example";
    if param := cfg.Get("name"); param != ""{
    name = param
    }
    enhanced, err := vpc.GetEnhancedNatAvailableZones(ctx, &vpc.GetEnhancedNatAvailableZonesArgs{
    }, nil);
    if err != nil {
    return err
    }
    defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
    Max: 99999,
    Min: 10000,
    })
    if err != nil {
    return err
    }
    vpc, err := vpc.NewNetwork(ctx, "vpc", &vpc.NetworkArgs{
    Description: pulumi.Sprintf("%v-%v", name, defaultInteger.Result),
    CidrBlock: pulumi.String("192.168.0.0/16"),
    VpcName: pulumi.Sprintf("%v-%v", name, defaultInteger.Result),
    })
    if err != nil {
    return err
    }
    vswitch, err := vpc.NewSwitch(ctx, "vswitch", &vpc.SwitchArgs{
    Description: pulumi.Sprintf("%v-%v", name, defaultInteger.Result),
    VpcId: vpc.ID(),
    VswitchName: pulumi.Sprintf("%v-%v", name, defaultInteger.Result),
    ZoneId: pulumi.String(enhanced.Zones[0].ZoneId),
    CidrBlock: pulumi.String(vpc.CidrBlock.ApplyT(func(cidrBlock string) (std.CidrsubnetResult, error) {
    return std.CidrsubnetResult(interface{}(std.CidrsubnetOutput(ctx, std.CidrsubnetOutputArgs{
    Input: cidrBlock,
    Newbits: 8,
    Netnum: 8,
    }, nil))), nil
    }).(std.CidrsubnetResultOutput).ApplyT(func(invoke std.CidrsubnetResult) (*string, error) {
    return invoke.Result, nil
    }).(pulumi.StringPtrOutput)),
    })
    if err != nil {
    return err
    }
    _, err = ecs.NewSnapshotPolicy(ctx, "default", &ecs.SnapshotPolicyArgs{
    Name: pulumi.Sprintf("%v-%v", name, defaultInteger.Result),
    RepeatWeekdays: pulumi.StringArray{
    pulumi.String("1"),
    pulumi.String("2"),
    pulumi.String("3"),
    },
    RetentionDays: pulumi.Int(-1),
    TimePoints: pulumi.StringArray{
    pulumi.String("1"),
    pulumi.String("22"),
    pulumi.String("23"),
    },
    })
    if err != nil {
    return err
    }
    _default := vswitch.ZoneId.ApplyT(func(zoneId string) (ecs.GetInstanceTypesResult, error) {
    return ecs.GetInstanceTypesResult(interface{}(ecs.GetInstanceTypesOutput(ctx, ecs.GetInstanceTypesOutputArgs{
    AvailabilityZone: zoneId,
    CpuCoreCount: 2,
    MemorySize: 4,
    KubernetesNodeRole: "Worker",
    InstanceTypeFamily: "ecs.sn1ne",
    }, nil))), nil
    }).(ecs.GetInstanceTypesResultOutput)
    defaultManagedKubernetes, err := cs.NewManagedKubernetes(ctx, "default", &cs.ManagedKubernetesArgs{
    Name: pulumi.Sprintf("terraform-example-%v", defaultInteger.Result),
    ClusterSpec: pulumi.String("ack.pro.small"),
    Version: pulumi.String("1.24.6-aliyun.1"),
    NewNatGateway: pulumi.Bool(true),
    NodeCidrMask: pulumi.Int(26),
    ProxyMode: pulumi.String("ipvs"),
    ServiceCidr: pulumi.String("172.23.0.0/16"),
    PodCidr: pulumi.String("10.95.0.0/16"),
    WorkerVswitchIds: pulumi.StringArray{
    vswitch.ID(),
    },
    })
    if err != nil {
    return err
    }
    defaultKeyPair, err := ecs.NewKeyPair(ctx, "default", &ecs.KeyPairArgs{
    KeyPairName: pulumi.Sprintf("terraform-example-%v", defaultInteger.Result),
    })
    if err != nil {
    return err
    }
    defaultNodePool, err := cs.NewNodePool(ctx, "default", &cs.NodePoolArgs{
    Name: pulumi.String("desired_size"),
    ClusterId: defaultManagedKubernetes.ID(),
    VswitchIds: pulumi.StringArray{
    vswitch.ID(),
    },
    InstanceTypes: pulumi.StringArray{
    pulumi.String(_default.ApplyT(func(_default ecs.GetInstanceTypesResult) (*string, error) {
    return &default.InstanceTypes[0].Id, nil
    }).(pulumi.StringPtrOutput)),
    },
    SystemDiskCategory: pulumi.String("cloud_efficiency"),
    SystemDiskSize: pulumi.Int(40),
    KeyName: defaultKeyPair.KeyName,
    DesiredSize: pulumi.String("2"),
    })
    if err != nil {
    return err
    }
    environment_cs, err := arms.NewEnvironment(ctx, "environment-cs", &arms.EnvironmentArgs{
    EnvironmentType: pulumi.String("CS"),
    EnvironmentName: pulumi.Sprintf("%v-%v", name, defaultInteger.Result),
    BindResourceId: defaultNodePool.ClusterId,
    EnvironmentSubType: pulumi.String("ManagedKubernetes"),
    })
    if err != nil {
    return err
    }
    defaultEnvPodMonitor, err := arms.NewEnvPodMonitor(ctx, "default", &arms.EnvPodMonitorArgs{
    AliyunLang: pulumi.String("en"),
    EnvironmentId: environment_cs.ID(),
    ConfigYaml: pulumi.String(`apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: arms-admin-pm1
      namespace: arms-prom
      annotations:
        arms.prometheus.io/discovery: 'true'
        o11y.aliyun.com/addon-name: mysql
        o11y.aliyun.com/addon-version: 1.0.2
        o11y.aliyun.com/release-name: mysql2
    spec:
      selector:
        matchLabels:
          app: arms-prometheus-ack-arms-prometheus
          release: arms-prometheus
      namespaceSelector:
        any: true
      podMetricsEndpoints:
      - interval: 30s
        targetPort: 9335
        path: /metrics
      - interval: 11s
        targetPort: 9335
        path: /metric
    `),
    })
    if err != nil {
    return err
    }
    ids := arms.GetEnvPodMonitorsOutput(ctx, arms.GetEnvPodMonitorsOutputArgs{
    EnvironmentId: defaultEnvPodMonitor.EnvironmentId,
    Ids: pulumi.StringArray{
    defaultEnvPodMonitor.ID(),
    },
    }, nil);
    ctx.Export("armsEnvPodMonitorsId0", ids.ApplyT(func(ids arms.GetEnvPodMonitorsResult) (*string, error) {
    return &ids.Monitors[0].Id, nil
    }).(pulumi.StringPtrOutput))
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AliCloud = Pulumi.AliCloud;
    using Random = Pulumi.Random;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var config = new Config();
        var name = config.Get("name") ?? "terraform-example";
        var enhanced = AliCloud.Vpc.GetEnhancedNatAvailableZones.Invoke();
    
        var defaultInteger = new Random.Index.Integer("default", new()
        {
            Max = 99999,
            Min = 10000,
        });
    
        var vpc = new AliCloud.Vpc.Network("vpc", new()
        {
            Description = $"{name}-{defaultInteger.Result}",
            CidrBlock = "192.168.0.0/16",
            VpcName = $"{name}-{defaultInteger.Result}",
        });
    
        var vswitch = new AliCloud.Vpc.Switch("vswitch", new()
        {
            Description = $"{name}-{defaultInteger.Result}",
            VpcId = vpc.Id,
            VswitchName = $"{name}-{defaultInteger.Result}",
            ZoneId = enhanced.Apply(getEnhancedNatAvailableZonesResult => getEnhancedNatAvailableZonesResult.Zones[0]?.ZoneId),
            CidrBlock = vpc.CidrBlock.Apply(cidrBlock => Std.Cidrsubnet.Invoke(new()
            {
                Input = cidrBlock,
                Newbits = 8,
                Netnum = 8,
            })).Apply(invoke => invoke.Result),
        });
    
        var defaultSnapshotPolicy = new AliCloud.Ecs.SnapshotPolicy("default", new()
        {
            Name = $"{name}-{defaultInteger.Result}",
            RepeatWeekdays = new[]
            {
                "1",
                "2",
                "3",
            },
            RetentionDays = -1,
            TimePoints = new[]
            {
                "1",
                "22",
                "23",
            },
        });
    
        var @default = AliCloud.Ecs.GetInstanceTypes.Invoke(new()
        {
            AvailabilityZone = vswitch.ZoneId,
            CpuCoreCount = 2,
            MemorySize = 4,
            KubernetesNodeRole = "Worker",
            InstanceTypeFamily = "ecs.sn1ne",
        });
    
        var defaultManagedKubernetes = new AliCloud.CS.ManagedKubernetes("default", new()
        {
            Name = $"terraform-example-{defaultInteger.Result}",
            ClusterSpec = "ack.pro.small",
            Version = "1.24.6-aliyun.1",
            NewNatGateway = true,
            NodeCidrMask = 26,
            ProxyMode = "ipvs",
            ServiceCidr = "172.23.0.0/16",
            PodCidr = "10.95.0.0/16",
            WorkerVswitchIds = new[]
            {
                vswitch.Id,
            },
        });
    
        var defaultKeyPair = new AliCloud.Ecs.KeyPair("default", new()
        {
            KeyPairName = $"terraform-example-{defaultInteger.Result}",
        });
    
        var defaultNodePool = new AliCloud.CS.NodePool("default", new()
        {
            Name = "desired_size",
            ClusterId = defaultManagedKubernetes.Id,
            VswitchIds = new[]
            {
                vswitch.Id,
            },
            InstanceTypes = new[]
            {
                @default.Apply(@default => @default.Apply(getInstanceTypesResult => getInstanceTypesResult.InstanceTypes[0]?.Id)),
            },
            SystemDiskCategory = "cloud_efficiency",
            SystemDiskSize = 40,
            KeyName = defaultKeyPair.KeyName,
            DesiredSize = "2",
        });
    
        var environment_cs = new AliCloud.Arms.Environment("environment-cs", new()
        {
            EnvironmentType = "CS",
            EnvironmentName = $"{name}-{defaultInteger.Result}",
            BindResourceId = defaultNodePool.ClusterId,
            EnvironmentSubType = "ManagedKubernetes",
        });
    
        var defaultEnvPodMonitor = new AliCloud.Arms.EnvPodMonitor("default", new()
        {
            AliyunLang = "en",
            EnvironmentId = environment_cs.Id,
            ConfigYaml = @"apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: arms-admin-pm1
      namespace: arms-prom
      annotations:
        arms.prometheus.io/discovery: 'true'
        o11y.aliyun.com/addon-name: mysql
        o11y.aliyun.com/addon-version: 1.0.2
        o11y.aliyun.com/release-name: mysql2
    spec:
      selector:
        matchLabels:
          app: arms-prometheus-ack-arms-prometheus
          release: arms-prometheus
      namespaceSelector:
        any: true
      podMetricsEndpoints:
      - interval: 30s
        targetPort: 9335
        path: /metrics
      - interval: 11s
        targetPort: 9335
        path: /metric
    ",
        });
    
        var ids = AliCloud.Arms.GetEnvPodMonitors.Invoke(new()
        {
            EnvironmentId = defaultEnvPodMonitor.EnvironmentId,
            Ids = new[]
            {
                defaultEnvPodMonitor.Id,
            },
        });
    
        return new Dictionary<string, object?>
        {
            ["armsEnvPodMonitorsId0"] = ids.Apply(getEnvPodMonitorsResult => getEnvPodMonitorsResult.Monitors[0]?.Id),
        };
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.alicloud.vpc.VpcFunctions;
    import com.pulumi.alicloud.vpc.inputs.GetEnhancedNatAvailableZonesArgs;
    import com.pulumi.random.Integer;
    import com.pulumi.random.IntegerArgs;
    import com.pulumi.alicloud.vpc.Network;
    import com.pulumi.alicloud.vpc.NetworkArgs;
    import com.pulumi.alicloud.vpc.Switch;
    import com.pulumi.alicloud.vpc.SwitchArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.CidrsubnetArgs;
    import com.pulumi.alicloud.ecs.SnapshotPolicy;
    import com.pulumi.alicloud.ecs.SnapshotPolicyArgs;
    import com.pulumi.alicloud.ecs.EcsFunctions;
    import com.pulumi.alicloud.ecs.inputs.GetInstanceTypesArgs;
    import com.pulumi.alicloud.cs.ManagedKubernetes;
    import com.pulumi.alicloud.cs.ManagedKubernetesArgs;
    import com.pulumi.alicloud.ecs.KeyPair;
    import com.pulumi.alicloud.ecs.KeyPairArgs;
    import com.pulumi.alicloud.cs.NodePool;
    import com.pulumi.alicloud.cs.NodePoolArgs;
    import com.pulumi.alicloud.arms.Environment;
    import com.pulumi.alicloud.arms.EnvironmentArgs;
    import com.pulumi.alicloud.arms.EnvPodMonitor;
    import com.pulumi.alicloud.arms.EnvPodMonitorArgs;
    import com.pulumi.alicloud.arms.ArmsFunctions;
    import com.pulumi.alicloud.arms.inputs.GetEnvPodMonitorsArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var config = ctx.config();
            final var name = config.get("name").orElse("terraform-example");
            final var enhanced = VpcFunctions.getEnhancedNatAvailableZones(GetEnhancedNatAvailableZonesArgs.builder()
                .build());
    
            var defaultInteger = new Integer("defaultInteger", IntegerArgs.builder()
                .max(99999)
                .min(10000)
                .build());
    
            var vpc = new Network("vpc", NetworkArgs.builder()
                .description(String.format("%s-%s", name,defaultInteger.result()))
                .cidrBlock("192.168.0.0/16")
                .vpcName(String.format("%s-%s", name,defaultInteger.result()))
                .build());
    
            var vswitch = new Switch("vswitch", SwitchArgs.builder()
                .description(String.format("%s-%s", name,defaultInteger.result()))
                .vpcId(vpc.id())
                .vswitchName(String.format("%s-%s", name,defaultInteger.result()))
                .zoneId(enhanced.zones()[0].zoneId())
                .cidrBlock(vpc.cidrBlock().applyValue(_cidrBlock -> StdFunctions.cidrsubnet(CidrsubnetArgs.builder()
                    .input(_cidrBlock)
                    .newbits(8)
                    .netnum(8)
                    .build())).applyValue(_invoke -> _invoke.result()))
                .build());
    
            var defaultSnapshotPolicy = new SnapshotPolicy("defaultSnapshotPolicy", SnapshotPolicyArgs.builder()
                .name(String.format("%s-%s", name,defaultInteger.result()))
                .repeatWeekdays(            
                    "1",
                    "2",
                    "3")
                .retentionDays(-1)
                .timePoints(            
                    "1",
                    "22",
                    "23")
                .build());
    
            final var default = vswitch.zoneId().applyValue(_zoneId -> EcsFunctions.getInstanceTypes(GetInstanceTypesArgs.builder()
                .availabilityZone(_zoneId)
                .cpuCoreCount(2)
                .memorySize(4)
                .kubernetesNodeRole("Worker")
                .instanceTypeFamily("ecs.sn1ne")
                .build()));
    
            var defaultManagedKubernetes = new ManagedKubernetes("defaultManagedKubernetes", ManagedKubernetesArgs.builder()
                .name(String.format("terraform-example-%s", defaultInteger.result()))
                .clusterSpec("ack.pro.small")
                .version("1.24.6-aliyun.1")
                .newNatGateway(true)
                .nodeCidrMask(26)
                .proxyMode("ipvs")
                .serviceCidr("172.23.0.0/16")
                .podCidr("10.95.0.0/16")
                .workerVswitchIds(vswitch.id())
                .build());
    
            var defaultKeyPair = new KeyPair("defaultKeyPair", KeyPairArgs.builder()
                .keyPairName(String.format("terraform-example-%s", defaultInteger.result()))
                .build());
    
            var defaultNodePool = new NodePool("defaultNodePool", NodePoolArgs.builder()
                .name("desired_size")
                .clusterId(defaultManagedKubernetes.id())
                .vswitchIds(vswitch.id())
                .instanceTypes(default_.applyValue(_default_ -> _default_.instanceTypes()[0].id()))
                .systemDiskCategory("cloud_efficiency")
                .systemDiskSize(40)
                .keyName(defaultKeyPair.keyName())
                .desiredSize("2")
                .build());
    
            var environment_cs = new Environment("environment-cs", EnvironmentArgs.builder()
                .environmentType("CS")
                .environmentName(String.format("%s-%s", name,defaultInteger.result()))
                .bindResourceId(defaultNodePool.clusterId())
                .environmentSubType("ManagedKubernetes")
                .build());
    
            var defaultEnvPodMonitor = new EnvPodMonitor("defaultEnvPodMonitor", EnvPodMonitorArgs.builder()
                .aliyunLang("en")
                .environmentId(environment_cs.id())
                .configYaml("""
    apiVersion: monitoring.coreos.com/v1
    kind: PodMonitor
    metadata:
      name: arms-admin-pm1
      namespace: arms-prom
      annotations:
        arms.prometheus.io/discovery: 'true'
        o11y.aliyun.com/addon-name: mysql
        o11y.aliyun.com/addon-version: 1.0.2
        o11y.aliyun.com/release-name: mysql2
    spec:
      selector:
        matchLabels:
          app: arms-prometheus-ack-arms-prometheus
          release: arms-prometheus
      namespaceSelector:
        any: true
      podMetricsEndpoints:
      - interval: 30s
        targetPort: 9335
        path: /metrics
      - interval: 11s
        targetPort: 9335
        path: /metric
                """)
                .build());
    
            final var ids = ArmsFunctions.getEnvPodMonitors(GetEnvPodMonitorsArgs.builder()
                .environmentId(defaultEnvPodMonitor.environmentId())
                .ids(defaultEnvPodMonitor.id())
                .build());
    
            ctx.export("armsEnvPodMonitorsId0", ids.applyValue(_ids -> _ids.monitors()[0].id()));
        }
    }
    
    configuration:
      name:
        type: string
        default: terraform-example
    resources:
      defaultInteger:
        type: random:Integer
        name: default
        properties:
          max: 99999
          min: 10000
      vpc:
        type: alicloud:vpc:Network
        properties:
          description: ${name}-${defaultInteger.result}
          cidrBlock: 192.168.0.0/16
          vpcName: ${name}-${defaultInteger.result}
      vswitch:
        type: alicloud:vpc:Switch
        properties:
          description: ${name}-${defaultInteger.result}
          vpcId: ${vpc.id}
          vswitchName: ${name}-${defaultInteger.result}
          zoneId: ${enhanced.zones[0].zoneId}
          cidrBlock:
            fn::invoke:
              function: std:cidrsubnet
              arguments:
                input: ${vpc.cidrBlock}
                newbits: 8
                netnum: 8
              return: result
      defaultSnapshotPolicy:
        type: alicloud:ecs:SnapshotPolicy
        name: default
        properties:
          name: ${name}-${defaultInteger.result}
          repeatWeekdays:
            - '1'
            - '2'
            - '3'
          retentionDays: -1
          timePoints:
            - '1'
            - '22'
            - '23'
      defaultManagedKubernetes:
        type: alicloud:cs:ManagedKubernetes
        name: default
        properties:
          name: terraform-example-${defaultInteger.result}
          clusterSpec: ack.pro.small
          version: 1.24.6-aliyun.1
          newNatGateway: true
          nodeCidrMask: 26
          proxyMode: ipvs
          serviceCidr: 172.23.0.0/16
          podCidr: 10.95.0.0/16
          workerVswitchIds:
            - ${vswitch.id}
      defaultKeyPair:
        type: alicloud:ecs:KeyPair
        name: default
        properties:
          keyPairName: terraform-example-${defaultInteger.result}
      defaultNodePool:
        type: alicloud:cs:NodePool
        name: default
        properties:
          name: desired_size
          clusterId: ${defaultManagedKubernetes.id}
          vswitchIds:
            - ${vswitch.id}
          instanceTypes:
            - ${default.instanceTypes[0].id}
          systemDiskCategory: cloud_efficiency
          systemDiskSize: 40
          keyName: ${defaultKeyPair.keyName}
          desiredSize: 2
      environment-cs:
        type: alicloud:arms:Environment
        properties:
          environmentType: CS
          environmentName: ${name}-${defaultInteger.result}
          bindResourceId: ${defaultNodePool.clusterId}
          environmentSubType: ManagedKubernetes
      defaultEnvPodMonitor:
        type: alicloud:arms:EnvPodMonitor
        name: default
        properties:
          aliyunLang: en
          environmentId: ${["environment-cs"].id}
          configYaml: |
            apiVersion: monitoring.coreos.com/v1
            kind: PodMonitor
            metadata:
              name: arms-admin-pm1
              namespace: arms-prom
              annotations:
                arms.prometheus.io/discovery: 'true'
                o11y.aliyun.com/addon-name: mysql
                o11y.aliyun.com/addon-version: 1.0.2
                o11y.aliyun.com/release-name: mysql2
            spec:
              selector:
                matchLabels:
                  app: arms-prometheus-ack-arms-prometheus
                  release: arms-prometheus
              namespaceSelector:
                any: true
              podMetricsEndpoints:
              - interval: 30s
                targetPort: 9335
                path: /metrics
              - interval: 11s
                targetPort: 9335
                path: /metric        
    variables:
      enhanced:
        fn::invoke:
          function: alicloud:vpc:getEnhancedNatAvailableZones
          arguments: {}
      default:
        fn::invoke:
          function: alicloud:ecs:getInstanceTypes
          arguments:
            availabilityZone: ${vswitch.zoneId}
            cpuCoreCount: 2
            memorySize: 4
            kubernetesNodeRole: Worker
            instanceTypeFamily: ecs.sn1ne
      ids:
        fn::invoke:
          function: alicloud:arms:getEnvPodMonitors
          arguments:
            environmentId: ${defaultEnvPodMonitor.environmentId}
            ids:
              - ${defaultEnvPodMonitor.id}
    outputs:
      armsEnvPodMonitorsId0: ${ids.monitors[0].id}
    

    Using getEnvPodMonitors

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getEnvPodMonitors(args: GetEnvPodMonitorsArgs, opts?: InvokeOptions): Promise<GetEnvPodMonitorsResult>
    function getEnvPodMonitorsOutput(args: GetEnvPodMonitorsOutputArgs, opts?: InvokeOptions): Output<GetEnvPodMonitorsResult>
    def get_env_pod_monitors(environment_id: Optional[str] = None,
                             ids: Optional[Sequence[str]] = None,
                             name_regex: Optional[str] = None,
                             output_file: Optional[str] = None,
                             opts: Optional[InvokeOptions] = None) -> GetEnvPodMonitorsResult
    def get_env_pod_monitors_output(environment_id: Optional[pulumi.Input[str]] = None,
                             ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                             name_regex: Optional[pulumi.Input[str]] = None,
                             output_file: Optional[pulumi.Input[str]] = None,
                             opts: Optional[InvokeOptions] = None) -> Output[GetEnvPodMonitorsResult]
    func GetEnvPodMonitors(ctx *Context, args *GetEnvPodMonitorsArgs, opts ...InvokeOption) (*GetEnvPodMonitorsResult, error)
    func GetEnvPodMonitorsOutput(ctx *Context, args *GetEnvPodMonitorsOutputArgs, opts ...InvokeOption) GetEnvPodMonitorsResultOutput

    > Note: This function is named GetEnvPodMonitors in the Go SDK.

    public static class GetEnvPodMonitors 
    {
        public static Task<GetEnvPodMonitorsResult> InvokeAsync(GetEnvPodMonitorsArgs args, InvokeOptions? opts = null)
        public static Output<GetEnvPodMonitorsResult> Invoke(GetEnvPodMonitorsInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetEnvPodMonitorsResult> getEnvPodMonitors(GetEnvPodMonitorsArgs args, InvokeOptions options)
    public static Output<GetEnvPodMonitorsResult> getEnvPodMonitors(GetEnvPodMonitorsArgs args, InvokeOptions options)
    
    fn::invoke:
      function: alicloud:arms/getEnvPodMonitors:getEnvPodMonitors
      arguments:
        # arguments dictionary

    The following arguments are supported:

    EnvironmentId string
    The environment ID.
    Ids List<string>
    A list of ARMS Env Pod Monitor IDs.
    NameRegex string
    A regex string to filter results by ARMS Env Pod Monitor name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    EnvironmentId string
    The environment ID.
    Ids []string
    A list of ARMS Env Pod Monitor IDs.
    NameRegex string
    A regex string to filter results by ARMS Env Pod Monitor name.
    OutputFile string
    File name where to save data source results (after running pulumi preview).
    environmentId String
    The environment ID.
    ids List<String>
    A list of ARMS Env Pod Monitor IDs.
    nameRegex String
    A regex string to filter results by ARMS Env Pod Monitor name.
    outputFile String
    File name where to save data source results (after running pulumi preview).
    environmentId string
    The environment ID.
    ids string[]
    A list of ARMS Env Pod Monitor IDs.
    nameRegex string
    A regex string to filter results by ARMS Env Pod Monitor name.
    outputFile string
    File name where to save data source results (after running pulumi preview).
    environment_id str
    The environment ID.
    ids Sequence[str]
    A list of ARMS Env Pod Monitor IDs.
    name_regex str
    A regex string to filter results by ARMS Env Pod Monitor name.
    output_file str
    File name where to save data source results (after running pulumi preview).
    environmentId String
    The environment ID.
    ids List<String>
    A list of ARMS Env Pod Monitor IDs.
    nameRegex String
    A regex string to filter results by ARMS Env Pod Monitor name.
    outputFile String
    File name where to save data source results (after running pulumi preview).

    getEnvPodMonitors Result

    The following output properties are available:

    EnvironmentId string
    The environment ID.
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids List<string>
    Monitors List<Pulumi.AliCloud.Arms.Outputs.GetEnvPodMonitorsMonitor>
    A list of ARMS Env Pod Monitors. Each element contains the following attributes:
    Names List<string>
    A list of ARMS Env Pod Monitor names.
    NameRegex string
    OutputFile string
    EnvironmentId string
    The environment ID.
    Id string
    The provider-assigned unique ID for this managed resource.
    Ids []string
    Monitors []GetEnvPodMonitorsMonitor
    A list of ARMS Env Pod Monitors. Each element contains the following attributes:
    Names []string
    A list of ARMS Env Pod Monitor names.
    NameRegex string
    OutputFile string
    environmentId String
    The environment ID.
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    monitors List<GetEnvPodMonitorsMonitor>
    A list of ARMS Env Pod Monitors. Each element contains the following attributes:
    names List<String>
    A list of ARMS Env Pod Monitor names.
    nameRegex String
    outputFile String
    environmentId string
    The environment ID.
    id string
    The provider-assigned unique ID for this managed resource.
    ids string[]
    monitors GetEnvPodMonitorsMonitor[]
    A list of ARMS Env Pod Monitors. Each element contains the following attributes:
    names string[]
    A list of ARMS Env Pod Monitor names.
    nameRegex string
    outputFile string
    environment_id str
    The environment ID.
    id str
    The provider-assigned unique ID for this managed resource.
    ids Sequence[str]
    monitors Sequence[GetEnvPodMonitorsMonitor]
    A list of ARMS Env Pod Monitors. Each element contains the following attributes:
    names Sequence[str]
    A list of ARMS Env Pod Monitor names.
    name_regex str
    output_file str
    environmentId String
    The environment ID.
    id String
    The provider-assigned unique ID for this managed resource.
    ids List<String>
    monitors List<Property Map>
    A list of ARMS Env Pod Monitors. Each element contains the following attributes:
    names List<String>
    A list of ARMS Env Pod Monitor names.
    nameRegex String
    outputFile String

    Supporting Types

    GetEnvPodMonitorsMonitor

    ConfigYaml string
    The YAML configuration string.
    EnvPodMonitorName string
    The name of the PodMonitor.
    EnvironmentId string
    The environment ID.
    Id string
    The ID of the PodMonitor. It formats as <environment_id>:<namespace>:<env_pod_monitor_name>.
    Namespace string
    The namespace.
    RegionId string
    The region ID.
    Status string
    The status of the PodMonitor.
    ConfigYaml string
    The YAML configuration string.
    EnvPodMonitorName string
    The name of the PodMonitor.
    EnvironmentId string
    The environment ID.
    Id string
    The ID of the PodMonitor. It formats as <environment_id>:<namespace>:<env_pod_monitor_name>.
    Namespace string
    The namespace.
    RegionId string
    The region ID.
    Status string
    The status of the PodMonitor.
    configYaml String
    The YAML configuration string.
    envPodMonitorName String
    The name of the PodMonitor.
    environmentId String
    The environment ID.
    id String
    The ID of the PodMonitor. It formats as <environment_id>:<namespace>:<env_pod_monitor_name>.
    namespace String
    The namespace.
    regionId String
    The region ID.
    status String
    The status of the PodMonitor.
    configYaml string
    The YAML configuration string.
    envPodMonitorName string
    The name of the PodMonitor.
    environmentId string
    The environment ID.
    id string
    The ID of the PodMonitor. It formats as <environment_id>:<namespace>:<env_pod_monitor_name>.
    namespace string
    The namespace.
    regionId string
    The region ID.
    status string
    The status of the PodMonitor.
    config_yaml str
    The YAML configuration string.
    env_pod_monitor_name str
    The name of the PodMonitor.
    environment_id str
    The environment ID.
    id str
    The ID of the PodMonitor. It formats as <environment_id>:<namespace>:<env_pod_monitor_name>.
    namespace str
    The namespace.
    region_id str
    The region ID.
    status str
    The status of the PodMonitor.
    configYaml String
    The YAML configuration string.
    envPodMonitorName String
    The name of the PodMonitor.
    environmentId String
    The environment ID.
    id String
    The ID of the PodMonitor. It formats as <environment_id>:<namespace>:<env_pod_monitor_name>.
    namespace String
    The namespace.
    regionId String
    The region ID.
    status String
    The status of the PodMonitor.

    Package Details

    Repository
    Alibaba Cloud pulumi/pulumi-alicloud
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the alicloud Terraform Provider.
    alicloud logo
    Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi