UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,159 lines (1,158 loc) 560 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2; Object.defineProperty(exports, "__esModule", { value: true }); exports.codebuildProjectSecondarySourcesGitSubmodulesConfigToTerraform = exports.CodebuildProjectSecondarySourcesBuildStatusConfigOutputReference = exports.codebuildProjectSecondarySourcesBuildStatusConfigToHclTerraform = exports.codebuildProjectSecondarySourcesBuildStatusConfigToTerraform = exports.CodebuildProjectSecondarySourceVersionList = exports.CodebuildProjectSecondarySourceVersionOutputReference = exports.codebuildProjectSecondarySourceVersionToHclTerraform = exports.codebuildProjectSecondarySourceVersionToTerraform = exports.CodebuildProjectSecondaryArtifactsList = exports.CodebuildProjectSecondaryArtifactsOutputReference = exports.codebuildProjectSecondaryArtifactsToHclTerraform = exports.codebuildProjectSecondaryArtifactsToTerraform = exports.CodebuildProjectLogsConfigOutputReference = exports.codebuildProjectLogsConfigToHclTerraform = exports.codebuildProjectLogsConfigToTerraform = exports.CodebuildProjectLogsConfigS3LogsOutputReference = exports.codebuildProjectLogsConfigS3LogsToHclTerraform = exports.codebuildProjectLogsConfigS3LogsToTerraform = exports.CodebuildProjectLogsConfigCloudwatchLogsOutputReference = exports.codebuildProjectLogsConfigCloudwatchLogsToHclTerraform = exports.codebuildProjectLogsConfigCloudwatchLogsToTerraform = exports.CodebuildProjectFileSystemLocationsList = exports.CodebuildProjectFileSystemLocationsOutputReference = exports.codebuildProjectFileSystemLocationsToHclTerraform = exports.codebuildProjectFileSystemLocationsToTerraform = exports.CodebuildProjectEnvironmentOutputReference = exports.codebuildProjectEnvironmentToHclTerraform = exports.codebuildProjectEnvironmentToTerraform = exports.CodebuildProjectEnvironmentRegistryCredentialOutputReference = exports.codebuildProjectEnvironmentRegistryCredentialToHclTerraform = exports.codebuildProjectEnvironmentRegistryCredentialToTerraform = exports.CodebuildProjectEnvironmentFleetOutputReference = exports.codebuildProjectEnvironmentFleetToHclTerraform = exports.codebuildProjectEnvironmentFleetToTerraform = exports.CodebuildProjectEnvironmentEnvironmentVariableList = exports.CodebuildProjectEnvironmentEnvironmentVariableOutputReference = exports.codebuildProjectEnvironmentEnvironmentVariableToHclTerraform = exports.codebuildProjectEnvironmentEnvironmentVariableToTerraform = exports.CodebuildProjectCacheOutputReference = exports.codebuildProjectCacheToHclTerraform = exports.codebuildProjectCacheToTerraform = exports.CodebuildProjectBuildBatchConfigOutputReference = exports.codebuildProjectBuildBatchConfigToHclTerraform = exports.codebuildProjectBuildBatchConfigToTerraform = exports.CodebuildProjectBuildBatchConfigRestrictionsOutputReference = exports.codebuildProjectBuildBatchConfigRestrictionsToHclTerraform = exports.codebuildProjectBuildBatchConfigRestrictionsToTerraform = exports.CodebuildProjectArtifactsOutputReference = exports.codebuildProjectArtifactsToHclTerraform = exports.codebuildProjectArtifactsToTerraform = void 0; exports.CodebuildProject = exports.CodebuildProjectVpcConfigOutputReference = exports.codebuildProjectVpcConfigToHclTerraform = exports.codebuildProjectVpcConfigToTerraform = exports.CodebuildProjectSourceOutputReference = exports.codebuildProjectSourceToHclTerraform = exports.codebuildProjectSourceToTerraform = exports.CodebuildProjectSourceGitSubmodulesConfigOutputReference = exports.codebuildProjectSourceGitSubmodulesConfigToHclTerraform = exports.codebuildProjectSourceGitSubmodulesConfigToTerraform = exports.CodebuildProjectSourceBuildStatusConfigOutputReference = exports.codebuildProjectSourceBuildStatusConfigToHclTerraform = exports.codebuildProjectSourceBuildStatusConfigToTerraform = exports.CodebuildProjectSecondarySourcesList = exports.CodebuildProjectSecondarySourcesOutputReference = exports.codebuildProjectSecondarySourcesToHclTerraform = exports.codebuildProjectSecondarySourcesToTerraform = exports.CodebuildProjectSecondarySourcesGitSubmodulesConfigOutputReference = exports.codebuildProjectSecondarySourcesGitSubmodulesConfigToHclTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function codebuildProjectArtifactsToTerraform(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 { artifact_identifier: cdktf.stringToTerraform(struct.artifactIdentifier), bucket_owner_access: cdktf.stringToTerraform(struct.bucketOwnerAccess), encryption_disabled: cdktf.booleanToTerraform(struct.encryptionDisabled), location: cdktf.stringToTerraform(struct.location), name: cdktf.stringToTerraform(struct.name), namespace_type: cdktf.stringToTerraform(struct.namespaceType), override_artifact_name: cdktf.booleanToTerraform(struct.overrideArtifactName), packaging: cdktf.stringToTerraform(struct.packaging), path: cdktf.stringToTerraform(struct.path), type: cdktf.stringToTerraform(struct.type), }; } exports.codebuildProjectArtifactsToTerraform = codebuildProjectArtifactsToTerraform; function codebuildProjectArtifactsToHclTerraform(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 = { artifact_identifier: { value: cdktf.stringToHclTerraform(struct.artifactIdentifier), isBlock: false, type: "simple", storageClassType: "string", }, bucket_owner_access: { value: cdktf.stringToHclTerraform(struct.bucketOwnerAccess), isBlock: false, type: "simple", storageClassType: "string", }, encryption_disabled: { value: cdktf.booleanToHclTerraform(struct.encryptionDisabled), isBlock: false, type: "simple", storageClassType: "boolean", }, location: { value: cdktf.stringToHclTerraform(struct.location), isBlock: false, type: "simple", storageClassType: "string", }, name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, namespace_type: { value: cdktf.stringToHclTerraform(struct.namespaceType), isBlock: false, type: "simple", storageClassType: "string", }, override_artifact_name: { value: cdktf.booleanToHclTerraform(struct.overrideArtifactName), isBlock: false, type: "simple", storageClassType: "boolean", }, packaging: { value: cdktf.stringToHclTerraform(struct.packaging), isBlock: false, type: "simple", storageClassType: "string", }, path: { value: cdktf.stringToHclTerraform(struct.path), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectArtifactsToHclTerraform = codebuildProjectArtifactsToHclTerraform; class CodebuildProjectArtifactsOutputReference 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._artifactIdentifier !== undefined) { hasAnyValues = true; internalValueResult.artifactIdentifier = this._artifactIdentifier; } if (this._bucketOwnerAccess !== undefined) { hasAnyValues = true; internalValueResult.bucketOwnerAccess = this._bucketOwnerAccess; } if (this._encryptionDisabled !== undefined) { hasAnyValues = true; internalValueResult.encryptionDisabled = this._encryptionDisabled; } if (this._location !== undefined) { hasAnyValues = true; internalValueResult.location = this._location; } if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._namespaceType !== undefined) { hasAnyValues = true; internalValueResult.namespaceType = this._namespaceType; } if (this._overrideArtifactName !== undefined) { hasAnyValues = true; internalValueResult.overrideArtifactName = this._overrideArtifactName; } if (this._packaging !== undefined) { hasAnyValues = true; internalValueResult.packaging = this._packaging; } if (this._path !== undefined) { hasAnyValues = true; internalValueResult.path = this._path; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._artifactIdentifier = undefined; this._bucketOwnerAccess = undefined; this._encryptionDisabled = undefined; this._location = undefined; this._name = undefined; this._namespaceType = undefined; this._overrideArtifactName = undefined; this._packaging = undefined; this._path = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._artifactIdentifier = value.artifactIdentifier; this._bucketOwnerAccess = value.bucketOwnerAccess; this._encryptionDisabled = value.encryptionDisabled; this._location = value.location; this._name = value.name; this._namespaceType = value.namespaceType; this._overrideArtifactName = value.overrideArtifactName; this._packaging = value.packaging; this._path = value.path; this._type = value.type; } } get artifactIdentifier() { return this.getStringAttribute('artifact_identifier'); } set artifactIdentifier(value) { this._artifactIdentifier = value; } resetArtifactIdentifier() { this._artifactIdentifier = undefined; } // Temporarily expose input value. Use with caution. get artifactIdentifierInput() { return this._artifactIdentifier; } get bucketOwnerAccess() { return this.getStringAttribute('bucket_owner_access'); } set bucketOwnerAccess(value) { this._bucketOwnerAccess = value; } resetBucketOwnerAccess() { this._bucketOwnerAccess = undefined; } // Temporarily expose input value. Use with caution. get bucketOwnerAccessInput() { return this._bucketOwnerAccess; } get encryptionDisabled() { return this.getBooleanAttribute('encryption_disabled'); } set encryptionDisabled(value) { this._encryptionDisabled = value; } resetEncryptionDisabled() { this._encryptionDisabled = undefined; } // Temporarily expose input value. Use with caution. get encryptionDisabledInput() { return this._encryptionDisabled; } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } resetLocation() { this._location = undefined; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } resetName() { this._name = undefined; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get namespaceType() { return this.getStringAttribute('namespace_type'); } set namespaceType(value) { this._namespaceType = value; } resetNamespaceType() { this._namespaceType = undefined; } // Temporarily expose input value. Use with caution. get namespaceTypeInput() { return this._namespaceType; } get overrideArtifactName() { return this.getBooleanAttribute('override_artifact_name'); } set overrideArtifactName(value) { this._overrideArtifactName = value; } resetOverrideArtifactName() { this._overrideArtifactName = undefined; } // Temporarily expose input value. Use with caution. get overrideArtifactNameInput() { return this._overrideArtifactName; } get packaging() { return this.getStringAttribute('packaging'); } set packaging(value) { this._packaging = value; } resetPackaging() { this._packaging = undefined; } // Temporarily expose input value. Use with caution. get packagingInput() { return this._packaging; } get path() { return this.getStringAttribute('path'); } set path(value) { this._path = value; } resetPath() { this._path = undefined; } // Temporarily expose input value. Use with caution. get pathInput() { return this._path; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.CodebuildProjectArtifactsOutputReference = CodebuildProjectArtifactsOutputReference; _a = JSII_RTTI_SYMBOL_1; CodebuildProjectArtifactsOutputReference[_a] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectArtifactsOutputReference", version: "19.50.0" }; function codebuildProjectBuildBatchConfigRestrictionsToTerraform(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 { compute_types_allowed: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.computeTypesAllowed), maximum_builds_allowed: cdktf.numberToTerraform(struct.maximumBuildsAllowed), }; } exports.codebuildProjectBuildBatchConfigRestrictionsToTerraform = codebuildProjectBuildBatchConfigRestrictionsToTerraform; function codebuildProjectBuildBatchConfigRestrictionsToHclTerraform(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 = { compute_types_allowed: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.computeTypesAllowed), isBlock: false, type: "list", storageClassType: "stringList", }, maximum_builds_allowed: { value: cdktf.numberToHclTerraform(struct.maximumBuildsAllowed), isBlock: false, type: "simple", storageClassType: "number", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectBuildBatchConfigRestrictionsToHclTerraform = codebuildProjectBuildBatchConfigRestrictionsToHclTerraform; class CodebuildProjectBuildBatchConfigRestrictionsOutputReference 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._computeTypesAllowed !== undefined) { hasAnyValues = true; internalValueResult.computeTypesAllowed = this._computeTypesAllowed; } if (this._maximumBuildsAllowed !== undefined) { hasAnyValues = true; internalValueResult.maximumBuildsAllowed = this._maximumBuildsAllowed; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._computeTypesAllowed = undefined; this._maximumBuildsAllowed = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._computeTypesAllowed = value.computeTypesAllowed; this._maximumBuildsAllowed = value.maximumBuildsAllowed; } } get computeTypesAllowed() { return this.getListAttribute('compute_types_allowed'); } set computeTypesAllowed(value) { this._computeTypesAllowed = value; } resetComputeTypesAllowed() { this._computeTypesAllowed = undefined; } // Temporarily expose input value. Use with caution. get computeTypesAllowedInput() { return this._computeTypesAllowed; } get maximumBuildsAllowed() { return this.getNumberAttribute('maximum_builds_allowed'); } set maximumBuildsAllowed(value) { this._maximumBuildsAllowed = value; } resetMaximumBuildsAllowed() { this._maximumBuildsAllowed = undefined; } // Temporarily expose input value. Use with caution. get maximumBuildsAllowedInput() { return this._maximumBuildsAllowed; } } exports.CodebuildProjectBuildBatchConfigRestrictionsOutputReference = CodebuildProjectBuildBatchConfigRestrictionsOutputReference; _b = JSII_RTTI_SYMBOL_1; CodebuildProjectBuildBatchConfigRestrictionsOutputReference[_b] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectBuildBatchConfigRestrictionsOutputReference", version: "19.50.0" }; function codebuildProjectBuildBatchConfigToTerraform(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 { combine_artifacts: cdktf.booleanToTerraform(struct.combineArtifacts), service_role: cdktf.stringToTerraform(struct.serviceRole), timeout_in_mins: cdktf.numberToTerraform(struct.timeoutInMins), restrictions: codebuildProjectBuildBatchConfigRestrictionsToTerraform(struct.restrictions), }; } exports.codebuildProjectBuildBatchConfigToTerraform = codebuildProjectBuildBatchConfigToTerraform; function codebuildProjectBuildBatchConfigToHclTerraform(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 = { combine_artifacts: { value: cdktf.booleanToHclTerraform(struct.combineArtifacts), isBlock: false, type: "simple", storageClassType: "boolean", }, service_role: { value: cdktf.stringToHclTerraform(struct.serviceRole), isBlock: false, type: "simple", storageClassType: "string", }, timeout_in_mins: { value: cdktf.numberToHclTerraform(struct.timeoutInMins), isBlock: false, type: "simple", storageClassType: "number", }, restrictions: { value: codebuildProjectBuildBatchConfigRestrictionsToHclTerraform(struct.restrictions), isBlock: true, type: "list", storageClassType: "CodebuildProjectBuildBatchConfigRestrictionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectBuildBatchConfigToHclTerraform = codebuildProjectBuildBatchConfigToHclTerraform; class CodebuildProjectBuildBatchConfigOutputReference 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; // restrictions - computed: false, optional: true, required: false this._restrictions = new CodebuildProjectBuildBatchConfigRestrictionsOutputReference(this, "restrictions"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._combineArtifacts !== undefined) { hasAnyValues = true; internalValueResult.combineArtifacts = this._combineArtifacts; } if (this._serviceRole !== undefined) { hasAnyValues = true; internalValueResult.serviceRole = this._serviceRole; } if (this._timeoutInMins !== undefined) { hasAnyValues = true; internalValueResult.timeoutInMins = this._timeoutInMins; } if (this._restrictions?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.restrictions = this._restrictions?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._combineArtifacts = undefined; this._serviceRole = undefined; this._timeoutInMins = undefined; this._restrictions.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._combineArtifacts = value.combineArtifacts; this._serviceRole = value.serviceRole; this._timeoutInMins = value.timeoutInMins; this._restrictions.internalValue = value.restrictions; } } get combineArtifacts() { return this.getBooleanAttribute('combine_artifacts'); } set combineArtifacts(value) { this._combineArtifacts = value; } resetCombineArtifacts() { this._combineArtifacts = undefined; } // Temporarily expose input value. Use with caution. get combineArtifactsInput() { return this._combineArtifacts; } get serviceRole() { return this.getStringAttribute('service_role'); } set serviceRole(value) { this._serviceRole = value; } // Temporarily expose input value. Use with caution. get serviceRoleInput() { return this._serviceRole; } get timeoutInMins() { return this.getNumberAttribute('timeout_in_mins'); } set timeoutInMins(value) { this._timeoutInMins = value; } resetTimeoutInMins() { this._timeoutInMins = undefined; } // Temporarily expose input value. Use with caution. get timeoutInMinsInput() { return this._timeoutInMins; } get restrictions() { return this._restrictions; } putRestrictions(value) { this._restrictions.internalValue = value; } resetRestrictions() { this._restrictions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get restrictionsInput() { return this._restrictions.internalValue; } } exports.CodebuildProjectBuildBatchConfigOutputReference = CodebuildProjectBuildBatchConfigOutputReference; _c = JSII_RTTI_SYMBOL_1; CodebuildProjectBuildBatchConfigOutputReference[_c] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectBuildBatchConfigOutputReference", version: "19.50.0" }; function codebuildProjectCacheToTerraform(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 { location: cdktf.stringToTerraform(struct.location), modes: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.modes), type: cdktf.stringToTerraform(struct.type), }; } exports.codebuildProjectCacheToTerraform = codebuildProjectCacheToTerraform; function codebuildProjectCacheToHclTerraform(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 = { location: { value: cdktf.stringToHclTerraform(struct.location), isBlock: false, type: "simple", storageClassType: "string", }, modes: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.modes), isBlock: false, type: "list", storageClassType: "stringList", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectCacheToHclTerraform = codebuildProjectCacheToHclTerraform; class CodebuildProjectCacheOutputReference 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._location !== undefined) { hasAnyValues = true; internalValueResult.location = this._location; } if (this._modes !== undefined) { hasAnyValues = true; internalValueResult.modes = this._modes; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._location = undefined; this._modes = undefined; this._type = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._location = value.location; this._modes = value.modes; this._type = value.type; } } get location() { return this.getStringAttribute('location'); } set location(value) { this._location = value; } resetLocation() { this._location = undefined; } // Temporarily expose input value. Use with caution. get locationInput() { return this._location; } get modes() { return this.getListAttribute('modes'); } set modes(value) { this._modes = value; } resetModes() { this._modes = undefined; } // Temporarily expose input value. Use with caution. get modesInput() { return this._modes; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } } exports.CodebuildProjectCacheOutputReference = CodebuildProjectCacheOutputReference; _d = JSII_RTTI_SYMBOL_1; CodebuildProjectCacheOutputReference[_d] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectCacheOutputReference", version: "19.50.0" }; function codebuildProjectEnvironmentEnvironmentVariableToTerraform(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 { name: cdktf.stringToTerraform(struct.name), type: cdktf.stringToTerraform(struct.type), value: cdktf.stringToTerraform(struct.value), }; } exports.codebuildProjectEnvironmentEnvironmentVariableToTerraform = codebuildProjectEnvironmentEnvironmentVariableToTerraform; function codebuildProjectEnvironmentEnvironmentVariableToHclTerraform(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 = { name: { value: cdktf.stringToHclTerraform(struct.name), isBlock: false, type: "simple", storageClassType: "string", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, value: { value: cdktf.stringToHclTerraform(struct.value), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectEnvironmentEnvironmentVariableToHclTerraform = codebuildProjectEnvironmentEnvironmentVariableToHclTerraform; class CodebuildProjectEnvironmentEnvironmentVariableOutputReference extends cdktf.ComplexObject { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param complexObjectIndex the index of this item in the list * @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) { super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._name !== undefined) { hasAnyValues = true; internalValueResult.name = this._name; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._value !== undefined) { hasAnyValues = true; internalValueResult.value = this._value; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._name = undefined; this._type = undefined; this._value = undefined; } else if (cdktf.Tokenization.isResolvable(value)) { this.isEmptyObject = false; this.resolvableValue = value; } else { this.isEmptyObject = Object.keys(value).length === 0; this.resolvableValue = undefined; this._name = value.name; this._type = value.type; this._value = value.value; } } get name() { return this.getStringAttribute('name'); } set name(value) { this._name = value; } // Temporarily expose input value. Use with caution. get nameInput() { return this._name; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } resetType() { this._type = undefined; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get value() { return this.getStringAttribute('value'); } set value(value) { this._value = value; } // Temporarily expose input value. Use with caution. get valueInput() { return this._value; } } exports.CodebuildProjectEnvironmentEnvironmentVariableOutputReference = CodebuildProjectEnvironmentEnvironmentVariableOutputReference; _e = JSII_RTTI_SYMBOL_1; CodebuildProjectEnvironmentEnvironmentVariableOutputReference[_e] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectEnvironmentEnvironmentVariableOutputReference", version: "19.50.0" }; class CodebuildProjectEnvironmentEnvironmentVariableList extends cdktf.ComplexList { /** * @param terraformResource The parent resource * @param terraformAttribute The attribute on the parent resource this class is referencing * @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index) */ constructor(terraformResource, terraformAttribute, wrapsSet) { super(terraformResource, terraformAttribute, wrapsSet); this.terraformResource = terraformResource; this.terraformAttribute = terraformAttribute; this.wrapsSet = wrapsSet; } /** * @param index the index of the item to return */ get(index) { return new CodebuildProjectEnvironmentEnvironmentVariableOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.CodebuildProjectEnvironmentEnvironmentVariableList = CodebuildProjectEnvironmentEnvironmentVariableList; _f = JSII_RTTI_SYMBOL_1; CodebuildProjectEnvironmentEnvironmentVariableList[_f] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectEnvironmentEnvironmentVariableList", version: "19.50.0" }; function codebuildProjectEnvironmentFleetToTerraform(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 { fleet_arn: cdktf.stringToTerraform(struct.fleetArn), }; } exports.codebuildProjectEnvironmentFleetToTerraform = codebuildProjectEnvironmentFleetToTerraform; function codebuildProjectEnvironmentFleetToHclTerraform(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 = { fleet_arn: { value: cdktf.stringToHclTerraform(struct.fleetArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectEnvironmentFleetToHclTerraform = codebuildProjectEnvironmentFleetToHclTerraform; class CodebuildProjectEnvironmentFleetOutputReference 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._fleetArn !== undefined) { hasAnyValues = true; internalValueResult.fleetArn = this._fleetArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._fleetArn = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._fleetArn = value.fleetArn; } } get fleetArn() { return this.getStringAttribute('fleet_arn'); } set fleetArn(value) { this._fleetArn = value; } resetFleetArn() { this._fleetArn = undefined; } // Temporarily expose input value. Use with caution. get fleetArnInput() { return this._fleetArn; } } exports.CodebuildProjectEnvironmentFleetOutputReference = CodebuildProjectEnvironmentFleetOutputReference; _g = JSII_RTTI_SYMBOL_1; CodebuildProjectEnvironmentFleetOutputReference[_g] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectEnvironmentFleetOutputReference", version: "19.50.0" }; function codebuildProjectEnvironmentRegistryCredentialToTerraform(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 { credential: cdktf.stringToTerraform(struct.credential), credential_provider: cdktf.stringToTerraform(struct.credentialProvider), }; } exports.codebuildProjectEnvironmentRegistryCredentialToTerraform = codebuildProjectEnvironmentRegistryCredentialToTerraform; function codebuildProjectEnvironmentRegistryCredentialToHclTerraform(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 = { credential: { value: cdktf.stringToHclTerraform(struct.credential), isBlock: false, type: "simple", storageClassType: "string", }, credential_provider: { value: cdktf.stringToHclTerraform(struct.credentialProvider), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectEnvironmentRegistryCredentialToHclTerraform = codebuildProjectEnvironmentRegistryCredentialToHclTerraform; class CodebuildProjectEnvironmentRegistryCredentialOutputReference 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._credential !== undefined) { hasAnyValues = true; internalValueResult.credential = this._credential; } if (this._credentialProvider !== undefined) { hasAnyValues = true; internalValueResult.credentialProvider = this._credentialProvider; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._credential = undefined; this._credentialProvider = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._credential = value.credential; this._credentialProvider = value.credentialProvider; } } get credential() { return this.getStringAttribute('credential'); } set credential(value) { this._credential = value; } // Temporarily expose input value. Use with caution. get credentialInput() { return this._credential; } get credentialProvider() { return this.getStringAttribute('credential_provider'); } set credentialProvider(value) { this._credentialProvider = value; } // Temporarily expose input value. Use with caution. get credentialProviderInput() { return this._credentialProvider; } } exports.CodebuildProjectEnvironmentRegistryCredentialOutputReference = CodebuildProjectEnvironmentRegistryCredentialOutputReference; _h = JSII_RTTI_SYMBOL_1; CodebuildProjectEnvironmentRegistryCredentialOutputReference[_h] = { fqn: "@cdktf/provider-aws.codebuildProject.CodebuildProjectEnvironmentRegistryCredentialOutputReference", version: "19.50.0" }; function codebuildProjectEnvironmentToTerraform(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: cdktf.stringToTerraform(struct.certificate), compute_type: cdktf.stringToTerraform(struct.computeType), image: cdktf.stringToTerraform(struct.image), image_pull_credentials_type: cdktf.stringToTerraform(struct.imagePullCredentialsType), privileged_mode: cdktf.booleanToTerraform(struct.privilegedMode), type: cdktf.stringToTerraform(struct.type), environment_variable: cdktf.listMapper(codebuildProjectEnvironmentEnvironmentVariableToTerraform, true)(struct.environmentVariable), fleet: codebuildProjectEnvironmentFleetToTerraform(struct.fleet), registry_credential: codebuildProjectEnvironmentRegistryCredentialToTerraform(struct.registryCredential), }; } exports.codebuildProjectEnvironmentToTerraform = codebuildProjectEnvironmentToTerraform; function codebuildProjectEnvironmentToHclTerraform(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: { value: cdktf.stringToHclTerraform(struct.certificate), isBlock: false, type: "simple", storageClassType: "string", }, compute_type: { value: cdktf.stringToHclTerraform(struct.computeType), isBlock: false, type: "simple", storageClassType: "string", }, image: { value: cdktf.stringToHclTerraform(struct.image), isBlock: false, type: "simple", storageClassType: "string", }, image_pull_credentials_type: { value: cdktf.stringToHclTerraform(struct.imagePullCredentialsType), isBlock: false, type: "simple", storageClassType: "string", }, privileged_mode: { value: cdktf.booleanToHclTerraform(struct.privilegedMode), isBlock: false, type: "simple", storageClassType: "boolean", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, environment_variable: { value: cdktf.listMapperHcl(codebuildProjectEnvironmentEnvironmentVariableToHclTerraform, true)(struct.environmentVariable), isBlock: true, type: "list", storageClassType: "CodebuildProjectEnvironmentEnvironmentVariableList", }, fleet: { value: codebuildProjectEnvironmentFleetToHclTerraform(struct.fleet), isBlock: true, type: "list", storageClassType: "CodebuildProjectEnvironmentFleetList", }, registry_credential: { value: codebuildProjectEnvironmentRegistryCredentialToHclTerraform(struct.registryCredential), isBlock: true, type: "list", storageClassType: "CodebuildProjectEnvironmentRegistryCredentialList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.codebuildProjectEnvironmentToHclTerraform = codebuildProjectEnvironmentToHclTerraform; class CodebuildProjectEnvironmentOutputReference 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; // environment_variable - computed: false, optional: true, required: false this._environmentVariable = new CodebuildProjectEnvironmentEnvironmentVariableList(this, "environment_variable", false); // fleet - computed: false, optional: true, required: false this._fleet = new CodebuildProjectEnvironmentFleetOutputReference(this, "fleet"); // registry_credential - computed: false, optional: true, required: false this._registryCredential = new CodebuildProjectEnvironmentRegistryCredentialOutputReference(this, "registry_credential"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._certificate !== undefined) { hasAnyValues = true; internalValueResult.certificate = this._certificate; } if (this._computeType !== undefined) { hasAnyValues = true; internalValueResult.computeType = this._computeType; } if (this._image !== undefined) { hasAnyValues = true; internalValueResult.image = this._image; } if (this._imagePullCredentialsType !== undefined) { hasAnyValues = true; internalValueResult.imagePullCredentialsType = this._imagePullCredentialsType; } if (this._privilegedMode !== undefined) { hasAnyValues = true; internalValueResult.privilegedMode = this._privilegedMode; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._environmentVariable?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.environmentVariable = this._environmentVariable?.internalValue; } if (this._fleet?.internalValue !== undefined) {