export function toJson_CfnStorageBucketProps()

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] }), {});
}