# CfnDirectoryProps

Properties for defining a `CfnDirectory`.

Extends: CfnDirectoryProps
Used as props by: CfnDirectory

- Source: Generated code
- Type last changed: v2.274.0 · 20 Oct 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_workspaces as workspaces } from 'aws-cdk-lib';
const cfnDirectoryProps: workspaces.CfnDirectoryProps = {
  activeDirectoryConfig: {
    domainName: 'domainName',
    serviceAccountSecretArn: 'serviceAccountSecretArn',
  },
  certificateBasedAuthProperties: {
    certificateAuthorityArn: 'certificateAuthorityArn',
    status: 'status',
  },
  enableSelfService: false,
  endpointEncryptionMode: 'endpointEncryptionMode',
  idcInstanceArn: 'idcInstanceArn',
  ipGroupIds: ['ipGroupIds'],
  microsoftEntraConfig: {
    applicationConfigSecretArn: 'applicationConfigSecretArn',
    tenantId: 'tenantId',
  },
  samlProperties: {
    relayStateParameterName: 'relayStateParameterName',
    status: 'status',
    userAccessUrl: 'userAccessUrl',
  },
  selfservicePermissions: {
    changeComputeType: 'changeComputeType',
    increaseVolumeSize: 'increaseVolumeSize',
    rebuildWorkspace: 'rebuildWorkspace',
    restartWorkspace: 'restartWorkspace',
    switchRunningMode: 'switchRunningMode',
  },
  streamingProperties: {
    globalAccelerator: {
      mode: 'mode',

      // the properties below are optional
      preferredProtocol: 'preferredProtocol',
    },
    storageConnectors: [{
      connectorType: 'connectorType',
      status: 'status',
    }],
    streamingExperiencePreferredProtocol: 'streamingExperiencePreferredProtocol',
    userSettings: [{
      action: 'action',
      permission: 'permission',

      // the properties below are optional
      maximumLength: 123,
    }],
  },
  subnetIds: ['subnetIds'],
  tags: [{
    key: 'key',
    value: 'value',
  }],
  tenancy: 'tenancy',
  userIdentityType: 'userIdentityType',
  workspaceAccessProperties: {
    accessEndpointConfig: {
      accessEndpoints: [{
        accessEndpointType: 'accessEndpointType',
        vpcEndpointId: 'vpcEndpointId',
      }],

      // the properties below are optional
      internetFallbackProtocols: ['internetFallbackProtocols'],
    },
    deviceTypeAndroid: 'deviceTypeAndroid',
    deviceTypeChromeOs: 'deviceTypeChromeOs',
    deviceTypeIos: 'deviceTypeIos',
    deviceTypeLinux: 'deviceTypeLinux',
    deviceTypeOsx: 'deviceTypeOsx',
    deviceTypeWeb: 'deviceTypeWeb',
    deviceTypeWindows: 'deviceTypeWindows',
    deviceTypeWorkSpacesThinClient: 'deviceTypeWorkSpacesThinClient',
    deviceTypeZeroClient: 'deviceTypeZeroClient',
  },
  workspaceCreationProperties: {
    customSecurityGroupId: 'customSecurityGroupId',
    defaultOu: 'defaultOu',
    enableInternetAccess: false,
    enableMaintenanceMode: false,
    instanceIamRoleArn: 'instanceIamRoleArn',
    userEnabledAsLocalAdministrator: false,
  },
  workspaceDirectoryDescription: 'workspaceDirectoryDescription',
  workspaceDirectoryName: 'workspaceDirectoryName',
  workspaceType: 'workspaceType',
};
```

## Properties

- `activeDirectoryConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.ActiveDirectoryConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.ActiveDirectoryConfigProperty.html) — Information about the Active Directory config.

- `certificateBasedAuthProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.CertificateBasedAuthPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.CertificateBasedAuthPropertiesProperty.html) — Describes the properties of the certificate-based authentication you want to use with your WorkSpaces.

- `enableSelfService`: boolean | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) — Indicates whether self-service capabilities are enabled or disabled.

- `endpointEncryptionMode`: string — Endpoint encryption mode that allows you to configure the specified directory between Standard TLS and FIPS 140-2 validated mode.

- `idcInstanceArn`: string — The Amazon Resource Name (ARN) of the identity center instance.

- `ipGroupIds`: string[] — The identifiers of the IP access control groups associated with the directory.

- `microsoftEntraConfig`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.MicrosoftEntraConfigProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.MicrosoftEntraConfigProperty.html) — Specifies the configurations of the Microsoft Entra.

- `samlProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.SamlPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.SamlPropertiesProperty.html) — Describes the enablement status, user access URL, and relay state parameter name that are used for configuring federation with an SAML 2.0 identity provider.

- `selfservicePermissions`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.SelfservicePermissionsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.SelfservicePermissionsProperty.html) — Describes the self-service permissions for a directory.

- `streamingProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.StreamingPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.StreamingPropertiesProperty.html) — Describes the streaming properties.

- `subnetIds`: string[] — The identifiers of the subnets for your virtual private cloud (VPC).

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — The tags associated with the directory.

- `tenancy`: string — Indicates whether your WorkSpace directory is dedicated or shared.

- `userIdentityType`: string — The type of identity management the user is using.

- `workspaceAccessProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.WorkspaceAccessPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.WorkspaceAccessPropertiesProperty.html) — The device types and operating systems that can be used to access a WorkSpace.

- `workspaceCreationProperties`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnDirectory.DefaultWorkspaceCreationPropertiesProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_workspaces.CfnDirectory.DefaultWorkspaceCreationPropertiesProperty.html) — The default values that are used to create WorkSpaces.

- `workspaceDirectoryDescription`: string — Description of the directory to register.

- `workspaceDirectoryName`: string — The name of the directory to register.

- `workspaceType`: string — Indicates whether the directory's WorkSpace type is personal or pools.
