Alibaba Cloud v3.85.0 published on Tuesday, Sep 9, 2025 by Pulumi
alicloud.arms.getEnvPodMonitors
Explore with Pulumi AI
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:
- Environment
Id string - The environment ID.
- Ids List<string>
- A list of ARMS Env Pod Monitor IDs.
- Name
Regex string - A regex string to filter results by ARMS Env Pod Monitor name.
- Output
File string - File name where to save data source results (after running
pulumi preview
).
- Environment
Id string - The environment ID.
- Ids []string
- A list of ARMS Env Pod Monitor IDs.
- Name
Regex string - A regex string to filter results by ARMS Env Pod Monitor name.
- Output
File string - File name where to save data source results (after running
pulumi preview
).
- environment
Id String - The environment ID.
- ids List<String>
- A list of ARMS Env Pod Monitor IDs.
- name
Regex String - A regex string to filter results by ARMS Env Pod Monitor name.
- output
File String - File name where to save data source results (after running
pulumi preview
).
- environment
Id string - The environment ID.
- ids string[]
- A list of ARMS Env Pod Monitor IDs.
- name
Regex string - A regex string to filter results by ARMS Env Pod Monitor name.
- output
File 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
).
- environment
Id String - The environment ID.
- ids List<String>
- A list of ARMS Env Pod Monitor IDs.
- name
Regex String - A regex string to filter results by ARMS Env Pod Monitor name.
- output
File String - File name where to save data source results (after running
pulumi preview
).
getEnvPodMonitors Result
The following output properties are available:
- Environment
Id string - The environment ID.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids List<string>
- Monitors
List<Pulumi.
Ali Cloud. Arms. Outputs. Get Env Pod Monitors Monitor> - A list of ARMS Env Pod Monitors. Each element contains the following attributes:
- Names List<string>
- A list of ARMS Env Pod Monitor names.
- Name
Regex string - Output
File string
- Environment
Id string - The environment ID.
- Id string
- The provider-assigned unique ID for this managed resource.
- Ids []string
- Monitors
[]Get
Env Pod Monitors Monitor - A list of ARMS Env Pod Monitors. Each element contains the following attributes:
- Names []string
- A list of ARMS Env Pod Monitor names.
- Name
Regex string - Output
File string
- environment
Id String - The environment ID.
- id String
- The provider-assigned unique ID for this managed resource.
- ids List<String>
- monitors
List<Get
Env Pod Monitors Monitor> - A list of ARMS Env Pod Monitors. Each element contains the following attributes:
- names List<String>
- A list of ARMS Env Pod Monitor names.
- name
Regex String - output
File String
- environment
Id string - The environment ID.
- id string
- The provider-assigned unique ID for this managed resource.
- ids string[]
- monitors
Get
Env Pod Monitors Monitor[] - A list of ARMS Env Pod Monitors. Each element contains the following attributes:
- names string[]
- A list of ARMS Env Pod Monitor names.
- name
Regex string - output
File string
- environment_
id str - The environment ID.
- id str
- The provider-assigned unique ID for this managed resource.
- ids Sequence[str]
- monitors
Sequence[Get
Env Pod Monitors Monitor] - 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
- environment
Id 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.
- name
Regex String - output
File String
Supporting Types
GetEnvPodMonitorsMonitor
- Config
Yaml string - The YAML configuration string.
- Env
Pod stringMonitor Name - The name of the PodMonitor.
- Environment
Id 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.
- Region
Id string - The region ID.
- Status string
- The status of the PodMonitor.
- Config
Yaml string - The YAML configuration string.
- Env
Pod stringMonitor Name - The name of the PodMonitor.
- Environment
Id 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.
- Region
Id string - The region ID.
- Status string
- The status of the PodMonitor.
- config
Yaml String - The YAML configuration string.
- env
Pod StringMonitor Name - The name of the PodMonitor.
- environment
Id 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.
- region
Id String - The region ID.
- status String
- The status of the PodMonitor.
- config
Yaml string - The YAML configuration string.
- env
Pod stringMonitor Name - The name of the PodMonitor.
- environment
Id 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.
- region
Id string - The region ID.
- status string
- The status of the PodMonitor.
- config_
yaml str - The YAML configuration string.
- env_
pod_ strmonitor_ name - 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.
- config
Yaml String - The YAML configuration string.
- env
Pod StringMonitor Name - The name of the PodMonitor.
- environment
Id 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.
- region
Id 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.