UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,024 lines 148 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m; Object.defineProperty(exports, "__esModule", { value: true }); exports.OsisPipeline = exports.OsisPipelineVpcOptionsList = exports.OsisPipelineVpcOptionsOutputReference = exports.osisPipelineVpcOptionsToHclTerraform = exports.osisPipelineVpcOptionsToTerraform = exports.OsisPipelineTimeoutsOutputReference = exports.osisPipelineTimeoutsToHclTerraform = exports.osisPipelineTimeoutsToTerraform = exports.OsisPipelineLogPublishingOptionsList = exports.OsisPipelineLogPublishingOptionsOutputReference = exports.osisPipelineLogPublishingOptionsToHclTerraform = exports.osisPipelineLogPublishingOptionsToTerraform = exports.OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList = exports.OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference = exports.osisPipelineLogPublishingOptionsCloudwatchLogDestinationToHclTerraform = exports.osisPipelineLogPublishingOptionsCloudwatchLogDestinationToTerraform = exports.OsisPipelineEncryptionAtRestOptionsList = exports.OsisPipelineEncryptionAtRestOptionsOutputReference = exports.osisPipelineEncryptionAtRestOptionsToHclTerraform = exports.osisPipelineEncryptionAtRestOptionsToTerraform = exports.OsisPipelineBufferOptionsList = exports.OsisPipelineBufferOptionsOutputReference = exports.osisPipelineBufferOptionsToHclTerraform = exports.osisPipelineBufferOptionsToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function osisPipelineBufferOptionsToTerraform(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 { persistent_buffer_enabled: cdktf.booleanToTerraform(struct.persistentBufferEnabled), }; } exports.osisPipelineBufferOptionsToTerraform = osisPipelineBufferOptionsToTerraform; function osisPipelineBufferOptionsToHclTerraform(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 = { persistent_buffer_enabled: { value: cdktf.booleanToHclTerraform(struct.persistentBufferEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.osisPipelineBufferOptionsToHclTerraform = osisPipelineBufferOptionsToHclTerraform; class OsisPipelineBufferOptionsOutputReference 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._persistentBufferEnabled !== undefined) { hasAnyValues = true; internalValueResult.persistentBufferEnabled = this._persistentBufferEnabled; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._persistentBufferEnabled = 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._persistentBufferEnabled = value.persistentBufferEnabled; } } get persistentBufferEnabled() { return this.getBooleanAttribute('persistent_buffer_enabled'); } set persistentBufferEnabled(value) { this._persistentBufferEnabled = value; } // Temporarily expose input value. Use with caution. get persistentBufferEnabledInput() { return this._persistentBufferEnabled; } } exports.OsisPipelineBufferOptionsOutputReference = OsisPipelineBufferOptionsOutputReference; _a = JSII_RTTI_SYMBOL_1; OsisPipelineBufferOptionsOutputReference[_a] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineBufferOptionsOutputReference", version: "19.50.0" }; class OsisPipelineBufferOptionsList 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 OsisPipelineBufferOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OsisPipelineBufferOptionsList = OsisPipelineBufferOptionsList; _b = JSII_RTTI_SYMBOL_1; OsisPipelineBufferOptionsList[_b] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineBufferOptionsList", version: "19.50.0" }; function osisPipelineEncryptionAtRestOptionsToTerraform(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 { kms_key_arn: cdktf.stringToTerraform(struct.kmsKeyArn), }; } exports.osisPipelineEncryptionAtRestOptionsToTerraform = osisPipelineEncryptionAtRestOptionsToTerraform; function osisPipelineEncryptionAtRestOptionsToHclTerraform(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 = { kms_key_arn: { value: cdktf.stringToHclTerraform(struct.kmsKeyArn), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.osisPipelineEncryptionAtRestOptionsToHclTerraform = osisPipelineEncryptionAtRestOptionsToHclTerraform; class OsisPipelineEncryptionAtRestOptionsOutputReference 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._kmsKeyArn !== undefined) { hasAnyValues = true; internalValueResult.kmsKeyArn = this._kmsKeyArn; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._kmsKeyArn = 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._kmsKeyArn = value.kmsKeyArn; } } get kmsKeyArn() { return this.getStringAttribute('kms_key_arn'); } set kmsKeyArn(value) { this._kmsKeyArn = value; } // Temporarily expose input value. Use with caution. get kmsKeyArnInput() { return this._kmsKeyArn; } } exports.OsisPipelineEncryptionAtRestOptionsOutputReference = OsisPipelineEncryptionAtRestOptionsOutputReference; _c = JSII_RTTI_SYMBOL_1; OsisPipelineEncryptionAtRestOptionsOutputReference[_c] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineEncryptionAtRestOptionsOutputReference", version: "19.50.0" }; class OsisPipelineEncryptionAtRestOptionsList 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 OsisPipelineEncryptionAtRestOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OsisPipelineEncryptionAtRestOptionsList = OsisPipelineEncryptionAtRestOptionsList; _d = JSII_RTTI_SYMBOL_1; OsisPipelineEncryptionAtRestOptionsList[_d] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineEncryptionAtRestOptionsList", version: "19.50.0" }; function osisPipelineLogPublishingOptionsCloudwatchLogDestinationToTerraform(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 { log_group: cdktf.stringToTerraform(struct.logGroup), }; } exports.osisPipelineLogPublishingOptionsCloudwatchLogDestinationToTerraform = osisPipelineLogPublishingOptionsCloudwatchLogDestinationToTerraform; function osisPipelineLogPublishingOptionsCloudwatchLogDestinationToHclTerraform(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 = { log_group: { value: cdktf.stringToHclTerraform(struct.logGroup), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.osisPipelineLogPublishingOptionsCloudwatchLogDestinationToHclTerraform = osisPipelineLogPublishingOptionsCloudwatchLogDestinationToHclTerraform; class OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference 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._logGroup !== undefined) { hasAnyValues = true; internalValueResult.logGroup = this._logGroup; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._logGroup = 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._logGroup = value.logGroup; } } get logGroup() { return this.getStringAttribute('log_group'); } set logGroup(value) { this._logGroup = value; } // Temporarily expose input value. Use with caution. get logGroupInput() { return this._logGroup; } } exports.OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference = OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference; _e = JSII_RTTI_SYMBOL_1; OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference[_e] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference", version: "19.50.0" }; class OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList 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 OsisPipelineLogPublishingOptionsCloudwatchLogDestinationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList = OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList; _f = JSII_RTTI_SYMBOL_1; OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList[_f] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList", version: "19.50.0" }; function osisPipelineLogPublishingOptionsToTerraform(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 { is_logging_enabled: cdktf.booleanToTerraform(struct.isLoggingEnabled), cloudwatch_log_destination: cdktf.listMapper(osisPipelineLogPublishingOptionsCloudwatchLogDestinationToTerraform, true)(struct.cloudwatchLogDestination), }; } exports.osisPipelineLogPublishingOptionsToTerraform = osisPipelineLogPublishingOptionsToTerraform; function osisPipelineLogPublishingOptionsToHclTerraform(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 = { is_logging_enabled: { value: cdktf.booleanToHclTerraform(struct.isLoggingEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, cloudwatch_log_destination: { value: cdktf.listMapperHcl(osisPipelineLogPublishingOptionsCloudwatchLogDestinationToHclTerraform, true)(struct.cloudwatchLogDestination), isBlock: true, type: "list", storageClassType: "OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.osisPipelineLogPublishingOptionsToHclTerraform = osisPipelineLogPublishingOptionsToHclTerraform; class OsisPipelineLogPublishingOptionsOutputReference 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; // cloudwatch_log_destination - computed: false, optional: true, required: false this._cloudwatchLogDestination = new OsisPipelineLogPublishingOptionsCloudwatchLogDestinationList(this, "cloudwatch_log_destination", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._isLoggingEnabled !== undefined) { hasAnyValues = true; internalValueResult.isLoggingEnabled = this._isLoggingEnabled; } if (this._cloudwatchLogDestination?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.cloudwatchLogDestination = this._cloudwatchLogDestination?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._isLoggingEnabled = undefined; this._cloudwatchLogDestination.internalValue = 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._isLoggingEnabled = value.isLoggingEnabled; this._cloudwatchLogDestination.internalValue = value.cloudwatchLogDestination; } } get isLoggingEnabled() { return this.getBooleanAttribute('is_logging_enabled'); } set isLoggingEnabled(value) { this._isLoggingEnabled = value; } resetIsLoggingEnabled() { this._isLoggingEnabled = undefined; } // Temporarily expose input value. Use with caution. get isLoggingEnabledInput() { return this._isLoggingEnabled; } get cloudwatchLogDestination() { return this._cloudwatchLogDestination; } putCloudwatchLogDestination(value) { this._cloudwatchLogDestination.internalValue = value; } resetCloudwatchLogDestination() { this._cloudwatchLogDestination.internalValue = undefined; } // Temporarily expose input value. Use with caution. get cloudwatchLogDestinationInput() { return this._cloudwatchLogDestination.internalValue; } } exports.OsisPipelineLogPublishingOptionsOutputReference = OsisPipelineLogPublishingOptionsOutputReference; _g = JSII_RTTI_SYMBOL_1; OsisPipelineLogPublishingOptionsOutputReference[_g] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineLogPublishingOptionsOutputReference", version: "19.50.0" }; class OsisPipelineLogPublishingOptionsList 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 OsisPipelineLogPublishingOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OsisPipelineLogPublishingOptionsList = OsisPipelineLogPublishingOptionsList; _h = JSII_RTTI_SYMBOL_1; OsisPipelineLogPublishingOptionsList[_h] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineLogPublishingOptionsList", version: "19.50.0" }; function osisPipelineTimeoutsToTerraform(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 { create: cdktf.stringToTerraform(struct.create), delete: cdktf.stringToTerraform(struct.delete), update: cdktf.stringToTerraform(struct.update), }; } exports.osisPipelineTimeoutsToTerraform = osisPipelineTimeoutsToTerraform; function osisPipelineTimeoutsToHclTerraform(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 = { create: { value: cdktf.stringToHclTerraform(struct.create), isBlock: false, type: "simple", storageClassType: "string", }, delete: { value: cdktf.stringToHclTerraform(struct.delete), isBlock: false, type: "simple", storageClassType: "string", }, update: { value: cdktf.stringToHclTerraform(struct.update), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.osisPipelineTimeoutsToHclTerraform = osisPipelineTimeoutsToHclTerraform; class OsisPipelineTimeoutsOutputReference 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); this.isEmptyObject = false; } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._create !== undefined) { hasAnyValues = true; internalValueResult.create = this._create; } if (this._delete !== undefined) { hasAnyValues = true; internalValueResult.delete = this._delete; } if (this._update !== undefined) { hasAnyValues = true; internalValueResult.update = this._update; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._create = undefined; this._delete = undefined; this._update = 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._create = value.create; this._delete = value.delete; this._update = value.update; } } get create() { return this.getStringAttribute('create'); } set create(value) { this._create = value; } resetCreate() { this._create = undefined; } // Temporarily expose input value. Use with caution. get createInput() { return this._create; } get delete() { return this.getStringAttribute('delete'); } set delete(value) { this._delete = value; } resetDelete() { this._delete = undefined; } // Temporarily expose input value. Use with caution. get deleteInput() { return this._delete; } get update() { return this.getStringAttribute('update'); } set update(value) { this._update = value; } resetUpdate() { this._update = undefined; } // Temporarily expose input value. Use with caution. get updateInput() { return this._update; } } exports.OsisPipelineTimeoutsOutputReference = OsisPipelineTimeoutsOutputReference; _j = JSII_RTTI_SYMBOL_1; OsisPipelineTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineTimeoutsOutputReference", version: "19.50.0" }; function osisPipelineVpcOptionsToTerraform(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 { security_group_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.securityGroupIds), subnet_ids: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.subnetIds), }; } exports.osisPipelineVpcOptionsToTerraform = osisPipelineVpcOptionsToTerraform; function osisPipelineVpcOptionsToHclTerraform(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 = { security_group_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.securityGroupIds), isBlock: false, type: "set", storageClassType: "stringList", }, subnet_ids: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.subnetIds), isBlock: false, type: "set", storageClassType: "stringList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.osisPipelineVpcOptionsToHclTerraform = osisPipelineVpcOptionsToHclTerraform; class OsisPipelineVpcOptionsOutputReference 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._securityGroupIds !== undefined) { hasAnyValues = true; internalValueResult.securityGroupIds = this._securityGroupIds; } if (this._subnetIds !== undefined) { hasAnyValues = true; internalValueResult.subnetIds = this._subnetIds; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._securityGroupIds = undefined; this._subnetIds = 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._securityGroupIds = value.securityGroupIds; this._subnetIds = value.subnetIds; } } get securityGroupIds() { return cdktf.Fn.tolist(this.getListAttribute('security_group_ids')); } set securityGroupIds(value) { this._securityGroupIds = value; } resetSecurityGroupIds() { this._securityGroupIds = undefined; } // Temporarily expose input value. Use with caution. get securityGroupIdsInput() { return this._securityGroupIds; } get subnetIds() { return cdktf.Fn.tolist(this.getListAttribute('subnet_ids')); } set subnetIds(value) { this._subnetIds = value; } // Temporarily expose input value. Use with caution. get subnetIdsInput() { return this._subnetIds; } } exports.OsisPipelineVpcOptionsOutputReference = OsisPipelineVpcOptionsOutputReference; _k = JSII_RTTI_SYMBOL_1; OsisPipelineVpcOptionsOutputReference[_k] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineVpcOptionsOutputReference", version: "19.50.0" }; class OsisPipelineVpcOptionsList 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 OsisPipelineVpcOptionsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.OsisPipelineVpcOptionsList = OsisPipelineVpcOptionsList; _l = JSII_RTTI_SYMBOL_1; OsisPipelineVpcOptionsList[_l] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipelineVpcOptionsList", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/osis_pipeline aws_osis_pipeline} */ class OsisPipeline extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a OsisPipeline 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 OsisPipeline to import * @param importFromId The id of the existing OsisPipeline that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/osis_pipeline#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the OsisPipeline to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_osis_pipeline", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/osis_pipeline aws_osis_pipeline} 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 OsisPipelineConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_osis_pipeline', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // tags_all - computed: true, optional: false, required: false this._tagsAll = new cdktf.StringMap(this, "tags_all"); // buffer_options - computed: false, optional: true, required: false this._bufferOptions = new OsisPipelineBufferOptionsList(this, "buffer_options", false); // encryption_at_rest_options - computed: false, optional: true, required: false this._encryptionAtRestOptions = new OsisPipelineEncryptionAtRestOptionsList(this, "encryption_at_rest_options", false); // log_publishing_options - computed: false, optional: true, required: false this._logPublishingOptions = new OsisPipelineLogPublishingOptionsList(this, "log_publishing_options", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new OsisPipelineTimeoutsOutputReference(this, "timeouts"); // vpc_options - computed: false, optional: true, required: false this._vpcOptions = new OsisPipelineVpcOptionsList(this, "vpc_options", false); this._maxUnits = config.maxUnits; this._minUnits = config.minUnits; this._pipelineConfigurationBody = config.pipelineConfigurationBody; this._pipelineName = config.pipelineName; this._tags = config.tags; this._bufferOptions.internalValue = config.bufferOptions; this._encryptionAtRestOptions.internalValue = config.encryptionAtRestOptions; this._logPublishingOptions.internalValue = config.logPublishingOptions; this._timeouts.internalValue = config.timeouts; this._vpcOptions.internalValue = config.vpcOptions; } // ========== // ATTRIBUTES // ========== // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } // ingest_endpoint_urls - computed: true, optional: false, required: false get ingestEndpointUrls() { return cdktf.Fn.tolist(this.getListAttribute('ingest_endpoint_urls')); } get maxUnits() { return this.getNumberAttribute('max_units'); } set maxUnits(value) { this._maxUnits = value; } // Temporarily expose input value. Use with caution. get maxUnitsInput() { return this._maxUnits; } get minUnits() { return this.getNumberAttribute('min_units'); } set minUnits(value) { this._minUnits = value; } // Temporarily expose input value. Use with caution. get minUnitsInput() { return this._minUnits; } // pipeline_arn - computed: true, optional: false, required: false get pipelineArn() { return this.getStringAttribute('pipeline_arn'); } get pipelineConfigurationBody() { return this.getStringAttribute('pipeline_configuration_body'); } set pipelineConfigurationBody(value) { this._pipelineConfigurationBody = value; } // Temporarily expose input value. Use with caution. get pipelineConfigurationBodyInput() { return this._pipelineConfigurationBody; } get pipelineName() { return this.getStringAttribute('pipeline_name'); } set pipelineName(value) { this._pipelineName = value; } // Temporarily expose input value. Use with caution. get pipelineNameInput() { return this._pipelineName; } 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._tagsAll; } get bufferOptions() { return this._bufferOptions; } putBufferOptions(value) { this._bufferOptions.internalValue = value; } resetBufferOptions() { this._bufferOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get bufferOptionsInput() { return this._bufferOptions.internalValue; } get encryptionAtRestOptions() { return this._encryptionAtRestOptions; } putEncryptionAtRestOptions(value) { this._encryptionAtRestOptions.internalValue = value; } resetEncryptionAtRestOptions() { this._encryptionAtRestOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get encryptionAtRestOptionsInput() { return this._encryptionAtRestOptions.internalValue; } get logPublishingOptions() { return this._logPublishingOptions; } putLogPublishingOptions(value) { this._logPublishingOptions.internalValue = value; } resetLogPublishingOptions() { this._logPublishingOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get logPublishingOptionsInput() { return this._logPublishingOptions.internalValue; } get timeouts() { return this._timeouts; } putTimeouts(value) { this._timeouts.internalValue = value; } resetTimeouts() { this._timeouts.internalValue = undefined; } // Temporarily expose input value. Use with caution. get timeoutsInput() { return this._timeouts.internalValue; } get vpcOptions() { return this._vpcOptions; } putVpcOptions(value) { this._vpcOptions.internalValue = value; } resetVpcOptions() { this._vpcOptions.internalValue = undefined; } // Temporarily expose input value. Use with caution. get vpcOptionsInput() { return this._vpcOptions.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { max_units: cdktf.numberToTerraform(this._maxUnits), min_units: cdktf.numberToTerraform(this._minUnits), pipeline_configuration_body: cdktf.stringToTerraform(this._pipelineConfigurationBody), pipeline_name: cdktf.stringToTerraform(this._pipelineName), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), buffer_options: cdktf.listMapper(osisPipelineBufferOptionsToTerraform, true)(this._bufferOptions.internalValue), encryption_at_rest_options: cdktf.listMapper(osisPipelineEncryptionAtRestOptionsToTerraform, true)(this._encryptionAtRestOptions.internalValue), log_publishing_options: cdktf.listMapper(osisPipelineLogPublishingOptionsToTerraform, true)(this._logPublishingOptions.internalValue), timeouts: osisPipelineTimeoutsToTerraform(this._timeouts.internalValue), vpc_options: cdktf.listMapper(osisPipelineVpcOptionsToTerraform, true)(this._vpcOptions.internalValue), }; } synthesizeHclAttributes() { const attrs = { max_units: { value: cdktf.numberToHclTerraform(this._maxUnits), isBlock: false, type: "simple", storageClassType: "number", }, min_units: { value: cdktf.numberToHclTerraform(this._minUnits), isBlock: false, type: "simple", storageClassType: "number", }, pipeline_configuration_body: { value: cdktf.stringToHclTerraform(this._pipelineConfigurationBody), isBlock: false, type: "simple", storageClassType: "string", }, pipeline_name: { value: cdktf.stringToHclTerraform(this._pipelineName), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, buffer_options: { value: cdktf.listMapperHcl(osisPipelineBufferOptionsToHclTerraform, true)(this._bufferOptions.internalValue), isBlock: true, type: "list", storageClassType: "OsisPipelineBufferOptionsList", }, encryption_at_rest_options: { value: cdktf.listMapperHcl(osisPipelineEncryptionAtRestOptionsToHclTerraform, true)(this._encryptionAtRestOptions.internalValue), isBlock: true, type: "list", storageClassType: "OsisPipelineEncryptionAtRestOptionsList", }, log_publishing_options: { value: cdktf.listMapperHcl(osisPipelineLogPublishingOptionsToHclTerraform, true)(this._logPublishingOptions.internalValue), isBlock: true, type: "list", storageClassType: "OsisPipelineLogPublishingOptionsList", }, timeouts: { value: osisPipelineTimeoutsToHclTerraform(this._timeouts.internalValue), isBlock: true, type: "struct", storageClassType: "OsisPipelineTimeouts", }, vpc_options: { value: cdktf.listMapperHcl(osisPipelineVpcOptionsToHclTerraform, true)(this._vpcOptions.internalValue), isBlock: true, type: "list", storageClassType: "OsisPipelineVpcOptionsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } } exports.OsisPipeline = OsisPipeline; _m = JSII_RTTI_SYMBOL_1; OsisPipeline[_m] = { fqn: "@cdktf/provider-aws.osisPipeline.OsisPipeline", version: "19.50.0" }; // ================= // STATIC PROPERTIES // ================= OsisPipeline.tfResourceType = "aws_osis_pipeline"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvb3Npcy1waXBlbGluZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQVNBLCtCQUErQjtBQStEL0IsU0FBZ0Isb0NBQW9DLENBQUMsTUFBc0Q7SUFDekcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLHlCQUF5QixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFPLENBQUMsdUJBQXVCLENBQUM7S0FDckYsQ0FBQTtBQUNILENBQUM7QUFSRCxvRkFRQztBQUdELFNBQWdCLHVDQUF1QyxDQUFDLE1BQXNEO0lBQzVHLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE1BQU0sS0FBSyxHQUFHO1FBQ1oseUJBQXlCLEVBQUU7WUFDekIsS0FBSyxFQUFFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFPLENBQUMsdUJBQXVCLENBQUM7WUFDbkUsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJ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