Documentation ¶
Index ¶
- type Cluster
- type ClusterArgs
- type ClusterState
- type GetClusterArgs
- type GetClusterResult
- type GetContainerDefinitionArgs
- type GetContainerDefinitionResult
- type GetServiceArgs
- type GetServiceResult
- type GetTaskDefinitionArgs
- type GetTaskDefinitionResult
- type Service
- func (r *Service) Cluster() *pulumi.StringOutput
- func (r *Service) DeploymentController() *pulumi.Output
- func (r *Service) DeploymentMaximumPercent() *pulumi.IntOutput
- func (r *Service) DeploymentMinimumHealthyPercent() *pulumi.IntOutput
- func (r *Service) DesiredCount() *pulumi.IntOutput
- func (r *Service) EnableEcsManagedTags() *pulumi.BoolOutput
- func (r *Service) HealthCheckGracePeriodSeconds() *pulumi.IntOutput
- func (r *Service) ID() *pulumi.IDOutput
- func (r *Service) IamRole() *pulumi.StringOutput
- func (r *Service) LaunchType() *pulumi.StringOutput
- func (r *Service) LoadBalancers() *pulumi.ArrayOutput
- func (r *Service) Name() *pulumi.StringOutput
- func (r *Service) NetworkConfiguration() *pulumi.Output
- func (r *Service) OrderedPlacementStrategies() *pulumi.ArrayOutput
- func (r *Service) PlacementConstraints() *pulumi.ArrayOutput
- func (r *Service) PlacementStrategies() *pulumi.ArrayOutput
- func (r *Service) PlatformVersion() *pulumi.StringOutput
- func (r *Service) PropagateTags() *pulumi.StringOutput
- func (r *Service) SchedulingStrategy() *pulumi.StringOutput
- func (r *Service) ServiceRegistries() *pulumi.Output
- func (r *Service) Tags() *pulumi.MapOutput
- func (r *Service) TaskDefinition() *pulumi.StringOutput
- func (r *Service) URN() *pulumi.URNOutput
- func (r *Service) WaitForSteadyState() *pulumi.BoolOutput
- type ServiceArgs
- type ServiceState
- type TaskDefinition
- func (r *TaskDefinition) Arn() *pulumi.StringOutput
- func (r *TaskDefinition) ContainerDefinitions() *pulumi.StringOutput
- func (r *TaskDefinition) Cpu() *pulumi.StringOutput
- func (r *TaskDefinition) ExecutionRoleArn() *pulumi.StringOutput
- func (r *TaskDefinition) Family() *pulumi.StringOutput
- func (r *TaskDefinition) ID() *pulumi.IDOutput
- func (r *TaskDefinition) IpcMode() *pulumi.StringOutput
- func (r *TaskDefinition) Memory() *pulumi.StringOutput
- func (r *TaskDefinition) NetworkMode() *pulumi.StringOutput
- func (r *TaskDefinition) PidMode() *pulumi.StringOutput
- func (r *TaskDefinition) PlacementConstraints() *pulumi.ArrayOutput
- func (r *TaskDefinition) RequiresCompatibilities() *pulumi.ArrayOutput
- func (r *TaskDefinition) Revision() *pulumi.IntOutput
- func (r *TaskDefinition) Tags() *pulumi.MapOutput
- func (r *TaskDefinition) TaskRoleArn() *pulumi.StringOutput
- func (r *TaskDefinition) URN() *pulumi.URNOutput
- func (r *TaskDefinition) Volumes() *pulumi.ArrayOutput
- type TaskDefinitionArgs
- type TaskDefinitionState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cluster ¶
type Cluster struct {
// contains filtered or unexported fields
}
Provides an ECS cluster.
func GetCluster ¶
func GetCluster(ctx *pulumi.Context, name string, id pulumi.ID, state *ClusterState, opts ...pulumi.ResourceOpt) (*Cluster, error)
GetCluster gets an existing Cluster resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewCluster ¶
func NewCluster(ctx *pulumi.Context, name string, args *ClusterArgs, opts ...pulumi.ResourceOpt) (*Cluster, error)
NewCluster registers a new resource with the given unique name, arguments, and options.
func (*Cluster) Arn ¶
func (r *Cluster) Arn() *pulumi.StringOutput
The Amazon Resource Name (ARN) that identifies the cluster
func (*Cluster) Name ¶
func (r *Cluster) Name() *pulumi.StringOutput
The name of the cluster (up to 255 letters, numbers, hyphens, and underscores)
type ClusterArgs ¶
type ClusterArgs struct { // The name of the cluster (up to 255 letters, numbers, hyphens, and underscores) Name interface{} // Key-value mapping of resource tags Tags interface{} }
The set of arguments for constructing a Cluster resource.
type ClusterState ¶
type ClusterState struct { // The Amazon Resource Name (ARN) that identifies the cluster Arn interface{} // The name of the cluster (up to 255 letters, numbers, hyphens, and underscores) Name interface{} // Key-value mapping of resource tags Tags interface{} }
Input properties used for looking up and filtering Cluster resources.
type GetClusterArgs ¶
type GetClusterArgs struct {
// The name of the ECS Cluster
ClusterName interface{}
}
A collection of arguments for invoking getCluster.
type GetClusterResult ¶
type GetClusterResult struct { // The ARN of the ECS Cluster Arn interface{} // The number of pending tasks for the ECS Cluster PendingTasksCount interface{} // The number of registered container instances for the ECS Cluster RegisteredContainerInstancesCount interface{} // The number of running tasks for the ECS Cluster RunningTasksCount interface{} // The status of the ECS Cluster Status interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getCluster.
func LookupCluster ¶
func LookupCluster(ctx *pulumi.Context, args *GetClusterArgs) (*GetClusterResult, error)
The ECS Cluster data source allows access to details of a specific cluster within an AWS ECS service.
type GetContainerDefinitionArgs ¶
type GetContainerDefinitionArgs struct { // The name of the container definition ContainerName interface{} // The ARN of the task definition which contains the container TaskDefinition interface{} }
A collection of arguments for invoking getContainerDefinition.
type GetContainerDefinitionResult ¶
type GetContainerDefinitionResult struct { // The CPU limit for this container definition Cpu interface{} // Indicator if networking is disabled DisableNetworking interface{} // Set docker labels DockerLabels interface{} // The environment in use Environment interface{} // The docker image in use, including the digest Image interface{} // The digest of the docker image in use ImageDigest interface{} // The memory limit for this container definition Memory interface{} // The soft limit (in MiB) of memory to reserve for the container. When system memory is under contention, Docker attempts to keep the container memory to this soft limit MemoryReservation interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getContainerDefinition.
func LookupContainerDefinition ¶
func LookupContainerDefinition(ctx *pulumi.Context, args *GetContainerDefinitionArgs) (*GetContainerDefinitionResult, error)
The ECS container definition data source allows access to details of a specific container within an AWS ECS service.
type GetServiceArgs ¶
type GetServiceArgs struct { // The arn of the ECS Cluster ClusterArn interface{} // The name of the ECS Service ServiceName interface{} }
A collection of arguments for invoking getService.
type GetServiceResult ¶
type GetServiceResult struct { // The ARN of the ECS Service Arn interface{} // The number of tasks for the ECS Service DesiredCount interface{} // The launch type for the ECS Service LaunchType interface{} // The scheduling strategy for the ECS Service SchedulingStrategy interface{} // The family for the latest ACTIVE revision TaskDefinition interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getService.
func LookupService ¶
func LookupService(ctx *pulumi.Context, args *GetServiceArgs) (*GetServiceResult, error)
The ECS Service data source allows access to details of a specific Service within a AWS ECS Cluster.
type GetTaskDefinitionArgs ¶
type GetTaskDefinitionArgs struct {
// The family for the latest ACTIVE revision, family and revision (family:revision) for a specific revision in the family, the ARN of the task definition to access to.
TaskDefinition interface{}
}
A collection of arguments for invoking getTaskDefinition.
type GetTaskDefinitionResult ¶
type GetTaskDefinitionResult struct { // The family of this task definition Family interface{} // The Docker networking mode to use for the containers in this task. NetworkMode interface{} // The revision of this task definition Revision interface{} // The status of this task definition Status interface{} // The ARN of the IAM role that containers in this task can assume TaskRoleArn interface{} // id is the provider-assigned unique ID for this managed resource. Id interface{} }
A collection of values returned by getTaskDefinition.
func LookupTaskDefinition ¶
func LookupTaskDefinition(ctx *pulumi.Context, args *GetTaskDefinitionArgs) (*GetTaskDefinitionResult, error)
The ECS task definition data source allows access to details of a specific AWS ECS task definition.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
> **Note:** To prevent a race condition during service deletion, make sure to set `depends_on` to the related `aws_iam_role_policy`; otherwise, the policy may be destroyed too soon and the ECS service will then get stuck in the `DRAINING` state.
Provides an ECS service - effectively a task that is expected to run until an error occurs or a user terminates it (typically a webserver or a database).
See [ECS Services section in AWS developer guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html).
## deployment_controller
The `deployment_controller` configuration block supports the following:
* `type` - (Optional) Type of deployment controller. Valid values: `CODE_DEPLOY`, `ECS`. Default: `ECS`.
## load_balancer
`load_balancer` supports the following:
* `elb_name` - (Required for ELB Classic) The name of the ELB (Classic) to associate with the service. * `target_group_arn` - (Required for ALB/NLB) The ARN of the Load Balancer target group to associate with the service. * `container_name` - (Required) The name of the container to associate with the load balancer (as it appears in a container definition). * `container_port` - (Required) The port on the container to associate with the load balancer.
> **Note:** As a result of an AWS limitation, a single `load_balancer` can be attached to the ECS service at most. See [related docs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html#load-balancing-concepts).
## ordered_placement_strategy
`ordered_placement_strategy` supports the following:
- `type` - (Required) The type of placement strategy. Must be one of: `binpack`, `random`, or `spread`
- `field` - (Optional) For the `spread` placement strategy, valid values are `instanceId` (or `host`, which has the same effect), or any platform or custom attribute that is applied to a container instance. For the `binpack` type, valid values are `memory` and `cpu`. For the `random` type, this attribute is not needed. For more information, see [Placement Strategy](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PlacementStrategy.html).
> **Note:** for `spread`, `host` and `instanceId` will be normalized, by AWS, to be `instanceId`. This means the statefile will show `instanceId` but your config will differ if you use `host`.
## placement_constraints
`placement_constraints` support the following:
* `type` - (Required) The type of constraint. The only valid values at this time are `memberOf` and `distinctInstance`. * `expression` - (Optional) Cluster Query Language expression to apply to the constraint. Does not need to be specified for the `distinctInstance` type. For more information, see [Cluster Query Language in the Amazon EC2 Container Service Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cluster-query-language.html).
## network_configuration
`network_configuration` support the following:
* `subnets` - (Required) The subnets associated with the task or service. * `security_groups` - (Optional) The security groups associated with the task or service. If you do not specify a security group, the default security group for the VPC is used. * `assign_public_ip` - (Optional) Assign a public IP address to the ENI (Fargate launch type only). Valid values are `true` or `false`. Default `false`.
For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html)
## service_registries
`service_registries` support the following:
* `registry_arn` - (Required) The ARN of the Service Registry. The currently supported service registry is Amazon Route 53 Auto Naming Service(`aws_service_discovery_service`). For more information, see Service(https://docs.aws.amazon.com/Route53/latest/APIReference/API_autonaming_Service.html) * `port` - (Optional) The port value used if your Service Discovery service specified an SRV record. * `container_port` - (Optional) The port value, already specified in the task definition, to be used for your service discovery service. * `container_name` - (Optional) The container name value, already specified in the task definition, to be used for your service discovery service.
func GetService ¶
func GetService(ctx *pulumi.Context, name string, id pulumi.ID, state *ServiceState, opts ...pulumi.ResourceOpt) (*Service, error)
GetService gets an existing Service resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewService ¶
func NewService(ctx *pulumi.Context, name string, args *ServiceArgs, opts ...pulumi.ResourceOpt) (*Service, error)
NewService registers a new resource with the given unique name, arguments, and options.
func (*Service) DeploymentController ¶ added in v0.16.3
Configuration block containing deployment controller configuration. Defined below.
func (*Service) DeploymentMaximumPercent ¶
The upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the `DAEMON` scheduling strategy.
func (*Service) DeploymentMinimumHealthyPercent ¶
The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.
func (*Service) DesiredCount ¶
The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the `DAEMON` scheduling strategy.
func (*Service) EnableEcsManagedTags ¶ added in v0.16.3
func (r *Service) EnableEcsManagedTags() *pulumi.BoolOutput
Specifies whether to enable Amazon ECS managed tags for the tasks within the service.
func (*Service) HealthCheckGracePeriodSeconds ¶
Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 7200. Only valid for services configured to use load balancers.
func (*Service) IamRole ¶
func (r *Service) IamRole() *pulumi.StringOutput
ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the `awsvpc` network mode. If using `awsvpc` network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.
func (*Service) LaunchType ¶
func (r *Service) LaunchType() *pulumi.StringOutput
The launch type on which to run your service. The valid values are `EC2` and `FARGATE`. Defaults to `EC2`.
func (*Service) LoadBalancers ¶
func (r *Service) LoadBalancers() *pulumi.ArrayOutput
A load balancer block. Load balancers documented below.
func (*Service) Name ¶
func (r *Service) Name() *pulumi.StringOutput
The name of the service (up to 255 letters, numbers, hyphens, and underscores)
func (*Service) NetworkConfiguration ¶
The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes.
func (*Service) OrderedPlacementStrategies ¶
func (r *Service) OrderedPlacementStrategies() *pulumi.ArrayOutput
Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. The maximum number of `ordered_placement_strategy` blocks is `5`. Defined below.
func (*Service) PlacementConstraints ¶
func (r *Service) PlacementConstraints() *pulumi.ArrayOutput
rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. Defined below.
func (*Service) PlacementStrategies ¶
func (r *Service) PlacementStrategies() *pulumi.ArrayOutput
**Deprecated**, use `ordered_placement_strategy` instead.
func (*Service) PlatformVersion ¶ added in v0.16.5
func (r *Service) PlatformVersion() *pulumi.StringOutput
The platform version on which to run your service. Only applicable for `launch_type` set to `FARGATE`. Defaults to `LATEST`. More information about Fargate platform versions can be found in the [AWS ECS User Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html).
func (*Service) PropagateTags ¶ added in v0.16.4
func (r *Service) PropagateTags() *pulumi.StringOutput
Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are `SERVICE` and `TASK_DEFINITION`.
func (*Service) SchedulingStrategy ¶ added in v0.14.1
func (r *Service) SchedulingStrategy() *pulumi.StringOutput
The scheduling strategy to use for the service. The valid values are `REPLICA` and `DAEMON`. Defaults to `REPLICA`. Note that [*Fargate tasks do not support the `DAEMON` scheduling strategy*](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html).
func (*Service) ServiceRegistries ¶
The service discovery registries for the service. The maximum number of `service_registries` blocks is `1`.
func (*Service) TaskDefinition ¶
func (r *Service) TaskDefinition() *pulumi.StringOutput
The family and revision (`family:revision`) or full ARN of the task definition that you want to run in your service.
func (*Service) WaitForSteadyState ¶
func (r *Service) WaitForSteadyState() *pulumi.BoolOutput
If `true`, Terraform will wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. =======
type ServiceArgs ¶
type ServiceArgs struct { // ARN of an ECS cluster Cluster interface{} // Configuration block containing deployment controller configuration. Defined below. DeploymentController interface{} // The upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the `DAEMON` scheduling strategy. DeploymentMaximumPercent interface{} // The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment. DeploymentMinimumHealthyPercent interface{} // The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the `DAEMON` scheduling strategy. DesiredCount interface{} // Specifies whether to enable Amazon ECS managed tags for the tasks within the service. EnableEcsManagedTags interface{} // Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 7200. Only valid for services configured to use load balancers. HealthCheckGracePeriodSeconds interface{} // ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the `awsvpc` network mode. If using `awsvpc` network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. IamRole interface{} // The launch type on which to run your service. The valid values are `EC2` and `FARGATE`. Defaults to `EC2`. LaunchType interface{} // A load balancer block. Load balancers documented below. LoadBalancers interface{} // The name of the service (up to 255 letters, numbers, hyphens, and underscores) Name interface{} // The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. NetworkConfiguration interface{} // Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. The maximum number of `ordered_placement_strategy` blocks is `5`. Defined below. OrderedPlacementStrategies interface{} // rules that are taken into consideration during task placement. Maximum number of // `placement_constraints` is `10`. Defined below. PlacementConstraints interface{} // **Deprecated**, use `ordered_placement_strategy` instead. PlacementStrategies interface{} // The platform version on which to run your service. Only applicable for `launch_type` set to `FARGATE`. Defaults to `LATEST`. More information about Fargate platform versions can be found in the [AWS ECS User Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). PlatformVersion interface{} // Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are `SERVICE` and `TASK_DEFINITION`. PropagateTags interface{} // The scheduling strategy to use for the service. The valid values are `REPLICA` and `DAEMON`. Defaults to `REPLICA`. Note that [*Fargate tasks do not support the `DAEMON` scheduling strategy*](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html). SchedulingStrategy interface{} // The service discovery registries for the service. The maximum number of `service_registries` blocks is `1`. ServiceRegistries interface{} // Key-value mapping of resource tags Tags interface{} // The family and revision (`family:revision`) or full ARN of the task definition that you want to run in your service. TaskDefinition interface{} // If `true`, Terraform will wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. // ======= WaitForSteadyState interface{} }
The set of arguments for constructing a Service resource.
type ServiceState ¶
type ServiceState struct { // ARN of an ECS cluster Cluster interface{} // Configuration block containing deployment controller configuration. Defined below. DeploymentController interface{} // The upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the `DAEMON` scheduling strategy. DeploymentMaximumPercent interface{} // The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment. DeploymentMinimumHealthyPercent interface{} // The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the `DAEMON` scheduling strategy. DesiredCount interface{} // Specifies whether to enable Amazon ECS managed tags for the tasks within the service. EnableEcsManagedTags interface{} // Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 7200. Only valid for services configured to use load balancers. HealthCheckGracePeriodSeconds interface{} // ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the `awsvpc` network mode. If using `awsvpc` network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here. IamRole interface{} // The launch type on which to run your service. The valid values are `EC2` and `FARGATE`. Defaults to `EC2`. LaunchType interface{} // A load balancer block. Load balancers documented below. LoadBalancers interface{} // The name of the service (up to 255 letters, numbers, hyphens, and underscores) Name interface{} // The network configuration for the service. This parameter is required for task definitions that use the `awsvpc` network mode to receive their own Elastic Network Interface, and it is not supported for other network modes. NetworkConfiguration interface{} // Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. The maximum number of `ordered_placement_strategy` blocks is `5`. Defined below. OrderedPlacementStrategies interface{} // rules that are taken into consideration during task placement. Maximum number of // `placement_constraints` is `10`. Defined below. PlacementConstraints interface{} // **Deprecated**, use `ordered_placement_strategy` instead. PlacementStrategies interface{} // The platform version on which to run your service. Only applicable for `launch_type` set to `FARGATE`. Defaults to `LATEST`. More information about Fargate platform versions can be found in the [AWS ECS User Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html). PlatformVersion interface{} // Specifies whether to propagate the tags from the task definition or the service to the tasks. The valid values are `SERVICE` and `TASK_DEFINITION`. PropagateTags interface{} // The scheduling strategy to use for the service. The valid values are `REPLICA` and `DAEMON`. Defaults to `REPLICA`. Note that [*Fargate tasks do not support the `DAEMON` scheduling strategy*](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/scheduling_tasks.html). SchedulingStrategy interface{} // The service discovery registries for the service. The maximum number of `service_registries` blocks is `1`. ServiceRegistries interface{} // Key-value mapping of resource tags Tags interface{} // The family and revision (`family:revision`) or full ARN of the task definition that you want to run in your service. TaskDefinition interface{} // If `true`, Terraform will wait for the service to reach a steady state (like [`aws ecs wait services-stable`](https://docs.aws.amazon.com/cli/latest/reference/ecs/wait/services-stable.html)) before continuing. Default `false`. // ======= WaitForSteadyState interface{} }
Input properties used for looking up and filtering Service resources.
type TaskDefinition ¶
type TaskDefinition struct {
// contains filtered or unexported fields
}
Manages a revision of an ECS task definition to be used in `aws_ecs_service`.
func GetTaskDefinition ¶
func GetTaskDefinition(ctx *pulumi.Context, name string, id pulumi.ID, state *TaskDefinitionState, opts ...pulumi.ResourceOpt) (*TaskDefinition, error)
GetTaskDefinition gets an existing TaskDefinition resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewTaskDefinition ¶
func NewTaskDefinition(ctx *pulumi.Context, name string, args *TaskDefinitionArgs, opts ...pulumi.ResourceOpt) (*TaskDefinition, error)
NewTaskDefinition registers a new resource with the given unique name, arguments, and options.
func (*TaskDefinition) Arn ¶
func (r *TaskDefinition) Arn() *pulumi.StringOutput
Full ARN of the Task Definition (including both `family` and `revision`).
func (*TaskDefinition) ContainerDefinitions ¶
func (r *TaskDefinition) ContainerDefinitions() *pulumi.StringOutput
A list of valid [container definitions] (http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html) provided as a single valid JSON document. Please note that you should only provide values that are part of the container definition document. For a detailed description of what parameters are available, see the [Task Definition Parameters] (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) section from the official [Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide).
func (*TaskDefinition) Cpu ¶
func (r *TaskDefinition) Cpu() *pulumi.StringOutput
The number of cpu units used by the task. If the `requires_compatibilities` is `FARGATE` this field is required.
func (*TaskDefinition) ExecutionRoleArn ¶
func (r *TaskDefinition) ExecutionRoleArn() *pulumi.StringOutput
The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume.
func (*TaskDefinition) Family ¶
func (r *TaskDefinition) Family() *pulumi.StringOutput
A unique name for your task definition.
func (*TaskDefinition) ID ¶
func (r *TaskDefinition) ID() *pulumi.IDOutput
ID is this resource's unique identifier assigned by its provider.
func (*TaskDefinition) IpcMode ¶ added in v0.16.3
func (r *TaskDefinition) IpcMode() *pulumi.StringOutput
The IPC resource namespace to be used for the containers in the task The valid values are `host`, `task`, and `none`.
func (*TaskDefinition) Memory ¶
func (r *TaskDefinition) Memory() *pulumi.StringOutput
The amount (in MiB) of memory used by the task. If the `requires_compatibilities` is `FARGATE` this field is required.
func (*TaskDefinition) NetworkMode ¶
func (r *TaskDefinition) NetworkMode() *pulumi.StringOutput
The Docker networking mode to use for the containers in the task. The valid values are `none`, `bridge`, `awsvpc`, and `host`.
func (*TaskDefinition) PidMode ¶ added in v0.16.3
func (r *TaskDefinition) PidMode() *pulumi.StringOutput
The process namespace to use for the containers in the task. The valid values are `host` and `task`.
func (*TaskDefinition) PlacementConstraints ¶
func (r *TaskDefinition) PlacementConstraints() *pulumi.ArrayOutput
A set of placement constraints rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`.
func (*TaskDefinition) RequiresCompatibilities ¶
func (r *TaskDefinition) RequiresCompatibilities() *pulumi.ArrayOutput
A set of launch types required by the task. The valid values are `EC2` and `FARGATE`.
func (*TaskDefinition) Revision ¶
func (r *TaskDefinition) Revision() *pulumi.IntOutput
The revision of the task in a particular family.
func (*TaskDefinition) Tags ¶ added in v0.16.3
func (r *TaskDefinition) Tags() *pulumi.MapOutput
Key-value mapping of resource tags
func (*TaskDefinition) TaskRoleArn ¶
func (r *TaskDefinition) TaskRoleArn() *pulumi.StringOutput
The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services.
func (*TaskDefinition) URN ¶
func (r *TaskDefinition) URN() *pulumi.URNOutput
URN is this resource's unique name assigned by Pulumi.
func (*TaskDefinition) Volumes ¶
func (r *TaskDefinition) Volumes() *pulumi.ArrayOutput
A set of volume blocks that containers in your task may use.
type TaskDefinitionArgs ¶
type TaskDefinitionArgs struct { // A list of valid [container definitions] // (http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html) provided as a // single valid JSON document. Please note that you should only provide values that are part of the container // definition document. For a detailed description of what parameters are available, see the [Task Definition Parameters] // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) section from the // official [Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide). ContainerDefinitions interface{} // The number of cpu units used by the task. If the `requires_compatibilities` is `FARGATE` this field is required. Cpu interface{} // The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. ExecutionRoleArn interface{} // A unique name for your task definition. Family interface{} // The IPC resource namespace to be used for the containers in the task The valid values are `host`, `task`, and `none`. IpcMode interface{} // The amount (in MiB) of memory used by the task. If the `requires_compatibilities` is `FARGATE` this field is required. Memory interface{} // The Docker networking mode to use for the containers in the task. The valid values are `none`, `bridge`, `awsvpc`, and `host`. NetworkMode interface{} // The process namespace to use for the containers in the task. The valid values are `host` and `task`. PidMode interface{} // A set of placement constraints rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. PlacementConstraints interface{} // A set of launch types required by the task. The valid values are `EC2` and `FARGATE`. RequiresCompatibilities interface{} // Key-value mapping of resource tags Tags interface{} // The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn interface{} // A set of volume blocks that containers in your task may use. Volumes interface{} }
The set of arguments for constructing a TaskDefinition resource.
type TaskDefinitionState ¶
type TaskDefinitionState struct { // Full ARN of the Task Definition (including both `family` and `revision`). Arn interface{} // A list of valid [container definitions] // (http://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDefinition.html) provided as a // single valid JSON document. Please note that you should only provide values that are part of the container // definition document. For a detailed description of what parameters are available, see the [Task Definition Parameters] // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html) section from the // official [Developer Guide](https://docs.aws.amazon.com/AmazonECS/latest/developerguide). ContainerDefinitions interface{} // The number of cpu units used by the task. If the `requires_compatibilities` is `FARGATE` this field is required. Cpu interface{} // The Amazon Resource Name (ARN) of the task execution role that the Amazon ECS container agent and the Docker daemon can assume. ExecutionRoleArn interface{} // A unique name for your task definition. Family interface{} // The IPC resource namespace to be used for the containers in the task The valid values are `host`, `task`, and `none`. IpcMode interface{} // The amount (in MiB) of memory used by the task. If the `requires_compatibilities` is `FARGATE` this field is required. Memory interface{} // The Docker networking mode to use for the containers in the task. The valid values are `none`, `bridge`, `awsvpc`, and `host`. NetworkMode interface{} // The process namespace to use for the containers in the task. The valid values are `host` and `task`. PidMode interface{} // A set of placement constraints rules that are taken into consideration during task placement. Maximum number of `placement_constraints` is `10`. PlacementConstraints interface{} // A set of launch types required by the task. The valid values are `EC2` and `FARGATE`. RequiresCompatibilities interface{} // The revision of the task in a particular family. Revision interface{} // Key-value mapping of resource tags Tags interface{} // The ARN of IAM role that allows your Amazon ECS container task to make calls to other AWS services. TaskRoleArn interface{} // A set of volume blocks that containers in your task may use. Volumes interface{} }
Input properties used for looking up and filtering TaskDefinition resources.