EC2 / Client / create_placement_group

create_placement_group#

EC2.Client.create_placement_group(**kwargs)#

Creates a placement group in which to launch instances. The strategy of the placement group determines how the instances are organized within the group.

A cluster placement group is a logical grouping of instances within a single Availability Zone that benefit from low network latency, high network throughput. A spread placement group places instances on distinct hardware. A partition placement group places groups of instances in different partitions, where instances in one partition do not share the same hardware with instances in another partition.

For more information, see Placement groups in the Amazon EC2 User Guide.

See also: AWS API Documentation

Request Syntax

response = client.create_placement_group(
    DryRun=True|False,
    GroupName='string',
    Strategy='cluster'|'spread'|'partition',
    PartitionCount=123,
    TagSpecifications=[
        {
            'ResourceType': 'capacity-reservation'|'client-vpn-endpoint'|'customer-gateway'|'carrier-gateway'|'coip-pool'|'dedicated-host'|'dhcp-options'|'egress-only-internet-gateway'|'elastic-ip'|'elastic-gpu'|'export-image-task'|'export-instance-task'|'fleet'|'fpga-image'|'host-reservation'|'image'|'import-image-task'|'import-snapshot-task'|'instance'|'instance-event-window'|'internet-gateway'|'ipam'|'ipam-pool'|'ipam-scope'|'ipv4pool-ec2'|'ipv6pool-ec2'|'key-pair'|'launch-template'|'local-gateway'|'local-gateway-route-table'|'local-gateway-virtual-interface'|'local-gateway-virtual-interface-group'|'local-gateway-route-table-vpc-association'|'local-gateway-route-table-virtual-interface-group-association'|'natgateway'|'network-acl'|'network-interface'|'network-insights-analysis'|'network-insights-path'|'network-insights-access-scope'|'network-insights-access-scope-analysis'|'placement-group'|'prefix-list'|'replace-root-volume-task'|'reserved-instances'|'route-table'|'security-group'|'security-group-rule'|'snapshot'|'spot-fleet-request'|'spot-instances-request'|'subnet'|'subnet-cidr-reservation'|'traffic-mirror-filter'|'traffic-mirror-session'|'traffic-mirror-target'|'transit-gateway'|'transit-gateway-attachment'|'transit-gateway-connect-peer'|'transit-gateway-multicast-domain'|'transit-gateway-policy-table'|'transit-gateway-route-table'|'transit-gateway-route-table-announcement'|'volume'|'vpc'|'vpc-endpoint'|'vpc-endpoint-connection'|'vpc-endpoint-service'|'vpc-endpoint-service-permission'|'vpc-peering-connection'|'vpn-connection'|'vpn-gateway'|'vpc-flow-log'|'capacity-reservation-fleet'|'traffic-mirror-filter-rule'|'vpc-endpoint-connection-device-type'|'verified-access-instance'|'verified-access-group'|'verified-access-endpoint'|'verified-access-policy'|'verified-access-trust-provider'|'vpn-connection-device-type'|'vpc-block-public-access-exclusion'|'ipam-resource-discovery'|'ipam-resource-discovery-association'|'instance-connect-endpoint',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        },
    ],
    SpreadLevel='host'|'rack'
)
Parameters:
  • DryRun (boolean) – Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • GroupName (string) –

    A name for the placement group. Must be unique within the scope of your account for the Region.

    Constraints: Up to 255 ASCII characters

  • Strategy (string) – The placement strategy.

  • PartitionCount (integer) – The number of partitions. Valid only when Strategy is set to partition.

  • TagSpecifications (list) –

    The tags to apply to the new placement group.

    • (dict) –

      The tags to apply to a resource when the resource is being created. When you specify a tag, you must specify the resource type to tag, otherwise the request will fail.

      Note

      The Valid Values lists all the resource types that can be tagged. However, the action you’re using might not support tagging all of these resource types. If you try to tag a resource type that is unsupported for the action you’re using, you’ll get an error.

      • ResourceType (string) –

        The type of resource to tag on creation.

      • Tags (list) –

        The tags to apply to the resource.

        • (dict) –

          Describes a tag.

          • Key (string) –

            The key of the tag.

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

          • Value (string) –

            The value of the tag.

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

  • SpreadLevel (string) –

    Determines how placement groups spread instances.

    • Host – You can use host only with Outpost placement groups.

    • Rack – No usage restrictions.

Return type:

dict

Returns:

Response Syntax

{
    'PlacementGroup': {
        'GroupName': 'string',
        'State': 'pending'|'available'|'deleting'|'deleted',
        'Strategy': 'cluster'|'spread'|'partition',
        'PartitionCount': 123,
        'GroupId': 'string',
        'Tags': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'GroupArn': 'string',
        'SpreadLevel': 'host'|'rack'
    }
}

Response Structure

  • (dict) –

    • PlacementGroup (dict) –

      Information about the placement group.

      • GroupName (string) –

        The name of the placement group.

      • State (string) –

        The state of the placement group.

      • Strategy (string) –

        The placement strategy.

      • PartitionCount (integer) –

        The number of partitions. Valid only if strategy is set to partition.

      • GroupId (string) –

        The ID of the placement group.

      • Tags (list) –

        Any tags applied to the placement group.

        • (dict) –

          Describes a tag.

          • Key (string) –

            The key of the tag.

            Constraints: Tag keys are case-sensitive and accept a maximum of 127 Unicode characters. May not begin with aws:.

          • Value (string) –

            The value of the tag.

            Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

      • GroupArn (string) –

        The Amazon Resource Name (ARN) of the placement group.

      • SpreadLevel (string) –

        The spread level for the placement group. Only Outpost placement groups can be spread across hosts.

Examples

This example creates a placement group with the specified name.

response = client.create_placement_group(
    GroupName='my-cluster',
    Strategy='cluster',
)

print(response)

Expected Output:

{
    'ResponseMetadata': {
        '...': '...',
    },
}