Workflow Args
data class WorkflowArgs(val changeDescription: Output<String>? = null, val data: Output<String>? = null, val description: Output<String>? = null, val kmsKeyId: Output<String>? = null, val name: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val type: Output<String>? = null, val uri: Output<String>? = null, val version: Output<String>? = null) : ConvertibleToJava<WorkflowArgs>
Resource for managing an AWS EC2 Image Builder Workflow.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.imagebuilder.Workflow("example", {
name: "example",
version: "1.0.0",
type: "TEST",
data: `name: example
description: Workflow to test an image
schemaVersion: 1.0
parameters:
- name: waitForActionAtEnd
type: boolean
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: "ssmAgent"
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.: ".stepOutputs.LaunchTestInstance.instanceId"
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: ".parameters.waitForActionAtEnd"
`,
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.imagebuilder.Workflow("example",
name="example",
version="1.0.0",
type="TEST",
data="""name: example
description: Workflow to test an image
schemaVersion: 1.0
parameters:
- name: waitForActionAtEnd
type: boolean
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: "ssmAgent"
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: "$.parameters.waitForActionAtEnd"
""")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ImageBuilder.Workflow("example", new()
{
Name = "example",
Version = "1.0.0",
Type = "TEST",
Data = @"name: example
description: Workflow to test an image
schemaVersion: 1.0
parameters:
- name: waitForActionAtEnd
type: boolean
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: ""ssmAgent""
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.$: ""$.stepOutputs.LaunchTestInstance.instanceId""
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: ""$.parameters.waitForActionAtEnd""
",
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/imagebuilder"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := imagebuilder.NewWorkflow(ctx, "example", &imagebuilder.WorkflowArgs{
Name: pulumi.String("example"),
Version: pulumi.String("1.0.0"),
Type: pulumi.String("TEST"),
Data: pulumi.String(`name: example
description: Workflow to test an image
schemaVersion: 1.0
parameters:
- name: waitForActionAtEnd
type: boolean
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: "ssmAgent"
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: "$.parameters.waitForActionAtEnd"
`),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.imagebuilder.Workflow;
import com.pulumi.aws.imagebuilder.WorkflowArgs;
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 Workflow("example", WorkflowArgs.builder()
.name("example")
.version("1.0.0")
.type("TEST")
.data("""
name: example
description: Workflow to test an image
schemaVersion: 1.0
parameters:
- name: waitForActionAtEnd
type: boolean
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: "ssmAgent"
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: "$.parameters.waitForActionAtEnd"
""")
.build());
}
}
Content copied to clipboard
resources:
example:
type: aws:imagebuilder:Workflow
properties:
name: example
version: 1.0.0
type: TEST
data: |
name: example
description: Workflow to test an image
schemaVersion: 1.0
parameters:
- name: waitForActionAtEnd
type: boolean
steps:
- name: LaunchTestInstance
action: LaunchInstance
onFailure: Abort
inputs:
waitFor: "ssmAgent"
- name: TerminateTestInstance
action: TerminateInstance
onFailure: Continue
inputs:
instanceId.$: "$.stepOutputs.LaunchTestInstance.instanceId"
- name: WaitForActionAtEnd
action: WaitForAction
if:
booleanEquals: true
value: "$.parameters.waitForActionAtEnd"
Content copied to clipboard
Import
Using pulumi import
, import EC2 Image Builder Workflow using the example_id_arg
. For example:
$ pulumi import aws:imagebuilder/workflow:Workflow example arn:aws:imagebuilder:us-east-1:aws:workflow/test/example/1.0.1/1
Content copied to clipboard
Certain resource arguments, such as uri
, cannot be read via the API and imported into Terraform. Terraform will display a difference for these arguments the first run after import if declared in the Terraform configuration for an imported resource.
Constructors
Link copied to clipboard
constructor(changeDescription: Output<String>? = null, data: Output<String>? = null, description: Output<String>? = null, kmsKeyId: Output<String>? = null, name: Output<String>? = null, tags: Output<Map<String, String>>? = null, type: Output<String>? = null, uri: Output<String>? = null, version: Output<String>? = null)