@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,024 lines • 146 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CloudwatchMetricStream = exports.CloudwatchMetricStreamTimeoutsOutputReference = exports.cloudwatchMetricStreamTimeoutsToHclTerraform = exports.cloudwatchMetricStreamTimeoutsToTerraform = exports.CloudwatchMetricStreamStatisticsConfigurationList = exports.CloudwatchMetricStreamStatisticsConfigurationOutputReference = exports.cloudwatchMetricStreamStatisticsConfigurationToHclTerraform = exports.cloudwatchMetricStreamStatisticsConfigurationToTerraform = exports.CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList = exports.CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference = exports.cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToHclTerraform = exports.cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToTerraform = exports.CloudwatchMetricStreamIncludeFilterList = exports.CloudwatchMetricStreamIncludeFilterOutputReference = exports.cloudwatchMetricStreamIncludeFilterToHclTerraform = exports.cloudwatchMetricStreamIncludeFilterToTerraform = exports.CloudwatchMetricStreamExcludeFilterList = exports.CloudwatchMetricStreamExcludeFilterOutputReference = exports.cloudwatchMetricStreamExcludeFilterToHclTerraform = exports.cloudwatchMetricStreamExcludeFilterToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function cloudwatchMetricStreamExcludeFilterToTerraform(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 {
metric_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.metricNames),
namespace: cdktf.stringToTerraform(struct.namespace),
};
}
exports.cloudwatchMetricStreamExcludeFilterToTerraform = cloudwatchMetricStreamExcludeFilterToTerraform;
function cloudwatchMetricStreamExcludeFilterToHclTerraform(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 = {
metric_names: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.metricNames),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
namespace: {
value: cdktf.stringToHclTerraform(struct.namespace),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.cloudwatchMetricStreamExcludeFilterToHclTerraform = cloudwatchMetricStreamExcludeFilterToHclTerraform;
class CloudwatchMetricStreamExcludeFilterOutputReference 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._metricNames !== undefined) {
hasAnyValues = true;
internalValueResult.metricNames = this._metricNames;
}
if (this._namespace !== undefined) {
hasAnyValues = true;
internalValueResult.namespace = this._namespace;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._metricNames = undefined;
this._namespace = 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._metricNames = value.metricNames;
this._namespace = value.namespace;
}
}
get metricNames() {
return cdktf.Fn.tolist(this.getListAttribute('metric_names'));
}
set metricNames(value) {
this._metricNames = value;
}
resetMetricNames() {
this._metricNames = undefined;
}
// Temporarily expose input value. Use with caution.
get metricNamesInput() {
return this._metricNames;
}
get namespace() {
return this.getStringAttribute('namespace');
}
set namespace(value) {
this._namespace = value;
}
// Temporarily expose input value. Use with caution.
get namespaceInput() {
return this._namespace;
}
}
exports.CloudwatchMetricStreamExcludeFilterOutputReference = CloudwatchMetricStreamExcludeFilterOutputReference;
_a = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamExcludeFilterOutputReference[_a] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamExcludeFilterOutputReference", version: "19.50.0" };
class CloudwatchMetricStreamExcludeFilterList 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 CloudwatchMetricStreamExcludeFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.CloudwatchMetricStreamExcludeFilterList = CloudwatchMetricStreamExcludeFilterList;
_b = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamExcludeFilterList[_b] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamExcludeFilterList", version: "19.50.0" };
function cloudwatchMetricStreamIncludeFilterToTerraform(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 {
metric_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.metricNames),
namespace: cdktf.stringToTerraform(struct.namespace),
};
}
exports.cloudwatchMetricStreamIncludeFilterToTerraform = cloudwatchMetricStreamIncludeFilterToTerraform;
function cloudwatchMetricStreamIncludeFilterToHclTerraform(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 = {
metric_names: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.metricNames),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
namespace: {
value: cdktf.stringToHclTerraform(struct.namespace),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.cloudwatchMetricStreamIncludeFilterToHclTerraform = cloudwatchMetricStreamIncludeFilterToHclTerraform;
class CloudwatchMetricStreamIncludeFilterOutputReference 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._metricNames !== undefined) {
hasAnyValues = true;
internalValueResult.metricNames = this._metricNames;
}
if (this._namespace !== undefined) {
hasAnyValues = true;
internalValueResult.namespace = this._namespace;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._metricNames = undefined;
this._namespace = 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._metricNames = value.metricNames;
this._namespace = value.namespace;
}
}
get metricNames() {
return cdktf.Fn.tolist(this.getListAttribute('metric_names'));
}
set metricNames(value) {
this._metricNames = value;
}
resetMetricNames() {
this._metricNames = undefined;
}
// Temporarily expose input value. Use with caution.
get metricNamesInput() {
return this._metricNames;
}
get namespace() {
return this.getStringAttribute('namespace');
}
set namespace(value) {
this._namespace = value;
}
// Temporarily expose input value. Use with caution.
get namespaceInput() {
return this._namespace;
}
}
exports.CloudwatchMetricStreamIncludeFilterOutputReference = CloudwatchMetricStreamIncludeFilterOutputReference;
_c = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamIncludeFilterOutputReference[_c] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamIncludeFilterOutputReference", version: "19.50.0" };
class CloudwatchMetricStreamIncludeFilterList 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 CloudwatchMetricStreamIncludeFilterOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.CloudwatchMetricStreamIncludeFilterList = CloudwatchMetricStreamIncludeFilterList;
_d = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamIncludeFilterList[_d] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamIncludeFilterList", version: "19.50.0" };
function cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToTerraform(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 {
metric_name: cdktf.stringToTerraform(struct.metricName),
namespace: cdktf.stringToTerraform(struct.namespace),
};
}
exports.cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToTerraform = cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToTerraform;
function cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToHclTerraform(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 = {
metric_name: {
value: cdktf.stringToHclTerraform(struct.metricName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
namespace: {
value: cdktf.stringToHclTerraform(struct.namespace),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToHclTerraform = cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToHclTerraform;
class CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference 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._metricName !== undefined) {
hasAnyValues = true;
internalValueResult.metricName = this._metricName;
}
if (this._namespace !== undefined) {
hasAnyValues = true;
internalValueResult.namespace = this._namespace;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._metricName = undefined;
this._namespace = 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._metricName = value.metricName;
this._namespace = value.namespace;
}
}
get metricName() {
return this.getStringAttribute('metric_name');
}
set metricName(value) {
this._metricName = value;
}
// Temporarily expose input value. Use with caution.
get metricNameInput() {
return this._metricName;
}
get namespace() {
return this.getStringAttribute('namespace');
}
set namespace(value) {
this._namespace = value;
}
// Temporarily expose input value. Use with caution.
get namespaceInput() {
return this._namespace;
}
}
exports.CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference = CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference;
_e = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference[_e] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference", version: "19.50.0" };
class CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList 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 CloudwatchMetricStreamStatisticsConfigurationIncludeMetricOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList = CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList;
_f = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList[_f] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList", version: "19.50.0" };
function cloudwatchMetricStreamStatisticsConfigurationToTerraform(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 {
additional_statistics: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.additionalStatistics),
include_metric: cdktf.listMapper(cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToTerraform, true)(struct.includeMetric),
};
}
exports.cloudwatchMetricStreamStatisticsConfigurationToTerraform = cloudwatchMetricStreamStatisticsConfigurationToTerraform;
function cloudwatchMetricStreamStatisticsConfigurationToHclTerraform(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 = {
additional_statistics: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.additionalStatistics),
isBlock: false,
type: "set",
storageClassType: "stringList",
},
include_metric: {
value: cdktf.listMapperHcl(cloudwatchMetricStreamStatisticsConfigurationIncludeMetricToHclTerraform, true)(struct.includeMetric),
isBlock: true,
type: "set",
storageClassType: "CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.cloudwatchMetricStreamStatisticsConfigurationToHclTerraform = cloudwatchMetricStreamStatisticsConfigurationToHclTerraform;
class CloudwatchMetricStreamStatisticsConfigurationOutputReference 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;
// include_metric - computed: false, optional: false, required: true
this._includeMetric = new CloudwatchMetricStreamStatisticsConfigurationIncludeMetricList(this, "include_metric", true);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._additionalStatistics !== undefined) {
hasAnyValues = true;
internalValueResult.additionalStatistics = this._additionalStatistics;
}
if (this._includeMetric?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.includeMetric = this._includeMetric?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._additionalStatistics = undefined;
this._includeMetric.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._additionalStatistics = value.additionalStatistics;
this._includeMetric.internalValue = value.includeMetric;
}
}
get additionalStatistics() {
return cdktf.Fn.tolist(this.getListAttribute('additional_statistics'));
}
set additionalStatistics(value) {
this._additionalStatistics = value;
}
// Temporarily expose input value. Use with caution.
get additionalStatisticsInput() {
return this._additionalStatistics;
}
get includeMetric() {
return this._includeMetric;
}
putIncludeMetric(value) {
this._includeMetric.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get includeMetricInput() {
return this._includeMetric.internalValue;
}
}
exports.CloudwatchMetricStreamStatisticsConfigurationOutputReference = CloudwatchMetricStreamStatisticsConfigurationOutputReference;
_g = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamStatisticsConfigurationOutputReference[_g] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamStatisticsConfigurationOutputReference", version: "19.50.0" };
class CloudwatchMetricStreamStatisticsConfigurationList 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 CloudwatchMetricStreamStatisticsConfigurationOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.CloudwatchMetricStreamStatisticsConfigurationList = CloudwatchMetricStreamStatisticsConfigurationList;
_h = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamStatisticsConfigurationList[_h] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamStatisticsConfigurationList", version: "19.50.0" };
function cloudwatchMetricStreamTimeoutsToTerraform(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.cloudwatchMetricStreamTimeoutsToTerraform = cloudwatchMetricStreamTimeoutsToTerraform;
function cloudwatchMetricStreamTimeoutsToHclTerraform(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.cloudwatchMetricStreamTimeoutsToHclTerraform = cloudwatchMetricStreamTimeoutsToHclTerraform;
class CloudwatchMetricStreamTimeoutsOutputReference 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.CloudwatchMetricStreamTimeoutsOutputReference = CloudwatchMetricStreamTimeoutsOutputReference;
_j = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStreamTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStreamTimeoutsOutputReference", version: "19.50.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cloudwatch_metric_stream aws_cloudwatch_metric_stream}
*/
class CloudwatchMetricStream extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a CloudwatchMetricStream 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 CloudwatchMetricStream to import
* @param importFromId The id of the existing CloudwatchMetricStream that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cloudwatch_metric_stream#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the CloudwatchMetricStream to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_cloudwatch_metric_stream", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/cloudwatch_metric_stream aws_cloudwatch_metric_stream} 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 CloudwatchMetricStreamConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_cloudwatch_metric_stream',
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
});
// exclude_filter - computed: false, optional: true, required: false
this._excludeFilter = new CloudwatchMetricStreamExcludeFilterList(this, "exclude_filter", true);
// include_filter - computed: false, optional: true, required: false
this._includeFilter = new CloudwatchMetricStreamIncludeFilterList(this, "include_filter", true);
// statistics_configuration - computed: false, optional: true, required: false
this._statisticsConfiguration = new CloudwatchMetricStreamStatisticsConfigurationList(this, "statistics_configuration", true);
// timeouts - computed: false, optional: true, required: false
this._timeouts = new CloudwatchMetricStreamTimeoutsOutputReference(this, "timeouts");
this._firehoseArn = config.firehoseArn;
this._id = config.id;
this._includeLinkedAccountsMetrics = config.includeLinkedAccountsMetrics;
this._name = config.name;
this._namePrefix = config.namePrefix;
this._outputFormat = config.outputFormat;
this._roleArn = config.roleArn;
this._tags = config.tags;
this._tagsAll = config.tagsAll;
this._excludeFilter.internalValue = config.excludeFilter;
this._includeFilter.internalValue = config.includeFilter;
this._statisticsConfiguration.internalValue = config.statisticsConfiguration;
this._timeouts.internalValue = config.timeouts;
}
// ==========
// ATTRIBUTES
// ==========
// arn - computed: true, optional: false, required: false
get arn() {
return this.getStringAttribute('arn');
}
// creation_date - computed: true, optional: false, required: false
get creationDate() {
return this.getStringAttribute('creation_date');
}
get firehoseArn() {
return this.getStringAttribute('firehose_arn');
}
set firehoseArn(value) {
this._firehoseArn = value;
}
// Temporarily expose input value. Use with caution.
get firehoseArnInput() {
return this._firehoseArn;
}
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 includeLinkedAccountsMetrics() {
return this.getBooleanAttribute('include_linked_accounts_metrics');
}
set includeLinkedAccountsMetrics(value) {
this._includeLinkedAccountsMetrics = value;
}
resetIncludeLinkedAccountsMetrics() {
this._includeLinkedAccountsMetrics = undefined;
}
// Temporarily expose input value. Use with caution.
get includeLinkedAccountsMetricsInput() {
return this._includeLinkedAccountsMetrics;
}
// last_update_date - computed: true, optional: false, required: false
get lastUpdateDate() {
return this.getStringAttribute('last_update_date');
}
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 namePrefix() {
return this.getStringAttribute('name_prefix');
}
set namePrefix(value) {
this._namePrefix = value;
}
resetNamePrefix() {
this._namePrefix = undefined;
}
// Temporarily expose input value. Use with caution.
get namePrefixInput() {
return this._namePrefix;
}
get outputFormat() {
return this.getStringAttribute('output_format');
}
set outputFormat(value) {
this._outputFormat = value;
}
// Temporarily expose input value. Use with caution.
get outputFormatInput() {
return this._outputFormat;
}
get roleArn() {
return this.getStringAttribute('role_arn');
}
set roleArn(value) {
this._roleArn = value;
}
// Temporarily expose input value. Use with caution.
get roleArnInput() {
return this._roleArn;
}
// state - computed: true, optional: false, required: false
get state() {
return this.getStringAttribute('state');
}
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 excludeFilter() {
return this._excludeFilter;
}
putExcludeFilter(value) {
this._excludeFilter.internalValue = value;
}
resetExcludeFilter() {
this._excludeFilter.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get excludeFilterInput() {
return this._excludeFilter.internalValue;
}
get includeFilter() {
return this._includeFilter;
}
putIncludeFilter(value) {
this._includeFilter.internalValue = value;
}
resetIncludeFilter() {
this._includeFilter.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get includeFilterInput() {
return this._includeFilter.internalValue;
}
get statisticsConfiguration() {
return this._statisticsConfiguration;
}
putStatisticsConfiguration(value) {
this._statisticsConfiguration.internalValue = value;
}
resetStatisticsConfiguration() {
this._statisticsConfiguration.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get statisticsConfigurationInput() {
return this._statisticsConfiguration.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 {
firehose_arn: cdktf.stringToTerraform(this._firehoseArn),
id: cdktf.stringToTerraform(this._id),
include_linked_accounts_metrics: cdktf.booleanToTerraform(this._includeLinkedAccountsMetrics),
name: cdktf.stringToTerraform(this._name),
name_prefix: cdktf.stringToTerraform(this._namePrefix),
output_format: cdktf.stringToTerraform(this._outputFormat),
role_arn: cdktf.stringToTerraform(this._roleArn),
tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags),
tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll),
exclude_filter: cdktf.listMapper(cloudwatchMetricStreamExcludeFilterToTerraform, true)(this._excludeFilter.internalValue),
include_filter: cdktf.listMapper(cloudwatchMetricStreamIncludeFilterToTerraform, true)(this._includeFilter.internalValue),
statistics_configuration: cdktf.listMapper(cloudwatchMetricStreamStatisticsConfigurationToTerraform, true)(this._statisticsConfiguration.internalValue),
timeouts: cloudwatchMetricStreamTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
firehose_arn: {
value: cdktf.stringToHclTerraform(this._firehoseArn),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
include_linked_accounts_metrics: {
value: cdktf.booleanToHclTerraform(this._includeLinkedAccountsMetrics),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name_prefix: {
value: cdktf.stringToHclTerraform(this._namePrefix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
output_format: {
value: cdktf.stringToHclTerraform(this._outputFormat),
isBlock: false,
type: "simple",
storageClassType: "string",
},
role_arn: {
value: cdktf.stringToHclTerraform(this._roleArn),
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",
},
exclude_filter: {
value: cdktf.listMapperHcl(cloudwatchMetricStreamExcludeFilterToHclTerraform, true)(this._excludeFilter.internalValue),
isBlock: true,
type: "set",
storageClassType: "CloudwatchMetricStreamExcludeFilterList",
},
include_filter: {
value: cdktf.listMapperHcl(cloudwatchMetricStreamIncludeFilterToHclTerraform, true)(this._includeFilter.internalValue),
isBlock: true,
type: "set",
storageClassType: "CloudwatchMetricStreamIncludeFilterList",
},
statistics_configuration: {
value: cdktf.listMapperHcl(cloudwatchMetricStreamStatisticsConfigurationToHclTerraform, true)(this._statisticsConfiguration.internalValue),
isBlock: true,
type: "set",
storageClassType: "CloudwatchMetricStreamStatisticsConfigurationList",
},
timeouts: {
value: cloudwatchMetricStreamTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "CloudwatchMetricStreamTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.CloudwatchMetricStream = CloudwatchMetricStream;
_k = JSII_RTTI_SYMBOL_1;
CloudwatchMetricStream[_k] = { fqn: "@cdktf/provider-aws.cloudwatchMetricStream.CloudwatchMetricStream", version: "19.50.0" };
// =================
// STATIC PROPERTIES
// =================
CloudwatchMetricStream.tfResourceType = "aws_cloudwatch_metric_stream";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xvdWR3YXRjaC1tZXRyaWMtc3RyZWFtL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBU0EsK0JBQStCO0FBZ0YvQixTQUFnQiw4Q0FBOEMsQ0FBQyxNQUFnRTtJQUM3SCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxXQUFXLENBQUM7UUFDbkYsU0FBUyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsU0FBUyxDQUFDO0tBQ3RELENBQUE7QUFDSCxDQUFDO0FBVEQsd0dBU0M7QUFHRCxTQUFnQixpREFBaUQsQ0FBQyxNQUFnRTtJQUNoSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFlB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