UNPKG

@cdktf/provider-aws

Version:

Prebuilt aws Provider for Terraform CDK (cdktf)

1,342 lines (1,341 loc) 185 kB
"use strict"; var _a, _b, _c, _d, _e; Object.defineProperty(exports, "__esModule", { value: true }); exports.S3ObjectCopy = exports.S3ObjectCopyOverrideProviderOutputReference = exports.s3ObjectCopyOverrideProviderToHclTerraform = exports.s3ObjectCopyOverrideProviderToTerraform = exports.S3ObjectCopyOverrideProviderDefaultTagsOutputReference = exports.s3ObjectCopyOverrideProviderDefaultTagsToHclTerraform = exports.s3ObjectCopyOverrideProviderDefaultTagsToTerraform = exports.S3ObjectCopyGrantList = exports.S3ObjectCopyGrantOutputReference = exports.s3ObjectCopyGrantToHclTerraform = exports.s3ObjectCopyGrantToTerraform = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const cdktf = require("cdktf"); function s3ObjectCopyGrantToTerraform(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 { email: cdktf.stringToTerraform(struct.email), id: cdktf.stringToTerraform(struct.id), permissions: cdktf.listMapper(cdktf.stringToTerraform, false)(struct.permissions), type: cdktf.stringToTerraform(struct.type), uri: cdktf.stringToTerraform(struct.uri), }; } exports.s3ObjectCopyGrantToTerraform = s3ObjectCopyGrantToTerraform; function s3ObjectCopyGrantToHclTerraform(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 = { email: { value: cdktf.stringToHclTerraform(struct.email), isBlock: false, type: "simple", storageClassType: "string", }, id: { value: cdktf.stringToHclTerraform(struct.id), isBlock: false, type: "simple", storageClassType: "string", }, permissions: { value: cdktf.listMapperHcl(cdktf.stringToHclTerraform, false)(struct.permissions), isBlock: false, type: "set", storageClassType: "stringList", }, type: { value: cdktf.stringToHclTerraform(struct.type), isBlock: false, type: "simple", storageClassType: "string", }, uri: { value: cdktf.stringToHclTerraform(struct.uri), isBlock: false, type: "simple", storageClassType: "string", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.s3ObjectCopyGrantToHclTerraform = s3ObjectCopyGrantToHclTerraform; class S3ObjectCopyGrantOutputReference 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._email !== undefined) { hasAnyValues = true; internalValueResult.email = this._email; } if (this._id !== undefined) { hasAnyValues = true; internalValueResult.id = this._id; } if (this._permissions !== undefined) { hasAnyValues = true; internalValueResult.permissions = this._permissions; } if (this._type !== undefined) { hasAnyValues = true; internalValueResult.type = this._type; } if (this._uri !== undefined) { hasAnyValues = true; internalValueResult.uri = this._uri; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this.resolvableValue = undefined; this._email = undefined; this._id = undefined; this._permissions = undefined; this._type = undefined; this._uri = 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._email = value.email; this._id = value.id; this._permissions = value.permissions; this._type = value.type; this._uri = value.uri; } } get email() { return this.getStringAttribute('email'); } set email(value) { this._email = value; } resetEmail() { this._email = undefined; } // Temporarily expose input value. Use with caution. get emailInput() { return this._email; } 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 permissions() { return cdktf.Fn.tolist(this.getListAttribute('permissions')); } set permissions(value) { this._permissions = value; } // Temporarily expose input value. Use with caution. get permissionsInput() { return this._permissions; } get type() { return this.getStringAttribute('type'); } set type(value) { this._type = value; } // Temporarily expose input value. Use with caution. get typeInput() { return this._type; } get uri() { return this.getStringAttribute('uri'); } set uri(value) { this._uri = value; } resetUri() { this._uri = undefined; } // Temporarily expose input value. Use with caution. get uriInput() { return this._uri; } } exports.S3ObjectCopyGrantOutputReference = S3ObjectCopyGrantOutputReference; _a = JSII_RTTI_SYMBOL_1; S3ObjectCopyGrantOutputReference[_a] = { fqn: "@cdktf/provider-aws.s3ObjectCopy.S3ObjectCopyGrantOutputReference", version: "19.50.0" }; class S3ObjectCopyGrantList 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 S3ObjectCopyGrantOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet); } } exports.S3ObjectCopyGrantList = S3ObjectCopyGrantList; _b = JSII_RTTI_SYMBOL_1; S3ObjectCopyGrantList[_b] = { fqn: "@cdktf/provider-aws.s3ObjectCopy.S3ObjectCopyGrantList", version: "19.50.0" }; function s3ObjectCopyOverrideProviderDefaultTagsToTerraform(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 { tags: cdktf.hashMapper(cdktf.stringToTerraform)(struct.tags), }; } exports.s3ObjectCopyOverrideProviderDefaultTagsToTerraform = s3ObjectCopyOverrideProviderDefaultTagsToTerraform; function s3ObjectCopyOverrideProviderDefaultTagsToHclTerraform(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 = { tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(struct.tags), isBlock: false, type: "map", storageClassType: "stringMap", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.s3ObjectCopyOverrideProviderDefaultTagsToHclTerraform = s3ObjectCopyOverrideProviderDefaultTagsToHclTerraform; class S3ObjectCopyOverrideProviderDefaultTagsOutputReference 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._tags !== undefined) { hasAnyValues = true; internalValueResult.tags = this._tags; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._tags = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._tags = value.tags; } } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } } exports.S3ObjectCopyOverrideProviderDefaultTagsOutputReference = S3ObjectCopyOverrideProviderDefaultTagsOutputReference; _c = JSII_RTTI_SYMBOL_1; S3ObjectCopyOverrideProviderDefaultTagsOutputReference[_c] = { fqn: "@cdktf/provider-aws.s3ObjectCopy.S3ObjectCopyOverrideProviderDefaultTagsOutputReference", version: "19.50.0" }; function s3ObjectCopyOverrideProviderToTerraform(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 { default_tags: s3ObjectCopyOverrideProviderDefaultTagsToTerraform(struct.defaultTags), }; } exports.s3ObjectCopyOverrideProviderToTerraform = s3ObjectCopyOverrideProviderToTerraform; function s3ObjectCopyOverrideProviderToHclTerraform(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 = { default_tags: { value: s3ObjectCopyOverrideProviderDefaultTagsToHclTerraform(struct.defaultTags), isBlock: true, type: "list", storageClassType: "S3ObjectCopyOverrideProviderDefaultTagsList", }, }; // remove undefined attributes return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined)); } exports.s3ObjectCopyOverrideProviderToHclTerraform = s3ObjectCopyOverrideProviderToHclTerraform; class S3ObjectCopyOverrideProviderOutputReference 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; // default_tags - computed: false, optional: true, required: false this._defaultTags = new S3ObjectCopyOverrideProviderDefaultTagsOutputReference(this, "default_tags"); } get internalValue() { let hasAnyValues = this.isEmptyObject; const internalValueResult = {}; if (this._defaultTags?.internalValue !== undefined) { hasAnyValues = true; internalValueResult.defaultTags = this._defaultTags?.internalValue; } return hasAnyValues ? internalValueResult : undefined; } set internalValue(value) { if (value === undefined) { this.isEmptyObject = false; this._defaultTags.internalValue = undefined; } else { this.isEmptyObject = Object.keys(value).length === 0; this._defaultTags.internalValue = value.defaultTags; } } get defaultTags() { return this._defaultTags; } putDefaultTags(value) { this._defaultTags.internalValue = value; } resetDefaultTags() { this._defaultTags.internalValue = undefined; } // Temporarily expose input value. Use with caution. get defaultTagsInput() { return this._defaultTags.internalValue; } } exports.S3ObjectCopyOverrideProviderOutputReference = S3ObjectCopyOverrideProviderOutputReference; _d = JSII_RTTI_SYMBOL_1; S3ObjectCopyOverrideProviderOutputReference[_d] = { fqn: "@cdktf/provider-aws.s3ObjectCopy.S3ObjectCopyOverrideProviderOutputReference", version: "19.50.0" }; /** * Represents a {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_object_copy aws_s3_object_copy} */ class S3ObjectCopy extends cdktf.TerraformResource { // ============== // STATIC Methods // ============== /** * Generates CDKTF code for importing a S3ObjectCopy 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 S3ObjectCopy to import * @param importFromId The id of the existing S3ObjectCopy that should be imported. Refer to the {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_object_copy#import import section} in the documentation of this resource for the id to use * @param provider? Optional instance of the provider where the S3ObjectCopy to import is found */ static generateConfigForImport(scope, importToId, importFromId, provider) { return new cdktf.ImportableResource(scope, importToId, { terraformResourceType: "aws_s3_object_copy", importId: importFromId, provider }); } // =========== // INITIALIZER // =========== /** * Create a new {@link https://registry.terraform.io/providers/hashicorp/aws/5.84.0/docs/resources/s3_object_copy aws_s3_object_copy} 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 S3ObjectCopyConfig */ constructor(scope, id, config) { super(scope, id, { terraformResourceType: 'aws_s3_object_copy', terraformGeneratorMetadata: { providerName: 'aws', providerVersion: '5.84.0', providerVersionConstraint: '~> 5.0' }, provider: config.provider, dependsOn: config.dependsOn, count: config.count, lifecycle: config.lifecycle, provisioners: config.provisioners, connection: config.connection, forEach: config.forEach }); // grant - computed: false, optional: true, required: false this._grant = new S3ObjectCopyGrantList(this, "grant", true); // override_provider - computed: false, optional: true, required: false this._overrideProvider = new S3ObjectCopyOverrideProviderOutputReference(this, "override_provider"); this._acl = config.acl; this._bucket = config.bucket; this._bucketKeyEnabled = config.bucketKeyEnabled; this._cacheControl = config.cacheControl; this._checksumAlgorithm = config.checksumAlgorithm; this._contentDisposition = config.contentDisposition; this._contentEncoding = config.contentEncoding; this._contentLanguage = config.contentLanguage; this._contentType = config.contentType; this._copyIfMatch = config.copyIfMatch; this._copyIfModifiedSince = config.copyIfModifiedSince; this._copyIfNoneMatch = config.copyIfNoneMatch; this._copyIfUnmodifiedSince = config.copyIfUnmodifiedSince; this._customerAlgorithm = config.customerAlgorithm; this._customerKey = config.customerKey; this._customerKeyMd5 = config.customerKeyMd5; this._expectedBucketOwner = config.expectedBucketOwner; this._expectedSourceBucketOwner = config.expectedSourceBucketOwner; this._expires = config.expires; this._forceDestroy = config.forceDestroy; this._id = config.id; this._key = config.key; this._kmsEncryptionContext = config.kmsEncryptionContext; this._kmsKeyId = config.kmsKeyId; this._metadata = config.metadata; this._metadataDirective = config.metadataDirective; this._objectLockLegalHoldStatus = config.objectLockLegalHoldStatus; this._objectLockMode = config.objectLockMode; this._objectLockRetainUntilDate = config.objectLockRetainUntilDate; this._requestPayer = config.requestPayer; this._serverSideEncryption = config.serverSideEncryption; this._source = config.source; this._sourceCustomerAlgorithm = config.sourceCustomerAlgorithm; this._sourceCustomerKey = config.sourceCustomerKey; this._sourceCustomerKeyMd5 = config.sourceCustomerKeyMd5; this._storageClass = config.storageClass; this._taggingDirective = config.taggingDirective; this._tags = config.tags; this._tagsAll = config.tagsAll; this._websiteRedirect = config.websiteRedirect; this._grant.internalValue = config.grant; this._overrideProvider.internalValue = config.overrideProvider; } get acl() { return this.getStringAttribute('acl'); } set acl(value) { this._acl = value; } resetAcl() { this._acl = undefined; } // Temporarily expose input value. Use with caution. get aclInput() { return this._acl; } // arn - computed: true, optional: false, required: false get arn() { return this.getStringAttribute('arn'); } 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 bucketKeyEnabled() { return this.getBooleanAttribute('bucket_key_enabled'); } set bucketKeyEnabled(value) { this._bucketKeyEnabled = value; } resetBucketKeyEnabled() { this._bucketKeyEnabled = undefined; } // Temporarily expose input value. Use with caution. get bucketKeyEnabledInput() { return this._bucketKeyEnabled; } get cacheControl() { return this.getStringAttribute('cache_control'); } set cacheControl(value) { this._cacheControl = value; } resetCacheControl() { this._cacheControl = undefined; } // Temporarily expose input value. Use with caution. get cacheControlInput() { return this._cacheControl; } get checksumAlgorithm() { return this.getStringAttribute('checksum_algorithm'); } set checksumAlgorithm(value) { this._checksumAlgorithm = value; } resetChecksumAlgorithm() { this._checksumAlgorithm = undefined; } // Temporarily expose input value. Use with caution. get checksumAlgorithmInput() { return this._checksumAlgorithm; } // checksum_crc32 - computed: true, optional: false, required: false get checksumCrc32() { return this.getStringAttribute('checksum_crc32'); } // checksum_crc32c - computed: true, optional: false, required: false get checksumCrc32C() { return this.getStringAttribute('checksum_crc32c'); } // checksum_sha1 - computed: true, optional: false, required: false get checksumSha1() { return this.getStringAttribute('checksum_sha1'); } // checksum_sha256 - computed: true, optional: false, required: false get checksumSha256() { return this.getStringAttribute('checksum_sha256'); } get contentDisposition() { return this.getStringAttribute('content_disposition'); } set contentDisposition(value) { this._contentDisposition = value; } resetContentDisposition() { this._contentDisposition = undefined; } // Temporarily expose input value. Use with caution. get contentDispositionInput() { return this._contentDisposition; } get contentEncoding() { return this.getStringAttribute('content_encoding'); } set contentEncoding(value) { this._contentEncoding = value; } resetContentEncoding() { this._contentEncoding = undefined; } // Temporarily expose input value. Use with caution. get contentEncodingInput() { return this._contentEncoding; } get contentLanguage() { return this.getStringAttribute('content_language'); } set contentLanguage(value) { this._contentLanguage = value; } resetContentLanguage() { this._contentLanguage = undefined; } // Temporarily expose input value. Use with caution. get contentLanguageInput() { return this._contentLanguage; } get contentType() { return this.getStringAttribute('content_type'); } set contentType(value) { this._contentType = value; } resetContentType() { this._contentType = undefined; } // Temporarily expose input value. Use with caution. get contentTypeInput() { return this._contentType; } get copyIfMatch() { return this.getStringAttribute('copy_if_match'); } set copyIfMatch(value) { this._copyIfMatch = value; } resetCopyIfMatch() { this._copyIfMatch = undefined; } // Temporarily expose input value. Use with caution. get copyIfMatchInput() { return this._copyIfMatch; } get copyIfModifiedSince() { return this.getStringAttribute('copy_if_modified_since'); } set copyIfModifiedSince(value) { this._copyIfModifiedSince = value; } resetCopyIfModifiedSince() { this._copyIfModifiedSince = undefined; } // Temporarily expose input value. Use with caution. get copyIfModifiedSinceInput() { return this._copyIfModifiedSince; } get copyIfNoneMatch() { return this.getStringAttribute('copy_if_none_match'); } set copyIfNoneMatch(value) { this._copyIfNoneMatch = value; } resetCopyIfNoneMatch() { this._copyIfNoneMatch = undefined; } // Temporarily expose input value. Use with caution. get copyIfNoneMatchInput() { return this._copyIfNoneMatch; } get copyIfUnmodifiedSince() { return this.getStringAttribute('copy_if_unmodified_since'); } set copyIfUnmodifiedSince(value) { this._copyIfUnmodifiedSince = value; } resetCopyIfUnmodifiedSince() { this._copyIfUnmodifiedSince = undefined; } // Temporarily expose input value. Use with caution. get copyIfUnmodifiedSinceInput() { return this._copyIfUnmodifiedSince; } get customerAlgorithm() { return this.getStringAttribute('customer_algorithm'); } set customerAlgorithm(value) { this._customerAlgorithm = value; } resetCustomerAlgorithm() { this._customerAlgorithm = undefined; } // Temporarily expose input value. Use with caution. get customerAlgorithmInput() { return this._customerAlgorithm; } get customerKey() { return this.getStringAttribute('customer_key'); } set customerKey(value) { this._customerKey = value; } resetCustomerKey() { this._customerKey = undefined; } // Temporarily expose input value. Use with caution. get customerKeyInput() { return this._customerKey; } get customerKeyMd5() { return this.getStringAttribute('customer_key_md5'); } set customerKeyMd5(value) { this._customerKeyMd5 = value; } resetCustomerKeyMd5() { this._customerKeyMd5 = undefined; } // Temporarily expose input value. Use with caution. get customerKeyMd5Input() { return this._customerKeyMd5; } // etag - computed: true, optional: false, required: false get etag() { return this.getStringAttribute('etag'); } 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 expectedSourceBucketOwner() { return this.getStringAttribute('expected_source_bucket_owner'); } set expectedSourceBucketOwner(value) { this._expectedSourceBucketOwner = value; } resetExpectedSourceBucketOwner() { this._expectedSourceBucketOwner = undefined; } // Temporarily expose input value. Use with caution. get expectedSourceBucketOwnerInput() { return this._expectedSourceBucketOwner; } // expiration - computed: true, optional: false, required: false get expiration() { return this.getStringAttribute('expiration'); } get expires() { return this.getStringAttribute('expires'); } set expires(value) { this._expires = value; } resetExpires() { this._expires = undefined; } // Temporarily expose input value. Use with caution. get expiresInput() { return this._expires; } get forceDestroy() { return this.getBooleanAttribute('force_destroy'); } set forceDestroy(value) { this._forceDestroy = value; } resetForceDestroy() { this._forceDestroy = undefined; } // Temporarily expose input value. Use with caution. get forceDestroyInput() { return this._forceDestroy; } 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 key() { return this.getStringAttribute('key'); } set key(value) { this._key = value; } // Temporarily expose input value. Use with caution. get keyInput() { return this._key; } get kmsEncryptionContext() { return this.getStringAttribute('kms_encryption_context'); } set kmsEncryptionContext(value) { this._kmsEncryptionContext = value; } resetKmsEncryptionContext() { this._kmsEncryptionContext = undefined; } // Temporarily expose input value. Use with caution. get kmsEncryptionContextInput() { return this._kmsEncryptionContext; } get kmsKeyId() { return this.getStringAttribute('kms_key_id'); } set kmsKeyId(value) { this._kmsKeyId = value; } resetKmsKeyId() { this._kmsKeyId = undefined; } // Temporarily expose input value. Use with caution. get kmsKeyIdInput() { return this._kmsKeyId; } // last_modified - computed: true, optional: false, required: false get lastModified() { return this.getStringAttribute('last_modified'); } get metadata() { return this.getStringMapAttribute('metadata'); } set metadata(value) { this._metadata = value; } resetMetadata() { this._metadata = undefined; } // Temporarily expose input value. Use with caution. get metadataInput() { return this._metadata; } get metadataDirective() { return this.getStringAttribute('metadata_directive'); } set metadataDirective(value) { this._metadataDirective = value; } resetMetadataDirective() { this._metadataDirective = undefined; } // Temporarily expose input value. Use with caution. get metadataDirectiveInput() { return this._metadataDirective; } get objectLockLegalHoldStatus() { return this.getStringAttribute('object_lock_legal_hold_status'); } set objectLockLegalHoldStatus(value) { this._objectLockLegalHoldStatus = value; } resetObjectLockLegalHoldStatus() { this._objectLockLegalHoldStatus = undefined; } // Temporarily expose input value. Use with caution. get objectLockLegalHoldStatusInput() { return this._objectLockLegalHoldStatus; } get objectLockMode() { return this.getStringAttribute('object_lock_mode'); } set objectLockMode(value) { this._objectLockMode = value; } resetObjectLockMode() { this._objectLockMode = undefined; } // Temporarily expose input value. Use with caution. get objectLockModeInput() { return this._objectLockMode; } get objectLockRetainUntilDate() { return this.getStringAttribute('object_lock_retain_until_date'); } set objectLockRetainUntilDate(value) { this._objectLockRetainUntilDate = value; } resetObjectLockRetainUntilDate() { this._objectLockRetainUntilDate = undefined; } // Temporarily expose input value. Use with caution. get objectLockRetainUntilDateInput() { return this._objectLockRetainUntilDate; } // request_charged - computed: true, optional: false, required: false get requestCharged() { return this.getBooleanAttribute('request_charged'); } get requestPayer() { return this.getStringAttribute('request_payer'); } set requestPayer(value) { this._requestPayer = value; } resetRequestPayer() { this._requestPayer = undefined; } // Temporarily expose input value. Use with caution. get requestPayerInput() { return this._requestPayer; } get serverSideEncryption() { return this.getStringAttribute('server_side_encryption'); } set serverSideEncryption(value) { this._serverSideEncryption = value; } resetServerSideEncryption() { this._serverSideEncryption = undefined; } // Temporarily expose input value. Use with caution. get serverSideEncryptionInput() { return this._serverSideEncryption; } get source() { return this.getStringAttribute('source'); } set source(value) { this._source = value; } // Temporarily expose input value. Use with caution. get sourceInput() { return this._source; } get sourceCustomerAlgorithm() { return this.getStringAttribute('source_customer_algorithm'); } set sourceCustomerAlgorithm(value) { this._sourceCustomerAlgorithm = value; } resetSourceCustomerAlgorithm() { this._sourceCustomerAlgorithm = undefined; } // Temporarily expose input value. Use with caution. get sourceCustomerAlgorithmInput() { return this._sourceCustomerAlgorithm; } get sourceCustomerKey() { return this.getStringAttribute('source_customer_key'); } set sourceCustomerKey(value) { this._sourceCustomerKey = value; } resetSourceCustomerKey() { this._sourceCustomerKey = undefined; } // Temporarily expose input value. Use with caution. get sourceCustomerKeyInput() { return this._sourceCustomerKey; } get sourceCustomerKeyMd5() { return this.getStringAttribute('source_customer_key_md5'); } set sourceCustomerKeyMd5(value) { this._sourceCustomerKeyMd5 = value; } resetSourceCustomerKeyMd5() { this._sourceCustomerKeyMd5 = undefined; } // Temporarily expose input value. Use with caution. get sourceCustomerKeyMd5Input() { return this._sourceCustomerKeyMd5; } // source_version_id - computed: true, optional: false, required: false get sourceVersionId() { return this.getStringAttribute('source_version_id'); } get storageClass() { return this.getStringAttribute('storage_class'); } set storageClass(value) { this._storageClass = value; } resetStorageClass() { this._storageClass = undefined; } // Temporarily expose input value. Use with caution. get storageClassInput() { return this._storageClass; } get taggingDirective() { return this.getStringAttribute('tagging_directive'); } set taggingDirective(value) { this._taggingDirective = value; } resetTaggingDirective() { this._taggingDirective = undefined; } // Temporarily expose input value. Use with caution. get taggingDirectiveInput() { return this._taggingDirective; } get tags() { return this.getStringMapAttribute('tags'); } set tags(value) { this._tags = value; } resetTags() { this._tags = undefined; } // Temporarily expose input value. Use with caution. get tagsInput() { return this._tags; } get tagsAll() { return this.getStringMapAttribute('tags_all'); } set tagsAll(value) { this._tagsAll = value; } resetTagsAll() { this._tagsAll = undefined; } // Temporarily expose input value. Use with caution. get tagsAllInput() { return this._tagsAll; } // version_id - computed: true, optional: false, required: false get versionId() { return this.getStringAttribute('version_id'); } get websiteRedirect() { return this.getStringAttribute('website_redirect'); } set websiteRedirect(value) { this._websiteRedirect = value; } resetWebsiteRedirect() { this._websiteRedirect = undefined; } // Temporarily expose input value. Use with caution. get websiteRedirectInput() { return this._websiteRedirect; } get grant() { return this._grant; } putGrant(value) { this._grant.internalValue = value; } resetGrant() { this._grant.internalValue = undefined; } // Temporarily expose input value. Use with caution. get grantInput() { return this._grant.internalValue; } get overrideProvider() { return this._overrideProvider; } putOverrideProvider(value) { this._overrideProvider.internalValue = value; } resetOverrideProvider() { this._overrideProvider.internalValue = undefined; } // Temporarily expose input value. Use with caution. get overrideProviderInput() { return this._overrideProvider.internalValue; } // ========= // SYNTHESIS // ========= synthesizeAttributes() { return { acl: cdktf.stringToTerraform(this._acl), bucket: cdktf.stringToTerraform(this._bucket), bucket_key_enabled: cdktf.booleanToTerraform(this._bucketKeyEnabled), cache_control: cdktf.stringToTerraform(this._cacheControl), checksum_algorithm: cdktf.stringToTerraform(this._checksumAlgorithm), content_disposition: cdktf.stringToTerraform(this._contentDisposition), content_encoding: cdktf.stringToTerraform(this._contentEncoding), content_language: cdktf.stringToTerraform(this._contentLanguage), content_type: cdktf.stringToTerraform(this._contentType), copy_if_match: cdktf.stringToTerraform(this._copyIfMatch), copy_if_modified_since: cdktf.stringToTerraform(this._copyIfModifiedSince), copy_if_none_match: cdktf.stringToTerraform(this._copyIfNoneMatch), copy_if_unmodified_since: cdktf.stringToTerraform(this._copyIfUnmodifiedSince), customer_algorithm: cdktf.stringToTerraform(this._customerAlgorithm), customer_key: cdktf.stringToTerraform(this._customerKey), customer_key_md5: cdktf.stringToTerraform(this._customerKeyMd5), expected_bucket_owner: cdktf.stringToTerraform(this._expectedBucketOwner), expected_source_bucket_owner: cdktf.stringToTerraform(this._expectedSourceBucketOwner), expires: cdktf.stringToTerraform(this._expires), force_destroy: cdktf.booleanToTerraform(this._forceDestroy), id: cdktf.stringToTerraform(this._id), key: cdktf.stringToTerraform(this._key), kms_encryption_context: cdktf.stringToTerraform(this._kmsEncryptionContext), kms_key_id: cdktf.stringToTerraform(this._kmsKeyId), metadata: cdktf.hashMapper(cdktf.stringToTerraform)(this._metadata), metadata_directive: cdktf.stringToTerraform(this._metadataDirective), object_lock_legal_hold_status: cdktf.stringToTerraform(this._objectLockLegalHoldStatus), object_lock_mode: cdktf.stringToTerraform(this._objectLockMode), object_lock_retain_until_date: cdktf.stringToTerraform(this._objectLockRetainUntilDate), request_payer: cdktf.stringToTerraform(this._requestPayer), server_side_encryption: cdktf.stringToTerraform(this._serverSideEncryption), source: cdktf.stringToTerraform(this._source), source_customer_algorithm: cdktf.stringToTerraform(this._sourceCustomerAlgorithm), source_customer_key: cdktf.stringToTerraform(this._sourceCustomerKey), source_customer_key_md5: cdktf.stringToTerraform(this._sourceCustomerKeyMd5), storage_class: cdktf.stringToTerraform(this._storageClass), tagging_directive: cdktf.stringToTerraform(this._taggingDirective), tags: cdktf.hashMapper(cdktf.stringToTerraform)(this._tags), tags_all: cdktf.hashMapper(cdktf.stringToTerraform)(this._tagsAll), website_redirect: cdktf.stringToTerraform(this._websiteRedirect), grant: cdktf.listMapper(s3ObjectCopyGrantToTerraform, true)(this._grant.internalValue), override_provider: s3ObjectCopyOverrideProviderToTerraform(this._overrideProvider.internalValue), }; } synthesizeHclAttributes() { const attrs = { acl: { value: cdktf.stringToHclTerraform(this._acl), isBlock: false, type: "simple", storageClassType: "string", }, bucket: { value: cdktf.stringToHclTerraform(this._bucket), isBlock: false, type: "simple", storageClassType: "string", }, bucket_key_enabled: { value: cdktf.booleanToHclTerraform(this._bucketKeyEnabled), isBlock: false, type: "simple", storageClassType: "boolean", }, cache_control: { value: cdktf.stringToHclTerraform(this._cacheControl), isBlock: false, type: "simple", storageClassType: "string", }, checksum_algorithm: { value: cdktf.stringToHclTerraform(this._checksumAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, content_disposition: { value: cdktf.stringToHclTerraform(this._contentDisposition), isBlock: false, type: "simple", storageClassType: "string", }, content_encoding: { value: cdktf.stringToHclTerraform(this._contentEncoding), isBlock: false, type: "simple", storageClassType: "string", }, content_language: { value: cdktf.stringToHclTerraform(this._contentLanguage), isBlock: false, type: "simple", storageClassType: "string", }, content_type: { value: cdktf.stringToHclTerraform(this._contentType), isBlock: false, type: "simple", storageClassType: "string", }, copy_if_match: { value: cdktf.stringToHclTerraform(this._copyIfMatch), isBlock: false, type: "simple", storageClassType: "string", }, copy_if_modified_since: { value: cdktf.stringToHclTerraform(this._copyIfModifiedSince), isBlock: false, type: "simple", storageClassType: "string", }, copy_if_none_match: { value: cdktf.stringToHclTerraform(this._copyIfNoneMatch), isBlock: false, type: "simple", storageClassType: "string", }, copy_if_unmodified_since: { value: cdktf.stringToHclTerraform(this._copyIfUnmodifiedSince), isBlock: false, type: "simple", storageClassType: "string", }, customer_algorithm: { value: cdktf.stringToHclTerraform(this._customerAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, customer_key: { value: cdktf.stringToHclTerraform(this._customerKey), isBlock: false, type: "simple", storageClassType: "string", }, customer_key_md5: { value: cdktf.stringToHclTerraform(this._customerKeyMd5), isBlock: false, type: "simple", storageClassType: "string", }, expected_bucket_owner: { value: cdktf.stringToHclTerraform(this._expectedBucketOwner), isBlock: false, type: "simple", storageClassType: "string", }, expected_source_bucket_owner: { value: cdktf.stringToHclTerraform(this._expectedSourceBucketOwner), isBlock: false, type: "simple", storageClassType: "string", }, expires: { value: cdktf.stringToHclTerraform(this._expires), isBlock: false, type: "simple", storageClassType: "string", }, force_destroy: { value: cdktf.booleanToHclTerraform(this._forceDestroy), isBlock: false, type: "simple", storageClassType: "boolean", }, id: { value: cdktf.stringToHclTerraform(this._id), isBlock: false, type: "simple", storageClassType: "string", }, key: { value: cdktf.stringToHclTerraform(this._key), isBlock: false, type: "simple", storageClassType: "string", }, kms_encryption_context: { value: cdktf.stringToHclTerraform(this._kmsEncryptionContext), isBlock: false, type: "simple", storageClassType: "string", }, kms_key_id: { value: cdktf.stringToHclTerraform(this._kmsKeyId), isBlock: false, type: "simple", storageClassType: "string", }, metadata: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._metadata), isBlock: false, type: "map", storageClassType: "stringMap", }, metadata_directive: { value: cdktf.stringToHclTerraform(this._metadataDirective), isBlock: false, type: "simple", storageClassType: "string", }, object_lock_legal_hold_status: { value: cdktf.stringToHclTerraform(this._objectLockLegalHoldStatus), isBlock: false, type: "simple", storageClassType: "string", }, object_lock_mode: { value: cdktf.stringToHclTerraform(this._objectLockMode), isBlock: false, type: "simple", storageClassType: "string", }, object_lock_retain_until_date: { value: cdktf.stringToHclTerraform(this._objectLockRetainUntilDate), isBlock: false, type: "simple", storageClassType: "string", }, request_payer: { value: cdktf.stringToHclTerraform(this._requestPayer), isBlock: false, type: "simple", storageClassType: "string", }, server_side_encryption: { value: cdktf.stringToHclTerraform(this._serverSideEncryption), isBlock: false, type: "simple", storageClassType: "string", }, source: { value: cdktf.stringToHclTerraform(this._source), isBlock: false, type: "simple", storageClassType: "string", }, source_customer_algorithm: { value: cdktf.stringToHclTerraform(this._sourceCustomerAlgorithm), isBlock: false, type: "simple", storageClassType: "string", }, source_customer_key: { value: cdktf.stringToHclTerraform(this._sourceCustomerKey), isBlock: false, type: "simple", storageClassType: "string", }, source_customer_key_md5: { value: cdktf.stringToHclTerraform(this._sourceCustomerKeyMd5), isBlock: false, type: "simple", storageClassType: "string", }, storage_class: { value: cdktf.stringToHclTerraform(this._storageClass), isBlock: false, type: "simple", storageClassType: "string", }, tagging_directive: { value: cdktf.stringToHclTerraform(this._taggingDirective), isBlock: false, type: "simple", storageClassType: "string", }, tags: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tags), isBlock: false, type: "map", storageClassType: "stringMap", }, tags_all: { value: cdktf.hashMapperHcl(cdktf.stringToHclTerraform)(this._tagsAll), isBlock: false, type: "map", storageClassType: "stringMap", }, website_redirect: { value: cdktf.stringToHclTerraform(this._websiteRedirect), isBlock: false, type: "simple", storageClassType: "string", }, grant: { value: cdktf.listMapperHcl(s3ObjectCopyGrantToHclTerraform, true)(this._grant.internalValue), isBlock: true, type: "set", storageClassType: "S3ObjectCopyGrantList", }, override_provider: { value: s3ObjectCopyOverrideProviderToHclTerraform(this._overrideProvider.internalValue), isBlock: true, type: "list", storageClassType: "S3ObjectCopyOverrideProviderList", },