@cdktf/provider-azurerm
Version:
Prebuilt azurerm Provider for Terraform CDK (cdktf)
1,221 lines (1,220 loc) • 169 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FrontdoorRulesEngine = exports.FrontdoorRulesEngineTimeoutsOutputReference = exports.frontdoorRulesEngineTimeoutsToHclTerraform = exports.frontdoorRulesEngineTimeoutsToTerraform = exports.FrontdoorRulesEngineRuleList = exports.FrontdoorRulesEngineRuleOutputReference = exports.frontdoorRulesEngineRuleToHclTerraform = exports.frontdoorRulesEngineRuleToTerraform = exports.FrontdoorRulesEngineRuleMatchConditionList = exports.FrontdoorRulesEngineRuleMatchConditionOutputReference = exports.frontdoorRulesEngineRuleMatchConditionToHclTerraform = exports.frontdoorRulesEngineRuleMatchConditionToTerraform = exports.FrontdoorRulesEngineRuleActionOutputReference = exports.frontdoorRulesEngineRuleActionToHclTerraform = exports.frontdoorRulesEngineRuleActionToTerraform = exports.FrontdoorRulesEngineRuleActionResponseHeaderList = exports.FrontdoorRulesEngineRuleActionResponseHeaderOutputReference = exports.frontdoorRulesEngineRuleActionResponseHeaderToHclTerraform = exports.frontdoorRulesEngineRuleActionResponseHeaderToTerraform = exports.FrontdoorRulesEngineRuleActionRequestHeaderList = exports.FrontdoorRulesEngineRuleActionRequestHeaderOutputReference = exports.frontdoorRulesEngineRuleActionRequestHeaderToHclTerraform = exports.frontdoorRulesEngineRuleActionRequestHeaderToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function frontdoorRulesEngineRuleActionRequestHeaderToTerraform(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 {
header_action_type: cdktf.stringToTerraform(struct.headerActionType),
header_name: cdktf.stringToTerraform(struct.headerName),
value: cdktf.stringToTerraform(struct.value),
};
}
exports.frontdoorRulesEngineRuleActionRequestHeaderToTerraform = frontdoorRulesEngineRuleActionRequestHeaderToTerraform;
function frontdoorRulesEngineRuleActionRequestHeaderToHclTerraform(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 = {
header_action_type: {
value: cdktf.stringToHclTerraform(struct.headerActionType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
header_name: {
value: cdktf.stringToHclTerraform(struct.headerName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
value: {
value: cdktf.stringToHclTerraform(struct.value),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.frontdoorRulesEngineRuleActionRequestHeaderToHclTerraform = frontdoorRulesEngineRuleActionRequestHeaderToHclTerraform;
class FrontdoorRulesEngineRuleActionRequestHeaderOutputReference 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._headerActionType !== undefined) {
hasAnyValues = true;
internalValueResult.headerActionType = this._headerActionType;
}
if (this._headerName !== undefined) {
hasAnyValues = true;
internalValueResult.headerName = this._headerName;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._headerActionType = undefined;
this._headerName = undefined;
this._value = 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._headerActionType = value.headerActionType;
this._headerName = value.headerName;
this._value = value.value;
}
}
get headerActionType() {
return this.getStringAttribute('header_action_type');
}
set headerActionType(value) {
this._headerActionType = value;
}
resetHeaderActionType() {
this._headerActionType = undefined;
}
// Temporarily expose input value. Use with caution.
get headerActionTypeInput() {
return this._headerActionType;
}
get headerName() {
return this.getStringAttribute('header_name');
}
set headerName(value) {
this._headerName = value;
}
resetHeaderName() {
this._headerName = undefined;
}
// Temporarily expose input value. Use with caution.
get headerNameInput() {
return this._headerName;
}
get value() {
return this.getStringAttribute('value');
}
set value(value) {
this._value = value;
}
resetValue() {
this._value = undefined;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.FrontdoorRulesEngineRuleActionRequestHeaderOutputReference = FrontdoorRulesEngineRuleActionRequestHeaderOutputReference;
_a = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleActionRequestHeaderOutputReference[_a] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleActionRequestHeaderOutputReference", version: "12.27.0" };
class FrontdoorRulesEngineRuleActionRequestHeaderList 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 FrontdoorRulesEngineRuleActionRequestHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.FrontdoorRulesEngineRuleActionRequestHeaderList = FrontdoorRulesEngineRuleActionRequestHeaderList;
_b = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleActionRequestHeaderList[_b] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleActionRequestHeaderList", version: "12.27.0" };
function frontdoorRulesEngineRuleActionResponseHeaderToTerraform(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 {
header_action_type: cdktf.stringToTerraform(struct.headerActionType),
header_name: cdktf.stringToTerraform(struct.headerName),
value: cdktf.stringToTerraform(struct.value),
};
}
exports.frontdoorRulesEngineRuleActionResponseHeaderToTerraform = frontdoorRulesEngineRuleActionResponseHeaderToTerraform;
function frontdoorRulesEngineRuleActionResponseHeaderToHclTerraform(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 = {
header_action_type: {
value: cdktf.stringToHclTerraform(struct.headerActionType),
isBlock: false,
type: "simple",
storageClassType: "string",
},
header_name: {
value: cdktf.stringToHclTerraform(struct.headerName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
value: {
value: cdktf.stringToHclTerraform(struct.value),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.frontdoorRulesEngineRuleActionResponseHeaderToHclTerraform = frontdoorRulesEngineRuleActionResponseHeaderToHclTerraform;
class FrontdoorRulesEngineRuleActionResponseHeaderOutputReference 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._headerActionType !== undefined) {
hasAnyValues = true;
internalValueResult.headerActionType = this._headerActionType;
}
if (this._headerName !== undefined) {
hasAnyValues = true;
internalValueResult.headerName = this._headerName;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._headerActionType = undefined;
this._headerName = undefined;
this._value = 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._headerActionType = value.headerActionType;
this._headerName = value.headerName;
this._value = value.value;
}
}
get headerActionType() {
return this.getStringAttribute('header_action_type');
}
set headerActionType(value) {
this._headerActionType = value;
}
resetHeaderActionType() {
this._headerActionType = undefined;
}
// Temporarily expose input value. Use with caution.
get headerActionTypeInput() {
return this._headerActionType;
}
get headerName() {
return this.getStringAttribute('header_name');
}
set headerName(value) {
this._headerName = value;
}
resetHeaderName() {
this._headerName = undefined;
}
// Temporarily expose input value. Use with caution.
get headerNameInput() {
return this._headerName;
}
get value() {
return this.getStringAttribute('value');
}
set value(value) {
this._value = value;
}
resetValue() {
this._value = undefined;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
}
exports.FrontdoorRulesEngineRuleActionResponseHeaderOutputReference = FrontdoorRulesEngineRuleActionResponseHeaderOutputReference;
_c = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleActionResponseHeaderOutputReference[_c] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleActionResponseHeaderOutputReference", version: "12.27.0" };
class FrontdoorRulesEngineRuleActionResponseHeaderList 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 FrontdoorRulesEngineRuleActionResponseHeaderOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.FrontdoorRulesEngineRuleActionResponseHeaderList = FrontdoorRulesEngineRuleActionResponseHeaderList;
_d = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleActionResponseHeaderList[_d] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleActionResponseHeaderList", version: "12.27.0" };
function frontdoorRulesEngineRuleActionToTerraform(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 {
request_header: cdktf.listMapper(frontdoorRulesEngineRuleActionRequestHeaderToTerraform, true)(struct.requestHeader),
response_header: cdktf.listMapper(frontdoorRulesEngineRuleActionResponseHeaderToTerraform, true)(struct.responseHeader),
};
}
exports.frontdoorRulesEngineRuleActionToTerraform = frontdoorRulesEngineRuleActionToTerraform;
function frontdoorRulesEngineRuleActionToHclTerraform(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 = {
request_header: {
value: cdktf.listMapperHcl(frontdoorRulesEngineRuleActionRequestHeaderToHclTerraform, true)(struct.requestHeader),
isBlock: true,
type: "list",
storageClassType: "FrontdoorRulesEngineRuleActionRequestHeaderList",
},
response_header: {
value: cdktf.listMapperHcl(frontdoorRulesEngineRuleActionResponseHeaderToHclTerraform, true)(struct.responseHeader),
isBlock: true,
type: "list",
storageClassType: "FrontdoorRulesEngineRuleActionResponseHeaderList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.frontdoorRulesEngineRuleActionToHclTerraform = frontdoorRulesEngineRuleActionToHclTerraform;
class FrontdoorRulesEngineRuleActionOutputReference 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;
// request_header - computed: false, optional: true, required: false
this._requestHeader = new FrontdoorRulesEngineRuleActionRequestHeaderList(this, "request_header", false);
// response_header - computed: false, optional: true, required: false
this._responseHeader = new FrontdoorRulesEngineRuleActionResponseHeaderList(this, "response_header", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._requestHeader?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.requestHeader = this._requestHeader?.internalValue;
}
if (this._responseHeader?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.responseHeader = this._responseHeader?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._requestHeader.internalValue = undefined;
this._responseHeader.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._requestHeader.internalValue = value.requestHeader;
this._responseHeader.internalValue = value.responseHeader;
}
}
get requestHeader() {
return this._requestHeader;
}
putRequestHeader(value) {
this._requestHeader.internalValue = value;
}
resetRequestHeader() {
this._requestHeader.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get requestHeaderInput() {
return this._requestHeader.internalValue;
}
get responseHeader() {
return this._responseHeader;
}
putResponseHeader(value) {
this._responseHeader.internalValue = value;
}
resetResponseHeader() {
this._responseHeader.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get responseHeaderInput() {
return this._responseHeader.internalValue;
}
}
exports.FrontdoorRulesEngineRuleActionOutputReference = FrontdoorRulesEngineRuleActionOutputReference;
_e = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleActionOutputReference[_e] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleActionOutputReference", version: "12.27.0" };
function frontdoorRulesEngineRuleMatchConditionToTerraform(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 {
negate_condition: cdktf.booleanToTerraform(struct.negateCondition),
operator: cdktf.stringToTerraform(struct.operator),
selector: cdktf.stringToTerraform(struct.selector),
transform: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.transform),
value: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.value),
variable: cdktf.stringToTerraform(struct.variable),
};
}
exports.frontdoorRulesEngineRuleMatchConditionToTerraform = frontdoorRulesEngineRuleMatchConditionToTerraform;
function frontdoorRulesEngineRuleMatchConditionToHclTerraform(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 = {
negate_condition: {
value: cdktf.booleanToHclTerraform(struct.negateCondition),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
operator: {
value: cdktf.stringToHclTerraform(struct.operator),
isBlock: false,
type: "simple",
storageClassType: "string",
},
selector: {
value: cdktf.stringToHclTerraform(struct.selector),
isBlock: false,
type: "simple",
storageClassType: "string",
},
transform: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.transform),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
value: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.value),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
variable: {
value: cdktf.stringToHclTerraform(struct.variable),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.frontdoorRulesEngineRuleMatchConditionToHclTerraform = frontdoorRulesEngineRuleMatchConditionToHclTerraform;
class FrontdoorRulesEngineRuleMatchConditionOutputReference 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._negateCondition !== undefined) {
hasAnyValues = true;
internalValueResult.negateCondition = this._negateCondition;
}
if (this._operator !== undefined) {
hasAnyValues = true;
internalValueResult.operator = this._operator;
}
if (this._selector !== undefined) {
hasAnyValues = true;
internalValueResult.selector = this._selector;
}
if (this._transform !== undefined) {
hasAnyValues = true;
internalValueResult.transform = this._transform;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
if (this._variable !== undefined) {
hasAnyValues = true;
internalValueResult.variable = this._variable;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._negateCondition = undefined;
this._operator = undefined;
this._selector = undefined;
this._transform = undefined;
this._value = undefined;
this._variable = 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._negateCondition = value.negateCondition;
this._operator = value.operator;
this._selector = value.selector;
this._transform = value.transform;
this._value = value.value;
this._variable = value.variable;
}
}
get negateCondition() {
return this.getBooleanAttribute('negate_condition');
}
set negateCondition(value) {
this._negateCondition = value;
}
resetNegateCondition() {
this._negateCondition = undefined;
}
// Temporarily expose input value. Use with caution.
get negateConditionInput() {
return this._negateCondition;
}
get operator() {
return this.getStringAttribute('operator');
}
set operator(value) {
this._operator = value;
}
// Temporarily expose input value. Use with caution.
get operatorInput() {
return this._operator;
}
get selector() {
return this.getStringAttribute('selector');
}
set selector(value) {
this._selector = value;
}
resetSelector() {
this._selector = undefined;
}
// Temporarily expose input value. Use with caution.
get selectorInput() {
return this._selector;
}
get transform() {
return this.getListAttribute('transform');
}
set transform(value) {
this._transform = value;
}
resetTransform() {
this._transform = undefined;
}
// Temporarily expose input value. Use with caution.
get transformInput() {
return this._transform;
}
get value() {
return this.getListAttribute('value');
}
set value(value) {
this._value = value;
}
resetValue() {
this._value = undefined;
}
// Temporarily expose input value. Use with caution.
get valueInput() {
return this._value;
}
get variable() {
return this.getStringAttribute('variable');
}
set variable(value) {
this._variable = value;
}
resetVariable() {
this._variable = undefined;
}
// Temporarily expose input value. Use with caution.
get variableInput() {
return this._variable;
}
}
exports.FrontdoorRulesEngineRuleMatchConditionOutputReference = FrontdoorRulesEngineRuleMatchConditionOutputReference;
_f = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleMatchConditionOutputReference[_f] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleMatchConditionOutputReference", version: "12.27.0" };
class FrontdoorRulesEngineRuleMatchConditionList 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 FrontdoorRulesEngineRuleMatchConditionOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.FrontdoorRulesEngineRuleMatchConditionList = FrontdoorRulesEngineRuleMatchConditionList;
_g = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleMatchConditionList[_g] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleMatchConditionList", version: "12.27.0" };
function frontdoorRulesEngineRuleToTerraform(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 {
name: cdktf.stringToTerraform(struct.name),
priority: cdktf.numberToTerraform(struct.priority),
action: frontdoorRulesEngineRuleActionToTerraform(struct.action),
match_condition: cdktf.listMapper(frontdoorRulesEngineRuleMatchConditionToTerraform, true)(struct.matchCondition),
};
}
exports.frontdoorRulesEngineRuleToTerraform = frontdoorRulesEngineRuleToTerraform;
function frontdoorRulesEngineRuleToHclTerraform(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 = {
name: {
value: cdktf.stringToHclTerraform(struct.name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
priority: {
value: cdktf.numberToHclTerraform(struct.priority),
isBlock: false,
type: "simple",
storageClassType: "number",
},
action: {
value: frontdoorRulesEngineRuleActionToHclTerraform(struct.action),
isBlock: true,
type: "list",
storageClassType: "FrontdoorRulesEngineRuleActionList",
},
match_condition: {
value: cdktf.listMapperHcl(frontdoorRulesEngineRuleMatchConditionToHclTerraform, true)(struct.matchCondition),
isBlock: true,
type: "list",
storageClassType: "FrontdoorRulesEngineRuleMatchConditionList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.frontdoorRulesEngineRuleToHclTerraform = frontdoorRulesEngineRuleToHclTerraform;
class FrontdoorRulesEngineRuleOutputReference 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;
// action - computed: false, optional: true, required: false
this._action = new FrontdoorRulesEngineRuleActionOutputReference(this, "action");
// match_condition - computed: false, optional: true, required: false
this._matchCondition = new FrontdoorRulesEngineRuleMatchConditionList(this, "match_condition", false);
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._priority !== undefined) {
hasAnyValues = true;
internalValueResult.priority = this._priority;
}
if (this._action?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.action = this._action?.internalValue;
}
if (this._matchCondition?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.matchCondition = this._matchCondition?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._name = undefined;
this._priority = undefined;
this._action.internalValue = undefined;
this._matchCondition.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._name = value.name;
this._priority = value.priority;
this._action.internalValue = value.action;
this._matchCondition.internalValue = value.matchCondition;
}
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get priority() {
return this.getNumberAttribute('priority');
}
set priority(value) {
this._priority = value;
}
// Temporarily expose input value. Use with caution.
get priorityInput() {
return this._priority;
}
get action() {
return this._action;
}
putAction(value) {
this._action.internalValue = value;
}
resetAction() {
this._action.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get actionInput() {
return this._action.internalValue;
}
get matchCondition() {
return this._matchCondition;
}
putMatchCondition(value) {
this._matchCondition.internalValue = value;
}
resetMatchCondition() {
this._matchCondition.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get matchConditionInput() {
return this._matchCondition.internalValue;
}
}
exports.FrontdoorRulesEngineRuleOutputReference = FrontdoorRulesEngineRuleOutputReference;
_h = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleOutputReference[_h] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleOutputReference", version: "12.27.0" };
class FrontdoorRulesEngineRuleList 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 FrontdoorRulesEngineRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.FrontdoorRulesEngineRuleList = FrontdoorRulesEngineRuleList;
_j = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineRuleList[_j] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineRuleList", version: "12.27.0" };
function frontdoorRulesEngineTimeoutsToTerraform(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),
read: cdktf.stringToTerraform(struct.read),
update: cdktf.stringToTerraform(struct.update),
};
}
exports.frontdoorRulesEngineTimeoutsToTerraform = frontdoorRulesEngineTimeoutsToTerraform;
function frontdoorRulesEngineTimeoutsToHclTerraform(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",
},
read: {
value: cdktf.stringToHclTerraform(struct.read),
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.frontdoorRulesEngineTimeoutsToHclTerraform = frontdoorRulesEngineTimeoutsToHclTerraform;
class FrontdoorRulesEngineTimeoutsOutputReference 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._read !== undefined) {
hasAnyValues = true;
internalValueResult.read = this._read;
}
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._read = 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._read = value.read;
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 read() {
return this.getStringAttribute('read');
}
set read(value) {
this._read = value;
}
resetRead() {
this._read = undefined;
}
// Temporarily expose input value. Use with caution.
get readInput() {
return this._read;
}
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.FrontdoorRulesEngineTimeoutsOutputReference = FrontdoorRulesEngineTimeoutsOutputReference;
_k = JSII_RTTI_SYMBOL_1;
FrontdoorRulesEngineTimeoutsOutputReference[_k] = { fqn: "@cdktf/provider-azurerm.frontdoorRulesEngine.FrontdoorRulesEngineTimeoutsOutputReference", version: "12.27.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/frontdoor_rules_engine azurerm_frontdoor_rules_engine}
*/
class FrontdoorRulesEngine extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a FrontdoorRulesEngine 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 FrontdoorRulesEngine to import
* @param importFromId The id of the existing FrontdoorRulesEngine that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/frontdoor_rules_engine#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the FrontdoorRulesEngine to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "azurerm_frontdoor_rules_engine", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/azurerm/3.116.0/docs/resources/frontdoor_rules_engine azurerm_frontdoor_rules_engine} 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 FrontdoorRulesEngineConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'azurerm_frontdoor_rules_engine',
terraformGeneratorMetadata: {
providerName: 'azurerm',
providerVersion: '3.116.0',
providerVersionConstraint: '~> 3.10'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// rule - computed: false, optional: true, required: false
this._rule = new FrontdoorRulesEngineRuleList(this, "rule", false);
// timeouts - computed: false, optional: true, required: false
this._timeouts = new FrontdoorRulesEngineTimeoutsOutputReference(this, "timeouts");
this._enabled = config.enabled;
this._frontdoorName = config.frontdoorName;
this._id = config.id;
this._name = config.name;
this._resourceGroupName = config.resourceGroupName;
this._rule.internalValue = config.rule;
this._timeouts.internalValue = config.timeouts;
}
get enabled() {
return this.getBooleanAttribute('enabled');
}
set enabled(value) {
this._enabled = value;
}
resetEnabled() {
this._enabled = undefined;
}
// Temporarily expose input value. Use with caution.
get enabledInput() {
return this._enabled;
}
get frontdoorName() {
return this.getStringAttribute('frontdoor_name');
}
set frontdoorName(value) {
this._frontdoorName = value;
}
// Temporarily expose input value. Use with caution.
get frontdoorNameInput() {
return this._frontdoorName;
}
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;
}
// location - computed: true, optional: false, required: false
get location() {
return this.getStringAttribute('location');
}
get name() {
return this.getStringAttribute('name');
}
set name(value) {
this._name = value;
}
// Temporarily expose input value. Use with caution.
get nameInput() {
return this._name;
}
get resourceGroupName() {
return this.getStringAttribute('resource_group_name');
}
set resourceGroupName(value) {
this._resourceGroupName = value;
}
// Temporarily expose input value. Use with caution.
get resourceGroupNameInput() {
return this._resourceGroupName;
}
get rule() {
return this._rule;
}
putRule(value) {
this._rule.internalValue = value;
}
resetRule() {
this._rule.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get ruleInput() {
return this._rule.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 {
enabled: cdktf.booleanToTerraform(this._enabled),
frontdoor_name: cdktf.stringToTerraform(this._frontdoorName),
id: cdktf.stringToTerraform(this._id),
name: cdktf.stringToTerraform(this._name),
resource_group_name: cdktf.stringToTerraform(this._resourceGroupName),
rule: cdktf.listMapper(frontdoorRulesEngineRuleToTerraform, true)(this._rule.internalValue),
timeouts: frontdoorRulesEngineTimeoutsToTerraform(this._timeouts.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
enabled: {
value: cdktf.booleanToHclTerraform(this._enabled),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
frontdoor_name: {
value: cdktf.stringToHclTerraform(this._frontdoorName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
name: {
value: cdktf.stringToHclTerraform(this._name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
resource_group_name: {
value: cdktf.stringToHclTerraform(this._resourceGroupName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
rule: {
value: cdktf.listMapperHcl(frontdoorRulesEngineRuleToHclTerraform, true)(this._rule.internalValue),
isBlock: true,
type: "list",
storageClassType: "FrontdoorRulesEngineRuleList",
},
timeouts: {
value: frontdoorRulesEngineTimeoutsToHclTerraform(this._timeouts.internalValue),
isBlock: true,
type: "struct",
storageClassType: "FrontdoorRulesEngineTimeouts",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));