AWS v6.80.0 published on Tuesday, May 6, 2025 by Pulumi
aws.fis.getExperimentTemplates
Explore with Pulumi AI
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 dictionary
The 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
aws
Terraform Provider.