UNPKG

@nolanrigo/cloudformation

Version:

TypeScript-based imperative way to define AWS CloudFormation templates

186 lines (185 loc) 6.94 kB
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); }