Package com.pulumi.aws.ecs
Class DaemonTaskDefinition
- java.lang.Object
-
- com.pulumi.resources.Resource
-
- com.pulumi.resources.CustomResource
-
- com.pulumi.aws.ecs.DaemonTaskDefinition
-
public class DaemonTaskDefinition extends com.pulumi.resources.CustomResourceManages a revision of an ECS daemon task definition for use with daemon scheduling strategy. ## Example Usage ### Basic Example
### With IAM Rolespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.DaemonTaskDefinition; import com.pulumi.aws.ecs.DaemonTaskDefinitionArgs; import com.pulumi.aws.ecs.inputs.DaemonTaskDefinitionContainerDefinitionArgs; import java.util.ArrayList; import java.util.Arrays; 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 DaemonTaskDefinition("example", DaemonTaskDefinitionArgs.builder() .containerDefinitions(DaemonTaskDefinitionContainerDefinitionArgs.builder() .name("app") .image("nginx:latest") .cpu(256) .memory(512) .essential(true) .build()) .family("my-daemon-service") .cpu("512") .memory("1024") .build()); } }
### With Volumespackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.iam.Role; import com.pulumi.aws.iam.RoleArgs; import com.pulumi.aws.ecs.DaemonTaskDefinition; import com.pulumi.aws.ecs.DaemonTaskDefinitionArgs; import com.pulumi.aws.ecs.inputs.DaemonTaskDefinitionContainerDefinitionArgs; import static com.pulumi.codegen.internal.Serialization.*; import java.util.ArrayList; import java.util.Arrays; 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 taskExecution = new Role("taskExecution", RoleArgs.builder() .name("daemon-task-execution-role") .assumeRolePolicy(serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "sts:AssumeRole"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("Service", "ecs-tasks.amazonaws.com") )) ))) ))) .build()); var task = new Role("task", RoleArgs.builder() .name("daemon-task-role") .assumeRolePolicy(serializeJson( jsonObject( jsonProperty("Version", "2012-10-17"), jsonProperty("Statement", jsonArray(jsonObject( jsonProperty("Action", "sts:AssumeRole"), jsonProperty("Effect", "Allow"), jsonProperty("Principal", jsonObject( jsonProperty("Service", "ecs-tasks.amazonaws.com") )) ))) ))) .build()); var example = new DaemonTaskDefinition("example", DaemonTaskDefinitionArgs.builder() .containerDefinitions(DaemonTaskDefinitionContainerDefinitionArgs.builder() .name("app") .image("nginx:latest") .cpu(256) .memory(512) .essential(true) .build()) .family("my-daemon-service") .executionRoleArn(taskExecution.arn()) .taskRoleArn(task.arn()) .cpu("512") .memory("1024") .build()); } }
### With Multiple Containerspackage generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.DaemonTaskDefinition; import com.pulumi.aws.ecs.DaemonTaskDefinitionArgs; import com.pulumi.aws.ecs.inputs.DaemonTaskDefinitionContainerDefinitionArgs; import com.pulumi.aws.ecs.inputs.DaemonTaskDefinitionVolumeArgs; import com.pulumi.aws.ecs.inputs.DaemonTaskDefinitionVolumeHostArgs; import java.util.ArrayList; import java.util.Arrays; 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 DaemonTaskDefinition("example", DaemonTaskDefinitionArgs.builder() .containerDefinitions(DaemonTaskDefinitionContainerDefinitionArgs.builder() .name("app") .image("nginx:latest") .cpu(256) .memory(512) .essential(true) .build()) .volumes( DaemonTaskDefinitionVolumeArgs.builder() .hosts(DaemonTaskDefinitionVolumeHostArgs.builder() .sourcePath("/data") .build()) .name("data-volume") .build(), DaemonTaskDefinitionVolumeArgs.builder() .hosts(DaemonTaskDefinitionVolumeHostArgs.builder() .sourcePath("/var/log") .build()) .name("logs-volume") .build()) .family("my-daemon-service") .cpu("512") .memory("1024") .build()); } }
## Import ### Identity Schema #### Required * `arn` (String) ARN of the ECS Daemon Task Definition. Using `pulumi import`, import ECS Daemon Task Definitions using their ARNs. For example: ```sh $ pulumi import aws:ecs/daemonTaskDefinition:DaemonTaskDefinition example arn:aws:ecs:us-east-1:012345678910:daemon-task-definition/mydaemonfamily:123 ```package generated_program; import com.pulumi.Context; import com.pulumi.Pulumi; import com.pulumi.core.Output; import com.pulumi.aws.ecs.DaemonTaskDefinition; import com.pulumi.aws.ecs.DaemonTaskDefinitionArgs; import com.pulumi.aws.ecs.inputs.DaemonTaskDefinitionContainerDefinitionArgs; import java.util.ArrayList; import java.util.Arrays; 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 DaemonTaskDefinition("example", DaemonTaskDefinitionArgs.builder() .containerDefinitions( DaemonTaskDefinitionContainerDefinitionArgs.builder() .name("app") .image("my-app:latest") .cpu(256) .memory(512) .essential(true) .build(), DaemonTaskDefinitionContainerDefinitionArgs.builder() .name("sidecar") .image("datadog/agent:latest") .cpu(128) .memory(256) .essential(false) .build()) .family("my-daemon-service") .cpu("512") .memory("1024") .build()); } }
-
-
Constructor Summary
Constructors Constructor Description DaemonTaskDefinition(java.lang.String name)DaemonTaskDefinition(java.lang.String name, DaemonTaskDefinitionArgs args)DaemonTaskDefinition(java.lang.String name, DaemonTaskDefinitionArgs args, com.pulumi.resources.CustomResourceOptions options)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description com.pulumi.core.Output<java.lang.String>arn()com.pulumi.core.Output<java.util.List<DaemonTaskDefinitionContainerDefinition>>containerDefinitions()com.pulumi.core.Output<java.util.Optional<java.lang.String>>cpu()com.pulumi.core.Output<java.util.Optional<java.lang.String>>executionRoleArn()com.pulumi.core.Output<java.lang.String>family()static DaemonTaskDefinitionget(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, DaemonTaskDefinitionState state, com.pulumi.resources.CustomResourceOptions options)Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.com.pulumi.core.Output<java.util.Optional<java.lang.String>>memory()com.pulumi.core.Output<java.lang.String>region()com.pulumi.core.Output<java.lang.Integer>revision()com.pulumi.core.Output<java.lang.String>status()com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>>tags()com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>>tagsAll()com.pulumi.core.Output<java.util.Optional<java.lang.String>>taskRoleArn()com.pulumi.core.Output<java.util.Optional<java.util.List<DaemonTaskDefinitionVolume>>>volumes()
-
-
-
Constructor Detail
-
DaemonTaskDefinition
public DaemonTaskDefinition(java.lang.String name)
- Parameters:
name- The _unique_ name of the resulting resource.
-
DaemonTaskDefinition
public DaemonTaskDefinition(java.lang.String name, DaemonTaskDefinitionArgs args)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.
-
DaemonTaskDefinition
public DaemonTaskDefinition(java.lang.String name, DaemonTaskDefinitionArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options)- Parameters:
name- The _unique_ name of the resulting resource.args- The arguments to use to populate this resource's properties.options- A bag of options that control this resource's behavior.
-
-
Method Detail
-
arn
public com.pulumi.core.Output<java.lang.String> arn()
- Returns:
- Full ARN of the Daemon Task Definition (including both `family` and `revision`).
-
containerDefinitions
public com.pulumi.core.Output<java.util.List<DaemonTaskDefinitionContainerDefinition>> containerDefinitions()
- Returns:
- One or more container definition blocks. Detailed below.
-
cpu
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> cpu()
- Returns:
- Number of CPU units used by the task.
-
executionRoleArn
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> executionRoleArn()
- Returns:
- ARN of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.
-
family
public com.pulumi.core.Output<java.lang.String> family()
- Returns:
- Unique name for your daemon task definition. The following arguments are optional:
-
memory
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> memory()
- Returns:
- Amount (in MiB) of memory used by the task.
-
region
public com.pulumi.core.Output<java.lang.String> region()
- Returns:
- Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
-
revision
public com.pulumi.core.Output<java.lang.Integer> revision()
- Returns:
- Revision of the task in a particular family.
-
status
public com.pulumi.core.Output<java.lang.String> status()
- Returns:
- Status of the daemon task definition.
-
tags
public com.pulumi.core.Output<java.util.Optional<java.util.Map<java.lang.String,java.lang.String>>> tags()
- Returns:
- Key-value map of resource tags. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
-
tagsAll
public com.pulumi.core.Output<java.util.Map<java.lang.String,java.lang.String>> tagsAll()
- Returns:
- Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
-
taskRoleArn
public com.pulumi.core.Output<java.util.Optional<java.lang.String>> taskRoleArn()
- Returns:
- ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services.
-
volumes
public com.pulumi.core.Output<java.util.Optional<java.util.List<DaemonTaskDefinitionVolume>>> volumes()
- Returns:
- Repeatable configuration block for volumes that containers in your task may use. Detailed below.
-
get
public static DaemonTaskDefinition get(java.lang.String name, com.pulumi.core.Output<java.lang.String> id, @Nullable DaemonTaskDefinitionState state, @Nullable com.pulumi.resources.CustomResourceOptions options)
Get an existing Host resource's state with the given name, ID, and optional extra properties used to qualify the lookup.- Parameters:
name- The _unique_ name of the resulting resource.id- The _unique_ provider ID of the resource to lookup.state-options- Optional settings to control the behavior of the CustomResource.
-
-