import * as core from "@terrascript/core"; export interface ReplicaModificationsArgs extends core.SchemaArgs { status: string | core.StringOut; } export declare class ReplicaModifications extends core.Schema { status: string | core.StringOut; } export interface SseKmsEncryptedObjectsArgs extends core.SchemaArgs { status: string | core.StringOut; } export declare class SseKmsEncryptedObjects extends core.Schema { status: string | core.StringOut; } export interface SourceSelectionCriteriaArgs extends core.SchemaArgs { replicaModifications?: ReplicaModifications; sseKmsEncryptedObjects?: SseKmsEncryptedObjects; } export declare class SourceSelectionCriteria extends core.Schema { replicaModifications?: ReplicaModifications; sseKmsEncryptedObjects?: SseKmsEncryptedObjects; } export interface DeleteMarkerReplicationArgs extends core.SchemaArgs { status: string | core.StringOut; } export declare class DeleteMarkerReplication extends core.Schema { status: string | core.StringOut; } export interface AccessControlTranslationArgs extends core.SchemaArgs { owner: string | core.StringOut; } export declare class AccessControlTranslation extends core.Schema { owner: string | core.StringOut; } export interface EncryptionConfigurationArgs extends core.SchemaArgs { replicaKmsKeyId: string | core.StringOut; } export declare class EncryptionConfiguration extends core.Schema { replicaKmsKeyId: string | core.StringOut; } export interface EventThresholdArgs extends core.SchemaArgs { minutes: number | core.NumberOut; } export declare class EventThreshold extends core.Schema { minutes: number | core.NumberOut; } export interface MetricsArgs extends core.SchemaArgs { eventThreshold?: EventThreshold; status: string | core.StringOut; } export declare class Metrics extends core.Schema { eventThreshold?: EventThreshold; status: string | core.StringOut; } export interface TimeArgs extends core.SchemaArgs { minutes: number | core.NumberOut; } export declare class Time extends core.Schema { minutes: number | core.NumberOut; } export interface ReplicationTimeArgs extends core.SchemaArgs { status: string | core.StringOut; time: Time; } export declare class ReplicationTime extends core.Schema { status: string | core.StringOut; time: Time; } export interface DestinationArgs extends core.SchemaArgs { accessControlTranslation?: AccessControlTranslation; account?: string | core.StringOut; bucket: string | core.StringOut; encryptionConfiguration?: EncryptionConfiguration; metrics?: Metrics; replicationTime?: ReplicationTime; storageClass?: string | core.StringOut; } export declare class Destination extends core.Schema { accessControlTranslation?: AccessControlTranslation; account?: string | core.StringOut; bucket: string | core.StringOut; encryptionConfiguration?: EncryptionConfiguration; metrics?: Metrics; replicationTime?: ReplicationTime; storageClass?: string | core.StringOut; } export interface ExistingObjectReplicationArgs extends core.SchemaArgs { status: string | core.StringOut; } export declare class ExistingObjectReplication extends core.Schema { status: string | core.StringOut; } export interface AndArgs extends core.SchemaArgs { prefix?: string | core.StringOut; tags?: core.Map | core.MapOut; } export declare class And extends core.Schema { prefix?: string | core.StringOut; tags?: core.Map | core.MapOut; } export interface TagArgs extends core.SchemaArgs { key: string | core.StringOut; value: string | core.StringOut; } export declare class Tag extends core.Schema { key: string | core.StringOut; value: string | core.StringOut; } export interface FilterArgs extends core.SchemaArgs { and?: And; prefix?: string | core.StringOut; tag?: Tag; } export declare class Filter extends core.Schema { and?: And; prefix?: string | core.StringOut; tag?: Tag; } export interface RuleArgs extends core.SchemaArgs { deleteMarkerReplication?: DeleteMarkerReplication; destination: Destination; existingObjectReplication?: ExistingObjectReplication; filter?: Filter; id?: string | core.StringOut; prefix?: string | core.StringOut; priority?: number | core.NumberOut; sourceSelectionCriteria?: SourceSelectionCriteria; status: string | core.StringOut; } export declare class Rule extends core.Schema { deleteMarkerReplication?: DeleteMarkerReplication; destination: Destination; existingObjectReplication?: ExistingObjectReplication; filter?: Filter; id?: string | core.StringOut; prefix?: string | core.StringOut; priority?: number | core.NumberOut; sourceSelectionCriteria?: SourceSelectionCriteria; status: string | core.StringOut; } export interface BucketReplicationConfigurationArgs extends core.ResourceArgs { /** * (Required) The name of the source S3 bucket you want Amazon S3 to monitor. */ bucket: string | core.StringOut; /** * (Required) The ARN of the IAM role for Amazon S3 to assume when replicating the objects. */ role: string | core.StringOut; /** * (Required) List of configuration blocks describing the rules managing the replication [documented be * low](#rule). */ rule: core.Array | core.ArrayOut; /** * (Optional) A token to allow replication to be enabled on an Object Lock-enabled bucket. You must con * tact AWS support for the bucket's "Object Lock token". */ token?: string | core.StringOut; } export declare class BucketReplicationConfiguration extends core.Resource { /** * (Required) The name of the source S3 bucket you want Amazon S3 to monitor. */ bucket: string | core.StringOut; /** * (Optional) Unique identifier for the rule. Must be less than or equal to 255 characters in length. */ id: string | core.StringOut; /** * (Required) The ARN of the IAM role for Amazon S3 to assume when replicating the objects. */ role: string | core.StringOut; /** * (Required) List of configuration blocks describing the rules managing the replication [documented be * low](#rule). */ rule: core.Array | core.ArrayOut; /** * (Optional) A token to allow replication to be enabled on an Object Lock-enabled bucket. You must con * tact AWS support for the bucket's "Object Lock token". */ token?: string | core.StringOut; constructor(name: string, args?: BucketReplicationConfigurationArgs); getNamespace(): string; } //# sourceMappingURL=bucket_replication_configuration.d.ts.map