export function toJson_CfnS3BucketObjectProps()

in packages/@cdk-cloudformation/tf-aws-s3bucketobject/src/index.ts [190:220]


export function toJson_CfnS3BucketObjectProps(obj: CfnS3BucketObjectProps | undefined): Record<string, any> | undefined {
  if (obj === undefined) { return undefined; }
  const result = {
    'Acl': obj.acl,
    'Bucket': obj.bucket,
    'BucketKeyEnabled': obj.bucketKeyEnabled,
    'CacheControl': obj.cacheControl,
    'Content': obj.content,
    'ContentBase64': obj.contentBase64,
    'ContentDisposition': obj.contentDisposition,
    'ContentEncoding': obj.contentEncoding,
    'ContentLanguage': obj.contentLanguage,
    'ContentType': obj.contentType,
    'Etag': obj.etag,
    'ForceDestroy': obj.forceDestroy,
    'Key': obj.key,
    'KmsKeyId': obj.kmsKeyId,
    'Metadata': obj.metadata?.map(y => toJson_MetadataDefinition(y)),
    'ObjectLockLegalHoldStatus': obj.objectLockLegalHoldStatus,
    'ObjectLockMode': obj.objectLockMode,
    'ObjectLockRetainUntilDate': obj.objectLockRetainUntilDate,
    'ServerSideEncryption': obj.serverSideEncryption,
    'Source': obj.source,
    'StorageClass': obj.storageClass,
    'Tags': obj.tags?.map(y => toJson_TagsDefinition(y)),
    'TagsAll': obj.tagsAll?.map(y => toJson_TagsAllDefinition(y)),
    'WebsiteRedirect': obj.websiteRedirect,
  };
  // filter undefined values
  return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}