ResourceCollection

class ResourceCollection : KotlinCustomResource

Resource for managing an AWS DevOps Guru Resource Collection.

Only one type of resource collection (All Account Resources, CloudFormation, or Tags) can be enabled in an account at a time. To avoid persistent differences, this resource should be defined only once.

Example Usage

All Account Resources

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.devopsguru.ResourceCollection("example", {
type: "AWS_SERVICE",
cloudformation: {
stackNames: ["*"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.devopsguru.ResourceCollection("example",
type="AWS_SERVICE",
cloudformation={
"stack_names": ["*"],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.DevOpsGuru.ResourceCollection("example", new()
{
Type = "AWS_SERVICE",
Cloudformation = new Aws.DevOpsGuru.Inputs.ResourceCollectionCloudformationArgs
{
StackNames = new[]
{
"*",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := devopsguru.NewResourceCollection(ctx, "example", &devopsguru.ResourceCollectionArgs{
Type: pulumi.String("AWS_SERVICE"),
Cloudformation: &devopsguru.ResourceCollectionCloudformationArgs{
StackNames: pulumi.StringArray{
pulumi.String("*"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.devopsguru.ResourceCollection;
import com.pulumi.aws.devopsguru.ResourceCollectionArgs;
import com.pulumi.aws.devopsguru.inputs.ResourceCollectionCloudformationArgs;
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 ResourceCollection("example", ResourceCollectionArgs.builder()
.type("AWS_SERVICE")
.cloudformation(ResourceCollectionCloudformationArgs.builder()
.stackNames("*")
.build())
.build());
}
}
resources:
example:
type: aws:devopsguru:ResourceCollection
properties:
type: AWS_SERVICE
cloudformation:
stackNames:
- '*'

CloudFormation Stacks

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.devopsguru.ResourceCollection("example", {
type: "AWS_CLOUD_FORMATION",
cloudformation: {
stackNames: ["ExampleStack"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.devopsguru.ResourceCollection("example",
type="AWS_CLOUD_FORMATION",
cloudformation={
"stack_names": ["ExampleStack"],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.DevOpsGuru.ResourceCollection("example", new()
{
Type = "AWS_CLOUD_FORMATION",
Cloudformation = new Aws.DevOpsGuru.Inputs.ResourceCollectionCloudformationArgs
{
StackNames = new[]
{
"ExampleStack",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := devopsguru.NewResourceCollection(ctx, "example", &devopsguru.ResourceCollectionArgs{
Type: pulumi.String("AWS_CLOUD_FORMATION"),
Cloudformation: &devopsguru.ResourceCollectionCloudformationArgs{
StackNames: pulumi.StringArray{
pulumi.String("ExampleStack"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.devopsguru.ResourceCollection;
import com.pulumi.aws.devopsguru.ResourceCollectionArgs;
import com.pulumi.aws.devopsguru.inputs.ResourceCollectionCloudformationArgs;
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 ResourceCollection("example", ResourceCollectionArgs.builder()
.type("AWS_CLOUD_FORMATION")
.cloudformation(ResourceCollectionCloudformationArgs.builder()
.stackNames("ExampleStack")
.build())
.build());
}
}
resources:
example:
type: aws:devopsguru:ResourceCollection
properties:
type: AWS_CLOUD_FORMATION
cloudformation:
stackNames:
- ExampleStack

Tags

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.devopsguru.ResourceCollection("example", {
type: "AWS_TAGS",
tags: {
appBoundaryKey: "DevOps-Guru-Example",
tagValues: ["Example-Value"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.devopsguru.ResourceCollection("example",
type="AWS_TAGS",
tags={
"app_boundary_key": "DevOps-Guru-Example",
"tag_values": ["Example-Value"],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.DevOpsGuru.ResourceCollection("example", new()
{
Type = "AWS_TAGS",
Tags = new Aws.DevOpsGuru.Inputs.ResourceCollectionTagsArgs
{
AppBoundaryKey = "DevOps-Guru-Example",
TagValues = new[]
{
"Example-Value",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := devopsguru.NewResourceCollection(ctx, "example", &devopsguru.ResourceCollectionArgs{
Type: pulumi.String("AWS_TAGS"),
Tags: &devopsguru.ResourceCollectionTagsArgs{
AppBoundaryKey: pulumi.String("DevOps-Guru-Example"),
TagValues: pulumi.StringArray{
pulumi.String("Example-Value"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.devopsguru.ResourceCollection;
import com.pulumi.aws.devopsguru.ResourceCollectionArgs;
import com.pulumi.aws.devopsguru.inputs.ResourceCollectionTagsArgs;
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 ResourceCollection("example", ResourceCollectionArgs.builder()
.type("AWS_TAGS")
.tags(ResourceCollectionTagsArgs.builder()
.appBoundaryKey("DevOps-Guru-Example")
.tagValues("Example-Value")
.build())
.build());
}
}
resources:
example:
type: aws:devopsguru:ResourceCollection
properties:
type: AWS_TAGS
tags:
appBoundaryKey: DevOps-Guru-Example
tagValues:
- Example-Value

Tags All Resources

To analyze all resources with the app_boundary_key regardless of the corresponding tag value, set tag_values to ["*"].

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.devopsguru.ResourceCollection("example", {
type: "AWS_TAGS",
tags: {
appBoundaryKey: "DevOps-Guru-Example",
tagValues: ["*"],
},
});
import pulumi
import pulumi_aws as aws
example = aws.devopsguru.ResourceCollection("example",
type="AWS_TAGS",
tags={
"app_boundary_key": "DevOps-Guru-Example",
"tag_values": ["*"],
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.DevOpsGuru.ResourceCollection("example", new()
{
Type = "AWS_TAGS",
Tags = new Aws.DevOpsGuru.Inputs.ResourceCollectionTagsArgs
{
AppBoundaryKey = "DevOps-Guru-Example",
TagValues = new[]
{
"*",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/devopsguru"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := devopsguru.NewResourceCollection(ctx, "example", &devopsguru.ResourceCollectionArgs{
Type: pulumi.String("AWS_TAGS"),
Tags: &devopsguru.ResourceCollectionTagsArgs{
AppBoundaryKey: pulumi.String("DevOps-Guru-Example"),
TagValues: pulumi.StringArray{
pulumi.String("*"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.devopsguru.ResourceCollection;
import com.pulumi.aws.devopsguru.ResourceCollectionArgs;
import com.pulumi.aws.devopsguru.inputs.ResourceCollectionTagsArgs;
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 ResourceCollection("example", ResourceCollectionArgs.builder()
.type("AWS_TAGS")
.tags(ResourceCollectionTagsArgs.builder()
.appBoundaryKey("DevOps-Guru-Example")
.tagValues("*")
.build())
.build());
}
}
resources:
example:
type: aws:devopsguru:ResourceCollection
properties:
type: AWS_TAGS
tags:
appBoundaryKey: DevOps-Guru-Example
tagValues:
- '*'

Import

Using pulumi import, import DevOps Guru Resource Collection using the id. For example:

$ pulumi import aws:devopsguru/resourceCollection:ResourceCollection example AWS_CLOUD_FORMATION

Properties

Link copied to clipboard

A collection of AWS CloudFormation stacks. See cloudformation below for additional details.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

AWS tags used to filter the resources in the resource collection. See tags below for additional details.

Link copied to clipboard
val type: Output<String>

Type of AWS resource collection to create. Valid values are AWS_CLOUD_FORMATION, AWS_SERVICE, and AWS_TAGS. The following arguments are optional:

Link copied to clipboard
val urn: Output<String>