@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
312 lines (311 loc) • 11.9 kB
TypeScript
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);
}