WorkspacesInstances / Client / create_workspace_instance

create_workspace_instance

WorkspacesInstances.Client.create_workspace_instance(**kwargs)

Launches a new WorkSpace Instance with specified configuration parameters, enabling programmatic workspace deployment.

See also: AWS API Documentation

Request Syntax

response = client.create_workspace_instance(
    ClientToken='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    ManagedInstance={
        'BlockDeviceMappings': [
            {
                'DeviceName': 'string',
                'Ebs': {
                    'VolumeType': 'standard'|'io1'|'io2'|'gp2'|'sc1'|'st1'|'gp3',
                    'Encrypted': True|False,
                    'KmsKeyId': 'string',
                    'Iops': 123,
                    'Throughput': 123,
                    'VolumeSize': 123
                },
                'NoDevice': 'string',
                'VirtualName': 'string'
            },
        ],
        'CapacityReservationSpecification': {
            'CapacityReservationPreference': 'capacity-reservations-only'|'open'|'none',
            'CapacityReservationTarget': {
                'CapacityReservationId': 'string',
                'CapacityReservationResourceGroupArn': 'string'
            }
        },
        'CpuOptions': {
            'AmdSevSnp': 'enabled'|'disabled',
            'CoreCount': 123,
            'ThreadsPerCore': 123
        },
        'CreditSpecification': {
            'CpuCredits': 'standard'|'unlimited'
        },
        'DisableApiStop': True|False,
        'EbsOptimized': True|False,
        'EnablePrimaryIpv6': True|False,
        'EnclaveOptions': {
            'Enabled': True|False
        },
        'HibernationOptions': {
            'Configured': True|False
        },
        'IamInstanceProfile': {
            'Arn': 'string',
            'Name': 'string'
        },
        'ImageId': 'string',
        'InstanceMarketOptions': {
            'MarketType': 'spot'|'capacity-block',
            'SpotOptions': {
                'BlockDurationMinutes': 123,
                'InstanceInterruptionBehavior': 'hibernate'|'stop',
                'MaxPrice': 'string',
                'SpotInstanceType': 'one-time'|'persistent',
                'ValidUntilUtc': datetime(2015, 1, 1)
            }
        },
        'InstanceType': 'string',
        'Ipv6Addresses': [
            {
                'Ipv6Address': 'string',
                'IsPrimaryIpv6': True|False
            },
        ],
        'Ipv6AddressCount': 123,
        'KernelId': 'string',
        'KeyName': 'string',
        'LicenseSpecifications': [
            {
                'LicenseConfigurationArn': 'string'
            },
        ],
        'MaintenanceOptions': {
            'AutoRecovery': 'disabled'|'default'
        },
        'MetadataOptions': {
            'HttpEndpoint': 'enabled'|'disabled',
            'HttpProtocolIpv6': 'enabled'|'disabled',
            'HttpPutResponseHopLimit': 123,
            'HttpTokens': 'optional'|'required',
            'InstanceMetadataTags': 'enabled'|'disabled'
        },
        'Monitoring': {
            'Enabled': True|False
        },
        'NetworkInterfaces': [
            {
                'AssociateCarrierIpAddress': True|False,
                'AssociatePublicIpAddress': True|False,
                'ConnectionTrackingSpecification': {
                    'TcpEstablishedTimeout': 123,
                    'UdpStreamTimeout': 123,
                    'UdpTimeout': 123
                },
                'Description': 'string',
                'DeviceIndex': 123,
                'EnaSrdSpecification': {
                    'EnaSrdEnabled': True|False,
                    'EnaSrdUdpSpecification': {
                        'EnaSrdUdpEnabled': True|False
                    }
                },
                'InterfaceType': 'interface'|'efa'|'efa-only',
                'Ipv4Prefixes': [
                    {
                        'Ipv4Prefix': 'string'
                    },
                ],
                'Ipv4PrefixCount': 123,
                'Ipv6AddressCount': 123,
                'Ipv6Addresses': [
                    {
                        'Ipv6Address': 'string',
                        'IsPrimaryIpv6': True|False
                    },
                ],
                'Ipv6Prefixes': [
                    {
                        'Ipv6Prefix': 'string'
                    },
                ],
                'Ipv6PrefixCount': 123,
                'NetworkCardIndex': 123,
                'NetworkInterfaceId': 'string',
                'PrimaryIpv6': True|False,
                'PrivateIpAddress': 'string',
                'PrivateIpAddresses': [
                    {
                        'Primary': True|False,
                        'PrivateIpAddress': 'string'
                    },
                ],
                'SecondaryPrivateIpAddressCount': 123,
                'Groups': [
                    'string',
                ],
                'SubnetId': 'string'
            },
        ],
        'NetworkPerformanceOptions': {
            'BandwidthWeighting': 'default'|'vpc-1'|'ebs-1'
        },
        'Placement': {
            'Affinity': 'string',
            'AvailabilityZone': 'string',
            'GroupId': 'string',
            'GroupName': 'string',
            'HostId': 'string',
            'HostResourceGroupArn': 'string',
            'PartitionNumber': 123,
            'Tenancy': 'default'|'dedicated'|'host'
        },
        'PrivateDnsNameOptions': {
            'HostnameType': 'ip-name'|'resource-name',
            'EnableResourceNameDnsARecord': True|False,
            'EnableResourceNameDnsAAAARecord': True|False
        },
        'PrivateIpAddress': 'string',
        'RamdiskId': 'string',
        'SecurityGroupIds': [
            'string',
        ],
        'SecurityGroups': [
            'string',
        ],
        'SubnetId': 'string',
        'TagSpecifications': [
            {
                'ResourceType': 'instance'|'volume'|'spot-instances-request'|'network-interface',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            },
        ],
        'UserData': 'string'
    }
)
Parameters:
  • ClientToken (string) –

    Unique token to ensure idempotent instance creation, preventing duplicate workspace launches.

    This field is autopopulated if not provided.

  • Tags (list) –

    Optional metadata tags for categorizing and managing WorkSpaces Instances.

    • (dict) –

      Represents a key-value metadata tag.

      • Key (string) –

        Unique identifier for the tag.

      • Value (string) –

        Value associated with the tag key.

  • ManagedInstance (dict) –

    [REQUIRED]

    Comprehensive configuration settings for the WorkSpaces Instance, including network, compute, and storage parameters.

    • BlockDeviceMappings (list) –

      Configures block device mappings for storage.

      • (dict) –

        Defines device mapping for WorkSpace Instance storage.

        • DeviceName (string) –

          Name of the device for storage mapping.

        • Ebs (dict) –

          EBS volume configuration for the device.

          • VolumeType (string) –

            Type of EBS volume (e.g., gp2, io1).

          • Encrypted (boolean) –

            Indicates if the volume is encrypted.

          • KmsKeyId (string) –

            KMS key used for volume encryption.

          • Iops (integer) –

            Input/output operations per second for the volume.

          • Throughput (integer) –

            Volume data transfer rate.

          • VolumeSize (integer) –

            Size of the EBS volume in gigabytes.

        • NoDevice (string) –

          Indicates device should not be mapped.

        • VirtualName (string) –

          Virtual device name for ephemeral storage.

    • CapacityReservationSpecification (dict) –

      Specifies capacity reservation preferences.

      • CapacityReservationPreference (string) –

        Preference for using capacity reservation.

      • CapacityReservationTarget (dict) –

        Specific capacity reservation target.

        • CapacityReservationId (string) –

          Unique identifier for the capacity reservation.

        • CapacityReservationResourceGroupArn (string) –

          ARN of the capacity reservation resource group.

    • CpuOptions (dict) –

      Configures CPU-specific settings.

      • AmdSevSnp (string) –

        AMD Secure Encrypted Virtualization configuration.

      • CoreCount (integer) –

        Number of CPU cores to allocate.

      • ThreadsPerCore (integer) –

        Number of threads per CPU core.

    • CreditSpecification (dict) –

      Defines CPU credit configuration for burstable instances.

      • CpuCredits (string) –

        CPU credit specification mode.

    • DisableApiStop (boolean) –

      Prevents API-initiated instance stop.

    • EbsOptimized (boolean) –

      Enables optimized EBS performance.

    • EnablePrimaryIpv6 (boolean) –

      Enables primary IPv6 address configuration.

    • EnclaveOptions (dict) –

      Configures AWS Nitro Enclave settings.

      • Enabled (boolean) –

        Enables or disables AWS Nitro Enclaves for enhanced security.

    • HibernationOptions (dict) –

      Configures instance hibernation capabilities.

      • Configured (boolean) –

        Enables or disables instance hibernation capability.

    • IamInstanceProfile (dict) –

      Specifies IAM instance profile configuration.

      • Arn (string) –

        Amazon Resource Name (ARN) of the IAM instance profile.

      • Name (string) –

        Name of the IAM instance profile.

    • ImageId (string) –

      Identifies the Amazon Machine Image (AMI) for the instance.

    • InstanceMarketOptions (dict) –

      Configures marketplace-specific deployment options.

      • MarketType (string) –

        Specifies the type of marketplace for instance deployment.

      • SpotOptions (dict) –

        Configuration options for spot instance deployment.

        • BlockDurationMinutes (integer) –

          Duration of spot instance block reservation.

        • InstanceInterruptionBehavior (string) –

          Specifies behavior when spot instance is interrupted.

        • MaxPrice (string) –

          Maximum hourly price for spot instance.

        • SpotInstanceType (string) –

          Defines the type of spot instance request.

        • ValidUntilUtc (datetime) –

          Timestamp until which spot instance request is valid.

    • InstanceType (string) –

      Specifies the WorkSpace Instance type.

    • Ipv6Addresses (list) –

      Configures specific IPv6 addresses.

      • (dict) –

        Represents an IPv6 address configuration for a WorkSpace Instance.

        • Ipv6Address (string) –

          Specific IPv6 address assigned to the instance.

        • IsPrimaryIpv6 (boolean) –

          Indicates if this is the primary IPv6 address for the instance.

    • Ipv6AddressCount (integer) –

      Specifies number of IPv6 addresses to assign.

    • KernelId (string) –

      Identifies the kernel for the instance.

    • KeyName (string) –

      Specifies the key pair for instance access.

    • LicenseSpecifications (list) –

      Configures license-related settings.

      • (dict) –

        Specifies license configuration for WorkSpace Instance.

        • LicenseConfigurationArn (string) –

          ARN of the license configuration for the WorkSpace Instance.

    • MaintenanceOptions (dict) –

      Defines automatic maintenance settings.

      • AutoRecovery (string) –

        Enables or disables automatic instance recovery.

    • MetadataOptions (dict) –

      Configures instance metadata service settings.

      • HttpEndpoint (string) –

        Enables or disables HTTP endpoint for instance metadata.

      • HttpProtocolIpv6 (string) –

        Configures IPv6 support for instance metadata HTTP protocol.

      • HttpPutResponseHopLimit (integer) –

        Sets maximum number of network hops for metadata PUT responses.

      • HttpTokens (string) –

        Configures token requirement for instance metadata retrieval.

      • InstanceMetadataTags (string) –

        Enables or disables instance metadata tags retrieval.

    • Monitoring (dict) –

      Enables or disables detailed instance monitoring.

      • Enabled (boolean) –

        Enables or disables detailed instance monitoring.

    • NetworkInterfaces (list) –

      Configures network interface settings.

      • (dict) –

        Defines network interface configuration for WorkSpace Instance.

        • AssociateCarrierIpAddress (boolean) –

          Enables carrier IP address association.

        • AssociatePublicIpAddress (boolean) –

          Enables public IP address assignment.

        • ConnectionTrackingSpecification (dict) –

          Configures network connection tracking parameters.

          • TcpEstablishedTimeout (integer) –

            Timeout for established TCP connections.

          • UdpStreamTimeout (integer) –

            Timeout for UDP stream connections.

          • UdpTimeout (integer) –

            General timeout for UDP connections.

        • Description (string) –

          Descriptive text for the network interface.

        • DeviceIndex (integer) –

          Unique index for the network interface.

        • EnaSrdSpecification (dict) –

          Configures Elastic Network Adapter Scalable Reliable Datagram settings.

          • EnaSrdEnabled (boolean) –

            Enables or disables ENA SRD for network performance.

          • EnaSrdUdpSpecification (dict) –

            Configures UDP-specific ENA SRD settings.

            • EnaSrdUdpEnabled (boolean) –

              Enables or disables ENA SRD for UDP traffic.

        • InterfaceType (string) –

          Specifies the type of network interface.

        • Ipv4Prefixes (list) –

          IPv4 prefix configurations for the interface.

          • (dict) –

            Specifies IPv4 prefix configuration for network interfaces.

            • Ipv4Prefix (string) –

              Specific IPv4 prefix for network interface configuration.

        • Ipv4PrefixCount (integer) –

          Number of IPv4 prefixes to assign.

        • Ipv6AddressCount (integer) –

          Number of IPv6 addresses to assign.

        • Ipv6Addresses (list) –

          Specific IPv6 addresses for the interface.

          • (dict) –

            Represents an IPv6 address configuration for a WorkSpace Instance.

            • Ipv6Address (string) –

              Specific IPv6 address assigned to the instance.

            • IsPrimaryIpv6 (boolean) –

              Indicates if this is the primary IPv6 address for the instance.

        • Ipv6Prefixes (list) –

          IPv6 prefix configurations for the interface.

          • (dict) –

            Specifies IPv6 prefix configuration for network interfaces.

            • Ipv6Prefix (string) –

              Specific IPv6 prefix for network interface configuration.

        • Ipv6PrefixCount (integer) –

          Number of IPv6 prefixes to assign.

        • NetworkCardIndex (integer) –

          Index of the network card for multiple network interfaces.

        • NetworkInterfaceId (string) –

          Unique identifier for the network interface.

        • PrimaryIpv6 (boolean) –

          Indicates the primary IPv6 configuration.

        • PrivateIpAddress (string) –

          Primary private IP address for the interface.

        • PrivateIpAddresses (list) –

          List of private IP addresses for the interface.

          • (dict) –

            Defines private IP address configuration for network interface.

            • Primary (boolean) –

              Indicates if this is the primary private IP address.

            • PrivateIpAddress (string) –

              Specific private IP address for the network interface.

        • SecondaryPrivateIpAddressCount (integer) –

          Number of additional private IP addresses to assign.

        • Groups (list) –

          Security groups associated with the network interface.

          • (string) –

        • SubnetId (string) –

          Subnet identifier for the network interface.

    • NetworkPerformanceOptions (dict) –

      Defines network performance configuration.

      • BandwidthWeighting (string) –

        Defines bandwidth allocation strategy for network interfaces.

    • Placement (dict) –

      Specifies instance placement preferences.

      • Affinity (string) –

        Specifies host affinity for dedicated instances.

      • AvailabilityZone (string) –

        Identifies the specific AWS availability zone.

      • GroupId (string) –

        Unique identifier for placement group.

      • GroupName (string) –

        Name of the placement group.

      • HostId (string) –

        Identifies the specific dedicated host.

      • HostResourceGroupArn (string) –

        ARN of the host resource group.

      • PartitionNumber (integer) –

        Specifies partition number for partition placement groups.

      • Tenancy (string) –

        Defines instance tenancy configuration.

    • PrivateDnsNameOptions (dict) –

      Configures private DNS name settings.

      • HostnameType (string) –

        Specifies the type of hostname configuration.

      • EnableResourceNameDnsARecord (boolean) –

        Enables DNS A record for resource name resolution.

      • EnableResourceNameDnsAAAARecord (boolean) –

        Enables DNS AAAA record for resource name resolution.

    • PrivateIpAddress (string) –

      Specifies the primary private IP address.

    • RamdiskId (string) –

      Identifies the ramdisk for the instance.

    • SecurityGroupIds (list) –

      Specifies security group identifiers.

      • (string) –

    • SecurityGroups (list) –

      Configures security group settings.

      • (string) –

    • SubnetId (string) –

      Identifies the subnet for the instance.

    • TagSpecifications (list) –

      Configures resource tagging specifications.

      • (dict) –

        Defines tagging configuration for a resource.

        • ResourceType (string) –

          Type of resource being tagged.

        • Tags (list) –

          Collection of tags for the specified resource.

          • (dict) –

            Represents a key-value metadata tag.

            • Key (string) –

              Unique identifier for the tag.

            • Value (string) –

              Value associated with the tag key.

    • UserData (string) –

      Provides custom initialization data for the instance.

Return type:

dict

Returns:

Response Syntax

{
    'WorkspaceInstanceId': 'string'
}

Response Structure

  • (dict) –

    Returns the unique identifier for the newly created WorkSpaces Instance.

    • WorkspaceInstanceId (string) –

      Unique identifier assigned to the newly created WorkSpaces Instance.

Exceptions