@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,232 lines • 209 kB
JavaScript
"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) {