capacity_reservations
Creates, updates, deletes or gets a capacity_reservation resource or lists capacity_reservations in a region
Overview
| Name | capacity_reservations |
| Type | Resource |
| Description | Resource Type definition for AWS::EC2::CapacityReservation |
| Id | awscc.ec2.capacity_reservations |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
tenancy | string | |
end_date_type | string | |
tag_specifications | array | |
availability_zone | string | |
total_instance_count | integer | |
end_date | string | |
ebs_optimized | boolean | |
out_post_arn | string | |
instance_count | integer | |
placement_group_arn | string | |
available_instance_count | integer | |
instance_platform | string | |
id | string | |
instance_type | string | |
ephemeral_storage | boolean | |
instance_match_criteria | string | |
unused_reservation_billing_owner_id | string | |
availability_zone_id | string | |
start_date | string | |
capacity_reservation_arn | string | |
create_date | string | |
state | string | |
owner_id | string | |
delivery_preference | string | |
capacity_reservation_fleet_id | string | |
reservation_type | string | |
capacity_allocation_set | array | |
commitment_info | object | |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
id | string | |
region | string | AWS region. |
For more information, see AWS::EC2::CapacityReservation.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | capacity_reservations | INSERT | InstanceCount, InstancePlatform, InstanceType, region |
delete_resource | capacity_reservations | DELETE | Identifier, region |
update_resource | capacity_reservations | UPDATE | Identifier, PatchDocument, region |
list_resources | capacity_reservations_list_only | SELECT | region |
get_resource | capacity_reservations | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual capacity_reservation.
SELECT
region,
tenancy,
end_date_type,
tag_specifications,
availability_zone,
total_instance_count,
end_date,
ebs_optimized,
out_post_arn,
instance_count,
placement_group_arn,
available_instance_count,
instance_platform,
id,
instance_type,
ephemeral_storage,
instance_match_criteria,
unused_reservation_billing_owner_id,
availability_zone_id,
start_date,
capacity_reservation_arn,
create_date,
state,
owner_id,
delivery_preference,
capacity_reservation_fleet_id,
reservation_type,
capacity_allocation_set,
commitment_info
FROM awscc.ec2.capacity_reservations
WHERE
region = 'us-east-1' AND
Identifier = '{{ id }}';
Lists all capacity_reservations in a region.
SELECT
region,
id
FROM awscc.ec2.capacity_reservations_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new capacity_reservation resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.ec2.capacity_reservations (
InstanceCount,
InstancePlatform,
InstanceType,
region
)
SELECT
'{{ instance_count }}',
'{{ instance_platform }}',
'{{ instance_type }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.ec2.capacity_reservations (
Tenancy,
EndDateType,
TagSpecifications,
AvailabilityZone,
EndDate,
EbsOptimized,
OutPostArn,
InstanceCount,
PlacementGroupArn,
InstancePlatform,
InstanceType,
EphemeralStorage,
InstanceMatchCriteria,
UnusedReservationBillingOwnerId,
AvailabilityZoneId,
region
)
SELECT
'{{ tenancy }}',
'{{ end_date_type }}',
'{{ tag_specifications }}',
'{{ availability_zone }}',
'{{ end_date }}',
'{{ ebs_optimized }}',
'{{ out_post_arn }}',
'{{ instance_count }}',
'{{ placement_group_arn }}',
'{{ instance_platform }}',
'{{ instance_type }}',
'{{ ephemeral_storage }}',
'{{ instance_match_criteria }}',
'{{ unused_reservation_billing_owner_id }}',
'{{ availability_zone_id }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: capacity_reservation
props:
- name: tenancy
value: '{{ tenancy }}'
- name: end_date_type
value: '{{ end_date_type }}'
- name: tag_specifications
value:
- resource_type: '{{ resource_type }}'
tags:
- key: '{{ key }}'
value: '{{ value }}'
- name: availability_zone
value: '{{ availability_zone }}'
- name: end_date
value: '{{ end_date }}'
- name: ebs_optimized
value: '{{ ebs_optimized }}'
- name: out_post_arn
value: '{{ out_post_arn }}'
- name: instance_count
value: '{{ instance_count }}'
- name: placement_group_arn
value: '{{ placement_group_arn }}'
- name: instance_platform
value: '{{ instance_platform }}'
- name: instance_type
value: '{{ instance_type }}'
- name: ephemeral_storage
value: '{{ ephemeral_storage }}'
- name: instance_match_criteria
value: '{{ instance_match_criteria }}'
- name: unused_reservation_billing_owner_id
value: '{{ unused_reservation_billing_owner_id }}'
- name: availability_zone_id
value: '{{ availability_zone_id }}'
UPDATE example
Use the following StackQL query and manifest file to update a capacity_reservation resource, using stack-deploy.
/*+ update */
UPDATE awscc.ec2.capacity_reservations
SET PatchDocument = string('{{ {
"EndDateType": end_date_type,
"EndDate": end_date,
"InstanceCount": instance_count,
"InstanceMatchCriteria": instance_match_criteria,
"UnusedReservationBillingOwnerId": unused_reservation_billing_owner_id
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ id }}';
DELETE example
/*+ delete */
DELETE FROM awscc.ec2.capacity_reservations
WHERE
Identifier = '{{ id }}' AND
region = 'us-east-1';
Permissions
To operate on the capacity_reservations resource, the following permissions are required:
- Create
- Delete
- List
- Read
- Update
ec2:CreateCapacityReservation,
ec2:DescribeCapacityReservations,
ec2:CancelCapacityReservation,
ec2:CreateTags
ec2:CreateCapacityReservation,
ec2:DescribeCapacityReservations,
ec2:CancelCapacityReservation,
ec2:DeleteTags
ec2:DescribeCapacityReservations
ec2:DescribeCapacityReservations
ec2:ModifyCapacityReservation,
ec2:CreateCapacityReservation,
ec2:DescribeCapacityReservations,
ec2:CancelCapacityReservation,
ec2:AssociateCapacityReservationBillingOwner,
ec2:CreateTags,
ec2:DeleteTags