README ¶
Azure Naming
This module helps you to keep consistency on your resources names for terraform The goal of this module it is that for each resource that requires a name in terraform you would be easialy able to compose this name using this module and this will keep the consistency in your repositories.
Usage
For every resource in terraform_azurerm
just remove the azurerm
part of the module and use the name
property of this output.
example for azurerm_resource_group
you can use :
module "naming" "main" {
suffix = [ "test" ]
}
resource "azurerm_resource_group" "example" {
name = module.naming.main.resource_group.name
location = "West Europe"
}
if you want this to be unique for this module and not shared with other instances of this module you can use name_unique
module "naming" "main" {
suffix = [ "test" ]
}
resource "azurerm_resource_group" "example" {
name = module.naming.main.resource_group.name
location = "West Europe"
}
There are other advances usages that will be explained in the Advanced usages part og this docs.
Internals
Modifying resources
The resources are automatically generated using go
to change the generation please change the file on the templates
folder. To add a new resource, include their definition at resourceDefinition.jsonc
file it will be automatically generated.
Current implementation
You can find a list bellow of all the resources that are currently implemented. To get a list of the ones that are missing implementation you can check at Missing resources the resources that have no documentation about their limitation on naming currently on Microsoft docs are on the Not defined list.
Requirements
Name | Version |
---|---|
random | ~> 2.2 |
Providers
Name | Version |
---|---|
random | ~> 2.2 |
Inputs
Name | Description | Type | Default | Required |
---|---|---|---|---|
prefix | It is not recommended that you use prefix by azure you should be using a suffix for your resources. | list(string) |
[] |
no |
suffix | It is recommended that you specify a suffix for consistency. please use only lowercase charactes when possible | list(string) |
[] |
no |
unique-include-numbers | If you want to iunclude numbers in the unique generation | bool |
true |
no |
unique-length | Max length of the uniquiness suffix to be added | number |
4 |
no |
unique-seed | Custom value for the randon charecters to be used | string |
"" |
no |
Outputs
Name | Description |
---|---|
analysis_services_server | n/a |
api_managment_service | n/a |
app_configuration | n/a |
application_gateway | n/a |
automation_account | n/a |
automation_certificate | n/a |
automation_credential | n/a |
automation_runbook | n/a |
automation_schedule | n/a |
automation_variable | n/a |
availability_set | n/a |
bastion_host | n/a |
batch_account | n/a |
batch_application | n/a |
batch_certificate | n/a |
batch_pool | n/a |
bot_channel_Email | n/a |
bot_channel_directline | n/a |
bot_channel_ms_teams | n/a |
bot_channel_slack | n/a |
bot_channels_registration | n/a |
bot_connection | n/a |
bot_web_app | n/a |
cdn_endpoint | n/a |
cdn_profile | n/a |
cognitive_account | n/a |
containerGroups | n/a |
container_registry | n/a |
container_registry_webhook | n/a |
cosmosdb_account | n/a |
custom_provider | n/a |
data_factory | n/a |
data_factory_dataset_mysql | n/a |
data_factory_dataset_postgresql | n/a |
data_factory_dataset_sql_server_table | n/a |
data_factory_integration_runtime_managed | n/a |
data_factory_linked_service_data_lake_storage_gen2 | n/a |
data_factory_linked_service_key_vault | n/a |
data_factory_linked_service_mysql | n/a |
data_factory_linked_service_postgresql | n/a |
data_factory_linked_service_sql_server | n/a |
data_factory_pipeline | n/a |
data_factory_trigger_schedule | n/a |
data_lake_analytics_account | n/a |
data_lake_analytics_firewall_rule | n/a |
data_lake_store | n/a |
data_lake_store_firewall_rule | n/a |
database_migration_project | n/a |
database_migration_service | n/a |
databricks_workspace | n/a |
dev_test_lab | n/a |
dev_test_linux_virtual_machine | n/a |
dev_test_windows_virtual_machine | n/a |
disk_encryption_set | n/a |
eventhub | n/a |
eventhub_authorization_rule | n/a |
eventhub_consumer_group | n/a |
eventhub_namespace | n/a |
eventhub_namespace_authorization_rule | n/a |
eventhub_namespace_disaster_recovery_config | n/a |
express_route_circuit | n/a |
express_route_gateway | n/a |
firewall | n/a |
firewall_application_rule_collection | n/a |
firewall_ip_configuration | n/a |
firewall_nat_rule_collection | n/a |
firewall_network_rule_collection | n/a |
frontdoor | n/a |
frontdoor_firewall_policy | n/a |
hdinsight_hadoop_cluster | n/a |
hdinsight_hbase_cluster | n/a |
hdinsight_interactive_query_cluster | n/a |
hdinsight_kafka_cluster | n/a |
hdinsight_ml_services_cluster | n/a |
hdinsight_rserver_cluster | n/a |
hdinsight_spark_cluster | n/a |
hdinsight_storm_cluster | n/a |
image | n/a |
iotcentral_application | n/a |
iothub | n/a |
iothub_consumer_group | n/a |
iothub_dps | n/a |
iothub_dps_certificate | n/a |
key_vault | n/a |
key_vault_certificate | n/a |
key_vault_key | n/a |
key_vault_secret | n/a |
kubernetes_cluster | n/a |
kusto_cluster | n/a |
kusto_database | n/a |
kusto_eventhub_data_connection | n/a |
lb | n/a |
lb_nat_rule | n/a |
linux_virtual_machine | n/a |
linux_virtual_machine_scale_set | n/a |
local_network_gateway | n/a |
log_analytics_workspace | n/a |
machine_learning_workspace | n/a |
managed_disk | n/a |
maps_account | n/a |
mariadb_database | n/a |
mariadb_firewall_rule | n/a |
mariadb_server | n/a |
mariadb_virtual_network_rule | n/a |
mssql_database | n/a |
mssql_elasticpool | n/a |
mssql_server | n/a |
mysql_database | n/a |
mysql_firewall_rule | n/a |
mysql_server | n/a |
mysql_virtual_network_rule | n/a |
network_interface | n/a |
network_watcher | n/a |
point_to_site_vpn_gateway | n/a |
postgresql_database | n/a |
postgresql_firewall_rule | n/a |
postgresql_server | n/a |
postgresql_virtual_network_rule | n/a |
private_endpoint | n/a |
private_service_connection | n/a |
public_ip | n/a |
public_ip_prefix | n/a |
redis_cache | n/a |
redis_firewall_rule | n/a |
resource_group | n/a |
role_assignment | n/a |
role_definition | n/a |
route | n/a |
route_table | n/a |
service_fabric_cluster | n/a |
shared_image | n/a |
shared_image_gallery | n/a |
snapshots | n/a |
sql_elasticpool | n/a |
sql_failover_group | n/a |
sql_firewall_rule | n/a |
sql_server | n/a |
storage_account | n/a |
storage_blob | n/a |
storage_container | n/a |
storage_data_lake_gen2_filesystem | n/a |
storage_queue | n/a |
storage_share | n/a |
storage_share_directory | n/a |
storage_table | n/a |
stream_analytics_function_javascript_udf | n/a |
stream_analytics_job | n/a |
stream_analytics_output_blob | n/a |
stream_analytics_output_eventhub | n/a |
stream_analytics_output_mssql | n/a |
stream_analytics_output_servicebus_queue | n/a |
stream_analytics_output_servicebus_topic | n/a |
stream_analytics_reference_input_blob | n/a |
stream_analytics_stream_input_blob | n/a |
stream_analytics_stream_input_eventhub | n/a |
stream_analytics_stream_input_iothub | n/a |
subnet | n/a |
template_deployment | n/a |
traffic_manager_profile | n/a |
unique-seed | n/a |
virtual_machine | n/a |
virtual_machine_scale_set | n/a |
virtual_network | n/a |
virtual_network_gateway | n/a |
virtual_network_peering | n/a |
virtual_wan | n/a |
windows_virtual_machine | n/a |
windows_virtual_machine_scale_set | n/a |
Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Documentation ¶
There is no documentation for this package.