@cdktf/provider-aws
Version:
Prebuilt aws Provider for Terraform CDK (cdktf)
1,342 lines (1,341 loc) • 185 kB
JavaScript
"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",
},