@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
223 lines (222 loc) • 8.37 kB
TypeScript
import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class RegexPatternSetReferenceStatement {
Arn: Value<string>;
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
constructor(properties: RegexPatternSetReferenceStatement);
}
export declare class SqliMatchStatement {
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
constructor(properties: SqliMatchStatement);
}
export declare class IPSetReferenceStatement {
Arn: Value<string>;
constructor(properties: IPSetReferenceStatement);
}
export declare class ExcludedRule {
Name: Value<string>;
constructor(properties: ExcludedRule);
}
export declare class XssMatchStatement {
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
constructor(properties: XssMatchStatement);
}
export declare class RuleGroupReferenceStatement {
Arn: Value<string>;
ExcludedRules?: List<ExcludedRule>;
constructor(properties: RuleGroupReferenceStatement);
}
export declare class StatementThree {
XssMatchStatement?: XssMatchStatement;
SqliMatchStatement?: SqliMatchStatement;
RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
ManagedRuleGroupStatement?: ManagedRuleGroupStatement;
SizeConstraintStatement?: SizeConstraintStatement;
ByteMatchStatement?: ByteMatchStatement;
GeoMatchStatement?: GeoMatchStatement;
RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
IPSetReferenceStatement?: IPSetReferenceStatement;
constructor(properties: StatementThree);
}
export declare class RateBasedStatementOne {
Limit: Value<number>;
AggregateKeyType: Value<string>;
ScopeDownStatement?: StatementTwo;
constructor(properties: RateBasedStatementOne);
}
export declare class FieldToMatch {
SingleHeader?: MapOf<any>;
SingleQueryArgument?: MapOf<any>;
AllQueryArguments?: MapOf<any>;
UriPath?: MapOf<any>;
QueryString?: MapOf<any>;
Body?: MapOf<any>;
Method?: MapOf<any>;
constructor(properties: FieldToMatch);
}
export declare class NotStatementOne {
Statement: StatementTwo;
constructor(properties: NotStatementOne);
}
export declare class ManagedRuleGroupStatement {
Name: Value<string>;
VendorName: Value<string>;
ExcludedRules?: List<ExcludedRule>;
constructor(properties: ManagedRuleGroupStatement);
}
export declare class RuleAction {
Allow?: MapOf<any>;
Block?: MapOf<any>;
Count?: MapOf<any>;
constructor(properties: RuleAction);
}
export declare class ByteMatchStatement {
SearchString: Value<string>;
SearchStringBase64?: Value<string>;
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
PositionalConstraint: Value<string>;
constructor(properties: ByteMatchStatement);
}
export declare class AndStatementOne {
Statements: List<StatementTwo>;
constructor(properties: AndStatementOne);
}
export declare class VisibilityConfig {
SampledRequestsEnabled: Value<boolean>;
CloudWatchMetricsEnabled: Value<boolean>;
MetricName: Value<string>;
constructor(properties: VisibilityConfig);
}
export declare class TextTransformation {
Priority: Value<number>;
Type: Value<string>;
constructor(properties: TextTransformation);
}
export declare class RateBasedStatementTwo {
Limit: Value<number>;
AggregateKeyType: Value<string>;
ScopeDownStatement?: StatementThree;
constructor(properties: RateBasedStatementTwo);
}
export declare class NotStatementTwo {
Statement: StatementThree;
constructor(properties: NotStatementTwo);
}
export declare class SizeConstraintStatement {
FieldToMatch: FieldToMatch;
ComparisonOperator: Value<string>;
Size: Value<number>;
TextTransformations: List<TextTransformation>;
constructor(properties: SizeConstraintStatement);
}
export declare class StatementOne {
XssMatchStatement?: XssMatchStatement;
SqliMatchStatement?: SqliMatchStatement;
RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
ManagedRuleGroupStatement?: ManagedRuleGroupStatement;
OrStatement?: OrStatementOne;
SizeConstraintStatement?: SizeConstraintStatement;
ByteMatchStatement?: ByteMatchStatement;
AndStatement?: AndStatementOne;
GeoMatchStatement?: GeoMatchStatement;
RateBasedStatement?: RateBasedStatementOne;
NotStatement?: NotStatementOne;
RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
IPSetReferenceStatement?: IPSetReferenceStatement;
constructor(properties: StatementOne);
}
export declare class AndStatementTwo {
Statements: List<StatementThree>;
constructor(properties: AndStatementTwo);
}
export declare class OrStatementOne {
Statements: List<StatementTwo>;
constructor(properties: OrStatementOne);
}
export declare class Rule {
Name: Value<string>;
Priority: Value<number>;
Statement: StatementOne;
Action?: RuleAction;
OverrideAction?: OverrideAction;
VisibilityConfig: VisibilityConfig;
constructor(properties: Rule);
}
export declare class StatementTwo {
XssMatchStatement?: XssMatchStatement;
SqliMatchStatement?: SqliMatchStatement;
RuleGroupReferenceStatement?: RuleGroupReferenceStatement;
ManagedRuleGroupStatement?: ManagedRuleGroupStatement;
OrStatement?: OrStatementTwo;
SizeConstraintStatement?: SizeConstraintStatement;
ByteMatchStatement?: ByteMatchStatement;
AndStatement?: AndStatementTwo;
GeoMatchStatement?: GeoMatchStatement;
RateBasedStatement?: RateBasedStatementTwo;
NotStatement?: NotStatementTwo;
RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
IPSetReferenceStatement?: IPSetReferenceStatement;
constructor(properties: StatementTwo);
}
export declare class DefaultAction {
Allow?: MapOf<any>;
Block?: MapOf<any>;
constructor(properties: DefaultAction);
}
export declare class OrStatementTwo {
Statements: List<StatementThree>;
constructor(properties: OrStatementTwo);
}
export declare class GeoMatchStatement {
CountryCodes?: List<Value<string>>;
constructor(properties: GeoMatchStatement);
}
export declare class OverrideAction {
Count?: MapOf<any>;
None?: MapOf<any>;
constructor(properties: OverrideAction);
}
export interface WebACLProperties {
DefaultAction: DefaultAction;
Description?: Value<string>;
Name?: Value<string>;
Scope: Value<string>;
Rules?: List<Rule>;
VisibilityConfig: VisibilityConfig;
Tags?: List<Inner_ResourceTag>;
}
export default class Inner_WebACL extends ResourceBase<WebACLProperties> {
static RegexPatternSetReferenceStatement: typeof RegexPatternSetReferenceStatement;
static SqliMatchStatement: typeof SqliMatchStatement;
static IPSetReferenceStatement: typeof IPSetReferenceStatement;
static ExcludedRule: typeof ExcludedRule;
static XssMatchStatement: typeof XssMatchStatement;
static RuleGroupReferenceStatement: typeof RuleGroupReferenceStatement;
static StatementThree: typeof StatementThree;
static RateBasedStatementOne: typeof RateBasedStatementOne;
static FieldToMatch: typeof FieldToMatch;
static NotStatementOne: typeof NotStatementOne;
static ManagedRuleGroupStatement: typeof ManagedRuleGroupStatement;
static RuleAction: typeof RuleAction;
static ByteMatchStatement: typeof ByteMatchStatement;
static AndStatementOne: typeof AndStatementOne;
static VisibilityConfig: typeof VisibilityConfig;
static TextTransformation: typeof TextTransformation;
static RateBasedStatementTwo: typeof RateBasedStatementTwo;
static NotStatementTwo: typeof NotStatementTwo;
static SizeConstraintStatement: typeof SizeConstraintStatement;
static StatementOne: typeof StatementOne;
static AndStatementTwo: typeof AndStatementTwo;
static OrStatementOne: typeof OrStatementOne;
static Rule: typeof Rule;
static StatementTwo: typeof StatementTwo;
static DefaultAction: typeof DefaultAction;
static OrStatementTwo: typeof OrStatementTwo;
static GeoMatchStatement: typeof GeoMatchStatement;
static OverrideAction: typeof OverrideAction;
constructor(properties: WebACLProperties);
}