in packages/@cdk-cloudformation/tf-google-storagebucket/src/index.ts [131:154]
export function toJson_CfnStorageBucketProps(obj: CfnStorageBucketProps | undefined): Record<string, any> | undefined {
if (obj === undefined) { return undefined; }
const result = {
'BucketPolicyOnly': obj.bucketPolicyOnly,
'DefaultEventBasedHold': obj.defaultEventBasedHold,
'ForceDestroy': obj.forceDestroy,
'Labels': obj.labels?.map(y => toJson_LabelsDefinition(y)),
'Location': obj.location,
'Name': obj.name,
'Project': obj.project,
'RequesterPays': obj.requesterPays,
'StorageClass': obj.storageClass,
'UniformBucketLevelAccess': obj.uniformBucketLevelAccess,
'Cors': obj.cors?.map(y => toJson_CorsDefinition(y)),
'Encryption': obj.encryption?.map(y => toJson_EncryptionDefinition(y)),
'LifecycleRule': obj.lifecycleRule?.map(y => toJson_LifecycleRuleDefinition(y)),
'Logging': obj.logging?.map(y => toJson_LoggingDefinition(y)),
'RetentionPolicy': obj.retentionPolicy?.map(y => toJson_RetentionPolicyDefinition(y)),
'Versioning': obj.versioning?.map(y => toJson_VersioningDefinition(y)),
'Website': obj.website?.map(y => toJson_WebsiteDefinition(y)),
};
// filter undefined values
return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {});
}