Package com.pulumi.aws.oam
Class Link
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.oam.Link
-
public class Link extends com.pulumi.resources.CustomResourceResource for managing an AWS CloudWatch Observability Access Manager Link. > **NOTE:** Creating an `aws.oam.Link` may sometimes fail if the `aws.oam.SinkPolicy` for the attached `aws.oam.Sink` is not created before the `aws.oam.Link`. To prevent this, declare an explicit dependency using a `dependsOn` meta-argument. ## Example Usage ### Basic Usage
### Log Group Filteringpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.oam.Sink; import com.pulumi.aws.oam.SinkPolicy; import com.pulumi.aws.oam.SinkPolicyArgs; import com.pulumi.aws.oam.Link; import com.pulumi.aws.oam.LinkArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; 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 exampleSink = new Sink("exampleSink"); var exampleSinkPolicy = new SinkPolicy("exampleSinkPolicy", SinkPolicyArgs.builder() .sinkIdentifier(exampleSink.arn()) .build()); var example = new Link("example", LinkArgs.builder() .labelTemplate("$AccountName") .resourceTypes("AWS::CloudWatch::Metric") .sinkIdentifier(exampleSink.arn()) .tags(Map.of("Env", "prod")) .build(), CustomResourceOptions.builder() .dependsOn(exampleSinkPolicy) .build()); } }
### Metric Filteringpackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.oam.Link; import com.pulumi.aws.oam.LinkArgs; import com.pulumi.aws.oam.inputs.LinkLinkConfigurationArgs; import com.pulumi.aws.oam.inputs.LinkLinkConfigurationLogGroupConfigurationArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; 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 Link("example", LinkArgs.builder() .linkConfiguration(LinkLinkConfigurationArgs.builder() .logGroupConfiguration(LinkLinkConfigurationLogGroupConfigurationArgs.builder() .filter("LogGroupName LIKE 'aws/lambda/%' OR LogGroupName LIKE 'AWSLogs%'") .build()) .build()) .labelTemplate("$AccountName") .resourceTypes("AWS::Logs::LogGroup") .sinkIdentifier(exampleAwsOamSink.arn()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAwsOamSinkPolicy) .build()); } }
## Import Using `pulumi import`, import CloudWatch Observability Access Manager Link using the `arn`. For example: ```sh $ pulumi import aws:oam/link:Link example arn:aws:oam:us-west-2:123456789012:link/link-id ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.oam.Link; import com.pulumi.aws.oam.LinkArgs; import com.pulumi.aws.oam.inputs.LinkLinkConfigurationArgs; import com.pulumi.aws.oam.inputs.LinkLinkConfigurationMetricConfigurationArgs; import com.pulumi.resources.CustomResourceOptions; import java.util.ArrayList; import java.util.Arrays; 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 Link("example", LinkArgs.builder() .linkConfiguration(LinkLinkConfigurationArgs.builder() .metricConfiguration(LinkLinkConfigurationMetricConfigurationArgs.builder() .filter("Namespace IN ('AWS/EC2', 'AWS/ELB', 'AWS/S3')") .build()) .build()) .labelTemplate("$AccountName") .resourceTypes("AWS::CloudWatch::Metric") .sinkIdentifier(exampleAwsOamSink.arn()) .build(), CustomResourceOptions.builder() .dependsOn(exampleAwsOamSinkPolicy) .build()); } }
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()static Linkget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, LinkState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.lang.String>label()com.pulumi.core.Output<java.lang.String>labelTemplate()com.pulumi.core.Output<java.util.Optional<LinkLinkConfiguration>>linkConfiguration()com.pulumi.core.Output<java.lang.String>linkId()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.util.List<java.lang.String>>resourceTypes()com.pulumi.core.Output<java.lang.String>sinkArn()com.pulumi.core.Output<java.lang.String>sinkIdentifier()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()
-
-
-
Constructor Detail
-
Link
public Link(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
Link
public Link(java.lang.String name, LinkArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
Link
public Link(java.lang.String name, LinkArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- ARN of the link.
-
label
public com.pulumi.core.Output<java.lang.String> label()
- Returns:
- Label that is assigned to this link.
-
labelTemplate
public com.pulumi.core.Output<java.lang.String> labelTemplate()
- Returns:
- Human-readable name to use to identify this source account when you are viewing data from it in the monitoring account.
-
linkConfiguration
public com.pulumi.core.Output<java.util.Optional<LinkLinkConfiguration>> linkConfiguration()
- Returns:
- Configuration for creating filters that specify that only some metric namespaces or log groups are to be shared from the source account to the monitoring account. See `linkConfiguration` Block for details.
-
linkId
public com.pulumi.core.Output<java.lang.String> linkId()
- Returns:
- ID string that AWS generated as part of the link ARN.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
resourceTypes
public com.pulumi.core.Output<java.util.List<java.lang.String>> resourceTypes()
- Returns:
- Types of data that the source account shares with the monitoring account.
-
sinkArn
public com.pulumi.core.Output<java.lang.String> sinkArn()
- Returns:
- ARN of the sink that is used for this link.
-
sinkIdentifier
public com.pulumi.core.Output<java.lang.String> sinkIdentifier()
- Returns:
- Identifier of the sink to use to create this link. The following arguments are optional:
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- A map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
-
get
public static Link get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable LinkState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-