1. Packages
  2. Packages
  3. AWS
  4. API Docs
  5. workspaces
  6. Pool
Viewing docs for AWS v7.39.0
published on Thursday, Jul 23, 2026 by Pulumi
aws logo
Viewing docs for AWS v7.39.0
published on Thursday, Jul 23, 2026 by Pulumi

    Manages a WorkSpaces Pool in the AWS WorkSpaces service.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = aws.workspaces.getBundle({
        owner: "AMAZON",
        name: "Standard with Windows 10 (Server 2022 based) (WSP)",
    });
    const exampleDirectory = new aws.workspaces.Directory("example", {
        subnetIds: [
            exampleC.id,
            exampleD.id,
        ],
        workspaceType: "POOLS",
        workspaceDirectoryName: "example-directory",
        workspaceDirectoryDescription: "Example WorkSpaces Directory for Pools",
        userIdentityType: "CUSTOMER_MANAGED",
    });
    const examplePool = new aws.workspaces.Pool("example", {
        bundleId: example.then(example => example.id),
        poolName: "example-pool",
        description: "Example WorkSpaces Pool",
        directoryId: exampleDirectory.directoryId,
        runningMode: "AUTO_STOP",
        capacity: {
            desiredUserSessions: 10,
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.workspaces.get_bundle(owner="AMAZON",
        name="Standard with Windows 10 (Server 2022 based) (WSP)")
    example_directory = aws.workspaces.Directory("example",
        subnet_ids=[
            example_c["id"],
            example_d["id"],
        ],
        workspace_type="POOLS",
        workspace_directory_name="example-directory",
        workspace_directory_description="Example WorkSpaces Directory for Pools",
        user_identity_type="CUSTOMER_MANAGED")
    example_pool = aws.workspaces.Pool("example",
        bundle_id=example.id,
        pool_name="example-pool",
        description="Example WorkSpaces Pool",
        directory_id=example_directory.directory_id,
        running_mode="AUTO_STOP",
        capacity={
            "desired_user_sessions": 10,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/workspaces"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		example, err := workspaces.GetBundle(ctx, &workspaces.GetBundleArgs{
    			Owner: pulumi.StringRef("AMAZON"),
    			Name:  pulumi.StringRef("Standard with Windows 10 (Server 2022 based) (WSP)"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		exampleDirectory, err := workspaces.NewDirectory(ctx, "example", &workspaces.DirectoryArgs{
    			SubnetIds: pulumi.StringArray{
    				exampleC.Id,
    				exampleD.Id,
    			},
    			WorkspaceType:                 pulumi.String("POOLS"),
    			WorkspaceDirectoryName:        pulumi.String("example-directory"),
    			WorkspaceDirectoryDescription: pulumi.String("Example WorkSpaces Directory for Pools"),
    			UserIdentityType:              pulumi.String("CUSTOMER_MANAGED"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = workspaces.NewPool(ctx, "example", &workspaces.PoolArgs{
    			BundleId:    pulumi.String(example.Id),
    			PoolName:    pulumi.String("example-pool"),
    			Description: pulumi.String("Example WorkSpaces Pool"),
    			DirectoryId: exampleDirectory.DirectoryId,
    			RunningMode: pulumi.String("AUTO_STOP"),
    			Capacity: &workspaces.PoolCapacityArgs{
    				DesiredUserSessions: pulumi.Int(10),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = Aws.Workspaces.GetBundle.Invoke(new()
        {
            Owner = "AMAZON",
            Name = "Standard with Windows 10 (Server 2022 based) (WSP)",
        });
    
        var exampleDirectory = new Aws.Workspaces.Directory("example", new()
        {
            SubnetIds = new[]
            {
                exampleC.Id,
                exampleD.Id,
            },
            WorkspaceType = "POOLS",
            WorkspaceDirectoryName = "example-directory",
            WorkspaceDirectoryDescription = "Example WorkSpaces Directory for Pools",
            UserIdentityType = "CUSTOMER_MANAGED",
        });
    
        var examplePool = new Aws.Workspaces.Pool("example", new()
        {
            BundleId = example.Apply(getBundleResult => getBundleResult.Id),
            PoolName = "example-pool",
            Description = "Example WorkSpaces Pool",
            DirectoryId = exampleDirectory.DirectoryId,
            RunningMode = "AUTO_STOP",
            Capacity = new Aws.Workspaces.Inputs.PoolCapacityArgs
            {
                DesiredUserSessions = 10,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.workspaces.WorkspacesFunctions;
    import com.pulumi.aws.workspaces.inputs.GetBundleArgs;
    import com.pulumi.aws.workspaces.Directory;
    import com.pulumi.aws.workspaces.DirectoryArgs;
    import com.pulumi.aws.workspaces.Pool;
    import com.pulumi.aws.workspaces.PoolArgs;
    import com.pulumi.aws.workspaces.inputs.PoolCapacityArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            final var example = WorkspacesFunctions.getBundle(GetBundleArgs.builder()
                .owner("AMAZON")
                .name("Standard with Windows 10 (Server 2022 based) (WSP)")
                .build());
    
            var exampleDirectory = new Directory("exampleDirectory", DirectoryArgs.builder()
                .subnetIds(            
                    exampleC.id(),
                    exampleD.id())
                .workspaceType("POOLS")
                .workspaceDirectoryName("example-directory")
                .workspaceDirectoryDescription("Example WorkSpaces Directory for Pools")
                .userIdentityType("CUSTOMER_MANAGED")
                .build());
    
            var examplePool = new Pool("examplePool", PoolArgs.builder()
                .bundleId(example.id())
                .poolName("example-pool")
                .description("Example WorkSpaces Pool")
                .directoryId(exampleDirectory.directoryId())
                .runningMode("AUTO_STOP")
                .capacity(PoolCapacityArgs.builder()
                    .desiredUserSessions(10)
                    .build())
                .build());
    
        }
    }
    
    resources:
      exampleDirectory:
        type: aws:workspaces:Directory
        name: example
        properties:
          subnetIds:
            - ${exampleC.id}
            - ${exampleD.id}
          workspaceType: POOLS
          workspaceDirectoryName: example-directory
          workspaceDirectoryDescription: Example WorkSpaces Directory for Pools
          userIdentityType: CUSTOMER_MANAGED
      examplePool:
        type: aws:workspaces:Pool
        name: example
        properties:
          bundleId: ${example.id}
          poolName: example-pool
          description: Example WorkSpaces Pool
          directoryId: ${exampleDirectory.directoryId}
          runningMode: AUTO_STOP
          capacity:
            desiredUserSessions: 10
    variables:
      example:
        fn::invoke:
          function: aws:workspaces:getBundle
          arguments:
            owner: AMAZON
            name: Standard with Windows 10 (Server 2022 based) (WSP)
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    data "aws_workspaces_getbundle" "example" {
      owner = "AMAZON"
      name  = "Standard with Windows 10 (Server 2022 based) (WSP)"
    }
    
    resource "aws_workspaces_directory" "example" {
      subnet_ids                      = [exampleC.id, exampleD.id]
      workspace_type                  = "POOLS"
      workspace_directory_name        = "example-directory"
      workspace_directory_description = "Example WorkSpaces Directory for Pools"
      user_identity_type              = "CUSTOMER_MANAGED"
    }
    resource "aws_workspaces_pool" "example" {
      bundle_id    = data.aws_workspaces_getbundle.example.id
      pool_name    = "example-pool"
      description  = "Example WorkSpaces Pool"
      directory_id = aws_workspaces_directory.example.directory_id
      running_mode = "AUTO_STOP"
      capacity = {
        desired_user_sessions = 10
      }
    }
    

    With Application Settings

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.workspaces.Pool("example", {
        bundleId: exampleAwsWorkspacesBundle.id,
        poolName: "example-pool",
        description: "Example WorkSpaces Pool with Application Settings",
        directoryId: exampleAwsWorkspacesDirectory.directoryId,
        runningMode: "AUTO_STOP",
        capacity: {
            desiredUserSessions: 10,
        },
        applicationSettings: [{
            status: "ENABLED",
            settingsGroup: "my-settings-group",
        }],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.workspaces.Pool("example",
        bundle_id=example_aws_workspaces_bundle["id"],
        pool_name="example-pool",
        description="Example WorkSpaces Pool with Application Settings",
        directory_id=example_aws_workspaces_directory["directoryId"],
        running_mode="AUTO_STOP",
        capacity={
            "desired_user_sessions": 10,
        },
        application_settings=[{
            "status": "ENABLED",
            "settings_group": "my-settings-group",
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/workspaces"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := workspaces.NewPool(ctx, "example", &workspaces.PoolArgs{
    			BundleId:    pulumi.Any(exampleAwsWorkspacesBundle.Id),
    			PoolName:    pulumi.String("example-pool"),
    			Description: pulumi.String("Example WorkSpaces Pool with Application Settings"),
    			DirectoryId: pulumi.Any(exampleAwsWorkspacesDirectory.DirectoryId),
    			RunningMode: pulumi.String("AUTO_STOP"),
    			Capacity: &workspaces.PoolCapacityArgs{
    				DesiredUserSessions: pulumi.Int(10),
    			},
    			ApplicationSettings: workspaces.PoolApplicationSettingArray{
    				&workspaces.PoolApplicationSettingArgs{
    					Status:        pulumi.String("ENABLED"),
    					SettingsGroup: pulumi.String("my-settings-group"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Workspaces.Pool("example", new()
        {
            BundleId = exampleAwsWorkspacesBundle.Id,
            PoolName = "example-pool",
            Description = "Example WorkSpaces Pool with Application Settings",
            DirectoryId = exampleAwsWorkspacesDirectory.DirectoryId,
            RunningMode = "AUTO_STOP",
            Capacity = new Aws.Workspaces.Inputs.PoolCapacityArgs
            {
                DesiredUserSessions = 10,
            },
            ApplicationSettings = new[]
            {
                new Aws.Workspaces.Inputs.PoolApplicationSettingArgs
                {
                    Status = "ENABLED",
                    SettingsGroup = "my-settings-group",
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.workspaces.Pool;
    import com.pulumi.aws.workspaces.PoolArgs;
    import com.pulumi.aws.workspaces.inputs.PoolCapacityArgs;
    import com.pulumi.aws.workspaces.inputs.PoolApplicationSettingArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Pool("example", PoolArgs.builder()
                .bundleId(exampleAwsWorkspacesBundle.id())
                .poolName("example-pool")
                .description("Example WorkSpaces Pool with Application Settings")
                .directoryId(exampleAwsWorkspacesDirectory.directoryId())
                .runningMode("AUTO_STOP")
                .capacity(PoolCapacityArgs.builder()
                    .desiredUserSessions(10)
                    .build())
                .applicationSettings(PoolApplicationSettingArgs.builder()
                    .status("ENABLED")
                    .settingsGroup("my-settings-group")
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:workspaces:Pool
        properties:
          bundleId: ${exampleAwsWorkspacesBundle.id}
          poolName: example-pool
          description: Example WorkSpaces Pool with Application Settings
          directoryId: ${exampleAwsWorkspacesDirectory.directoryId}
          runningMode: AUTO_STOP
          capacity:
            desiredUserSessions: 10
          applicationSettings:
            - status: ENABLED
              settingsGroup: my-settings-group
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_workspaces_pool" "example" {
      bundle_id    = exampleAwsWorkspacesBundle.id
      pool_name    = "example-pool"
      description  = "Example WorkSpaces Pool with Application Settings"
      directory_id = exampleAwsWorkspacesDirectory.directoryId
      running_mode = "AUTO_STOP"
      capacity = {
        desired_user_sessions = 10
      }
      application_settings {
        status         = "ENABLED"
        settings_group = "my-settings-group"
      }
    }
    

    With Timeout Settings

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const example = new aws.workspaces.Pool("example", {
        bundleId: exampleAwsWorkspacesBundle.id,
        poolName: "example-pool",
        description: "Example WorkSpaces Pool with Timeout Settings",
        directoryId: exampleAwsWorkspacesDirectory.directoryId,
        runningMode: "AUTO_STOP",
        capacity: {
            desiredUserSessions: 10,
        },
        timeoutSettings: [{
            disconnectTimeoutInSeconds: 900,
            idleDisconnectTimeoutInSeconds: 900,
            maxUserDurationInSeconds: 14400,
        }],
    });
    
    import pulumi
    import pulumi_aws as aws
    
    example = aws.workspaces.Pool("example",
        bundle_id=example_aws_workspaces_bundle["id"],
        pool_name="example-pool",
        description="Example WorkSpaces Pool with Timeout Settings",
        directory_id=example_aws_workspaces_directory["directoryId"],
        running_mode="AUTO_STOP",
        capacity={
            "desired_user_sessions": 10,
        },
        timeout_settings=[{
            "disconnect_timeout_in_seconds": 900,
            "idle_disconnect_timeout_in_seconds": 900,
            "max_user_duration_in_seconds": 14400,
        }])
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/workspaces"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := workspaces.NewPool(ctx, "example", &workspaces.PoolArgs{
    			BundleId:    pulumi.Any(exampleAwsWorkspacesBundle.Id),
    			PoolName:    pulumi.String("example-pool"),
    			Description: pulumi.String("Example WorkSpaces Pool with Timeout Settings"),
    			DirectoryId: pulumi.Any(exampleAwsWorkspacesDirectory.DirectoryId),
    			RunningMode: pulumi.String("AUTO_STOP"),
    			Capacity: &workspaces.PoolCapacityArgs{
    				DesiredUserSessions: pulumi.Int(10),
    			},
    			TimeoutSettings: workspaces.PoolTimeoutSettingArray{
    				&workspaces.PoolTimeoutSettingArgs{
    					DisconnectTimeoutInSeconds:     pulumi.Int(900),
    					IdleDisconnectTimeoutInSeconds: pulumi.Int(900),
    					MaxUserDurationInSeconds:       pulumi.Int(14400),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var example = new Aws.Workspaces.Pool("example", new()
        {
            BundleId = exampleAwsWorkspacesBundle.Id,
            PoolName = "example-pool",
            Description = "Example WorkSpaces Pool with Timeout Settings",
            DirectoryId = exampleAwsWorkspacesDirectory.DirectoryId,
            RunningMode = "AUTO_STOP",
            Capacity = new Aws.Workspaces.Inputs.PoolCapacityArgs
            {
                DesiredUserSessions = 10,
            },
            TimeoutSettings = new[]
            {
                new Aws.Workspaces.Inputs.PoolTimeoutSettingArgs
                {
                    DisconnectTimeoutInSeconds = 900,
                    IdleDisconnectTimeoutInSeconds = 900,
                    MaxUserDurationInSeconds = 14400,
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.workspaces.Pool;
    import com.pulumi.aws.workspaces.PoolArgs;
    import com.pulumi.aws.workspaces.inputs.PoolCapacityArgs;
    import com.pulumi.aws.workspaces.inputs.PoolTimeoutSettingArgs;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var example = new Pool("example", PoolArgs.builder()
                .bundleId(exampleAwsWorkspacesBundle.id())
                .poolName("example-pool")
                .description("Example WorkSpaces Pool with Timeout Settings")
                .directoryId(exampleAwsWorkspacesDirectory.directoryId())
                .runningMode("AUTO_STOP")
                .capacity(PoolCapacityArgs.builder()
                    .desiredUserSessions(10)
                    .build())
                .timeoutSettings(PoolTimeoutSettingArgs.builder()
                    .disconnectTimeoutInSeconds(900)
                    .idleDisconnectTimeoutInSeconds(900)
                    .maxUserDurationInSeconds(14400)
                    .build())
                .build());
    
        }
    }
    
    resources:
      example:
        type: aws:workspaces:Pool
        properties:
          bundleId: ${exampleAwsWorkspacesBundle.id}
          poolName: example-pool
          description: Example WorkSpaces Pool with Timeout Settings
          directoryId: ${exampleAwsWorkspacesDirectory.directoryId}
          runningMode: AUTO_STOP
          capacity:
            desiredUserSessions: 10
          timeoutSettings:
            - disconnectTimeoutInSeconds: 900
              idleDisconnectTimeoutInSeconds: 900
              maxUserDurationInSeconds: 14400
    
    pulumi {
      required_providers {
        aws = {
          source = "pulumi/aws"
        }
      }
    }
    
    resource "aws_workspaces_pool" "example" {
      bundle_id    = exampleAwsWorkspacesBundle.id
      pool_name    = "example-pool"
      description  = "Example WorkSpaces Pool with Timeout Settings"
      directory_id = exampleAwsWorkspacesDirectory.directoryId
      running_mode = "AUTO_STOP"
      capacity = {
        desired_user_sessions = 10
      }
      timeout_settings {
        disconnect_timeout_in_seconds      = 900
        idle_disconnect_timeout_in_seconds = 900
        max_user_duration_in_seconds       = 14400
      }
    }
    

    Create Pool Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Pool(name: string, args: PoolArgs, opts?: CustomResourceOptions);
    @overload
    def Pool(resource_name: str,
             args: PoolArgs,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Pool(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             bundle_id: Optional[str] = None,
             description: Optional[str] = None,
             directory_id: Optional[str] = None,
             pool_name: Optional[str] = None,
             running_mode: Optional[str] = None,
             application_settings: Optional[Sequence[PoolApplicationSettingArgs]] = None,
             capacity: Optional[PoolCapacityArgs] = None,
             region: Optional[str] = None,
             tags: Optional[Mapping[str, str]] = None,
             timeout_settings: Optional[Sequence[PoolTimeoutSettingArgs]] = None,
             timeouts: Optional[PoolTimeoutsArgs] = None)
    func NewPool(ctx *Context, name string, args PoolArgs, opts ...ResourceOption) (*Pool, error)
    public Pool(string name, PoolArgs args, CustomResourceOptions? opts = null)
    public Pool(String name, PoolArgs args)
    public Pool(String name, PoolArgs args, CustomResourceOptions options)
    
    type: aws:workspaces:Pool
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "aws_workspaces_pool" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args PoolArgs
    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 PoolArgs
    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 PoolArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PoolArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var poolResource = new Aws.Workspaces.Pool("poolResource", new()
    {
        BundleId = "string",
        Description = "string",
        DirectoryId = "string",
        PoolName = "string",
        RunningMode = "string",
        ApplicationSettings = new[]
        {
            new Aws.Workspaces.Inputs.PoolApplicationSettingArgs
            {
                SettingsGroup = "string",
                Status = "string",
            },
        },
        Capacity = new Aws.Workspaces.Inputs.PoolCapacityArgs
        {
            DesiredUserSessions = 0,
        },
        Region = "string",
        Tags = 
        {
            { "string", "string" },
        },
        TimeoutSettings = new[]
        {
            new Aws.Workspaces.Inputs.PoolTimeoutSettingArgs
            {
                DisconnectTimeoutInSeconds = 0,
                IdleDisconnectTimeoutInSeconds = 0,
                MaxUserDurationInSeconds = 0,
            },
        },
        Timeouts = new Aws.Workspaces.Inputs.PoolTimeoutsArgs
        {
            Create = "string",
            Delete = "string",
            Update = "string",
        },
    });
    
    example, err := workspaces.NewPool(ctx, "poolResource", &workspaces.PoolArgs{
    	BundleId:    pulumi.String("string"),
    	Description: pulumi.String("string"),
    	DirectoryId: pulumi.String("string"),
    	PoolName:    pulumi.String("string"),
    	RunningMode: pulumi.String("string"),
    	ApplicationSettings: workspaces.PoolApplicationSettingArray{
    		&workspaces.PoolApplicationSettingArgs{
    			SettingsGroup: pulumi.String("string"),
    			Status:        pulumi.String("string"),
    		},
    	},
    	Capacity: &workspaces.PoolCapacityArgs{
    		DesiredUserSessions: pulumi.Int(0),
    	},
    	Region: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	TimeoutSettings: workspaces.PoolTimeoutSettingArray{
    		&workspaces.PoolTimeoutSettingArgs{
    			DisconnectTimeoutInSeconds:     pulumi.Int(0),
    			IdleDisconnectTimeoutInSeconds: pulumi.Int(0),
    			MaxUserDurationInSeconds:       pulumi.Int(0),
    		},
    	},
    	Timeouts: &workspaces.PoolTimeoutsArgs{
    		Create: pulumi.String("string"),
    		Delete: pulumi.String("string"),
    		Update: pulumi.String("string"),
    	},
    })
    
    resource "aws_workspaces_pool" "poolResource" {
      lifecycle {
        create_before_destroy = true
      }
      bundle_id    = "string"
      description  = "string"
      directory_id = "string"
      pool_name    = "string"
      running_mode = "string"
      application_settings {
        settings_group = "string"
        status         = "string"
      }
      capacity = {
        desired_user_sessions = 0
      }
      region = "string"
      tags = {
        "string" = "string"
      }
      timeout_settings {
        disconnect_timeout_in_seconds      = 0
        idle_disconnect_timeout_in_seconds = 0
        max_user_duration_in_seconds       = 0
      }
      timeouts = {
        create = "string"
        delete = "string"
        update = "string"
      }
    }
    
    var poolResource = new Pool("poolResource", PoolArgs.builder()
        .bundleId("string")
        .description("string")
        .directoryId("string")
        .poolName("string")
        .runningMode("string")
        .applicationSettings(PoolApplicationSettingArgs.builder()
            .settingsGroup("string")
            .status("string")
            .build())
        .capacity(PoolCapacityArgs.builder()
            .desiredUserSessions(0)
            .build())
        .region("string")
        .tags(Map.of("string", "string"))
        .timeoutSettings(PoolTimeoutSettingArgs.builder()
            .disconnectTimeoutInSeconds(0)
            .idleDisconnectTimeoutInSeconds(0)
            .maxUserDurationInSeconds(0)
            .build())
        .timeouts(PoolTimeoutsArgs.builder()
            .create("string")
            .delete("string")
            .update("string")
            .build())
        .build());
    
    pool_resource = aws.workspaces.Pool("poolResource",
        bundle_id="string",
        description="string",
        directory_id="string",
        pool_name="string",
        running_mode="string",
        application_settings=[{
            "settings_group": "string",
            "status": "string",
        }],
        capacity={
            "desired_user_sessions": 0,
        },
        region="string",
        tags={
            "string": "string",
        },
        timeout_settings=[{
            "disconnect_timeout_in_seconds": 0,
            "idle_disconnect_timeout_in_seconds": 0,
            "max_user_duration_in_seconds": 0,
        }],
        timeouts={
            "create": "string",
            "delete": "string",
            "update": "string",
        })
    
    const poolResource = new aws.workspaces.Pool("poolResource", {
        bundleId: "string",
        description: "string",
        directoryId: "string",
        poolName: "string",
        runningMode: "string",
        applicationSettings: [{
            settingsGroup: "string",
            status: "string",
        }],
        capacity: {
            desiredUserSessions: 0,
        },
        region: "string",
        tags: {
            string: "string",
        },
        timeoutSettings: [{
            disconnectTimeoutInSeconds: 0,
            idleDisconnectTimeoutInSeconds: 0,
            maxUserDurationInSeconds: 0,
        }],
        timeouts: {
            create: "string",
            "delete": "string",
            update: "string",
        },
    });
    
    type: aws:workspaces:Pool
    properties:
        applicationSettings:
            - settingsGroup: string
              status: string
        bundleId: string
        capacity:
            desiredUserSessions: 0
        description: string
        directoryId: string
        poolName: string
        region: string
        runningMode: string
        tags:
            string: string
        timeoutSettings:
            - disconnectTimeoutInSeconds: 0
              idleDisconnectTimeoutInSeconds: 0
              maxUserDurationInSeconds: 0
        timeouts:
            create: string
            delete: string
            update: string
    

    Pool Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Pool resource accepts the following input properties:

    BundleId string
    ID of the bundle for the WorkSpaces Pool.
    Description string
    Description of the WorkSpaces Pool.
    DirectoryId string
    ID of the directory for the WorkSpaces Pool.
    PoolName string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    RunningMode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    ApplicationSettings List<PoolApplicationSetting>
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    Capacity PoolCapacity
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags Dictionary<string, string>
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TimeoutSettings List<PoolTimeoutSetting>
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    Timeouts PoolTimeouts
    BundleId string
    ID of the bundle for the WorkSpaces Pool.
    Description string
    Description of the WorkSpaces Pool.
    DirectoryId string
    ID of the directory for the WorkSpaces Pool.
    PoolName string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    RunningMode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    ApplicationSettings []PoolApplicationSettingArgs
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    Capacity PoolCapacityArgs
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    Tags map[string]string
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TimeoutSettings []PoolTimeoutSettingArgs
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    Timeouts PoolTimeoutsArgs
    bundle_id string
    ID of the bundle for the WorkSpaces Pool.
    description string
    Description of the WorkSpaces Pool.
    directory_id string
    ID of the directory for the WorkSpaces Pool.
    pool_name string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    running_mode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    application_settings list(object)
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    capacity object
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags map(string)
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeout_settings list(object)
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts object
    bundleId String
    ID of the bundle for the WorkSpaces Pool.
    description String
    Description of the WorkSpaces Pool.
    directoryId String
    ID of the directory for the WorkSpaces Pool.
    poolName String
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    runningMode String

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    applicationSettings List<PoolApplicationSetting>
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    capacity PoolCapacity
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String,String>
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeoutSettings List<PoolTimeoutSetting>
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts PoolTimeouts
    bundleId string
    ID of the bundle for the WorkSpaces Pool.
    description string
    Description of the WorkSpaces Pool.
    directoryId string
    ID of the directory for the WorkSpaces Pool.
    poolName string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    runningMode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    applicationSettings PoolApplicationSetting[]
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    capacity PoolCapacity
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags {[key: string]: string}
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeoutSettings PoolTimeoutSetting[]
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts PoolTimeouts
    bundle_id str
    ID of the bundle for the WorkSpaces Pool.
    description str
    Description of the WorkSpaces Pool.
    directory_id str
    ID of the directory for the WorkSpaces Pool.
    pool_name str
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    running_mode str

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    application_settings Sequence[PoolApplicationSettingArgs]
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    capacity PoolCapacityArgs
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Mapping[str, str]
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeout_settings Sequence[PoolTimeoutSettingArgs]
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts PoolTimeoutsArgs
    bundleId String
    ID of the bundle for the WorkSpaces Pool.
    description String
    Description of the WorkSpaces Pool.
    directoryId String
    ID of the directory for the WorkSpaces Pool.
    poolName String
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    runningMode String

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    applicationSettings List<Property Map>
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    capacity Property Map
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    tags Map<String>
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    timeoutSettings List<Property Map>
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts Property Map

    Outputs

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

    CapacityStatuses List<PoolCapacityStatus>
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    CreatedAt string
    Date and time the WorkSpaces Pool was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    PoolArn string
    ARN of the WorkSpaces Pool.
    PoolId string
    ID of the WorkSpaces Pool.
    S3BucketName string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    State string
    Current state of the WorkSpaces Pool.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    CapacityStatuses []PoolCapacityStatus
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    CreatedAt string
    Date and time the WorkSpaces Pool was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    PoolArn string
    ARN of the WorkSpaces Pool.
    PoolId string
    ID of the WorkSpaces Pool.
    S3BucketName string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    State string
    Current state of the WorkSpaces Pool.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    capacity_statuses list(object)
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    created_at string
    Date and time the WorkSpaces Pool was created.
    id string
    The provider-assigned unique ID for this managed resource.
    pool_arn string
    ARN of the WorkSpaces Pool.
    pool_id string
    ID of the WorkSpaces Pool.
    s3_bucket_name string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state string
    Current state of the WorkSpaces Pool.
    tags_all map(string)
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    capacityStatuses List<PoolCapacityStatus>
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    createdAt String
    Date and time the WorkSpaces Pool was created.
    id String
    The provider-assigned unique ID for this managed resource.
    poolArn String
    ARN of the WorkSpaces Pool.
    poolId String
    ID of the WorkSpaces Pool.
    s3BucketName String
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state String
    Current state of the WorkSpaces Pool.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    capacityStatuses PoolCapacityStatus[]
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    createdAt string
    Date and time the WorkSpaces Pool was created.
    id string
    The provider-assigned unique ID for this managed resource.
    poolArn string
    ARN of the WorkSpaces Pool.
    poolId string
    ID of the WorkSpaces Pool.
    s3BucketName string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state string
    Current state of the WorkSpaces Pool.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    capacity_statuses Sequence[PoolCapacityStatus]
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    created_at str
    Date and time the WorkSpaces Pool was created.
    id str
    The provider-assigned unique ID for this managed resource.
    pool_arn str
    ARN of the WorkSpaces Pool.
    pool_id str
    ID of the WorkSpaces Pool.
    s3_bucket_name str
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state str
    Current state of the WorkSpaces Pool.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    capacityStatuses List<Property Map>
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    createdAt String
    Date and time the WorkSpaces Pool was created.
    id String
    The provider-assigned unique ID for this managed resource.
    poolArn String
    ARN of the WorkSpaces Pool.
    poolId String
    ID of the WorkSpaces Pool.
    s3BucketName String
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state String
    Current state of the WorkSpaces Pool.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.

    Look up Existing Pool Resource

    Get an existing Pool 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?: PoolState, opts?: CustomResourceOptions): Pool
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            application_settings: Optional[Sequence[PoolApplicationSettingArgs]] = None,
            bundle_id: Optional[str] = None,
            capacity: Optional[PoolCapacityArgs] = None,
            capacity_statuses: Optional[Sequence[PoolCapacityStatusArgs]] = None,
            created_at: Optional[str] = None,
            description: Optional[str] = None,
            directory_id: Optional[str] = None,
            pool_arn: Optional[str] = None,
            pool_id: Optional[str] = None,
            pool_name: Optional[str] = None,
            region: Optional[str] = None,
            running_mode: Optional[str] = None,
            s3_bucket_name: Optional[str] = None,
            state: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            timeout_settings: Optional[Sequence[PoolTimeoutSettingArgs]] = None,
            timeouts: Optional[PoolTimeoutsArgs] = None) -> Pool
    func GetPool(ctx *Context, name string, id IDInput, state *PoolState, opts ...ResourceOption) (*Pool, error)
    public static Pool Get(string name, Input<string> id, PoolState? state, CustomResourceOptions? opts = null)
    public static Pool get(String name, Output<String> id, PoolState state, CustomResourceOptions options)
    resources:  _:    type: aws:workspaces:Pool    get:      id: ${id}
    import {
      to = aws_workspaces_pool.example
      id = "${id}"
    }
    
    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.
    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:
    ApplicationSettings List<PoolApplicationSetting>
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    BundleId string
    ID of the bundle for the WorkSpaces Pool.
    Capacity PoolCapacity
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    CapacityStatuses List<PoolCapacityStatus>
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    CreatedAt string
    Date and time the WorkSpaces Pool was created.
    Description string
    Description of the WorkSpaces Pool.
    DirectoryId string
    ID of the directory for the WorkSpaces Pool.
    PoolArn string
    ARN of the WorkSpaces Pool.
    PoolId string
    ID of the WorkSpaces Pool.
    PoolName string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    RunningMode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    S3BucketName string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    State string
    Current state of the WorkSpaces Pool.
    Tags Dictionary<string, string>
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    TimeoutSettings List<PoolTimeoutSetting>
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    Timeouts PoolTimeouts
    ApplicationSettings []PoolApplicationSettingArgs
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    BundleId string
    ID of the bundle for the WorkSpaces Pool.
    Capacity PoolCapacityArgs
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    CapacityStatuses []PoolCapacityStatusArgs
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    CreatedAt string
    Date and time the WorkSpaces Pool was created.
    Description string
    Description of the WorkSpaces Pool.
    DirectoryId string
    ID of the directory for the WorkSpaces Pool.
    PoolArn string
    ARN of the WorkSpaces Pool.
    PoolId string
    ID of the WorkSpaces Pool.
    PoolName string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    Region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    RunningMode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    S3BucketName string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    State string
    Current state of the WorkSpaces Pool.
    Tags map[string]string
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    TimeoutSettings []PoolTimeoutSettingArgs
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    Timeouts PoolTimeoutsArgs
    application_settings list(object)
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    bundle_id string
    ID of the bundle for the WorkSpaces Pool.
    capacity object
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    capacity_statuses list(object)
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    created_at string
    Date and time the WorkSpaces Pool was created.
    description string
    Description of the WorkSpaces Pool.
    directory_id string
    ID of the directory for the WorkSpaces Pool.
    pool_arn string
    ARN of the WorkSpaces Pool.
    pool_id string
    ID of the WorkSpaces Pool.
    pool_name string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    running_mode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    s3_bucket_name string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state string
    Current state of the WorkSpaces Pool.
    tags map(string)
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all map(string)
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeout_settings list(object)
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts object
    applicationSettings List<PoolApplicationSetting>
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    bundleId String
    ID of the bundle for the WorkSpaces Pool.
    capacity PoolCapacity
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    capacityStatuses List<PoolCapacityStatus>
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    createdAt String
    Date and time the WorkSpaces Pool was created.
    description String
    Description of the WorkSpaces Pool.
    directoryId String
    ID of the directory for the WorkSpaces Pool.
    poolArn String
    ARN of the WorkSpaces Pool.
    poolId String
    ID of the WorkSpaces Pool.
    poolName String
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    runningMode String

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    s3BucketName String
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state String
    Current state of the WorkSpaces Pool.
    tags Map<String,String>
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeoutSettings List<PoolTimeoutSetting>
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts PoolTimeouts
    applicationSettings PoolApplicationSetting[]
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    bundleId string
    ID of the bundle for the WorkSpaces Pool.
    capacity PoolCapacity
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    capacityStatuses PoolCapacityStatus[]
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    createdAt string
    Date and time the WorkSpaces Pool was created.
    description string
    Description of the WorkSpaces Pool.
    directoryId string
    ID of the directory for the WorkSpaces Pool.
    poolArn string
    ARN of the WorkSpaces Pool.
    poolId string
    ID of the WorkSpaces Pool.
    poolName string
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    region string
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    runningMode string

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    s3BucketName string
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state string
    Current state of the WorkSpaces Pool.
    tags {[key: string]: string}
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeoutSettings PoolTimeoutSetting[]
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts PoolTimeouts
    application_settings Sequence[PoolApplicationSettingArgs]
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    bundle_id str
    ID of the bundle for the WorkSpaces Pool.
    capacity PoolCapacityArgs
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    capacity_statuses Sequence[PoolCapacityStatusArgs]
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    created_at str
    Date and time the WorkSpaces Pool was created.
    description str
    Description of the WorkSpaces Pool.
    directory_id str
    ID of the directory for the WorkSpaces Pool.
    pool_arn str
    ARN of the WorkSpaces Pool.
    pool_id str
    ID of the WorkSpaces Pool.
    pool_name str
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    region str
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    running_mode str

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    s3_bucket_name str
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state str
    Current state of the WorkSpaces Pool.
    tags Mapping[str, str]
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeout_settings Sequence[PoolTimeoutSettingArgs]
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts PoolTimeoutsArgs
    applicationSettings List<Property Map>
    Application settings configuration for the WorkSpaces Pool. See applicationSettings below.
    bundleId String
    ID of the bundle for the WorkSpaces Pool.
    capacity Property Map
    Capacity configuration for the WorkSpaces Pool. See capacity below.
    capacityStatuses List<Property Map>
    Capacity status of the WorkSpaces Pool. See capacityStatus below.
    createdAt String
    Date and time the WorkSpaces Pool was created.
    description String
    Description of the WorkSpaces Pool.
    directoryId String
    ID of the directory for the WorkSpaces Pool.
    poolArn String
    ARN of the WorkSpaces Pool.
    poolId String
    ID of the WorkSpaces Pool.
    poolName String
    Name of the WorkSpaces Pool. This cannot be changed after creation.
    region String
    Region where this resource will be managed. Defaults to the Region set in the provider configuration.
    runningMode String

    Running mode of the WorkSpaces Pool. Valid values are AUTO_STOP and ALWAYS_ON.

    The following arguments are optional:

    s3BucketName String
    S3 bucket where application settings are stored when applicationSettings is enabled.
    state String
    Current state of the WorkSpaces Pool.
    tags Map<String>
    Map of tags assigned to the resource. If configured with a provider defaultTags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    Map of tags assigned to the resource, including those inherited from the provider defaultTags configuration block.
    timeoutSettings List<Property Map>
    Timeout settings configuration for the WorkSpaces Pool. See timeoutSettings below.
    timeouts Property Map

    Supporting Types

    PoolApplicationSetting, PoolApplicationSettingArgs

    SettingsGroup string
    Name of the settings group for the application settings.
    Status string
    Status of the application settings. Valid values are ENABLED and DISABLED.
    SettingsGroup string
    Name of the settings group for the application settings.
    Status string
    Status of the application settings. Valid values are ENABLED and DISABLED.
    settings_group string
    Name of the settings group for the application settings.
    status string
    Status of the application settings. Valid values are ENABLED and DISABLED.
    settingsGroup String
    Name of the settings group for the application settings.
    status String
    Status of the application settings. Valid values are ENABLED and DISABLED.
    settingsGroup string
    Name of the settings group for the application settings.
    status string
    Status of the application settings. Valid values are ENABLED and DISABLED.
    settings_group str
    Name of the settings group for the application settings.
    status str
    Status of the application settings. Valid values are ENABLED and DISABLED.
    settingsGroup String
    Name of the settings group for the application settings.
    status String
    Status of the application settings. Valid values are ENABLED and DISABLED.

    PoolCapacity, PoolCapacityArgs

    DesiredUserSessions int
    Desired number of user sessions for the WorkSpaces Pool.
    DesiredUserSessions int
    Desired number of user sessions for the WorkSpaces Pool.
    desired_user_sessions number
    Desired number of user sessions for the WorkSpaces Pool.
    desiredUserSessions Integer
    Desired number of user sessions for the WorkSpaces Pool.
    desiredUserSessions number
    Desired number of user sessions for the WorkSpaces Pool.
    desired_user_sessions int
    Desired number of user sessions for the WorkSpaces Pool.
    desiredUserSessions Number
    Desired number of user sessions for the WorkSpaces Pool.

    PoolCapacityStatus, PoolCapacityStatusArgs

    ActiveUserSessions int
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    ActualUserSessions int
    Number of user sessions currently being used for WorkSpaces in the pool.
    AvailableUserSessions int
    Number of user sessions available for WorkSpaces in the pool.
    DesiredUserSessions int
    Number of user sessions required for WorkSpaces in the pool.
    ActiveUserSessions int
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    ActualUserSessions int
    Number of user sessions currently being used for WorkSpaces in the pool.
    AvailableUserSessions int
    Number of user sessions available for WorkSpaces in the pool.
    DesiredUserSessions int
    Number of user sessions required for WorkSpaces in the pool.
    active_user_sessions number
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    actual_user_sessions number
    Number of user sessions currently being used for WorkSpaces in the pool.
    available_user_sessions number
    Number of user sessions available for WorkSpaces in the pool.
    desired_user_sessions number
    Number of user sessions required for WorkSpaces in the pool.
    activeUserSessions Integer
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    actualUserSessions Integer
    Number of user sessions currently being used for WorkSpaces in the pool.
    availableUserSessions Integer
    Number of user sessions available for WorkSpaces in the pool.
    desiredUserSessions Integer
    Number of user sessions required for WorkSpaces in the pool.
    activeUserSessions number
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    actualUserSessions number
    Number of user sessions currently being used for WorkSpaces in the pool.
    availableUserSessions number
    Number of user sessions available for WorkSpaces in the pool.
    desiredUserSessions number
    Number of user sessions required for WorkSpaces in the pool.
    active_user_sessions int
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    actual_user_sessions int
    Number of user sessions currently being used for WorkSpaces in the pool.
    available_user_sessions int
    Number of user sessions available for WorkSpaces in the pool.
    desired_user_sessions int
    Number of user sessions required for WorkSpaces in the pool.
    activeUserSessions Number
    Number of user sessions that are currently being used for WorkSpaces in the pool.
    actualUserSessions Number
    Number of user sessions currently being used for WorkSpaces in the pool.
    availableUserSessions Number
    Number of user sessions available for WorkSpaces in the pool.
    desiredUserSessions Number
    Number of user sessions required for WorkSpaces in the pool.

    PoolTimeoutSetting, PoolTimeoutSettingArgs

    DisconnectTimeoutInSeconds int
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    IdleDisconnectTimeoutInSeconds int
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    MaxUserDurationInSeconds int
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.
    DisconnectTimeoutInSeconds int
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    IdleDisconnectTimeoutInSeconds int
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    MaxUserDurationInSeconds int
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.
    disconnect_timeout_in_seconds number
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    idle_disconnect_timeout_in_seconds number
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    max_user_duration_in_seconds number
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.
    disconnectTimeoutInSeconds Integer
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    idleDisconnectTimeoutInSeconds Integer
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    maxUserDurationInSeconds Integer
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.
    disconnectTimeoutInSeconds number
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    idleDisconnectTimeoutInSeconds number
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    maxUserDurationInSeconds number
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.
    disconnect_timeout_in_seconds int
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    idle_disconnect_timeout_in_seconds int
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    max_user_duration_in_seconds int
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.
    disconnectTimeoutInSeconds Number
    Time after disconnection when a user is logged out of their WorkSpace. Must be between 1 and 36000.
    idleDisconnectTimeoutInSeconds Number
    Time after inactivity when a user is disconnected from their WorkSpace. Must be between 1 and 36000.
    maxUserDurationInSeconds Number
    Maximum time that a user can be connected to their WorkSpace. Must be between 1 and 432000.

    PoolTimeouts, PoolTimeoutsArgs

    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    Delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    Update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update string
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update str
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    create String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).
    delete String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.
    update String
    A string that can be parsed as a duration consisting of numbers and unit suffixes, such as "30s" or "2h45m". Valid time units are "s" (seconds), "m" (minutes), "h" (hours).

    Import

    Using pulumi import, import WorkSpaces Pool using the pool ID. For example:

    $ pulumi import aws:workspaces/pool:Pool example wspool-12345678
    

    Identity Schema

    Required

    • poolId (String) WorkSpaces Pool identifier.

    Optional

    • accountId (String) AWS Account where this resource is managed.
    • region (String) Region where this resource is managed.

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo
    Viewing docs for AWS v7.39.0
    published on Thursday, Jul 23, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial