UNPKG

@nolanrigo/cloudformation

Version:

TypeScript-based imperative way to define AWS CloudFormation templates

312 lines (311 loc) 11.9 kB
import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource"; import { Value, List } from "../../data-types"; export declare class ServerSideEncryptionRule { ServerSideEncryptionByDefault?: ServerSideEncryptionByDefault; constructor(properties: ServerSideEncryptionRule); } export declare class StorageClassAnalysis { DataExport?: DataExport; constructor(properties: StorageClassAnalysis); } export declare class RoutingRuleCondition { HttpErrorCodeReturnedEquals?: Value<string>; KeyPrefixEquals?: Value<string>; constructor(properties: RoutingRuleCondition); } export declare class InventoryConfiguration { Destination: Destination; Enabled: Value<boolean>; Id: Value<string>; IncludedObjectVersions: Value<string>; OptionalFields?: List<Value<string>>; Prefix?: Value<string>; ScheduleFrequency: Value<string>; constructor(properties: InventoryConfiguration); } export declare class ReplicationRule { Destination: ReplicationDestination; Id?: Value<string>; Prefix: Value<string>; SourceSelectionCriteria?: SourceSelectionCriteria; Status: Value<string>; constructor(properties: ReplicationRule); } export declare class WebsiteConfiguration { ErrorDocument?: Value<string>; IndexDocument?: Value<string>; RedirectAllRequestsTo?: RedirectAllRequestsTo; RoutingRules?: List<RoutingRule>; constructor(properties: WebsiteConfiguration); } export declare class CorsConfiguration { CorsRules: List<CorsRule>; constructor(properties: CorsConfiguration); } export declare class SseKmsEncryptedObjects { Status: Value<string>; constructor(properties: SseKmsEncryptedObjects); } export declare class Rule { TagFilters?: List<TagFilter>; NoncurrentVersionTransition?: NoncurrentVersionTransition; ExpirationInDays?: Value<number>; Status: Value<string>; NoncurrentVersionTransitions?: List<NoncurrentVersionTransition>; Prefix?: Value<string>; Transition?: Transition; NoncurrentVersionExpirationInDays?: Value<number>; Id?: Value<string>; ExpirationDate?: Value<string>; Transitions?: List<Transition>; AbortIncompleteMultipartUpload?: AbortIncompleteMultipartUpload; constructor(properties: Rule); } export declare class NotificationConfiguration { LambdaConfigurations?: List<LambdaConfiguration>; QueueConfigurations?: List<QueueConfiguration>; TopicConfigurations?: List<TopicConfiguration>; constructor(properties: NotificationConfiguration); } export declare class DefaultRetention { Days?: Value<number>; Mode?: Value<string>; Years?: Value<number>; constructor(properties: DefaultRetention); } export declare class ObjectLockConfiguration { ObjectLockEnabled?: Value<string>; Rule?: ObjectLockRule; constructor(properties: ObjectLockConfiguration); } export declare class VersioningConfiguration { Status: Value<string>; constructor(properties: VersioningConfiguration); } export declare class DataExport { Destination: Destination; OutputSchemaVersion: Value<string>; constructor(properties: DataExport); } export declare class AbortIncompleteMultipartUpload { DaysAfterInitiation: Value<number>; constructor(properties: AbortIncompleteMultipartUpload); } export declare class ServerSideEncryptionByDefault { KMSMasterKeyID?: Value<string>; SSEAlgorithm: Value<string>; constructor(properties: ServerSideEncryptionByDefault); } export declare class Destination { BucketAccountId?: Value<string>; BucketArn: Value<string>; Format: Value<string>; Prefix?: Value<string>; constructor(properties: Destination); } export declare class LambdaConfiguration { Event: Value<string>; Filter?: NotificationFilter; Function: Value<string>; constructor(properties: LambdaConfiguration); } export declare class ReplicationDestination { AccessControlTranslation?: AccessControlTranslation; Account?: Value<string>; Bucket: Value<string>; EncryptionConfiguration?: EncryptionConfiguration; StorageClass?: Value<string>; constructor(properties: ReplicationDestination); } export declare class SourceSelectionCriteria { SseKmsEncryptedObjects: SseKmsEncryptedObjects; constructor(properties: SourceSelectionCriteria); } export declare class NotificationFilter { S3Key: S3KeyFilter; constructor(properties: NotificationFilter); } export declare class TagFilter { Key: Value<string>; Value: Value<string>; constructor(properties: TagFilter); } export declare class QueueConfiguration { Event: Value<string>; Filter?: NotificationFilter; Queue: Value<string>; constructor(properties: QueueConfiguration); } export declare class EncryptionConfiguration { ReplicaKmsKeyID: Value<string>; constructor(properties: EncryptionConfiguration); } export declare class ObjectLockRule { DefaultRetention?: DefaultRetention; constructor(properties: ObjectLockRule); } export declare class TopicConfiguration { Event: Value<string>; Filter?: NotificationFilter; Topic: Value<string>; constructor(properties: TopicConfiguration); } export declare class CorsRule { AllowedHeaders?: List<Value<string>>; AllowedMethods: List<Value<string>>; AllowedOrigins: List<Value<string>>; ExposedHeaders?: List<Value<string>>; Id?: Value<string>; MaxAge?: Value<number>; constructor(properties: CorsRule); } export declare class S3KeyFilter { Rules: List<FilterRule>; constructor(properties: S3KeyFilter); } export declare class ReplicationConfiguration { Role: Value<string>; Rules: List<ReplicationRule>; constructor(properties: ReplicationConfiguration); } export declare class AccelerateConfiguration { AccelerationStatus: Value<string>; constructor(properties: AccelerateConfiguration); } export declare class LifecycleConfiguration { Rules: List<Rule>; constructor(properties: LifecycleConfiguration); } export declare class BucketEncryption { ServerSideEncryptionConfiguration: List<ServerSideEncryptionRule>; constructor(properties: BucketEncryption); } export declare class AnalyticsConfiguration { Id: Value<string>; Prefix?: Value<string>; StorageClassAnalysis: StorageClassAnalysis; TagFilters?: List<TagFilter>; constructor(properties: AnalyticsConfiguration); } export declare class NoncurrentVersionTransition { StorageClass: Value<string>; TransitionInDays: Value<number>; constructor(properties: NoncurrentVersionTransition); } export declare class MetricsConfiguration { Id: Value<string>; Prefix?: Value<string>; TagFilters?: List<TagFilter>; constructor(properties: MetricsConfiguration); } export declare class FilterRule { Name: Value<string>; Value: Value<string>; constructor(properties: FilterRule); } export declare class RoutingRule { RedirectRule: RedirectRule; RoutingRuleCondition?: RoutingRuleCondition; constructor(properties: RoutingRule); } export declare class Transition { StorageClass: Value<string>; TransitionDate?: Value<string>; TransitionInDays?: Value<number>; constructor(properties: Transition); } export declare class PublicAccessBlockConfiguration { BlockPublicAcls?: Value<boolean>; BlockPublicPolicy?: Value<boolean>; IgnorePublicAcls?: Value<boolean>; RestrictPublicBuckets?: Value<boolean>; constructor(properties: PublicAccessBlockConfiguration); } export declare class RedirectAllRequestsTo { HostName: Value<string>; Protocol?: Value<string>; constructor(properties: RedirectAllRequestsTo); } export declare class LoggingConfiguration { DestinationBucketName?: Value<string>; LogFilePrefix?: Value<string>; constructor(properties: LoggingConfiguration); } export declare class RedirectRule { HostName?: Value<string>; HttpRedirectCode?: Value<string>; Protocol?: Value<string>; ReplaceKeyPrefixWith?: Value<string>; ReplaceKeyWith?: Value<string>; constructor(properties: RedirectRule); } export declare class AccessControlTranslation { Owner: Value<string>; constructor(properties: AccessControlTranslation); } export interface BucketProperties { MetricsConfigurations?: List<MetricsConfiguration>; AnalyticsConfigurations?: List<AnalyticsConfiguration>; CorsConfiguration?: CorsConfiguration; ReplicationConfiguration?: ReplicationConfiguration; NotificationConfiguration?: NotificationConfiguration; VersioningConfiguration?: VersioningConfiguration; LifecycleConfiguration?: LifecycleConfiguration; ObjectLockConfiguration?: ObjectLockConfiguration; BucketEncryption?: BucketEncryption; BucketName?: Value<string>; PublicAccessBlockConfiguration?: PublicAccessBlockConfiguration; ObjectLockEnabled?: Value<boolean>; LoggingConfiguration?: LoggingConfiguration; Tags?: List<Inner_ResourceTag>; AccelerateConfiguration?: AccelerateConfiguration; InventoryConfigurations?: List<InventoryConfiguration>; AccessControl?: Value<string>; WebsiteConfiguration?: WebsiteConfiguration; } export default class Inner_Bucket extends ResourceBase<BucketProperties> { static ServerSideEncryptionRule: typeof ServerSideEncryptionRule; static StorageClassAnalysis: typeof StorageClassAnalysis; static RoutingRuleCondition: typeof RoutingRuleCondition; static InventoryConfiguration: typeof InventoryConfiguration; static ReplicationRule: typeof ReplicationRule; static WebsiteConfiguration: typeof WebsiteConfiguration; static CorsConfiguration: typeof CorsConfiguration; static SseKmsEncryptedObjects: typeof SseKmsEncryptedObjects; static Rule: typeof Rule; static NotificationConfiguration: typeof NotificationConfiguration; static DefaultRetention: typeof DefaultRetention; static ObjectLockConfiguration: typeof ObjectLockConfiguration; static VersioningConfiguration: typeof VersioningConfiguration; static DataExport: typeof DataExport; static AbortIncompleteMultipartUpload: typeof AbortIncompleteMultipartUpload; static ServerSideEncryptionByDefault: typeof ServerSideEncryptionByDefault; static Destination: typeof Destination; static LambdaConfiguration: typeof LambdaConfiguration; static ReplicationDestination: typeof ReplicationDestination; static SourceSelectionCriteria: typeof SourceSelectionCriteria; static NotificationFilter: typeof NotificationFilter; static TagFilter: typeof TagFilter; static QueueConfiguration: typeof QueueConfiguration; static EncryptionConfiguration: typeof EncryptionConfiguration; static ObjectLockRule: typeof ObjectLockRule; static TopicConfiguration: typeof TopicConfiguration; static CorsRule: typeof CorsRule; static S3KeyFilter: typeof S3KeyFilter; static ReplicationConfiguration: typeof ReplicationConfiguration; static AccelerateConfiguration: typeof AccelerateConfiguration; static LifecycleConfiguration: typeof LifecycleConfiguration; static BucketEncryption: typeof BucketEncryption; static AnalyticsConfiguration: typeof AnalyticsConfiguration; static NoncurrentVersionTransition: typeof NoncurrentVersionTransition; static MetricsConfiguration: typeof MetricsConfiguration; static FilterRule: typeof FilterRule; static RoutingRule: typeof RoutingRule; static Transition: typeof Transition; static PublicAccessBlockConfiguration: typeof PublicAccessBlockConfiguration; static RedirectAllRequestsTo: typeof RedirectAllRequestsTo; static LoggingConfiguration: typeof LoggingConfiguration; static RedirectRule: typeof RedirectRule; static AccessControlTranslation: typeof AccessControlTranslation; constructor(properties: BucketProperties); }