Repository: salesforce/aws-allowlister (language: python)

Issue:
ssmmessages and ec2messages not included - seeking input on status with different frameworks
I'd like some feedback from others, please.  See the diffchecker between All Services vs. `aws-allowlister generate`: https://www.diffchecker.com/nXTPUgkL

Notice that `ssmmessages` and `ec2messages` is not in the policy. This could cause issues for those who rely on SSM heavily.

Relevant links: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html

If so, we need to specify those services in the overrides file. https://github.com/salesforce/aws-allowlister/blob/main/aws_allowlister/data/overrides.yml
ssmmessages and ec2messages not included - seeking input on status with different frameworks
I'd like some feedback from others, please.  See the diffchecker between All Services vs. `aws-allowlister generate`: https://www.diffchecker.com/nXTPUgkL

Notice that `ssmmessages` and `ec2messages` is not in the policy. This could cause issues for those who rely on SSM heavily.

Relevant links: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html

If so, we need to specify those services in the overrides file. https://github.com/salesforce/aws-allowlister/blob/main/aws_allowlister/data/overrides.yml


Discussion / hints:
I haven't read through all the code here (yet) but I would expect to see a "dependency" mapping. Essentially, saying that ec2 requires ec2messages, for example. The overrides file is more of a translation from one term to another (for example sdk to iam), and _could_ be (ab)used to achieve that, but you may want to be more specific about it.

Generally, people are not great at understanding the complexity of these relationships, and you'd want to build them straight into the tool. (my $0.02)
@yi2020 - I think the overrides file somewhat achieves that. 

https://github.com/salesforce/aws-allowlister/blob/main/aws_allowlister/data/overrides.yml#L6-L27

For instance: 

```yaml
service_names_to_iam_names:
  Amazon Elastic Compute Cloud:
  - ec2
  - ec2messages
sdk_names_to_iam_names:
  ssm:
  - ssm
  - ssm-messages
```

Something like that. I'm thinking we should do something like the example YAML that I included above.

> could be (ab)used to achieve that 

We don't provide the ability to use your own overrides file for that very reason - the idea is that you could make a PR or maintain your own fork if you felt strongly about it.

**Edit**: If someone still wanted a service added on anyway, they could include it with the `--include` flag. This is especially useful if you were able to get AWS to let you use `zelkova` directly
@jdyke FYI
In `sdk_names_to_iam_names`, don't you also need to add `ec2messages` under `ec2`?
I think the overrides file handles this fairly well for the collection of features of the various services and their mappings... there are additional overrides that are going to appear over time as new features are added.  `ec2messages` and `ssmmessages` are good examples.  

Another decent example is moving `rds-data` from Global to Aurora (since this if for the Aurora Serverless Data API).  Let people file a PR (or fork it as you said) to fix these things as they come up. 
@AMHesch - for `rds-data`: thanks for pointing that out. I will open up a separate issue to change that one
@yi2020 yep, I will.

Do you think I should add `ssmmessages` as well?
Technically `ssmmessages` would be if using `ssm` right? Are you suggesting adding it for `ec2`?
I agree with whats been stated here, I see the override file working nicely for that purpose
I haven't read through all the code here (yet) but I would expect to see a "dependency" mapping. Essentially, saying that ec2 requires ec2messages, for example. The overrides file is more of a translation from one term to another (for example sdk to iam), and _could_ be (ab)used to achieve that, but you may want to be more specific about it.

Generally, people are not great at understanding the complexity of these relationships, and you'd want to build them straight into the tool. (my $0.02)
@yi2020 - I think the overrides file somewhat achieves that. 

https://github.com/salesforce/aws-allowlister/blob/main/aws_allowlister/data/overrides.yml#L6-L27

For instance: 

```yaml
service_names_to_iam_names:
  Amazon Elastic Compute Cloud:
  - ec2
  - ec2messages
sdk_names_to_iam_names:
  ssm:
  - ssm
  - ssm-messages
```

Something like that. I'm thinking we should do something like the example YAML that I included above.

> could be (ab)used to achieve that 

We don't provide the ability to use your own overrides file for that very reason - the idea is that you could make a PR or maintain your own fork if you felt strongly about it.

**Edit**: If someone still wanted a service added on anyway, they could include it with the `--include` flag. This is especially useful if you were able to get AWS to let you use `zelkova` directly
@jdyke FYI
In `sdk_names_to_iam_names`, don't you also need to add `ec2messages` under `ec2`?
I think the overrides file handles this fairly well for the collection of features of the various services and their mappings... there are additional overrides that are going to appear over time as new features are added.  `ec2messages` and `ssmmessages` are good examples.  

Another decent example is moving `rds-data` from Global to Aurora (since this if for the Aurora Serverless Data API).  Let people file a PR (or fork it as you said) to fix these things as they come up. 
@AMHesch - for `rds-data`: thanks for pointing that out. I will open up a separate issue to change that one
@yi2020 yep, I will.

Do you think I should add `ssmmessages` as well?
Technically `ssmmessages` would be if using `ssm` right? Are you suggesting adding it for `ec2`?
I agree with whats been stated here, I see the override file working nicely for that purpose

Fix patch:
diff --git a/aws_allowlister/bin/version.py b/aws_allowlister/bin/version.py
index ae73625..bbab024 100644
--- a/aws_allowlister/bin/version.py
+++ b/aws_allowlister/bin/version.py
@@ -1,1 +1,1 @@
-__version__ = "0.1.3"
+__version__ = "0.1.4"
diff --git a/aws_allowlister/data/compliance.db b/aws_allowlister/data/compliance.db
index 2a88c25..9d50fdb 100644
Binary files a/aws_allowlister/data/compliance.db and b/aws_allowlister/data/compliance.db differ
diff --git a/aws_allowlister/data/compliance_statuses.csv b/aws_allowlister/data/compliance_statuses.csv
index 62c250e..172bec5 100644
--- a/aws_allowlister/data/compliance_statuses.csv
+++ b/aws_allowlister/data/compliance_statuses.csv
@@ -28,7 +28,7 @@ aws-marketplace,AWS Private Marketplace,,,,,,true,,,,
 aws-marketplace-management,AWS Marketplace Management Portal,,,,,,true,,,,
 aws-portal,AWS Billing,true,true,true,true,true,true,,true,true,true
 awsconnector,AWS Connector Service,,,,,,,,,,
-backup,AWS Backup,true,true,true,,,true,,,true,true
+backup,AWS Backup,true,true,true,,,true,,true,true,true
 backup-storage,AWS Backup storage,,,,,,,,,,
 batch,AWS Batch,true,true,true,true,true,true,,true,true,true
 braket,Amazon Braket,,,,,,,,,,
@@ -53,7 +53,7 @@ codedeploy,AWS CodeDeploy,true,true,true,true,true,true,,true,true,true
 codeguru,Amazon CodeGuru,,,,,,,,,,
 codeguru-profiler,Amazon CodeGuru Profiler,,,,,,,,,,
 codeguru-reviewer,Amazon CodeGuru Reviewer,,,,,,,,,,
-codepipeline,AWS CodePipeline,true,true,true,,,true,,,true,true
+codepipeline,AWS CodePipeline,true,true,true,,,true,,true,true,true
 codestar,AWS CodeStar,,,true,,,,,,,
 codestar-connections,AWS CodeStar Connections,,,true,,,,,,,
 codestar-notifications,AWS CodeStar Notifications,,,true,,,,,,,
@@ -87,7 +87,7 @@ dynamodb,Amazon DynamoDB,true,true,true,true,true,true,,true,true,true
 ebs,Amazon Elastic Block Store,true,true,true,true,true,true,,true,true,true
 ec2,Amazon EC2,true,true,true,true,true,true,,true,true,true
 ec2-instance-connect,Amazon EC2 Instance Connect,,,,,,,,,,
-ec2messages,Amazon Message Delivery Service,,,,,,,,,,
+ec2messages,Amazon Message Delivery Service,true,true,true,true,true,true,,true,true,true
 ecr,Amazon Elastic Container Registry,true,true,true,true,true,true,,true,true,true
 ecr-public,Amazon Elastic Container Registry Public,,,,,,,,,,
 ecs,Amazon Elastic Container Service,true,true,true,true,true,true,,true,true,true
@@ -157,8 +157,8 @@ lightsail,Amazon Lightsail,,,,,,,,,,
 logs,Amazon CloudWatch Logs,true,true,true,true,true,true,,true,,true
 lookoutvision,Amazon Lookout for Vision,,,,,,,,,,
 machinelearning,Amazon Machine Learning,,,,,,,,,,
-macie,Amazon Macie Classic,true,true,true,true,true,true,,,,true
-macie2,Amazon Macie,true,true,true,true,true,true,,,,true
+macie,Amazon Macie Classic,true,true,true,true,true,true,,true,,true
+macie2,Amazon Macie,true,true,true,true,true,true,,true,,true
 managedblockchain,Amazon Managed Blockchain,,,,,,,,,,
 marketplacecommerceanalytics,AWS Marketplace Commerce Analytics Service,,,,,,,,,,
 mechanicalturk,Amazon Mechanical Turk,,,,,,,,,,
@@ -226,7 +226,7 @@ snowball,AWS Snowball,true,true,true,true,true,true,,,true,true
 sns,Amazon SNS,true,true,true,true,true,true,,true,true,true
 sqs,Amazon SQS,true,true,true,true,true,true,,true,true,true
 ssm,AWS Systems Manager,true,true,true,true,true,true,,true,true,true
-ssmmessages,Amazon Session Manager Message Gateway Service,,,,,,,,,,
+ssmmessages,Amazon Session Manager Message Gateway Service,true,true,true,true,true,true,,true,true,true
 sso,AWS SSO,,,true,,,,,,,
 sso-directory,AWS SSO Directory,,,true,,,,,,,
 states,AWS Step Functions,true,true,true,true,true,true,,true,true,true
@@ -253,6 +253,6 @@ worklink,Amazon WorkLink,true,true,true,,,true,,,,true
 workmail,Amazon WorkMail,true,,true,,,,,,,true
 workmailmessageflow,Amazon WorkMail Message Flow,,,,,,,,,,
 workspaces,Amazon WorkSpaces,true,true,true,true,true,true,,true,true,true
-xray,AWS X-Ray,true,true,true,,,true,,,true,true
+xray,AWS X-Ray,true,true,true,,,true,,true,true,true
 msk,,,,true,,,true,,,,
 healthlake,,,,,,,true,,,,
diff --git a/aws_allowlister/data/compliance_statuses.xlsx b/aws_allowlister/data/compliance_statuses.xlsx
index b19f3e8..003494e 100644
Binary files a/aws_allowlister/data/compliance_statuses.xlsx and b/aws_allowlister/data/compliance_statuses.xlsx differ
diff --git a/aws_allowlister/data/hipaa-eligible-services-reference.html b/aws_allowlister/data/hipaa-eligible-services-reference.html
index 0d81b53..1426b42 100644
--- a/aws_allowlister/data/hipaa-eligible-services-reference.html
+++ b/aws_allowlister/data/hipaa-eligible-services-reference.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js aws-lng-en_US aws-with-target" data-css-version="1.0.371" data-js-version="1.0.368" data-static-assets="https://a0.awsstatic.com" lang="en-US">
+<html class="no-js aws-lng-en_US aws-with-target" data-css-version="1.0.373" data-js-version="1.0.372" data-static-assets="https://a0.awsstatic.com" lang="en-US">
  <head>
   <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
   <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
@@ -50,7 +50,7 @@
   <meta content="Amazon Web Services, Inc." property="og:site_name"/>
   <meta content="XHghG81ulgiW-3EylGcF48sG28tBW5EH0bNUhgo_DrU" name="google-site-verification"/>
   <meta content="6F92E52A288E266E30C2797ECB5FCCF3" name="msvalidate.01"/>
-  <link href="https://a0.awsstatic.com/libra-css/css/1.0.371/style-awsm.css" rel="stylesheet"/>
+  <link href="https://a0.awsstatic.com/libra-css/css/1.0.373/style-awsm.css" rel="stylesheet"/>
   <script>
    var AWS = {
     PageSettings: {
@@ -60,9 +60,9 @@
       logInstance: 'PUB',
       csdsEndpoint: 'https://aws.amazon.com/',
       framework: 'v2',
-      g11nLibPath: 'https://a0.awsstatic.com/g11n-lib/2.0.62',
+      g11nLibPath: 'https://a0.awsstatic.com/g11n-lib/2.0.63',
       i18nStringPath: 'https://i18n-string.us-west-2.prod.pricing.aws.a2z.com',
-      libraCSSPath: 'https://a0.awsstatic.com/libra-css/css/1.0.371',
+      libraCSSPath: 'https://a0.awsstatic.com/libra-css/css/1.0.373',
       libraCSSImagePath: 'https://a0.awsstatic.com/libra-css/images',
       isLoggingEnabled: true,
       currentLanguage: 'en-US',
@@ -74,15 +74,15 @@
   var require = {
     baseUrl: 'https://a0.awsstatic.com',
     packages: [
-      { name: 'libra', location: 'libra/1.0.368' }
+      { name: 'libra', location: 'libra/1.0.372' }
     ],
     paths: {
-      "directories": "https://a0.awsstatic.com/libra/1.0.368/directories",
-      "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.368/libra-cardsui",
-      "librastandardlib": "https://a0.awsstatic.com/libra/1.0.368/librastandardlib",
+      "directories": "https://a0.awsstatic.com/libra/1.0.372/directories",
+      "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.372/libra-cardsui",
+      "librastandardlib": "https://a0.awsstatic.com/libra/1.0.372/librastandardlib",
       "aws-blog": "https://a0.awsstatic.com/aws-blog/1.0.34/js",
-      "plc": "https://a0.awsstatic.com/plc/js/1.0.106/plc",
-      "scripts": "libra/1.0.368/v1-polyfills/scripts",
+      "plc": "https://a0.awsstatic.com/plc/js/1.0.107/plc",
+      "scripts": "libra/1.0.372/v1-polyfills/scripts",
       "psf": "https://a0.awsstatic.com/psf/null",
       "libra-search": "https://a0.awsstatic.com/libra-search/1.0.13/js",
       "pricing-calculator": "https://a0.awsstatic.com/pricing-calculator/js/1.0.2",
@@ -91,7 +91,7 @@
     waitSeconds: 15
   };
   </script>
-  <script src="https://a0.awsstatic.com/libra/1.0.368/libra-head.js">
+  <script src="https://a0.awsstatic.com/libra/1.0.372/libra-head.js">
   </script>
   <script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js">
   </script>
@@ -1465,6 +1465,6 @@ <h3 class="lb-txt-none lb-txt-p-chromium lb-tiny-v-margin lb-h3 lb-title" id="He
     jQuery = $ = undefined;
   }
   </script>
-  <!-- cms_updated_at: 2021-01-20T10:33:17.225-0800 -->
+  <!-- cms_updated_at: 2021-02-05T16:14:54.421-0800 -->
  </body>
 </html>
\ No newline at end of file
diff --git a/aws_allowlister/data/iso-certified.html b/aws_allowlister/data/iso-certified.html
index d5398aa..4bbbc8a 100644
--- a/aws_allowlister/data/iso-certified.html
+++ b/aws_allowlister/data/iso-certified.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js aws-lng-en_US aws-with-target" data-css-version="1.0.371" data-js-version="1.0.368" data-static-assets="https://a0.awsstatic.com" lang="en-US">
+<html class="no-js aws-lng-en_US aws-with-target" data-css-version="1.0.373" data-js-version="1.0.372" data-static-assets="https://a0.awsstatic.com" lang="en-US">
  <head>
   <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
   <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
@@ -49,7 +49,7 @@
   <meta content="Amazon Web Services, Inc." property="og:site_name"/>
   <meta content="XHghG81ulgiW-3EylGcF48sG28tBW5EH0bNUhgo_DrU" name="google-site-verification"/>
   <meta content="6F92E52A288E266E30C2797ECB5FCCF3" name="msvalidate.01"/>
-  <link href="https://a0.awsstatic.com/libra-css/css/1.0.371/style-awsm.css" rel="stylesheet"/>
+  <link href="https://a0.awsstatic.com/libra-css/css/1.0.373/style-awsm.css" rel="stylesheet"/>
   <script>
    var AWS = {
     PageSettings: {
@@ -59,9 +59,9 @@
       logInstance: 'PUB',
       csdsEndpoint: 'https://aws.amazon.com/',
       framework: 'v2',
-      g11nLibPath: 'https://a0.awsstatic.com/g11n-lib/2.0.62',
+      g11nLibPath: 'https://a0.awsstatic.com/g11n-lib/2.0.63',
       i18nStringPath: 'https://i18n-string.us-west-2.prod.pricing.aws.a2z.com',
-      libraCSSPath: 'https://a0.awsstatic.com/libra-css/css/1.0.371',
+      libraCSSPath: 'https://a0.awsstatic.com/libra-css/css/1.0.373',
       libraCSSImagePath: 'https://a0.awsstatic.com/libra-css/images',
       isLoggingEnabled: true,
       currentLanguage: 'en-US',
@@ -73,15 +73,15 @@
   var require = {
     baseUrl: 'https://a0.awsstatic.com',
     packages: [
-      { name: 'libra', location: 'libra/1.0.368' }
+      { name: 'libra', location: 'libra/1.0.372' }
     ],
     paths: {
-      "directories": "https://a0.awsstatic.com/libra/1.0.368/directories",
-      "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.368/libra-cardsui",
-      "librastandardlib": "https://a0.awsstatic.com/libra/1.0.368/librastandardlib",
+      "directories": "https://a0.awsstatic.com/libra/1.0.372/directories",
+      "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.372/libra-cardsui",
+      "librastandardlib": "https://a0.awsstatic.com/libra/1.0.372/librastandardlib",
       "aws-blog": "https://a0.awsstatic.com/aws-blog/1.0.34/js",
-      "plc": "https://a0.awsstatic.com/plc/js/1.0.106/plc",
-      "scripts": "libra/1.0.368/v1-polyfills/scripts",
+      "plc": "https://a0.awsstatic.com/plc/js/1.0.107/plc",
+      "scripts": "libra/1.0.372/v1-polyfills/scripts",
       "psf": "https://a0.awsstatic.com/psf/null",
       "libra-search": "https://a0.awsstatic.com/libra-search/1.0.13/js",
       "pricing-calculator": "https://a0.awsstatic.com/pricing-calculator/js/1.0.2",
@@ -90,7 +90,7 @@
     waitSeconds: 15
   };
   </script>
-  <script src="https://a0.awsstatic.com/libra/1.0.368/libra-head.js">
+  <script src="https://a0.awsstatic.com/libra/1.0.372/libra-head.js">
   </script>
   <script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js">
   </script>
@@ -2223,6 +2223,6 @@ <h3 class="lb-txt-none lb-txt-p-chromium lb-tiny-v-margin lb-h3 lb-title" id="He
     jQuery = $ = undefined;
   }
   </script>
-  <!-- cms_updated_at: 2021-01-18T19:46:42.280-0800 -->
+  <!-- cms_updated_at: 2021-02-05T16:12:37.007-0800 -->
  </body>
 </html>
\ No newline at end of file
diff --git a/aws_allowlister/data/overrides.yml b/aws_allowlister/data/overrides.yml
index d54af36..469762e 100644
--- a/aws_allowlister/data/overrides.yml
+++ b/aws_allowlister/data/overrides.yml
@@ -140,6 +140,10 @@ service_names_to_iam_names:
     - firehose
   Elastic Load Balancer:
     - elasticloadbalancing
+  AWS Systems Manager:
+    - ssm
+    - ssmmessages
+    - ec2messages
 
 # ---------------------------------------------------------------------------------------------------------------------
 # Section 2: "SDK name means IAM names"
@@ -176,6 +180,11 @@ sdk_names_to_iam_names:
   macie2:
     - macie
     - macie2
+  ssm:
+    - ssm
+    - ssmmessages
+    # Ec2messages is required for SSM Agent: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-setting-up-messageAPIs.html
+    - ec2messages
 
 # ---------------------------------------------------------------------------------------------------------------------
 # Section 3: Global inserts
diff --git a/aws_allowlister/data/services-in-scope.html b/aws_allowlister/data/services-in-scope.html
index e94da08..2aa19cf 100644
--- a/aws_allowlister/data/services-in-scope.html
+++ b/aws_allowlister/data/services-in-scope.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js aws-v1-page aws-lng-en_US aws-with-target" data-aws-assets="https://a0.awsstatic.com" data-css-version="1.0.505" data-js-version="1.0.554" lang="en-US">
+<html class="no-js aws-v1-page aws-lng-en_US aws-with-target" data-aws-assets="https://a0.awsstatic.com" data-css-version="1.0.508" data-js-version="1.0.558" lang="en-US">
  <head>
   <meta content="text/html; charset=utf-8" http-equiv="content-type"/>
   <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
@@ -49,7 +49,7 @@
   <meta content="Amazon Web Services, Inc." property="og:site_name"/>
   <meta content="XHghG81ulgiW-3EylGcF48sG28tBW5EH0bNUhgo_DrU" name="google-site-verification"/>
   <meta content="6F92E52A288E266E30C2797ECB5FCCF3" name="msvalidate.01"/>
-  <link href="https://a0.awsstatic.com/main/css/1.0.505/style.css" rel="stylesheet"/>
+  <link href="https://a0.awsstatic.com/main/css/1.0.508/style.css" rel="stylesheet"/>
   <script>
    var AWS = {
     PageSettings: {
@@ -59,9 +59,9 @@
       logInstance: 'PUB',
       csdsEndpoint: 'https://aws.amazon.com/',
       framework: 'v1',
-      g11nLibPath: 'https://a0.awsstatic.com/g11n-lib/2.0.62',
+      g11nLibPath: 'https://a0.awsstatic.com/g11n-lib/2.0.63',
       i18nStringPath: 'https://i18n-string.us-west-2.prod.pricing.aws.a2z.com',
-      libraCSSPath: 'https://a0.awsstatic.com/libra-css/css/1.0.371',
+      libraCSSPath: 'https://a0.awsstatic.com/libra-css/css/1.0.373',
       isLoggingEnabled: true,
       currentLanguage: 'en-US',
       isRTL: false
@@ -69,14 +69,14 @@
   };
 
   var require = {
-    baseUrl: 'https://a0.awsstatic.com/chrome/js/1.0.554',
+    baseUrl: 'https://a0.awsstatic.com/chrome/js/1.0.558',
     paths: {
       "jquery": "jquery-amd",
-      "directories": "https://a0.awsstatic.com/libra/1.0.368/directories",
-      "libra": "https://a0.awsstatic.com/libra/1.0.368",
-      "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.368/libra-cardsui",
-      "librastandardlib": "https://a0.awsstatic.com/libra/1.0.368/librastandardlib",
-      "plc": "https://a0.awsstatic.com/plc/js/1.0.106/plc",
+      "directories": "https://a0.awsstatic.com/libra/1.0.372/directories",
+      "libra": "https://a0.awsstatic.com/libra/1.0.372",
+      "libra-cardsui": "https://a0.awsstatic.com/libra/1.0.372/libra-cardsui",
+      "librastandardlib": "https://a0.awsstatic.com/libra/1.0.372/librastandardlib",
+      "plc": "https://a0.awsstatic.com/plc/js/1.0.107/plc",
       "psf": "https://a0.awsstatic.com/psf/null"
     },
     deps: ["scripts"],
@@ -101,7 +101,7 @@
     waitSeconds: 15
   };
   </script>
-  <script src="https://a0.awsstatic.com/chrome/js/1.0.554/head.2.0.js">
+  <script src="https://a0.awsstatic.com/chrome/js/1.0.558/head.2.0.js">
   </script>
   <script src="https://a0.awsstatic.com/s_code/js/3.0/awshome_s_code.js">
   </script>
@@ -716,77 +716,77 @@ <h1 class="title-xl" id="AWS_Services_in_Scope_by_Compliance_Program">
            </p>
           </div>
          </div>
-         <div class="content-expander offset-large expander-menu-nav-tab-legacy expander-menu-top clearfix" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560">
+         <div class="content-expander offset-large expander-menu-nav-tab-legacy expander-menu-top clearfix" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb">
           <div class="content-expander-menu expander-menu-100 expander-menu-content-top expander-menu-copy-center">
            <div class="expander-menu">
             <ul>
              <li class="active">
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-1" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-1" data-toggle="tab">
                SOC
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-2" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-2" data-toggle="tab">
                PCI
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-3" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-3" data-toggle="tab">
                ISO
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-4" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-4" data-toggle="tab">
                FedRAMP
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-5" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-5" data-toggle="tab">
                DoD CC SRG
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-6" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-6" data-toggle="tab">
                HIPAA BAA
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-7" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-7" data-toggle="tab">
                IRAP
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-8" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-8" data-toggle="tab">
                MTCS
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-9" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-9" data-toggle="tab">
                C5
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-10" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-10" data-toggle="tab">
                K-ISMS
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-11" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-11" data-toggle="tab">
                ENS High
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-12" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-12" data-toggle="tab">
                OSPAR
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-13" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-13" data-toggle="tab">
                HITRUST CSF
               </a>
              </li>
              <li>
-              <a data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-14" data-toggle="tab">
+              <a data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-14" data-toggle="tab">
                FINMA
               </a>
              </li>
@@ -795,14 +795,14 @@ <h1 class="title-xl" id="AWS_Services_in_Scope_by_Compliance_Program">
           </div>
           <div class="content-expander-content expander-content-padding-0">
            <ul class="content-wrapper">
-            <li class="content-item active" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-1">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-1" data-toggle="tab">
+            <li class="content-item active" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-1">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-1" data-toggle="tab">
               SOC
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-85d715c9-6671-4caa-9983-027e08b7867b">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-175d8912-ab4f-45a9-bdf5-1fe3ad8e81b5">
                <table border="0" cellpadding="1" cellspacing="0" width="100%">
                 <tbody>
                  <tr>
@@ -2699,19 +2699,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-85d715c9-6671-4caa-9983-027e08b7867b'));
+    new AWSTable($('#aws-element-175d8912-ab4f-45a9-bdf5-1fe3ad8e81b5'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-2">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-2" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-2">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-2" data-toggle="tab">
               PCI
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-499c5d69-55d6-446b-9edc-e01022113c04">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-b3d7cff9-74e9-452b-8c15-cf238bcb245a">
                <table border="0" cellpadding="1" cellspacing="0" width="100%">
                 <tbody>
                  <tr>
@@ -5015,47 +5015,39 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-499c5d69-55d6-446b-9edc-e01022113c04'));
+    new AWSTable($('#aws-element-b3d7cff9-74e9-452b-8c15-cf238bcb245a'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-3">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-3" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-3">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-3" data-toggle="tab">
               ISO
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-d6255067-e171-468e-aaef-193da0d24ec3">
-               <p>
-                <a adhocenable="false" href="/compliance/iso-certified/" target="_blank">
-                 <b>
-                  Go to the full list of services covered under our ISO certificates
-                 </b>
-                </a>
-                .
-               </p>
+              <div class="aws-text-box">
+               <div>
+                <p>
+                 <a href="/compliance/iso-certified/">
+                  <b>
+                   Go to the full list of services covered under our ISO certificates.
+                  </b>
+                 </a>
+                </p>
+               </div>
               </div>
-              <script>
-               require([
-    'jquery',
-    'plugins/aws-table',
-    'scripts'
-  ], function($, AWSTable) {
-    new AWSTable($('#aws-element-d6255067-e171-468e-aaef-193da0d24ec3'));
-  });
-              </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-4">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-4" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-4">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-4" data-toggle="tab">
               FedRAMP
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table offset-nopad" data-is-sticky-header="true" id="aws-element-b52aab55-d310-4a5a-a85b-1cc8bdd94ed1">
+              <div class="aws-table offset-nopad" data-is-sticky-header="true" id="aws-element-0906b880-2ccb-4ecc-b690-49151c68210c">
                <p>
                </p>
                <p>
@@ -5331,10 +5323,10 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </a>
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -6568,7 +6560,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                   <td>
                    <b>
                     <a adhocenable="false" href="/opsworks/">
-                     AWS Opsworks
+                     AWS OpsWorks
                     </a>
                    </b>
                    (
@@ -6582,8 +6574,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    )
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -6616,11 +6607,10 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -6634,7 +6624,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -6907,12 +6897,10 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -6993,7 +6981,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-b52aab55-d310-4a5a-a85b-1cc8bdd94ed1'));
+    new AWSTable($('#aws-element-0906b880-2ccb-4ecc-b690-49151c68210c'));
   });
               </script>
               <div class="aws-text-box">
@@ -7005,14 +6993,14 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
               </div>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-5">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-5" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-5">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-5" data-toggle="tab">
               DoD CC SRG
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-c1da6e1a-fa20-44c8-821b-0feca7814e29">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-aa1d0ec5-cea5-499a-941a-55d5f17e4ca6">
                <p style="margin-left: 40.0px;">
                </p>
                <p>
@@ -7394,20 +7382,16 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -9124,7 +9108,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    )
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -9144,16 +9128,16 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
                    ✓
@@ -9192,7 +9176,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -9564,20 +9548,16 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    </b>
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
-                   3PAO Assessment
-                   <br/>
+                   JAB Review
                   </td>
                   <td>
                   </td>
@@ -9639,19 +9619,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-c1da6e1a-fa20-44c8-821b-0feca7814e29'));
+    new AWSTable($('#aws-element-aa1d0ec5-cea5-499a-941a-55d5f17e4ca6'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-6">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-6" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-6">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-6" data-toggle="tab">
               HIPAA BAA
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-9a966f46-e1d5-460f-aaf0-842f854c43ac">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-9e7513f3-78b3-4e03-bb36-81a43ab34b68">
                <table border="0" cellpadding="1" cellspacing="0" width="100%">
                 <tbody>
                  <tr>
@@ -11293,20 +11273,20 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-9a966f46-e1d5-460f-aaf0-842f854c43ac'));
+    new AWSTable($('#aws-element-9e7513f3-78b3-4e03-bb36-81a43ab34b68'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-7">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-7" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-7">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-7" data-toggle="tab">
               IRAP
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="false" id="aws-element-3af656a1-3e53-4389-a8eb-586cce8a1f97">
-               <table border="0" cellpadding="1" cellspacing="0" height="1263" jcr:primarytype="nt:unstructured" width="438">
+              <div class="aws-table" data-is-sticky-header="false" id="aws-element-52e985b6-c6d5-423c-8f72-3637f149275e">
+               <table border="0" cellpadding="1" cellspacing="0" height="1263" width="438">
                 <tbody>
                  <tr>
                   <th style="text-align: center;" valign="middle" width="150">
@@ -11787,6 +11767,21 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    ✓
                   </td>
                  </tr>
+                 <tr>
+                  <td>
+                   <b>
+                    <a href="/macie/">
+                     Amazon Macie
+                    </a>
+                   </b>
+                  </td>
+                  <td>
+                   macie
+                  </td>
+                  <td>
+                   ✓
+                  </td>
+                 </tr>
                  <tr>
                   <td>
                    <b>
@@ -12102,6 +12097,21 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    ✓
                   </td>
                  </tr>
+                 <tr>
+                  <td>
+                   <b>
+                    <a href="/backup/">
+                     AWS Backup
+                    </a>
+                   </b>
+                  </td>
+                  <td>
+                   backup
+                  </td>
+                  <td>
+                   ✓
+                  </td>
+                 </tr>
                  <tr>
                   <td>
                    <b>
@@ -12222,6 +12232,21 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    ✓
                   </td>
                  </tr>
+                 <tr>
+                  <td>
+                   <b>
+                    <a href="/codepipeline/">
+                     AWS CodePipeline
+                    </a>
+                   </b>
+                  </td>
+                  <td>
+                   codepipeline
+                  </td>
+                  <td>
+                   ✓
+                  </td>
+                 </tr>
                  <tr>
                   <td height="19">
                    <a href="https://aws.amazon.com/config/">
@@ -12237,6 +12262,21 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    ✓
                   </td>
                  </tr>
+                 <tr>
+                  <td>
+                   <b>
+                    <a href="/controltower/">
+                     AWS Control Tower
+                    </a>
+                   </b>
+                  </td>
+                  <td>
+                   controltower
+                  </td>
+                  <td>
+                   ✓
+                  </td>
+                 </tr>
                  <tr>
                   <td height="19">
                    <b>
@@ -12672,6 +12712,21 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
                    ✓
                   </td>
                  </tr>
+                 <tr>
+                  <td>
+                   <b>
+                    <a href="/xray/">
+                     AWS X-Ray
+                    </a>
+                   </b>
+                  </td>
+                  <td>
+                   xray
+                  </td>
+                  <td>
+                   ✓
+                  </td>
+                 </tr>
                  <tr>
                   <td height="19">
                    <a href="https://aws.amazon.com/elasticloadbalancing/">
@@ -12710,7 +12765,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-3af656a1-3e53-4389-a8eb-586cce8a1f97'));
+    new AWSTable($('#aws-element-52e985b6-c6d5-423c-8f72-3637f149275e'));
   });
               </script>
               <div class="aws-text-box">
@@ -12728,14 +12783,14 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
               </div>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-8">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-8" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-8">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-8" data-toggle="tab">
               MTCS
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-126f5c21-f998-4f8b-b93b-1902ca22694d">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-5d8efd35-533b-4e17-95f5-acb426162ff0">
                <table border="0" cellpadding="1" cellspacing="0" jcr:primarytype="nt:unstructured" width="100%">
                 <tbody>
                  <tr>
@@ -16662,19 +16717,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-126f5c21-f998-4f8b-b93b-1902ca22694d'));
+    new AWSTable($('#aws-element-5d8efd35-533b-4e17-95f5-acb426162ff0'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-9">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-9" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-9">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-9" data-toggle="tab">
               C5
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-269099eb-8fab-469b-b12a-861dff6d5a09">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-658e2a89-0be8-40f0-a749-f526d50f71d0">
                <table border="0" cellpadding="1" cellspacing="0" jcr:primarytype="nt:unstructured" width="100%">
                 <tbody>
                  <tr>
@@ -17924,7 +17979,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-269099eb-8fab-469b-b12a-861dff6d5a09'));
+    new AWSTable($('#aws-element-658e2a89-0be8-40f0-a749-f526d50f71d0'));
   });
               </script>
               <div class="aws-text-box">
@@ -17942,14 +17997,14 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
               </div>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-10">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-10" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-10">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-10" data-toggle="tab">
               K-ISMS
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-b800690d-498a-4beb-84c9-e3fcd3040045">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-4c9fd8bf-48a5-4141-8b99-cdf969ea0f82">
                <table border="0" cellpadding="1" cellspacing="0" width="100%">
                 <tbody>
                  <tr>
@@ -19299,19 +19354,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-b800690d-498a-4beb-84c9-e3fcd3040045'));
+    new AWSTable($('#aws-element-4c9fd8bf-48a5-4141-8b99-cdf969ea0f82'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-11">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-11" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-11">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-11" data-toggle="tab">
               ENS High
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-ed7a9188-e85f-4cd4-98a6-80fe18dcce7f">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-2043fb76-22d1-4eb9-a5d6-a71ba4b31803">
                <table border="0" cellpadding="1" cellspacing="0" jcr:primarytype="nt:unstructured" width="100%">
                 <tbody>
                  <tr>
@@ -20639,19 +20694,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-ed7a9188-e85f-4cd4-98a6-80fe18dcce7f'));
+    new AWSTable($('#aws-element-2043fb76-22d1-4eb9-a5d6-a71ba4b31803'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-12">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-12" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-12">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-12" data-toggle="tab">
               OSPAR
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-76b3d60f-9b51-438d-a700-13e8c9267250">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-ebc68907-d658-4773-a7e9-7c6096f052dd">
                <table border="0" cellpadding="1" cellspacing="0" jcr:primarytype="nt:unstructured" width="100%">
                 <tbody>
                  <tr>
@@ -22265,19 +22320,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-76b3d60f-9b51-438d-a700-13e8c9267250'));
+    new AWSTable($('#aws-element-ebc68907-d658-4773-a7e9-7c6096f052dd'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-13">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-13" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-13">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-13" data-toggle="tab">
               HITRUST CSF
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-c2c6ab39-5539-4bd8-b8cf-3bc2577a608d">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-0f040512-a088-4522-87f4-cdc4bbd1564d">
                <table border="0" cellpadding="1" cellspacing="0" jcr:primarytype="nt:unstructured" width="100%">
                 <tbody>
                  <tr>
@@ -23768,19 +23823,19 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-c2c6ab39-5539-4bd8-b8cf-3bc2577a608d'));
+    new AWSTable($('#aws-element-0f040512-a088-4522-87f4-cdc4bbd1564d'));
   });
               </script>
              </div>
             </li>
-            <li class="content-item" id="aws-element-0df6dade-ad48-4039-871c-f05478a51560-14">
-             <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a51560-14" data-toggle="tab">
+            <li class="content-item" id="aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-14">
+             <h4 class="tab-title" data-target="#aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb-14" data-toggle="tab">
               FINMA
               <i class="icon-arrow">
               </i>
              </h4>
              <div class="content-item-wrapper">
-              <div class="aws-table" data-is-sticky-header="true" id="aws-element-194f2c6b-da19-42a4-b726-1f70f0e15bb0">
+              <div class="aws-table" data-is-sticky-header="true" id="aws-element-26186c3b-f5dd-445b-90b5-a26bfc7c433b">
                <table border="0" cellpadding="1" cellspacing="0" width="100%">
                 <tbody>
                  <tr>
@@ -25677,7 +25732,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
     'plugins/aws-table',
     'scripts'
   ], function($, AWSTable) {
-    new AWSTable($('#aws-element-194f2c6b-da19-42a4-b726-1f70f0e15bb0'));
+    new AWSTable($('#aws-element-26186c3b-f5dd-445b-90b5-a26bfc7c433b'));
   });
               </script>
              </div>
@@ -25687,7 +25742,7 @@ <h4 class="tab-title" data-target="#aws-element-0df6dade-ad48-4039-871c-f05478a5
          </div>
          <script>
           require(['scripts', 'plugins/bootstrap.tab'], function() {
-      $.awsComponent.contentExpander('aws-element-0df6dade-ad48-4039-871c-f05478a51560');
+      $.awsComponent.contentExpander('aws-element-924902cd-ee2c-40b0-ba6b-7e5272da03cb');
     });
          </script>
         </div>
@@ -25725,14 +25780,14 @@ <h2 class="center" id="Want_More_Information_About_Services_in_Scope?">
            </div>
            <div class="four columns">
             <div class="parsys col2">
-             <a class="button column-builder btn-size-normal btn-block btn-gold" href="/compliance/contact/" id="aws-element-button-da5b90c1-44ca-4161-ac71-42a013ba7069">
+             <a class="button column-builder btn-size-normal btn-block btn-gold" href="/compliance/contact/" id="aws-element-button-626c3bad-0125-4d73-b20a-ec649a5e68bb">
               Contact Us
              </a>
              <script>
               require(['scripts'], function() {
       // document.ready
       $(function() {
-        $.awsComponent.button("aws-element-button-da5b90c1-44ca-4161-ac71-42a013ba7069").trkTracking();
+        $.awsComponent.button("aws-element-button-626c3bad-0125-4d73-b20a-ec649a5e68bb").trkTracking();
       });
     });
              </script>
@@ -26153,6 +26208,6 @@ <h3 class="lb-txt-none lb-txt-p-chromium lb-tiny-v-margin lb-h3 lb-title" id="He
     jQuery = $ = undefined;
   }
   </script>
-  <!-- cms_updated_at: 2021-01-20T10:33:26.567-0800 -->
+  <!-- cms_updated_at: 2021-02-05T16:14:38.049-0800 -->
  </body>
 </html>
\ No newline at end of file
diff --git a/aws_allowlister/database/build.py b/aws_allowlister/database/build.py
index 88cb579..1c97525 100644
--- a/aws_allowlister/database/build.py
+++ b/aws_allowlister/database/build.py
@@ -37,7 +37,7 @@ def create_empty_compliance_database(db_session):
         db_session.commit()
 
 
-def build_database():
+def build_database(download: bool):
     """Builds the database from AWS Documentation files from scratch."""
     # Remove previous database file and connect
     if os.path.exists(DATABASE_PATH):
@@ -57,7 +57,8 @@ def build_database():
         db_session=db_session,
         link="https://aws.amazon.com/compliance/services-in-scope/",
         destination_folder=html_docs_folder,
-        file_name="services-in-scope.html"
+        file_name="services-in-scope.html",
+        download=download
     )
 
     # ISO docs follow a different format.
@@ -66,7 +67,8 @@ def build_database():
         db_session=db_session,
         link="https://aws.amazon.com/compliance/iso-certified/",
         destination_folder=html_docs_folder,
-        file_name="iso-certified.html"
+        file_name="iso-certified.html",
+        download=download
     )
 
     # HIPAA Docs follow a different format.
@@ -75,7 +77,8 @@ def build_database():
         db_session=db_session,
         link="https://aws.amazon.com/compliance/hipaa-eligible-services-reference/",
         destination_folder=html_docs_folder,
-        file_name="hipaa-eligible-services-reference.html"
+        file_name="hipaa-eligible-services-reference.html",
+        download=download
     )
 
     # FedRAMP Docs have a few extra columns
@@ -84,5 +87,6 @@ def build_database():
         db_session=db_session,
         link="https://aws.amazon.com/compliance/services-in-scope/",
         destination_folder=html_docs_folder,
-        file_name="services-in-scope.html"
+        file_name="services-in-scope.html",
+        download=download
     )
diff --git a/aws_allowlister/scrapers/tables/fedramp.py b/aws_allowlister/scrapers/tables/fedramp.py
index 1705a36..389abd4 100644
--- a/aws_allowlister/scrapers/tables/fedramp.py
+++ b/aws_allowlister/scrapers/tables/fedramp.py
@@ -1,18 +1,21 @@
 import os
 from bs4 import BeautifulSoup, Tag
 from aws_allowlister.database.raw_scraping_data import RawScrapingData
+from aws_allowlister.scrapers.aws_docs import get_aws_html
 from aws_allowlister.shared.utils import chomp, chomp_keep_single_spaces
 from aws_allowlister.scrapers.common import get_table_ids, clean_status_cell, clean_sdks, get_service_name, clean_status_cell_contents
+from sqlalchemy.orm.session import Session
 
 """Almost the same as the standard table but with extra columns"""
 
 
-def scrape_fedramp_table(db_session, link, destination_folder, file_name):
+def scrape_fedramp_table(db_session: Session, link: str, destination_folder: str, file_name: str, download: bool = True):
     html_file_path = os.path.join(destination_folder, file_name)
-    # Let's skip the whole removal process now; we just downloaded it, after all
-    # if os.path.exists(html_file_path):
-    #     os.remove(html_file_path)
-    # get_aws_html(link, html_file_path)
+
+    if download:
+        if os.path.exists(html_file_path):
+            os.remove(html_file_path)
+        get_aws_html(link, html_file_path)
 
     raw_scraping_data = RawScrapingData()
 
diff --git a/aws_allowlister/scrapers/tables/hipaa.py b/aws_allowlister/scrapers/tables/hipaa.py
index 829d231..efb337c 100644
--- a/aws_allowlister/scrapers/tables/hipaa.py
+++ b/aws_allowlister/scrapers/tables/hipaa.py
@@ -5,17 +5,20 @@
 from aws_allowlister.database.raw_scraping_data import RawScrapingData
 from aws_allowlister.scrapers.aws_docs import get_aws_html
 from aws_allowlister.shared.utils import clean_service_name
+from sqlalchemy.orm.session import Session
 
 ALL_SERVICE_PREFIXES = get_all_service_prefixes()
 
 
-def scrape_hipaa_table(db_session, link, destination_folder, file_name):
+def scrape_hipaa_table(db_session: Session, link: str, destination_folder: str, file_name: str, download: bool = True):
     html_file_path = os.path.join(destination_folder, file_name)
     if os.path.exists(html_file_path):
         os.remove(html_file_path)
 
-    # get_aws_html gets the HTML from AWS docs and stores it locally, then returns the path
-    get_aws_html(link, html_file_path)
+    if download:
+        if os.path.exists(html_file_path):
+            os.remove(html_file_path)
+        get_aws_html(link, html_file_path)
 
     raw_scraping_data = RawScrapingData()
 
diff --git a/aws_allowlister/scrapers/tables/iso.py b/aws_allowlister/scrapers/tables/iso.py
index 2dc29f7..f8430bf 100644
--- a/aws_allowlister/scrapers/tables/iso.py
+++ b/aws_allowlister/scrapers/tables/iso.py
@@ -3,15 +3,17 @@
 from aws_allowlister.scrapers.aws_docs import get_aws_html
 from aws_allowlister.database.raw_scraping_data import RawScrapingData
 from aws_allowlister.shared.utils import clean_service_name
+from sqlalchemy.orm.session import Session
 
 
-def scrape_iso_table(db_session, link, destination_folder, file_name):
+def scrape_iso_table(db_session: Session, link: str, destination_folder: str, file_name: str, download: bool = True):
     html_file_path = os.path.join(destination_folder, file_name)
-    if os.path.exists(html_file_path):
-        os.remove(html_file_path)
 
     # get_aws_html gets the HTML from AWS docs and stores it locally, then returns the path
-    get_aws_html(link, html_file_path)
+    if download:
+        if os.path.exists(html_file_path):
+            os.remove(html_file_path)
+        get_aws_html(link, html_file_path)
 
     raw_scraping_data = RawScrapingData()
 
diff --git a/aws_allowlister/scrapers/tables/standard.py b/aws_allowlister/scrapers/tables/standard.py
index 159a0c1..517458f 100644
--- a/aws_allowlister/scrapers/tables/standard.py
+++ b/aws_allowlister/scrapers/tables/standard.py
@@ -4,17 +4,18 @@
 from aws_allowlister.database.raw_scraping_data import RawScrapingData
 from aws_allowlister.scrapers.aws_docs import get_aws_html
 from aws_allowlister.scrapers.common import get_table_ids, clean_status_cell, clean_sdks, get_service_name
+from sqlalchemy.orm.session import Session
 
 
-def scrape_standard_table(db_session, link, destination_folder, file_name):
+def scrape_standard_table(db_session: Session, link: str, destination_folder: str, file_name: str, download: bool = True):
     results = []
 
     html_file_path = os.path.join(destination_folder, file_name)
-    if os.path.exists(html_file_path):
-        os.remove(html_file_path)
 
-    # Start scraping the standard table
-    get_aws_html(link, html_file_path)
+    if download:
+        if os.path.exists(html_file_path):
+            os.remove(html_file_path)
+        get_aws_html(link, html_file_path)
 
     raw_scraping_data = RawScrapingData()
 
diff --git a/setup.cfg b/setup.cfg
index 68ee228..87bbed5 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -5,9 +5,9 @@ verbosity=2
 
 [tool:pytest]
 testpaths = test
-verbosity=2
+#verbosity=2
 python_files=test/*/test_*.py
-ignore= __pycache__ *.pyc
+#ignore= __pycache__ *.pyc
 norecursedirs = .svn _build tmp* __pycache__
 
 # Exclude: __pycache__ / .pyc
diff --git a/utils/update_data.py b/utils/update_data.py
index bf5e024..15d4356 100644
--- a/utils/update_data.py
+++ b/utils/update_data.py
@@ -9,8 +9,8 @@
 db_session = connect_db()
 
 
-def update_database():
-    build_database()
+def update_database(download: bool):
+    build_database(download)
     compliance_data.update_compliance_database(db_session=db_session)
 
 
@@ -48,5 +48,6 @@ def update_csv_summary():
 
 
 if __name__ == '__main__':
-    update_database()
+    download_docs = True
+    update_database(download=download_docs)
     update_csv_summary()


Test patch:
diff --git a/test/scrapers/test_override_fixes.py b/test/scrapers/test_override_fixes.py
new file mode 100644
index 0000000..26eee3b
--- /dev/null
+++ b/test/scrapers/test_override_fixes.py
@@ -0,0 +1,20 @@
+import unittest
+from aws_allowlister.database.compliance_data import ComplianceData
+from aws_allowlister.database.database import connect_db
+
+compliance_data = ComplianceData()
+db_session = connect_db()
+
+
+class OverridesQualityChecksTestCase(unittest.TestCase):
+    """Some contributors suggest changes to the overrides, per service or per framework.
+    These test cases are meant to verify the targeted changes work as intended."""
+    def test_gh_48_ec2messages_ssmmessages(self):
+        standards = ["SOC", "PCI", "ISO", "FedRAMP_High", "FedRAMP_Moderate", "HIPAA", "IRAP", "OSPAR", "FINMA"]
+        for standard in standards:
+            results = compliance_data.get_compliant_services(
+                db_session=db_session, compliance_standard=standard
+            )
+            for expected_result in ["ssm", "ssmmessages", "ec2messages"]:
+                print(f"Checking if {standard} allows {expected_result}")
+                self.assertTrue(expected_result in results)