published on Wednesday, Mar 11, 2026 by Pulumi
published on Wednesday, Mar 11, 2026 by Pulumi
Note: If you change a Scraper’s source (EKS cluster), Terraform will delete the current Scraper and create a new one.
Provides an Amazon Managed Service for Prometheus fully managed collector (scraper).
Read more in the Amazon Managed Service for Prometheus user guide.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.amp.Scraper("example", {
source: {
eks: {
clusterArn: exampleAwsEksCluster.arn,
subnetIds: exampleAwsEksCluster.vpcConfig[0].subnetIds,
},
},
destination: {
amp: {
workspaceArn: exampleAwsPrometheusWorkspace.arn,
},
},
scrapeConfiguration: `global:
scrape_interval: 30s
scrape_configs:
# pod metrics
- job_name: pod_exporter
kubernetes_sd_configs:
- role: pod
# container metrics
- job_name: cadvisor
scheme: https
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: kubernetes.default.svc:443
target_label: __address__
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/1/proxy/metrics/cadvisor
# apiserver metrics
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
# kube proxy metrics
- job_name: kube-proxy
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
separator: '/'
regex: 'kube-system/kube-proxy.+'
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\\\\\\\\:\\\\\\\\d+)?
replacement: 1:10249
`,
});
import pulumi
import pulumi_aws as aws
example = aws.amp.Scraper("example",
source={
"eks": {
"cluster_arn": example_aws_eks_cluster["arn"],
"subnet_ids": example_aws_eks_cluster["vpcConfig"][0]["subnetIds"],
},
},
destination={
"amp": {
"workspace_arn": example_aws_prometheus_workspace["arn"],
},
},
scrape_configuration="""global:
scrape_interval: 30s
scrape_configs:
# pod metrics
- job_name: pod_exporter
kubernetes_sd_configs:
- role: pod
# container metrics
- job_name: cadvisor
scheme: https
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: kubernetes.default.svc:443
target_label: __address__
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
# apiserver metrics
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
# kube proxy metrics
- job_name: kube-proxy
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
separator: '/'
regex: 'kube-system/kube-proxy.+'
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\\\\:\\\\d+)?
replacement: $1:10249
""")
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/amp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := amp.NewScraper(ctx, "example", &.ScraperArgs{
Source: &.ScraperSourceArgs{
Eks: &.ScraperSourceEksArgs{
ClusterArn: pulumi.Any(exampleAwsEksCluster.Arn),
SubnetIds: pulumi.Any(exampleAwsEksCluster.VpcConfig[0].SubnetIds),
},
},
Destination: &.ScraperDestinationArgs{
Amp: &.ScraperDestinationAmpArgs{
WorkspaceArn: pulumi.Any(exampleAwsPrometheusWorkspace.Arn),
},
},
ScrapeConfiguration: pulumi.String(`global:
scrape_interval: 30s
scrape_configs:
# pod metrics
- job_name: pod_exporter
kubernetes_sd_configs:
- role: pod
# container metrics
- job_name: cadvisor
scheme: https
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: kubernetes.default.svc:443
target_label: __address__
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
# apiserver metrics
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
# kube proxy metrics
- job_name: kube-proxy
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
separator: '/'
regex: 'kube-system/kube-proxy.+'
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\\\\:\\\\d+)?
replacement: $1:10249
`),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Amp.Scraper("example", new()
{
Source = new Aws.Amp.Inputs.ScraperSourceArgs
{
Eks = new Aws.Amp.Inputs.ScraperSourceEksArgs
{
ClusterArn = exampleAwsEksCluster.Arn,
SubnetIds = exampleAwsEksCluster.VpcConfig[0].SubnetIds,
},
},
Destination = new Aws.Amp.Inputs.ScraperDestinationArgs
{
Amp = new Aws.Amp.Inputs.ScraperDestinationAmpArgs
{
WorkspaceArn = exampleAwsPrometheusWorkspace.Arn,
},
},
ScrapeConfiguration = @"global:
scrape_interval: 30s
scrape_configs:
# pod metrics
- job_name: pod_exporter
kubernetes_sd_configs:
- role: pod
# container metrics
- job_name: cadvisor
scheme: https
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: kubernetes.default.svc:443
target_label: __address__
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
# apiserver metrics
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
# kube proxy metrics
- job_name: kube-proxy
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
separator: '/'
regex: 'kube-system/kube-proxy.+'
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\\\\:\\\\d+)?
replacement: $1:10249
",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.amp.Scraper;
import com.pulumi.aws.amp.ScraperArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceEksArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationAmpArgs;
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) {
var example = new Scraper("example", ScraperArgs.builder()
.source(ScraperSourceArgs.builder()
.eks(ScraperSourceEksArgs.builder()
.clusterArn(exampleAwsEksCluster.arn())
.subnetIds(exampleAwsEksCluster.vpcConfig()[0].subnetIds())
.build())
.build())
.destination(ScraperDestinationArgs.builder()
.amp(ScraperDestinationAmpArgs.builder()
.workspaceArn(exampleAwsPrometheusWorkspace.arn())
.build())
.build())
.scrapeConfiguration("""
global:
scrape_interval: 30s
scrape_configs:
# pod metrics
- job_name: pod_exporter
kubernetes_sd_configs:
- role: pod
# container metrics
- job_name: cadvisor
scheme: https
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: kubernetes.default.svc:443
target_label: __address__
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
# apiserver metrics
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
# kube proxy metrics
- job_name: kube-proxy
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
separator: '/'
regex: 'kube-system/kube-proxy.+'
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\\\\:\\\\d+)?
replacement: $1:10249
""")
.build());
}
}
resources:
example:
type: aws:amp:Scraper
properties:
source:
eks:
clusterArn: ${exampleAwsEksCluster.arn}
subnetIds: ${exampleAwsEksCluster.vpcConfig[0].subnetIds}
destination:
amp:
workspaceArn: ${exampleAwsPrometheusWorkspace.arn}
scrapeConfiguration: |
global:
scrape_interval: 30s
scrape_configs:
# pod metrics
- job_name: pod_exporter
kubernetes_sd_configs:
- role: pod
# container metrics
- job_name: cadvisor
scheme: https
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- replacement: kubernetes.default.svc:443
target_label: __address__
- source_labels: [__meta_kubernetes_node_name]
regex: (.+)
target_label: __metrics_path__
replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor
# apiserver metrics
- bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token
job_name: kubernetes-apiservers
kubernetes_sd_configs:
- role: endpoints
relabel_configs:
- action: keep
regex: default;kubernetes;https
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_service_name
- __meta_kubernetes_endpoint_port_name
scheme: https
# kube proxy metrics
- job_name: kube-proxy
honor_labels: true
kubernetes_sd_configs:
- role: pod
relabel_configs:
- action: keep
source_labels:
- __meta_kubernetes_namespace
- __meta_kubernetes_pod_name
separator: '/'
regex: 'kube-system/kube-proxy.+'
- source_labels:
- __address__
action: replace
target_label: __address__
regex: (.+?)(\\\\:\\\\d+)?
replacement: $1:10249
Use default EKS scraper configuration
You can use the data source aws_prometheus_scraper_configuration to use a
service managed scrape configuration.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.amp.getDefaultScraperConfiguration({});
const exampleScraper = new aws.amp.Scraper("example", {
destination: {
amp: {
workspaceArn: exampleAwsPrometheusWorkspace.arn,
},
},
scrapeConfiguration: exampleAwsPrometheusScraperConfiguration.configuration,
source: {
eks: {
clusterArn: exampleAwsEksCluster.arn,
subnetIds: exampleAwsEksCluster.vpcConfig[0].subnetIds,
},
},
});
import pulumi
import pulumi_aws as aws
example = aws.amp.get_default_scraper_configuration()
example_scraper = aws.amp.Scraper("example",
destination={
"amp": {
"workspace_arn": example_aws_prometheus_workspace["arn"],
},
},
scrape_configuration=example_aws_prometheus_scraper_configuration["configuration"],
source={
"eks": {
"cluster_arn": example_aws_eks_cluster["arn"],
"subnet_ids": example_aws_eks_cluster["vpcConfig"][0]["subnetIds"],
},
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/amp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := amp.GetDefaultScraperConfiguration(ctx, &.GetDefaultScraperConfigurationArgs{}, nil)
if err != nil {
return err
}
_, err = amp.NewScraper(ctx, "example", &.ScraperArgs{
Destination: &.ScraperDestinationArgs{
Amp: &.ScraperDestinationAmpArgs{
WorkspaceArn: pulumi.Any(exampleAwsPrometheusWorkspace.Arn),
},
},
ScrapeConfiguration: pulumi.Any(exampleAwsPrometheusScraperConfiguration.Configuration),
Source: &.ScraperSourceArgs{
Eks: &.ScraperSourceEksArgs{
ClusterArn: pulumi.Any(exampleAwsEksCluster.Arn),
SubnetIds: pulumi.Any(exampleAwsEksCluster.VpcConfig[0].SubnetIds),
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.Amp.GetDefaultScraperConfiguration.Invoke();
var exampleScraper = new Aws.Amp.Scraper("example", new()
{
Destination = new Aws.Amp.Inputs.ScraperDestinationArgs
{
Amp = new Aws.Amp.Inputs.ScraperDestinationAmpArgs
{
WorkspaceArn = exampleAwsPrometheusWorkspace.Arn,
},
},
ScrapeConfiguration = exampleAwsPrometheusScraperConfiguration.Configuration,
Source = new Aws.Amp.Inputs.ScraperSourceArgs
{
Eks = new Aws.Amp.Inputs.ScraperSourceEksArgs
{
ClusterArn = exampleAwsEksCluster.Arn,
SubnetIds = exampleAwsEksCluster.VpcConfig[0].SubnetIds,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.amp.AmpFunctions;
import com.pulumi.aws.amp.inputs.GetDefaultScraperConfigurationArgs;
import com.pulumi.aws.amp.Scraper;
import com.pulumi.aws.amp.ScraperArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationAmpArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceEksArgs;
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 example = AmpFunctions.getDefaultScraperConfiguration(GetDefaultScraperConfigurationArgs.builder()
.build());
var exampleScraper = new Scraper("exampleScraper", ScraperArgs.builder()
.destination(ScraperDestinationArgs.builder()
.amp(ScraperDestinationAmpArgs.builder()
.workspaceArn(exampleAwsPrometheusWorkspace.arn())
.build())
.build())
.scrapeConfiguration(exampleAwsPrometheusScraperConfiguration.configuration())
.source(ScraperSourceArgs.builder()
.eks(ScraperSourceEksArgs.builder()
.clusterArn(exampleAwsEksCluster.arn())
.subnetIds(exampleAwsEksCluster.vpcConfig()[0].subnetIds())
.build())
.build())
.build());
}
}
resources:
exampleScraper:
type: aws:amp:Scraper
name: example
properties:
destination:
amp:
workspaceArn: ${exampleAwsPrometheusWorkspace.arn}
scrapeConfiguration: ${exampleAwsPrometheusScraperConfiguration.configuration}
source:
eks:
clusterArn: ${exampleAwsEksCluster.arn}
subnetIds: ${exampleAwsEksCluster.vpcConfig[0].subnetIds}
variables:
example:
fn::invoke:
function: aws:amp:getDefaultScraperConfiguration
arguments: {}
Ignoring changes to Prometheus Workspace destination
A managed scraper will add a AMPAgentlessScraper tag to its Prometheus workspace
destination. To avoid Terraform state forcing removing the tag from the workspace,
you can add this tag to the destination workspace (preferred) or ignore tags
changes with lifecycle. See example below.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const _this = aws.eks.getCluster({
name: "example",
});
const example = new aws.amp.Workspace("example", {tags: {
AMPAgentlessScraper: "",
}});
const exampleScraper = new aws.amp.Scraper("example", {
source: {
eks: {
clusterArn: exampleAwsEksCluster.arn,
subnetIds: exampleAwsEksCluster.vpcConfig[0].subnetIds,
},
},
scrapeConfiguration: "...",
destination: {
amp: {
workspaceArn: example.arn,
},
},
});
import pulumi
import pulumi_aws as aws
this = aws.eks.get_cluster(name="example")
example = aws.amp.Workspace("example", tags={
"AMPAgentlessScraper": "",
})
example_scraper = aws.amp.Scraper("example",
source={
"eks": {
"cluster_arn": example_aws_eks_cluster["arn"],
"subnet_ids": example_aws_eks_cluster["vpcConfig"][0]["subnetIds"],
},
},
scrape_configuration="...",
destination={
"amp": {
"workspace_arn": example.arn,
},
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/amp"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/eks"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := eks.LookupCluster(ctx, &eks.LookupClusterArgs{
Name: "example",
}, nil)
if err != nil {
return err
}
example, err := amp.NewWorkspace(ctx, "example", &.WorkspaceArgs{
Tags: pulumi.StringMap{
"AMPAgentlessScraper": pulumi.String(""),
},
})
if err != nil {
return err
}
_, err = amp.NewScraper(ctx, "example", &.ScraperArgs{
Source: &.ScraperSourceArgs{
Eks: &.ScraperSourceEksArgs{
ClusterArn: pulumi.Any(exampleAwsEksCluster.Arn),
SubnetIds: pulumi.Any(exampleAwsEksCluster.VpcConfig[0].SubnetIds),
},
},
ScrapeConfiguration: pulumi.String("..."),
Destination: &.ScraperDestinationArgs{
Amp: &.ScraperDestinationAmpArgs{
WorkspaceArn: example.Arn,
},
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var @this = Aws.Eks.GetCluster.Invoke(new()
{
Name = "example",
});
var example = new Aws.Amp.Workspace("example", new()
{
Tags =
{
{ "AMPAgentlessScraper", "" },
},
});
var exampleScraper = new Aws.Amp.Scraper("example", new()
{
Source = new Aws.Amp.Inputs.ScraperSourceArgs
{
Eks = new Aws.Amp.Inputs.ScraperSourceEksArgs
{
ClusterArn = exampleAwsEksCluster.Arn,
SubnetIds = exampleAwsEksCluster.VpcConfig[0].SubnetIds,
},
},
ScrapeConfiguration = "...",
Destination = new Aws.Amp.Inputs.ScraperDestinationArgs
{
Amp = new Aws.Amp.Inputs.ScraperDestinationAmpArgs
{
WorkspaceArn = example.Arn,
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.eks.EksFunctions;
import com.pulumi.aws.eks.inputs.GetClusterArgs;
import com.pulumi.aws.amp.Workspace;
import com.pulumi.aws.amp.WorkspaceArgs;
import com.pulumi.aws.amp.Scraper;
import com.pulumi.aws.amp.ScraperArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceEksArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationAmpArgs;
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 this = EksFunctions.getCluster(GetClusterArgs.builder()
.name("example")
.build());
var example = new Workspace("example", WorkspaceArgs.builder()
.tags(Map.of("AMPAgentlessScraper", ""))
.build());
var exampleScraper = new Scraper("exampleScraper", ScraperArgs.builder()
.source(ScraperSourceArgs.builder()
.eks(ScraperSourceEksArgs.builder()
.clusterArn(exampleAwsEksCluster.arn())
.subnetIds(exampleAwsEksCluster.vpcConfig()[0].subnetIds())
.build())
.build())
.scrapeConfiguration("...")
.destination(ScraperDestinationArgs.builder()
.amp(ScraperDestinationAmpArgs.builder()
.workspaceArn(example.arn())
.build())
.build())
.build());
}
}
resources:
example:
type: aws:amp:Workspace
properties:
tags:
AMPAgentlessScraper: ""
exampleScraper:
type: aws:amp:Scraper
name: example
properties:
source:
eks:
clusterArn: ${exampleAwsEksCluster.arn}
subnetIds: ${exampleAwsEksCluster.vpcConfig[0].subnetIds}
scrapeConfiguration: '...'
destination:
amp:
workspaceArn: ${example.arn}
variables:
this:
fn::invoke:
function: aws:eks:getCluster
arguments:
name: example
Configure aws-auth
Your source Amazon EKS cluster must be configured to allow the scraper to access metrics. Follow the user guide to setup the appropriate Kubernetes permissions.
Cross-Account Configuration
This setup allows the scraper, running in a source account, to remote write its collected metrics to a workspace in a target account. Note that:
- The target Role and target Workspace must be in the same account
- The source Scraper and target Workspace must be in the same Region
Follow the AWS Best Practices guide to learn about the IAM roles configuration and overall setup.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.amp.Scraper("example", {
source: {
eks: {
clusterArn: exampleAwsEksCluster.arn,
subnetIds: exampleAwsEksCluster.vpcConfig[0].subnetIds,
},
},
destination: {
amp: {
workspaceArn: "<target_account_workspace_arn>",
},
},
roleConfiguration: {
sourceRoleArn: source.arn,
targetRoleArn: "arn:aws:iam::ACCOUNT-ID:role/target-role-name",
},
scrapeConfiguration: "...",
});
import pulumi
import pulumi_aws as aws
example = aws.amp.Scraper("example",
source={
"eks": {
"cluster_arn": example_aws_eks_cluster["arn"],
"subnet_ids": example_aws_eks_cluster["vpcConfig"][0]["subnetIds"],
},
},
destination={
"amp": {
"workspace_arn": "<target_account_workspace_arn>",
},
},
role_configuration={
"source_role_arn": source["arn"],
"target_role_arn": "arn:aws:iam::ACCOUNT-ID:role/target-role-name",
},
scrape_configuration="...")
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/amp"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := amp.NewScraper(ctx, "example", &.ScraperArgs{
Source: &.ScraperSourceArgs{
Eks: &.ScraperSourceEksArgs{
ClusterArn: pulumi.Any(exampleAwsEksCluster.Arn),
SubnetIds: pulumi.Any(exampleAwsEksCluster.VpcConfig[0].SubnetIds),
},
},
Destination: &.ScraperDestinationArgs{
Amp: &.ScraperDestinationAmpArgs{
WorkspaceArn: pulumi.String("<target_account_workspace_arn>"),
},
},
RoleConfiguration: &.ScraperRoleConfigurationArgs{
SourceRoleArn: pulumi.Any(source.Arn),
TargetRoleArn: pulumi.String("arn:aws:iam::ACCOUNT-ID:role/target-role-name"),
},
ScrapeConfiguration: pulumi.String("..."),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.Amp.Scraper("example", new()
{
Source = new Aws.Amp.Inputs.ScraperSourceArgs
{
Eks = new Aws.Amp.Inputs.ScraperSourceEksArgs
{
ClusterArn = exampleAwsEksCluster.Arn,
SubnetIds = exampleAwsEksCluster.VpcConfig[0].SubnetIds,
},
},
Destination = new Aws.Amp.Inputs.ScraperDestinationArgs
{
Amp = new Aws.Amp.Inputs.ScraperDestinationAmpArgs
{
WorkspaceArn = "<target_account_workspace_arn>",
},
},
RoleConfiguration = new Aws.Amp.Inputs.ScraperRoleConfigurationArgs
{
SourceRoleArn = source.Arn,
TargetRoleArn = "arn:aws:iam::ACCOUNT-ID:role/target-role-name",
},
ScrapeConfiguration = "...",
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.amp.Scraper;
import com.pulumi.aws.amp.ScraperArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceArgs;
import com.pulumi.aws.amp.inputs.ScraperSourceEksArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationArgs;
import com.pulumi.aws.amp.inputs.ScraperDestinationAmpArgs;
import com.pulumi.aws.amp.inputs.ScraperRoleConfigurationArgs;
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) {
var example = new Scraper("example", ScraperArgs.builder()
.source(ScraperSourceArgs.builder()
.eks(ScraperSourceEksArgs.builder()
.clusterArn(exampleAwsEksCluster.arn())
.subnetIds(exampleAwsEksCluster.vpcConfig()[0].subnetIds())
.build())
.build())
.destination(ScraperDestinationArgs.builder()
.amp(ScraperDestinationAmpArgs.builder()
.workspaceArn("<target_account_workspace_arn>")
.build())
.build())
.roleConfiguration(ScraperRoleConfigurationArgs.builder()
.sourceRoleArn(source.arn())
.targetRoleArn("arn:aws:iam::ACCOUNT-ID:role/target-role-name")
.build())
.scrapeConfiguration("...")
.build());
}
}
resources:
example:
type: aws:amp:Scraper
properties:
source:
eks:
clusterArn: ${exampleAwsEksCluster.arn}
subnetIds: ${exampleAwsEksCluster.vpcConfig[0].subnetIds}
destination:
amp:
workspaceArn: <target_account_workspace_arn>
roleConfiguration:
sourceRoleArn: ${source.arn}
targetRoleArn: arn:aws:iam::ACCOUNT-ID:role/target-role-name
scrapeConfiguration: '...'
Create Scraper Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Scraper(name: string, args: ScraperArgs, opts?: CustomResourceOptions);@overload
def Scraper(resource_name: str,
args: ScraperArgs,
opts: Optional[ResourceOptions] = None)
@overload
def Scraper(resource_name: str,
opts: Optional[ResourceOptions] = None,
destination: Optional[ScraperDestinationArgs] = None,
scrape_configuration: Optional[str] = None,
alias: Optional[str] = None,
region: Optional[str] = None,
role_configuration: Optional[ScraperRoleConfigurationArgs] = None,
source: Optional[ScraperSourceArgs] = None,
tags: Optional[Mapping[str, str]] = None,
timeouts: Optional[ScraperTimeoutsArgs] = None)func NewScraper(ctx *Context, name string, args ScraperArgs, opts ...ResourceOption) (*Scraper, error)public Scraper(string name, ScraperArgs args, CustomResourceOptions? opts = null)
public Scraper(String name, ScraperArgs args)
public Scraper(String name, ScraperArgs args, CustomResourceOptions options)
type: aws:amp:Scraper
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args ScraperArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args ScraperArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args ScraperArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ScraperArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ScraperArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var scraperResource = new Aws.Amp.Scraper("scraperResource", new()
{
Destination = new Aws.Amp.Inputs.ScraperDestinationArgs
{
Amp = new Aws.Amp.Inputs.ScraperDestinationAmpArgs
{
WorkspaceArn = "string",
},
},
ScrapeConfiguration = "string",
Alias = "string",
Region = "string",
RoleConfiguration = new Aws.Amp.Inputs.ScraperRoleConfigurationArgs
{
SourceRoleArn = "string",
TargetRoleArn = "string",
},
Source = new Aws.Amp.Inputs.ScraperSourceArgs
{
Eks = new Aws.Amp.Inputs.ScraperSourceEksArgs
{
ClusterArn = "string",
SubnetIds = new[]
{
"string",
},
SecurityGroupIds = new[]
{
"string",
},
},
},
Tags =
{
{ "string", "string" },
},
Timeouts = new Aws.Amp.Inputs.ScraperTimeoutsArgs
{
Create = "string",
Delete = "string",
Update = "string",
},
});
example, err := amp.NewScraper(ctx, "scraperResource", &.ScraperArgs{
Destination: &.ScraperDestinationArgs{
Amp: &.ScraperDestinationAmpArgs{
WorkspaceArn: pulumi.String("string"),
},
},
ScrapeConfiguration: pulumi.String("string"),
Alias: pulumi.String("string"),
Region: pulumi.String("string"),
RoleConfiguration: &.ScraperRoleConfigurationArgs{
SourceRoleArn: pulumi.String("string"),
TargetRoleArn: pulumi.String("string"),
},
Source: &.ScraperSourceArgs{
Eks: &.ScraperSourceEksArgs{
ClusterArn: pulumi.String("string"),
SubnetIds: pulumi.StringArray{
pulumi.String("string"),
},
SecurityGroupIds: pulumi.StringArray{
pulumi.String("string"),
},
},
},
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
Timeouts: &.ScraperTimeoutsArgs{
Create: pulumi.String("string"),
Delete: pulumi.String("string"),
Update: pulumi.String("string"),
},
})
var scraperResource = new Scraper("scraperResource", ScraperArgs.builder()
.destination(ScraperDestinationArgs.builder()
.amp(ScraperDestinationAmpArgs.builder()
.workspaceArn("string")
.build())
.build())
.scrapeConfiguration("string")
.alias("string")
.region("string")
.roleConfiguration(ScraperRoleConfigurationArgs.builder()
.sourceRoleArn("string")
.targetRoleArn("string")
.build())
.source(ScraperSourceArgs.builder()
.eks(ScraperSourceEksArgs.builder()
.clusterArn("string")
.subnetIds("string")
.securityGroupIds("string")
.build())
.build())
.tags(Map.of("string", "string"))
.timeouts(ScraperTimeoutsArgs.builder()
.create("string")
.delete("string")
.update("string")
.build())
.build());
scraper_resource = aws.amp.Scraper("scraperResource",
destination={
"amp": {
"workspace_arn": "string",
},
},
scrape_configuration="string",
alias="string",
region="string",
role_configuration={
"source_role_arn": "string",
"target_role_arn": "string",
},
source={
"eks": {
"cluster_arn": "string",
"subnet_ids": ["string"],
"security_group_ids": ["string"],
},
},
tags={
"string": "string",
},
timeouts={
"create": "string",
"delete": "string",
"update": "string",
})
const scraperResource = new aws.amp.Scraper("scraperResource", {
destination: {
amp: {
workspaceArn: "string",
},
},
scrapeConfiguration: "string",
alias: "string",
region: "string",
roleConfiguration: {
sourceRoleArn: "string",
targetRoleArn: "string",
},
source: {
eks: {
clusterArn: "string",
subnetIds: ["string"],
securityGroupIds: ["string"],
},
},
tags: {
string: "string",
},
timeouts: {
create: "string",
"delete": "string",
update: "string",
},
});
type: aws:amp:Scraper
properties:
alias: string
destination:
amp:
workspaceArn: string
region: string
roleConfiguration:
sourceRoleArn: string
targetRoleArn: string
scrapeConfiguration: string
source:
eks:
clusterArn: string
securityGroupIds:
- string
subnetIds:
- string
tags:
string: string
timeouts:
create: string
delete: string
update: string
Scraper Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Scraper resource accepts the following input properties:
- Destination
Scraper
Destination - Configuration block for the managed scraper to send metrics to. See
destination. - Scrape
Configuration string - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- Alias string
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- Region string
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- Role
Configuration ScraperRole Configuration - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - Source
Scraper
Source Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Dictionary<string, string>
- Timeouts
Scraper
Timeouts
- Destination
Scraper
Destination Args - Configuration block for the managed scraper to send metrics to. See
destination. - Scrape
Configuration string - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- Alias string
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- Region string
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- Role
Configuration ScraperRole Configuration Args - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - Source
Scraper
Source Args Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- map[string]string
- Timeouts
Scraper
Timeouts Args
- destination
Scraper
Destination - Configuration block for the managed scraper to send metrics to. See
destination. - scrape
Configuration String - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- alias String
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- region String
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role
Configuration ScraperRole Configuration - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - source
Scraper
Source Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Map<String,String>
- timeouts
Scraper
Timeouts
- destination
Scraper
Destination - Configuration block for the managed scraper to send metrics to. See
destination. - scrape
Configuration string - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- alias string
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- region string
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role
Configuration ScraperRole Configuration - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - source
Scraper
Source Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- {[key: string]: string}
- timeouts
Scraper
Timeouts
- destination
Scraper
Destination Args - Configuration block for the managed scraper to send metrics to. See
destination. - scrape_
configuration str - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- alias str
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- region str
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role_
configuration ScraperRole Configuration Args - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - source
Scraper
Source Args Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Mapping[str, str]
- timeouts
Scraper
Timeouts Args
- destination Property Map
- Configuration block for the managed scraper to send metrics to. See
destination. - scrape
Configuration String - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- alias String
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- region String
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role
Configuration Property Map - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - source Property Map
Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Map<String>
- timeouts Property Map
Outputs
All input properties are implicitly available as output properties. Additionally, the Scraper resource produces the following output properties:
Look up Existing Scraper Resource
Get an existing Scraper resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: ScraperState, opts?: CustomResourceOptions): Scraper@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
alias: Optional[str] = None,
arn: Optional[str] = None,
destination: Optional[ScraperDestinationArgs] = None,
region: Optional[str] = None,
role_arn: Optional[str] = None,
role_configuration: Optional[ScraperRoleConfigurationArgs] = None,
scrape_configuration: Optional[str] = None,
source: Optional[ScraperSourceArgs] = None,
tags: Optional[Mapping[str, str]] = None,
tags_all: Optional[Mapping[str, str]] = None,
timeouts: Optional[ScraperTimeoutsArgs] = None) -> Scraperfunc GetScraper(ctx *Context, name string, id IDInput, state *ScraperState, opts ...ResourceOption) (*Scraper, error)public static Scraper Get(string name, Input<string> id, ScraperState? state, CustomResourceOptions? opts = null)public static Scraper get(String name, Output<String> id, ScraperState state, CustomResourceOptions options)resources: _: type: aws:amp:Scraper get: id: ${id}- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Alias string
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- Arn string
- The Amazon Resource Name (ARN) of the new scraper.
- Destination
Scraper
Destination - Configuration block for the managed scraper to send metrics to. See
destination. - Region string
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- Role
Arn string - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover, collect, and produce metrics
- Role
Configuration ScraperRole Configuration - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - Scrape
Configuration string - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- Source
Scraper
Source Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Dictionary<string, string>
- Dictionary<string, string>
- Timeouts
Scraper
Timeouts
- Alias string
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- Arn string
- The Amazon Resource Name (ARN) of the new scraper.
- Destination
Scraper
Destination Args - Configuration block for the managed scraper to send metrics to. See
destination. - Region string
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- Role
Arn string - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover, collect, and produce metrics
- Role
Configuration ScraperRole Configuration Args - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - Scrape
Configuration string - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- Source
Scraper
Source Args Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- map[string]string
- map[string]string
- Timeouts
Scraper
Timeouts Args
- alias String
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- arn String
- The Amazon Resource Name (ARN) of the new scraper.
- destination
Scraper
Destination - Configuration block for the managed scraper to send metrics to. See
destination. - region String
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role
Arn String - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover, collect, and produce metrics
- role
Configuration ScraperRole Configuration - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - scrape
Configuration String - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- source
Scraper
Source Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Map<String,String>
- Map<String,String>
- timeouts
Scraper
Timeouts
- alias string
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- arn string
- The Amazon Resource Name (ARN) of the new scraper.
- destination
Scraper
Destination - Configuration block for the managed scraper to send metrics to. See
destination. - region string
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role
Arn string - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover, collect, and produce metrics
- role
Configuration ScraperRole Configuration - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - scrape
Configuration string - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- source
Scraper
Source Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- {[key: string]: string}
- {[key: string]: string}
- timeouts
Scraper
Timeouts
- alias str
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- arn str
- The Amazon Resource Name (ARN) of the new scraper.
- destination
Scraper
Destination Args - Configuration block for the managed scraper to send metrics to. See
destination. - region str
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role_
arn str - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover, collect, and produce metrics
- role_
configuration ScraperRole Configuration Args - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - scrape_
configuration str - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- source
Scraper
Source Args Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Mapping[str, str]
- Mapping[str, str]
- timeouts
Scraper
Timeouts Args
- alias String
- a name to associate with the managed scraper. This is for your use, and does not need to be unique.
- arn String
- The Amazon Resource Name (ARN) of the new scraper.
- destination Property Map
- Configuration block for the managed scraper to send metrics to. See
destination. - region String
- Region where this resource will be managed. Defaults to the Region set in the provider configuration.
- role
Arn String - The Amazon Resource Name (ARN) of the IAM role that provides permissions for the scraper to discover, collect, and produce metrics
- role
Configuration Property Map - Configuration block to enable writing to an Amazon Managed Service for Prometheus workspace in a different account. See
role_configurationbelow. - scrape
Configuration String - The configuration file to use in the new scraper. For more information, see Scraper configuration.
- source Property Map
Configuration block to specify where the managed scraper will collect metrics from. See
source.The following arguments are optional:
- Map<String>
- Map<String>
- timeouts Property Map
Supporting Types
ScraperDestination, ScraperDestinationArgs
- Amp
Scraper
Destination Amp - Configuration block for an Amazon Managed Prometheus workspace destination. See
amp.
- Amp
Scraper
Destination Amp - Configuration block for an Amazon Managed Prometheus workspace destination. See
amp.
- amp
Scraper
Destination Amp - Configuration block for an Amazon Managed Prometheus workspace destination. See
amp.
- amp
Scraper
Destination Amp - Configuration block for an Amazon Managed Prometheus workspace destination. See
amp.
- amp
Scraper
Destination Amp - Configuration block for an Amazon Managed Prometheus workspace destination. See
amp.
- amp Property Map
- Configuration block for an Amazon Managed Prometheus workspace destination. See
amp.
ScraperDestinationAmp, ScraperDestinationAmpArgs
- Workspace
Arn string - The Amazon Resource Name (ARN) of the prometheus workspace.
- Workspace
Arn string - The Amazon Resource Name (ARN) of the prometheus workspace.
- workspace
Arn String - The Amazon Resource Name (ARN) of the prometheus workspace.
- workspace
Arn string - The Amazon Resource Name (ARN) of the prometheus workspace.
- workspace_
arn str - The Amazon Resource Name (ARN) of the prometheus workspace.
- workspace
Arn String - The Amazon Resource Name (ARN) of the prometheus workspace.
ScraperRoleConfiguration, ScraperRoleConfigurationArgs
- Source
Role stringArn - The Amazon Resource Name (ARN) of the source role configuration. Must be an IAM role ARN.
- Target
Role stringArn - The Amazon Resource Name (ARN) of the target role configuration. Must be an IAM role ARN.
- Source
Role stringArn - The Amazon Resource Name (ARN) of the source role configuration. Must be an IAM role ARN.
- Target
Role stringArn - The Amazon Resource Name (ARN) of the target role configuration. Must be an IAM role ARN.
- source
Role StringArn - The Amazon Resource Name (ARN) of the source role configuration. Must be an IAM role ARN.
- target
Role StringArn - The Amazon Resource Name (ARN) of the target role configuration. Must be an IAM role ARN.
- source
Role stringArn - The Amazon Resource Name (ARN) of the source role configuration. Must be an IAM role ARN.
- target
Role stringArn - The Amazon Resource Name (ARN) of the target role configuration. Must be an IAM role ARN.
- source_
role_ strarn - The Amazon Resource Name (ARN) of the source role configuration. Must be an IAM role ARN.
- target_
role_ strarn - The Amazon Resource Name (ARN) of the target role configuration. Must be an IAM role ARN.
- source
Role StringArn - The Amazon Resource Name (ARN) of the source role configuration. Must be an IAM role ARN.
- target
Role StringArn - The Amazon Resource Name (ARN) of the target role configuration. Must be an IAM role ARN.
ScraperSource, ScraperSourceArgs
- Eks
Scraper
Source Eks - Configuration block for an EKS cluster source. See
eks.
- Eks
Scraper
Source Eks - Configuration block for an EKS cluster source. See
eks.
- eks
Scraper
Source Eks - Configuration block for an EKS cluster source. See
eks.
- eks
Scraper
Source Eks - Configuration block for an EKS cluster source. See
eks.
- eks
Scraper
Source Eks - Configuration block for an EKS cluster source. See
eks.
- eks Property Map
- Configuration block for an EKS cluster source. See
eks.
ScraperSourceEks, ScraperSourceEksArgs
- Cluster
Arn string - Subnet
Ids List<string> - List of subnet IDs. Must be in at least two different availability zones.
- Security
Group List<string>Ids - List of the security group IDs for the Amazon EKS cluster VPC configuration.
- Cluster
Arn string - Subnet
Ids []string - List of subnet IDs. Must be in at least two different availability zones.
- Security
Group []stringIds - List of the security group IDs for the Amazon EKS cluster VPC configuration.
- cluster
Arn String - subnet
Ids List<String> - List of subnet IDs. Must be in at least two different availability zones.
- security
Group List<String>Ids - List of the security group IDs for the Amazon EKS cluster VPC configuration.
- cluster
Arn string - subnet
Ids string[] - List of subnet IDs. Must be in at least two different availability zones.
- security
Group string[]Ids - List of the security group IDs for the Amazon EKS cluster VPC configuration.
- cluster_
arn str - subnet_
ids Sequence[str] - List of subnet IDs. Must be in at least two different availability zones.
- security_
group_ Sequence[str]ids - List of the security group IDs for the Amazon EKS cluster VPC configuration.
- cluster
Arn String - subnet
Ids List<String> - List of subnet IDs. Must be in at least two different availability zones.
- security
Group List<String>Ids - List of the security group IDs for the Amazon EKS cluster VPC configuration.
ScraperTimeouts, ScraperTimeoutsArgs
- Create string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- Delete string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- Update string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- Create string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- Delete string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- Update string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update string
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create str
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete str
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update str
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- create String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
- delete String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
- update String
- A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
Import
Using pulumi import, import the Managed Scraper using its identifier.
For example:
$ pulumi import aws:amp/scraper:Scraper example s-0123abc-0000-0123-a000-000000000000
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.
published on Wednesday, Mar 11, 2026 by Pulumi
