|
28 | 28 |
|
29 | 29 | -->
|
30 | 30 |
|
31 |
| -This `terraform-aws-utils` project provides some simple utilities to use when working in AWS. |
| 31 | +This `terraform-aws-utils` module provides some simple utilities to use when working in AWS. |
32 | 32 |
|
33 | 33 | ---
|
34 | 34 |
|
@@ -61,23 +61,43 @@ We literally have [*hundreds of terraform modules*][terraform_modules] that are
|
61 | 61 |
|
62 | 62 | ## Introduction
|
63 | 63 |
|
64 |
| -This `terraform-aws-utils` project provides some simple utilities to use when working in AWS. At the moment, it is |
65 |
| -limited to providing compact alternative codes for Regions, Availability Zones, and Local Zones that are |
66 |
| -guaranteed to use only digits and lower case letters: no hyphens. Conversions to and from official codes |
67 |
| -and alternative codes are handled via lookup maps. |
| 64 | +This `terraform-aws-utils` module provides some simple utilities to use when working in AWS. |
| 65 | +More complex utilities are available through Cloud Posse's `utils` Terraform provider |
| 66 | +[terraform-provider-utils](https://github.com/cloudposse/terraform-provider-utils). |
68 | 67 |
|
69 |
| -The `short` abbreviations are variable length (generally 4-6 characters, but length limits not guaranteed) |
70 |
| -and strictly algorithmically derived so that people can more easily interpret them. |
71 |
| -The `fixed` abbreviations are always exactly 3 characters for regions and 4 characters |
| 68 | +### Compact Alternative Codes (Abbreviations) |
| 69 | +This module's primary function is to provide compact alternative codes for Regions, Availability Zones, |
| 70 | +and Local Zones, codes which are guaranteed to use only digits and lower case letters: no hyphens. |
| 71 | +Conversions to and from official codes and alternative codes are handled via lookup maps. |
| 72 | + |
| 73 | +- The `short` abbreviations are variable length (generally 4-6 characters, but length limits not guaranteed) |
| 74 | +and strictly algorithmically derived so that people can more easily interpret them. The `short` region |
| 75 | +code abbreviations typically match the prefix of the Availability Zone IDs in that region, but this is |
| 76 | +not guaranteed. |
| 77 | +- The `fixed` abbreviations are always exactly 3 characters for regions and 4 characters |
72 | 78 | for availability zones and local zones, but have some exceptional cases (China, Africa, Asia-Pacific South, US GovCloud)
|
73 | 79 | that have non-obvious abbreviations.
|
| 80 | +- The `identity` "abbreviations" are not abbreviations but are instead the official codes (output equals input, |
| 81 | +which is why it is called "identity"). This map is provided to simplify algorithmic choice of region code |
| 82 | +abbreviation when you want to include a "no abbreviation" option. |
74 | 83 |
|
75 | 84 | We currently support Local Zones but not Wavelength Zones. If we support Wavelength Zones in the future,
|
76 | 85 | it is likely that the fixed-length abbreviations for them will be non-intuitive.
|
77 | 86 |
|
78 | 87 | The intention is that existing mappings will never change, and if new regions or zones are created that
|
79 | 88 | conflict with existing ones, they will be given non-standard mappings so as not to conflict.
|
80 | 89 |
|
| 90 | +### ELB Logging Account IDs |
| 91 | + |
| 92 | +This module provides Elastic Load Balancing Account IDs per region to be used in |
| 93 | +configuring [S3 Bucket Permissions](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html#access-logging-bucket-permissions) |
| 94 | +to allow access logs to be stored in S3. |
| 95 | + |
| 96 | +### Enabled and Disabled Regions |
| 97 | + |
| 98 | +For convenience, this module provides lists of enabled and disabled regions in the current account. Note that |
| 99 | +since these lists are dynamic, they cannot be used in Terraform `count` or `for_each` resource expressions. |
| 100 | + |
81 | 101 |
|
82 | 102 | ## Security & Compliance [<img src="https://cloudposse.com/wp-content/uploads/2020/11/bridgecrew.svg" width="250" align="right" />](https://bridgecrew.io/)
|
83 | 103 |
|
@@ -236,6 +256,7 @@ Are you using this project or any of our other projects? Consider [leaving a tes
|
236 | 256 |
|
237 | 257 | Check out these related projects.
|
238 | 258 |
|
| 259 | +- [terraform-provider-utils](https://github.com/cloudposse/terraform-provider-utils) - The Cloud Posse Terraform Provider for various utilities (e.g. deep merging, stack configuration management). |
239 | 260 | - [terraform-null-label](https://github.com/cloudposse/terraform-null-label) - Terraform module designed to generate consistent names and tags for resources. Use terraform-null-label to implement a strict naming convention.
|
240 | 261 |
|
241 | 262 |
|
@@ -381,12 +402,14 @@ Check out [our other projects][github], [follow us on twitter][twitter], [apply
|
381 | 402 | ### Contributors
|
382 | 403 |
|
383 | 404 | <!-- markdownlint-disable -->
|
384 |
| -| [![Erik Osterman][osterman_avatar]][osterman_homepage]<br/>[Erik Osterman][osterman_homepage] | |
385 |
| -|---| |
| 405 | +| [![Erik Osterman][osterman_avatar]][osterman_homepage]<br/>[Erik Osterman][osterman_homepage] | [![Nuru][Nuru_avatar]][Nuru_homepage]<br/>[Nuru][Nuru_homepage] | |
| 406 | +|---|---| |
386 | 407 | <!-- markdownlint-restore -->
|
387 | 408 |
|
388 | 409 | [osterman_homepage]: https://github.com/osterman
|
389 | 410 | [osterman_avatar]: https://img.cloudposse.com/150x150/https://github.com/osterman.png
|
| 411 | + [Nuru_homepage]: https://github.com/Nuru |
| 412 | + [Nuru_avatar]: https://img.cloudposse.com/150x150/https://github.com/Nuru.png |
390 | 413 |
|
391 | 414 | [![README Footer][readme_footer_img]][readme_footer_link]
|
392 | 415 | [![Beacon][beacon]][website]
|
|
0 commit comments