// generated from terraform resource schema
import * as cdktf from 'cdktf';
export 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)(struct.permissions),
        type: cdktf.stringToTerraform(struct.type),
        uri: cdktf.stringToTerraform(struct.uri),
    };
}
/**
* Represents a {@link https://www.terraform.io/docs/providers/aws/r/s3_object_copy aws_s3_object_copy}
*/
export class S3ObjectCopy extends cdktf.TerraformResource {
    // =================
    // STATIC PROPERTIES
    // =================
    static tfResourceType = "aws_s3_object_copy";
    // ===========
    // INITIALIZER
    // ===========
    /**
    * Create a new {@link https://www.terraform.io/docs/providers/aws/r/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'
            },
            provider: config.provider,
            dependsOn: config.dependsOn,
            count: config.count,
            lifecycle: config.lifecycle
        });
        this._acl = config.acl;
        this._bucket = config.bucket;
        this._bucketKeyEnabled = config.bucketKeyEnabled;
        this._cacheControl = config.cacheControl;
        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._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 = config.grant;
    }
    // ==========
    // ATTRIBUTES
    // ==========
    // acl - computed: false, optional: true, required: false
    _acl;
    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;
    }
    // bucket - computed: false, optional: false, required: true
    _bucket;
    get bucket() {
        return this.getStringAttribute('bucket');
    }
    set bucket(value) {
        this._bucket = value;
    }
    // Temporarily expose input value. Use with caution.
    get bucketInput() {
        return this._bucket;
    }
    // bucket_key_enabled - computed: true, optional: true, required: false
    _bucketKeyEnabled;
    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;
    }
    // cache_control - computed: true, optional: true, required: false
    _cacheControl;
    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;
    }
    // content_disposition - computed: true, optional: true, required: false
    _contentDisposition;
    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;
    }
    // content_encoding - computed: true, optional: true, required: false
    _contentEncoding;
    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;
    }
    // content_language - computed: true, optional: true, required: false
    _contentLanguage;
    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;
    }
    // content_type - computed: true, optional: true, required: false
    _contentType;
    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;
    }
    // copy_if_match - computed: false, optional: true, required: false
    _copyIfMatch;
    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;
    }
    // copy_if_modified_since - computed: false, optional: true, required: false
    _copyIfModifiedSince;
    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;
    }
    // copy_if_none_match - computed: false, optional: true, required: false
    _copyIfNoneMatch;
    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;
    }
    // copy_if_unmodified_since - computed: false, optional: true, required: false
    _copyIfUnmodifiedSince;
    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;
    }
    // customer_algorithm - computed: true, optional: true, required: false
    _customerAlgorithm;
    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;
    }
    // customer_key - computed: false, optional: true, required: false
    _customerKey;
    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;
    }
    // customer_key_md5 - computed: true, optional: true, required: false
    _customerKeyMd5;
    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');
    }
    // expected_bucket_owner - computed: false, optional: true, required: false
    _expectedBucketOwner;
    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;
    }
    // expected_source_bucket_owner - computed: false, optional: true, required: false
    _expectedSourceBucketOwner;
    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');
    }
    // expires - computed: false, optional: true, required: false
    _expires;
    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;
    }
    // force_destroy - computed: false, optional: true, required: false
    _forceDestroy;
    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;
    }
    // id - computed: true, optional: true, required: false
    get id() {
        return this.getStringAttribute('id');
    }
    // key - computed: false, optional: false, required: true
    _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;
    }
    // kms_encryption_context - computed: true, optional: true, required: false
    _kmsEncryptionContext;
    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;
    }
    // kms_key_id - computed: true, optional: true, required: false
    _kmsKeyId;
    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');
    }
    // metadata - computed: true, optional: true, required: false
    _metadata;
    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;
    }
    // metadata_directive - computed: false, optional: true, required: false
    _metadataDirective;
    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;
    }
    // object_lock_legal_hold_status - computed: true, optional: true, required: false
    _objectLockLegalHoldStatus;
    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;
    }
    // object_lock_mode - computed: true, optional: true, required: false
    _objectLockMode;
    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;
    }
    // object_lock_retain_until_date - computed: true, optional: true, required: false
    _objectLockRetainUntilDate;
    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');
    }
    // request_payer - computed: false, optional: true, required: false
    _requestPayer;
    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;
    }
    // server_side_encryption - computed: true, optional: true, required: false
    _serverSideEncryption;
    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;
    }
    // source - computed: false, optional: false, required: true
    _source;
    get source() {
        return this.getStringAttribute('source');
    }
    set source(value) {
        this._source = value;
    }
    // Temporarily expose input value. Use with caution.
    get sourceInput() {
        return this._source;
    }
    // source_customer_algorithm - computed: false, optional: true, required: false
    _sourceCustomerAlgorithm;
    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;
    }
    // source_customer_key - computed: false, optional: true, required: false
    _sourceCustomerKey;
    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;
    }
    // source_customer_key_md5 - computed: false, optional: true, required: false
    _sourceCustomerKeyMd5;
    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');
    }
    // storage_class - computed: true, optional: true, required: false
    _storageClass;
    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;
    }
    // tagging_directive - computed: false, optional: true, required: false
    _taggingDirective;
    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;
    }
    // tags - computed: false, optional: true, required: false
    _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;
    }
    // tags_all - computed: true, optional: true, required: false
    _tagsAll;
    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');
    }
    // website_redirect - computed: true, optional: true, required: false
    _websiteRedirect;
    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;
    }
    // grant - computed: false, optional: true, required: false
    _grant;
    get grant() {
        // Getting the computed value is not yet implemented
        return cdktf.Token.asAny(cdktf.Fn.tolist(this.interpolationForAttribute('grant')));
    }
    set grant(value) {
        this._grant = value;
    }
    resetGrant() {
        this._grant = undefined;
    }
    // Temporarily expose input value. Use with caution.
    get grantInput() {
        return this._grant;
    }
    // =========
    // 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),
            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),
            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)(this._grant),
        };
    }
}
//# sourceMappingURL=s3-object-copy.js.map