Viewing docs for AWS v6.83.1 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
Viewing docs for AWS v6.83.1 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
This resource can be useful for getting back a set of FIS experiment template IDs.
Example Usage
The following shows outputting a list of all FIS experiment template IDs
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
export = async () => {
const all = await aws.fis.getExperimentTemplates({});
return {
all: all.ids,
};
}
import pulumi
import pulumi_aws as aws
all = aws.fis.get_experiment_templates()
pulumi.export("all", all.ids)
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fis"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
all, err := fis.GetExperimentTemplates(ctx, &fis.GetExperimentTemplatesArgs{}, nil)
if err != nil {
return err
}
ctx.Export("all", all.Ids)
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var all = Aws.Fis.GetExperimentTemplates.Invoke();
return new Dictionary<string, object?>
{
["all"] = all.Apply(getExperimentTemplatesResult => getExperimentTemplatesResult.Ids),
};
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.fis.FisFunctions;
import com.pulumi.aws.fis.inputs.GetExperimentTemplatesArgs;
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 all = FisFunctions.getExperimentTemplates(GetExperimentTemplatesArgs.builder()
.build());
ctx.export("all", all.ids());
}
}
variables:
all:
fn::invoke:
function: aws:fis:getExperimentTemplates
arguments: {}
outputs:
all: ${all.ids}
The following shows filtering FIS experiment templates by tag
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.fis.getExperimentTemplates({
tags: {
Name: "example",
Tier: "1",
},
});
const exampleGetPolicyDocument = example.then(example => aws.iam.getPolicyDocument({
statements: [{
sid: "StartFISExperiment",
effect: "Allow",
actions: ["fis:StartExperiment"],
resources: [
`arn:aws:fis:*:*:experiment-template/${example.ids?.[0]}`,
"arn:aws:fis:*:*:experiment/*",
],
}],
}));
import pulumi
import pulumi_aws as aws
example = aws.fis.get_experiment_templates(tags={
"Name": "example",
"Tier": "1",
})
example_get_policy_document = aws.iam.get_policy_document(statements=[{
"sid": "StartFISExperiment",
"effect": "Allow",
"actions": ["fis:StartExperiment"],
"resources": [
f"arn:aws:fis:*:*:experiment-template/{example.ids[0]}",
"arn:aws:fis:*:*:experiment/*",
],
}])
package main
import (
"fmt"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/fis"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := fis.GetExperimentTemplates(ctx, &fis.GetExperimentTemplatesArgs{
Tags: map[string]interface{}{
"Name": "example",
"Tier": "1",
},
}, nil)
if err != nil {
return err
}
_, err = iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
Statements: []iam.GetPolicyDocumentStatement{
{
Sid: pulumi.StringRef("StartFISExperiment"),
Effect: pulumi.StringRef("Allow"),
Actions: []string{
"fis:StartExperiment",
},
Resources: []string{
fmt.Sprintf("arn:aws:fis:*:*:experiment-template/%v", example.Ids[0]),
"arn:aws:fis:*:*:experiment/*",
},
},
},
}, nil)
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.Fis.GetExperimentTemplates.Invoke(new()
{
Tags =
{
{ "Name", "example" },
{ "Tier", "1" },
},
});
var exampleGetPolicyDocument = Aws.Iam.GetPolicyDocument.Invoke(new()
{
Statements = new[]
{
new Aws.Iam.Inputs.GetPolicyDocumentStatementInputArgs
{
Sid = "StartFISExperiment",
Effect = "Allow",
Actions = new[]
{
"fis:StartExperiment",
},
Resources = new[]
{
$"arn:aws:fis:*:*:experiment-template/{example.Apply(getExperimentTemplatesResult => getExperimentTemplatesResult.Ids[0])}",
"arn:aws:fis:*:*:experiment/*",
},
},
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.fis.FisFunctions;
import com.pulumi.aws.fis.inputs.GetExperimentTemplatesArgs;
import com.pulumi.aws.iam.IamFunctions;
import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs;
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 = FisFunctions.getExperimentTemplates(GetExperimentTemplatesArgs.builder()
.tags(Map.ofEntries(
Map.entry("Name", "example"),
Map.entry("Tier", "1")
))
.build());
final var exampleGetPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder()
.statements(GetPolicyDocumentStatementArgs.builder()
.sid("StartFISExperiment")
.effect("Allow")
.actions("fis:StartExperiment")
.resources(
String.format("arn:aws:fis:*:*:experiment-template/%s", example.ids()[0]),
"arn:aws:fis:*:*:experiment/*")
.build())
.build());
}
}
variables:
example:
fn::invoke:
function: aws:fis:getExperimentTemplates
arguments:
tags:
Name: example
Tier: 1
exampleGetPolicyDocument:
fn::invoke:
function: aws:iam:getPolicyDocument
arguments:
statements:
- sid: StartFISExperiment
effect: Allow
actions:
- fis:StartExperiment
resources:
- arn:aws:fis:*:*:experiment-template/${example.ids[0]}
- arn:aws:fis:*:*:experiment/*
Using getExperimentTemplates
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 getExperimentTemplates(args: GetExperimentTemplatesArgs, opts?: InvokeOptions): Promise<GetExperimentTemplatesResult>
function getExperimentTemplatesOutput(args: GetExperimentTemplatesOutputArgs, opts?: InvokeOptions): Output<GetExperimentTemplatesResult>def get_experiment_templates(tags: Optional[Mapping[str, str]] = None,
opts: Optional[InvokeOptions] = None) -> GetExperimentTemplatesResult
def get_experiment_templates_output(tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetExperimentTemplatesResult]func GetExperimentTemplates(ctx *Context, args *GetExperimentTemplatesArgs, opts ...InvokeOption) (*GetExperimentTemplatesResult, error)
func GetExperimentTemplatesOutput(ctx *Context, args *GetExperimentTemplatesOutputArgs, opts ...InvokeOption) GetExperimentTemplatesResultOutput> Note: This function is named GetExperimentTemplates in the Go SDK.
public static class GetExperimentTemplates
{
public static Task<GetExperimentTemplatesResult> InvokeAsync(GetExperimentTemplatesArgs args, InvokeOptions? opts = null)
public static Output<GetExperimentTemplatesResult> Invoke(GetExperimentTemplatesInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetExperimentTemplatesResult> getExperimentTemplates(GetExperimentTemplatesArgs args, InvokeOptions options)
public static Output<GetExperimentTemplatesResult> getExperimentTemplates(GetExperimentTemplatesArgs args, InvokeOptions options)
fn::invoke:
function: aws:fis/getExperimentTemplates:getExperimentTemplates
arguments:
# arguments dictionaryThe following arguments are supported:
- Dictionary<string, string>
- Map of tags, each pair of which must exactly match a pair on the desired experiment templates.
- map[string]string
- Map of tags, each pair of which must exactly match a pair on the desired experiment templates.
- Map<String,String>
- Map of tags, each pair of which must exactly match a pair on the desired experiment templates.
- {[key: string]: string}
- Map of tags, each pair of which must exactly match a pair on the desired experiment templates.
- Mapping[str, str]
- Map of tags, each pair of which must exactly match a pair on the desired experiment templates.
- Map<String>
- Map of tags, each pair of which must exactly match a pair on the desired experiment templates.
getExperimentTemplates Result
The following output properties are available:
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 v6.83.1 (Older version)
published on Monday, Mar 9, 2026 by Pulumi
published on Monday, Mar 9, 2026 by Pulumi
