/** * @constructive-io/bucket-provisioner * * S3-compatible bucket provisioning library for the Constructive storage module. * Creates and configures buckets with the correct privacy policies, CORS rules, * versioning, and lifecycle settings for private and public file storage. * * @example * ```typescript * import { BucketProvisioner } from '@constructive-io/bucket-provisioner'; * * const provisioner = new BucketProvisioner({ * connection: { * provider: 'minio', * region: 'us-east-1', * endpoint: 'http://minio:9000', * accessKeyId: 'minioadmin', * secretAccessKey: 'minioadmin', * }, * allowedOrigins: ['https://app.example.com'], * }); * * const result = await provisioner.provision({ * bucketName: 'my-app-storage', * accessType: 'private', * }); * ``` */ export type { BucketProvisionerOptions } from './provisioner'; export { BucketProvisioner } from './provisioner'; export { createS3Client } from './client'; export type { BucketPolicyDocument, BucketPolicyStatement, PublicAccessBlockConfig, } from './policies'; export { buildCloudFrontOacPolicy, buildPresignedUrlIamPolicy, buildPublicReadPolicy, getPublicAccessBlock, } from './policies'; export { buildPrivateCorsRules, buildUploadCorsRules } from './cors'; export { buildAbortIncompleteMultipartRule, buildTempCleanupRule } from './lifecycle'; export type { BucketAccessType, CorsRule, CreateBucketOptions, LifecycleRule, ProvisionerErrorCode, ProvisionResult, StorageConnectionConfig, StorageProvider, UpdateCorsOptions, } from './types'; export { ProvisionerError } from './types';