UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

937 lines 135 kB
"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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvczMtYnVja2V0LXdlYnNpdGUtY29uZmlndXJhdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBdUVBLG9IQVFDO0FBR0QsMEhBZ0JDO0FBc0RELG9IQVFDO0FBR0QsMEhBZ0JDO0FBMERELG9JQVNDO0FBR0QsMElBc0JDO0FBZ0ZELGtJQVNDO0FBR0Qsd0lBc0JDO0FBK0ZELGdJQVlDO0FBR0Qsc0lBd0NDO0FBeUpELGdIQVNDO0FBR0Qsc0hBc0JDOztBQXpzQkQsK0JBQStCO0FBOEQvQixTQUFnQixvREFBb0QsQ0FBQyxNQUE2RztJQUNoTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsR0FBRyxDQUFDO0tBQzFDLENBQUE7QUFDSCxDQUFDO0FBR0QsU0FBZ0IsdURBQXVELENBQUMsTUFBNkc7SUFDbkwsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUc7UUFDWixHQUFHLEVBQUU7WUFDSCxLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxHQUFHLENBQUM7WUFDOUMsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFFBQVE7U0FDM0I7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBRUQsTUFBYSx3REFBeUQsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUcvRjs7O01BR0U7SUFDRixZQUFtQixpQkFBNkMsRUFBRSxrQkFBMEI7UUFDMUYsS0FBSyxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQVBqRCxrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVE5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBUSxFQUFFLENBQUM7UUFDcEMsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQzVCLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEMsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLGFBQWEsQ0FBQyxLQUE0RDtRQUNuRixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztRQUN4QixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUN4QixDQUFDO0lBQ0gsQ0FBQztJQUlELElBQVcsR0FBRztRQUNaLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxJQUFXLEdBQUcsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDOztBQTNDSCw0SEE0Q0M7OztBQVFELFNBQWdCLG9EQUFvRCxDQUFDLE1BQTZHO0lBQ2hMLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxNQUFNLENBQUM7S0FDaEQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQix1REFBdUQsQ0FBQyxNQUE2RztJQUNuTCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztZQUNqRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRCxNQUFhLHdEQUF5RCxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBRy9GOzs7TUFHRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQjtRQUMxRixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBUGpELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBUTlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDO1FBQ0QsT0FBTyxZQUFZLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQVcsYUFBYSxDQUFDLEtBQTREO1FBQ25GLElBQUksS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQzNCLENBQUM7YUFDSSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzlCLENBQUM7SUFDSCxDQUFDO0lBSUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQVcsTUFBTSxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7O0FBM0NILDRIQTRDQzs7O0FBWUQsU0FBZ0IsNERBQTRELENBQUMsTUFBNkg7SUFDeE0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztRQUNwRCxRQUFRLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxRQUFRLENBQUM7S0FDcEQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiwrREFBK0QsQ0FBQyxNQUE2SDtJQUMzTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLFNBQVMsRUFBRTtZQUNULEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtRQUNELFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTyxDQUFDLFFBQVEsQ0FBQztZQUNuRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxRQUFRO1lBQ2QsZ0JBQWdCLEVBQUUsUUFBUTtTQUMzQjtLQUNGLENBQUM7SUFFRiw4QkFBOEI7SUFDOUIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQzVILENBQUM7QUFFRCxNQUFhLGdFQUFpRSxTQUFRLEtBQUssQ0FBQyxhQUFhO0lBR3ZHOzs7TUFHRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQjtRQUMxRixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBUGpELGtCQUFhLEdBQUcsS0FBSyxDQUFDO0lBUTlCLENBQUM7SUFFRCxJQUFXLGFBQWE7UUFDdEIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDakMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2pDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEQsQ0FBQztRQUNELE9BQU8sWUFBWSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFXLGFBQWEsQ0FBQyxLQUFvRTtRQUMzRixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztRQUM3QixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7SUFJRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELElBQVcsUUFBUSxDQUFDLEtBQWE7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUNNLGFBQWE7UUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLGFBQWE7UUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7O0FBakVILDRJQWtFQzs7O0FBWUQsU0FBZ0IsMkRBQTJELENBQUMsTUFBMkg7SUFDck0sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUFDLE9BQU8sTUFBTSxDQUFDO0lBQUMsQ0FBQztJQUM1RixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQ25DLE1BQU0sSUFBSSxLQUFLLENBQUMsb0hBQW9ILENBQUMsQ0FBQztJQUN4SSxDQUFDO0lBQ0QsT0FBTztRQUNMLCtCQUErQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxNQUFPLENBQUMsMkJBQTJCLENBQUM7UUFDN0YsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxlQUFlLENBQUM7S0FDcEUsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQiw4REFBOEQsQ0FBQyxNQUEySDtJQUN4TSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFB