From 477ed7252e2fe1c20bebed599c59ac5233461458 Mon Sep 17 00:00:00 2001 From: Garland Kan Date: Fri, 21 Oct 2022 14:36:32 -0700 Subject: [PATCH] Revert "Revert (#382)" (#383) This reverts commit c6b22e053f8a8d5353b6eee86ae995519a18ef3a. --- terraform-modules/aws/ec2_instance/README.md | 55 ++ .../cloud-init/user-data.yaml.tpl | 54 ++ .../aws/ec2_instance/files/99-custom-sudoers | 334 +++++++++ terraform-modules/aws/ec2_instance/main.tf | 112 ++++ terraform-modules/aws/ec2_instance/outputs.tf | 3 + .../aws/ec2_instance/test/go.mod | 8 + .../aws/ec2_instance/test/go.sum | 631 ++++++++++++++++++ .../aws/ec2_instance/test/terratest_test.go | 213 ++++++ .../aws/ec2_instance/variables.tf | 90 +++ .../aws/iam_policies/s3_node_config/main.tf | 15 + .../iam_policies/s3_node_config/outputs.tf | 11 + .../iam_policies/s3_node_config/variables.tf | 15 + .../aws/image-builder/docs/ec2-ami.png | Bin 0 -> 92637 bytes .../docs/image-builder-pipeline.png | Bin 0 -> 225379 bytes .../docs/image-builder-status.png | Bin 0 -> 233047 bytes terraform-modules/aws/image-builder/main.tf | 115 ++++ .../aws/image-builder/outputs.tf | 0 .../aws/image-builder/test/terraform_test.go | 61 ++ .../aws/image-builder/variables.tf | 137 ++++ terraform-modules/aws/msk/README.md | 28 + terraform-modules/aws/msk/main.tf | 163 +++++ terraform-modules/aws/msk/outputs.tf | 15 + terraform-modules/aws/msk/test/go.mod | 8 + terraform-modules/aws/msk/test/go.sum | 631 ++++++++++++++++++ .../aws/msk/test/terratest_test.go | 117 ++++ terraform-modules/aws/msk/variables.tf | 157 +++++ terraform-modules/aws/s3_bucket/README.md | 80 +++ terraform-modules/aws/s3_bucket/main.tf | 67 ++ terraform-modules/aws/s3_bucket/outputs.tf | 9 + terraform-modules/aws/s3_bucket/test/go.mod | 8 + terraform-modules/aws/s3_bucket/test/go.sum | 631 ++++++++++++++++++ .../aws/s3_bucket/test/terratest_test.go | 77 +++ terraform-modules/aws/s3_bucket/variables.tf | 94 +++ .../aws/security_groups/README.md | 26 + terraform-modules/aws/security_groups/main.tf | 23 + .../aws/security_groups/outputs.tf | 18 + .../security_group_loop/main.tf | 15 + .../allow_sg_group_creation/main.tf | 12 + .../allow_sg_group_creation/variables.tf | 19 + .../sg_rules_list_loop/main.tf | 40 ++ .../sg_rules_list_loop/variables.tf | 15 + .../security_group_loop/variables.tf | 15 + .../aws/security_groups/test/go.mod | 8 + .../aws/security_groups/test/go.sum | 631 ++++++++++++++++++ .../security_groups/test/terratest_test.go | 185 +++++ .../aws/security_groups/variables.tf | 78 +++ .../datadog/files/openmetrics.d/conf.yaml.tpl | 68 ++ .../file_sets/datadog/files/someconfig.conf | 1 + .../file_sets/datadog/run.sh | 15 + .../aws/ssm_config/run_remote_script/main.tf | 48 ++ .../ssm_config/run_remote_script/variables.tf | 68 ++ .../aws/standard-bucket-replication/README.md | 68 ++ .../default-variables.tf | 97 +++ .../examples.orig/default/main.tf | 57 ++ .../examples.orig/terragrunt/terragrunt.hcl | 22 + .../aws/standard-bucket-replication/main.tf | 240 +++++++ .../standard-bucket-replication/outputs.tf | 23 + .../required-variables.tf | 19 + .../standard-bucket-replication/temp.tfvars | 87 +++ .../standard-bucket-replication/test/go.mod | 9 + .../standard-bucket-replication/test/go.sum | 580 ++++++++++++++++ .../test/terraform_basic_example_test.go | 250 +++++++ 62 files changed, 6676 insertions(+) create mode 100644 terraform-modules/aws/ec2_instance/README.md create mode 100644 terraform-modules/aws/ec2_instance/cloud-init/user-data.yaml.tpl create mode 100644 terraform-modules/aws/ec2_instance/files/99-custom-sudoers create mode 100644 terraform-modules/aws/ec2_instance/main.tf create mode 100644 terraform-modules/aws/ec2_instance/outputs.tf create mode 100644 terraform-modules/aws/ec2_instance/test/go.mod create mode 100644 terraform-modules/aws/ec2_instance/test/go.sum create mode 100644 terraform-modules/aws/ec2_instance/test/terratest_test.go create mode 100644 terraform-modules/aws/ec2_instance/variables.tf create mode 100644 terraform-modules/aws/iam_policies/s3_node_config/main.tf create mode 100644 terraform-modules/aws/iam_policies/s3_node_config/outputs.tf create mode 100644 terraform-modules/aws/iam_policies/s3_node_config/variables.tf create mode 100644 terraform-modules/aws/image-builder/docs/ec2-ami.png create mode 100644 terraform-modules/aws/image-builder/docs/image-builder-pipeline.png create mode 100644 terraform-modules/aws/image-builder/docs/image-builder-status.png create mode 100644 terraform-modules/aws/image-builder/main.tf create mode 100644 terraform-modules/aws/image-builder/outputs.tf create mode 100644 terraform-modules/aws/image-builder/test/terraform_test.go create mode 100644 terraform-modules/aws/image-builder/variables.tf create mode 100644 terraform-modules/aws/msk/README.md create mode 100644 terraform-modules/aws/msk/main.tf create mode 100644 terraform-modules/aws/msk/outputs.tf create mode 100644 terraform-modules/aws/msk/test/go.mod create mode 100644 terraform-modules/aws/msk/test/go.sum create mode 100644 terraform-modules/aws/msk/test/terratest_test.go create mode 100644 terraform-modules/aws/msk/variables.tf create mode 100644 terraform-modules/aws/s3_bucket/README.md create mode 100644 terraform-modules/aws/s3_bucket/main.tf create mode 100644 terraform-modules/aws/s3_bucket/outputs.tf create mode 100644 terraform-modules/aws/s3_bucket/test/go.mod create mode 100644 terraform-modules/aws/s3_bucket/test/go.sum create mode 100644 terraform-modules/aws/s3_bucket/test/terratest_test.go create mode 100644 terraform-modules/aws/s3_bucket/variables.tf create mode 100644 terraform-modules/aws/security_groups/README.md create mode 100644 terraform-modules/aws/security_groups/main.tf create mode 100644 terraform-modules/aws/security_groups/outputs.tf create mode 100644 terraform-modules/aws/security_groups/security_group_loop/main.tf create mode 100644 terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/main.tf create mode 100644 terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/variables.tf create mode 100644 terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/main.tf create mode 100644 terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/variables.tf create mode 100644 terraform-modules/aws/security_groups/security_group_loop/variables.tf create mode 100644 terraform-modules/aws/security_groups/test/go.mod create mode 100644 terraform-modules/aws/security_groups/test/go.sum create mode 100644 terraform-modules/aws/security_groups/test/terratest_test.go create mode 100644 terraform-modules/aws/security_groups/variables.tf create mode 100644 terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/openmetrics.d/conf.yaml.tpl create mode 100644 terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/someconfig.conf create mode 100755 terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/run.sh create mode 100644 terraform-modules/aws/ssm_config/run_remote_script/main.tf create mode 100644 terraform-modules/aws/ssm_config/run_remote_script/variables.tf create mode 100644 terraform-modules/aws/standard-bucket-replication/README.md create mode 100644 terraform-modules/aws/standard-bucket-replication/default-variables.tf create mode 100644 terraform-modules/aws/standard-bucket-replication/examples.orig/default/main.tf create mode 100644 terraform-modules/aws/standard-bucket-replication/examples.orig/terragrunt/terragrunt.hcl create mode 100644 terraform-modules/aws/standard-bucket-replication/main.tf create mode 100644 terraform-modules/aws/standard-bucket-replication/outputs.tf create mode 100644 terraform-modules/aws/standard-bucket-replication/required-variables.tf create mode 100644 terraform-modules/aws/standard-bucket-replication/temp.tfvars create mode 100644 terraform-modules/aws/standard-bucket-replication/test/go.mod create mode 100644 terraform-modules/aws/standard-bucket-replication/test/go.sum create mode 100644 terraform-modules/aws/standard-bucket-replication/test/terraform_basic_example_test.go diff --git a/terraform-modules/aws/ec2_instance/README.md b/terraform-modules/aws/ec2_instance/README.md new file mode 100644 index 000000000..241b49f53 --- /dev/null +++ b/terraform-modules/aws/ec2_instance/README.md @@ -0,0 +1,55 @@ +# Nodes +This module creates a node based on the param + +It will create: +* A an EC2 instance +* attach a security group +* attach IAM policies to the instance role +* AMI used +* subnet it is placed in +* instance type + +# Dependencies + +`subnet_id` - the subnet to place this instance in +`aws_iam_role_policy_attachment_list` - a list of policy arn to attach to this instance + +# instance_config var +This is the main input for the module. This the EC2 instances and it's configuration. + +```hcl +instance_config = { + root_installer_device = { + instance_type = "m5.4xlarge" + delete_on_termination = true, + encrypted = true, + iops = "", + kms_key_id = "", + volume_size = 80, + volume_type = "gp2", + } + ebs_block_device = [] + user_data_inputs = { + ebs_block_device_1_is_set = "false" + ebs_block_device_1_mount_path = "null" + ebs_block_device_2_is_set = "false" + ebs_block_device_2_mount_path = "null" + } + } +``` + +# How to run the unit tests + +``` +cd test +go test ./ +``` + +no cache run +``` +go test ./ -v -count=1 +``` + +## How to run the debugger + +TBD diff --git a/terraform-modules/aws/ec2_instance/cloud-init/user-data.yaml.tpl b/terraform-modules/aws/ec2_instance/cloud-init/user-data.yaml.tpl new file mode 100644 index 000000000..959eb2582 --- /dev/null +++ b/terraform-modules/aws/ec2_instance/cloud-init/user-data.yaml.tpl @@ -0,0 +1,54 @@ +# #cloud-config +# # Doc: https://cloudinit.readthedocs.io/en/latest/topics/examples.html + +# # Add groups to the system +# groups: +# - fspace + +# # Add users to the system. Users are added after groups are added. +# users: +# - default +# - name: fsinstaller +# gecos: fsinstaller +# shell: /bin/bash +# primary_group: fspace +# sudo: +# - ALL=(ALL:ALL) NOPASSWD:/usr/bin/rpm +# - ALL=(ALL:ALL) NOPASSWD:/opt/chef/embedded/bin/gem +# - ALL=(ALL:ALL) NOPASSWD:/usr/bin/chef-client +# - ALL=(ALL:ALL) NOPASSWD:/usr/bin/pkill +# - ALL=(ALL:ALL) NOPASSWD:/usr/bin/chef +# - ALL=(ALL:ALL) NOPASSWD:/opt/chefdk/embedded/bin/gem +# lock_passwd: false +# ssh_authorized_keys: +# - ${user_ssh_public_key} +# - name: aric +# gecos: aric +# shell: /bin/bash +# primary_group: fspace +# ssh_authorized_keys: +# - ${user_ssh_public_key} + + +# # Installs packages +# packages: +# - unzip + +# # Sets the GOPATH & downloads the demo payload +# runcmd: +# - echo "ClientAliveInterval 60" | tee -a /etc/ssh/sshd_config +# - echo "ClientAliveCountMax 10" | tee -a /etc/ssh/sshd_config +# - systemctl restart sshd +# - echo "vm.swappiness=1" | tee -a /etc/sysctl.conf +# - sudo sysctl -p +# - curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "/tmp/awscliv2.zip" +# - unzip /tmp/awscliv2.zip -d /tmp/ +# - /tmp/aws/install +# - if [[ "${ebs_block_device_1_is_set}" == "true" ]]; then export EBS_DEVICE=$(lsblk | grep -e "nvme1.*" | awk '{print $1}'); mkfs -t ext4 /dev/"$${EBS_DEVICE}"; mkdir -p "${ebs_block_device_1_mount_path}"; mount /dev/"$${EBS_DEVICE[$i]}" ${ebs_block_device_1_mount_path}; echo -e "UUID=$(lsblk -o +uuid /dev/"$${EBS_DEVICE[$i]}" | grep "$${EBS_DEVICE[$i]}" | awk '{print $8}') \t ${ebs_block_device_1_mount_path} \t ext4 \t defaults \t 0 \t 0" >> /etc/fstab; fi +# - if [[ "${ebs_block_device_2_is_set}" == "true" ]]; then export EBS_DEVICE=$(lsblk | grep -e "nvme2.*" | awk '{print $1}'); mkfs -t ext4 /dev/"$${EBS_DEVICE}"; mkdir -p "${ebs_block_device_2_mount_path}"; mount /dev/"$${EBS_DEVICE[$i]}" ${ebs_block_device_2_mount_path}; echo -e "UUID=$(lsblk -o +uuid /dev/"$${EBS_DEVICE[$i]}" | grep "$${EBS_DEVICE[$i]}" | awk '{print $8}') \t ${ebs_block_device_2_mount_path} \t ext4 \t defaults \t 0 \t 0" >> /etc/fstab; fi +# write_files: +# - encoding: gzip +# content: !!binary | +# ${sudoers} +# path: /etc/sudoers.d/99-custom-sudoers +# permissions: '0440' diff --git a/terraform-modules/aws/ec2_instance/files/99-custom-sudoers b/terraform-modules/aws/ec2_instance/files/99-custom-sudoers new file mode 100644 index 000000000..ad58254e5 --- /dev/null +++ b/terraform-modules/aws/ec2_instance/files/99-custom-sudoers @@ -0,0 +1,334 @@ +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl start zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl stop zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl enable zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl disable zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl restart zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl reload zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status monit -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status nginx -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status alertmanager -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status analytics-controller -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status asyncoutput -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status async-executor -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status batch-controller -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status batch-enigne -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status bi-etl -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status datapoller -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status elasticsearch -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status eventapi -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status filebeat -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status grafana -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status kafka -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status kibana -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status linker -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status logstash -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status management-service -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status mongod -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status postgres -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status prometheus -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status prometheus-collector -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status reports -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status storm-nimbus -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status storm-supervisor -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status telegraf -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status ui-server -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status ui-writer -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/systemctl status zookeeper -l +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u nginx +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u alertmanager +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u analytics-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u asyncoutput +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u async-executor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u batch-controller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u batch-engine +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u bi-etl +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u datapoller +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u elasticsearch +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u eventapi +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u filebeat +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u grafana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u kafka +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u kibana +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u linker +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u logstash +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u management-service +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u mongod +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u postgres +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u prometheus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u prometheus-collector +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u reports +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u storm-nimbus +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u storm-supervisor +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u telegraf +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u ui-server +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u ui-writer +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u zookeeper +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u monit -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u nginx -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u alertmanager -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u analytics-controller -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u asyncoutput -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u async-executor -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u batch-controller -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u batch-engine -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u bi-etl -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u datapoller -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u elasticsearch -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u eventapi -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u filebeat -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u grafana -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u kafka -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u kibana -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u linker -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u logstash -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u management-service -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u mongod -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u postgres -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u prometheus -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u prometheus-collector -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u reports -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u storm-nimbus -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u storm-supervisor -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u telegraf -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u ui-server -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u ui-writer -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u zookeeper -n * +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u monit -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u nginx -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u alertmanager -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u analytics-controller -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u asyncoutput -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u async-executor -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u batch-controller -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u batch-engine -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u bi-etl -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u datapoller -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u elasticsearch -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u eventapi -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u filebeat -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u grafana -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u kafka -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u kibana -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u linker -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u logstash -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u management-service -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u mongod -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u postgres -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u prometheus -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u prometheus-collector -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u reports -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u storm-nimbus -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u storm-supervisor -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u telegraf -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u ui-server -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u ui-writer -f +aric ALL=(ALL:ALL) NOPASSWD:/usr/bin/journalctl -u zookeeper -f +aric ALL=(ALL:ALL) NOPASSWD:/aric/monit +aric ALL=(ALL:ALL) NOPASSWD:/usr/local/bin/aric +aric ALL=(ALL:ALL) NOPASSWD:/aric/diagnostics/aric.sh +# Sudoers does not support regex +#aric ALL=(ALL) NOPASSWD:/bin/rm -r /opt/featurespace/aric-install/[^s]*[^s][^h] \ No newline at end of file diff --git a/terraform-modules/aws/ec2_instance/main.tf b/terraform-modules/aws/ec2_instance/main.tf new file mode 100644 index 000000000..fa2ca5c16 --- /dev/null +++ b/terraform-modules/aws/ec2_instance/main.tf @@ -0,0 +1,112 @@ +locals { + sudoers = base64gzip(file("${path.module}/files/99-custom-sudoers")) + + # combine user's IAM policy arn list with what is created in this module + complete_aws_iam_role_policy_attachment_list = concat(var.aws_iam_role_policy_attachment_list, + [ + "arn:aws:iam::aws:policy/service-role/AmazonEC2RoleforSSM", + aws_iam_policy.node_configs.arn, + ]) +} + +module "ec2_instance" { + source = "terraform-aws-modules/ec2-instance/aws" + version = "~> 2.0" + + name = var.instance_name + instance_count = 1 + + ami = var.ami + instance_type = var.instance_config.root_installer_device.instance_type + key_name = var.key_pair_name != null ? var.key_pair_name: aws_key_pair.this[0].id + monitoring = true + vpc_security_group_ids = var.security_group_list + subnet_id = var.subnet_id + + # instance profile created in this module for each individual node + iam_instance_profile = aws_iam_instance_profile.instance_profile.id + + tags = var.tags + + enable_volume_tags = true + root_block_device = [ + { + delete_on_termination = var.instance_config.root_installer_device.delete_on_termination + encrypted = var.instance_config.root_installer_device.encrypted + iops = var.instance_config.root_installer_device.volume_type == "io2" ? var.instance_config.root_installer_device.iops : null + kms_key_id = var.instance_config.root_installer_device.kms_key_id + volume_size = var.instance_config.root_installer_device.volume_size + volume_type = var.instance_config.root_installer_device.volume_type + }, + ] + + ebs_block_device = var.instance_config.ebs_block_device + + user_data = templatefile("${path.module}/cloud-init/user-data.yaml.tpl", { + sudoers = local.sudoers + user_ssh_public_key = var.user_ssh_public_key + ebs_block_device_1_is_set = var.instance_config.user_data_inputs.ebs_block_device_1_is_set + ebs_block_device_1_mount_path = var.instance_config.user_data_inputs.ebs_block_device_1_mount_path + ebs_block_device_2_is_set = var.instance_config.user_data_inputs.ebs_block_device_2_is_set + ebs_block_device_2_mount_path = var.instance_config.user_data_inputs.ebs_block_device_2_mount_path + }) + + depends_on = [ + aws_iam_instance_profile.instance_profile, + ] +} + +resource "aws_key_pair" "this" { + count = var.key_pair_name == null ? 1: 0 + key_name = var.instance_name + public_key = var.user_ssh_public_key +} + +# Instance profile +resource "aws_iam_instance_profile" "instance_profile" { + name = var.instance_name + role = aws_iam_role.instance_role.name +} + +# Instance role +resource "aws_iam_role" "instance_role" { + + name = var.instance_name + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Sid = "" + Principal = { + Service = "ec2.amazonaws.com" + } + }, + ] + }) + description = "A role for the ${var.instance_name} node" +} + +# Attached the list of policies to the instance profile +resource "aws_iam_role_policy_attachment" "attach_policies" { + count = length(concat(local.complete_aws_iam_role_policy_attachment_list)) + role = aws_iam_role.instance_role.name + policy_arn = local.complete_aws_iam_role_policy_attachment_list[count.index] +} + +# Policy for S3 Bucket - allows the node to get read-only access to s3 buckets for the node_config items +# For the "all" nodes +resource "aws_iam_policy" "node_configs" { + name = "${var.instance_name}-node-configs" + policy = jsonencode({ + "Version" : "2012-10-17", + "Statement" : [ + { + "Action" : ["s3:GetObject", "s3:ListBucket"], + "Effect" : "Allow", + "Resource" : "arn:aws:s3:::${var.environment_name}-installer/node_configs/*" + } + ] + }) +} diff --git a/terraform-modules/aws/ec2_instance/outputs.tf b/terraform-modules/aws/ec2_instance/outputs.tf new file mode 100644 index 000000000..b1aa8a83a --- /dev/null +++ b/terraform-modules/aws/ec2_instance/outputs.tf @@ -0,0 +1,3 @@ +output "ec2_id" { + value = module.ec2_instance.id +} diff --git a/terraform-modules/aws/ec2_instance/test/go.mod b/terraform-modules/aws/ec2_instance/test/go.mod new file mode 100644 index 000000000..4672cc929 --- /dev/null +++ b/terraform-modules/aws/ec2_instance/test/go.mod @@ -0,0 +1,8 @@ +module github.com/ManagedKube/kubernetes-ops + +go 1.15 + +require ( + github.com/gruntwork-io/terratest v0.32.24 + github.com/stretchr/testify v1.7.0 +) diff --git a/terraform-modules/aws/ec2_instance/test/go.sum b/terraform-modules/aws/ec2_instance/test/go.sum new file mode 100644 index 000000000..f607bb444 --- /dev/null +++ b/terraform-modules/aws/ec2_instance/test/go.sum @@ -0,0 +1,631 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v38.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v46.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= +github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= +github.com/Azure/go-autorest/autorest v0.11.0/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.5/go.mod h1:foo3aIXRQ90zFve3r0QiDsrjGDUwWhKl0ZOQy1CT14k= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= +github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.1/go.mod h1:ea90/jvmnAwDrSooLH4sRIehEPtG/EPUXavDh31MnA4= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.0/go.mod h1:JljT387FplPzBA31vUcvsetLKF3pec5bdAxjVU4kI2s= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= +github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= +github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= +github.com/Azure/go-autorest/autorest/validation v0.3.0/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/agext/levenshtein v1.2.1 h1:QmvMAjj2aEICytGiWzmxoE0x2KZvE0fvmqMOfy2tjT8= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbjdL7GzRt3F8NvfJ0= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.1 h1:MXnqY6SlWySaZAqNnXThOvjRFdiiOuKtC6i7baFdNdU= +github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v0.0.0-20200109221225-a4f60165b7a3/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20190911111923-ecfe977594f1/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0 h1:skJKxRtNmevLqnayafdLe2AsenqRupVmzZSqrvb5caU= +github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-containerregistry v0.0.0-20200110202235-f4fb41bf00a3/go.mod h1:2wIuQute9+hhWqvL3vEI7YB0EKluF4WcPzI1eAliazk= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/gruntwork-io/go-commons v0.8.0 h1:k/yypwrPqSeYHevLlEDmvmgQzcyTwrlZGRaxEM6G0ro= +github.com/gruntwork-io/go-commons v0.8.0/go.mod h1:gtp0yTtIBExIZp7vyIV9I0XQkVwiQZze678hvDXof78= +github.com/gruntwork-io/terratest v0.32.24 h1:ihbpYh05VBNPtru2GGN36xTLrLkdMacCyRuvIOs3lsQ= +github.com/gruntwork-io/terratest v0.32.24/go.mod h1:IBb+b5b7p34oZLfpz/ZADyn8TSKeWSBu+vQMmNeePLE= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.0 h1:B9UzwGQJehnUY1yNrnwREHc3fGbC2xefo8g4TbElacI= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.8.2 h1:wmFle3D1vu0okesm8BTLVDyJ6/OL9DCLUwn0b2OptiY= +github.com/hashicorp/hcl/v2 v2.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= +github.com/hashicorp/terraform-json v0.9.0 h1:WE7+Wt93W93feOiCligElSyS0tlDzwZUtJuDGIBr8zg= +github.com/hashicorp/terraform-json v0.9.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a h1:zPPuIq2jAWWPTrGt70eK/BSch+gFAGrNzecsoENgu2o= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= +github.com/mattn/go-zglob v0.0.2-0.20190814121620-e3c945676326/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 h1:DpOJ2HYzCv8LZP15IdmG+YdwD2luVPHITV96TkirNBM= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/oracle/oci-go-sdk v7.1.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/pquerna/otp v1.2.0 h1:/A3+Jn+cagqayeR3iHs/L62m5ue7710D35zl1zJ1kok= +github.com/pquerna/otp v1.2.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vdemeester/k8s-pkg-credentialprovider v0.0.0-20200107171650-7c61ffa44238/go.mod h1:JwQJCMWpUDqjZrB5jpw0f5VbN7U95zxFy1ZDpoEarGo= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1 h1:vGMsygfmeCl4Xb6OA5U5XVAaQZ69FvoG7X2jUtQujb8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191205215504-7b8c8591a921/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20201110201400-7099162a900a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +k8s.io/api v0.17.0/go.mod h1:npsyOePkeP0CPwyGfXDHxvypiYMJxBWAMpQxCaJ4ZxI= +k8s.io/api v0.19.3/go.mod h1:VF+5FT1B74Pw3KxMdKyinLo+zynBaMBiAfGMuldcNDs= +k8s.io/apimachinery v0.17.0/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= +k8s.io/apimachinery v0.19.3/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= +k8s.io/apiserver v0.17.0/go.mod h1:ABM+9x/prjINN6iiffRVNCBR2Wk7uY4z+EtEGZD48cg= +k8s.io/client-go v0.17.0/go.mod h1:TYgR6EUHs6k45hb6KWjVD6jFZvJV4gHDikv/It0xz+k= +k8s.io/client-go v0.19.3/go.mod h1:+eEMktZM+MG0KO+PTkci8xnbCZHvj9TqR6Q1XDUIJOM= +k8s.io/cloud-provider v0.17.0/go.mod h1:Ze4c3w2C0bRsjkBUoHpFi+qWe3ob1wI2/7cUn+YQIDE= +k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= +k8s.io/component-base v0.17.0/go.mod h1:rKuRAokNMY2nn2A6LP/MiwpoaMRHpfRnrPaUJJj1Yoc= +k8s.io/csi-translation-lib v0.17.0/go.mod h1:HEF7MEz7pOLJCnxabi45IPkhSsE/KmxPQksuCrHKWls= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/legacy-cloud-providers v0.17.0/go.mod h1:DdzaepJ3RtRy+e5YhNtrCYwlgyK87j/5+Yfp0L9Syp8= +k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/terraform-modules/aws/ec2_instance/test/terratest_test.go b/terraform-modules/aws/ec2_instance/test/terratest_test.go new file mode 100644 index 000000000..92da3402b --- /dev/null +++ b/terraform-modules/aws/ec2_instance/test/terratest_test.go @@ -0,0 +1,213 @@ +package test + +import ( + "math/rand" + "testing" + "time" + + // "github.com/gruntwork-io/terratest/modules/aws" + "github.com/gruntwork-io/terratest/modules/terraform" + "github.com/stretchr/testify/assert" +) + +// Default test +func TestTerraformDefault(t *testing.T) { + t.Parallel() + + // Random string for various dynamic bucket name usage + stringRand := randomString(8) + node0 := "node0-" + stringRand + node1 := "node1-" + stringRand + // The unit test should really create everything it needs. Maybe except for the AMI. + subnet_id := "subnet-0dc93d734674d2651" + security_group := "sg-06f385f8d8a319d59" + key_name := "marqeta-aws-root" + ami := "ami-0b4bc4eb77ae7e66c" + instance_type := "t3.small" + group0Name := "group0-" + stringRand + group1Name := "group1-" + stringRand + userData := `#cloud-config\nwrite_files:\n- encoding: b64\n content: aGVsbG8K\n owner: root:root\n path: /tmp/unit-test-user-data-file.txt\n permissions: '0644'` + + terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{ + // The path to where our Terraform code is located + TerraformDir: "../examples/node_list_1", + + // Dynamic Variables that we should pass in addition to varfile.tfvars + // VarFiles: []string{ + // "./test/var1.tfvars", + // }, + + Vars: map[string]interface{}{ + "aws_region": "us-east-1", + "environment_name": "node_list_unit_test_" + stringRand, + "key_pair_name": "node_list_unit_test_" + stringRand, + "user_ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC641Tabto5333cceSZftvqibRr9OhbP0IPv+gqRo9OdED7shWhA2XuWqQnIok8yv0Wimi+CZ00tVbkZHA27NObDQnX/KZ2ntIuM9VY6Io+K40RbN2UFHwgC8v3PyMPTCiQuriFT9whtAEOY4biqiN6X38G80g6Y3qXXlD/IkZXrOao+0m9aMNrxWhWP1Q5whZoxeeOY0DBGiLgAfIqtV9gAttehWWND41kv8QMi5p1rDjuowM7cG1YbbuwEXDV1tOb99Pz/LFebWE6arPYkM3C2P/kDuQX1EmT6GnN2uIu0FgoNkj7zykqr5YbDKnjwDKk9GpsfWCx8buIu+bYJh9D", + "distinct_group_list": []string{ + group0Name, + group1Name, + }, + "node_list": []interface{}{ + 0: map[string]interface{}{ + "instance_name": node0, + "group_name": group0Name, + "ami": ami, + "key_name": key_name, + "subnet_id": subnet_id, + "instance_type": instance_type, + "instance_monitoring": "true", + "root_block_device": map[string]interface{}{ + "delete_on_termination": true, + "encrypted": true, + "iops": 1000, + "kms_key_id": nil, + "volume_size": 11, + "volume_type": "gp2", + }, + "ebs_block_device": []interface{}{ + 0: map[string]interface{}{ + "device_name": "/dev/sdh", + "delete_on_termination": true, + "encrypted": true, + "iops": 1001, + "kms_key_id": nil, + "volume_size": 4, + "volume_type": "io2", + }, + }, + "user_data": userData, + "tags": map[string]interface{}{ + "purpose": "terratest", + "repo": "managedkube-infra", + "repo-path": "terraform-modules/aws/node_list/test", + "node": node0, + }, + }, + 1: map[string]interface{}{ + "instance_name": node1, + "group_name": group1Name, + "ami": ami, + "key_name": key_name, + "subnet_id": subnet_id, + "instance_type": instance_type, + "instance_monitoring": "true", + "root_block_device": map[string]interface{}{ + "delete_on_termination": true, + "encrypted": true, + "iops": 1000, + "kms_key_id": nil, + "volume_size": 12, + "volume_type": "gp2", + }, + "ebs_block_device": []interface{}{ + 0: map[string]interface{}{ + "device_name": "/dev/sdh", + "delete_on_termination": true, + "encrypted": true, + "iops": 1002, + "kms_key_id": nil, + "volume_size": 5, + "volume_type": "io2", + }, + 1: map[string]interface{}{ + "device_name": "/dev/sdi", + "delete_on_termination": true, + "encrypted": true, + // "iops": 1, + "kms_key_id": nil, + "volume_size": 6, + "volume_type": "gp2", + }, + }, + //"upload_files": map[string]interface{}{}, + "user_data": "", + "tags": map[string]interface{}{ + "purpose": "terratest", + "repo": "managedkube-infra", + "repo-path": "terraform-modules/aws/node_list/test", + "node": node1, + }, + }, + 2: map[string]interface{}{ + "instance_name": node0 + "-1", + "group_name": group0Name, + "ami": ami, + "key_name": key_name, + "subnet_id": subnet_id, + "instance_type": instance_type, + "instance_monitoring": "true", + "root_block_device": map[string]interface{}{ + "delete_on_termination": true, + "encrypted": true, + "iops": 1000, + "kms_key_id": nil, + "volume_size": 13, + "volume_type": "gp2", + }, + "ebs_block_device": []interface{}{ + // testing to make sure no additional disks is working + // Still need this key here though + }, + // "upload_files": map[string]interface{}{}, + "user_data": "", + "tags": map[string]interface{}{ + "purpose": "terratest", + "repo": "managedkube-infra", + "repo-path": "terraform-modules/aws/node_list/test", + "node": node0 + "-1", + }, + }, + }, + "security_group_id_list": []interface{}{ + 0: security_group, + 1: security_group, + }, + "security_group_name_list": []interface{}{ + 0: group0Name, + 1: group1Name, + }, + }, + + // Disable colors in Terraform commands so its easier to parse stdout/stderr + NoColor: true, + }) + + // At the end of the test, run `terraform destroy` to clean up any resources that were created + defer terraform.Destroy(t, terraformOptions) + + // This will run `terraform init` and `terraform apply` and fail the test if there are any errors + terraform.InitAndApply(t, terraformOptions) + + // Run `terraform output` to get the values of output variables + outputEc2IdList := terraform.OutputList(t, terraformOptions, "ec2_id_list") + // outputSecurityGroupRuleModuleSGList := terraform.OutputList(t, terraformOptions, "security_group_id_list") + // outputDatadogPolicyName := terraform.Output(t, terraformOptions, "datadog_policy") + + // awsAccountID := aws.GetAccountId(t) + + // check if node0's name is accurate + // assert.Equal(t, outputSecurityGroupModuleNameList[0], group0Name) + // check if node1's name is accurate + // assert.Equal(t, outputSecurityGroupModuleNameList[1], group1Name) + + numberOfExpected := 1 + assert.Equal(t, numberOfExpected, len(outputEc2IdList)) + // assert.Equal(t, "datadog-ec2", outputDatadogPolicyName) + +} + +func randomString(len int) string { + + rand.Seed(time.Now().UTC().UnixNano()) + bytes := make([]byte, len) + + for i := 0; i < len; i++ { + bytes[i] = byte(randInt(97, 122)) + } + + return string(bytes) +} + +func randInt(min int, max int) int { + + return min + rand.Intn(max-min) +} diff --git a/terraform-modules/aws/ec2_instance/variables.tf b/terraform-modules/aws/ec2_instance/variables.tf new file mode 100644 index 000000000..450e5618a --- /dev/null +++ b/terraform-modules/aws/ec2_instance/variables.tf @@ -0,0 +1,90 @@ +variable "aws_region" { + type = string + default = "" +} + +variable "ami" { + type = string + description = "AMI image" +} + +variable "key_pair_name" { + type = string + default = null + description = "The ec2 key/pair name" +} + +variable "user_ssh_public_key" { + type = string + description = "The public key for the key pair" + default = "" +} + +variable "environment_name" { + type = string + description = "The full name of the environment" +} + +variable "instance_name" { + type = string + description = "The instance name" +} + +variable "key_name" { + type = string + description = "The AWS Key name" +} + +variable "subnet_id" { + type = string + description = "The subnet ID to place this instance into" +} + +variable "tags" { + type = map(any) + description = "The set of tags to place on this node and other resources" +} + +variable "node_profile_type" { + type = string + default = null + description = "description" +} + +variable "instance_config" { + type = object({ + root_installer_device = map(any) + ebs_block_device = list(any) + user_data_inputs = map(any) + }) + default = { + root_installer_device = { + instance_type = "m5.large" + delete_on_termination = true, + encrypted = true, + iops = "", + kms_key_id = "", + volume_size = 80, + volume_type = "gp2", + } + ebs_block_device = [] + user_data_inputs = { + ebs_block_device_1_is_set = "false" + ebs_block_device_1_mount_path = "null" + ebs_block_device_2_is_set = "false" + ebs_block_device_2_mount_path = "null" + } + } +} + +variable "aws_iam_role_policy_attachment_list" { + type = list(string) + default = [] + description = "A list of IAM policy ARNs to attached to this node's instance profile" +} + +variable "security_group_list" { + type = list(string) + default = [] + description = "The list of security group IDs to apply to this instance" +} diff --git a/terraform-modules/aws/iam_policies/s3_node_config/main.tf b/terraform-modules/aws/iam_policies/s3_node_config/main.tf new file mode 100644 index 000000000..0004e9136 --- /dev/null +++ b/terraform-modules/aws/iam_policies/s3_node_config/main.tf @@ -0,0 +1,15 @@ +# Policy for S3 Bucket - allows the node to get read-only access to s3 buckets for the node_config items +# For the "all" nodes +resource "aws_iam_policy" "this" { + name = var.name + policy = jsonencode({ + "Version" : "2012-10-17", + "Statement" : [ + { + "Action" : ["s3:GetObject", "s3:ListBucket"], + "Effect" : "Allow", + "Resource" : "arn:aws:s3:::${var.environment_name}-installer/node_configs/*" + } + ] + }) +} diff --git a/terraform-modules/aws/iam_policies/s3_node_config/outputs.tf b/terraform-modules/aws/iam_policies/s3_node_config/outputs.tf new file mode 100644 index 000000000..80bb0bd9f --- /dev/null +++ b/terraform-modules/aws/iam_policies/s3_node_config/outputs.tf @@ -0,0 +1,11 @@ +output "arn" { + value = aws_iam_policy.this.arn +} + +output "name" { + value = aws_iam_policy.this.name +} + +output "path" { + value = aws_iam_policy.this.path +} diff --git a/terraform-modules/aws/iam_policies/s3_node_config/variables.tf b/terraform-modules/aws/iam_policies/s3_node_config/variables.tf new file mode 100644 index 000000000..3bb971ffb --- /dev/null +++ b/terraform-modules/aws/iam_policies/s3_node_config/variables.tf @@ -0,0 +1,15 @@ +variable "name" { + type = string + default = "featurespace-s3-ec2-node_configs-" + description = "The full name of the policy" +} + +variable "environment_name" { + type = string + description = "The full name of the environment" +} + +variable "tags" { + type = map(any) + description = "The set of tags to place on this node and other resources" +} diff --git a/terraform-modules/aws/image-builder/docs/ec2-ami.png b/terraform-modules/aws/image-builder/docs/ec2-ami.png new file mode 100644 index 0000000000000000000000000000000000000000..247b3f733aea475c4f1d72391f74e8d67c63a4e1 GIT binary patch literal 92637 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π`z3zuRFbzZhmH@9MER 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 z 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
jw*1<5}ymB#W}G@xn@{7X5z7kOk(0 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 N>J?3uyi51|{~xL!-*Er{ literal 0 HcmV?d00001 diff --git a/terraform-modules/aws/image-builder/docs/image-builder-status.png b/terraform-modules/aws/image-builder/docs/image-builder-status.png new file mode 100644 index 0000000000000000000000000000000000000000..047b75e6d1a4f761b02fe3adedd4ba1717145a8b GIT binary patch literal 233047 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

Nj(f&c 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%0Awv^HT9ZFu@F6}4p@Gm+ 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 [aws](#provider\_aws) | n/a | + +## Modules + +No modules. + +## Resources + +| Name | Type | +|------|------| +| [aws_kms_key.kms_key](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kms_key) | resource | +| [aws_s3_bucket.bucket](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket) | resource | +| [aws_s3_bucket_policy.bucket_policy](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_policy) | resource | +| [aws_s3_bucket_public_access_block.acl](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_public_access_block) | resource | +| [aws_s3_bucket_server_side_encryption_configuration.encryption_config](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket_server_side_encryption_configuration) | resource | + +## Inputs + +| Name | Description | Type | Default | Required | +|------|-------------|------|---------|:--------:| +| [aws\_region](#input\_aws\_region) | n/a | `string` | `"us-east-1"` | no | +| [block\_public\_acls](#input\_block\_public\_acls) | Whether Amazon S3 should block public ACLs for this bucket. | `bool` | n/a | yes | +| [block\_public\_policy](#input\_block\_public\_policy) | Whether Amazon S3 should block public bucket policies for this bucket. | `bool` | n/a | yes | +| [bucket](#input\_bucket) | The name of the bucket. If omitted, Terraform will assign a random, unique name. Must be less than or equal to 63 characters in length. | `string` | n/a | yes | +| [deletion\_window\_in\_days](#input\_deletion\_window\_in\_days) | (Optional) The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key. | `number` | `10` | no | +| [enable\_key\_rotation](#input\_enable\_key\_rotation) | (Optional) Specifies whether key rotation is enabled. Defaults to false. | `bool` | `true` | no | +| [ignore\_public\_acls](#input\_ignore\_public\_acls) | Whether Amazon S3 should ignore public ACLs for this bucket. | `bool` | n/a | yes | +| [policy](#input\_policy) | n/a | `string` | `null` | no | +| [restrict\_public\_buckets](#input\_restrict\_public\_buckets) | Whether Amazon S3 should restrict public bucket policies for this bucket. | `bool` | n/a | yes | +| [tags](#input\_tags) | A map of tags to assign to the bucket. If configured with a provider default\_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level. | `map(any)` | `{}` | no | + +## Outputs + +| Name | Description | +|------|-------------| +| [bucket\_domain\_name](#output\_bucket\_domain\_name) | n/a | +| [bucket\_id](#output\_bucket\_id) | The ID of the bucket | diff --git a/terraform-modules/aws/s3_bucket/main.tf b/terraform-modules/aws/s3_bucket/main.tf new file mode 100644 index 000000000..082c7e626 --- /dev/null +++ b/terraform-modules/aws/s3_bucket/main.tf @@ -0,0 +1,67 @@ +resource "aws_kms_key" "kms_key" { + description = "This key is used to encrypt bucket objects" + deletion_window_in_days = var.deletion_window_in_days + + enable_key_rotation = var.enable_key_rotation + + tags = var.tags +} + +resource "aws_s3_bucket" "bucket" { + bucket = var.bucket + + tags = var.tags +} + +resource "aws_s3_bucket_server_side_encryption_configuration" "encryption_config" { + bucket = aws_s3_bucket.bucket.bucket + + rule { + apply_server_side_encryption_by_default { + sse_algorithm = "aws:kms" + } + } +} + +resource "aws_s3_bucket_public_access_block" "acl" { + bucket = aws_s3_bucket.bucket.id + + block_public_acls = var.block_public_acls + block_public_policy = var.block_public_policy + ignore_public_acls = var.ignore_public_acls + restrict_public_buckets = var.restrict_public_buckets + +} + +resource "aws_s3_bucket_policy" "bucket_policy" { + bucket = aws_s3_bucket.bucket.id + policy = var.policy +} + +resource "aws_s3_bucket_versioning" "versioning" { + count = var.enable_versioning ? 1 : 0 + + bucket = aws_s3_bucket.bucket.id + versioning_configuration { + status = var.versioning + } +} + +resource "aws_s3_bucket_logging" "logging" { + count = var.enable_logging ? 1 : 0 + + # Bucket to enable logging on + bucket = aws_s3_bucket.bucket.id + + # (Required) The name of the bucket where you want Amazon S3 to store server access logs. + target_bucket = var.logging_bucket_name + target_prefix = "log/" +} + +resource "aws_s3_bucket_ownership_controls" "bucket_ownership_controls" { + count = var.enable_bucket_owner_enforced ? 1 : 0 + bucket = aws_s3_bucket.bucket.id + rule { + object_ownership = "BucketOwnerEnforced" + } +} diff --git a/terraform-modules/aws/s3_bucket/outputs.tf b/terraform-modules/aws/s3_bucket/outputs.tf new file mode 100644 index 000000000..a93afd14d --- /dev/null +++ b/terraform-modules/aws/s3_bucket/outputs.tf @@ -0,0 +1,9 @@ +output "bucket_id" { + description = "The ID of the bucket" + value = aws_s3_bucket.bucket.id +} + +output "bucket_domain_name" { + value = aws_s3_bucket.bucket.bucket_domain_name +} + diff --git a/terraform-modules/aws/s3_bucket/test/go.mod b/terraform-modules/aws/s3_bucket/test/go.mod new file mode 100644 index 000000000..4672cc929 --- /dev/null +++ b/terraform-modules/aws/s3_bucket/test/go.mod @@ -0,0 +1,8 @@ +module github.com/ManagedKube/kubernetes-ops + +go 1.15 + +require ( + github.com/gruntwork-io/terratest v0.32.24 + github.com/stretchr/testify v1.7.0 +) diff --git a/terraform-modules/aws/s3_bucket/test/go.sum b/terraform-modules/aws/s3_bucket/test/go.sum new file mode 100644 index 000000000..f607bb444 --- /dev/null +++ b/terraform-modules/aws/s3_bucket/test/go.sum @@ -0,0 +1,631 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v38.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v46.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= +github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= +github.com/Azure/go-autorest/autorest v0.11.0/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.5/go.mod h1:foo3aIXRQ90zFve3r0QiDsrjGDUwWhKl0ZOQy1CT14k= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= +github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.1/go.mod h1:ea90/jvmnAwDrSooLH4sRIehEPtG/EPUXavDh31MnA4= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.0/go.mod h1:JljT387FplPzBA31vUcvsetLKF3pec5bdAxjVU4kI2s= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= +github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= +github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= +github.com/Azure/go-autorest/autorest/validation v0.3.0/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/agext/levenshtein v1.2.1 h1:QmvMAjj2aEICytGiWzmxoE0x2KZvE0fvmqMOfy2tjT8= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbjdL7GzRt3F8NvfJ0= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.1 h1:MXnqY6SlWySaZAqNnXThOvjRFdiiOuKtC6i7baFdNdU= +github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v0.0.0-20200109221225-a4f60165b7a3/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20190911111923-ecfe977594f1/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0 h1:skJKxRtNmevLqnayafdLe2AsenqRupVmzZSqrvb5caU= +github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-containerregistry v0.0.0-20200110202235-f4fb41bf00a3/go.mod h1:2wIuQute9+hhWqvL3vEI7YB0EKluF4WcPzI1eAliazk= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/gruntwork-io/go-commons v0.8.0 h1:k/yypwrPqSeYHevLlEDmvmgQzcyTwrlZGRaxEM6G0ro= +github.com/gruntwork-io/go-commons v0.8.0/go.mod h1:gtp0yTtIBExIZp7vyIV9I0XQkVwiQZze678hvDXof78= +github.com/gruntwork-io/terratest v0.32.24 h1:ihbpYh05VBNPtru2GGN36xTLrLkdMacCyRuvIOs3lsQ= +github.com/gruntwork-io/terratest v0.32.24/go.mod h1:IBb+b5b7p34oZLfpz/ZADyn8TSKeWSBu+vQMmNeePLE= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.0 h1:B9UzwGQJehnUY1yNrnwREHc3fGbC2xefo8g4TbElacI= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.8.2 h1:wmFle3D1vu0okesm8BTLVDyJ6/OL9DCLUwn0b2OptiY= +github.com/hashicorp/hcl/v2 v2.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= +github.com/hashicorp/terraform-json v0.9.0 h1:WE7+Wt93W93feOiCligElSyS0tlDzwZUtJuDGIBr8zg= +github.com/hashicorp/terraform-json v0.9.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a h1:zPPuIq2jAWWPTrGt70eK/BSch+gFAGrNzecsoENgu2o= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= +github.com/mattn/go-zglob v0.0.2-0.20190814121620-e3c945676326/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 h1:DpOJ2HYzCv8LZP15IdmG+YdwD2luVPHITV96TkirNBM= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/oracle/oci-go-sdk v7.1.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/pquerna/otp v1.2.0 h1:/A3+Jn+cagqayeR3iHs/L62m5ue7710D35zl1zJ1kok= +github.com/pquerna/otp v1.2.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vdemeester/k8s-pkg-credentialprovider v0.0.0-20200107171650-7c61ffa44238/go.mod h1:JwQJCMWpUDqjZrB5jpw0f5VbN7U95zxFy1ZDpoEarGo= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1 h1:vGMsygfmeCl4Xb6OA5U5XVAaQZ69FvoG7X2jUtQujb8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191205215504-7b8c8591a921/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20201110201400-7099162a900a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +k8s.io/api v0.17.0/go.mod h1:npsyOePkeP0CPwyGfXDHxvypiYMJxBWAMpQxCaJ4ZxI= +k8s.io/api v0.19.3/go.mod h1:VF+5FT1B74Pw3KxMdKyinLo+zynBaMBiAfGMuldcNDs= +k8s.io/apimachinery v0.17.0/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= +k8s.io/apimachinery v0.19.3/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= +k8s.io/apiserver v0.17.0/go.mod h1:ABM+9x/prjINN6iiffRVNCBR2Wk7uY4z+EtEGZD48cg= +k8s.io/client-go v0.17.0/go.mod h1:TYgR6EUHs6k45hb6KWjVD6jFZvJV4gHDikv/It0xz+k= +k8s.io/client-go v0.19.3/go.mod h1:+eEMktZM+MG0KO+PTkci8xnbCZHvj9TqR6Q1XDUIJOM= +k8s.io/cloud-provider v0.17.0/go.mod h1:Ze4c3w2C0bRsjkBUoHpFi+qWe3ob1wI2/7cUn+YQIDE= +k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= +k8s.io/component-base v0.17.0/go.mod h1:rKuRAokNMY2nn2A6LP/MiwpoaMRHpfRnrPaUJJj1Yoc= +k8s.io/csi-translation-lib v0.17.0/go.mod h1:HEF7MEz7pOLJCnxabi45IPkhSsE/KmxPQksuCrHKWls= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/legacy-cloud-providers v0.17.0/go.mod h1:DdzaepJ3RtRy+e5YhNtrCYwlgyK87j/5+Yfp0L9Syp8= +k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/terraform-modules/aws/s3_bucket/test/terratest_test.go b/terraform-modules/aws/s3_bucket/test/terratest_test.go new file mode 100644 index 000000000..b80481c5e --- /dev/null +++ b/terraform-modules/aws/s3_bucket/test/terratest_test.go @@ -0,0 +1,77 @@ +package test + +import ( + "math/rand" + "testing" + "time" + + // "github.com/gruntwork-io/terratest/modules/aws" + "github.com/gruntwork-io/terratest/modules/terraform" + "github.com/stretchr/testify/assert" +) + +// Default test +func TestTerraformDefault(t *testing.T) { + t.Parallel() + + // Random string for various dynamic bucket name usage + stringRand := randomString(8) + + terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{ + // The path to where our Terraform code is located + TerraformDir: "../", + + // Dynamic Variables that we should pass in addition to varfile.tfvars + Vars: map[string]interface{}{ + "aws_region": "us-east-1", + "environment_name": "unittest_aws_vpc_" + stringRand, + "vpc_cidr": "10.0.0.0/16", + "enable_nat_gateway": false, + "enable_vpn_gateway": false, + "tags": `{ + ops_env = "unit-test" + ops_managed_by = "terraform", + ops_source_repo = "kubernetes-ops", + ops_source_repo_path = "terraform-module/aws/vpc", + ops_owners = "devops" + }`, + }, + + // Disable colors in Terraform commands so its easier to parse stdout/stderr + NoColor: true, + }) + + // At the end of the test, run `terraform destroy` to clean up any resources that were created + defer terraform.Destroy(t, terraformOptions) + + // This will run `terraform init` and `terraform apply` and fail the test if there are any errors + terraform.InitAndApply(t, terraformOptions) + + // Run `terraform output` to get the values of output variables + actualVPCId := terraform.Output(t, terraformOptions, "vpc_id") + // actualPrivateSubnets := terraform.Output(t, terraformOptions, "private_subnets") + + // awsAccountID := aws.GetAccountId(t) + + // assert.Equal(t, "unittest_aws_iam_policy_"+stringRand, actualPolicyName) + // assert.Equal(t, "arn:aws:iam::"+awsAccountID+":policy/unittest_aws_iam_policy_"+stringRand, actualPolicyArn) + assert.Equal(t, "vpc-", actualVPCId[0:4]) + // assert.Equal(t, 3, len(actualPrivateSubnets)) +} + +func randomString(len int) string { + + rand.Seed(time.Now().UTC().UnixNano()) + bytes := make([]byte, len) + + for i := 0; i < len; i++ { + bytes[i] = byte(randInt(97, 122)) + } + + return string(bytes) +} + +func randInt(min int, max int) int { + + return min + rand.Intn(max-min) +} \ No newline at end of file diff --git a/terraform-modules/aws/s3_bucket/variables.tf b/terraform-modules/aws/s3_bucket/variables.tf new file mode 100644 index 000000000..4d0327a61 --- /dev/null +++ b/terraform-modules/aws/s3_bucket/variables.tf @@ -0,0 +1,94 @@ +variable "aws_region" { + default = "us-east-1" +} + +variable "tags" { + type = map(any) + description = "A map of tags to assign to the bucket. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level." + default = {} +} + +variable "bucket" { + type = string + description = "The name of the bucket. If omitted, Terraform will assign a random, unique name. Must be less than or equal to 63 characters in length." +} + +variable "block_public_acls" { + type = bool + description = "Whether Amazon S3 should block public ACLs for this bucket." +} + +variable "block_public_policy" { + type = bool + description = "Whether Amazon S3 should block public bucket policies for this bucket." +} + +variable "ignore_public_acls" { + type = bool + description = "Whether Amazon S3 should ignore public ACLs for this bucket." +} + +variable "restrict_public_buckets" { + type = bool + description = "Whether Amazon S3 should restrict public bucket policies for this bucket." +} + +variable "policy" { + type = string + default = null +} + +variable "enable_key_rotation" { + type = bool + description = "(Optional) Specifies whether key rotation is enabled. Defaults to false." + default = true +} + +variable "deletion_window_in_days" { + type = number + description = "(Optional) The waiting period, specified in number of days. After the waiting period ends, AWS KMS deletes the KMS key." + default = 10 +} + +variable "enable_versioning" { + type = bool + description = "Enable S3 versioning" + default = true +} + +variable "versioning" { + type = string + description = "(Required) The versioning state of the bucket. Valid values: Enabled, Suspended, or Disabled. Disabled should only be used when creating or importing resources that correspond to unversioned S3 buckets." + default = "Enabled" +} + +variable "enable_logging" { + type = bool + description = "Enable S3 logging" + default = false +} + +variable "logging_bucket_name" { + type = string + description = "(Required) The name of the bucket where you want Amazon S3 to store server access logs. Could be the same as the bucket name." + default = "can-be-the-same-as-the-bucket-name" +} + +variable "logging_bucket_prefix" { + type = string + description = "The prefix to add to the logs" + default = "s3-log/" +} + +variable "enable_bucket_owner_enforced" { + type = bool + description = "BucketOwnerEnforced choice of object ownership, which is used to disable ACL-s." + #Bucket owner enforced (recommended) – ACLs are disabled, and the bucket + #owner automatically owns and has full control over every object in the bucket. + #ACLs no longer affect permissions to data in the S3 bucket. The bucket uses policies + #to define access control. + #https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html + default = true + +} + diff --git a/terraform-modules/aws/security_groups/README.md b/terraform-modules/aws/security_groups/README.md new file mode 100644 index 000000000..fb7868689 --- /dev/null +++ b/terraform-modules/aws/security_groups/README.md @@ -0,0 +1,26 @@ +# AWS Security Group +This creates a set of security groups that can be used on other items. + +## Retrieving the security group by name: + +The `sg_list` output data structure: +``` +sg_list = { + "id" = [ + "sg-0978d62cacw3e8b21", + "sg-06f385f8d8w319d59", + "sg-033cc7d494w3cbe47", + "sg-0071a0c41bwaea18e", + ] + "name" = [ + "dev-foo", + "dev-app", + "dev-bar", + "dev-ami", + ] +``` + +Can use the `index` function to find an index by the name: +``` +module.security_groups.sg_list["id"][index(module.security_groups.sg_list["name"], "dev-app")] +``` \ No newline at end of file diff --git a/terraform-modules/aws/security_groups/main.tf b/terraform-modules/aws/security_groups/main.tf new file mode 100644 index 000000000..e14bd6dd2 --- /dev/null +++ b/terraform-modules/aws/security_groups/main.tf @@ -0,0 +1,23 @@ +// Create the list of all security groups +resource "aws_security_group" "sg" { + count = length(var.security_groups) + name = var.security_groups[count.index].name + vpc_id = var.vpc_id + tags = merge(var.security_groups[count.index].tags, {Name=var.security_groups[count.index].name}) +} + +// loop through the security groups to create the security group rules +// pass source source security group id and name down +module "security_group_loop" { + source = "./security_group_loop" + + count = length(aws_security_group.sg) + + source_security_group_id = aws_security_group.sg[count.index].id + source_security_group_name = var.security_groups[count.index].name + + security_group_list = aws_security_group.sg + + security_group_rule_list = var.security_groups[count.index].config + +} diff --git a/terraform-modules/aws/security_groups/outputs.tf b/terraform-modules/aws/security_groups/outputs.tf new file mode 100644 index 000000000..5c22a4c37 --- /dev/null +++ b/terraform-modules/aws/security_groups/outputs.tf @@ -0,0 +1,18 @@ +output "security_group_id_list" { + value = aws_security_group.sg.*.id +} + +output "security_group_arn_list" { + value = aws_security_group.sg.*.arn +} + +output "security_group_name_list" { + value = aws_security_group.sg.*.name +} + +output "sg_list" { + value = { + name = aws_security_group.sg[*].name + id = aws_security_group.sg[*].id + } +} diff --git a/terraform-modules/aws/security_groups/security_group_loop/main.tf b/terraform-modules/aws/security_groups/security_group_loop/main.tf new file mode 100644 index 000000000..2072e07b0 --- /dev/null +++ b/terraform-modules/aws/security_groups/security_group_loop/main.tf @@ -0,0 +1,15 @@ +// loop through the sg rules list +// pass the allow_group_name name +module "sg_rules_list_loop" { + source = "./sg_rules_list_loop" + + count = length(var.security_group_rule_list) + + security_group_list = var.security_group_list + + source_security_group_id = var.source_security_group_id + source_security_group_name = var.source_security_group_name + + security_group_rule_config = var.security_group_rule_list[count.index] +} + \ No newline at end of file diff --git a/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/main.tf b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/main.tf new file mode 100644 index 000000000..6b56f82ff --- /dev/null +++ b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/main.tf @@ -0,0 +1,12 @@ +// If the allow group name matches the allowed security group name then add it in +resource "aws_security_group_rule" "sg_rule_from_groups" { + count = var.security_group_rule_config.allow_group_name == var.allow_security_group_name ? 1 : 0 + + type = var.security_group_rule_config.sg_type + from_port = var.security_group_rule_config.from_port + to_port = var.security_group_rule_config.to_port + protocol = var.security_group_rule_config.protocol + description = var.security_group_rule_config.description + security_group_id = var.source_security_group_id + source_security_group_id = var.allow_security_group_id +} diff --git a/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/variables.tf b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/variables.tf new file mode 100644 index 000000000..06b5b09ac --- /dev/null +++ b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/allow_sg_group_creation/variables.tf @@ -0,0 +1,19 @@ +variable "source_security_group_id" { + description = "The source security group id of the security group to add the rules to" +} + +variable "source_security_group_name" { + description = "The source security group name of the security group to add the rules to" +} + +variable "security_group_rule_config" { + description = "The security group rule configuration for one rule" +} + +variable "allow_security_group_id" { + description = "The allowed security group ID of the security group to allow to this source_security_group_id" +} + +variable "allow_security_group_name" { + description = "The allowed security group name of the security group to allow to this source_security_group_id" +} diff --git a/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/main.tf b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/main.tf new file mode 100644 index 000000000..f05737801 --- /dev/null +++ b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/main.tf @@ -0,0 +1,40 @@ +// loop through the security groups again to get the sg name/id and pass that down. +module "allow_sg_group_creation" { + source = "./allow_sg_group_creation" + + count = length(var.security_group_list) + + source_security_group_id = var.source_security_group_id + source_security_group_name = var.source_security_group_name + + security_group_rule_config = var.security_group_rule_config + + allow_security_group_id = var.security_group_list[count.index].id + allow_security_group_name = var.security_group_list[count.index].name +} + +// Add cidr block rules +resource "aws_security_group_rule" "sg_rule_from_cidr" { + count = length(var.security_group_rule_config.cidr_blocks) > 0 ? 1 : 0 + + type = var.security_group_rule_config.sg_type + from_port = var.security_group_rule_config.from_port + to_port = var.security_group_rule_config.to_port + protocol = var.security_group_rule_config.protocol + description = var.security_group_rule_config.description + security_group_id = var.source_security_group_id + cidr_blocks = var.security_group_rule_config.cidr_blocks +} + +// Add external sg group +resource "aws_security_group_rule" "sg_rule_from_external_sg" { + count = var.security_group_rule_config.group_type == "external_sg" ? 1 : 0 + + type = var.security_group_rule_config.sg_type + from_port = var.security_group_rule_config.from_port + to_port = var.security_group_rule_config.to_port + protocol = var.security_group_rule_config.protocol + description = var.security_group_rule_config.description + security_group_id = var.source_security_group_id + source_security_group_id = var.security_group_rule_config.allow_group_name +} diff --git a/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/variables.tf b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/variables.tf new file mode 100644 index 000000000..b165defe9 --- /dev/null +++ b/terraform-modules/aws/security_groups/security_group_loop/sg_rules_list_loop/variables.tf @@ -0,0 +1,15 @@ +variable "security_group_list" { + description = "The security groups list that was created in the previous step" +} + +variable "source_security_group_id" { + description = "The source security group id of the security group to add the rules to" +} + +variable "source_security_group_name" { + description = "The source security group name of the security group to add the rules to" +} + +variable "security_group_rule_config" { + description = "The security group rule configuration for one rule" +} diff --git a/terraform-modules/aws/security_groups/security_group_loop/variables.tf b/terraform-modules/aws/security_groups/security_group_loop/variables.tf new file mode 100644 index 000000000..e5c75670e --- /dev/null +++ b/terraform-modules/aws/security_groups/security_group_loop/variables.tf @@ -0,0 +1,15 @@ +variable "source_security_group_id" { + description = "The source security group id of the security group to add the rules to" +} + +variable "source_security_group_name" { + description = "The source security group name of the security group to add the rules to" +} + +variable "security_group_list" { + description = "The security groups list that was created in the previous step" +} + +variable "security_group_rule_list" { + description = "Security group rules list to add to this security group" +} diff --git a/terraform-modules/aws/security_groups/test/go.mod b/terraform-modules/aws/security_groups/test/go.mod new file mode 100644 index 000000000..4672cc929 --- /dev/null +++ b/terraform-modules/aws/security_groups/test/go.mod @@ -0,0 +1,8 @@ +module github.com/ManagedKube/kubernetes-ops + +go 1.15 + +require ( + github.com/gruntwork-io/terratest v0.32.24 + github.com/stretchr/testify v1.7.0 +) diff --git a/terraform-modules/aws/security_groups/test/go.sum b/terraform-modules/aws/security_groups/test/go.sum new file mode 100644 index 000000000..f607bb444 --- /dev/null +++ b/terraform-modules/aws/security_groups/test/go.sum @@ -0,0 +1,631 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go v35.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v38.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v46.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.3/go.mod h1:GsRuLYvwzLjjjRoWEIyMUaYq8GNUx2nRB378IPt/1p0= +github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= +github.com/Azure/go-autorest/autorest v0.11.0/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= +github.com/Azure/go-autorest/autorest v0.11.5/go.mod h1:foo3aIXRQ90zFve3r0QiDsrjGDUwWhKl0ZOQy1CT14k= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= +github.com/Azure/go-autorest/autorest/adal v0.8.1/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= +github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.2/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.1/go.mod h1:ea90/jvmnAwDrSooLH4sRIehEPtG/EPUXavDh31MnA4= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.0/go.mod h1:JljT387FplPzBA31vUcvsetLKF3pec5bdAxjVU4kI2s= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/autorest/to v0.2.0/go.mod h1:GunWKJp1AEqgMaGLV+iocmRAJWqST1wQYhyyjXJ3SJc= +github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsIWKAfJfgHDo8ObuUk3t5sA= +github.com/Azure/go-autorest/autorest/validation v0.1.0/go.mod h1:Ha3z/SqBeaalWQvokg3NZAlQTalVMtOIAs1aGK7G6u8= +github.com/Azure/go-autorest/autorest/validation v0.3.0/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20190822182118-27a4ced34534/go.mod h1:iroGtC8B3tQiqtds1l+mgk/BBOrxbqjH+eUfFQYRc14= +github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/agext/levenshtein v1.2.1 h1:QmvMAjj2aEICytGiWzmxoE0x2KZvE0fvmqMOfy2tjT8= +github.com/agext/levenshtein v1.2.1/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/apparentlymart/go-dump v0.0.0-20180507223929-23540a00eaa3/go.mod h1:oL81AME2rN47vu18xqj1S1jPIPuN7afo62yKTNn3XMM= +github.com/apparentlymart/go-textseg v1.0.0 h1:rRmlIsPEEhUTIKQb7T++Nz/A5Q6C9IuX2wFoYVvnCs0= +github.com/apparentlymart/go-textseg v1.0.0/go.mod h1:z96Txxhf3xSFMPmb5X/1W05FF/Nj9VFpLOpjS5yuumk= +github.com/apparentlymart/go-textseg/v12 v12.0.0 h1:bNEQyAGak9tojivJNkoqWErVCQbjdL7GzRt3F8NvfJ0= +github.com/apparentlymart/go-textseg/v12 v12.0.0/go.mod h1:S/4uRK2UtaQttw1GenVJEynmyUenKwP++x/+DdGV/Ec= +github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= +github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= +github.com/aws/aws-sdk-go v1.16.26/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/aws/aws-sdk-go v1.27.1 h1:MXnqY6SlWySaZAqNnXThOvjRFdiiOuKtC6i7baFdNdU= +github.com/aws/aws-sdk-go v1.27.1/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc h1:biVzkmvwrH8WK8raXaxBx6fRVTlJILwEwQGL1I/ByEI= +github.com/boombuler/barcode v1.0.1-0.20190219062509-6c824513bacc/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= +github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= +github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man v1.0.10 h1:BSKMNlYxDvnunlTymqtgONjNnaRV1sTpcovwwjF22jk= +github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0 h1:EoUDS0afbrsXAZ9YQ9jdu/mZ2sXgT1/2yyNng4PGlyM= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= +github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v0.0.0-20200109221225-a4f60165b7a3/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20190911111923-ecfe977594f1/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0 h1:skJKxRtNmevLqnayafdLe2AsenqRupVmzZSqrvb5caU= +github.com/go-errors/errors v1.0.2-0.20180813162953-d98b870cc4e0/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-sql-driver/mysql v1.4.1 h1:g24URVg0OFbNUTx9qqY1IRZ9D9z3iPyi5zKhQZpNwpA= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-test/deep v1.0.3/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.1.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-containerregistry v0.0.0-20200110202235-f4fb41bf00a3/go.mod h1:2wIuQute9+hhWqvL3vEI7YB0EKluF4WcPzI1eAliazk= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.2.2/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= +github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= +github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= +github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/gruntwork-io/go-commons v0.8.0 h1:k/yypwrPqSeYHevLlEDmvmgQzcyTwrlZGRaxEM6G0ro= +github.com/gruntwork-io/go-commons v0.8.0/go.mod h1:gtp0yTtIBExIZp7vyIV9I0XQkVwiQZze678hvDXof78= +github.com/gruntwork-io/terratest v0.32.24 h1:ihbpYh05VBNPtru2GGN36xTLrLkdMacCyRuvIOs3lsQ= +github.com/gruntwork-io/terratest v0.32.24/go.mod h1:IBb+b5b7p34oZLfpz/ZADyn8TSKeWSBu+vQMmNeePLE= +github.com/hashicorp/errwrap v1.0.0 h1:hLrqtEDnRye3+sgx6z4qVLNuviH3MR5aQ0ykNJa/UYA= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.0 h1:B9UzwGQJehnUY1yNrnwREHc3fGbC2xefo8g4TbElacI= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.8.2 h1:wmFle3D1vu0okesm8BTLVDyJ6/OL9DCLUwn0b2OptiY= +github.com/hashicorp/hcl/v2 v2.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY= +github.com/hashicorp/terraform-json v0.9.0 h1:WE7+Wt93W93feOiCligElSyS0tlDzwZUtJuDGIBr8zg= +github.com/hashicorp/terraform-json v0.9.0/go.mod h1:3defM4kkMfttwiE7VakJDwCd4R+umhSQnvJwORXbprE= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a h1:zPPuIq2jAWWPTrGt70eK/BSch+gFAGrNzecsoENgu2o= +github.com/jinzhu/copier v0.0.0-20190924061706-b57f9002281a/go.mod h1:yL958EeXv8Ylng6IfnvG4oflryUi3vgA3xPs9hmII1s= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af h1:pmfjZENx5imkbgOkpRUYLnmbU7UEFbjtDA2hxJ1ichM= +github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= +github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-zglob v0.0.1/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= +github.com/mattn/go-zglob v0.0.2-0.20190814121620-e3c945676326/go.mod h1:9fxibJccNxU2cnpIKLRRFA7zX7qhkJIQWBb449FYHOo= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7 h1:DpOJ2HYzCv8LZP15IdmG+YdwD2luVPHITV96TkirNBM= +github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= +github.com/oracle/oci-go-sdk v7.1.0+incompatible/go.mod h1:VQb79nF8Z2cwLkLS35ukwStZIg5F66tcBccjip/j888= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/pquerna/otp v1.2.0 h1:/A3+Jn+cagqayeR3iHs/L62m5ue7710D35zl1zJ1kok= +github.com/pquerna/otp v1.2.0/go.mod h1:dkJfzwRKNiegxyNb54X/3fLwhCynbMspSyWKnvi1AEg= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto= +github.com/russross/blackfriday v1.5.2 h1:HyvC0ARfnZBqnXwABFeSZHpKvJHJJfPz81GNueLj0oo= +github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= +github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= +github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= +github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.2 h1:gsqYFH8bb9ekPA12kRo0hfjngWQjkJPlN9R0N78BoUo= +github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/vdemeester/k8s-pkg-credentialprovider v0.0.0-20200107171650-7c61ffa44238/go.mod h1:JwQJCMWpUDqjZrB5jpw0f5VbN7U95zxFy1ZDpoEarGo= +github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk= +github.com/vmware/govmomi v0.20.3/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +github.com/zclconf/go-cty v1.2.1 h1:vGMsygfmeCl4Xb6OA5U5XVAaQZ69FvoG7X2jUtQujb8= +github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8= +go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201021035429-f5854403a974 h1:IX6qOQeG5uLjB/hjjwjedwfjND0hgjPMMyO1RoIXQNI= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191205215504-7b8c8591a921/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20201110201400-7099162a900a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.6.1-0.20190607001116-5213b8090861/go.mod h1:btoxGiFvQNVUZQ8W08zLtrVS08CNpINPEfxXxgJL1Q4= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +k8s.io/api v0.17.0/go.mod h1:npsyOePkeP0CPwyGfXDHxvypiYMJxBWAMpQxCaJ4ZxI= +k8s.io/api v0.19.3/go.mod h1:VF+5FT1B74Pw3KxMdKyinLo+zynBaMBiAfGMuldcNDs= +k8s.io/apimachinery v0.17.0/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= +k8s.io/apimachinery v0.19.3/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= +k8s.io/apiserver v0.17.0/go.mod h1:ABM+9x/prjINN6iiffRVNCBR2Wk7uY4z+EtEGZD48cg= +k8s.io/client-go v0.17.0/go.mod h1:TYgR6EUHs6k45hb6KWjVD6jFZvJV4gHDikv/It0xz+k= +k8s.io/client-go v0.19.3/go.mod h1:+eEMktZM+MG0KO+PTkci8xnbCZHvj9TqR6Q1XDUIJOM= +k8s.io/cloud-provider v0.17.0/go.mod h1:Ze4c3w2C0bRsjkBUoHpFi+qWe3ob1wI2/7cUn+YQIDE= +k8s.io/code-generator v0.0.0-20191121015212-c4c8f8345c7e/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= +k8s.io/component-base v0.17.0/go.mod h1:rKuRAokNMY2nn2A6LP/MiwpoaMRHpfRnrPaUJJj1Yoc= +k8s.io/csi-translation-lib v0.17.0/go.mod h1:HEF7MEz7pOLJCnxabi45IPkhSsE/KmxPQksuCrHKWls= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= +k8s.io/legacy-cloud-providers v0.17.0/go.mod h1:DdzaepJ3RtRy+e5YhNtrCYwlgyK87j/5+Yfp0L9Syp8= +k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v1.0.1-0.20191108220359-b1b620dd3f06/go.mod h1:/ULNhyfzRopfcjskuui0cTITekDduZ7ycKN3oUT9R18= +sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/terraform-modules/aws/security_groups/test/terratest_test.go b/terraform-modules/aws/security_groups/test/terratest_test.go new file mode 100644 index 000000000..7cb8d4f00 --- /dev/null +++ b/terraform-modules/aws/security_groups/test/terratest_test.go @@ -0,0 +1,185 @@ +package test + +import ( + "math/rand" + "testing" + "time" + + // "github.com/gruntwork-io/terratest/modules/aws" + "github.com/gruntwork-io/terratest/modules/terraform" + "github.com/stretchr/testify/assert" +) + +// Default test +func TestTerraformDefault(t *testing.T) { + t.Parallel() + + // Random string for various dynamic bucket name usage + stringRand := randomString(8) + vpc := "vpc-0b8751c278512e5c3" + securityGroupForExternalSGTest := "sg-0522d4b134c4a719b" // Default security group for the VPC + group0Name := "group0-" + stringRand + group1Name := "group1-" + stringRand + + terraformOptions := terraform.WithDefaultRetryableErrors(t, &terraform.Options{ + // The path to where our Terraform code is located + TerraformDir: "../", + + // Dynamic Variables that we should pass in addition to varfile.tfvars + // VarFiles: []string{ + // "./test/var1.tfvars", + // }, + + Vars: map[string]interface{}{ + "vpc_id": vpc, + "security_groups": []interface{}{ + 0: map[string]interface{}{ + "name": group0Name, + "config": []interface{}{ + 0: map[string]interface{}{ + "enabled": "true", + "sg_type": "ingress", + "allow_group_name": group1Name, + "group_type": "internal_mapping", + "from_port": "10111", + "to_port": "10111", + "protocol": "tcp", + "cidr_blocks": []interface{}{}, + "description": "Allowing group " + group1Name + " on port 10111", + }, + 1: map[string]interface{}{ + "enabled": "true", + "sg_type": "ingress", + "allow_group_name": group1Name, + "group_type": "internal_mapping", + "from_port": "10112", + "to_port": "10112", + "protocol": "tcp", + "cidr_blocks": []interface{}{}, + "description": "Allowing group " + group1Name + " on port 10112", + }, + 2: map[string]interface{}{ + "enabled": "true", + "sg_type": "egress", + "allow_group_name": "", + "group_type": "cidr_blocks", + "from_port": "-1", + "to_port": "-1", + "protocol": "-1", + // "cidr_blocks": []interface{}{}, + "cidr_blocks": []interface{}{ + "0.0.0.0/0", + }, + "description": "Allowing egress", + }, + 3: map[string]interface{}{ + "enabled": "true", + "sg_type": "egress", + "allow_group_name": "", + "group_type": "cidr_blocks", + "from_port": "-1", + "to_port": "-1", + "protocol": "-1", + "cidr_blocks": []interface{}{}, + "description": "Allowing egress", + }, + 4: map[string]interface{}{ + "enabled": "true", + "sg_type": "egress", + "allow_group_name": securityGroupForExternalSGTest, + "group_type": "external_sg", + "from_port": "-1", + "to_port": "-1", + "protocol": "-1", + "cidr_blocks": []interface{}{}, + "description": "Allowing egress from externally created SG", + }, + }, + "tags": map[string]interface{}{ + "purpose": "terratest", + "repo": "managedkube", + "repo-path": "terraform-modules/aws/node_list/test", + "node_group": group0Name, + }, + }, + 1: map[string]interface{}{ + "name": group1Name, + "config": []interface{}{ + 0: map[string]interface{}{ + "enabled": "true", + "sg_type": "ingress", + "allow_group_name": group0Name, + "group_type": "internal_mapping", + "from_port": "10011", + "to_port": "10011", + "protocol": "tcp", + "cidr_blocks": []interface{}{}, + "description": "Allowing group " + group0Name + " on port 10011", + }, + 1: map[string]interface{}{ + "enabled": "true", + "sg_type": "ingress", + "allow_group_name": group0Name, + "group_type": "internal_mapping", + "from_port": "10022", + "to_port": "10022", + "protocol": "tcp", + "cidr_blocks": []interface{}{}, + "description": "Allowing group " + group0Name + " on port 10022", + }, + }, + "tags": map[string]interface{}{ + "purpose": "terratest", + "repo": "managedkube", + "repo-path": "terraform-modules/aws/node_list/test", + "node_group": group1Name, + }, + }, + }, + }, + + // Disable colors in Terraform commands so its easier to parse stdout/stderr + NoColor: true, + }) + + // At the end of the test, run `terraform destroy` to clean up any resources that were created + defer terraform.Destroy(t, terraformOptions) + + // This will run `terraform init` and `terraform apply` and fail the test if there are any errors + terraform.InitAndApply(t, terraformOptions) + + // Run `terraform output` to get the values of output variables + outputSecurityGroupModuleNameList := terraform.OutputList(t, terraformOptions, "security_group_name_list") + outputSecurityGroupRuleModuleSGList := terraform.OutputList(t, terraformOptions, "security_group_id_list") + + // awsAccountID := aws.GetAccountId(t) + + // check if node0's name is accurate + assert.Equal(t, outputSecurityGroupModuleNameList[0], group0Name) + // check if node1's name is accurate + assert.Equal(t, outputSecurityGroupModuleNameList[1], group1Name) + + // Check that there are 3 SG rules total for the items above + // This is checking how many SG rule set groups are being created. There should be one for each + // security group. + numberOfSGRulesExpected := 2 + assert.Equal(t, len(outputSecurityGroupRuleModuleSGList), numberOfSGRulesExpected) + +} + +func randomString(len int) string { + + rand.Seed(time.Now().UTC().UnixNano()) + bytes := make([]byte, len) + + for i := 0; i < len; i++ { + bytes[i] = byte(randInt(97, 122)) + } + + return string(bytes) +} + +func randInt(min int, max int) int { + + return min + rand.Intn(max-min) +} diff --git a/terraform-modules/aws/security_groups/variables.tf b/terraform-modules/aws/security_groups/variables.tf new file mode 100644 index 000000000..240daba44 --- /dev/null +++ b/terraform-modules/aws/security_groups/variables.tf @@ -0,0 +1,78 @@ +variable "vpc_id" { + type = string + description = "VPC ID" +} + +variable "security_groups" { + # type = any + type = list(object({ + name = string, + config = list(object({ + enabled = bool, + sg_type = string, + allow_group_name = string, + group_type = string, + from_port = string, + to_port = string, + protocol = string, + cidr_blocks = list(string), + description = string, + })), + tags = map(any), + })) + + description = "Security groups grouping config" + + # default = [ + # { + # name = "group-name", + # config = [ + # { + # enabled = true, + # sg_type = "ingress", + # allow_group_name = "node2", + # group_type = "internal_mapping" + # from_port = "1234", + # to_port = "1234" + # protocol = "tcp", + # cidr_blocks = [], + # description = "Allowing node2 on port 1234" + # }, + # { + # enabled = true, + # sg_type = "ingress", + # allow_group_name = "node2", + # group_type = "internal_mapping" + # from_port = "1234", + # to_port = "1234" + # protocol = "tcp", + # cidr_blocks = [], + # description = "Allowing node2 on port 1234" + # }, + # { + # enabled = true, + # sg_type = "ingress", + # allow_group_name = "null", + # group_type = "cidr_blocks" + # from_port = "-1", + # to_port = "-1" + # protocol = "tcp", + # cidr_blocks = ["0.0.0.0/0"], + # description = "Allowing cidr block" + # }, + # { + # enabled = true, + # sg_type = "ingress", + # allow_group_name = "sg-xxxxxx", + # group_type = "external_sg" + # from_port = "-1", + # to_port = "-1" + # protocol = "-1", + # cidr_blocks = [], + # description = "Allowing an externally created sg group" + # }, + # ], + # tags = {} + # } + # ], +} diff --git a/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/openmetrics.d/conf.yaml.tpl b/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/openmetrics.d/conf.yaml.tpl new file mode 100644 index 000000000..c13b60f1e --- /dev/null +++ b/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/openmetrics.d/conf.yaml.tpl @@ -0,0 +1,68 @@ +## All options defined here are available to all instances. +# +init_config: + + ## @param proxy - mapping - optional + ## Set HTTP or HTTPS proxies for all instances. Use the `no_proxy` list + ## to specify hosts that must bypass proxies. + ## + ## The SOCKS protocol is also supported like so: + ## + ## socks5://user:pass@host:port + ## + ## Using the scheme `socks5` causes the DNS resolution to happen on the + ## client, rather than on the proxy server. This is in line with `curl`, + ## which uses the scheme to decide whether to do the DNS resolution on + ## the client or proxy. If you want to resolve the domains on the proxy + ## server, use `socks5h` as the scheme. + # + # proxy: + # http: http://: + # https: https://: + # no_proxy: + # - + # - + + ## @param skip_proxy - boolean - optional - default: false + ## If set to `true`, this makes the check bypass any proxy + ## settings enabled and attempt to reach services directly. + # + # skip_proxy: false + + ## @param timeout - number - optional - default: 10 + ## The timeout for connecting to services. + # + # timeout: 10 + + ## @param service - string - optional + ## Attach the tag `service:` to every metric, event, and service check emitted by this integration. + ## + ## Additionally, this sets the default `service` for every log source. + # + # service: + +## Every instance is scheduled independent of the others. +# +instances: + + ## @param prometheus_url - string - required + ## The URL where your application metrics are exposed by Prometheus. + # + - prometheus_url: ${prometheus_url} + + ## @param namespace - string - required + ## The namespace to be prepended to all metrics. + # + namespace: ${namespace} + + ## @param metrics - (list of string or mapping) - required + ## List of metrics to be fetched from the prometheus endpoint, if there's a + ## value it'll be renamed. This list should contain at least one metric. + # + metrics: + - processor:cpu + - memory:mem + - io + - prometheus* + - net* + - go* \ No newline at end of file diff --git a/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/someconfig.conf b/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/someconfig.conf new file mode 100644 index 000000000..c9f0304f6 --- /dev/null +++ b/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/files/someconfig.conf @@ -0,0 +1 @@ +foo=bar \ No newline at end of file diff --git a/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/run.sh b/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/run.sh new file mode 100755 index 000000000..afae5070f --- /dev/null +++ b/terraform-modules/aws/ssm_config/run_remote_script/file_sets/datadog/run.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# output run information +echo "######################################" >> run_output.txt +echo "######################################" >> run_output.txt +echo "Start of the run: $(date)" >> run_output.txt +echo "pwd: $(pwd)" >> run_output.txt + +echo "Copying file to: /etc/datadog-agent/conf.d/openmetrics.d/conf.yaml" >> run_output.txt +cp ./files/openmetrics.d/conf.yaml.tpl /etc/datadog-agent/conf.d/openmetrics.d/conf.yaml + +# output run information +echo "Finished: $(date)" >> run_output.txt +echo "######################################" >> run_output.txt +echo "######################################" >> run_output.txt diff --git a/terraform-modules/aws/ssm_config/run_remote_script/main.tf b/terraform-modules/aws/ssm_config/run_remote_script/main.tf new file mode 100644 index 000000000..1b66177ba --- /dev/null +++ b/terraform-modules/aws/ssm_config/run_remote_script/main.tf @@ -0,0 +1,48 @@ +locals { + upload_directory = var.use_local_files ? var.local_upload_directory : "${path.module}/file_sets/${var.file_set_to_upload}/" + + # https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-s3-shell.html + # Step 5 the Source Info json + source_info = { + path = "https://s3.amazonaws.com/${var.s3_bucket_name}/${var.s3_bucket_key_path}${var.file_set_to_upload}/" + } +} + +resource "aws_ssm_association" "this" { + name = "AWS-RunRemoteScript" + + parameters = { + sourceType = "S3" + sourceInfo = "${jsonencode(local.source_info)}" + commandLine = var.run_command + workingDirectory = "${var.upload_working_dir}/${var.s3_bucket_key_path}${var.file_set_to_upload}" + executionTimeout = var.execution_time + } + + targets { + key = "tag:${var.target_ec2_tag_key}" + values = var.target_ec2_tag_values + } + + depends_on = [ + aws_s3_bucket_object.files, + ] +} + +# Updloads all the files/folders based on the var.file_set_to_upload +resource "aws_s3_bucket_object" "files" { + for_each = fileset(local.upload_directory, "**/*.*") + bucket = var.s3_bucket_name + key = "${var.s3_bucket_key_path}${var.file_set_to_upload}/${replace(each.value, local.upload_directory, "")}" + content = templatefile("${local.upload_directory}${each.value}", { + ############################################# + # All template vars for the various file_sets + ############################################# + # Datadog file_sets var + prometheus_url = var.datadog_template_vars.prometheus_url + namespace = var.datadog_template_vars.namespace + }) + acl = "private" + source_hash = filemd5("${local.upload_directory}${each.value}") + server_side_encryption = "AES256" +} diff --git a/terraform-modules/aws/ssm_config/run_remote_script/variables.tf b/terraform-modules/aws/ssm_config/run_remote_script/variables.tf new file mode 100644 index 000000000..dd839a4a0 --- /dev/null +++ b/terraform-modules/aws/ssm_config/run_remote_script/variables.tf @@ -0,0 +1,68 @@ +variable "s3_bucket_name" { + type = string + default = "rpg-featurespace-ssm-run-script-for-unit-testing-purposes" + description = "The bucket name to hold the SSM script and file items" +} + +variable "s3_bucket_key_path" { + type = string + default = "node_configs/" + description = "The bucket sub folder to put the items into." +} + +variable "target_ec2_tag_key" { + type = string + default = "node_list_group_name" + description = "The EC2 instance tag key name to target" +} + +variable "target_ec2_tag_values" { + type = list(string) + default = ["rpg-featurespace-dev-app-cep", "foo"] + description = "The EC2 instance tag values to target" +} + +variable "upload_working_dir" { + type = string + default = "/tmp/ssm-configs" + description = "The location on the remote server to update the files to" +} + +variable "execution_time" { + type = string + default = "3600" + description = "The max execution time for the script" +} + +variable "file_set_to_upload" { + type = string + default = "datadog" + description = "The file set directory to upload and run on the remote server(s)" +} + +variable "run_command" { + type = string + default = "run.sh" + description = "The script to execute." +} + +variable "datadog_template_vars" { + type = map + description = "Templating: Datadog input variables" + default = { + prometheus_url = "http://localhost:9090/api/prometheus/metrics" + namespace = "name-to-prepend" + } +} + +variable "use_local_files" { + type = bool + description = "Flag to upload files from your local path or files from this module in the file_sets. If this is set to true, the input local_upload_directory is required." + default = false +} + +variable "local_upload_directory" { + type = string + description = "The local file path to upload. Example, if uploading a directory named `file` from the same location where you are instantiation this module from. The input var should be: `./files/`" + default = null +} diff --git a/terraform-modules/aws/standard-bucket-replication/README.md b/terraform-modules/aws/standard-bucket-replication/README.md new file mode 100644 index 000000000..bdfdb6ea8 --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/README.md @@ -0,0 +1,68 @@ +# Standard AWS Bucket with Replication + +Standard Bucket creates an S3 Bucket using the publicly available [aws bucket terraform implementation](github.com/terraform-aws-modules/terraform-aws-s3-bucket) that is able to setup S3 replication as an option to another bucket (same region or different region). You can +use this module to create a single bucket or a single bucket that replicates to another. If you think you will ever have requirements +to replicate your bucket, you should use this module instead of the `standard-bucket` module. + +NOTE: Due to a bug in the AWS Terraform provider 'false' actually creates the bucket with versioning enabled but suspended. 'true' properly enables versioning. https://github.com/hashicorp/terraform-provider-aws/issues/4494 + +The goals: +* Enable simple PRs for AWS bucket requests. +* Enable simple setup of a replicated S3 bucket setup + +Background: + +Review [Self Service Terraform Modules Document](https://qadium.atlassian.net/wiki/spaces/EN/pages/1704329276/Self-Service+Terraform+Modules+WIP) + +## Module Usage + +This module creates an AWS S3 Bucket + +| Parameter Name | Required | Default Value | Description | +| --- | --- | --- | --- | +| bucket_name | **Yes** | | The name of the bucket. | +| env | **Yes** | | environment name for the bucket. | +| region | **Yes** | | gcp region for the bucket. | +| group | **Yes** | | group owner | +| acl | **No** | private | The canned ACL to apply. Defaults to 'private'. | +| tags | **No** | {} | Override Bucket tags derived from env and group parameters. | +| policy | **No** | null | Optional bucket policy to provide. | +| attach_policy | **No** | false | attatch the bucket policy default is false. | +| versioning | **No** | false | enable bucket versioning. NOTE: Due to a bug in the AWS Terraform provider 'false' actually creates the bucket with versioning enabled but suspended. 'true' properly enables versioning. | +| sse_algorithm | **No** | AES256 | bucket's server side side encryption algorithm. | +| cors_rule | **No** | [] | list of maps representing Cross-Origin Resource rules. | +| lifecycle_rules | **No** | [] | list of bucket object lifecycle rules. | +| block_public_acls | **No** | false | block public ACLs for this bucket default is false | +| block_public_policy | **No** | false | block public bucket policies for this bucket default is false | +| ignore_public_acls | **No** | false | ignore public ACLs for this bucket default is false | +| restrict_public_buckets | **No** | false | restrict public policies for this bucket default is false | +| replica_provider_profile | **No** | | AWS profile to use for the replica bucket| +| enable_replication | **No** | false | Enable replication or not: 0 or 1 | +| replica_region | **No** | | Region to create s3 replica bucket in| +| replica_bucket_name | **No** | | Replica bucket name | + + +## Supported Outputs +The following outputs are supported as part of this module: + +| Output Name | Description | +| --- | --- | +| bucket_id | name of created bucket if creating a none replicated bucket | +| bucket_arn | arn of created bucket if creating a none replicated bucket | +| bucket_id_source_replica | name of the source bucket if creating a replicated bucket | +| bucket_arn_source_replica | arn of the source bucket if creating a replicated bucket | +| bucket_id_replica | name of the replicated bucket if creating a replicated bucket | +| bucket_arn_replica | arn of the replicated bucket if creating a replicated bucket | + +## iam_members syntax: + + +## Examples + +### Terraform + +* See [tested default example](examples/default/) + +### Terragrunt + +* See [terragrunt.hcl](examples/terragrunt/terragrunt.hcl) diff --git a/terraform-modules/aws/standard-bucket-replication/default-variables.tf b/terraform-modules/aws/standard-bucket-replication/default-variables.tf new file mode 100644 index 000000000..a999f34e3 --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/default-variables.tf @@ -0,0 +1,97 @@ +variable "acl" { + description = "bucket acl" + type = string + default = "private" +} + +variable "tags" { + description = "override bucket tags" + type = map(string) + default = {} +} + +variable "policy" { + description = "The bucket policy" + default = null +} + +variable "attach_policy" { + default = false +} + +variable "versioning" { + description = "Set to true to enable s3 bucket versioning" + type = bool + default = true +} + +variable "sse_algorithm" { + description = "The SSE encryption algorithm to use" + type = string + default = "AES256" +} + +variable "lifecycle_rules" { + description = "List of maps containing configuration of object lifecycle management." + type = any + default = [] +} + +variable "cors_rule" { + description = "List of maps containing rules for Cross-Origin Resource Sharing." + type = any + default = [] +} + + +variable "block_public_acls" { + type = bool + description = "block public ACLs for this bucket" + default = false +} + +variable "block_public_policy" { + type = bool + description = "block public bucket policies for this bucket" + default = false +} + +variable "ignore_public_acls" { + type = bool + description = "should ignore public ACLs for this bucket" + default = false +} + +variable "restrict_public_buckets" { + type = bool + description = "restrict public bucket policies for this bucket" + default = false +} + +variable "enable_replication" { + type = number + description = "Flag to enable S3 bucket replication | 0=off, 1=on" + default = 0 +} + +variable "replica_region" { + type = string + description = "The AWS region for the replica bucket" + default = "us-west-2" +} + +variable "replica_bucket_name" { + description = "name of the replica S3 Bucket" + type = string + default = "" +} + +variable "policy_replica" { + description = "The replica's bucket policy" + default = null +} + +variable "replica_provider_profile" { + description = "The AWS profile to use for the replica aws provider" + default = null +} diff --git a/terraform-modules/aws/standard-bucket-replication/examples.orig/default/main.tf b/terraform-modules/aws/standard-bucket-replication/examples.orig/default/main.tf new file mode 100644 index 000000000..1c80cb520 --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/examples.orig/default/main.tf @@ -0,0 +1,57 @@ +locals { + bucket_name = "test-test-1234-test-test-1234" + env = "dev" + region = "us-east-1" + group = "devops" +} + +module "bucket-with-replication" { + source = "../.." + + bucket_name = local.bucket_name + env = local.env + region = local.region + group = local.group + lifecycle_rules = [ + { + enabled = true + expiration = { + days = 90 + } + } + ] + + # Replication settings + replica_provider_profile = "qadium-dev" + enable_replication = 1 + replica_region = "us-west-2" + replica_bucket_name = "${local.bucket_name}-replica" + policy_replica = < with appropriate shared-terraform-modules tag number +terraform { + source = "git::ssh://git@github.q-internal.tech/qadium/shared-terraform-modules.git//aws/s3/standard-bucket?ref=v" +} + +inputs = { + bucket_name = "expanse-benchmark-reports-staging" + region = "us-west-2" + env = "prod" + group = "engineering" + cors_rule = [ + { + allowed_headers = ["*"] + allowed_methods = ["GET"] + allowed_origins = ["https://internal-tool.expander.staging.qadium.com"] + } + ] +} diff --git a/terraform-modules/aws/standard-bucket-replication/main.tf b/terraform-modules/aws/standard-bucket-replication/main.tf new file mode 100644 index 000000000..5295ef54d --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/main.tf @@ -0,0 +1,240 @@ +locals { + has_bucket_public_access_block = (var.block_public_acls || var.block_public_policy || var.ignore_public_acls || var.restrict_public_buckets) ? 1 : 0 +} + +terraform { + # This module is now only being tested with Terraform 0.13.3. test edit + required_version = ">= 0.13.3" +} + +data "aws_caller_identity" "current" {} + +provider "aws" { + profile = var.replica_provider_profile + region = var.replica_region + + alias = "replica" +} + +module "bucket-tags" { + source = "../../tags" + + env = var.env + group = var.group + name = var.bucket_name + region = var.region +} + +# Single bucket usage. No replication enabled. +module "terraform-aws-s3-bucket-single-bucket" { + source = "github.com/terraform-aws-modules/terraform-aws-s3-bucket?ref=v2.6.0" + count = var.enable_replication == 1 ? 0 : 1 + bucket = var.bucket_name + tags = module.bucket-tags.tags + acl = var.acl + policy = var.policy + attach_policy = var.attach_policy + cors_rule = var.cors_rule + + server_side_encryption_configuration = { + rule = { + apply_server_side_encryption_by_default = { + sse_algorithm = var.sse_algorithm + } + } + } + + versioning = { + enabled = var.versioning + } + + lifecycle_rule = var.lifecycle_rules + +} + +resource "aws_s3_bucket_public_access_block" "single-bucket" { + count = local.has_bucket_public_access_block + bucket = module.terraform-aws-s3-bucket-single-bucket[0].s3_bucket_id + block_public_acls = var.block_public_acls + block_public_policy = var.block_public_policy + ignore_public_acls = var.ignore_public_acls + restrict_public_buckets = var.restrict_public_buckets +} + +module "terraform-aws-s3-bucket-source-replica" { + source = "github.com/terraform-aws-modules/terraform-aws-s3-bucket?ref=v2.6.0" + count = var.enable_replication + bucket = var.bucket_name + tags = module.bucket-tags.tags + acl = var.acl + policy = var.policy + attach_policy = var.attach_policy + cors_rule = var.cors_rule + + server_side_encryption_configuration = { + rule = { + apply_server_side_encryption_by_default = { + sse_algorithm = var.sse_algorithm + } + } + } + + versioning = { + enabled = true + } + + lifecycle_rule = var.lifecycle_rules + + replication_configuration = { + role = aws_iam_role.replication[0].arn + + rules = [ + { + id = "replicate_1" + status = "Enabled" + priority = 10 + + source_selection_criteria = { + sse_kms_encrypted_objects = { + enabled = true + } + } + + destination = { + bucket = "arn:aws:s3:::${var.replica_bucket_name}" + storage_class = "STANDARD" + replica_kms_key_id = aws_kms_key.replica[0].arn + account_id = data.aws_caller_identity.current.account_id + access_control_translation = { + owner = "Destination" + } + } + } + + ] + } + + depends_on = [ + module.terraform-aws-s3-bucket-replica, + ] +} + +resource "aws_s3_bucket_public_access_block" "source-replica" { + count = local.has_bucket_public_access_block + bucket = module.terraform-aws-s3-bucket-source-replica[0].s3_bucket_id + block_public_acls = var.block_public_acls + block_public_policy = var.block_public_policy + ignore_public_acls = var.ignore_public_acls + restrict_public_buckets = var.restrict_public_buckets +} + + +module "terraform-aws-s3-bucket-replica" { + source = "github.com/terraform-aws-modules/terraform-aws-s3-bucket?ref=v2.6.0" + count = var.enable_replication + + providers = { + aws = aws.replica + } + + bucket = var.replica_bucket_name + tags = module.bucket-tags.tags + acl = var.acl + policy = var.policy_replica + attach_policy = var.attach_policy + cors_rule = var.cors_rule + + server_side_encryption_configuration = { + rule = { + apply_server_side_encryption_by_default = { + sse_algorithm = var.sse_algorithm + } + } + } + + versioning = { + enabled = true + } + + lifecycle_rule = var.lifecycle_rules + +} + +resource "aws_s3_bucket_public_access_block" "replica" { + count = local.has_bucket_public_access_block + bucket = module.terraform-aws-s3-bucket-replica[0].s3_bucket_id + block_public_acls = var.block_public_acls + block_public_policy = var.block_public_policy + ignore_public_acls = var.ignore_public_acls + restrict_public_buckets = var.restrict_public_buckets +} + +resource "aws_kms_key" "replica" { + count = var.enable_replication + provider = aws.replica + + description = "S3 bucket replication KMS key" + deletion_window_in_days = 7 +} + +# Permissions needed: https://docs.aws.amazon.com/AmazonS3/latest/userguide/setting-repl-config-perm-overview.html#setting-repl-config-same-acctowner +resource "aws_iam_role" "replication" { + count = var.enable_replication + name = var.bucket_name + + assume_role_policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = "sts:AssumeRole" + Effect = "Allow" + Sid = "" + Principal = { + Service = "s3.amazonaws.com" + } + }, + ] + }) + + inline_policy { + name = var.bucket_name + + policy = jsonencode({ + Version = "2012-10-17" + Statement = [ + { + Action = ["s3:ListBucket", + "s3:GetReplicationConfiguration", + "s3:GetObjectVersionForReplication", + "s3:GetObjectVersionAcl", + "s3:GetObjectVersionTagging", + "s3:GetObjectRetention", + "s3:GetObjectLegalHold" + ] + Effect = "Allow" + Resource = [ + "arn:aws:s3:::${var.bucket_name}", + "arn:aws:s3:::${var.bucket_name}/*", + "arn:aws:s3:::${var.replica_bucket_name}", + "arn:aws:s3:::${var.replica_bucket_name}/*" + ] + }, + { + Action = [ + "s3:ReplicateObject", + "s3:ReplicateDelete", + "s3:ReplicateTags", + "s3:ObjectOwnerOverrideToBucketOwner" + ] + Effect = "Allow" + Resource = [ + "arn:aws:s3:::${var.bucket_name}/*", + "arn:aws:s3:::${var.replica_bucket_name}/*" + ] + }, + ] + }) + } + + tags = module.bucket-tags.tags +} diff --git a/terraform-modules/aws/standard-bucket-replication/outputs.tf b/terraform-modules/aws/standard-bucket-replication/outputs.tf new file mode 100644 index 000000000..e04ac4dd6 --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/outputs.tf @@ -0,0 +1,23 @@ +output "bucket_id" { + value = module.terraform-aws-s3-bucket-single-bucket[*].s3_bucket_id +} + +output "bucket_arn" { + value = module.terraform-aws-s3-bucket-single-bucket[*].s3_bucket_arn +} + +output "bucket_id_source_replica" { + value = module.terraform-aws-s3-bucket-source-replica[*].s3_bucket_id +} + +output "bucket_arn_source_replica" { + value = module.terraform-aws-s3-bucket-source-replica[*].s3_bucket_arn +} + +output "bucket_id_replica" { + value = module.terraform-aws-s3-bucket-replica[*].s3_bucket_id +} + +output "bucket_arn_replica" { + value = module.terraform-aws-s3-bucket-replica[*].s3_bucket_arn +} \ No newline at end of file diff --git a/terraform-modules/aws/standard-bucket-replication/required-variables.tf b/terraform-modules/aws/standard-bucket-replication/required-variables.tf new file mode 100644 index 000000000..f4badc611 --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/required-variables.tf @@ -0,0 +1,19 @@ +variable "bucket_name" { + description = "name of the S3 Bucket" + type = string +} + +variable "env" { + description = "environment or aws account name" + type = string +} + +variable "region" { + description = "name of the aws region" + type = string +} + +variable "group" { + description = "organizational group name" + type = string +} diff --git a/terraform-modules/aws/standard-bucket-replication/temp.tfvars b/terraform-modules/aws/standard-bucket-replication/temp.tfvars new file mode 100644 index 000000000..2f840d0f4 --- /dev/null +++ b/terraform-modules/aws/standard-bucket-replication/temp.tfvars @@ -0,0 +1,87 @@ +env = "gar-test" +region = "us-east-1" +group = "devops" +versioning = true +lifecycle_rules = [ + { + enabled = true + expiration = { + days = 7 + } + } +] + +cors_rule = [ + { + allowed_headers = ["*"] + allowed_methods = ["GET"] + allowed_origins = ["https://internal-tool.expander.dev.q-internal.tech"] + } +] + +block_public_acls = true + +bucket_name = "garland-gar-123-source" +policy = <