UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,232 lines 209 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g; Object.defineProperty(exports, "__esModule", { value: true }); exports.WorkspacesDirectory = exports.WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference = exports.WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference = exports.WorkspacesDirectorySelfServicePermissionsOutputReference = exports.WorkspacesDirectorySamlPropertiesOutputReference = exports.WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference = exports.WorkspacesDirectoryActiveDirectoryConfigOutputReference = void 0; exports.workspacesDirectoryActiveDirectoryConfigToTerraform = workspacesDirectoryActiveDirectoryConfigToTerraform; exports.workspacesDirectoryActiveDirectoryConfigToHclTerraform = workspacesDirectoryActiveDirectoryConfigToHclTerraform; exports.workspacesDirectoryCertificateBasedAuthPropertiesToTerraform = workspacesDirectoryCertificateBasedAuthPropertiesToTerraform; exports.workspacesDirectoryCertificateBasedAuthPropertiesToHclTerraform = workspacesDirectoryCertificateBasedAuthPropertiesToHclTerraform; exports.workspacesDirectorySamlPropertiesToTerraform = workspacesDirectorySamlPropertiesToTerraform; exports.workspacesDirectorySamlPropertiesToHclTerraform = workspacesDirectorySamlPropertiesToHclTerraform; exports.workspacesDirectorySelfServicePermissionsToTerraform = workspacesDirectorySelfServicePermissionsToTerraform; exports.workspacesDirectorySelfServicePermissionsToHclTerraform = workspacesDirectorySelfServicePermissionsToHclTerraform; exports.workspacesDirectoryWorkspaceAccessPropertiesToTerraform = workspacesDirectoryWorkspaceAccessPropertiesToTerraform; exports.workspacesDirectoryWorkspaceAccessPropertiesToHclTerraform = workspacesDirectoryWorkspaceAccessPropertiesToHclTerraform; exports.workspacesDirectoryWorkspaceCreationPropertiesToTerraform = workspacesDirectoryWorkspaceCreationPropertiesToTerraform; exports.workspacesDirectoryWorkspaceCreationPropertiesToHclTerraform = workspacesDirectoryWorkspaceCreationPropertiesToHclTerraform; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function workspacesDirectoryActiveDirectoryConfigToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { domain_name: cdktf.stringToTerraform(struct.domainName), service_account_secret_arn: cdktf.stringToTerraform(struct.serviceAccountSecretArn), }; } function workspacesDirectoryActiveDirectoryConfigToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { domain_name: { value: cdktf.stringToHclTerraform(struct.domainName), isBlock: false, type: "simple", storageClassType: "string", }, service_account_secret_arn: { value: cdktf.stringToHclTerraform(struct.serviceAccountSecretArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkspacesDirectoryActiveDirectoryConfigOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._domainName !== undefined) { hasAnyValues = true; internalValueResult.domainName = this._domainName; } if (this._serviceAccountSecretArn !== undefined) { hasAnyValues = true; internalValueResult.serviceAccountSecretArn = this._serviceAccountSecretArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._domainName = undefined; this._serviceAccountSecretArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._domainName = value.domainName; this._serviceAccountSecretArn = value.serviceAccountSecretArn; } } get domainName() { return this.getStringAttribute('domain_name'); } set domainName(value) { this._domainName = value; } // Temporarily expose input value. Use with caution. get domainNameInput() { return this._domainName; } get serviceAccountSecretArn() { return this.getStringAttribute('service_account_secret_arn'); } set serviceAccountSecretArn(value) { this._serviceAccountSecretArn = value; } // Temporarily expose input value. Use with caution. get serviceAccountSecretArnInput() { return this._serviceAccountSecretArn; } } exports.WorkspacesDirectoryActiveDirectoryConfigOutputReference = WorkspacesDirectoryActiveDirectoryConfigOutputReference; _a = JSII_RTTI_SYMBOL_1; WorkspacesDirectoryActiveDirectoryConfigOutputReference[_a] = { fqn: "@cdktf/provider-aws.workspacesDirectory.WorkspacesDirectoryActiveDirectoryConfigOutputReference", version: "21.22.1" }; function workspacesDirectoryCertificateBasedAuthPropertiesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { certificate_authority_arn: cdktf.stringToTerraform(struct.certificateAuthorityArn), status: cdktf.stringToTerraform(struct.status), }; } function workspacesDirectoryCertificateBasedAuthPropertiesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { certificate_authority_arn: { value: cdktf.stringToHclTerraform(struct.certificateAuthorityArn), isBlock: false, type: "simple", storageClassType: "string", }, status: { value: cdktf.stringToHclTerraform(struct.status), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._certificateAuthorityArn !== undefined) { hasAnyValues = true; internalValueResult.certificateAuthorityArn = this._certificateAuthorityArn; } if (this._status !== undefined) { hasAnyValues = true; internalValueResult.status = this._status; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._certificateAuthorityArn = undefined; this._status = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._certificateAuthorityArn = value.certificateAuthorityArn; this._status = value.status; } } get certificateAuthorityArn() { return this.getStringAttribute('certificate_authority_arn'); } set certificateAuthorityArn(value) { this._certificateAuthorityArn = value; } resetCertificateAuthorityArn() { this._certificateAuthorityArn = undefined; } // Temporarily expose input value. Use with caution. get certificateAuthorityArnInput() { return this._certificateAuthorityArn; } get status() { return this.getStringAttribute('status'); } set status(value) { this._status = value; } resetStatus() { this._status = undefined; } // Temporarily expose input value. Use with caution. get statusInput() { return this._status; } } exports.WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference = WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference; _b = JSII_RTTI_SYMBOL_1; WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference[_b] = { fqn: "@cdktf/provider-aws.workspacesDirectory.WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference", version: "21.22.1" }; function workspacesDirectorySamlPropertiesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { relay_state_parameter_name: cdktf.stringToTerraform(struct.relayStateParameterName), status: cdktf.stringToTerraform(struct.status), user_access_url: cdktf.stringToTerraform(struct.userAccessUrl), }; } function workspacesDirectorySamlPropertiesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { relay_state_parameter_name: { value: cdktf.stringToHclTerraform(struct.relayStateParameterName), isBlock: false, type: "simple", storageClassType: "string", }, status: { value: cdktf.stringToHclTerraform(struct.status), isBlock: false, type: "simple", storageClassType: "string", }, user_access_url: { value: cdktf.stringToHclTerraform(struct.userAccessUrl), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkspacesDirectorySamlPropertiesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._relayStateParameterName !== undefined) { hasAnyValues = true; internalValueResult.relayStateParameterName = this._relayStateParameterName; } if (this._status !== undefined) { hasAnyValues = true; internalValueResult.status = this._status; } if (this._userAccessUrl !== undefined) { hasAnyValues = true; internalValueResult.userAccessUrl = this._userAccessUrl; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._relayStateParameterName = undefined; this._status = undefined; this._userAccessUrl = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._relayStateParameterName = value.relayStateParameterName; this._status = value.status; this._userAccessUrl = value.userAccessUrl; } } get relayStateParameterName() { return this.getStringAttribute('relay_state_parameter_name'); } set relayStateParameterName(value) { this._relayStateParameterName = value; } resetRelayStateParameterName() { this._relayStateParameterName = undefined; } // Temporarily expose input value. Use with caution. get relayStateParameterNameInput() { return this._relayStateParameterName; } get status() { return this.getStringAttribute('status'); } set status(value) { this._status = value; } resetStatus() { this._status = undefined; } // Temporarily expose input value. Use with caution. get statusInput() { return this._status; } get userAccessUrl() { return this.getStringAttribute('user_access_url'); } set userAccessUrl(value) { this._userAccessUrl = value; } resetUserAccessUrl() { this._userAccessUrl = undefined; } // Temporarily expose input value. Use with caution. get userAccessUrlInput() { return this._userAccessUrl; } } exports.WorkspacesDirectorySamlPropertiesOutputReference = WorkspacesDirectorySamlPropertiesOutputReference; _c = JSII_RTTI_SYMBOL_1; WorkspacesDirectorySamlPropertiesOutputReference[_c] = { fqn: "@cdktf/provider-aws.workspacesDirectory.WorkspacesDirectorySamlPropertiesOutputReference", version: "21.22.1" }; function workspacesDirectorySelfServicePermissionsToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { change_compute_type: cdktf.booleanToTerraform(struct.changeComputeType), increase_volume_size: cdktf.booleanToTerraform(struct.increaseVolumeSize), rebuild_workspace: cdktf.booleanToTerraform(struct.rebuildWorkspace), restart_workspace: cdktf.booleanToTerraform(struct.restartWorkspace), switch_running_mode: cdktf.booleanToTerraform(struct.switchRunningMode), }; } function workspacesDirectorySelfServicePermissionsToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { change_compute_type: { value: cdktf.booleanToHclTerraform(struct.changeComputeType), isBlock: false, type: "simple", storageClassType: "boolean", }, increase_volume_size: { value: cdktf.booleanToHclTerraform(struct.increaseVolumeSize), isBlock: false, type: "simple", storageClassType: "boolean", }, rebuild_workspace: { value: cdktf.booleanToHclTerraform(struct.rebuildWorkspace), isBlock: false, type: "simple", storageClassType: "boolean", }, restart_workspace: { value: cdktf.booleanToHclTerraform(struct.restartWorkspace), isBlock: false, type: "simple", storageClassType: "boolean", }, switch_running_mode: { value: cdktf.booleanToHclTerraform(struct.switchRunningMode), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkspacesDirectorySelfServicePermissionsOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._changeComputeType !== undefined) { hasAnyValues = true; internalValueResult.changeComputeType = this._changeComputeType; } if (this._increaseVolumeSize !== undefined) { hasAnyValues = true; internalValueResult.increaseVolumeSize = this._increaseVolumeSize; } if (this._rebuildWorkspace !== undefined) { hasAnyValues = true; internalValueResult.rebuildWorkspace = this._rebuildWorkspace; } if (this._restartWorkspace !== undefined) { hasAnyValues = true; internalValueResult.restartWorkspace = this._restartWorkspace; } if (this._switchRunningMode !== undefined) { hasAnyValues = true; internalValueResult.switchRunningMode = this._switchRunningMode; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._changeComputeType = undefined; this._increaseVolumeSize = undefined; this._rebuildWorkspace = undefined; this._restartWorkspace = undefined; this._switchRunningMode = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._changeComputeType = value.changeComputeType; this._increaseVolumeSize = value.increaseVolumeSize; this._rebuildWorkspace = value.rebuildWorkspace; this._restartWorkspace = value.restartWorkspace; this._switchRunningMode = value.switchRunningMode; } } get changeComputeType() { return this.getBooleanAttribute('change_compute_type'); } set changeComputeType(value) { this._changeComputeType = value; } resetChangeComputeType() { this._changeComputeType = undefined; } // Temporarily expose input value. Use with caution. get changeComputeTypeInput() { return this._changeComputeType; } get increaseVolumeSize() { return this.getBooleanAttribute('increase_volume_size'); } set increaseVolumeSize(value) { this._increaseVolumeSize = value; } resetIncreaseVolumeSize() { this._increaseVolumeSize = undefined; } // Temporarily expose input value. Use with caution. get increaseVolumeSizeInput() { return this._increaseVolumeSize; } get rebuildWorkspace() { return this.getBooleanAttribute('rebuild_workspace'); } set rebuildWorkspace(value) { this._rebuildWorkspace = value; } resetRebuildWorkspace() { this._rebuildWorkspace = undefined; } // Temporarily expose input value. Use with caution. get rebuildWorkspaceInput() { return this._rebuildWorkspace; } get restartWorkspace() { return this.getBooleanAttribute('restart_workspace'); } set restartWorkspace(value) { this._restartWorkspace = value; } resetRestartWorkspace() { this._restartWorkspace = undefined; } // Temporarily expose input value. Use with caution. get restartWorkspaceInput() { return this._restartWorkspace; } get switchRunningMode() { return this.getBooleanAttribute('switch_running_mode'); } set switchRunningMode(value) { this._switchRunningMode = value; } resetSwitchRunningMode() { this._switchRunningMode = undefined; } // Temporarily expose input value. Use with caution. get switchRunningModeInput() { return this._switchRunningMode; } } exports.WorkspacesDirectorySelfServicePermissionsOutputReference = WorkspacesDirectorySelfServicePermissionsOutputReference; _d = JSII_RTTI_SYMBOL_1; WorkspacesDirectorySelfServicePermissionsOutputReference[_d] = { fqn: "@cdktf/provider-aws.workspacesDirectory.WorkspacesDirectorySelfServicePermissionsOutputReference", version: "21.22.1" }; function workspacesDirectoryWorkspaceAccessPropertiesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { device_type_android: cdktf.stringToTerraform(struct.deviceTypeAndroid), device_type_chromeos: cdktf.stringToTerraform(struct.deviceTypeChromeos), device_type_ios: cdktf.stringToTerraform(struct.deviceTypeIos), device_type_linux: cdktf.stringToTerraform(struct.deviceTypeLinux), device_type_osx: cdktf.stringToTerraform(struct.deviceTypeOsx), device_type_web: cdktf.stringToTerraform(struct.deviceTypeWeb), device_type_windows: cdktf.stringToTerraform(struct.deviceTypeWindows), device_type_zeroclient: cdktf.stringToTerraform(struct.deviceTypeZeroclient), }; } function workspacesDirectoryWorkspaceAccessPropertiesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { device_type_android: { value: cdktf.stringToHclTerraform(struct.deviceTypeAndroid), isBlock: false, type: "simple", storageClassType: "string", }, device_type_chromeos: { value: cdktf.stringToHclTerraform(struct.deviceTypeChromeos), isBlock: false, type: "simple", storageClassType: "string", }, device_type_ios: { value: cdktf.stringToHclTerraform(struct.deviceTypeIos), isBlock: false, type: "simple", storageClassType: "string", }, device_type_linux: { value: cdktf.stringToHclTerraform(struct.deviceTypeLinux), isBlock: false, type: "simple", storageClassType: "string", }, device_type_osx: { value: cdktf.stringToHclTerraform(struct.deviceTypeOsx), isBlock: false, type: "simple", storageClassType: "string", }, device_type_web: { value: cdktf.stringToHclTerraform(struct.deviceTypeWeb), isBlock: false, type: "simple", storageClassType: "string", }, device_type_windows: { value: cdktf.stringToHclTerraform(struct.deviceTypeWindows), isBlock: false, type: "simple", storageClassType: "string", }, device_type_zeroclient: { value: cdktf.stringToHclTerraform(struct.deviceTypeZeroclient), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._deviceTypeAndroid !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeAndroid = this._deviceTypeAndroid; } if (this._deviceTypeChromeos !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeChromeos = this._deviceTypeChromeos; } if (this._deviceTypeIos !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeIos = this._deviceTypeIos; } if (this._deviceTypeLinux !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeLinux = this._deviceTypeLinux; } if (this._deviceTypeOsx !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeOsx = this._deviceTypeOsx; } if (this._deviceTypeWeb !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeWeb = this._deviceTypeWeb; } if (this._deviceTypeWindows !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeWindows = this._deviceTypeWindows; } if (this._deviceTypeZeroclient !== undefined) { hasAnyValues = true; internalValueResult.deviceTypeZeroclient = this._deviceTypeZeroclient; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._deviceTypeAndroid = undefined; this._deviceTypeChromeos = undefined; this._deviceTypeIos = undefined; this._deviceTypeLinux = undefined; this._deviceTypeOsx = undefined; this._deviceTypeWeb = undefined; this._deviceTypeWindows = undefined; this._deviceTypeZeroclient = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._deviceTypeAndroid = value.deviceTypeAndroid; this._deviceTypeChromeos = value.deviceTypeChromeos; this._deviceTypeIos = value.deviceTypeIos; this._deviceTypeLinux = value.deviceTypeLinux; this._deviceTypeOsx = value.deviceTypeOsx; this._deviceTypeWeb = value.deviceTypeWeb; this._deviceTypeWindows = value.deviceTypeWindows; this._deviceTypeZeroclient = value.deviceTypeZeroclient; } } get deviceTypeAndroid() { return this.getStringAttribute('device_type_android'); } set deviceTypeAndroid(value) { this._deviceTypeAndroid = value; } resetDeviceTypeAndroid() { this._deviceTypeAndroid = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeAndroidInput() { return this._deviceTypeAndroid; } get deviceTypeChromeos() { return this.getStringAttribute('device_type_chromeos'); } set deviceTypeChromeos(value) { this._deviceTypeChromeos = value; } resetDeviceTypeChromeos() { this._deviceTypeChromeos = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeChromeosInput() { return this._deviceTypeChromeos; } get deviceTypeIos() { return this.getStringAttribute('device_type_ios'); } set deviceTypeIos(value) { this._deviceTypeIos = value; } resetDeviceTypeIos() { this._deviceTypeIos = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeIosInput() { return this._deviceTypeIos; } get deviceTypeLinux() { return this.getStringAttribute('device_type_linux'); } set deviceTypeLinux(value) { this._deviceTypeLinux = value; } resetDeviceTypeLinux() { this._deviceTypeLinux = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeLinuxInput() { return this._deviceTypeLinux; } get deviceTypeOsx() { return this.getStringAttribute('device_type_osx'); } set deviceTypeOsx(value) { this._deviceTypeOsx = value; } resetDeviceTypeOsx() { this._deviceTypeOsx = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeOsxInput() { return this._deviceTypeOsx; } get deviceTypeWeb() { return this.getStringAttribute('device_type_web'); } set deviceTypeWeb(value) { this._deviceTypeWeb = value; } resetDeviceTypeWeb() { this._deviceTypeWeb = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeWebInput() { return this._deviceTypeWeb; } get deviceTypeWindows() { return this.getStringAttribute('device_type_windows'); } set deviceTypeWindows(value) { this._deviceTypeWindows = value; } resetDeviceTypeWindows() { this._deviceTypeWindows = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeWindowsInput() { return this._deviceTypeWindows; } get deviceTypeZeroclient() { return this.getStringAttribute('device_type_zeroclient'); } set deviceTypeZeroclient(value) { this._deviceTypeZeroclient = value; } resetDeviceTypeZeroclient() { this._deviceTypeZeroclient = undefined; } // Temporarily expose input value. Use with caution. get deviceTypeZeroclientInput() { return this._deviceTypeZeroclient; } } exports.WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference = WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference; _e = JSII_RTTI_SYMBOL_1; WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference[_e] = { fqn: "@cdktf/provider-aws.workspacesDirectory.WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference", version: "21.22.1" }; function workspacesDirectoryWorkspaceCreationPropertiesToTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } return { custom_security_group_id: cdktf.stringToTerraform(struct.customSecurityGroupId), default_ou: cdktf.stringToTerraform(struct.defaultOu), enable_internet_access: cdktf.booleanToTerraform(struct.enableInternetAccess), enable_maintenance_mode: cdktf.booleanToTerraform(struct.enableMaintenanceMode), user_enabled_as_local_administrator: cdktf.booleanToTerraform(struct.userEnabledAsLocalAdministrator), }; } function workspacesDirectoryWorkspaceCreationPropertiesToHclTerraform(struct) { if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) { return struct; } if (cdktf.isComplexElement(struct)) { throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration"); } const attrs = { custom_security_group_id: { value: cdktf.stringToHclTerraform(struct.customSecurityGroupId), isBlock: false, type: "simple", storageClassType: "string", }, default_ou: { value: cdktf.stringToHclTerraform(struct.defaultOu), isBlock: false, type: "simple", storageClassType: "string", }, enable_internet_access: { value: cdktf.booleanToHclTerraform(struct.enableInternetAccess), isBlock: false, type: "simple", storageClassType: "boolean", }, enable_maintenance_mode: { value: cdktf.booleanToHclTerraform(struct.enableMaintenanceMode), isBlock: false, type: "simple", storageClassType: "boolean", }, user_enabled_as_local_administrator: { value: cdktf.booleanToHclTerraform(struct.userEnabledAsLocalAdministrator), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } class WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing */ constructor(terraformResource, terraformAttribute) { super(terraformResource, terraformAttribute, false, 0); this.isEmptyObject = false; } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._customSecurityGroupId !== undefined) { hasAnyValues = true; internalValueResult.customSecurityGroupId = this._customSecurityGroupId; } if (this._defaultOu !== undefined) { hasAnyValues = true; internalValueResult.defaultOu = this._defaultOu; } if (this._enableInternetAccess !== undefined) { hasAnyValues = true; internalValueResult.enableInternetAccess = this._enableInternetAccess; } if (this._enableMaintenanceMode !== undefined) { hasAnyValues = true; internalValueResult.enableMaintenanceMode = this._enableMaintenanceMode; } if (this._userEnabledAsLocalAdministrator !== undefined) { hasAnyValues = true; internalValueResult.userEnabledAsLocalAdministrator = this._userEnabledAsLocalAdministrator; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._customSecurityGroupId = undefined; this._defaultOu = undefined; this._enableInternetAccess = undefined; this._enableMaintenanceMode = undefined; this._userEnabledAsLocalAdministrator = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._customSecurityGroupId = value.customSecurityGroupId; this._defaultOu = value.defaultOu; this._enableInternetAccess = value.enableInternetAccess; this._enableMaintenanceMode = value.enableMaintenanceMode; this._userEnabledAsLocalAdministrator = value.userEnabledAsLocalAdministrator; } } get customSecurityGroupId() { return this.getStringAttribute('custom_security_group_id'); } set customSecurityGroupId(value) { this._customSecurityGroupId = value; } resetCustomSecurityGroupId() { this._customSecurityGroupId = undefined; } // Temporarily expose input value. Use with caution. get customSecurityGroupIdInput() { return this._customSecurityGroupId; } get defaultOu() { return this.getStringAttribute('default_ou'); } set defaultOu(value) { this._defaultOu = value; } resetDefaultOu() { this._defaultOu = undefined; } // Temporarily expose input value. Use with caution. get defaultOuInput() { return this._defaultOu; } get enableInternetAccess() { return this.getBooleanAttribute('enable_internet_access'); } set enableInternetAccess(value) { this._enableInternetAccess = value; } resetEnableInternetAccess() { this._enableInternetAccess = undefined; } // Temporarily expose input value. Use with caution. get enableInternetAccessInput() { return this._enableInternetAccess; } get enableMaintenanceMode() { return this.getBooleanAttribute('enable_maintenance_mode'); } set enableMaintenanceMode(value) { this._enableMaintenanceMode = value; } resetEnableMaintenanceMode() { this._enableMaintenanceMode = undefined; } // Temporarily expose input value. Use with caution. get enableMaintenanceModeInput() { return this._enableMaintenanceMode; } get userEnabledAsLocalAdministrator() { return this.getBooleanAttribute('user_enabled_as_local_administrator'); } set userEnabledAsLocalAdministrator(value) { this._userEnabledAsLocalAdministrator = value; } resetUserEnabledAsLocalAdministrator() { this._userEnabledAsLocalAdministrator = undefined; } // Temporarily expose input value. Use with caution. get userEnabledAsLocalAdministratorInput() { return this._userEnabledAsLocalAdministrator; } } exports.WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference = WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference; _f = JSII_RTTI_SYMBOL_1; WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference[_f] = { fqn: "@cdktf/provider-aws.workspacesDirectory.WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference", version: "21.22.1" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/workspaces_directory aws_workspaces_directory} */ class WorkspacesDirectory extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a WorkspacesDirectory resource upon running "cdktf plan <stack-name>" * @param scope The scope in which to define this construct * @param importToId The construct id used in the generated config for the WorkspacesDirectory to import * @param importFromId The id of the existing WorkspacesDirectory that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/workspaces_directory#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the WorkspacesDirectory to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_workspaces_directory", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/workspaces_directory aws_workspaces_directory} Resource * * @param scope The scope in which to define this construct * @param id The scoped construct ID. Must be unique amongst siblings in the same scope * @param options WorkspacesDirectoryConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'aws_workspaces_directory', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '6.25.0', providerVersionConstraint: '~> 6.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // active_directory_config - computed: false, optional: true, required: false this._activeDirectoryConfig = new WorkspacesDirectoryActiveDirectoryConfigOutputReference(this, "active_directory_config"); // certificate_based_auth_properties - computed: false, optional: true, required: false this._certificateBasedAuthProperties = new WorkspacesDirectoryCertificateBasedAuthPropertiesOutputReference(this, "certificate_based_auth_properties"); // saml_properties - computed: false, optional: true, required: false this._samlProperties = new WorkspacesDirectorySamlPropertiesOutputReference(this, "saml_properties"); // self_service_permissions - computed: false, optional: true, required: false this._selfServicePermissions = new WorkspacesDirectorySelfServicePermissionsOutputReference(this, "self_service_permissions"); // workspace_access_properties - computed: false, optional: true, required: false this._workspaceAccessProperties = new WorkspacesDirectoryWorkspaceAccessPropertiesOutputReference(this, "workspace_access_properties"); // workspace_creation_properties - computed: false, optional: true, required: false this._workspaceCreationProperties = new WorkspacesDirectoryWorkspaceCreationPropertiesOutputReference(this, "workspace_creation_properties"); this._directoryId = config.directoryId; this._id = config.id; this._ipGroupIds = config.ipGroupIds; this._region = config.region; this._subnetIds = config.subnetIds; this._tags = config.tags; this._tagsAll = config.tagsAll; this._tenancy = config.tenancy; this._userIdentityType = config.userIdentityType; this._workspaceDirectoryDescription = config.workspaceDirectoryDescription; this._workspaceDirectoryName = config.workspaceDirectoryName; this._workspaceType = config.workspaceType; this._activeDirectoryConfig.internalValue = config.activeDirectoryConfig; this._certificateBasedAuthProperties.internalValue = config.certificateBasedAuthProperties; this._samlProperties.internalValue = config.samlProperties; this._selfServicePermissions.internalValue = config.selfServicePermissions; this._workspaceAccessProperties.internalValue = config.workspaceAccessProperties; this._workspaceCreationProperties.internalValue = config.workspaceCreationProperties; } // ========== // ATTRIBUTES // ========== // alias - computed: true, optional: false, required: false get alias() { return this.getStringAttribute('alias'); } // customer_user_name - computed: true, optional: false, required: false get customerUserName() { return this.getStringAttribute('customer_user_name'); } get directoryId() { return this.getStringAttribute('directory_id'); } set directoryId(value) { this._directoryId = value; } resetDirectoryId() { this._directoryId = undefined; } // Temporarily expose input value. Use with caution. get directoryIdInput() { return this._directoryId; } // directory_name - computed: true, optional: false, required: false get directoryName() { return this.getStringAttribute('directory_name'); } // directory_type - computed: true, optional: false, required: false get directoryType() { return this.getStringAttribute('directory_type'); } // dns_ip_addresses - computed: true, optional: false, required: false get dnsIpAddresses() { return cdktf.Fn.tolist(this.getListAttribute('dns_ip_addresses')); } // iam_role_id - computed: true, optional: false, required: false get iamRoleId() { return this.getStringAttribute('iam_role_id'); } get id() { return this.getStringAttribute('id'); } set id(value) { this._id = value; } resetId() { this._id = undefined; } // Temporarily expose input value. Use with caution. get idInput() { return this._id; } get ipGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('ip_group_ids')); } set ipGroupIds(value) { this._ipGroupIds = value; } resetIpGroupIds() { this._ipGroupIds = undefined; } // Temporarily expose input value. Use with caution. get ipGroupIdsInput() { return this._ipGroupIds; } get region() { return this.getStringAttribute('region'); } set region(value) { this._region = value; } resetRegion() { this._region = undefined; } // Temporarily expose input value. Use with caution. get regionInput() { return this._region; } // registration_code - computed: true, optional: false, required: false get registrationCode() { return this.getStringAttribute('registration_code'); } get subnetIds() { return cdktf.Fn.tolist(this.getListAttribute('subnet_ids')); } set subnetIds(value) { this._subnetIds = value; } resetSubnetIds() { this._subnetIds = undefined; } // Temporarily expose input value. Use with caution. get subnetIdsInput() { return this._subnetIds; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } get tenancy() { return this.getStringAttribute('tenancy'); } set tenancy(value) { this._tenancy = value; } resetTenancy() { this._tenancy = undefined; } // Temporarily expose input value. Use with caution. get tenancyInput() { return this._tenancy; } get userIdentityType() { return this.getStringAttribute('user_identity_type'); } set userIdentityType(value) { this._userIdentityType = value; } resetUserIdentityType() { this._userIdentityType = undefined; } // Temporarily expose input value. Use with caution. get userIdentityTypeInput() { return this._userIdentityType; } get workspaceDirectoryDescription() { return this.getStringAttribute('workspace_directory_description'); } set workspaceDirectoryDescription(value) { this._workspaceDirectoryDescription = value; } resetWorkspaceDirectoryDescription() { this._workspaceDirectoryDescription = undefined; } // Temporarily expose input value. Use with caution. get workspaceDirectoryDescriptionInput() { return this._workspaceDirectoryDescription; } get workspaceDirectoryName() { return this.getStringAttribute('workspace_directory_name'); } set workspaceDirectoryName(value) { this._workspaceDirectoryName = value; } resetWorkspaceDirectoryName() { this._workspaceDirectoryName = undefined; } // Temporarily expose input value. Use with caution. get workspaceDirectoryNameInput() { return this._workspaceDirectoryName; } // workspace_security_group_id - computed: true, optional: false, required: false get workspaceSecurityGroupId() { return this.getStringAttribute('workspace_security_group_id'); } get workspaceType() { return this.getStringAttribute('workspace_type'); } set workspaceType(value) { this._workspaceType = value; } resetWorkspaceType() { this._workspaceType = undefined; } // Temporarily expose input value. Use with caution. get workspaceTypeInput() { return this._workspaceType; } get activeDirectoryConfig() { return this._activeDirectoryConfig; } putActiveDirectoryConfig(value) { this._activeDirectoryConfig.internalValue = value; } resetActiveDirectoryConfig() { this._activeDirectoryConfig.internalValue = undefined; } // Temporarily expose input value. Use with caution. get activeDirectoryConfigInput() { return this._activeDirectoryConfig.internalValue; } get certificateBasedAuthProperties() { return this._certificateBasedAuthProperties; } putCertificateBasedAuthProperties(value) {