@nolanrigo/cloudformation
Version:
TypeScript-based imperative way to define AWS CloudFormation templates
186 lines (185 loc) • 6.94 kB
TypeScript
import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List, MapOf } from "../../data-types";
export declare class OrStatementOne {
Statements: List<StatementTwo>;
constructor(properties: OrStatementOne);
}
export declare class Rule {
Name: Value<string>;
Priority: Value<number>;
Statement: StatementOne;
Action?: RuleAction;
VisibilityConfig: VisibilityConfig;
constructor(properties: Rule);
}
export declare class StatementTwo {
XssMatchStatement?: XssMatchStatement;
SqliMatchStatement?: SqliMatchStatement;
OrStatement?: OrStatementTwo;
SizeConstraintStatement?: SizeConstraintStatement;
ByteMatchStatement?: ByteMatchStatement;
AndStatement?: AndStatementTwo;
GeoMatchStatement?: GeoMatchStatement;
RateBasedStatement?: RateBasedStatementTwo;
NotStatement?: NotStatementTwo;
RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
IPSetReferenceStatement?: IPSetReferenceStatement;
constructor(properties: StatementTwo);
}
export declare class NotStatementOne {
Statement: StatementTwo;
constructor(properties: NotStatementOne);
}
export declare class RateBasedStatementOne {
Limit: Value<number>;
AggregateKeyType: Value<string>;
ScopeDownStatement?: StatementTwo;
constructor(properties: RateBasedStatementOne);
}
export declare class OrStatementTwo {
Statements: List<StatementThree>;
constructor(properties: OrStatementTwo);
}
export declare class AndStatementOne {
Statements: List<StatementTwo>;
constructor(properties: AndStatementOne);
}
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 SqliMatchStatement {
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
constructor(properties: SqliMatchStatement);
}
export declare class SizeConstraintStatement {
FieldToMatch: FieldToMatch;
ComparisonOperator: Value<string>;
Size: Value<number>;
TextTransformations: List<TextTransformation>;
constructor(properties: SizeConstraintStatement);
}
export declare class AndStatementTwo {
Statements: List<StatementThree>;
constructor(properties: AndStatementTwo);
}
export declare class StatementThree {
ByteMatchStatement?: ByteMatchStatement;
SqliMatchStatement?: SqliMatchStatement;
XssMatchStatement?: XssMatchStatement;
SizeConstraintStatement?: SizeConstraintStatement;
GeoMatchStatement?: GeoMatchStatement;
IPSetReferenceStatement?: IPSetReferenceStatement;
RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
constructor(properties: StatementThree);
}
export declare class GeoMatchStatement {
CountryCodes?: List<Value<string>>;
constructor(properties: GeoMatchStatement);
}
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 RegexPatternSetReferenceStatement {
Arn: Value<string>;
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
constructor(properties: RegexPatternSetReferenceStatement);
}
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 IPSetReferenceStatement {
Arn: Value<string>;
constructor(properties: IPSetReferenceStatement);
}
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 XssMatchStatement {
FieldToMatch: FieldToMatch;
TextTransformations: List<TextTransformation>;
constructor(properties: XssMatchStatement);
}
export declare class StatementOne {
XssMatchStatement?: XssMatchStatement;
SqliMatchStatement?: SqliMatchStatement;
OrStatement?: OrStatementOne;
SizeConstraintStatement?: SizeConstraintStatement;
ByteMatchStatement?: ByteMatchStatement;
AndStatement?: AndStatementOne;
GeoMatchStatement?: GeoMatchStatement;
RateBasedStatement?: RateBasedStatementOne;
NotStatement?: NotStatementOne;
RegexPatternSetReferenceStatement?: RegexPatternSetReferenceStatement;
IPSetReferenceStatement?: IPSetReferenceStatement;
constructor(properties: StatementOne);
}
export interface RuleGroupProperties {
Capacity: Value<number>;
Description?: Value<string>;
Name?: Value<string>;
Scope: Value<string>;
Rules?: List<Rule>;
VisibilityConfig: VisibilityConfig;
Tags?: List<Inner_ResourceTag>;
}
export default class Inner_RuleGroup extends ResourceBase<RuleGroupProperties> {
static OrStatementOne: typeof OrStatementOne;
static Rule: typeof Rule;
static StatementTwo: typeof StatementTwo;
static NotStatementOne: typeof NotStatementOne;
static RateBasedStatementOne: typeof RateBasedStatementOne;
static OrStatementTwo: typeof OrStatementTwo;
static AndStatementOne: typeof AndStatementOne;
static RateBasedStatementTwo: typeof RateBasedStatementTwo;
static NotStatementTwo: typeof NotStatementTwo;
static SqliMatchStatement: typeof SqliMatchStatement;
static SizeConstraintStatement: typeof SizeConstraintStatement;
static AndStatementTwo: typeof AndStatementTwo;
static StatementThree: typeof StatementThree;
static GeoMatchStatement: typeof GeoMatchStatement;
static FieldToMatch: typeof FieldToMatch;
static RegexPatternSetReferenceStatement: typeof RegexPatternSetReferenceStatement;
static RuleAction: typeof RuleAction;
static ByteMatchStatement: typeof ByteMatchStatement;
static IPSetReferenceStatement: typeof IPSetReferenceStatement;
static VisibilityConfig: typeof VisibilityConfig;
static TextTransformation: typeof TextTransformation;
static XssMatchStatement: typeof XssMatchStatement;
static StatementOne: typeof StatementOne;
constructor(properties: RuleGroupProperties);
}