@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
937 lines • 135 kB
JavaScript
"use strict";
var _a, _b, _c, _d, _e, _f, _g, _h;
Object.defineProperty(exports, "__esModule", { value: true });
exports.S3BucketWebsiteConfiguration = exports.S3BucketWebsiteConfigurationRoutingRuleList = exports.S3BucketWebsiteConfigurationRoutingRuleOutputReference = exports.S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference = exports.S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference = exports.S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference = exports.S3BucketWebsiteConfigurationIndexDocumentOutputReference = exports.S3BucketWebsiteConfigurationErrorDocumentOutputReference = void 0;
exports.s3BucketWebsiteConfigurationErrorDocumentToTerraform = s3BucketWebsiteConfigurationErrorDocumentToTerraform;
exports.s3BucketWebsiteConfigurationErrorDocumentToHclTerraform = s3BucketWebsiteConfigurationErrorDocumentToHclTerraform;
exports.s3BucketWebsiteConfigurationIndexDocumentToTerraform = s3BucketWebsiteConfigurationIndexDocumentToTerraform;
exports.s3BucketWebsiteConfigurationIndexDocumentToHclTerraform = s3BucketWebsiteConfigurationIndexDocumentToHclTerraform;
exports.s3BucketWebsiteConfigurationRedirectAllRequestsToToTerraform = s3BucketWebsiteConfigurationRedirectAllRequestsToToTerraform;
exports.s3BucketWebsiteConfigurationRedirectAllRequestsToToHclTerraform = s3BucketWebsiteConfigurationRedirectAllRequestsToToHclTerraform;
exports.s3BucketWebsiteConfigurationRoutingRuleConditionToTerraform = s3BucketWebsiteConfigurationRoutingRuleConditionToTerraform;
exports.s3BucketWebsiteConfigurationRoutingRuleConditionToHclTerraform = s3BucketWebsiteConfigurationRoutingRuleConditionToHclTerraform;
exports.s3BucketWebsiteConfigurationRoutingRuleRedirectToTerraform = s3BucketWebsiteConfigurationRoutingRuleRedirectToTerraform;
exports.s3BucketWebsiteConfigurationRoutingRuleRedirectToHclTerraform = s3BucketWebsiteConfigurationRoutingRuleRedirectToHclTerraform;
exports.s3BucketWebsiteConfigurationRoutingRuleToTerraform = s3BucketWebsiteConfigurationRoutingRuleToTerraform;
exports.s3BucketWebsiteConfigurationRoutingRuleToHclTerraform = s3BucketWebsiteConfigurationRoutingRuleToHclTerraform;
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
const cdktf = require("cdktf");
function s3BucketWebsiteConfigurationErrorDocumentToTerraform(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 {
key: cdktf.stringToTerraform(struct.key),
};
}
function s3BucketWebsiteConfigurationErrorDocumentToHclTerraform(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 = {
key: {
value: cdktf.stringToHclTerraform(struct.key),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketWebsiteConfigurationErrorDocumentOutputReference 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._key !== undefined) {
hasAnyValues = true;
internalValueResult.key = this._key;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._key = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._key = value.key;
}
}
get key() {
return this.getStringAttribute('key');
}
set key(value) {
this._key = value;
}
// Temporarily expose input value. Use with caution.
get keyInput() {
return this._key;
}
}
exports.S3BucketWebsiteConfigurationErrorDocumentOutputReference = S3BucketWebsiteConfigurationErrorDocumentOutputReference;
_a = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationErrorDocumentOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationErrorDocumentOutputReference", version: "21.22.1" };
function s3BucketWebsiteConfigurationIndexDocumentToTerraform(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 {
suffix: cdktf.stringToTerraform(struct.suffix),
};
}
function s3BucketWebsiteConfigurationIndexDocumentToHclTerraform(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 = {
suffix: {
value: cdktf.stringToHclTerraform(struct.suffix),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketWebsiteConfigurationIndexDocumentOutputReference 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._suffix !== undefined) {
hasAnyValues = true;
internalValueResult.suffix = this._suffix;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._suffix = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._suffix = value.suffix;
}
}
get suffix() {
return this.getStringAttribute('suffix');
}
set suffix(value) {
this._suffix = value;
}
// Temporarily expose input value. Use with caution.
get suffixInput() {
return this._suffix;
}
}
exports.S3BucketWebsiteConfigurationIndexDocumentOutputReference = S3BucketWebsiteConfigurationIndexDocumentOutputReference;
_b = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationIndexDocumentOutputReference[_b] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationIndexDocumentOutputReference", version: "21.22.1" };
function s3BucketWebsiteConfigurationRedirectAllRequestsToToTerraform(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_name: cdktf.stringToTerraform(struct.hostName),
protocol: cdktf.stringToTerraform(struct.protocol),
};
}
function s3BucketWebsiteConfigurationRedirectAllRequestsToToHclTerraform(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_name: {
value: cdktf.stringToHclTerraform(struct.hostName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
protocol: {
value: cdktf.stringToHclTerraform(struct.protocol),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference 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._hostName !== undefined) {
hasAnyValues = true;
internalValueResult.hostName = this._hostName;
}
if (this._protocol !== undefined) {
hasAnyValues = true;
internalValueResult.protocol = this._protocol;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._hostName = undefined;
this._protocol = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._hostName = value.hostName;
this._protocol = value.protocol;
}
}
get hostName() {
return this.getStringAttribute('host_name');
}
set hostName(value) {
this._hostName = value;
}
// Temporarily expose input value. Use with caution.
get hostNameInput() {
return this._hostName;
}
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;
}
}
exports.S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference = S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference;
_c = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference", version: "21.22.1" };
function s3BucketWebsiteConfigurationRoutingRuleConditionToTerraform(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 {
http_error_code_returned_equals: cdktf.stringToTerraform(struct.httpErrorCodeReturnedEquals),
key_prefix_equals: cdktf.stringToTerraform(struct.keyPrefixEquals),
};
}
function s3BucketWebsiteConfigurationRoutingRuleConditionToHclTerraform(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 = {
http_error_code_returned_equals: {
value: cdktf.stringToHclTerraform(struct.httpErrorCodeReturnedEquals),
isBlock: false,
type: "simple",
storageClassType: "string",
},
key_prefix_equals: {
value: cdktf.stringToHclTerraform(struct.keyPrefixEquals),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference 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._httpErrorCodeReturnedEquals !== undefined) {
hasAnyValues = true;
internalValueResult.httpErrorCodeReturnedEquals = this._httpErrorCodeReturnedEquals;
}
if (this._keyPrefixEquals !== undefined) {
hasAnyValues = true;
internalValueResult.keyPrefixEquals = this._keyPrefixEquals;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._httpErrorCodeReturnedEquals = undefined;
this._keyPrefixEquals = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._httpErrorCodeReturnedEquals = value.httpErrorCodeReturnedEquals;
this._keyPrefixEquals = value.keyPrefixEquals;
}
}
get httpErrorCodeReturnedEquals() {
return this.getStringAttribute('http_error_code_returned_equals');
}
set httpErrorCodeReturnedEquals(value) {
this._httpErrorCodeReturnedEquals = value;
}
resetHttpErrorCodeReturnedEquals() {
this._httpErrorCodeReturnedEquals = undefined;
}
// Temporarily expose input value. Use with caution.
get httpErrorCodeReturnedEqualsInput() {
return this._httpErrorCodeReturnedEquals;
}
get keyPrefixEquals() {
return this.getStringAttribute('key_prefix_equals');
}
set keyPrefixEquals(value) {
this._keyPrefixEquals = value;
}
resetKeyPrefixEquals() {
this._keyPrefixEquals = undefined;
}
// Temporarily expose input value. Use with caution.
get keyPrefixEqualsInput() {
return this._keyPrefixEquals;
}
}
exports.S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference = S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference;
_d = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference[_d] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference", version: "21.22.1" };
function s3BucketWebsiteConfigurationRoutingRuleRedirectToTerraform(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_name: cdktf.stringToTerraform(struct.hostName),
http_redirect_code: cdktf.stringToTerraform(struct.httpRedirectCode),
protocol: cdktf.stringToTerraform(struct.protocol),
replace_key_prefix_with: cdktf.stringToTerraform(struct.replaceKeyPrefixWith),
replace_key_with: cdktf.stringToTerraform(struct.replaceKeyWith),
};
}
function s3BucketWebsiteConfigurationRoutingRuleRedirectToHclTerraform(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_name: {
value: cdktf.stringToHclTerraform(struct.hostName),
isBlock: false,
type: "simple",
storageClassType: "string",
},
http_redirect_code: {
value: cdktf.stringToHclTerraform(struct.httpRedirectCode),
isBlock: false,
type: "simple",
storageClassType: "string",
},
protocol: {
value: cdktf.stringToHclTerraform(struct.protocol),
isBlock: false,
type: "simple",
storageClassType: "string",
},
replace_key_prefix_with: {
value: cdktf.stringToHclTerraform(struct.replaceKeyPrefixWith),
isBlock: false,
type: "simple",
storageClassType: "string",
},
replace_key_with: {
value: cdktf.stringToHclTerraform(struct.replaceKeyWith),
isBlock: false,
type: "simple",
storageClassType: "string",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference 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._hostName !== undefined) {
hasAnyValues = true;
internalValueResult.hostName = this._hostName;
}
if (this._httpRedirectCode !== undefined) {
hasAnyValues = true;
internalValueResult.httpRedirectCode = this._httpRedirectCode;
}
if (this._protocol !== undefined) {
hasAnyValues = true;
internalValueResult.protocol = this._protocol;
}
if (this._replaceKeyPrefixWith !== undefined) {
hasAnyValues = true;
internalValueResult.replaceKeyPrefixWith = this._replaceKeyPrefixWith;
}
if (this._replaceKeyWith !== undefined) {
hasAnyValues = true;
internalValueResult.replaceKeyWith = this._replaceKeyWith;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this._hostName = undefined;
this._httpRedirectCode = undefined;
this._protocol = undefined;
this._replaceKeyPrefixWith = undefined;
this._replaceKeyWith = undefined;
}
else {
this.isEmptyObject = Object.keys(value).length === 0;
this._hostName = value.hostName;
this._httpRedirectCode = value.httpRedirectCode;
this._protocol = value.protocol;
this._replaceKeyPrefixWith = value.replaceKeyPrefixWith;
this._replaceKeyWith = value.replaceKeyWith;
}
}
get hostName() {
return this.getStringAttribute('host_name');
}
set hostName(value) {
this._hostName = value;
}
resetHostName() {
this._hostName = undefined;
}
// Temporarily expose input value. Use with caution.
get hostNameInput() {
return this._hostName;
}
get httpRedirectCode() {
return this.getStringAttribute('http_redirect_code');
}
set httpRedirectCode(value) {
this._httpRedirectCode = value;
}
resetHttpRedirectCode() {
this._httpRedirectCode = undefined;
}
// Temporarily expose input value. Use with caution.
get httpRedirectCodeInput() {
return this._httpRedirectCode;
}
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 replaceKeyPrefixWith() {
return this.getStringAttribute('replace_key_prefix_with');
}
set replaceKeyPrefixWith(value) {
this._replaceKeyPrefixWith = value;
}
resetReplaceKeyPrefixWith() {
this._replaceKeyPrefixWith = undefined;
}
// Temporarily expose input value. Use with caution.
get replaceKeyPrefixWithInput() {
return this._replaceKeyPrefixWith;
}
get replaceKeyWith() {
return this.getStringAttribute('replace_key_with');
}
set replaceKeyWith(value) {
this._replaceKeyWith = value;
}
resetReplaceKeyWith() {
this._replaceKeyWith = undefined;
}
// Temporarily expose input value. Use with caution.
get replaceKeyWithInput() {
return this._replaceKeyWith;
}
}
exports.S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference = S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference;
_e = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference[_e] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference", version: "21.22.1" };
function s3BucketWebsiteConfigurationRoutingRuleToTerraform(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 {
condition: s3BucketWebsiteConfigurationRoutingRuleConditionToTerraform(struct.condition),
redirect: s3BucketWebsiteConfigurationRoutingRuleRedirectToTerraform(struct.redirect),
};
}
function s3BucketWebsiteConfigurationRoutingRuleToHclTerraform(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 = {
condition: {
value: s3BucketWebsiteConfigurationRoutingRuleConditionToHclTerraform(struct.condition),
isBlock: true,
type: "list",
storageClassType: "S3BucketWebsiteConfigurationRoutingRuleConditionList",
},
redirect: {
value: s3BucketWebsiteConfigurationRoutingRuleRedirectToHclTerraform(struct.redirect),
isBlock: true,
type: "list",
storageClassType: "S3BucketWebsiteConfigurationRoutingRuleRedirectList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
class S3BucketWebsiteConfigurationRoutingRuleOutputReference 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;
// condition - computed: false, optional: true, required: false
this._condition = new S3BucketWebsiteConfigurationRoutingRuleConditionOutputReference(this, "condition");
// redirect - computed: false, optional: false, required: true
this._redirect = new S3BucketWebsiteConfigurationRoutingRuleRedirectOutputReference(this, "redirect");
}
get internalValue() {
if (this.resolvableValue) {
return this.resolvableValue;
}
let hasAnyValues = this.isEmptyObject;
const internalValueResult = {};
if (this._condition?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.condition = this._condition?.internalValue;
}
if (this._redirect?.internalValue !== undefined) {
hasAnyValues = true;
internalValueResult.redirect = this._redirect?.internalValue;
}
return hasAnyValues ? internalValueResult : undefined;
}
set internalValue(value) {
if (value === undefined) {
this.isEmptyObject = false;
this.resolvableValue = undefined;
this._condition.internalValue = undefined;
this._redirect.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._condition.internalValue = value.condition;
this._redirect.internalValue = value.redirect;
}
}
get condition() {
return this._condition;
}
putCondition(value) {
this._condition.internalValue = value;
}
resetCondition() {
this._condition.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get conditionInput() {
return this._condition.internalValue;
}
get redirect() {
return this._redirect;
}
putRedirect(value) {
this._redirect.internalValue = value;
}
// Temporarily expose input value. Use with caution.
get redirectInput() {
return this._redirect.internalValue;
}
}
exports.S3BucketWebsiteConfigurationRoutingRuleOutputReference = S3BucketWebsiteConfigurationRoutingRuleOutputReference;
_f = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationRoutingRuleOutputReference[_f] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationRoutingRuleOutputReference", version: "21.22.1" };
class S3BucketWebsiteConfigurationRoutingRuleList 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 S3BucketWebsiteConfigurationRoutingRuleOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
}
}
exports.S3BucketWebsiteConfigurationRoutingRuleList = S3BucketWebsiteConfigurationRoutingRuleList;
_g = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfigurationRoutingRuleList[_g] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfigurationRoutingRuleList", version: "21.22.1" };
/**
* Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/s3_bucket_website_configuration aws_s3_bucket_website_configuration}
*/
class S3BucketWebsiteConfiguration extends cdktf.TerraformResource {
// ==============
// STATIC Methods
// ==============
/**
* Generates CDKTF code for importing a S3BucketWebsiteConfiguration 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 S3BucketWebsiteConfiguration to import
* @param importFromId The id of the existing S3BucketWebsiteConfiguration that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/s3_bucket_website_configuration#import import section} in the documentation of this resource for the id to use
* @param provider? Optional instance of the provider where the S3BucketWebsiteConfiguration to import is found
*/
static generateConfigForImport(scope, importToId, importFromId, provider) {
return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_s3_bucket_website_configuration", importId: importFromId, provider });
}
// ===========
// INITIALIZER
// ===========
/**
* Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/6.25.0/docs/resources/s3_bucket_website_configuration aws_s3_bucket_website_configuration} 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 S3BucketWebsiteConfigurationConfig
*/
constructor(scope, id, config) {
super(scope, id, {
terraformResourceType: 'aws_s3_bucket_website_configuration',
terraformGeneratorMetadata: {
providerName: 'aws',
providerVersion: '6.25.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
});
// error_document - computed: false, optional: true, required: false
this._errorDocument = new S3BucketWebsiteConfigurationErrorDocumentOutputReference(this, "error_document");
// index_document - computed: false, optional: true, required: false
this._indexDocument = new S3BucketWebsiteConfigurationIndexDocumentOutputReference(this, "index_document");
// redirect_all_requests_to - computed: false, optional: true, required: false
this._redirectAllRequestsTo = new S3BucketWebsiteConfigurationRedirectAllRequestsToOutputReference(this, "redirect_all_requests_to");
// routing_rule - computed: false, optional: true, required: false
this._routingRule = new S3BucketWebsiteConfigurationRoutingRuleList(this, "routing_rule", false);
this._bucket = config.bucket;
this._expectedBucketOwner = config.expectedBucketOwner;
this._id = config.id;
this._region = config.region;
this._routingRules = config.routingRules;
this._errorDocument.internalValue = config.errorDocument;
this._indexDocument.internalValue = config.indexDocument;
this._redirectAllRequestsTo.internalValue = config.redirectAllRequestsTo;
this._routingRule.internalValue = config.routingRule;
}
get bucket() {
return this.getStringAttribute('bucket');
}
set bucket(value) {
this._bucket = value;
}
// Temporarily expose input value. Use with caution.
get bucketInput() {
return this._bucket;
}
get expectedBucketOwner() {
return this.getStringAttribute('expected_bucket_owner');
}
set expectedBucketOwner(value) {
this._expectedBucketOwner = value;
}
resetExpectedBucketOwner() {
this._expectedBucketOwner = undefined;
}
// Temporarily expose input value. Use with caution.
get expectedBucketOwnerInput() {
return this._expectedBucketOwner;
}
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 region() {
return this.getStringAttribute('region');
}
set region(value) {
this._region = value;
}
resetRegion() {
this._region = undefined;
}
// Temporarily expose input value. Use with caution.
get regionInput() {
return this._region;
}
get routingRules() {
return this.getStringAttribute('routing_rules');
}
set routingRules(value) {
this._routingRules = value;
}
resetRoutingRules() {
this._routingRules = undefined;
}
// Temporarily expose input value. Use with caution.
get routingRulesInput() {
return this._routingRules;
}
// website_domain - computed: true, optional: false, required: false
get websiteDomain() {
return this.getStringAttribute('website_domain');
}
// website_endpoint - computed: true, optional: false, required: false
get websiteEndpoint() {
return this.getStringAttribute('website_endpoint');
}
get errorDocument() {
return this._errorDocument;
}
putErrorDocument(value) {
this._errorDocument.internalValue = value;
}
resetErrorDocument() {
this._errorDocument.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get errorDocumentInput() {
return this._errorDocument.internalValue;
}
get indexDocument() {
return this._indexDocument;
}
putIndexDocument(value) {
this._indexDocument.internalValue = value;
}
resetIndexDocument() {
this._indexDocument.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get indexDocumentInput() {
return this._indexDocument.internalValue;
}
get redirectAllRequestsTo() {
return this._redirectAllRequestsTo;
}
putRedirectAllRequestsTo(value) {
this._redirectAllRequestsTo.internalValue = value;
}
resetRedirectAllRequestsTo() {
this._redirectAllRequestsTo.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get redirectAllRequestsToInput() {
return this._redirectAllRequestsTo.internalValue;
}
get routingRule() {
return this._routingRule;
}
putRoutingRule(value) {
this._routingRule.internalValue = value;
}
resetRoutingRule() {
this._routingRule.internalValue = undefined;
}
// Temporarily expose input value. Use with caution.
get routingRuleInput() {
return this._routingRule.internalValue;
}
// =========
// SYNTHESIS
// =========
synthesizeAttributes() {
return {
bucket: cdktf.stringToTerraform(this._bucket),
expected_bucket_owner: cdktf.stringToTerraform(this._expectedBucketOwner),
id: cdktf.stringToTerraform(this._id),
region: cdktf.stringToTerraform(this._region),
routing_rules: cdktf.stringToTerraform(this._routingRules),
error_document: s3BucketWebsiteConfigurationErrorDocumentToTerraform(this._errorDocument.internalValue),
index_document: s3BucketWebsiteConfigurationIndexDocumentToTerraform(this._indexDocument.internalValue),
redirect_all_requests_to: s3BucketWebsiteConfigurationRedirectAllRequestsToToTerraform(this._redirectAllRequestsTo.internalValue),
routing_rule: cdktf.listMapper(s3BucketWebsiteConfigurationRoutingRuleToTerraform, true)(this._routingRule.internalValue),
};
}
synthesizeHclAttributes() {
const attrs = {
bucket: {
value: cdktf.stringToHclTerraform(this._bucket),
isBlock: false,
type: "simple",
storageClassType: "string",
},
expected_bucket_owner: {
value: cdktf.stringToHclTerraform(this._expectedBucketOwner),
isBlock: false,
type: "simple",
storageClassType: "string",
},
id: {
value: cdktf.stringToHclTerraform(this._id),
isBlock: false,
type: "simple",
storageClassType: "string",
},
region: {
value: cdktf.stringToHclTerraform(this._region),
isBlock: false,
type: "simple",
storageClassType: "string",
},
routing_rules: {
value: cdktf.stringToHclTerraform(this._routingRules),
isBlock: false,
type: "simple",
storageClassType: "string",
},
error_document: {
value: s3BucketWebsiteConfigurationErrorDocumentToHclTerraform(this._errorDocument.internalValue),
isBlock: true,
type: "list",
storageClassType: "S3BucketWebsiteConfigurationErrorDocumentList",
},
index_document: {
value: s3BucketWebsiteConfigurationIndexDocumentToHclTerraform(this._indexDocument.internalValue),
isBlock: true,
type: "list",
storageClassType: "S3BucketWebsiteConfigurationIndexDocumentList",
},
redirect_all_requests_to: {
value: s3BucketWebsiteConfigurationRedirectAllRequestsToToHclTerraform(this._redirectAllRequestsTo.internalValue),
isBlock: true,
type: "list",
storageClassType: "S3BucketWebsiteConfigurationRedirectAllRequestsToList",
},
routing_rule: {
value: cdktf.listMapperHcl(s3BucketWebsiteConfigurationRoutingRuleToHclTerraform, true)(this._routingRule.internalValue),
isBlock: true,
type: "list",
storageClassType: "S3BucketWebsiteConfigurationRoutingRuleList",
},
};
// remove undefined attributes
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
}
}
exports.S3BucketWebsiteConfiguration = S3BucketWebsiteConfiguration;
_h = JSII_RTTI_SYMBOL_1;
S3BucketWebsiteConfiguration[_h] = { fqn: "@cdktf/provider-aws.s3BucketWebsiteConfiguration.S3BucketWebsiteConfiguration", version: "21.22.1" };
// =================
// STATIC PROPERTIES
// =================
S3BucketWebsiteConfiguration.tfResourceType = "aws_s3_bucket_website_configuration";
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvczMtYnVja2V0LXdlYnNpdGUtY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBdUVBLG9IQVFDO0FBR0QsMEhBZ0JDO0FBc0RELG9IQVFDO0FBR0QsMEhBZ0JDO0FBMERELG9JQVNDO0FBR0QsMElBc0JDO0FBZ0ZELGtJQVNDO0FBR0Qsd0lBc0JDO0FBK0ZELGdJQVlDO0FBR0Qsc0lBd0NDO0FBeUpELGdIQVNDO0FBR0Qsc0hBc0JDOztBQXpzQkQsK0JBQStCO0FBOEQvQixTQUFnQixvREFBb0QsQ0FBQyxNQUE2RztJQUNoTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDO0tBQzFDLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsdURBQXVELENBQUMsTUFBNkc7SUFDbkwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9I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