workspace_instances
Creates, updates, deletes or gets a workspace_instance resource or lists workspace_instances in a region
Overview
| Name | workspace_instances |
| Type | Resource |
| Description | Resource Type definition for AWS::WorkspacesInstances::WorkspaceInstance |
| Id | awscc.workspacesinstances.workspace_instances |
Fields
| Name | Datatype | Description |
|---|---|---|
managed_instance | object | |
tags | array | |
workspace_instance_id | string | Unique identifier for the workspace instance |
provision_state | string | The current state of the workspace instance |
e_c2_managed_instance | object | |
region | string | AWS region. |
For more information, see AWS::WorkspacesInstances::WorkspaceInstance.
Methods
| Name | Accessible by | Required Params |
|---|---|---|
create_resource | INSERT | , region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT examples
Gets all properties from an individual workspace_instance.
SELECT
region,
managed_instance,
tags,
workspace_instance_id,
provision_state,
e_c2_managed_instance
FROM awscc.workspacesinstances.workspace_instances
WHERE region = 'us-east-1' AND data__Identifier = '<WorkspaceInstanceId>';
INSERT example
Use the following StackQL query and manifest file to create a new workspace_instance resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.workspacesinstances.workspace_instances (
,
region
)
SELECT
'{{ }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.workspacesinstances.workspace_instances (
ManagedInstance,
Tags,
region
)
SELECT
'{{ ManagedInstance }}',
'{{ Tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: workspace_instance
props:
- name: ManagedInstance
value:
BlockDeviceMappings:
- DeviceName: '{{ DeviceName }}'
Ebs:
VolumeType: '{{ VolumeType }}'
Encrypted: '{{ Encrypted }}'
KmsKeyId: '{{ KmsKeyId }}'
Iops: '{{ Iops }}'
Throughput: '{{ Throughput }}'
VolumeSize: '{{ VolumeSize }}'
NoDevice: '{{ NoDevice }}'
VirtualName: '{{ VirtualName }}'
CapacityReservationSpecification:
CapacityReservationPreference: '{{ CapacityReservationPreference }}'
CapacityReservationTarget:
CapacityReservationId: '{{ CapacityReservationId }}'
CapacityReservationResourceGroupArn: '{{ CapacityReservationResourceGroupArn }}'
CpuOptions:
CoreCount: '{{ CoreCount }}'
ThreadsPerCore: '{{ ThreadsPerCore }}'
CreditSpecification:
CpuCredits: '{{ CpuCredits }}'
DisableApiStop: '{{ DisableApiStop }}'
EbsOptimized: '{{ EbsOptimized }}'
EnablePrimaryIpv6: '{{ EnablePrimaryIpv6 }}'
EnclaveOptions:
Enabled: '{{ Enabled }}'
HibernationOptions:
Configured: '{{ Configured }}'
IamInstanceProfile:
Arn: '{{ Arn }}'
Name: '{{ Name }}'
ImageId: '{{ ImageId }}'
InstanceMarketOptions:
MarketType: '{{ MarketType }}'
SpotOptions:
InstanceInterruptionBehavior: '{{ InstanceInterruptionBehavior }}'
MaxPrice: '{{ MaxPrice }}'
SpotInstanceType: '{{ SpotInstanceType }}'
ValidUntilUtc: '{{ ValidUntilUtc }}'
InstanceType: '{{ InstanceType }}'
Ipv6AddressCount: '{{ Ipv6AddressCount }}'
KeyName: '{{ KeyName }}'
LicenseSpecifications:
- LicenseConfigurationArn: '{{ LicenseConfigurationArn }}'
MaintenanceOptions:
AutoRecovery: '{{ AutoRecovery }}'
MetadataOptions:
HttpEndpoint: '{{ HttpEndpoint }}'
HttpProtocolIpv6: '{{ HttpProtocolIpv6 }}'
HttpPutResponseHopLimit: '{{ HttpPutResponseHopLimit }}'
HttpTokens: '{{ HttpTokens }}'
InstanceMetadataTags: '{{ InstanceMetadataTags }}'
Monitoring:
Enabled: '{{ Enabled }}'
NetworkInterfaces:
- Description: '{{ Description }}'
DeviceIndex: '{{ DeviceIndex }}'
Groups:
- '{{ Groups[0] }}'
SubnetId: '{{ SubnetId }}'
NetworkPerformanceOptions:
BandwidthWeighting: '{{ BandwidthWeighting }}'
Placement:
AvailabilityZone: '{{ AvailabilityZone }}'
GroupId: '{{ GroupId }}'
GroupName: '{{ GroupName }}'
PartitionNumber: '{{ PartitionNumber }}'
Tenancy: '{{ Tenancy }}'
PrivateDnsNameOptions:
HostnameType: '{{ HostnameType }}'
EnableResourceNameDnsARecord: '{{ EnableResourceNameDnsARecord }}'
EnableResourceNameDnsAAAARecord: '{{ EnableResourceNameDnsAAAARecord }}'
SubnetId: '{{ SubnetId }}'
TagSpecifications:
- ResourceType: '{{ ResourceType }}'
Tags:
- Key: '{{ Key }}'
Value: '{{ Value }}'
UserData: '{{ UserData }}'
- name: Tags
value:
- null
DELETE example
/*+ delete */
DELETE FROM awscc.workspacesinstances.workspace_instances
WHERE data__Identifier = '<WorkspaceInstanceId>'
AND region = 'us-east-1';
Permissions
To operate on the workspace_instances resource, the following permissions are required:
Create
workspaces-instances:CreateWorkspaceInstance,
workspaces-instances:GetWorkspaceInstance,
workspaces-instances:TagResource,
ec2:RunInstances,
ec2:DescribeInstances,
ec2:DescribeInstanceStatus,
ec2:CreateTags,
iam:PassRole
Read
workspaces-instances:GetWorkspaceInstance,
workspaces-instances:ListTagsForResource
Update
workspaces-instances:TagResource,
workspaces-instances:UntagResource,
workspaces-instances:ListTagsForResource,
workspaces-instances:GetWorkspaceInstance
Delete
workspaces-instances:DeleteWorkspaceInstance,
workspaces-instances:GetWorkspaceInstance,
ec2:TerminateInstances,
ec2:DescribeInstances,
ec2:DescribeInstanceStatus
List
workspaces-instances:ListWorkspaceInstances