App-FargateStack

 view release on metacpan or  search on metacpan

lib/App/FargateStack/Constants.pm  view on Meta::CPAN

Readonly::Hash our %ECS_TASK_PROFILE_TYPES => (
  web    => 'medium',
  job    => 'medium',
  daemon => 'medium',
  task   => 'tiny',
);

########################################################################
# Poll timeouts
########################################################################
Readonly::Scalar our $DEFAULT_ECS_POLL_TIME       => 5;
Readonly::Scalar our $DEFAULT_ECS_POLL_LIMIT      => 5 * 60 * 60;  # 5m
Readonly::Scalar our $ACM_REQUEST_SLEEP_TIME      => 5;
Readonly::Scalar our $DEFAULT_ALB_MAX_TRIES       => 120;
Readonly::Scalar our $DEFAULT_ALB_POLL_SLEEP_TIME => 5;

########################################################################
# CloudTrail defaults & constants
########################################################################
Readonly::Scalar our $DEFAULT_MAX_EVENTS => 5;

########################################################################
# Autoscaling defaults & constants
########################################################################
Readonly::Scalar our $DEFAULT_CPU_SCALING_LEVEL              => 60;
Readonly::Scalar our $DEFAULT_REQUESTS_SCALING_LEVEL         => 500;
Readonly::Scalar our $DEFAULT_AUTOSCALING_MIN_CAPACITY       => 1;
Readonly::Scalar our $DEFAULT_AUTOSCALING_MAX_CAPACITY       => 2;
Readonly::Scalar our $DEFAULT_AUTOSCALING_SCALE_OUT_COOLDOWN => 60;
Readonly::Scalar our $DEFAULT_AUTOSCALING_SCALE_IN_COOLDOWN  => 300;

########################################################################
# WAF defaults & constants
########################################################################
Readonly::Scalar our $WAF_AVAILABILITY_TIMEOUT    => 5 * 60;
Readonly::Scalar our $WAF_AVAILABILITY_SLEEP_TIME => 5;

Readonly::Hash our %WAF_MANAGED_RULES => (
  premium => [
    qw(
      AWSManagedRulesACFPRuleSet
      AWSManagedRulesATPRuleSet
      AWSManagedRulesBotControlRuleSet
    )
  ],
  base => [
    qw(
      AWSManagedRulesCommonRuleSet
      AWSManagedRulesAmazonIpReputationList
      AWSManagedRulesKnownBadInputsRuleSet
    )
  ],
  admin => [
    qw(
      AWSManagedRulesAdminProtectionRuleSet
    )
  ],
  linux => [
    qw(
      AWSManagedRulesLinuxRuleSet
      AWSManagedRulesUnixRuleSet
    )
  ],
  wordpress => [
    qw(
      AWSManagedRulesWordPressRuleSet
    )
  ],
  windows => [
    qw(
      AWSManagedRulesWindowsRuleSet
    )
  ],
  php => [
    qw(
      AWSManagedRulesPHPRuleSet
    )
  ],
  sql => [
    qw(
      AWSManagedRulesSQLiRuleSet
    )
  ],
  anonymous => [
    qw(
      AWSManagedRulesAnonymousIpList
    )
  ],
  ddos => [
    qw(
      AWSManagedRulesAntiDDoSRuleSet
    )
  ],
);

Readonly::Hash our %WAF_MANAGED_RULE_BUNDLES => (
  all             => [qw(base linux wordpress php windows sql admin)],
  default         => [qw(base sql)],
  'linux-app'     => [qw(base sql linux)],
  'wordpress-app' => [qw(base sql wordpress linux)],
  'windows-app'   => [qw(base sql windows)],
);

Readonly::Scalar our $WAF_RULE_STUB => <<'END_OF_STUB';
{
  "Name": "",
  "Priority": 0,
  "Statement":{
    "ManagedRuleGroupStatement": {
      "VendorName": "AWS",
      "Name": ""
    }
  },
  "OverrideAction": { "None": {} },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": ""
  }
}
END_OF_STUB



( run in 1.132 second using v1.01-cache-2.11-cpan-64ef6c95b5d )