@cdktf/provider-google
Version:
Prebuilt google Provider for Terraform CDK (cdktf)
1,128 lines • 204 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NetworkServicesEdgeCacheOrigin = exports.NetworkServicesEdgeCacheOriginTimeoutsOutputReference = exports.networkServicesEdgeCacheOriginTimeoutsToHclTerraform = exports.networkServicesEdgeCacheOriginTimeoutsToTerraform = exports.NetworkServicesEdgeCacheOriginTimeoutOutputReference = exports.networkServicesEdgeCacheOriginTimeoutToHclTerraform = exports.networkServicesEdgeCacheOriginTimeoutToTerraform = exports.NetworkServicesEdgeCacheOriginOriginRedirectOutputReference = exports.networkServicesEdgeCacheOriginOriginRedirectToHclTerraform = exports.networkServicesEdgeCacheOriginOriginRedirectToTerraform = exports.NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference = exports.networkServicesEdgeCacheOriginOriginOverrideActionToHclTerraform = exports.networkServicesEdgeCacheOriginOriginOverrideActionToTerraform = exports.NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference = exports.networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToHclTerraform = exports.networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToTerraform = exports.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference = exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToHclTerraform = exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToTerraform = exports.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList = exports.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference = exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToHclTerraform = exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToTerraform = exports.NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference = exports.networkServicesEdgeCacheOriginAwsV4AuthenticationToHclTerraform = exports.networkServicesEdgeCacheOriginAwsV4AuthenticationToTerraform = void 0;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function networkServicesEdgeCacheOriginAwsV4AuthenticationToTerraform(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 {
access_key_id: cdktf.stringToTerraform(struct.accessKeyId),
origin_region: cdktf.stringToTerraform(struct.originRegion),
secret_access_key_version: cdktf.stringToTerraform(struct.secretAccessKeyVersion),
};
}
exports.networkServicesEdgeCacheOriginAwsV4AuthenticationToTerraform = networkServicesEdgeCacheOriginAwsV4AuthenticationToTerraform;
function networkServicesEdgeCacheOriginAwsV4AuthenticationToHclTerraform(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 = {
access_key_id: {
value: cdktf.stringToHclTerraform(struct.accessKeyId),
isBlock: false,
type: "simple",
storageClassType: "string",
},
origin_region: {
value: cdktf.stringToHclTerraform(struct.originRegion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
secret_access_key_version: {
value: cdktf.stringToHclTerraform(struct.secretAccessKeyVersion),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginAwsV4AuthenticationToHclTerraform = networkServicesEdgeCacheOriginAwsV4AuthenticationToHclTerraform;
class NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference 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._accessKeyId !== undefined) {
hasAnyValues = true;
internalValueResult.accessKeyId = this._accessKeyId;
}
if (this._originRegion !== undefined) {
hasAnyValues = true;
internalValueResult.originRegion = this._originRegion;
}
if (this._secretAccessKeyVersion !== undefined) {
hasAnyValues = true;
internalValueResult.secretAccessKeyVersion = this._secretAccessKeyVersion;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._accessKeyId = undefined;
this._originRegion = undefined;
this._secretAccessKeyVersion = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._accessKeyId = value.accessKeyId;
this._originRegion = value.originRegion;
this._secretAccessKeyVersion = value.secretAccessKeyVersion;
}
}
get accessKeyId() {
return this.getStringAttribute('access_key_id');
}
set accessKeyId(value) {
this._accessKeyId = value;
}
// Temporarily expose input value. Use with caution.
get accessKeyIdInput() {
return this._accessKeyId;
}
get originRegion() {
return this.getStringAttribute('origin_region');
}
set originRegion(value) {
this._originRegion = value;
}
// Temporarily expose input value. Use with caution.
get originRegionInput() {
return this._originRegion;
}
get secretAccessKeyVersion() {
return this.getStringAttribute('secret_access_key_version');
}
set secretAccessKeyVersion(value) {
this._secretAccessKeyVersion = value;
}
// Temporarily expose input value. Use with caution.
get secretAccessKeyVersionInput() {
return this._secretAccessKeyVersion;
}
}
exports.NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference = NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference;
_a = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference[_a] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference", version: "14.12.0" };
function networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToTerraform(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_name: cdktf.stringToTerraform(struct.headerName),
header_value: cdktf.stringToTerraform(struct.headerValue),
replace: cdktf.booleanToTerraform(struct.replace),
};
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToTerraform = networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToTerraform;
function networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToHclTerraform(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_name: {
value: cdktf.stringToHclTerraform(struct.headerName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
header_value: {
value: cdktf.stringToHclTerraform(struct.headerValue),
isBlock: false,
type: "simple",
storageClassType: "string",
},
replace: {
value: cdktf.booleanToHclTerraform(struct.replace),
isBlock: false,
type: "simple",
storageClassType: "boolean",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToHclTerraform = networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToHclTerraform;
class NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference 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._headerName !== undefined) {
hasAnyValues = true;
internalValueResult.headerName = this._headerName;
}
if (this._headerValue !== undefined) {
hasAnyValues = true;
internalValueResult.headerValue = this._headerValue;
}
if (this._replace !== undefined) {
hasAnyValues = true;
internalValueResult.replace = this._replace;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._headerName = undefined;
this._headerValue = undefined;
this._replace = 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._headerName = value.headerName;
this._headerValue = value.headerValue;
this._replace = value.replace;
}
}
get headerName() {
return this.getStringAttribute('header_name');
}
set headerName(value) {
this._headerName = value;
}
// Temporarily expose input value. Use with caution.
get headerNameInput() {
return this._headerName;
}
get headerValue() {
return this.getStringAttribute('header_value');
}
set headerValue(value) {
this._headerValue = value;
}
// Temporarily expose input value. Use with caution.
get headerValueInput() {
return this._headerValue;
}
get replace() {
return this.getBooleanAttribute('replace');
}
set replace(value) {
this._replace = value;
}
resetReplace() {
this._replace = undefined;
}
// Temporarily expose input value. Use with caution.
get replaceInput() {
return this._replace;
}
}
exports.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference = NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference;
_b = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference[_b] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference", version: "14.12.0" };
class NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList 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 NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList = NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList;
_c = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList[_c] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList", version: "14.12.0" };
function networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToTerraform(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_headers_to_add: cdktf.listMapper(networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToTerraform, true)(struct.requestHeadersToAdd),
};
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToTerraform = networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToTerraform;
function networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToHclTerraform(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_headers_to_add: {
value: cdktf.listMapperHcl(networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddToHclTerraform, true)(struct.requestHeadersToAdd),
isBlock: true,
type: "list",
storageClassType: "NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToHclTerraform = networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToHclTerraform;
class NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference 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_headers_to_add - computed: false, optional: true, required: false
this._requestHeadersToAdd = new NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddList(this, "request_headers_to_add", false);
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._requestHeadersToAdd?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.requestHeadersToAdd = this._requestHeadersToAdd?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._requestHeadersToAdd.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._requestHeadersToAdd.internalValue = value.requestHeadersToAdd;
}
}
get requestHeadersToAdd() {
return this._requestHeadersToAdd;
}
putRequestHeadersToAdd(value) {
this._requestHeadersToAdd.internalValue = value;
}
resetRequestHeadersToAdd() {
this._requestHeadersToAdd.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get requestHeadersToAddInput() {
return this._requestHeadersToAdd.internalValue;
}
}
exports.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference = NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference;
_d = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference[_d] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference", version: "14.12.0" };
function networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToTerraform(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 {
host_rewrite: cdktf.stringToTerraform(struct.hostRewrite),
};
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToTerraform = networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToTerraform;
function networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToHclTerraform(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 = {
host_rewrite: {
value: cdktf.stringToHclTerraform(struct.hostRewrite),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToHclTerraform = networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToHclTerraform;
class NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference 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._hostRewrite !== undefined) {
hasAnyValues = true;
internalValueResult.hostRewrite = this._hostRewrite;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._hostRewrite = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._hostRewrite = value.hostRewrite;
}
}
get hostRewrite() {
return this.getStringAttribute('host_rewrite');
}
set hostRewrite(value) {
this._hostRewrite = value;
}
resetHostRewrite() {
this._hostRewrite = undefined;
}
// Temporarily expose input value. Use with caution.
get hostRewriteInput() {
return this._hostRewrite;
}
}
exports.NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference = NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference;
_e = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference[_e] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference", version: "14.12.0" };
function networkServicesEdgeCacheOriginOriginOverrideActionToTerraform(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: networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToTerraform(struct.headerAction),
url_rewrite: networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToTerraform(struct.urlRewrite),
};
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionToTerraform = networkServicesEdgeCacheOriginOriginOverrideActionToTerraform;
function networkServicesEdgeCacheOriginOriginOverrideActionToHclTerraform(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: {
value: networkServicesEdgeCacheOriginOriginOverrideActionHeaderActionToHclTerraform(struct.headerAction),
isBlock: true,
type: "list",
storageClassType: "NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionList",
},
url_rewrite: {
value: networkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteToHclTerraform(struct.urlRewrite),
isBlock: true,
type: "list",
storageClassType: "NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginOriginOverrideActionToHclTerraform = networkServicesEdgeCacheOriginOriginOverrideActionToHclTerraform;
class NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference 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;
// header_action - computed: false, optional: true, required: false
this._headerAction = new NetworkServicesEdgeCacheOriginOriginOverrideActionHeaderActionOutputReference(this, "header_action");
// url_rewrite - computed: false, optional: true, required: false
this._urlRewrite = new NetworkServicesEdgeCacheOriginOriginOverrideActionUrlRewriteOutputReference(this, "url_rewrite");
}
get internalValue() {
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._headerAction?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.headerAction = this._headerAction?.internalValue;
}
if (this._urlRewrite?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.urlRewrite = this._urlRewrite?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._headerAction.internalValue = undefined;
this._urlRewrite.internalValue = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._headerAction.internalValue = value.headerAction;
this._urlRewrite.internalValue = value.urlRewrite;
}
}
get headerAction() {
return this._headerAction;
}
putHeaderAction(value) {
this._headerAction.internalValue = value;
}
resetHeaderAction() {
this._headerAction.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get headerActionInput() {
return this._headerAction.internalValue;
}
get urlRewrite() {
return this._urlRewrite;
}
putUrlRewrite(value) {
this._urlRewrite.internalValue = value;
}
resetUrlRewrite() {
this._urlRewrite.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get urlRewriteInput() {
return this._urlRewrite.internalValue;
}
}
exports.NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference = NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference;
_f = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference[_f] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference", version: "14.12.0" };
function networkServicesEdgeCacheOriginOriginRedirectToTerraform(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 {
redirect_conditions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.redirectConditions),
};
}
exports.networkServicesEdgeCacheOriginOriginRedirectToTerraform = networkServicesEdgeCacheOriginOriginRedirectToTerraform;
function networkServicesEdgeCacheOriginOriginRedirectToHclTerraform(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 = {
redirect_conditions: {
value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.redirectConditions),
isBlock: false,
type: "list",
storageClassType: "stringList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginOriginRedirectToHclTerraform = networkServicesEdgeCacheOriginOriginRedirectToHclTerraform;
class NetworkServicesEdgeCacheOriginOriginRedirectOutputReference 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._redirectConditions !== undefined) {
hasAnyValues = true;
internalValueResult.redirectConditions = this._redirectConditions;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._redirectConditions = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._redirectConditions = value.redirectConditions;
}
}
get redirectConditions() {
return this.getListAttribute('redirect_conditions');
}
set redirectConditions(value) {
this._redirectConditions = value;
}
resetRedirectConditions() {
this._redirectConditions = undefined;
}
// Temporarily expose input value. Use with caution.
get redirectConditionsInput() {
return this._redirectConditions;
}
}
exports.NetworkServicesEdgeCacheOriginOriginRedirectOutputReference = NetworkServicesEdgeCacheOriginOriginRedirectOutputReference;
_g = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginOriginRedirectOutputReference[_g] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginOriginRedirectOutputReference", version: "14.12.0" };
function networkServicesEdgeCacheOriginTimeoutToTerraform(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 {
connect_timeout: cdktf.stringToTerraform(struct.connectTimeout),
max_attempts_timeout: cdktf.stringToTerraform(struct.maxAttemptsTimeout),
read_timeout: cdktf.stringToTerraform(struct.readTimeout),
response_timeout: cdktf.stringToTerraform(struct.responseTimeout),
};
}
exports.networkServicesEdgeCacheOriginTimeoutToTerraform = networkServicesEdgeCacheOriginTimeoutToTerraform;
function networkServicesEdgeCacheOriginTimeoutToHclTerraform(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 = {
connect_timeout: {
value: cdktf.stringToHclTerraform(struct.connectTimeout),
isBlock: false,
type: "simple",
storageClassType: "string",
},
max_attempts_timeout: {
value: cdktf.stringToHclTerraform(struct.maxAttemptsTimeout),
isBlock: false,
type: "simple",
storageClassType: "string",
},
read_timeout: {
value: cdktf.stringToHclTerraform(struct.readTimeout),
isBlock: false,
type: "simple",
storageClassType: "string",
},
response_timeout: {
value: cdktf.stringToHclTerraform(struct.responseTimeout),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginTimeoutToHclTerraform = networkServicesEdgeCacheOriginTimeoutToHclTerraform;
class NetworkServicesEdgeCacheOriginTimeoutOutputReference 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._connectTimeout !== undefined) {
hasAnyValues = true;
internalValueResult.connectTimeout = this._connectTimeout;
}
if (this._maxAttemptsTimeout !== undefined) {
hasAnyValues = true;
internalValueResult.maxAttemptsTimeout = this._maxAttemptsTimeout;
}
if (this._readTimeout !== undefined) {
hasAnyValues = true;
internalValueResult.readTimeout = this._readTimeout;
}
if (this._responseTimeout !== undefined) {
hasAnyValues = true;
internalValueResult.responseTimeout = this._responseTimeout;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._connectTimeout = undefined;
this._maxAttemptsTimeout = undefined;
this._readTimeout = undefined;
this._responseTimeout = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._connectTimeout = value.connectTimeout;
this._maxAttemptsTimeout = value.maxAttemptsTimeout;
this._readTimeout = value.readTimeout;
this._responseTimeout = value.responseTimeout;
}
}
get connectTimeout() {
return this.getStringAttribute('connect_timeout');
}
set connectTimeout(value) {
this._connectTimeout = value;
}
resetConnectTimeout() {
this._connectTimeout = undefined;
}
// Temporarily expose input value. Use with caution.
get connectTimeoutInput() {
return this._connectTimeout;
}
get maxAttemptsTimeout() {
return this.getStringAttribute('max_attempts_timeout');
}
set maxAttemptsTimeout(value) {
this._maxAttemptsTimeout = value;
}
resetMaxAttemptsTimeout() {
this._maxAttemptsTimeout = undefined;
}
// Temporarily expose input value. Use with caution.
get maxAttemptsTimeoutInput() {
return this._maxAttemptsTimeout;
}
get readTimeout() {
return this.getStringAttribute('read_timeout');
}
set readTimeout(value) {
this._readTimeout = value;
}
resetReadTimeout() {
this._readTimeout = undefined;
}
// Temporarily expose input value. Use with caution.
get readTimeoutInput() {
return this._readTimeout;
}
get responseTimeout() {
return this.getStringAttribute('response_timeout');
}
set responseTimeout(value) {
this._responseTimeout = value;
}
resetResponseTimeout() {
this._responseTimeout = undefined;
}
// Temporarily expose input value. Use with caution.
get responseTimeoutInput() {
return this._responseTimeout;
}
}
exports.NetworkServicesEdgeCacheOriginTimeoutOutputReference = NetworkServicesEdgeCacheOriginTimeoutOutputReference;
_h = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginTimeoutOutputReference[_h] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginTimeoutOutputReference", version: "14.12.0" };
function networkServicesEdgeCacheOriginTimeoutsToTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
return {
create: cdktf.stringToTerraform(struct.create),
delete: cdktf.stringToTerraform(struct.delete),
update: cdktf.stringToTerraform(struct.update),
};
}
exports.networkServicesEdgeCacheOriginTimeoutsToTerraform = networkServicesEdgeCacheOriginTimeoutsToTerraform;
function networkServicesEdgeCacheOriginTimeoutsToHclTerraform(struct) {
if (!cdktf.canInspect(struct) || cdktf.Tokenization.isResolvable(struct)) {
return struct;
}
if (cdktf.isComplexElement(struct)) {
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
}
const attrs = {
create: {
value: cdktf.stringToHclTerraform(struct.create),
isBlock: false,
type: "simple",
storageClassType: "string",
},
delete: {
value: cdktf.stringToHclTerraform(struct.delete),
isBlock: false,
type: "simple",
storageClassType: "string",
},
update: {
value: cdktf.stringToHclTerraform(struct.update),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
exports.networkServicesEdgeCacheOriginTimeoutsToHclTerraform = networkServicesEdgeCacheOriginTimeoutsToHclTerraform;
class NetworkServicesEdgeCacheOriginTimeoutsOutputReference extends cdktf.ComplexObject {
/**
* @param terraformResource The parent resource
* @param terraformAttribute The attribute on the parent resource this class is referencing
*/
constructor(terraformResource, terraformAttribute) {
super(terraformResource, terraformAttribute, false);
this.isEmptyObject = false;
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._create !== undefined) {
hasAnyValues = true;
internalValueResult.create = this._create;
}
if (this._delete !== undefined) {
hasAnyValues = true;
internalValueResult.delete = this._delete;
}
if (this._update !== undefined) {
hasAnyValues = true;
internalValueResult.update = this._update;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._create = undefined;
this._delete = undefined;
this._update = undefined;
}
else if (cdktf.Tokenization.isResolvable(value)) {
this.isEmptyObject = false;
this.resolvableValue = value;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this.resolvableValue = undefined;
this._create = value.create;
this._delete = value.delete;
this._update = value.update;
}
}
get create() {
return this.getStringAttribute('create');
}
set create(value) {
this._create = value;
}
resetCreate() {
this._create = undefined;
}
// Temporarily expose input value. Use with caution.
get createInput() {
return this._create;
}
get delete() {
return this.getStringAttribute('delete');
}
set delete(value) {
this._delete = value;
}
resetDelete() {
this._delete = undefined;
}
// Temporarily expose input value. Use with caution.
get deleteInput() {
return this._delete;
}
get update() {
return this.getStringAttribute('update');
}
set update(value) {
this._update = value;
}
resetUpdate() {
this._update = undefined;
}
// Temporarily expose input value. Use with caution.
get updateInput() {
return this._update;
}
}
exports.NetworkServicesEdgeCacheOriginTimeoutsOutputReference = NetworkServicesEdgeCacheOriginTimeoutsOutputReference;
_j = JSII_RTTI_SYMBOL_1;
NetworkServicesEdgeCacheOriginTimeoutsOutputReference[_j] = { fqn: "@cdktf/provider-google.networkServicesEdgeCacheOrigin.NetworkServicesEdgeCacheOriginTimeoutsOutputReference", version: "14.12.0" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_services_edge_cache_origin google_network_services_edge_cache_origin}
*/
class NetworkServicesEdgeCacheOrigin extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a NetworkServicesEdgeCacheOrigin 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 NetworkServicesEdgeCacheOrigin to import
* @param importFromId The id of the existing NetworkServicesEdgeCacheOrigin that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_services_edge_cache_origin#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the NetworkServicesEdgeCacheOrigin to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "google_network_services_edge_cache_origin", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/google/6.13.0/docs/resources/network_services_edge_cache_origin google_network_services_edge_cache_origin} 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 NetworkServicesEdgeCacheOriginConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'google_network_services_edge_cache_origin',
terraformGeneratorMetadata: {
providerName: 'google',
providerVersion: '6.13.0',
providerVersionConstraint: '~> 6.0'
},
provider: config.provider,
dependsOn: config.dependsOn,
count: config.count,
lifecycle: config.lifecycle,
provisioners: config.provisioners,
connection: config.connection,
forEach: config.forEach
});
// effective_labels - computed: true, optional: false, required: false
this._effectiveLabels = new cdktf.StringMap(this, "effective_labels");
// terraform_labels - computed: true, optional: false, required: false
this._terraformLabels = new cdktf.StringMap(this, "terraform_labels");
// aws_v4_authentication - computed: false, optional: true, required: false
this._awsV4Authentication = new NetworkServicesEdgeCacheOriginAwsV4AuthenticationOutputReference(this, "aws_v4_authentication");
// origin_override_action - computed: false, optional: true, required: false
this._originOverrideAction = new NetworkServicesEdgeCacheOriginOriginOverrideActionOutputReference(this, "origin_override_action");
// origin_redirect - computed: false, optional: true, required: false
this._originRedirect = new NetworkServicesEdgeCacheOriginOriginRedirectOutputReference(this, "origin_redirect");
// timeout - computed: false, optional: true, required: false
this._timeout = new NetworkServicesEdgeCacheOriginTimeoutOutputReference(this, "timeout");
// timeouts - computed: false, optional: true, required: false
this._timeouts = new NetworkServicesEdgeCacheOriginTimeoutsOutputReference(this, "timeouts");
this._description = config.description;
this._failoverOrigin = config.failoverOrigin;
this._id = config.id;
this._labels = config.labels;
this._maxAttempts = config.maxAttempts;
this._name = config.name;
this._originAddress = config.originAddress;
this._port = config.port;
this._project = config.project;
this._protocol = config.protocol;
this._retryConditions = config.retryConditions;
this._awsV4Authentication.internalValue = config.awsV4Authentication;
this._originOverrideAction.internalValue = config.originOverrideAction;
this._originRedirect.internalValue = config.originRedirect;
this._timeout.internalValue = config.timeout;
this._timeouts.internalValue = config.timeouts;
}
get description() {
return this.getStringAttribute('description');
}
set description(value) {
this._description = value;
}
resetDescription() {
this._description = undefined;
}
// Temporarily expose input value. Use with caution.
get descriptionInput() {
return this._description;
}
get effectiveLabels() {
return this._effectiveLabels;
}
get failoverOrigin() {
return this.getStringAttribute('failover_origin');
}
set failoverOrigin(value) {
this._failoverOrigin = value;
}
resetFailoverOrigin() {
this._failoverOrigin = undefined;
}
// Temporarily expose input value. Use with caution.
get failoverOriginInput() {
return this._failoverOrigin;
}
get id() {
return this.getStringAttribute('id');
}
set id(value) {
this._id = value;
}
resetId() {
this._id = undefined;
}
// Temporarily expose input value. Use with caution.
get idInput() {
return this._id;
}
get labels() {
return this.getStringMapAttribute('labels');
}
set labels(value) {
this._labels = value;
}
resetLabels() {
this._labels = undefined;
}
// Temporarily expose input value. Use with caution.
get labelsInput() {
return this._labels;
}
get maxAttempts() {
return this.getNumberAttribute('max_attempts');
}
set maxAttempts(value) {
this._maxAttempts = value;
}
resetMaxAttempts() {
this._maxAttempts = undefined;
}
// Temporarily expose input value. Use with caution.
get maxAttemptsInput() {
return this._maxAttempts;
}
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 originAddress() {
return this.getStringAttribute('origin_address');
}
set originAddress(value) {
this._originAddress = value;
}
// Temporarily expose input value. Use with caution.
get originAddressInput() {
return this._originAddress;
}
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 project() {
return this.getStringAttribute('project');
}
set project(value) {
this._project = value;
}
resetProject() {
this._project = undefined;
}
// Temporarily expose input value. Use with caution.
get projectInput() {
return this._project;
}
get protocol() {
return this.getStringAttribute('protocol');
}
set protocol(value) {
this._protocol = value;
}
resetProtocol() {
this._protocol = undefined;
}
// Temporarily expose input value. Use with caution.
get protocolInput() {
return this._protocol;
}
get retryConditions() {
return this.getListAttribute('retry_conditions');
}
set retryConditions(value) {
this._retryConditions = value;
}
resetRetryConditions() {
this._retryConditions = undefined;
}
// Temporarily expose input value. Use with caution.
get retryConditionsInput() {
return this._retryConditions;
}
get terraformLabels() {
return this._terraformLabels;
}
get awsV4Authentication() {
return this._awsV4Authentication;
}
putAwsV4Authe