@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,011 lines • 517 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
Object.defineProperty(exports, "__esModule", { value: true });
exports.MonitoringAlertPolicyConditionsConditionThresholdTriggerOutputReference = exports.monitoringAlertPolicyConditionsConditionThresholdTriggerToHclTerraform = exports.monitoringAlertPolicyConditionsConditionThresholdTriggerToTerraform = exports.MonitoringAlertPolicyConditionsConditionThresholdForecastOptionsOutputReference = exports.monitoringAlertPolicyConditionsConditionThresholdForecastOptionsToHclTerraform = exports.monitoringAlertPolicyConditionsConditionThresholdForecastOptionsToTerraform = exports.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsList = exports.MonitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsOutputReference = exports.monitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsToHclTerraform = exports.monitoringAlertPolicyConditionsConditionThresholdDenominatorAggregationsToTerraform = exports.MonitoringAlertPolicyConditionsConditionThresholdAggregationsList = exports.MonitoringAlertPolicyConditionsConditionThresholdAggregationsOutputReference = exports.monitoringAlertPolicyConditionsConditionThresholdAggregationsToHclTerraform = exports.monitoringAlertPolicyConditionsConditionThresholdAggregationsToTerraform = exports.MonitoringAlertPolicyConditionsConditionPrometheusQueryLanguageOutputReference = exports.monitoringAlertPolicyConditionsConditionPrometheusQueryLanguageToHclTerraform = exports.monitoringAlertPolicyConditionsConditionPrometheusQueryLanguageToTerraform = exports.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageOutputReference = exports.monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageToHclTerraform = exports.monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageToTerraform = exports.MonitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTriggerOutputReference = exports.monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTriggerToHclTerraform = exports.monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTriggerToTerraform = exports.MonitoringAlertPolicyConditionsConditionMatchedLogOutputReference = exports.monitoringAlertPolicyConditionsConditionMatchedLogToHclTerraform = exports.monitoringAlertPolicyConditionsConditionMatchedLogToTerraform = exports.MonitoringAlertPolicyConditionsConditionAbsentOutputReference = exports.monitoringAlertPolicyConditionsConditionAbsentToHclTerraform = exports.monitoringAlertPolicyConditionsConditionAbsentToTerraform = exports.MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference = exports.monitoringAlertPolicyConditionsConditionAbsentTriggerToHclTerraform = exports.monitoringAlertPolicyConditionsConditionAbsentTriggerToTerraform = exports.MonitoringAlertPolicyConditionsConditionAbsentAggregationsList = exports.MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference = exports.monitoringAlertPolicyConditionsConditionAbsentAggregationsToHclTerraform = exports.monitoringAlertPolicyConditionsConditionAbsentAggregationsToTerraform = exports.MonitoringAlertPolicyAlertStrategyOutputReference = exports.monitoringAlertPolicyAlertStrategyToHclTerraform = exports.monitoringAlertPolicyAlertStrategyToTerraform = exports.MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference = exports.monitoringAlertPolicyAlertStrategyNotificationRateLimitToHclTerraform = exports.monitoringAlertPolicyAlertStrategyNotificationRateLimitToTerraform = exports.MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList = exports.MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference = exports.monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToHclTerraform = exports.monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToTerraform = exports.MonitoringAlertPolicyCreationRecordList = exports.MonitoringAlertPolicyCreationRecordOutputReference = exports.monitoringAlertPolicyCreationRecordToHclTerraform = exports.monitoringAlertPolicyCreationRecordToTerraform = void 0;
exports.MonitoringAlertPolicy = exports.MonitoringAlertPolicyTimeoutsOutputReference = exports.monitoringAlertPolicyTimeoutsToHclTerraform = exports.monitoringAlertPolicyTimeoutsToTerraform = exports.MonitoringAlertPolicyDocumentationOutputReference = exports.monitoringAlertPolicyDocumentationToHclTerraform = exports.monitoringAlertPolicyDocumentationToTerraform = exports.MonitoringAlertPolicyDocumentationLinksList = exports.MonitoringAlertPolicyDocumentationLinksOutputReference = exports.monitoringAlertPolicyDocumentationLinksToHclTerraform = exports.monitoringAlertPolicyDocumentationLinksToTerraform = exports.MonitoringAlertPolicyConditionsList = exports.MonitoringAlertPolicyConditionsOutputReference = exports.monitoringAlertPolicyConditionsToHclTerraform = exports.monitoringAlertPolicyConditionsToTerraform = exports.MonitoringAlertPolicyConditionsConditionThresholdOutputReference = exports.monitoringAlertPolicyConditionsConditionThresholdToHclTerraform = exports.monitoringAlertPolicyConditionsConditionThresholdToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function monitoringAlertPolicyCreationRecordToTerraform(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.monitoringAlertPolicyCreationRecordToTerraform = monitoringAlertPolicyCreationRecordToTerraform;
function monitoringAlertPolicyCreationRecordToHclTerraform(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.monitoringAlertPolicyCreationRecordToHclTerraform = monitoringAlertPolicyCreationRecordToHclTerraform;
class MonitoringAlertPolicyCreationRecordOutputReference 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;
}
}
// mutate_time - computed: true, optional: false, required: false
get mutateTime() {
return this.getStringAttribute('mutate_time');
}
// mutated_by - computed: true, optional: false, required: false
get mutatedBy() {
return this.getStringAttribute('mutated_by');
}
}
exports.MonitoringAlertPolicyCreationRecordOutputReference = MonitoringAlertPolicyCreationRecordOutputReference;
_a = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyCreationRecordOutputReference[_a] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyCreationRecordOutputReference", version: "14.12.0" };
class MonitoringAlertPolicyCreationRecordList 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 MonitoringAlertPolicyCreationRecordOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.MonitoringAlertPolicyCreationRecordList = MonitoringAlertPolicyCreationRecordList;
_b = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyCreationRecordList[_b] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyCreationRecordList", version: "14.12.0" };
function monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToTerraform(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 {
notification_channel_names: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notificationChannelNames),
renotify_interval: cdktf.stringToTerraform(struct.renotifyInterval),
};
}
exports.monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToTerraform = monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToTerraform;
function monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToHclTerraform(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 = {
notification_channel_names: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notificationChannelNames),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
renotify_interval: {
value: cdktf.stringToHclTerraform(struct.renotifyInterval),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToHclTerraform = monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToHclTerraform;
class MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference 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._notificationChannelNames !== undefined) {
hasAnyValues = true;
internalValueResult.notificationChannelNames = this._notificationChannelNames;
}
if (this._renotifyInterval !== undefined) {
hasAnyValues = true;
internalValueResult.renotifyInterval = this._renotifyInterval;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._notificationChannelNames = undefined;
this._renotifyInterval = 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._notificationChannelNames = value.notificationChannelNames;
this._renotifyInterval = value.renotifyInterval;
}
}
get notificationChannelNames() {
return this.getListAttribute('notification_channel_names');
}
set notificationChannelNames(value) {
this._notificationChannelNames = value;
}
resetNotificationChannelNames() {
this._notificationChannelNames = undefined;
}
// Temporarily expose input value. Use with caution.
get notificationChannelNamesInput() {
return this._notificationChannelNames;
}
get renotifyInterval() {
return this.getStringAttribute('renotify_interval');
}
set renotifyInterval(value) {
this._renotifyInterval = value;
}
resetRenotifyInterval() {
this._renotifyInterval = undefined;
}
// Temporarily expose input value. Use with caution.
get renotifyIntervalInput() {
return this._renotifyInterval;
}
}
exports.MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference = MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference;
_c = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference[_c] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference", version: "14.12.0" };
class MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList 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 MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList = MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList;
_d = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList[_d] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList", version: "14.12.0" };
function monitoringAlertPolicyAlertStrategyNotificationRateLimitToTerraform(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 {
period: cdktf.stringToTerraform(struct.period),
};
}
exports.monitoringAlertPolicyAlertStrategyNotificationRateLimitToTerraform = monitoringAlertPolicyAlertStrategyNotificationRateLimitToTerraform;
function monitoringAlertPolicyAlertStrategyNotificationRateLimitToHclTerraform(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 = {
period: {
value: cdktf.stringToHclTerraform(struct.period),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyAlertStrategyNotificationRateLimitToHclTerraform = monitoringAlertPolicyAlertStrategyNotificationRateLimitToHclTerraform;
class MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference 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._period !== undefined) {
hasAnyValues = true;
internalValueResult.period = this._period;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._period = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._period = value.period;
}
}
get period() {
return this.getStringAttribute('period');
}
set period(value) {
this._period = value;
}
resetPeriod() {
this._period = undefined;
}
// Temporarily expose input value. Use with caution.
get periodInput() {
return this._period;
}
}
exports.MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference = MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference;
_e = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference[_e] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference", version: "14.12.0" };
function monitoringAlertPolicyAlertStrategyToTerraform(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 {
auto_close: cdktf.stringToTerraform(struct.autoClose),
notification_prompts: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.notificationPrompts),
notification_channel_strategy: cdktf.listMapper(monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToTerraform, true)(struct.notificationChannelStrategy),
notification_rate_limit: monitoringAlertPolicyAlertStrategyNotificationRateLimitToTerraform(struct.notificationRateLimit),
};
}
exports.monitoringAlertPolicyAlertStrategyToTerraform = monitoringAlertPolicyAlertStrategyToTerraform;
function monitoringAlertPolicyAlertStrategyToHclTerraform(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 = {
auto_close: {
value: cdktf.stringToHclTerraform(struct.autoClose),
isBlock: false,
type: "simple",
storageClassType: "string",
},
notification_prompts: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.notificationPrompts),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
notification_channel_strategy: {
value: cdktf.listMapperHcl(monitoringAlertPolicyAlertStrategyNotificationChannelStrategyToHclTerraform, true)(struct.notificationChannelStrategy),
isBlock: true,
type: "list",
storageClassType: "MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList",
},
notification_rate_limit: {
value: monitoringAlertPolicyAlertStrategyNotificationRateLimitToHclTerraform(struct.notificationRateLimit),
isBlock: true,
type: "list",
storageClassType: "MonitoringAlertPolicyAlertStrategyNotificationRateLimitList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyAlertStrategyToHclTerraform = monitoringAlertPolicyAlertStrategyToHclTerraform;
class MonitoringAlertPolicyAlertStrategyOutputReference 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;
// notification_channel_strategy - computed: false, optional: true, required: false
this._notificationChannelStrategy = new MonitoringAlertPolicyAlertStrategyNotificationChannelStrategyList(this, "notification_channel_strategy", false);
// notification_rate_limit - computed: false, optional: true, required: false
this._notificationRateLimit = new MonitoringAlertPolicyAlertStrategyNotificationRateLimitOutputReference(this, "notification_rate_limit");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._autoClose !== undefined) {
hasAnyValues = true;
internalValueResult.autoClose = this._autoClose;
}
if (this._notificationPrompts !== undefined) {
hasAnyValues = true;
internalValueResult.notificationPrompts = this._notificationPrompts;
}
if (this._notificationChannelStrategy?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.notificationChannelStrategy = this._notificationChannelStrategy?.internalValue;
}
if (this._notificationRateLimit?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.notificationRateLimit = this._notificationRateLimit?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._autoClose = undefined;
this._notificationPrompts = undefined;
this._notificationChannelStrategy.internalValue = undefined;
this._notificationRateLimit.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._autoClose = value.autoClose;
this._notificationPrompts = value.notificationPrompts;
this._notificationChannelStrategy.internalValue = value.notificationChannelStrategy;
this._notificationRateLimit.internalValue = value.notificationRateLimit;
}
}
get autoClose() {
return this.getStringAttribute('auto_close');
}
set autoClose(value) {
this._autoClose = value;
}
resetAutoClose() {
this._autoClose = undefined;
}
// Temporarily expose input value. Use with caution.
get autoCloseInput() {
return this._autoClose;
}
get notificationPrompts() {
return this.getListAttribute('notification_prompts');
}
set notificationPrompts(value) {
this._notificationPrompts = value;
}
resetNotificationPrompts() {
this._notificationPrompts = undefined;
}
// Temporarily expose input value. Use with caution.
get notificationPromptsInput() {
return this._notificationPrompts;
}
get notificationChannelStrategy() {
return this._notificationChannelStrategy;
}
putNotificationChannelStrategy(value) {
this._notificationChannelStrategy.internalValue = value;
}
resetNotificationChannelStrategy() {
this._notificationChannelStrategy.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get notificationChannelStrategyInput() {
return this._notificationChannelStrategy.internalValue;
}
get notificationRateLimit() {
return this._notificationRateLimit;
}
putNotificationRateLimit(value) {
this._notificationRateLimit.internalValue = value;
}
resetNotificationRateLimit() {
this._notificationRateLimit.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get notificationRateLimitInput() {
return this._notificationRateLimit.internalValue;
}
}
exports.MonitoringAlertPolicyAlertStrategyOutputReference = MonitoringAlertPolicyAlertStrategyOutputReference;
_f = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyAlertStrategyOutputReference[_f] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyAlertStrategyOutputReference", version: "14.12.0" };
function monitoringAlertPolicyConditionsConditionAbsentAggregationsToTerraform(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 {
alignment_period: cdktf.stringToTerraform(struct.alignmentPeriod),
cross_series_reducer: cdktf.stringToTerraform(struct.crossSeriesReducer),
group_by_fields: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.groupByFields),
per_series_aligner: cdktf.stringToTerraform(struct.perSeriesAligner),
};
}
exports.monitoringAlertPolicyConditionsConditionAbsentAggregationsToTerraform = monitoringAlertPolicyConditionsConditionAbsentAggregationsToTerraform;
function monitoringAlertPolicyConditionsConditionAbsentAggregationsToHclTerraform(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 = {
alignment_period: {
value: cdktf.stringToHclTerraform(struct.alignmentPeriod),
isBlock: false,
type: "simple",
storageClassType: "string",
},
cross_series_reducer: {
value: cdktf.stringToHclTerraform(struct.crossSeriesReducer),
isBlock: false,
type: "simple",
storageClassType: "string",
},
group_by_fields: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.groupByFields),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
per_series_aligner: {
value: cdktf.stringToHclTerraform(struct.perSeriesAligner),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyConditionsConditionAbsentAggregationsToHclTerraform = monitoringAlertPolicyConditionsConditionAbsentAggregationsToHclTerraform;
class MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference 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._alignmentPeriod !== undefined) {
hasAnyValues = true;
internalValueResult.alignmentPeriod = this._alignmentPeriod;
}
if (this._crossSeriesReducer !== undefined) {
hasAnyValues = true;
internalValueResult.crossSeriesReducer = this._crossSeriesReducer;
}
if (this._groupByFields !== undefined) {
hasAnyValues = true;
internalValueResult.groupByFields = this._groupByFields;
}
if (this._perSeriesAligner !== undefined) {
hasAnyValues = true;
internalValueResult.perSeriesAligner = this._perSeriesAligner;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._alignmentPeriod = undefined;
this._crossSeriesReducer = undefined;
this._groupByFields = undefined;
this._perSeriesAligner = 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._alignmentPeriod = value.alignmentPeriod;
this._crossSeriesReducer = value.crossSeriesReducer;
this._groupByFields = value.groupByFields;
this._perSeriesAligner = value.perSeriesAligner;
}
}
get alignmentPeriod() {
return this.getStringAttribute('alignment_period');
}
set alignmentPeriod(value) {
this._alignmentPeriod = value;
}
resetAlignmentPeriod() {
this._alignmentPeriod = undefined;
}
// Temporarily expose input value. Use with caution.
get alignmentPeriodInput() {
return this._alignmentPeriod;
}
get crossSeriesReducer() {
return this.getStringAttribute('cross_series_reducer');
}
set crossSeriesReducer(value) {
this._crossSeriesReducer = value;
}
resetCrossSeriesReducer() {
this._crossSeriesReducer = undefined;
}
// Temporarily expose input value. Use with caution.
get crossSeriesReducerInput() {
return this._crossSeriesReducer;
}
get groupByFields() {
return this.getListAttribute('group_by_fields');
}
set groupByFields(value) {
this._groupByFields = value;
}
resetGroupByFields() {
this._groupByFields = undefined;
}
// Temporarily expose input value. Use with caution.
get groupByFieldsInput() {
return this._groupByFields;
}
get perSeriesAligner() {
return this.getStringAttribute('per_series_aligner');
}
set perSeriesAligner(value) {
this._perSeriesAligner = value;
}
resetPerSeriesAligner() {
this._perSeriesAligner = undefined;
}
// Temporarily expose input value. Use with caution.
get perSeriesAlignerInput() {
return this._perSeriesAligner;
}
}
exports.MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference = MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference;
_g = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference[_g] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference", version: "14.12.0" };
class MonitoringAlertPolicyConditionsConditionAbsentAggregationsList 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 MonitoringAlertPolicyConditionsConditionAbsentAggregationsOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.MonitoringAlertPolicyConditionsConditionAbsentAggregationsList = MonitoringAlertPolicyConditionsConditionAbsentAggregationsList;
_h = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyConditionsConditionAbsentAggregationsList[_h] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyConditionsConditionAbsentAggregationsList", version: "14.12.0" };
function monitoringAlertPolicyConditionsConditionAbsentTriggerToTerraform(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 {
count: cdktf.numberToTerraform(struct.count),
percent: cdktf.numberToTerraform(struct.percent),
};
}
exports.monitoringAlertPolicyConditionsConditionAbsentTriggerToTerraform = monitoringAlertPolicyConditionsConditionAbsentTriggerToTerraform;
function monitoringAlertPolicyConditionsConditionAbsentTriggerToHclTerraform(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 = {
count: {
value: cdktf.numberToHclTerraform(struct.count),
isBlock: false,
type: "simple",
storageClassType: "number",
},
percent: {
value: cdktf.numberToHclTerraform(struct.percent),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyConditionsConditionAbsentTriggerToHclTerraform = monitoringAlertPolicyConditionsConditionAbsentTriggerToHclTerraform;
class MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference 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._count !== undefined) {
hasAnyValues = true;
internalValueResult.count = this._count;
}
if (this._percent !== undefined) {
hasAnyValues = true;
internalValueResult.percent = this._percent;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._count = undefined;
this._percent = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._count = value.count;
this._percent = value.percent;
}
}
get count() {
return this.getNumberAttribute('count');
}
set count(value) {
this._count = value;
}
resetCount() {
this._count = undefined;
}
// Temporarily expose input value. Use with caution.
get countInput() {
return this._count;
}
get percent() {
return this.getNumberAttribute('percent');
}
set percent(value) {
this._percent = value;
}
resetPercent() {
this._percent = undefined;
}
// Temporarily expose input value. Use with caution.
get percentInput() {
return this._percent;
}
}
exports.MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference = MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference;
_j = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference[_j] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference", version: "14.12.0" };
function monitoringAlertPolicyConditionsConditionAbsentToTerraform(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 {
duration: cdktf.stringToTerraform(struct.duration),
filter: cdktf.stringToTerraform(struct.filter),
aggregations: cdktf.listMapper(monitoringAlertPolicyConditionsConditionAbsentAggregationsToTerraform, true)(struct.aggregations),
trigger: monitoringAlertPolicyConditionsConditionAbsentTriggerToTerraform(struct.trigger),
};
}
exports.monitoringAlertPolicyConditionsConditionAbsentToTerraform = monitoringAlertPolicyConditionsConditionAbsentToTerraform;
function monitoringAlertPolicyConditionsConditionAbsentToHclTerraform(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 = {
duration: {
value: cdktf.stringToHclTerraform(struct.duration),
isBlock: false,
type: "simple",
storageClassType: "string",
},
filter: {
value: cdktf.stringToHclTerraform(struct.filter),
isBlock: false,
type: "simple",
storageClassType: "string",
},
aggregations: {
value: cdktf.listMapperHcl(monitoringAlertPolicyConditionsConditionAbsentAggregationsToHclTerraform, true)(struct.aggregations),
isBlock: true,
type: "list",
storageClassType: "MonitoringAlertPolicyConditionsConditionAbsentAggregationsList",
},
trigger: {
value: monitoringAlertPolicyConditionsConditionAbsentTriggerToHclTerraform(struct.trigger),
isBlock: true,
type: "list",
storageClassType: "MonitoringAlertPolicyConditionsConditionAbsentTriggerList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyConditionsConditionAbsentToHclTerraform = monitoringAlertPolicyConditionsConditionAbsentToHclTerraform;
class MonitoringAlertPolicyConditionsConditionAbsentOutputReference 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;
// aggregations - computed: false, optional: true, required: false
this._aggregations = new MonitoringAlertPolicyConditionsConditionAbsentAggregationsList(this, "aggregations", false);
// trigger - computed: false, optional: true, required: false
this._trigger = new MonitoringAlertPolicyConditionsConditionAbsentTriggerOutputReference(this, "trigger");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._duration !== undefined) {
hasAnyValues = true;
internalValueResult.duration = this._duration;
}
if (this._filter !== undefined) {
hasAnyValues = true;
internalValueResult.filter = this._filter;
}
if (this._aggregations?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.aggregations = this._aggregations?.internalValue;
}
if (this._trigger?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.trigger = this._trigger?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._duration = undefined;
this._filter = undefined;
this._aggregations.internalValue = undefined;
this._trigger.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._duration = value.duration;
this._filter = value.filter;
this._aggregations.internalValue = value.aggregations;
this._trigger.internalValue = value.trigger;
}
}
get duration() {
return this.getStringAttribute('duration');
}
set duration(value) {
this._duration = value;
}
// Temporarily expose input value. Use with caution.
get durationInput() {
return this._duration;
}
get filter() {
return this.getStringAttribute('filter');
}
set filter(value) {
this._filter = value;
}
resetFilter() {
this._filter = undefined;
}
// Temporarily expose input value. Use with caution.
get filterInput() {
return this._filter;
}
get aggregations() {
return this._aggregations;
}
putAggregations(value) {
this._aggregations.internalValue = value;
}
resetAggregations() {
this._aggregations.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get aggregationsInput() {
return this._aggregations.internalValue;
}
get trigger() {
return this._trigger;
}
putTrigger(value) {
this._trigger.internalValue = value;
}
resetTrigger() {
this._trigger.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get triggerInput() {
return this._trigger.internalValue;
}
}
exports.MonitoringAlertPolicyConditionsConditionAbsentOutputReference = MonitoringAlertPolicyConditionsConditionAbsentOutputReference;
_k = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyConditionsConditionAbsentOutputReference[_k] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyConditionsConditionAbsentOutputReference", version: "14.12.0" };
function monitoringAlertPolicyConditionsConditionMatchedLogToTerraform(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 {
filter: cdktf.stringToTerraform(struct.filter),
label_extractors: cdktf.hashMapper(cdktf.stringToTerraform)(struct.labelExtractors),
};
}
exports.monitoringAlertPolicyConditionsConditionMatchedLogToTerraform = monitoringAlertPolicyConditionsConditionMatchedLogToTerraform;
function monitoringAlertPolicyConditionsConditionMatchedLogToHclTerraform(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 = {
filter: {
value: cdktf.stringToHclTerraform(struct.filter),
isBlock: false,
type: "simple",
storageClassType: "string",
},
label_extractors: {
value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.labelExtractors),
isBlock: false,
type: "map",
storageClassType: "stringMap",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.monitoringAlertPolicyConditionsConditionMatchedLogToHclTerraform = monitoringAlertPolicyConditionsConditionMatchedLogToHclTerraform;
class MonitoringAlertPolicyConditionsConditionMatchedLogOutputReference 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._filter !== undefined) {
hasAnyValues = true;
internalValueResult.filter = this._filter;
}
if (this._labelExtractors !== undefined) {
hasAnyValues = true;
internalValueResult.labelExtractors = this._labelExtractors;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._filter = undefined;
this._labelExtractors = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._filter = value.filter;
this._labelExtractors = value.labelExtractors;
}
}
get filter() {
return this.getStringAttribute('filter');
}
set filter(value) {
this._filter = value;
}
// Temporarily expose input value. Use with caution.
get filterInput() {
return this._filter;
}
get labelExtractors() {
return this.getStringMapAttribute('label_extractors');
}
set labelExtractors(value) {
this._labelExtractors = value;
}
resetLabelExtractors() {
this._labelExtractors = undefined;
}
// Temporarily expose input value. Use with caution.
get labelExtractorsInput() {
return this._labelExtractors;
}
}
exports.MonitoringAlertPolicyConditionsConditionMatchedLogOutputReference = MonitoringAlertPolicyConditionsConditionMatchedLogOutputReference;
_l = JSII_RTTI_SYMBOL_1;
MonitoringAlertPolicyConditionsConditionMatchedLogOutputReference[_l] = { fqn: "@cdktf/provider-google.monitoringAlertPolicy.MonitoringAlertPolicyConditionsConditionMatchedLogOutputReference", version: "14.12.0" };
function monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTriggerToTerraform(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 {
count: cdktf.numberToTerraform(struct.count),
percent: cdktf.numberToTerraform(struct.percent),
};
}
exports.monitoringAlertPolicyConditionsConditionMonitoringQueryLanguageTriggerT