PlacementGroup

Provides an EC2 placement group. Read more about placement groups in AWS Docs.

Example Usage

using Pulumi;
using Aws = Pulumi.Aws;

class MyStack : Stack
{
    public MyStack()
    {
        var web = new Aws.Ec2.PlacementGroup("web", new Aws.Ec2.PlacementGroupArgs
        {
            Strategy = "cluster",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-aws/sdk/v4/go/aws/ec2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := ec2.NewPlacementGroup(ctx, "web", &ec2.PlacementGroupArgs{
			Strategy: pulumi.String("cluster"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_aws as aws

web = aws.ec2.PlacementGroup("web", strategy="cluster")
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const web = new aws.ec2.PlacementGroup("web", {
    strategy: "cluster",
});

Create a PlacementGroup Resource

new PlacementGroup(name: string, args: PlacementGroupArgs, opts?: CustomResourceOptions);
@overload
def PlacementGroup(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   name: Optional[str] = None,
                   strategy: Optional[Union[str, PlacementStrategy]] = None,
                   tags: Optional[Mapping[str, str]] = None,
                   tags_all: Optional[Mapping[str, str]] = None)
@overload
def PlacementGroup(resource_name: str,
                   args: PlacementGroupArgs,
                   opts: Optional[ResourceOptions] = None)
func NewPlacementGroup(ctx *Context, name string, args PlacementGroupArgs, opts ...ResourceOption) (*PlacementGroup, error)
public PlacementGroup(string name, PlacementGroupArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args PlacementGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args PlacementGroupArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args PlacementGroupArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args PlacementGroupArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

PlacementGroup Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The PlacementGroup resource accepts the following input properties:

Strategy string | Pulumi.Aws.Ec2.PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
Name string
The name of the placement group.
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
Strategy string | PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
Name string
The name of the placement group.
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
strategy string | PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
name string
The name of the placement group.
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
strategy str | PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
name str
The name of the placement group.
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .

Outputs

All input properties are implicitly available as output properties. Additionally, the PlacementGroup resource produces the following output properties:

Arn string
Amazon Resource Name (ARN) of the placement group.
Id string
The provider-assigned unique ID for this managed resource.
PlacementGroupId string
The ID of the placement group.
Arn string
Amazon Resource Name (ARN) of the placement group.
Id string
The provider-assigned unique ID for this managed resource.
PlacementGroupId string
The ID of the placement group.
arn string
Amazon Resource Name (ARN) of the placement group.
id string
The provider-assigned unique ID for this managed resource.
placementGroupId string
The ID of the placement group.
arn str
Amazon Resource Name (ARN) of the placement group.
id str
The provider-assigned unique ID for this managed resource.
placement_group_id str
The ID of the placement group.

Look up an Existing PlacementGroup Resource

Get an existing PlacementGroup resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: PlacementGroupState, opts?: CustomResourceOptions): PlacementGroup
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        arn: Optional[str] = None,
        name: Optional[str] = None,
        placement_group_id: Optional[str] = None,
        strategy: Optional[Union[str, PlacementStrategy]] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None) -> PlacementGroup
func GetPlacementGroup(ctx *Context, name string, id IDInput, state *PlacementGroupState, opts ...ResourceOption) (*PlacementGroup, error)
public static PlacementGroup Get(string name, Input<string> id, PlacementGroupState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

Arn string
Amazon Resource Name (ARN) of the placement group.
Name string
The name of the placement group.
PlacementGroupId string
The ID of the placement group.
Strategy string | Pulumi.Aws.Ec2.PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
Tags Dictionary<string, string>
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
A map of tags assigned to the resource, including those inherited from the provider .
Arn string
Amazon Resource Name (ARN) of the placement group.
Name string
The name of the placement group.
PlacementGroupId string
The ID of the placement group.
Strategy string | PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
Tags map[string]string
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
A map of tags assigned to the resource, including those inherited from the provider .
arn string
Amazon Resource Name (ARN) of the placement group.
name string
The name of the placement group.
placementGroupId string
The ID of the placement group.
strategy string | PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
tags {[key: string]: string}
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
A map of tags assigned to the resource, including those inherited from the provider .
arn str
Amazon Resource Name (ARN) of the placement group.
name str
The name of the placement group.
placement_group_id str
The ID of the placement group.
strategy str | PlacementStrategy
The placement strategy. Can be "cluster", "partition" or "spread".
tags Mapping[str, str]
Key-value map of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
A map of tags assigned to the resource, including those inherited from the provider .

Supporting Types

PlacementStrategy

Spread
spreadA spread placement group places instances on distinct hardware.
Cluster
clusterA cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput.
PlacementStrategySpread
spreadA spread placement group places instances on distinct hardware.
PlacementStrategyCluster
clusterA cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput.
Spread
spreadA spread placement group places instances on distinct hardware.
Cluster
clusterA cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput.
SPREAD
spreadA spread placement group places instances on distinct hardware.
CLUSTER
clusterA cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput.

Import

Placement groups can be imported using the name, e.g.

 $ pulumi import aws:ec2/placementGroup:PlacementGroup prod_pg production-placement-group

Package Details

Repository
https://github.com/pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.