Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 5.81 KB

README.md

File metadata and controls

46 lines (37 loc) · 5.81 KB

names

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.