Viewing docs for AWS v5.43.0 (Older version)
published on Tuesday, Mar 10, 2026 by Pulumi
published on Tuesday, Mar 10, 2026 by Pulumi
Viewing docs for AWS v5.43.0 (Older version)
published on Tuesday, Mar 10, 2026 by Pulumi
published on Tuesday, Mar 10, 2026 by Pulumi
Deprecated: aws.getAutoscalingGroups has been deprecated in favor of aws.autoscaling.getAmiIds
The Autoscaling Groups data source allows access to the list of AWS ASGs within a specific region. This will allow you to pass a list of AutoScaling Groups to other resources.
Example Usage
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var groups = Aws.AutoScaling.GetAmiIds.Invoke(new()
{
Filters = new[]
{
new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs
{
Name = "tag:Team",
Values = new[]
{
"Pets",
},
},
new Aws.AutoScaling.Inputs.GetAmiIdsFilterInputArgs
{
Name = "tag-key",
Values = new[]
{
"Environment",
},
},
},
});
var slackNotifications = new Aws.AutoScaling.Notification("slackNotifications", new()
{
GroupNames = groups.Apply(getAmiIdsResult => getAmiIdsResult.Names),
Notifications = new[]
{
"autoscaling:EC2_INSTANCE_LAUNCH",
"autoscaling:EC2_INSTANCE_TERMINATE",
"autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
"autoscaling:EC2_INSTANCE_TERMINATE_ERROR",
},
TopicArn = "TOPIC ARN",
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v5/go/aws/autoscaling"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
groups, err := autoscaling.GetAmiIds(ctx, &autoscaling.GetAmiIdsArgs{
Filters: []autoscaling.GetAmiIdsFilter{
{
Name: "tag:Team",
Values: []string{
"Pets",
},
},
{
Name: "tag-key",
Values: []string{
"Environment",
},
},
},
}, nil)
if err != nil {
return err
}
_, err = autoscaling.NewNotification(ctx, "slackNotifications", &autoscaling.NotificationArgs{
GroupNames: interface{}(groups.Names),
Notifications: pulumi.StringArray{
pulumi.String("autoscaling:EC2_INSTANCE_LAUNCH"),
pulumi.String("autoscaling:EC2_INSTANCE_TERMINATE"),
pulumi.String("autoscaling:EC2_INSTANCE_LAUNCH_ERROR"),
pulumi.String("autoscaling:EC2_INSTANCE_TERMINATE_ERROR"),
},
TopicArn: pulumi.String("TOPIC ARN"),
})
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.autoscaling.AutoscalingFunctions;
import com.pulumi.aws.autoscaling.inputs.GetAmiIdsArgs;
import com.pulumi.aws.autoscaling.Notification;
import com.pulumi.aws.autoscaling.NotificationArgs;
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 groups = AutoscalingFunctions.getAmiIds(GetAmiIdsArgs.builder()
.filters(
GetAmiIdsFilterArgs.builder()
.name("tag:Team")
.values("Pets")
.build(),
GetAmiIdsFilterArgs.builder()
.name("tag-key")
.values("Environment")
.build())
.build());
var slackNotifications = new Notification("slackNotifications", NotificationArgs.builder()
.groupNames(groups.applyValue(getAmiIdsResult -> getAmiIdsResult.names()))
.notifications(
"autoscaling:EC2_INSTANCE_LAUNCH",
"autoscaling:EC2_INSTANCE_TERMINATE",
"autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
"autoscaling:EC2_INSTANCE_TERMINATE_ERROR")
.topicArn("TOPIC ARN")
.build());
}
}
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const groups = aws.autoscaling.getAmiIds({
filters: [
{
name: "tag:Team",
values: ["Pets"],
},
{
name: "tag-key",
values: ["Environment"],
},
],
});
const slackNotifications = new aws.autoscaling.Notification("slackNotifications", {
groupNames: groups.then(groups => groups.names),
notifications: [
"autoscaling:EC2_INSTANCE_LAUNCH",
"autoscaling:EC2_INSTANCE_TERMINATE",
"autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
"autoscaling:EC2_INSTANCE_TERMINATE_ERROR",
],
topicArn: "TOPIC ARN",
});
import pulumi
import pulumi_aws as aws
groups = aws.autoscaling.get_ami_ids(filters=[
aws.autoscaling.GetAmiIdsFilterArgs(
name="tag:Team",
values=["Pets"],
),
aws.autoscaling.GetAmiIdsFilterArgs(
name="tag-key",
values=["Environment"],
),
])
slack_notifications = aws.autoscaling.Notification("slackNotifications",
group_names=groups.names,
notifications=[
"autoscaling:EC2_INSTANCE_LAUNCH",
"autoscaling:EC2_INSTANCE_TERMINATE",
"autoscaling:EC2_INSTANCE_LAUNCH_ERROR",
"autoscaling:EC2_INSTANCE_TERMINATE_ERROR",
],
topic_arn="TOPIC ARN")
resources:
slackNotifications:
type: aws:autoscaling:Notification
properties:
groupNames: ${groups.names}
notifications:
- autoscaling:EC2_INSTANCE_LAUNCH
- autoscaling:EC2_INSTANCE_TERMINATE
- autoscaling:EC2_INSTANCE_LAUNCH_ERROR
- autoscaling:EC2_INSTANCE_TERMINATE_ERROR
topicArn: TOPIC ARN
variables:
groups:
fn::invoke:
Function: aws:autoscaling:getAmiIds
Arguments:
filters:
- name: tag:Team
values:
- Pets
- name: tag-key
values:
- Environment
Using getAutoscalingGroups
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 getAutoscalingGroups(args: GetAutoscalingGroupsArgs, opts?: InvokeOptions): Promise<GetAutoscalingGroupsResult>
function getAutoscalingGroupsOutput(args: GetAutoscalingGroupsOutputArgs, opts?: InvokeOptions): Output<GetAutoscalingGroupsResult>def get_autoscaling_groups(filters: Optional[Sequence[GetAutoscalingGroupsFilter]] = None,
names: Optional[Sequence[str]] = None,
opts: Optional[InvokeOptions] = None) -> GetAutoscalingGroupsResult
def get_autoscaling_groups_output(filters: Optional[pulumi.Input[Sequence[pulumi.Input[GetAutoscalingGroupsFilterArgs]]]] = None,
names: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetAutoscalingGroupsResult]func GetAutoscalingGroups(ctx *Context, args *GetAutoscalingGroupsArgs, opts ...InvokeOption) (*GetAutoscalingGroupsResult, error)
func GetAutoscalingGroupsOutput(ctx *Context, args *GetAutoscalingGroupsOutputArgs, opts ...InvokeOption) GetAutoscalingGroupsResultOutput> Note: This function is named GetAutoscalingGroups in the Go SDK.
public static class GetAutoscalingGroups
{
public static Task<GetAutoscalingGroupsResult> InvokeAsync(GetAutoscalingGroupsArgs args, InvokeOptions? opts = null)
public static Output<GetAutoscalingGroupsResult> Invoke(GetAutoscalingGroupsInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetAutoscalingGroupsResult> getAutoscalingGroups(GetAutoscalingGroupsArgs args, InvokeOptions options)
public static Output<GetAutoscalingGroupsResult> getAutoscalingGroups(GetAutoscalingGroupsArgs args, InvokeOptions options)
fn::invoke:
function: aws:index/getAutoscalingGroups:getAutoscalingGroups
arguments:
# arguments dictionaryThe following arguments are supported:
- Filters
List<Get
Autoscaling Groups Filter> - Filter used to scope the list e.g., by tags. See related docs.
- Names List<string>
- List of autoscaling group names
- Filters
[]Get
Autoscaling Groups Filter - Filter used to scope the list e.g., by tags. See related docs.
- Names []string
- List of autoscaling group names
- filters
List<Get
Autoscaling Groups Filter> - Filter used to scope the list e.g., by tags. See related docs.
- names List<String>
- List of autoscaling group names
- filters
Get
Autoscaling Groups Filter[] - Filter used to scope the list e.g., by tags. See related docs.
- names string[]
- List of autoscaling group names
- filters
Sequence[Get
Autoscaling Groups Filter] - Filter used to scope the list e.g., by tags. See related docs.
- names Sequence[str]
- List of autoscaling group names
- filters List<Property Map>
- Filter used to scope the list e.g., by tags. See related docs.
- names List<String>
- List of autoscaling group names
getAutoscalingGroups Result
The following output properties are available:
- Arns List<string>
- List of the Autoscaling Groups Arns in the current region.
- Id string
- The provider-assigned unique ID for this managed resource.
- Names List<string>
- List of the Autoscaling Groups in the current region.
- Filters
List<Get
Autoscaling Groups Filter>
- Arns []string
- List of the Autoscaling Groups Arns in the current region.
- Id string
- The provider-assigned unique ID for this managed resource.
- Names []string
- List of the Autoscaling Groups in the current region.
- Filters
[]Get
Autoscaling Groups Filter
- arns List<String>
- List of the Autoscaling Groups Arns in the current region.
- id String
- The provider-assigned unique ID for this managed resource.
- names List<String>
- List of the Autoscaling Groups in the current region.
- filters
List<Get
Autoscaling Groups Filter>
- arns string[]
- List of the Autoscaling Groups Arns in the current region.
- id string
- The provider-assigned unique ID for this managed resource.
- names string[]
- List of the Autoscaling Groups in the current region.
- filters
Get
Autoscaling Groups Filter[]
- arns Sequence[str]
- List of the Autoscaling Groups Arns in the current region.
- id str
- The provider-assigned unique ID for this managed resource.
- names Sequence[str]
- List of the Autoscaling Groups in the current region.
- filters
Sequence[Get
Autoscaling Groups Filter]
- arns List<String>
- List of the Autoscaling Groups Arns in the current region.
- id String
- The provider-assigned unique ID for this managed resource.
- names List<String>
- List of the Autoscaling Groups in the current region.
- filters List<Property Map>
Supporting Types
GetAutoscalingGroupsFilter
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.
Viewing docs for AWS v5.43.0 (Older version)
published on Tuesday, Mar 10, 2026 by Pulumi
published on Tuesday, Mar 10, 2026 by Pulumi
