@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
882 lines • 134 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g;
Object.defineProperty(exports, "__esModule", { value: true });
exports.TimestreamwriteTable = exports.TimestreamwriteTableSchemaOutputReference = exports.timestreamwriteTableSchemaToHclTerraform = exports.timestreamwriteTableSchemaToTerraform = exports.TimestreamwriteTableSchemaCompositePartitionKeyOutputReference = exports.timestreamwriteTableSchemaCompositePartitionKeyToHclTerraform = exports.timestreamwriteTableSchemaCompositePartitionKeyToTerraform = exports.TimestreamwriteTableRetentionPropertiesOutputReference = exports.timestreamwriteTableRetentionPropertiesToHclTerraform = exports.timestreamwriteTableRetentionPropertiesToTerraform = exports.TimestreamwriteTableMagneticStoreWritePropertiesOutputReference = exports.timestreamwriteTableMagneticStoreWritePropertiesToHclTerraform = exports.timestreamwriteTableMagneticStoreWritePropertiesToTerraform = exports.TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference = exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToHclTerraform = exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToTerraform = exports.TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference = exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToHclTerraform = exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToTerraform(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 {
bucket_name: cdktf.stringToTerraform(struct.bucketName),
encryption_option: cdktf.stringToTerraform(struct.encryptionOption),
kms_key_id: cdktf.stringToTerraform(struct.kmsKeyId),
object_key_prefix: cdktf.stringToTerraform(struct.objectKeyPrefix),
};
}
exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToTerraform = timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToTerraform;
function timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToHclTerraform(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 = {
bucket_name: {
value: cdktf.stringToHclTerraform(struct.bucketName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
encryption_option: {
value: cdktf.stringToHclTerraform(struct.encryptionOption),
isBlock: false,
type: "simple",
storageClassType: "string",
},
kms_key_id: {
value: cdktf.stringToHclTerraform(struct.kmsKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
object_key_prefix: {
value: cdktf.stringToHclTerraform(struct.objectKeyPrefix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToHclTerraform = timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToHclTerraform;
class TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference 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._bucketName !== undefined) {
hasAnyValues = true;
internalValueResult.bucketName = this._bucketName;
}
if (this._encryptionOption !== undefined) {
hasAnyValues = true;
internalValueResult.encryptionOption = this._encryptionOption;
}
if (this._kmsKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.kmsKeyId = this._kmsKeyId;
}
if (this._objectKeyPrefix !== undefined) {
hasAnyValues = true;
internalValueResult.objectKeyPrefix = this._objectKeyPrefix;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._bucketName = undefined;
this._encryptionOption = undefined;
this._kmsKeyId = undefined;
this._objectKeyPrefix = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._bucketName = value.bucketName;
this._encryptionOption = value.encryptionOption;
this._kmsKeyId = value.kmsKeyId;
this._objectKeyPrefix = value.objectKeyPrefix;
}
}
get bucketName() {
return this.getStringAttribute('bucket_name');
}
set bucketName(value) {
this._bucketName = value;
}
resetBucketName() {
this._bucketName = undefined;
}
// Temporarily expose input value. Use with caution.
get bucketNameInput() {
return this._bucketName;
}
get encryptionOption() {
return this.getStringAttribute('encryption_option');
}
set encryptionOption(value) {
this._encryptionOption = value;
}
resetEncryptionOption() {
this._encryptionOption = undefined;
}
// Temporarily expose input value. Use with caution.
get encryptionOptionInput() {
return this._encryptionOption;
}
get kmsKeyId() {
return this.getStringAttribute('kms_key_id');
}
set kmsKeyId(value) {
this._kmsKeyId = value;
}
resetKmsKeyId() {
this._kmsKeyId = undefined;
}
// Temporarily expose input value. Use with caution.
get kmsKeyIdInput() {
return this._kmsKeyId;
}
get objectKeyPrefix() {
return this.getStringAttribute('object_key_prefix');
}
set objectKeyPrefix(value) {
this._objectKeyPrefix = value;
}
resetObjectKeyPrefix() {
this._objectKeyPrefix = undefined;
}
// Temporarily expose input value. Use with caution.
get objectKeyPrefixInput() {
return this._objectKeyPrefix;
}
}
exports.TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference = TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference[_a] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference", version: "19.50.0" };
function timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToTerraform(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 {
s3_configuration: timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToTerraform(struct.s3Configuration),
};
}
exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToTerraform = timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToTerraform;
function timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToHclTerraform(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 = {
s3_configuration: {
value: timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationToHclTerraform(struct.s3Configuration),
isBlock: true,
type: "list",
storageClassType: "TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToHclTerraform = timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToHclTerraform;
class TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference 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;
// s3_configuration - computed: false, optional: true, required: false
this._s3Configuration = new TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationS3ConfigurationOutputReference(this, "s3_configuration");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._s3Configuration?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.s3Configuration = this._s3Configuration?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._s3Configuration.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._s3Configuration.internalValue = value.s3Configuration;
}
}
get s3Configuration() {
return this._s3Configuration;
}
putS3Configuration(value) {
this._s3Configuration.internalValue = value;
}
resetS3Configuration() {
this._s3Configuration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get s3ConfigurationInput() {
return this._s3Configuration.internalValue;
}
}
exports.TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference = TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference;
_b = JSII_RTTI_SYMBOL_1;
TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference[_b] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference", version: "19.50.0" };
function timestreamwriteTableMagneticStoreWritePropertiesToTerraform(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 {
enable_magnetic_store_writes: cdktf.booleanToTerraform(struct.enableMagneticStoreWrites),
magnetic_store_rejected_data_location: timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToTerraform(struct.magneticStoreRejectedDataLocation),
};
}
exports.timestreamwriteTableMagneticStoreWritePropertiesToTerraform = timestreamwriteTableMagneticStoreWritePropertiesToTerraform;
function timestreamwriteTableMagneticStoreWritePropertiesToHclTerraform(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 = {
enable_magnetic_store_writes: {
value: cdktf.booleanToHclTerraform(struct.enableMagneticStoreWrites),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
magnetic_store_rejected_data_location: {
value: timestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationToHclTerraform(struct.magneticStoreRejectedDataLocation),
isBlock: true,
type: "list",
storageClassType: "TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.timestreamwriteTableMagneticStoreWritePropertiesToHclTerraform = timestreamwriteTableMagneticStoreWritePropertiesToHclTerraform;
class TimestreamwriteTableMagneticStoreWritePropertiesOutputReference 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;
// magnetic_store_rejected_data_location - computed: false, optional: true, required: false
this._magneticStoreRejectedDataLocation = new TimestreamwriteTableMagneticStoreWritePropertiesMagneticStoreRejectedDataLocationOutputReference(this, "magnetic_store_rejected_data_location");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._enableMagneticStoreWrites !== undefined) {
hasAnyValues = true;
internalValueResult.enableMagneticStoreWrites = this._enableMagneticStoreWrites;
}
if (this._magneticStoreRejectedDataLocation?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.magneticStoreRejectedDataLocation = this._magneticStoreRejectedDataLocation?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enableMagneticStoreWrites = undefined;
this._magneticStoreRejectedDataLocation.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enableMagneticStoreWrites = value.enableMagneticStoreWrites;
this._magneticStoreRejectedDataLocation.internalValue = value.magneticStoreRejectedDataLocation;
}
}
get enableMagneticStoreWrites() {
return this.getBooleanAttribute('enable_magnetic_store_writes');
}
set enableMagneticStoreWrites(value) {
this._enableMagneticStoreWrites = value;
}
resetEnableMagneticStoreWrites() {
this._enableMagneticStoreWrites = undefined;
}
// Temporarily expose input value. Use with caution.
get enableMagneticStoreWritesInput() {
return this._enableMagneticStoreWrites;
}
get magneticStoreRejectedDataLocation() {
return this._magneticStoreRejectedDataLocation;
}
putMagneticStoreRejectedDataLocation(value) {
this._magneticStoreRejectedDataLocation.internalValue = value;
}
resetMagneticStoreRejectedDataLocation() {
this._magneticStoreRejectedDataLocation.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get magneticStoreRejectedDataLocationInput() {
return this._magneticStoreRejectedDataLocation.internalValue;
}
}
exports.TimestreamwriteTableMagneticStoreWritePropertiesOutputReference = TimestreamwriteTableMagneticStoreWritePropertiesOutputReference;
_c = JSII_RTTI_SYMBOL_1;
TimestreamwriteTableMagneticStoreWritePropertiesOutputReference[_c] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTableMagneticStoreWritePropertiesOutputReference", version: "19.50.0" };
function timestreamwriteTableRetentionPropertiesToTerraform(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 {
magnetic_store_retention_period_in_days: cdktf.numberToTerraform(struct.magneticStoreRetentionPeriodInDays),
memory_store_retention_period_in_hours: cdktf.numberToTerraform(struct.memoryStoreRetentionPeriodInHours),
};
}
exports.timestreamwriteTableRetentionPropertiesToTerraform = timestreamwriteTableRetentionPropertiesToTerraform;
function timestreamwriteTableRetentionPropertiesToHclTerraform(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 = {
magnetic_store_retention_period_in_days: {
value: cdktf.numberToHclTerraform(struct.magneticStoreRetentionPeriodInDays),
isBlock: false,
type: "simple",
storageClassType: "number",
},
memory_store_retention_period_in_hours: {
value: cdktf.numberToHclTerraform(struct.memoryStoreRetentionPeriodInHours),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.timestreamwriteTableRetentionPropertiesToHclTerraform = timestreamwriteTableRetentionPropertiesToHclTerraform;
class TimestreamwriteTableRetentionPropertiesOutputReference 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._magneticStoreRetentionPeriodInDays !== undefined) {
hasAnyValues = true;
internalValueResult.magneticStoreRetentionPeriodInDays = this._magneticStoreRetentionPeriodInDays;
}
if (this._memoryStoreRetentionPeriodInHours !== undefined) {
hasAnyValues = true;
internalValueResult.memoryStoreRetentionPeriodInHours = this._memoryStoreRetentionPeriodInHours;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._magneticStoreRetentionPeriodInDays = undefined;
this._memoryStoreRetentionPeriodInHours = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._magneticStoreRetentionPeriodInDays = value.magneticStoreRetentionPeriodInDays;
this._memoryStoreRetentionPeriodInHours = value.memoryStoreRetentionPeriodInHours;
}
}
get magneticStoreRetentionPeriodInDays() {
return this.getNumberAttribute('magnetic_store_retention_period_in_days');
}
set magneticStoreRetentionPeriodInDays(value) {
this._magneticStoreRetentionPeriodInDays = value;
}
// Temporarily expose input value. Use with caution.
get magneticStoreRetentionPeriodInDaysInput() {
return this._magneticStoreRetentionPeriodInDays;
}
get memoryStoreRetentionPeriodInHours() {
return this.getNumberAttribute('memory_store_retention_period_in_hours');
}
set memoryStoreRetentionPeriodInHours(value) {
this._memoryStoreRetentionPeriodInHours = value;
}
// Temporarily expose input value. Use with caution.
get memoryStoreRetentionPeriodInHoursInput() {
return this._memoryStoreRetentionPeriodInHours;
}
}
exports.TimestreamwriteTableRetentionPropertiesOutputReference = TimestreamwriteTableRetentionPropertiesOutputReference;
_d = JSII_RTTI_SYMBOL_1;
TimestreamwriteTableRetentionPropertiesOutputReference[_d] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTableRetentionPropertiesOutputReference", version: "19.50.0" };
function timestreamwriteTableSchemaCompositePartitionKeyToTerraform(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 {
enforcement_in_record: cdktf.stringToTerraform(struct.enforcementInRecord),
name: cdktf.stringToTerraform(struct.name),
type: cdktf.stringToTerraform(struct.type),
};
}
exports.timestreamwriteTableSchemaCompositePartitionKeyToTerraform = timestreamwriteTableSchemaCompositePartitionKeyToTerraform;
function timestreamwriteTableSchemaCompositePartitionKeyToHclTerraform(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 = {
enforcement_in_record: {
value: cdktf.stringToHclTerraform(struct.enforcementInRecord),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(struct.name),
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.timestreamwriteTableSchemaCompositePartitionKeyToHclTerraform = timestreamwriteTableSchemaCompositePartitionKeyToHclTerraform;
class TimestreamwriteTableSchemaCompositePartitionKeyOutputReference 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._enforcementInRecord !== undefined) {
hasAnyValues = true;
internalValueResult.enforcementInRecord = this._enforcementInRecord;
}
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._type !== undefined) {
hasAnyValues = true;
internalValueResult.type = this._type;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._enforcementInRecord = undefined;
this._name = undefined;
this._type = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._enforcementInRecord = value.enforcementInRecord;
this._name = value.name;
this._type = value.type;
}
}
get enforcementInRecord() {
return this.getStringAttribute('enforcement_in_record');
}
set enforcementInRecord(value) {
this._enforcementInRecord = value;
}
resetEnforcementInRecord() {
this._enforcementInRecord = undefined;
}
// Temporarily expose input value. Use with caution.
get enforcementInRecordInput() {
return this._enforcementInRecord;
}
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 type() {
return this.getStringAttribute('type');
}
set type(value) {
this._type = value;
}
// Temporarily expose input value. Use with caution.
get typeInput() {
return this._type;
}
}
exports.TimestreamwriteTableSchemaCompositePartitionKeyOutputReference = TimestreamwriteTableSchemaCompositePartitionKeyOutputReference;
_e = JSII_RTTI_SYMBOL_1;
TimestreamwriteTableSchemaCompositePartitionKeyOutputReference[_e] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTableSchemaCompositePartitionKeyOutputReference", version: "19.50.0" };
function timestreamwriteTableSchemaToTerraform(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 {
composite_partition_key: timestreamwriteTableSchemaCompositePartitionKeyToTerraform(struct.compositePartitionKey),
};
}
exports.timestreamwriteTableSchemaToTerraform = timestreamwriteTableSchemaToTerraform;
function timestreamwriteTableSchemaToHclTerraform(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 = {
composite_partition_key: {
value: timestreamwriteTableSchemaCompositePartitionKeyToHclTerraform(struct.compositePartitionKey),
isBlock: true,
type: "list",
storageClassType: "TimestreamwriteTableSchemaCompositePartitionKeyList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.timestreamwriteTableSchemaToHclTerraform = timestreamwriteTableSchemaToHclTerraform;
class TimestreamwriteTableSchemaOutputReference 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;
// composite_partition_key - computed: false, optional: true, required: false
this._compositePartitionKey = new TimestreamwriteTableSchemaCompositePartitionKeyOutputReference(this, "composite_partition_key");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._compositePartitionKey?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.compositePartitionKey = this._compositePartitionKey?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._compositePartitionKey.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._compositePartitionKey.internalValue = value.compositePartitionKey;
}
}
get compositePartitionKey() {
return this._compositePartitionKey;
}
putCompositePartitionKey(value) {
this._compositePartitionKey.internalValue = value;
}
resetCompositePartitionKey() {
this._compositePartitionKey.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get compositePartitionKeyInput() {
return this._compositePartitionKey.internalValue;
}
}
exports.TimestreamwriteTableSchemaOutputReference = TimestreamwriteTableSchemaOutputReference;
_f = JSII_RTTI_SYMBOL_1;
TimestreamwriteTableSchemaOutputReference[_f] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTableSchemaOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/timestreamwrite_table aws_timestreamwrite_table}
*/
class TimestreamwriteTable extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a TimestreamwriteTable 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 TimestreamwriteTable to import
* @param importFromId The id of the existing TimestreamwriteTable that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/timestreamwrite_table#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the TimestreamwriteTable to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_timestreamwrite_table", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/timestreamwrite_table aws_timestreamwrite_table} 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 TimestreamwriteTableConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_timestreamwrite_table',
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
});
// magnetic_store_write_properties - computed: false, optional: true, required: false
this._magneticStoreWriteProperties = new TimestreamwriteTableMagneticStoreWritePropertiesOutputReference(this, "magnetic_store_write_properties");
// retention_properties - computed: false, optional: true, required: false
this._retentionProperties = new TimestreamwriteTableRetentionPropertiesOutputReference(this, "retention_properties");
// schema - computed: false, optional: true, required: false
this._schema = new TimestreamwriteTableSchemaOutputReference(this, "schema");
this._databaseName = config.databaseName;
this._id = config.id;
this._tableName = config.tableName;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._magneticStoreWriteProperties.internalValue = config.magneticStoreWriteProperties;
this._retentionProperties.internalValue = config.retentionProperties;
this._schema.internalValue = config.schema;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
get databaseName() {
return this.getStringAttribute('database_name');
}
set databaseName(value) {
this._databaseName = value;
}
// Temporarily expose input value. Use with caution.
get databaseNameInput() {
return this._databaseName;
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get tableName() {
return this.getStringAttribute('table_name');
}
set tableName(value) {
this._tableName = value;
}
// Temporarily expose input value. Use with caution.
get tableNameInput() {
return this._tableName;
}
get tags() {
return this.getStringMapAttribute('tags');
}
set tags(value) {
this._tags = value;
}
resetTags() {
this._tags = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsInput() {
return this._tags;
}
get tagsAll() {
return this.getStringMapAttribute('tags_all');
}
set tagsAll(value) {
this._tagsAll = value;
}
resetTagsAll() {
this._tagsAll = undefined;
}
// Temporarily expose input value. Use with caution.
get tagsAllInput() {
return this._tagsAll;
}
get magneticStoreWriteProperties() {
return this._magneticStoreWriteProperties;
}
putMagneticStoreWriteProperties(value) {
this._magneticStoreWriteProperties.internalValue = value;
}
resetMagneticStoreWriteProperties() {
this._magneticStoreWriteProperties.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get magneticStoreWritePropertiesInput() {
return this._magneticStoreWriteProperties.internalValue;
}
get retentionProperties() {
return this._retentionProperties;
}
putRetentionProperties(value) {
this._retentionProperties.internalValue = value;
}
resetRetentionProperties() {
this._retentionProperties.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get retentionPropertiesInput() {
return this._retentionProperties.internalValue;
}
get schema() {
return this._schema;
}
putSchema(value) {
this._schema.internalValue = value;
}
resetSchema() {
this._schema.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get schemaInput() {
return this._schema.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
database_name: cdktf.stringToTerraform(this._databaseName),
id: cdktf.stringToTerraform(this._id),
table_name: cdktf.stringToTerraform(this._tableName),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
magnetic_store_write_properties: timestreamwriteTableMagneticStoreWritePropertiesToTerraform(this._magneticStoreWriteProperties.internalValue),
retention_properties: timestreamwriteTableRetentionPropertiesToTerraform(this._retentionProperties.internalValue),
schema: timestreamwriteTableSchemaToTerraform(this._schema.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
database_name: {
value: cdktf.stringToHclTerraform(this._databaseName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
table_name: {
value: cdktf.stringToHclTerraform(this._tableName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
tags: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
tags_all: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
magnetic_store_write_properties: {
value: timestreamwriteTableMagneticStoreWritePropertiesToHclTerraform(this._magneticStoreWriteProperties.internalValue),
isBlock: true,
type: "list",
storageClassType: "TimestreamwriteTableMagneticStoreWritePropertiesList",
},
retention_properties: {
value: timestreamwriteTableRetentionPropertiesToHclTerraform(this._retentionProperties.internalValue),
isBlock: true,
type: "list",
storageClassType: "TimestreamwriteTableRetentionPropertiesList",
},
schema: {
value: timestreamwriteTableSchemaToHclTerraform(this._schema.internalValue),
isBlock: true,
type: "list",
storageClassType: "TimestreamwriteTableSchemaList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.TimestreamwriteTable = TimestreamwriteTable;
_g = JSII_RTTI_SYMBOL_1;
TimestreamwriteTable[_g] = { fqn: "@cdktf/provider-aws.timestreamwriteTable.TimestreamwriteTable", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
TimestreamwriteTable.tfResourceType = "aws_timestreamwrite_table";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdGltZXN0cmVhbXdyaXRlLXRhYmxlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBa0UvQixTQUFnQiwyR0FBMkcsQ0FBQyxNQUEyTjtJQUNyVixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsV0FBVyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3hELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsZ0JBQWdCLENBQUM7UUFDcEUsVUFBVSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3JELGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsZUFBZSxDQUFDO0tBQ3BFLENBQUE7QUFDSCxDQUFDO0FBWEQsa09BV0M7QUFHRCxTQUFnQiw4R0FBOEcsQ0FBQyxNQUEyTjtJQUN4VixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENB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