UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,077 lines (1,076 loc) 160 kB
"use strict"; var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p; Object.defineProperty(exports, "__esModule", { value: true }); exports.SecuritylakeSubscriber = exports.SecuritylakeSubscriberTimeoutsOutputReference = exports.securitylakeSubscriberTimeoutsToHclTerraform = exports.securitylakeSubscriberTimeoutsToTerraform = exports.SecuritylakeSubscriberSubscriberIdentityList = exports.SecuritylakeSubscriberSubscriberIdentityOutputReference = exports.securitylakeSubscriberSubscriberIdentityToHclTerraform = exports.securitylakeSubscriberSubscriberIdentityToTerraform = exports.SecuritylakeSubscriberSourceList = exports.SecuritylakeSubscriberSourceOutputReference = exports.securitylakeSubscriberSourceToHclTerraform = exports.securitylakeSubscriberSourceToTerraform = exports.SecuritylakeSubscriberSourceCustomLogSourceResourceList = exports.SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference = exports.securitylakeSubscriberSourceCustomLogSourceResourceToHclTerraform = exports.securitylakeSubscriberSourceCustomLogSourceResourceToTerraform = exports.SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList = exports.SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference = exports.securitylakeSubscriberSourceCustomLogSourceResourceProviderToHclTerraform = exports.securitylakeSubscriberSourceCustomLogSourceResourceProviderToTerraform = exports.SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList = exports.SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference = exports.securitylakeSubscriberSourceCustomLogSourceResourceAttributesToHclTerraform = exports.securitylakeSubscriberSourceCustomLogSourceResourceAttributesToTerraform = exports.SecuritylakeSubscriberSourceAwsLogSourceResourceList = exports.SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference = exports.securitylakeSubscriberSourceAwsLogSourceResourceToHclTerraform = exports.securitylakeSubscriberSourceAwsLogSourceResourceToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function securitylakeSubscriberSourceAwsLogSourceResourceToTerraform(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 { source_name: cdktf.stringToTerraform(struct.sourceName), source_version: cdktf.stringToTerraform(struct.sourceVersion), }; } exports.securitylakeSubscriberSourceAwsLogSourceResourceToTerraform = securitylakeSubscriberSourceAwsLogSourceResourceToTerraform; function securitylakeSubscriberSourceAwsLogSourceResourceToHclTerraform(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 = { source_name: { value: cdktf.stringToHclTerraform(struct.sourceName), isBlock: false, type: "simple", storageClassType: "string", }, source_version: { value: cdktf.stringToHclTerraform(struct.sourceVersion), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.securitylakeSubscriberSourceAwsLogSourceResourceToHclTerraform = securitylakeSubscriberSourceAwsLogSourceResourceToHclTerraform; class SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference 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._sourceName !== undefined) { hasAnyValues = true; internalValueResult.sourceName = this._sourceName; } if (this._sourceVersion !== undefined) { hasAnyValues = true; internalValueResult.sourceVersion = this._sourceVersion; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._sourceName = undefined; this._sourceVersion = 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._sourceName = value.sourceName; this._sourceVersion = value.sourceVersion; } } get sourceName() { return this.getStringAttribute('source_name'); } set sourceName(value) { this._sourceName = value; } // Temporarily expose input value. Use with caution. get sourceNameInput() { return this._sourceName; } get sourceVersion() { return this.getStringAttribute('source_version'); } set sourceVersion(value) { this._sourceVersion = value; } resetSourceVersion() { this._sourceVersion = undefined; } // Temporarily expose input value. Use with caution. get sourceVersionInput() { return this._sourceVersion; } } exports.SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference = SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference; _a = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference[_a] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference", version: "19.50.0" }; class SecuritylakeSubscriberSourceAwsLogSourceResourceList 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 SecuritylakeSubscriberSourceAwsLogSourceResourceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SecuritylakeSubscriberSourceAwsLogSourceResourceList = SecuritylakeSubscriberSourceAwsLogSourceResourceList; _b = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceAwsLogSourceResourceList[_b] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceAwsLogSourceResourceList", version: "19.50.0" }; function securitylakeSubscriberSourceCustomLogSourceResourceAttributesToTerraform(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 {}; } exports.securitylakeSubscriberSourceCustomLogSourceResourceAttributesToTerraform = securitylakeSubscriberSourceCustomLogSourceResourceAttributesToTerraform; function securitylakeSubscriberSourceCustomLogSourceResourceAttributesToHclTerraform(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 = {}; return attrs; } exports.securitylakeSubscriberSourceCustomLogSourceResourceAttributesToHclTerraform = securitylakeSubscriberSourceCustomLogSourceResourceAttributesToHclTerraform; class SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference 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() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // crawler_arn - computed: true, optional: false, required: false get crawlerArn() { return this.getStringAttribute('crawler_arn'); } // database_arn - computed: true, optional: false, required: false get databaseArn() { return this.getStringAttribute('database_arn'); } // table_arn - computed: true, optional: false, required: false get tableArn() { return this.getStringAttribute('table_arn'); } } exports.SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference = SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference; _c = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference[_c] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference", version: "19.50.0" }; class SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList 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 SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList = SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList; _d = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList[_d] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList", version: "19.50.0" }; function securitylakeSubscriberSourceCustomLogSourceResourceProviderToTerraform(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 {}; } exports.securitylakeSubscriberSourceCustomLogSourceResourceProviderToTerraform = securitylakeSubscriberSourceCustomLogSourceResourceProviderToTerraform; function securitylakeSubscriberSourceCustomLogSourceResourceProviderToHclTerraform(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 = {}; return attrs; } exports.securitylakeSubscriberSourceCustomLogSourceResourceProviderToHclTerraform = securitylakeSubscriberSourceCustomLogSourceResourceProviderToHclTerraform; class SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference 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() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; } else { this.isEmptyObject = Object.keys(value).length === 0; } } // location - computed: true, optional: false, required: false get location() { return this.getStringAttribute('location'); } // role_arn - computed: true, optional: false, required: false get roleArn() { return this.getStringAttribute('role_arn'); } } exports.SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference = SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference; _e = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference[_e] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference", version: "19.50.0" }; class SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList 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 SecuritylakeSubscriberSourceCustomLogSourceResourceProviderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList = SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList; _f = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList[_f] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList", version: "19.50.0" }; function securitylakeSubscriberSourceCustomLogSourceResourceToTerraform(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 { source_name: cdktf.stringToTerraform(struct.sourceName), source_version: cdktf.stringToTerraform(struct.sourceVersion), }; } exports.securitylakeSubscriberSourceCustomLogSourceResourceToTerraform = securitylakeSubscriberSourceCustomLogSourceResourceToTerraform; function securitylakeSubscriberSourceCustomLogSourceResourceToHclTerraform(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 = { source_name: { value: cdktf.stringToHclTerraform(struct.sourceName), isBlock: false, type: "simple", storageClassType: "string", }, source_version: { value: cdktf.stringToHclTerraform(struct.sourceVersion), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.securitylakeSubscriberSourceCustomLogSourceResourceToHclTerraform = securitylakeSubscriberSourceCustomLogSourceResourceToHclTerraform; class SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference 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; // attributes - computed: true, optional: false, required: false this._attributes = new SecuritylakeSubscriberSourceCustomLogSourceResourceAttributesList(this, "attributes", false); // provider - computed: true, optional: false, required: false this._provider = new SecuritylakeSubscriberSourceCustomLogSourceResourceProviderList(this, "provider", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._sourceName !== undefined) { hasAnyValues = true; internalValueResult.sourceName = this._sourceName; } if (this._sourceVersion !== undefined) { hasAnyValues = true; internalValueResult.sourceVersion = this._sourceVersion; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._sourceName = undefined; this._sourceVersion = 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._sourceName = value.sourceName; this._sourceVersion = value.sourceVersion; } } get attributes() { return this._attributes; } get provider() { return this._provider; } get sourceName() { return this.getStringAttribute('source_name'); } set sourceName(value) { this._sourceName = value; } // Temporarily expose input value. Use with caution. get sourceNameInput() { return this._sourceName; } get sourceVersion() { return this.getStringAttribute('source_version'); } set sourceVersion(value) { this._sourceVersion = value; } resetSourceVersion() { this._sourceVersion = undefined; } // Temporarily expose input value. Use with caution. get sourceVersionInput() { return this._sourceVersion; } } exports.SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference = SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference; _g = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference[_g] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference", version: "19.50.0" }; class SecuritylakeSubscriberSourceCustomLogSourceResourceList 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 SecuritylakeSubscriberSourceCustomLogSourceResourceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SecuritylakeSubscriberSourceCustomLogSourceResourceList = SecuritylakeSubscriberSourceCustomLogSourceResourceList; _h = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceCustomLogSourceResourceList[_h] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceCustomLogSourceResourceList", version: "19.50.0" }; function securitylakeSubscriberSourceToTerraform(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 { aws_log_source_resource: cdktf.listMapper(securitylakeSubscriberSourceAwsLogSourceResourceToTerraform, true)(struct.awsLogSourceResource), custom_log_source_resource: cdktf.listMapper(securitylakeSubscriberSourceCustomLogSourceResourceToTerraform, true)(struct.customLogSourceResource), }; } exports.securitylakeSubscriberSourceToTerraform = securitylakeSubscriberSourceToTerraform; function securitylakeSubscriberSourceToHclTerraform(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 = { aws_log_source_resource: { value: cdktf.listMapperHcl(securitylakeSubscriberSourceAwsLogSourceResourceToHclTerraform, true)(struct.awsLogSourceResource), isBlock: true, type: "list", storageClassType: "SecuritylakeSubscriberSourceAwsLogSourceResourceList", }, custom_log_source_resource: { value: cdktf.listMapperHcl(securitylakeSubscriberSourceCustomLogSourceResourceToHclTerraform, true)(struct.customLogSourceResource), isBlock: true, type: "list", storageClassType: "SecuritylakeSubscriberSourceCustomLogSourceResourceList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.securitylakeSubscriberSourceToHclTerraform = securitylakeSubscriberSourceToHclTerraform; class SecuritylakeSubscriberSourceOutputReference 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; // aws_log_source_resource - computed: false, optional: true, required: false this._awsLogSourceResource = new SecuritylakeSubscriberSourceAwsLogSourceResourceList(this, "aws_log_source_resource", false); // custom_log_source_resource - computed: false, optional: true, required: false this._customLogSourceResource = new SecuritylakeSubscriberSourceCustomLogSourceResourceList(this, "custom_log_source_resource", false); } get internalValue() { if (this.resolvableValue) { return this.resolvableValue; } let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._awsLogSourceResource?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.awsLogSourceResource = this._awsLogSourceResource?.internalValue; } if (this._customLogSourceResource?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.customLogSourceResource = this._customLogSourceResource?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._awsLogSourceResource.internalValue = undefined; this._customLogSourceResource.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._awsLogSourceResource.internalValue = value.awsLogSourceResource; this._customLogSourceResource.internalValue = value.customLogSourceResource; } } get awsLogSourceResource() { return this._awsLogSourceResource; } putAwsLogSourceResource(value) { this._awsLogSourceResource.internalValue = value; } resetAwsLogSourceResource() { this._awsLogSourceResource.internalValue = undefined; } // Temporarily expose input value. Use with caution. get awsLogSourceResourceInput() { return this._awsLogSourceResource.internalValue; } get customLogSourceResource() { return this._customLogSourceResource; } putCustomLogSourceResource(value) { this._customLogSourceResource.internalValue = value; } resetCustomLogSourceResource() { this._customLogSourceResource.internalValue = undefined; } // Temporarily expose input value. Use with caution. get customLogSourceResourceInput() { return this._customLogSourceResource.internalValue; } } exports.SecuritylakeSubscriberSourceOutputReference = SecuritylakeSubscriberSourceOutputReference; _j = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceOutputReference[_j] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceOutputReference", version: "19.50.0" }; class SecuritylakeSubscriberSourceList 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 SecuritylakeSubscriberSourceOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SecuritylakeSubscriberSourceList = SecuritylakeSubscriberSourceList; _k = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSourceList[_k] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSourceList", version: "19.50.0" }; function securitylakeSubscriberSubscriberIdentityToTerraform(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 { external_id: cdktf.stringToTerraform(struct.externalId), principal: cdktf.stringToTerraform(struct.principal), }; } exports.securitylakeSubscriberSubscriberIdentityToTerraform = securitylakeSubscriberSubscriberIdentityToTerraform; function securitylakeSubscriberSubscriberIdentityToHclTerraform(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 = { external_id: { value: cdktf.stringToHclTerraform(struct.externalId), isBlock: false, type: "simple", storageClassType: "string", }, principal: { value: cdktf.stringToHclTerraform(struct.principal), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.securitylakeSubscriberSubscriberIdentityToHclTerraform = securitylakeSubscriberSubscriberIdentityToHclTerraform; class SecuritylakeSubscriberSubscriberIdentityOutputReference 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._externalId !== undefined) { hasAnyValues = true; internalValueResult.externalId = this._externalId; } if (this._principal !== undefined) { hasAnyValues = true; internalValueResult.principal = this._principal; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._externalId = undefined; this._principal = 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._externalId = value.externalId; this._principal = value.principal; } } get externalId() { return this.getStringAttribute('external_id'); } set externalId(value) { this._externalId = value; } // Temporarily expose input value. Use with caution. get externalIdInput() { return this._externalId; } get principal() { return this.getStringAttribute('principal'); } set principal(value) { this._principal = value; } // Temporarily expose input value. Use with caution. get principalInput() { return this._principal; } } exports.SecuritylakeSubscriberSubscriberIdentityOutputReference = SecuritylakeSubscriberSubscriberIdentityOutputReference; _l = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSubscriberIdentityOutputReference[_l] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSubscriberIdentityOutputReference", version: "19.50.0" }; class SecuritylakeSubscriberSubscriberIdentityList 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 SecuritylakeSubscriberSubscriberIdentityOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.SecuritylakeSubscriberSubscriberIdentityList = SecuritylakeSubscriberSubscriberIdentityList; _m = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberSubscriberIdentityList[_m] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberSubscriberIdentityList", version: "19.50.0" }; function securitylakeSubscriberTimeoutsToTerraform(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.securitylakeSubscriberTimeoutsToTerraform = securitylakeSubscriberTimeoutsToTerraform; function securitylakeSubscriberTimeoutsToHclTerraform(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.securitylakeSubscriberTimeoutsToHclTerraform = securitylakeSubscriberTimeoutsToHclTerraform; class SecuritylakeSubscriberTimeoutsOutputReference 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.SecuritylakeSubscriberTimeoutsOutputReference = SecuritylakeSubscriberTimeoutsOutputReference; _o = JSII_RTTI_SYMBOL_1; SecuritylakeSubscriberTimeoutsOutputReference[_o] = { fqn: "@cdktf/provider-aws.securitylakeSubscriber.SecuritylakeSubscriberTimeoutsOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/securitylake_subscriber aws_securitylake_subscriber} */ class SecuritylakeSubscriber extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a SecuritylakeSubscriber 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 SecuritylakeSubscriber to import * @param importFromId The id of the existing SecuritylakeSubscriber that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/securitylake_subscriber#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the SecuritylakeSubscriber to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_securitylake_subscriber", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/securitylake_subscriber aws_securitylake_subscriber} 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 SecuritylakeSubscriberConfig = {} */ constructor(scope, id, config = {}) { super(scope, id, { terraformResourceType: 'aws_securitylake_subscriber', 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"); // source - computed: false, optional: true, required: false this._source = new SecuritylakeSubscriberSourceList(this, "source", true); // subscriber_identity - computed: false, optional: true, required: false this._subscriberIdentity = new SecuritylakeSubscriberSubscriberIdentityList(this, "subscriber_identity", false); // timeouts - computed: false, optional: true, required: false this._timeouts = new SecuritylakeSubscriberTimeoutsOutputReference(this, "timeouts"); this._accessType = config.accessType; this._subscriberDescription = config.subscriberDescription; this._subscriberName = config.subscriberName; this._tags = config.tags; this._source.internalValue = config.source; this._subscriberIdentity.internalValue = config.subscriberIdentity; this._timeouts.internalValue = config.timeouts; } get accessType() { return this.getStringAttribute('access_type'); } set accessType(value) { this._accessType = value; } resetAccessType() { this._accessType = undefined; } // Temporarily expose input value. Use with caution. get accessTypeInput() { return this._accessType; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } // id - computed: true, optional: false, required: false get id() { return this.getStringAttribute('id'); } // resource_share_arn - computed: true, optional: false, required: false get resourceShareArn() { return this.getStringAttribute('resource_share_arn'); } // resource_share_name - computed: true, optional: false, required: false get resourceShareName() { return this.getStringAttribute('resource_share_name'); } // role_arn - computed: true, optional: false, required: false get roleArn() { return this.getStringAttribute('role_arn'); } // s3_bucket_arn - computed: true, optional: false, required: false get s3BucketArn() { return this.getStringAttribute('s3_bucket_arn'); } get subscriberDescription() { return this.getStringAttribute('subscriber_description'); } set subscriberDescription(value) { this._subscriberDescription = value; } resetSubscriberDescription() { this._subscriberDescription = undefined; } // Temporarily expose input value. Use with caution. get subscriberDescriptionInput() { return this._subscriberDescription; } // subscriber_endpoint - computed: true, optional: false, required: false get subscriberEndpoint() { return this.getStringAttribute('subscriber_endpoint'); } get subscriberName() { return this.getStringAttribute('subscriber_name'); } set subscriberName(value) { this._subscriberName = value; } resetSubscriberName() { this._subscriberName = undefined; } // Temporarily expose input value. Use with caution. get subscriberNameInput() { return this._subscriberName; } // subscriber_status - computed: true, optional: false, required: false get subscriberStatus() { return this.getStringAttribute('subscriber_status'); } 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 source() { return this._source; } putSource(value) { this._source.internalValue = value; } resetSource() { this._source.internalValue = undefined; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source.internalValue; } get subscriberIdentity() { return this._subscriberIdentity; } putSubscriberIdentity(value) { this._subscriberIdentity.internalValue = value; } resetSubscriberIdentity() { this._subscriberIdentity.internalValue = undefined; } // Temporarily expose input value. Use with caution. get subscriberIdentityInput() { return this._subscriberIdentity.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; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { access_type: cdktf.stringToTerraform(this._accessType), subscriber_description: cdktf.stringToTerraform(this._subscriberDescription), subscriber_name: cdktf.stringToTerraform(this._subscriberName), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), source: cdktf.listMapper(securitylakeSubscriberSourceToTerraform, true)(this._source.internalValue), subscriber_identity: cdktf.listMapper(securitylakeSubscriberSubscriberIdentityToTerraform, true)(this._subscriberIdentity.internalValue), timeouts: securitylakeSubscriberTimeoutsToTerraform(this._timeouts.internalValue), }; } synthesizeHclAttributes() { const attrs = { access_type: { value: cdktf.stringToHclTerraform(this._accessType), isBlock: false, type: "simple", storageClassType: "string", }, subscriber_description: { value: cdktf.stringToHclTerraform(this._subscriberDescription), isBlock: false, type: "simple", storageClassType: "string", }, subscriber_name: { value: cdktf.stringToHclTerraform(this._subscriberName), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, source: { value: cdktf.listMapperHcl(securitylakeSubscriberSourceToHclTerraform, true)(this._source.internalValue), isBlock: true, type: "set",