@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,012 lines (1,011 loc) • 887 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, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AppmeshRouteSpecHttpRouteOutputReference = exports.AppmeshRouteSpecHttpRouteTimeoutOutputReference = exports.AppmeshRouteSpecHttpRouteTimeoutPerRequestOutputReference = exports.AppmeshRouteSpecHttpRouteTimeoutIdleOutputReference = exports.AppmeshRouteSpecHttpRouteRetryPolicyOutputReference = exports.AppmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutOutputReference = exports.AppmeshRouteSpecHttpRouteMatchOutputReference = exports.AppmeshRouteSpecHttpRouteMatchQueryParameterList = exports.AppmeshRouteSpecHttpRouteMatchQueryParameterOutputReference = exports.AppmeshRouteSpecHttpRouteMatchQueryParameterMatchOutputReference = exports.AppmeshRouteSpecHttpRouteMatchPathOutputReference = exports.AppmeshRouteSpecHttpRouteMatchHeaderList = exports.AppmeshRouteSpecHttpRouteMatchHeaderOutputReference = exports.AppmeshRouteSpecHttpRouteMatchHeaderMatchOutputReference = exports.AppmeshRouteSpecHttpRouteMatchHeaderMatchRangeOutputReference = exports.AppmeshRouteSpecHttpRouteActionOutputReference = exports.AppmeshRouteSpecHttpRouteActionWeightedTargetList = exports.AppmeshRouteSpecHttpRouteActionWeightedTargetOutputReference = exports.AppmeshRouteSpecHttp2RouteOutputReference = exports.AppmeshRouteSpecHttp2RouteTimeoutOutputReference = exports.AppmeshRouteSpecHttp2RouteTimeoutPerRequestOutputReference = exports.AppmeshRouteSpecHttp2RouteTimeoutIdleOutputReference = exports.AppmeshRouteSpecHttp2RouteRetryPolicyOutputReference = exports.AppmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchQueryParameterList = exports.AppmeshRouteSpecHttp2RouteMatchQueryParameterOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchQueryParameterMatchOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchPathOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchHeaderList = exports.AppmeshRouteSpecHttp2RouteMatchHeaderOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchHeaderMatchOutputReference = exports.AppmeshRouteSpecHttp2RouteMatchHeaderMatchRangeOutputReference = exports.AppmeshRouteSpecHttp2RouteActionOutputReference = exports.AppmeshRouteSpecHttp2RouteActionWeightedTargetList = exports.AppmeshRouteSpecHttp2RouteActionWeightedTargetOutputReference = exports.AppmeshRouteSpecGrpcRouteOutputReference = exports.AppmeshRouteSpecGrpcRouteTimeoutOutputReference = exports.AppmeshRouteSpecGrpcRouteTimeoutPerRequestOutputReference = exports.AppmeshRouteSpecGrpcRouteTimeoutIdleOutputReference = exports.AppmeshRouteSpecGrpcRouteRetryPolicyOutputReference = exports.AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference = exports.AppmeshRouteSpecGrpcRouteMatchOutputReference = exports.AppmeshRouteSpecGrpcRouteMatchMetadataList = exports.AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference = exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference = exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference = exports.AppmeshRouteSpecGrpcRouteActionOutputReference = exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetList = exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference = void 0;
exports.AppmeshRoute = exports.AppmeshRouteSpecOutputReference = exports.AppmeshRouteSpecTcpRouteOutputReference = exports.AppmeshRouteSpecTcpRouteTimeoutOutputReference = exports.AppmeshRouteSpecTcpRouteTimeoutIdleOutputReference = exports.AppmeshRouteSpecTcpRouteMatchOutputReference = exports.AppmeshRouteSpecTcpRouteActionOutputReference = exports.AppmeshRouteSpecTcpRouteActionWeightedTargetList = exports.AppmeshRouteSpecTcpRouteActionWeightedTargetOutputReference = void 0;
exports.appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform = appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform;
exports.appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform = appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform;
exports.appmeshRouteSpecGrpcRouteActionToTerraform = appmeshRouteSpecGrpcRouteActionToTerraform;
exports.appmeshRouteSpecGrpcRouteActionToHclTerraform = appmeshRouteSpecGrpcRouteActionToHclTerraform;
exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform;
exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform;
exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform;
exports.appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform = appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform;
exports.appmeshRouteSpecGrpcRouteMatchMetadataToTerraform = appmeshRouteSpecGrpcRouteMatchMetadataToTerraform;
exports.appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform = appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform;
exports.appmeshRouteSpecGrpcRouteMatchToTerraform = appmeshRouteSpecGrpcRouteMatchToTerraform;
exports.appmeshRouteSpecGrpcRouteMatchToHclTerraform = appmeshRouteSpecGrpcRouteMatchToHclTerraform;
exports.appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform = appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform;
exports.appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform = appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform;
exports.appmeshRouteSpecGrpcRouteRetryPolicyToTerraform = appmeshRouteSpecGrpcRouteRetryPolicyToTerraform;
exports.appmeshRouteSpecGrpcRouteRetryPolicyToHclTerraform = appmeshRouteSpecGrpcRouteRetryPolicyToHclTerraform;
exports.appmeshRouteSpecGrpcRouteTimeoutIdleToTerraform = appmeshRouteSpecGrpcRouteTimeoutIdleToTerraform;
exports.appmeshRouteSpecGrpcRouteTimeoutIdleToHclTerraform = appmeshRouteSpecGrpcRouteTimeoutIdleToHclTerraform;
exports.appmeshRouteSpecGrpcRouteTimeoutPerRequestToTerraform = appmeshRouteSpecGrpcRouteTimeoutPerRequestToTerraform;
exports.appmeshRouteSpecGrpcRouteTimeoutPerRequestToHclTerraform = appmeshRouteSpecGrpcRouteTimeoutPerRequestToHclTerraform;
exports.appmeshRouteSpecGrpcRouteTimeoutToTerraform = appmeshRouteSpecGrpcRouteTimeoutToTerraform;
exports.appmeshRouteSpecGrpcRouteTimeoutToHclTerraform = appmeshRouteSpecGrpcRouteTimeoutToHclTerraform;
exports.appmeshRouteSpecGrpcRouteToTerraform = appmeshRouteSpecGrpcRouteToTerraform;
exports.appmeshRouteSpecGrpcRouteToHclTerraform = appmeshRouteSpecGrpcRouteToHclTerraform;
exports.appmeshRouteSpecHttp2RouteActionWeightedTargetToTerraform = appmeshRouteSpecHttp2RouteActionWeightedTargetToTerraform;
exports.appmeshRouteSpecHttp2RouteActionWeightedTargetToHclTerraform = appmeshRouteSpecHttp2RouteActionWeightedTargetToHclTerraform;
exports.appmeshRouteSpecHttp2RouteActionToTerraform = appmeshRouteSpecHttp2RouteActionToTerraform;
exports.appmeshRouteSpecHttp2RouteActionToHclTerraform = appmeshRouteSpecHttp2RouteActionToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchRangeToTerraform = appmeshRouteSpecHttp2RouteMatchHeaderMatchRangeToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchRangeToHclTerraform = appmeshRouteSpecHttp2RouteMatchHeaderMatchRangeToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchToTerraform = appmeshRouteSpecHttp2RouteMatchHeaderMatchToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchHeaderMatchToHclTerraform = appmeshRouteSpecHttp2RouteMatchHeaderMatchToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchHeaderToTerraform = appmeshRouteSpecHttp2RouteMatchHeaderToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchHeaderToHclTerraform = appmeshRouteSpecHttp2RouteMatchHeaderToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchPathToTerraform = appmeshRouteSpecHttp2RouteMatchPathToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchPathToHclTerraform = appmeshRouteSpecHttp2RouteMatchPathToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchQueryParameterMatchToTerraform = appmeshRouteSpecHttp2RouteMatchQueryParameterMatchToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchQueryParameterMatchToHclTerraform = appmeshRouteSpecHttp2RouteMatchQueryParameterMatchToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchQueryParameterToTerraform = appmeshRouteSpecHttp2RouteMatchQueryParameterToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchQueryParameterToHclTerraform = appmeshRouteSpecHttp2RouteMatchQueryParameterToHclTerraform;
exports.appmeshRouteSpecHttp2RouteMatchToTerraform = appmeshRouteSpecHttp2RouteMatchToTerraform;
exports.appmeshRouteSpecHttp2RouteMatchToHclTerraform = appmeshRouteSpecHttp2RouteMatchToHclTerraform;
exports.appmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutToTerraform = appmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutToTerraform;
exports.appmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutToHclTerraform = appmeshRouteSpecHttp2RouteRetryPolicyPerRetryTimeoutToHclTerraform;
exports.appmeshRouteSpecHttp2RouteRetryPolicyToTerraform = appmeshRouteSpecHttp2RouteRetryPolicyToTerraform;
exports.appmeshRouteSpecHttp2RouteRetryPolicyToHclTerraform = appmeshRouteSpecHttp2RouteRetryPolicyToHclTerraform;
exports.appmeshRouteSpecHttp2RouteTimeoutIdleToTerraform = appmeshRouteSpecHttp2RouteTimeoutIdleToTerraform;
exports.appmeshRouteSpecHttp2RouteTimeoutIdleToHclTerraform = appmeshRouteSpecHttp2RouteTimeoutIdleToHclTerraform;
exports.appmeshRouteSpecHttp2RouteTimeoutPerRequestToTerraform = appmeshRouteSpecHttp2RouteTimeoutPerRequestToTerraform;
exports.appmeshRouteSpecHttp2RouteTimeoutPerRequestToHclTerraform = appmeshRouteSpecHttp2RouteTimeoutPerRequestToHclTerraform;
exports.appmeshRouteSpecHttp2RouteTimeoutToTerraform = appmeshRouteSpecHttp2RouteTimeoutToTerraform;
exports.appmeshRouteSpecHttp2RouteTimeoutToHclTerraform = appmeshRouteSpecHttp2RouteTimeoutToHclTerraform;
exports.appmeshRouteSpecHttp2RouteToTerraform = appmeshRouteSpecHttp2RouteToTerraform;
exports.appmeshRouteSpecHttp2RouteToHclTerraform = appmeshRouteSpecHttp2RouteToHclTerraform;
exports.appmeshRouteSpecHttpRouteActionWeightedTargetToTerraform = appmeshRouteSpecHttpRouteActionWeightedTargetToTerraform;
exports.appmeshRouteSpecHttpRouteActionWeightedTargetToHclTerraform = appmeshRouteSpecHttpRouteActionWeightedTargetToHclTerraform;
exports.appmeshRouteSpecHttpRouteActionToTerraform = appmeshRouteSpecHttpRouteActionToTerraform;
exports.appmeshRouteSpecHttpRouteActionToHclTerraform = appmeshRouteSpecHttpRouteActionToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchHeaderMatchRangeToTerraform = appmeshRouteSpecHttpRouteMatchHeaderMatchRangeToTerraform;
exports.appmeshRouteSpecHttpRouteMatchHeaderMatchRangeToHclTerraform = appmeshRouteSpecHttpRouteMatchHeaderMatchRangeToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchHeaderMatchToTerraform = appmeshRouteSpecHttpRouteMatchHeaderMatchToTerraform;
exports.appmeshRouteSpecHttpRouteMatchHeaderMatchToHclTerraform = appmeshRouteSpecHttpRouteMatchHeaderMatchToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchHeaderToTerraform = appmeshRouteSpecHttpRouteMatchHeaderToTerraform;
exports.appmeshRouteSpecHttpRouteMatchHeaderToHclTerraform = appmeshRouteSpecHttpRouteMatchHeaderToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchPathToTerraform = appmeshRouteSpecHttpRouteMatchPathToTerraform;
exports.appmeshRouteSpecHttpRouteMatchPathToHclTerraform = appmeshRouteSpecHttpRouteMatchPathToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchQueryParameterMatchToTerraform = appmeshRouteSpecHttpRouteMatchQueryParameterMatchToTerraform;
exports.appmeshRouteSpecHttpRouteMatchQueryParameterMatchToHclTerraform = appmeshRouteSpecHttpRouteMatchQueryParameterMatchToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchQueryParameterToTerraform = appmeshRouteSpecHttpRouteMatchQueryParameterToTerraform;
exports.appmeshRouteSpecHttpRouteMatchQueryParameterToHclTerraform = appmeshRouteSpecHttpRouteMatchQueryParameterToHclTerraform;
exports.appmeshRouteSpecHttpRouteMatchToTerraform = appmeshRouteSpecHttpRouteMatchToTerraform;
exports.appmeshRouteSpecHttpRouteMatchToHclTerraform = appmeshRouteSpecHttpRouteMatchToHclTerraform;
exports.appmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutToTerraform = appmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutToTerraform;
exports.appmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutToHclTerraform = appmeshRouteSpecHttpRouteRetryPolicyPerRetryTimeoutToHclTerraform;
exports.appmeshRouteSpecHttpRouteRetryPolicyToTerraform = appmeshRouteSpecHttpRouteRetryPolicyToTerraform;
exports.appmeshRouteSpecHttpRouteRetryPolicyToHclTerraform = appmeshRouteSpecHttpRouteRetryPolicyToHclTerraform;
exports.appmeshRouteSpecHttpRouteTimeoutIdleToTerraform = appmeshRouteSpecHttpRouteTimeoutIdleToTerraform;
exports.appmeshRouteSpecHttpRouteTimeoutIdleToHclTerraform = appmeshRouteSpecHttpRouteTimeoutIdleToHclTerraform;
exports.appmeshRouteSpecHttpRouteTimeoutPerRequestToTerraform = appmeshRouteSpecHttpRouteTimeoutPerRequestToTerraform;
exports.appmeshRouteSpecHttpRouteTimeoutPerRequestToHclTerraform = appmeshRouteSpecHttpRouteTimeoutPerRequestToHclTerraform;
exports.appmeshRouteSpecHttpRouteTimeoutToTerraform = appmeshRouteSpecHttpRouteTimeoutToTerraform;
exports.appmeshRouteSpecHttpRouteTimeoutToHclTerraform = appmeshRouteSpecHttpRouteTimeoutToHclTerraform;
exports.appmeshRouteSpecHttpRouteToTerraform = appmeshRouteSpecHttpRouteToTerraform;
exports.appmeshRouteSpecHttpRouteToHclTerraform = appmeshRouteSpecHttpRouteToHclTerraform;
exports.appmeshRouteSpecTcpRouteActionWeightedTargetToTerraform = appmeshRouteSpecTcpRouteActionWeightedTargetToTerraform;
exports.appmeshRouteSpecTcpRouteActionWeightedTargetToHclTerraform = appmeshRouteSpecTcpRouteActionWeightedTargetToHclTerraform;
exports.appmeshRouteSpecTcpRouteActionToTerraform = appmeshRouteSpecTcpRouteActionToTerraform;
exports.appmeshRouteSpecTcpRouteActionToHclTerraform = appmeshRouteSpecTcpRouteActionToHclTerraform;
exports.appmeshRouteSpecTcpRouteMatchToTerraform = appmeshRouteSpecTcpRouteMatchToTerraform;
exports.appmeshRouteSpecTcpRouteMatchToHclTerraform = appmeshRouteSpecTcpRouteMatchToHclTerraform;
exports.appmeshRouteSpecTcpRouteTimeoutIdleToTerraform = appmeshRouteSpecTcpRouteTimeoutIdleToTerraform;
exports.appmeshRouteSpecTcpRouteTimeoutIdleToHclTerraform = appmeshRouteSpecTcpRouteTimeoutIdleToHclTerraform;
exports.appmeshRouteSpecTcpRouteTimeoutToTerraform = appmeshRouteSpecTcpRouteTimeoutToTerraform;
exports.appmeshRouteSpecTcpRouteTimeoutToHclTerraform = appmeshRouteSpecTcpRouteTimeoutToHclTerraform;
exports.appmeshRouteSpecTcpRouteToTerraform = appmeshRouteSpecTcpRouteToTerraform;
exports.appmeshRouteSpecTcpRouteToHclTerraform = appmeshRouteSpecTcpRouteToHclTerraform;
exports.appmeshRouteSpecToTerraform = appmeshRouteSpecToTerraform;
exports.appmeshRouteSpecToHclTerraform = appmeshRouteSpecToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform(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 {
port: cdktf.numberToTerraform(struct.port),
virtual_node: cdktf.stringToTerraform(struct.virtualNode),
weight: cdktf.numberToTerraform(struct.weight),
};
}
function appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform(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 = {
port: {
value: cdktf.numberToHclTerraform(struct.port),
isBlock: false,
type: "simple",
storageClassType: "number",
},
virtual_node: {
value: cdktf.stringToHclTerraform(struct.virtualNode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
weight: {
value: cdktf.numberToHclTerraform(struct.weight),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference 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._port !== undefined) {
hasAnyValues = true;
internalValueResult.port = this._port;
}
if (this._virtualNode !== undefined) {
hasAnyValues = true;
internalValueResult.virtualNode = this._virtualNode;
}
if (this._weight !== undefined) {
hasAnyValues = true;
internalValueResult.weight = this._weight;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._port = undefined;
this._virtualNode = undefined;
this._weight = 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._port = value.port;
this._virtualNode = value.virtualNode;
this._weight = value.weight;
}
}
get port() {
return this.getNumberAttribute('port');
}
set port(value) {
this._port = value;
}
resetPort() {
this._port = undefined;
}
// Temporarily expose input value. Use with caution.
get portInput() {
return this._port;
}
get virtualNode() {
return this.getStringAttribute('virtual_node');
}
set virtualNode(value) {
this._virtualNode = value;
}
// Temporarily expose input value. Use with caution.
get virtualNodeInput() {
return this._virtualNode;
}
get weight() {
return this.getNumberAttribute('weight');
}
set weight(value) {
this._weight = value;
}
// Temporarily expose input value. Use with caution.
get weightInput() {
return this._weight;
}
}
exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference = AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference;
_a = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference[_a] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference", version: "21.22.1" };
class AppmeshRouteSpecGrpcRouteActionWeightedTargetList 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 AppmeshRouteSpecGrpcRouteActionWeightedTargetOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.AppmeshRouteSpecGrpcRouteActionWeightedTargetList = AppmeshRouteSpecGrpcRouteActionWeightedTargetList;
_b = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteActionWeightedTargetList[_b] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteActionWeightedTargetList", version: "21.22.1" };
function appmeshRouteSpecGrpcRouteActionToTerraform(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 {
weighted_target: cdktf.listMapper(appmeshRouteSpecGrpcRouteActionWeightedTargetToTerraform, true)(struct.weightedTarget),
};
}
function appmeshRouteSpecGrpcRouteActionToHclTerraform(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 = {
weighted_target: {
value: cdktf.listMapperHcl(appmeshRouteSpecGrpcRouteActionWeightedTargetToHclTerraform, true)(struct.weightedTarget),
isBlock: true,
type: "set",
storageClassType: "AppmeshRouteSpecGrpcRouteActionWeightedTargetList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteActionOutputReference 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;
// weighted_target - computed: false, optional: false, required: true
this._weightedTarget = new AppmeshRouteSpecGrpcRouteActionWeightedTargetList(this, "weighted_target", true);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._weightedTarget?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.weightedTarget = this._weightedTarget?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._weightedTarget.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._weightedTarget.internalValue = value.weightedTarget;
}
}
get weightedTarget() {
return this._weightedTarget;
}
putWeightedTarget(value) {
this._weightedTarget.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get weightedTargetInput() {
return this._weightedTarget.internalValue;
}
}
exports.AppmeshRouteSpecGrpcRouteActionOutputReference = AppmeshRouteSpecGrpcRouteActionOutputReference;
_c = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteActionOutputReference[_c] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteActionOutputReference", version: "21.22.1" };
function appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform(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 {
end: cdktf.numberToTerraform(struct.end),
start: cdktf.numberToTerraform(struct.start),
};
}
function appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform(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 = {
end: {
value: cdktf.numberToHclTerraform(struct.end),
isBlock: false,
type: "simple",
storageClassType: "number",
},
start: {
value: cdktf.numberToHclTerraform(struct.start),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference 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._end !== undefined) {
hasAnyValues = true;
internalValueResult.end = this._end;
}
if (this._start !== undefined) {
hasAnyValues = true;
internalValueResult.start = this._start;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._end = undefined;
this._start = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._end = value.end;
this._start = value.start;
}
}
get end() {
return this.getNumberAttribute('end');
}
set end(value) {
this._end = value;
}
// Temporarily expose input value. Use with caution.
get endInput() {
return this._end;
}
get start() {
return this.getNumberAttribute('start');
}
set start(value) {
this._start = value;
}
// Temporarily expose input value. Use with caution.
get startInput() {
return this._start;
}
}
exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference = AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference;
_d = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference[_d] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference", version: "21.22.1" };
function appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform(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 {
exact: cdktf.stringToTerraform(struct.exact),
prefix: cdktf.stringToTerraform(struct.prefix),
regex: cdktf.stringToTerraform(struct.regex),
suffix: cdktf.stringToTerraform(struct.suffix),
range: appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToTerraform(struct.range),
};
}
function appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform(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 = {
exact: {
value: cdktf.stringToHclTerraform(struct.exact),
isBlock: false,
type: "simple",
storageClassType: "string",
},
prefix: {
value: cdktf.stringToHclTerraform(struct.prefix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
regex: {
value: cdktf.stringToHclTerraform(struct.regex),
isBlock: false,
type: "simple",
storageClassType: "string",
},
suffix: {
value: cdktf.stringToHclTerraform(struct.suffix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
range: {
value: appmeshRouteSpecGrpcRouteMatchMetadataMatchRangeToHclTerraform(struct.range),
isBlock: true,
type: "list",
storageClassType: "AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference 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;
// range - computed: false, optional: true, required: false
this._range = new AppmeshRouteSpecGrpcRouteMatchMetadataMatchRangeOutputReference(this, "range");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._exact !== undefined) {
hasAnyValues = true;
internalValueResult.exact = this._exact;
}
if (this._prefix !== undefined) {
hasAnyValues = true;
internalValueResult.prefix = this._prefix;
}
if (this._regex !== undefined) {
hasAnyValues = true;
internalValueResult.regex = this._regex;
}
if (this._suffix !== undefined) {
hasAnyValues = true;
internalValueResult.suffix = this._suffix;
}
if (this._range?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.range = this._range?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._exact = undefined;
this._prefix = undefined;
this._regex = undefined;
this._suffix = undefined;
this._range.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._exact = value.exact;
this._prefix = value.prefix;
this._regex = value.regex;
this._suffix = value.suffix;
this._range.internalValue = value.range;
}
}
get exact() {
return this.getStringAttribute('exact');
}
set exact(value) {
this._exact = value;
}
resetExact() {
this._exact = undefined;
}
// Temporarily expose input value. Use with caution.
get exactInput() {
return this._exact;
}
get prefix() {
return this.getStringAttribute('prefix');
}
set prefix(value) {
this._prefix = value;
}
resetPrefix() {
this._prefix = undefined;
}
// Temporarily expose input value. Use with caution.
get prefixInput() {
return this._prefix;
}
get regex() {
return this.getStringAttribute('regex');
}
set regex(value) {
this._regex = value;
}
resetRegex() {
this._regex = undefined;
}
// Temporarily expose input value. Use with caution.
get regexInput() {
return this._regex;
}
get suffix() {
return this.getStringAttribute('suffix');
}
set suffix(value) {
this._suffix = value;
}
resetSuffix() {
this._suffix = undefined;
}
// Temporarily expose input value. Use with caution.
get suffixInput() {
return this._suffix;
}
get range() {
return this._range;
}
putRange(value) {
this._range.internalValue = value;
}
resetRange() {
this._range.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get rangeInput() {
return this._range.internalValue;
}
}
exports.AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference = AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference;
_e = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference[_e] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference", version: "21.22.1" };
function appmeshRouteSpecGrpcRouteMatchMetadataToTerraform(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 {
invert: cdktf.booleanToTerraform(struct.invert),
name: cdktf.stringToTerraform(struct.name),
match: appmeshRouteSpecGrpcRouteMatchMetadataMatchToTerraform(struct.match),
};
}
function appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform(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 = {
invert: {
value: cdktf.booleanToHclTerraform(struct.invert),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
name: {
value: cdktf.stringToHclTerraform(struct.name),
isBlock: false,
type: "simple",
storageClassType: "string",
},
match: {
value: appmeshRouteSpecGrpcRouteMatchMetadataMatchToHclTerraform(struct.match),
isBlock: true,
type: "list",
storageClassType: "AppmeshRouteSpecGrpcRouteMatchMetadataMatchList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference 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;
// match - computed: false, optional: true, required: false
this._match = new AppmeshRouteSpecGrpcRouteMatchMetadataMatchOutputReference(this, "match");
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._invert !== undefined) {
hasAnyValues = true;
internalValueResult.invert = this._invert;
}
if (this._name !== undefined) {
hasAnyValues = true;
internalValueResult.name = this._name;
}
if (this._match?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.match = this._match?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._invert = undefined;
this._name = undefined;
this._match.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._invert = value.invert;
this._name = value.name;
this._match.internalValue = value.match;
}
}
get invert() {
return this.getBooleanAttribute('invert');
}
set invert(value) {
this._invert = value;
}
resetInvert() {
this._invert = undefined;
}
// Temporarily expose input value. Use with caution.
get invertInput() {
return this._invert;
}
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 match() {
return this._match;
}
putMatch(value) {
this._match.internalValue = value;
}
resetMatch() {
this._match.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get matchInput() {
return this._match.internalValue;
}
}
exports.AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference = AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference;
_f = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference[_f] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference", version: "21.22.1" };
class AppmeshRouteSpecGrpcRouteMatchMetadataList 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 AppmeshRouteSpecGrpcRouteMatchMetadataOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.AppmeshRouteSpecGrpcRouteMatchMetadataList = AppmeshRouteSpecGrpcRouteMatchMetadataList;
_g = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteMatchMetadataList[_g] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchMetadataList", version: "21.22.1" };
function appmeshRouteSpecGrpcRouteMatchToTerraform(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 {
method_name: cdktf.stringToTerraform(struct.methodName),
port: cdktf.numberToTerraform(struct.port),
prefix: cdktf.stringToTerraform(struct.prefix),
service_name: cdktf.stringToTerraform(struct.serviceName),
metadata: cdktf.listMapper(appmeshRouteSpecGrpcRouteMatchMetadataToTerraform, true)(struct.metadata),
};
}
function appmeshRouteSpecGrpcRouteMatchToHclTerraform(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 = {
method_name: {
value: cdktf.stringToHclTerraform(struct.methodName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
port: {
value: cdktf.numberToHclTerraform(struct.port),
isBlock: false,
type: "simple",
storageClassType: "number",
},
prefix: {
value: cdktf.stringToHclTerraform(struct.prefix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
service_name: {
value: cdktf.stringToHclTerraform(struct.serviceName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
metadata: {
value: cdktf.listMapperHcl(appmeshRouteSpecGrpcRouteMatchMetadataToHclTerraform, true)(struct.metadata),
isBlock: true,
type: "set",
storageClassType: "AppmeshRouteSpecGrpcRouteMatchMetadataList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteMatchOutputReference 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;
// metadata - computed: false, optional: true, required: false
this._metadata = new AppmeshRouteSpecGrpcRouteMatchMetadataList(this, "metadata", true);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._methodName !== undefined) {
hasAnyValues = true;
internalValueResult.methodName = this._methodName;
}
if (this._port !== undefined) {
hasAnyValues = true;
internalValueResult.port = this._port;
}
if (this._prefix !== undefined) {
hasAnyValues = true;
internalValueResult.prefix = this._prefix;
}
if (this._serviceName !== undefined) {
hasAnyValues = true;
internalValueResult.serviceName = this._serviceName;
}
if (this._metadata?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.metadata = this._metadata?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._methodName = undefined;
this._port = undefined;
this._prefix = undefined;
this._serviceName = undefined;
this._metadata.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._methodName = value.methodName;
this._port = value.port;
this._prefix = value.prefix;
this._serviceName = value.serviceName;
this._metadata.internalValue = value.metadata;
}
}
get methodName() {
return this.getStringAttribute('method_name');
}
set methodName(value) {
this._methodName = value;
}
resetMethodName() {
this._methodName = undefined;
}
// Temporarily expose input value. Use with caution.
get methodNameInput() {
return this._methodName;
}
get port() {
return this.getNumberAttribute('port');
}
set port(value) {
this._port = value;
}
resetPort() {
this._port = undefined;
}
// Temporarily expose input value. Use with caution.
get portInput() {
return this._port;
}
get prefix() {
return this.getStringAttribute('prefix');
}
set prefix(value) {
this._prefix = value;
}
resetPrefix() {
this._prefix = undefined;
}
// Temporarily expose input value. Use with caution.
get prefixInput() {
return this._prefix;
}
get serviceName() {
return this.getStringAttribute('service_name');
}
set serviceName(value) {
this._serviceName = value;
}
resetServiceName() {
this._serviceName = undefined;
}
// Temporarily expose input value. Use with caution.
get serviceNameInput() {
return this._serviceName;
}
get metadata() {
return this._metadata;
}
putMetadata(value) {
this._metadata.internalValue = value;
}
resetMetadata() {
this._metadata.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get metadataInput() {
return this._metadata.internalValue;
}
}
exports.AppmeshRouteSpecGrpcRouteMatchOutputReference = AppmeshRouteSpecGrpcRouteMatchOutputReference;
_h = JSII_RTTI_SYMBOL_1;
AppmeshRouteSpecGrpcRouteMatchOutputReference[_h] = { fqn: "@cdktf/provider-aws.appmeshRoute.AppmeshRouteSpecGrpcRouteMatchOutputReference", version: "21.22.1" };
function appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToTerraform(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 {
unit: cdktf.stringToTerraform(struct.unit),
value: cdktf.numberToTerraform(struct.value),
};
}
function appmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutToHclTerraform(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 = {
unit: {
value: cdktf.stringToHclTerraform(struct.unit),
isBlock: false,
type: "simple",
storageClassType: "string",
},
value: {
value: cdktf.numberToHclTerraform(struct.value),
isBlock: false,
type: "simple",
storageClassType: "number",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class AppmeshRouteSpecGrpcRouteRetryPolicyPerRetryTimeoutOutputReference 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._unit !== undefined) {
hasAnyValues = true;
internalValueResult.unit = this._unit;
}
if (this._value !== undefined) {
hasAnyValues = true;
internalValueResult.value = this._value;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._unit = undefined;
this._value = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._unit = value.unit;
this._value = value.value;