1. Packages
  2. Alibaba Cloud Provider
  3. API Docs
  4. cms
  5. getSiteMonitors
Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

alicloud.cms.getSiteMonitors

Explore with Pulumi AI

Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi

This data source provides Cloud Monitor Service Site Monitor available to the user.What is Site Monitor

NOTE: Available since v1.224.0.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as alicloud from "@pulumi/alicloud";
import * as random from "@pulumi/random";

const config = new pulumi.Config();
const name = config.get("name") || "tf_example";
const defaultInteger = new random.index.Integer("default", {
    min: 10000,
    max: 99999,
});
const defaultSiteMonitor = new alicloud.cms.SiteMonitor("default", {
    address: "http://www.alibabacloud.com",
    taskName: `terraform-example-${defaultInteger.result}`,
    taskType: "HTTP",
    interval: 5,
    ispCities: [{
        city: "546",
        isp: "465",
    }],
    optionsJson: `{
    "http_method": "get",
    "waitTime_after_completion": null,
    "ipv6_task": false,
    "diagnosis_ping": false,
    "diagnosis_mtr": false,
    "assertions": [
        {
            "operator": "lessThan",
            "type": "response_time",
            "target": 1000
        }
    ],
    "time_out": 30000
}
`,
});
const _default = alicloud.cms.getSiteMonitorsOutput({
    ids: [defaultSiteMonitor.id],
    taskType: "HTTP",
});
export const alicloudCmsSiteMonitorExampleId = _default.apply(_default => _default.monitors?.[0]?.taskId);
Copy
import pulumi
import pulumi_alicloud as alicloud
import pulumi_random as random

config = pulumi.Config()
name = config.get("name")
if name is None:
    name = "tf_example"
default_integer = random.index.Integer("default",
    min=10000,
    max=99999)
default_site_monitor = alicloud.cms.SiteMonitor("default",
    address="http://www.alibabacloud.com",
    task_name=f"terraform-example-{default_integer['result']}",
    task_type="HTTP",
    interval=5,
    isp_cities=[{
        "city": "546",
        "isp": "465",
    }],
    options_json="""{
    "http_method": "get",
    "waitTime_after_completion": null,
    "ipv6_task": false,
    "diagnosis_ping": false,
    "diagnosis_mtr": false,
    "assertions": [
        {
            "operator": "lessThan",
            "type": "response_time",
            "target": 1000
        }
    ],
    "time_out": 30000
}
""")
default = alicloud.cms.get_site_monitors_output(ids=[default_site_monitor.id],
    task_type="HTTP")
pulumi.export("alicloudCmsSiteMonitorExampleId", default.monitors[0].task_id)
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-alicloud/sdk/v3/go/alicloud/cms"
	"github.com/pulumi/pulumi-random/sdk/v4/go/random"
	"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 := "tf_example";
if param := cfg.Get("name"); param != ""{
name = param
}
defaultInteger, err := random.NewInteger(ctx, "default", &random.IntegerArgs{
Min: 10000,
Max: 99999,
})
if err != nil {
return err
}
defaultSiteMonitor, err := cms.NewSiteMonitor(ctx, "default", &cms.SiteMonitorArgs{
Address: pulumi.String("http://www.alibabacloud.com"),
TaskName: pulumi.Sprintf("terraform-example-%v", defaultInteger.Result),
TaskType: pulumi.String("HTTP"),
Interval: pulumi.Int(5),
IspCities: cms.SiteMonitorIspCityArray{
&cms.SiteMonitorIspCityArgs{
City: pulumi.String("546"),
Isp: pulumi.String("465"),
},
},
OptionsJson: pulumi.String(`{
    "http_method": "get",
    "waitTime_after_completion": null,
    "ipv6_task": false,
    "diagnosis_ping": false,
    "diagnosis_mtr": false,
    "assertions": [
        {
            "operator": "lessThan",
            "type": "response_time",
            "target": 1000
        }
    ],
    "time_out": 30000
}
`),
})
if err != nil {
return err
}
_default := cms.GetSiteMonitorsOutput(ctx, cms.GetSiteMonitorsOutputArgs{
Ids: pulumi.StringArray{
defaultSiteMonitor.ID(),
},
TaskType: pulumi.String("HTTP"),
}, nil);
ctx.Export("alicloudCmsSiteMonitorExampleId", _default.ApplyT(func(_default cms.GetSiteMonitorsResult) (*string, error) {
return &default.Monitors[0].TaskId, nil
}).(pulumi.StringPtrOutput))
return nil
})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AliCloud = Pulumi.AliCloud;
using Random = Pulumi.Random;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var name = config.Get("name") ?? "tf_example";
    var defaultInteger = new Random.Index.Integer("default", new()
    {
        Min = 10000,
        Max = 99999,
    });

    var defaultSiteMonitor = new AliCloud.Cms.SiteMonitor("default", new()
    {
        Address = "http://www.alibabacloud.com",
        TaskName = $"terraform-example-{defaultInteger.Result}",
        TaskType = "HTTP",
        Interval = 5,
        IspCities = new[]
        {
            new AliCloud.Cms.Inputs.SiteMonitorIspCityArgs
            {
                City = "546",
                Isp = "465",
            },
        },
        OptionsJson = @"{
    ""http_method"": ""get"",
    ""waitTime_after_completion"": null,
    ""ipv6_task"": false,
    ""diagnosis_ping"": false,
    ""diagnosis_mtr"": false,
    ""assertions"": [
        {
            ""operator"": ""lessThan"",
            ""type"": ""response_time"",
            ""target"": 1000
        }
    ],
    ""time_out"": 30000
}
",
    });

    var @default = AliCloud.Cms.GetSiteMonitors.Invoke(new()
    {
        Ids = new[]
        {
            defaultSiteMonitor.Id,
        },
        TaskType = "HTTP",
    });

    return new Dictionary<string, object?>
    {
        ["alicloudCmsSiteMonitorExampleId"] = @default.Apply(@default => @default.Apply(getSiteMonitorsResult => getSiteMonitorsResult.Monitors[0]?.TaskId)),
    };
});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.random.integer;
import com.pulumi.random.IntegerArgs;
import com.pulumi.alicloud.cms.SiteMonitor;
import com.pulumi.alicloud.cms.SiteMonitorArgs;
import com.pulumi.alicloud.cms.inputs.SiteMonitorIspCityArgs;
import com.pulumi.alicloud.cms.CmsFunctions;
import com.pulumi.alicloud.cms.inputs.GetSiteMonitorsArgs;
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("tf_example");
        var defaultInteger = new Integer("defaultInteger", IntegerArgs.builder()
            .min(10000)
            .max(99999)
            .build());

        var defaultSiteMonitor = new SiteMonitor("defaultSiteMonitor", SiteMonitorArgs.builder()
            .address("http://www.alibabacloud.com")
            .taskName(String.format("terraform-example-%s", defaultInteger.result()))
            .taskType("HTTP")
            .interval(5)
            .ispCities(SiteMonitorIspCityArgs.builder()
                .city("546")
                .isp("465")
                .build())
            .optionsJson("""
{
    "http_method": "get",
    "waitTime_after_completion": null,
    "ipv6_task": false,
    "diagnosis_ping": false,
    "diagnosis_mtr": false,
    "assertions": [
        {
            "operator": "lessThan",
            "type": "response_time",
            "target": 1000
        }
    ],
    "time_out": 30000
}
            """)
            .build());

        final var default = CmsFunctions.getSiteMonitors(GetSiteMonitorsArgs.builder()
            .ids(defaultSiteMonitor.id())
            .taskType("HTTP")
            .build());

        ctx.export("alicloudCmsSiteMonitorExampleId", default_.applyValue(default_ -> default_.monitors()[0].taskId()));
    }
}
Copy
configuration:
  name:
    type: string
    default: tf_example
resources:
  defaultInteger:
    type: random:integer
    name: default
    properties:
      min: 10000
      max: 99999
  defaultSiteMonitor:
    type: alicloud:cms:SiteMonitor
    name: default
    properties:
      address: http://www.alibabacloud.com
      taskName: terraform-example-${defaultInteger.result}
      taskType: HTTP
      interval: 5
      ispCities:
        - city: '546'
          isp: '465'
      optionsJson: |
        {
            "http_method": "get",
            "waitTime_after_completion": null,
            "ipv6_task": false,
            "diagnosis_ping": false,
            "diagnosis_mtr": false,
            "assertions": [
                {
                    "operator": "lessThan",
                    "type": "response_time",
                    "target": 1000
                }
            ],
            "time_out": 30000
        }        
variables:
  default:
    fn::invoke:
      function: alicloud:cms:getSiteMonitors
      arguments:
        ids:
          - ${defaultSiteMonitor.id}
        taskType: HTTP
outputs:
  alicloudCmsSiteMonitorExampleId: ${default.monitors[0].taskId}
Copy

Using getSiteMonitors

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 getSiteMonitors(args: GetSiteMonitorsArgs, opts?: InvokeOptions): Promise<GetSiteMonitorsResult>
function getSiteMonitorsOutput(args: GetSiteMonitorsOutputArgs, opts?: InvokeOptions): Output<GetSiteMonitorsResult>
Copy
def get_site_monitors(ids: Optional[Sequence[str]] = None,
                      output_file: Optional[str] = None,
                      task_id: Optional[str] = None,
                      task_type: Optional[str] = None,
                      opts: Optional[InvokeOptions] = None) -> GetSiteMonitorsResult
def get_site_monitors_output(ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
                      output_file: Optional[pulumi.Input[str]] = None,
                      task_id: Optional[pulumi.Input[str]] = None,
                      task_type: Optional[pulumi.Input[str]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[GetSiteMonitorsResult]
Copy
func GetSiteMonitors(ctx *Context, args *GetSiteMonitorsArgs, opts ...InvokeOption) (*GetSiteMonitorsResult, error)
func GetSiteMonitorsOutput(ctx *Context, args *GetSiteMonitorsOutputArgs, opts ...InvokeOption) GetSiteMonitorsResultOutput
Copy

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

public static class GetSiteMonitors 
{
    public static Task<GetSiteMonitorsResult> InvokeAsync(GetSiteMonitorsArgs args, InvokeOptions? opts = null)
    public static Output<GetSiteMonitorsResult> Invoke(GetSiteMonitorsInvokeArgs args, InvokeOptions? opts = null)
}
Copy
public static CompletableFuture<GetSiteMonitorsResult> getSiteMonitors(GetSiteMonitorsArgs args, InvokeOptions options)
public static Output<GetSiteMonitorsResult> getSiteMonitors(GetSiteMonitorsArgs args, InvokeOptions options)
Copy
fn::invoke:
  function: alicloud:cms/getSiteMonitors:getSiteMonitors
  arguments:
    # arguments dictionary
Copy

The following arguments are supported:

Ids Changes to this property will trigger replacement. List<string>
A list of Site Monitor IDs.
OutputFile string
File name where to save data source results (after running pulumi preview).
TaskId string
Task ID.
TaskType string
Task Type.
Ids Changes to this property will trigger replacement. []string
A list of Site Monitor IDs.
OutputFile string
File name where to save data source results (after running pulumi preview).
TaskId string
Task ID.
TaskType string
Task Type.
ids Changes to this property will trigger replacement. List<String>
A list of Site Monitor IDs.
outputFile String
File name where to save data source results (after running pulumi preview).
taskId String
Task ID.
taskType String
Task Type.
ids Changes to this property will trigger replacement. string[]
A list of Site Monitor IDs.
outputFile string
File name where to save data source results (after running pulumi preview).
taskId string
Task ID.
taskType string
Task Type.
ids Changes to this property will trigger replacement. Sequence[str]
A list of Site Monitor IDs.
output_file str
File name where to save data source results (after running pulumi preview).
task_id str
Task ID.
task_type str
Task Type.
ids Changes to this property will trigger replacement. List<String>
A list of Site Monitor IDs.
outputFile String
File name where to save data source results (after running pulumi preview).
taskId String
Task ID.
taskType String
Task Type.

getSiteMonitors Result

The following output properties are available:

Id string
The provider-assigned unique ID for this managed resource.
Ids List<string>
A list of Site Monitor IDs.
Monitors List<Pulumi.AliCloud.Cms.Outputs.GetSiteMonitorsMonitor>
A list of Site Monitor Entries. Each element contains the following attributes:
OutputFile string
TaskId string
Task Id.
TaskType string
Task Type.
Id string
The provider-assigned unique ID for this managed resource.
Ids []string
A list of Site Monitor IDs.
Monitors []GetSiteMonitorsMonitor
A list of Site Monitor Entries. Each element contains the following attributes:
OutputFile string
TaskId string
Task Id.
TaskType string
Task Type.
id String
The provider-assigned unique ID for this managed resource.
ids List<String>
A list of Site Monitor IDs.
monitors List<GetSiteMonitorsMonitor>
A list of Site Monitor Entries. Each element contains the following attributes:
outputFile String
taskId String
Task Id.
taskType String
Task Type.
id string
The provider-assigned unique ID for this managed resource.
ids string[]
A list of Site Monitor IDs.
monitors GetSiteMonitorsMonitor[]
A list of Site Monitor Entries. Each element contains the following attributes:
outputFile string
taskId string
Task Id.
taskType string
Task Type.
id str
The provider-assigned unique ID for this managed resource.
ids Sequence[str]
A list of Site Monitor IDs.
monitors Sequence[GetSiteMonitorsMonitor]
A list of Site Monitor Entries. Each element contains the following attributes:
output_file str
task_id str
Task Id.
task_type str
Task Type.
id String
The provider-assigned unique ID for this managed resource.
ids List<String>
A list of Site Monitor IDs.
monitors List<Property Map>
A list of Site Monitor Entries. Each element contains the following attributes:
outputFile String
taskId String
Task Id.
taskType String
Task Type.

Supporting Types

GetSiteMonitorsMonitor

Address This property is required. string
Address.
CreateTime This property is required. string
CreateTime.
Interval This property is required. string
Monitoring frequency.
TaskId This property is required. string
Task ID.
TaskName This property is required. string
Task Name.
TaskType This property is required. string
Task Type.
Address This property is required. string
Address.
CreateTime This property is required. string
CreateTime.
Interval This property is required. string
Monitoring frequency.
TaskId This property is required. string
Task ID.
TaskName This property is required. string
Task Name.
TaskType This property is required. string
Task Type.
address This property is required. String
Address.
createTime This property is required. String
CreateTime.
interval This property is required. String
Monitoring frequency.
taskId This property is required. String
Task ID.
taskName This property is required. String
Task Name.
taskType This property is required. String
Task Type.
address This property is required. string
Address.
createTime This property is required. string
CreateTime.
interval This property is required. string
Monitoring frequency.
taskId This property is required. string
Task ID.
taskName This property is required. string
Task Name.
taskType This property is required. string
Task Type.
address This property is required. str
Address.
create_time This property is required. str
CreateTime.
interval This property is required. str
Monitoring frequency.
task_id This property is required. str
Task ID.
task_name This property is required. str
Task Name.
task_type This property is required. str
Task Type.
address This property is required. String
Address.
createTime This property is required. String
CreateTime.
interval This property is required. String
Monitoring frequency.
taskId This property is required. String
Task ID.
taskName This property is required. String
Task Name.
taskType This property is required. String
Task Type.

Package Details

Repository
Alibaba Cloud pulumi/pulumi-alicloud
License
Apache-2.0
Notes
This Pulumi package is based on the alicloud Terraform Provider.
Alibaba Cloud v3.76.0 published on Tuesday, Apr 8, 2025 by Pulumi