Package names
provides AWS service-name information that is critical to the Terraform AWS Provider working correctly. If you are unsure about a change you are making, please do not hesitate to ask!
NOTE: The information in names_data.csv
affects the provider, generators, documentation, website navigation, etc. working correctly. Please do not make any changes until you understand the table below.
The core of the names
package is names_data.csv
, which contains raw, comma-separated data about naming in the AWS Provider, AWS Go SDKs v1 and v2, and AWS CLI. The file is dynamically embedded at build time in the AWS Provider and referenced by generators when generating code. The information it contains must be correct. Please double-check any changes.
Consumers of names
include:
- Package
provider
(internal/provider
) - Package
conns
(internal/conns
) - AWS Provider generators
skaff
tool
After any edits to names_data.csv
, run make gen
. Doing so regenerates code and performs checks on names_data.csv
.
The columns of names_data.csv
are as follows:
Index | Name | Use | Description |
---|---|---|---|
0 | AWSCLIV2Command | Reference | Service command in AWS CLI v2 |
1 | AWSCLIV2CommandNoDashes | Reference | Same as AWSCLIV2Command without dashes |
2 | GoV1Package | Code | AWS SDK for Go v1 package name |
3 | GoV2Package | Code | AWS SDK for Go v2 package name |
4 | ProviderPackageActual | Code | Actual TF AWS provide package name if ProviderPackageCorrect is not used; takes precedence over ProviderPackageCorrect if both are defined |
5 | ProviderPackageCorrect | Code | Shorter of AWSCLIV2CommandNoDashes and GoV2Package; should not be blank if either exists; same as Service Identifier; what the TF AWS Provider package name should be; ProviderPackageActual takes precedence |
6 | SplitPackageRealPackage | Code | If multiple "services" live in one service, this is the package where the service's Go files live (e.g., VPC is part of EC2) |
7 | Aliases | Code | Semicolon-separated list of name variations (e.g., for "AMP", prometheus;prometheusservice ). Do not include ProviderPackageActual (or ProviderPackageCorrect, if blank) since that will create duplicates in the Custom Endpoints guide. |
8 | ProviderNameUpper | Code | Correctly capitalized ProviderPackageActual, if it exists, otherwise ProviderPackageCorrect |
9 | GoV1ClientTypeName | Code | Exact name (i.e., spelling and capitalization) of the AWS SDK for Go v1 client type (e.g., see the New() return type for SES) |
10 | SkipClientGenerate | Code | Some service clients need special configuration rather than the default generated configuration; use a non-empty value to skip generation but you must then manually configure the client in internal/conns/config.go |
11 | SDKVersion | Code | Whether, in the TF AWS Provider, the service currently uses AWS SDK for Go v1 or v2; use 1 or 2 |
12 | ResourcePrefixActual | Code | Regular expression to match anomalous TF resource name prefixes (e.g., for the resource name aws_config_config_rule , aws_config_ will match all resources); only use if ResourcePrefixCorrect is not suitable (e.g., aws_codepipeline_ won't work as there is only one resource named aws_codepipeline ); takes precedence over ResourcePrefixCorrect |
13 | ResourcePrefixCorrect | Code | Regular expression to match what resource name prefixes should be (i.e., aws_ + ProviderPackageCorrect + _ ); used if ResourcePrefixActual is blank |
14 | FilePrefix | Code | If multiple "services" live in one service, this is the prefix that files must have to be associated with this sub-service (e.g., VPC files in the EC2 service are prefixed with vpc_ ); see also SplitPackageRealPackage |
15 | DocPrefix | Code | Semicolon-separated list of prefixes for service documentation files in website/docs/r and website/docs/d ; usually only one prefix, i.e., <**ProviderPackageCorrect**>_ |
16 | HumanFriendly | Code | [REQUIRED] Human-friendly name of service as used by AWS; documentation subcategory must exactly match this value; used in website navigation and error messages |
17 | Brand | Code | Either Amazon , AWS , or blank (rare) as used by AWS; used in error messages |
18 | Exclude | Code | Whether or not the service should be included; if included (blank), ProviderPackageActual or ProviderPackageCorrect must have a value |
19 | AllowedSubcategory | Code | If Exclude is non-blank, whether to include HumanFriendly in website/allowed-subcategories.txt anyway. In other words, if non-blank, overrides Exclude in some situations. Some excluded pseudo-services (e.g., VPC is part of EC2) are still subcategories. Only applies if Exclude is non-blank. |
20 | DeprecatedEnvVar | Code | Deprecated environment variable name |
21 | EnvVar | Code | Current environment variable associated with service |
22 | Note | Reference | Very brief note usually to explain why excluded |
For more information about service naming, see the Naming Guide.