├── .gitignore
├── Comments.tmPreferences
├── Completions
├── Data Sources.sublime-completions
└── Resources.sublime-completions
├── Default.sublime-commands
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── Main.sublime-menu
├── README.md
├── Rakefile
├── Snippets
├── atlas.sublime-snippet
├── data.sublime-snippet
├── interpolation.sublime-snippet
├── module.sublime-snippet
├── module_github.sublime-snippet
├── module_github_private.sublime-snippet
├── module_path.sublime-snippet
├── output.sublime-snippet
├── provider.sublime-snippet
├── provisioner.sublime-snippet
├── resource.sublime-snippet
├── variable.sublime-snippet
├── variable_list.sublime-snippet
├── variable_map.sublime-snippet
├── variable_reference.sublime-snippet
└── variable_string.sublime-snippet
├── Symbols.tmPreferences
├── Terraform.sublime-settings
├── Terraform.sublime-syntax
└── fmt.py
/.gitignore:
--------------------------------------------------------------------------------
1 | /.bundle/
2 | /vendor/
3 |
--------------------------------------------------------------------------------
/Comments.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | name
6 | Comments
7 | scope
8 | source.terraform
9 | settings
10 |
11 | shellVariables
12 |
13 |
14 | name
15 | TM_COMMENT_START
16 | value
17 | #
18 |
19 |
20 | name
21 | TM_COMMENT_START_2
22 | value
23 | /*
24 |
25 |
26 | name
27 | TM_COMMENT_END_2
28 | value
29 | */
30 |
31 |
32 |
33 | uuid
34 | 9060ca81-906d-4f19-a91a-159f4eb119d6
35 |
36 |
37 |
--------------------------------------------------------------------------------
/Completions/Data Sources.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "meta.data-source.type.terraform",
3 | "completions": [
4 | "alicloud_account",
5 | "alicloud_db_instances",
6 | "alicloud_disks",
7 | "alicloud_dns_domain_groups",
8 | "alicloud_dns_domain_records",
9 | "alicloud_dns_domains",
10 | "alicloud_dns_groups",
11 | "alicloud_dns_records",
12 | "alicloud_eips",
13 | "alicloud_fc_functions",
14 | "alicloud_fc_services",
15 | "alicloud_fc_triggers",
16 | "alicloud_images",
17 | "alicloud_instance_types",
18 | "alicloud_instances",
19 | "alicloud_key_pairs",
20 | "alicloud_kms_keys",
21 | "alicloud_kvstore_instances",
22 | "alicloud_mongo_instances",
23 | "alicloud_oss_bucket_objects",
24 | "alicloud_oss_buckets",
25 | "alicloud_pvtz_zone_records",
26 | "alicloud_pvtz_zones",
27 | "alicloud_ram_account_alias",
28 | "alicloud_ram_account_aliases",
29 | "alicloud_ram_groups",
30 | "alicloud_ram_policies",
31 | "alicloud_ram_roles",
32 | "alicloud_ram_users",
33 | "alicloud_regions",
34 | "alicloud_router_interfaces",
35 | "alicloud_security_group_rules",
36 | "alicloud_security_groups",
37 | "alicloud_slb_attachments",
38 | "alicloud_slb_listeners",
39 | "alicloud_slb_rules",
40 | "alicloud_slb_server_groups",
41 | "alicloud_slbs",
42 | "alicloud_vpcs",
43 | "alicloud_vswitches",
44 | "alicloud_zones",
45 | "archive_file",
46 | "aws_acm_certificate",
47 | "aws_acmpca_certificate_authority",
48 | "aws_alb",
49 | "aws_alb_listener",
50 | "aws_alb_target_group",
51 | "aws_ami",
52 | "aws_ami_ids",
53 | "aws_api_gateway_resource",
54 | "aws_api_gateway_rest_api",
55 | "aws_arn",
56 | "aws_autoscaling_groups",
57 | "aws_availability_zone",
58 | "aws_availability_zones",
59 | "aws_batch_compute_environment",
60 | "aws_batch_job_queue",
61 | "aws_billing_service_account",
62 | "aws_caller_identity",
63 | "aws_canonical_user_id",
64 | "aws_cloudformation_export",
65 | "aws_cloudformation_stack",
66 | "aws_cloudtrail_service_account",
67 | "aws_cloudwatch_log_group",
68 | "aws_codecommit_repository",
69 | "aws_cognito_user_pools",
70 | "aws_db_cluster_snapshot",
71 | "aws_db_instance",
72 | "aws_db_snapshot",
73 | "aws_dx_gateway",
74 | "aws_dynamodb_table",
75 | "aws_ebs_snapshot",
76 | "aws_ebs_snapshot_ids",
77 | "aws_ebs_volume",
78 | "aws_ecr_repository",
79 | "aws_ecs_cluster",
80 | "aws_ecs_container_definition",
81 | "aws_ecs_service",
82 | "aws_ecs_task_definition",
83 | "aws_efs_file_system",
84 | "aws_efs_mount_target",
85 | "aws_eip",
86 | "aws_eks_cluster",
87 | "aws_elastic_beanstalk_hosted_zone",
88 | "aws_elastic_beanstalk_solution_stack",
89 | "aws_elasticache_cluster",
90 | "aws_elasticache_replication_group",
91 | "aws_elb",
92 | "aws_elb_hosted_zone_id",
93 | "aws_elb_service_account",
94 | "aws_glue_script",
95 | "aws_iam_account_alias",
96 | "aws_iam_group",
97 | "aws_iam_instance_profile",
98 | "aws_iam_policy",
99 | "aws_iam_policy_document",
100 | "aws_iam_role",
101 | "aws_iam_server_certificate",
102 | "aws_iam_user",
103 | "aws_inspector_rules_packages",
104 | "aws_instance",
105 | "aws_instances",
106 | "aws_internet_gateway",
107 | "aws_iot_endpoint",
108 | "aws_ip_ranges",
109 | "aws_kinesis_stream",
110 | "aws_kms_alias",
111 | "aws_kms_ciphertext",
112 | "aws_kms_key",
113 | "aws_kms_secret",
114 | "aws_kms_secrets",
115 | "aws_lambda_function",
116 | "aws_lambda_invocation",
117 | "aws_launch_configuration",
118 | "aws_lb",
119 | "aws_lb_listener",
120 | "aws_lb_target_group",
121 | "aws_mq_broker",
122 | "aws_nat_gateway",
123 | "aws_network_acls",
124 | "aws_network_interface",
125 | "aws_network_interfaces",
126 | "aws_partition",
127 | "aws_prefix_list",
128 | "aws_pricing_product",
129 | "aws_rds_cluster",
130 | "aws_redshift_cluster",
131 | "aws_redshift_service_account",
132 | "aws_region",
133 | "aws_route",
134 | "aws_route53_zone",
135 | "aws_route_table",
136 | "aws_route_tables",
137 | "aws_s3_bucket",
138 | "aws_s3_bucket_object",
139 | "aws_secretsmanager_secret",
140 | "aws_secretsmanager_secret_version",
141 | "aws_security_group",
142 | "aws_security_groups",
143 | "aws_sns_topic",
144 | "aws_sqs_queue",
145 | "aws_ssm_parameter",
146 | "aws_storagegateway_local_disk",
147 | "aws_subnet",
148 | "aws_subnet_ids",
149 | "aws_vpc",
150 | "aws_vpc_dhcp_options",
151 | "aws_vpc_endpoint",
152 | "aws_vpc_endpoint_service",
153 | "aws_vpc_peering_connection",
154 | "aws_vpcs",
155 | "aws_vpn_gateway",
156 | "azurerm_app_service",
157 | "azurerm_app_service_plan",
158 | "azurerm_application_security_group",
159 | "azurerm_azuread_application",
160 | "azurerm_azuread_service_principal",
161 | "azurerm_builtin_role_definition",
162 | "azurerm_cdn_profile",
163 | "azurerm_client_config",
164 | "azurerm_container_registry",
165 | "azurerm_cosmosdb_account",
166 | "azurerm_data_lake_store",
167 | "azurerm_dns_zone",
168 | "azurerm_eventhub_namespace",
169 | "azurerm_image",
170 | "azurerm_key_vault",
171 | "azurerm_key_vault_access_policy",
172 | "azurerm_key_vault_secret",
173 | "azurerm_kubernetes_cluster",
174 | "azurerm_log_analytics_workspace",
175 | "azurerm_logic_app_workflow",
176 | "azurerm_managed_disk",
177 | "azurerm_management_group",
178 | "azurerm_network_interface",
179 | "azurerm_network_security_group",
180 | "azurerm_notification_hub_namespace",
181 | "azurerm_platform_image",
182 | "azurerm_public_ip",
183 | "azurerm_public_ips",
184 | "azurerm_recovery_services_vault",
185 | "azurerm_resource_group",
186 | "azurerm_role_definition",
187 | "azurerm_route_table",
188 | "azurerm_scheduler_job_collection",
189 | "azurerm_storage_account",
190 | "azurerm_storage_account_sas",
191 | "azurerm_subnet",
192 | "azurerm_subscription",
193 | "azurerm_subscriptions",
194 | "azurerm_traffic_manager_geographical_location",
195 | "azurerm_virtual_network",
196 | "azurerm_virtual_network_gateway",
197 | "azurestack_network_interface",
198 | "azurestack_network_security_group",
199 | "azurestack_public_ip",
200 | "azurestack_resource_group",
201 | "azurestack_route_table",
202 | "azurestack_storage_account",
203 | "azurestack_subnet",
204 | "azurestack_virtual_network",
205 | "azurestack_virtual_network_gateway",
206 | "brightbox_database_type",
207 | "brightbox_image",
208 | "brightbox_server_group",
209 | "circonus_account",
210 | "circonus_collector",
211 | "cloudflare_ip_ranges",
212 | "cloudstack_template",
213 | "consul_agent_config",
214 | "consul_agent_self",
215 | "consul_key_prefix",
216 | "consul_keys",
217 | "consul_nodes",
218 | "consul_service",
219 | "consul_services",
220 | "digitalocean_image",
221 | "dns_a_record_set",
222 | "dns_aaaa_record_set",
223 | "dns_cname_record_set",
224 | "dns_ns_record_set",
225 | "dns_ptr_record_set",
226 | "dns_txt_record_set",
227 | "docker_registry_image",
228 | "external",
229 | "fastly_ip_ranges",
230 | "file",
231 | "flexibleengine_networking_network_v2",
232 | "flexibleengine_networking_secgroup_v2",
233 | "flexibleengine_rds_flavors_v1",
234 | "flexibleengine_s3_bucket_object",
235 | "flexibleengine_vpc_peering_connection_v2",
236 | "flexibleengine_vpc_route_ids_v2",
237 | "flexibleengine_vpc_route_v2",
238 | "flexibleengine_vpc_subnet_ids_v1",
239 | "flexibleengine_vpc_subnet_v1",
240 | "flexibleengine_vpc_v1",
241 | "github_ip_ranges",
242 | "github_repositories",
243 | "github_repository",
244 | "github_team",
245 | "github_user",
246 | "google_active_folder",
247 | "google_billing_account",
248 | "google_client_config",
249 | "google_cloudfunctions_function",
250 | "google_compute_address",
251 | "google_compute_backend_service",
252 | "google_compute_default_service_account",
253 | "google_compute_forwarding_rule",
254 | "google_compute_global_address",
255 | "google_compute_image",
256 | "google_compute_instance_group",
257 | "google_compute_lb_ip_ranges",
258 | "google_compute_network",
259 | "google_compute_region_instance_group",
260 | "google_compute_regions",
261 | "google_compute_ssl_policy",
262 | "google_compute_subnetwork",
263 | "google_compute_vpn_gateway",
264 | "google_compute_zones",
265 | "google_container_cluster",
266 | "google_container_engine_versions",
267 | "google_container_registry_image",
268 | "google_container_registry_repository",
269 | "google_dns_managed_zone",
270 | "google_folder",
271 | "google_iam_policy",
272 | "google_kms_secret",
273 | "google_netblock_ip_ranges",
274 | "google_organization",
275 | "google_project",
276 | "google_project_services",
277 | "google_service_account",
278 | "google_service_account_key",
279 | "google_storage_object_signed_url",
280 | "google_storage_project_service_account",
281 | "hcloud_floating_ip",
282 | "hcloud_image",
283 | "hcloud_ssh_key",
284 | "heroku_app",
285 | "heroku_space",
286 | "heroku_space_peering_info",
287 | "huaweicloud_images_image_v2",
288 | "huaweicloud_kms_data_key_v1",
289 | "huaweicloud_kms_key_v1",
290 | "huaweicloud_networking_network_v2",
291 | "huaweicloud_networking_secgroup_v2",
292 | "huaweicloud_networking_subnet_v2",
293 | "huaweicloud_rds_flavors_v1",
294 | "huaweicloud_rts_software_config_v1",
295 | "huaweicloud_rts_stack_resource_v1",
296 | "huaweicloud_rts_stack_v1",
297 | "huaweicloud_s3_bucket_object",
298 | "huaweicloud_sfs_file_sharing_v2",
299 | "huaweicloud_vpc_peering_connection_v2",
300 | "huaweicloud_vpc_route_ids_v2",
301 | "huaweicloud_vpc_route_v2",
302 | "huaweicloud_vpc_subnet_ids_v1",
303 | "huaweicloud_vpc_subnet_v1",
304 | "huaweicloud_vpc_v1",
305 | "ignition_config",
306 | "ignition_directory",
307 | "ignition_disk",
308 | "ignition_file",
309 | "ignition_filesystem",
310 | "ignition_group",
311 | "ignition_link",
312 | "ignition_networkd_unit",
313 | "ignition_raid",
314 | "ignition_systemd_unit",
315 | "ignition_user",
316 | "key_transaction",
317 | "kubernetes_service",
318 | "kubernetes_storage_class",
319 | "logentries_logset",
320 | "logicmonitor_collectors",
321 | "logicmonitor_device_group",
322 | "newrelic_application",
323 | "nomad_regions",
324 | "nsxt_edge_cluster",
325 | "nsxt_logical_tier0_router",
326 | "nsxt_ns_serivce",
327 | "nsxt_switching_profile",
328 | "nsxt_transport_zone",
329 | "oci_audit_configuration",
330 | "oci_audit_events",
331 | "oci_containerengine_cluster_kube_config",
332 | "oci_containerengine_cluster_option",
333 | "oci_containerengine_clusters",
334 | "oci_containerengine_node_pool",
335 | "oci_containerengine_node_pool_option",
336 | "oci_containerengine_node_pools",
337 | "oci_containerengine_work_request_errors",
338 | "oci_containerengine_work_request_log_entries",
339 | "oci_containerengine_work_requests",
340 | "oci_core_boot_volume_attachments",
341 | "oci_core_boot_volume_backup",
342 | "oci_core_boot_volume_backups",
343 | "oci_core_boot_volumes",
344 | "oci_core_console_histories",
345 | "oci_core_console_history_data",
346 | "oci_core_cpes",
347 | "oci_core_cross_connect",
348 | "oci_core_cross_connect_group",
349 | "oci_core_cross_connect_groups",
350 | "oci_core_cross_connect_locations",
351 | "oci_core_cross_connect_port_speed_shapes",
352 | "oci_core_cross_connect_status",
353 | "oci_core_cross_connects",
354 | "oci_core_dhcp_options",
355 | "oci_core_drg_attachments",
356 | "oci_core_drgs",
357 | "oci_core_fast_connect_provider_service",
358 | "oci_core_fast_connect_provider_services",
359 | "oci_core_images",
360 | "oci_core_instance_console_connections",
361 | "oci_core_instance_credentials",
362 | "oci_core_instances",
363 | "oci_core_internet_gateways",
364 | "oci_core_ip_sec_connections",
365 | "oci_core_ipsec_config",
366 | "oci_core_ipsec_status",
367 | "oci_core_letter_of_authority",
368 | "oci_core_local_peering_gateways",
369 | "oci_core_peer_region_for_remote_peerings",
370 | "oci_core_private_ips",
371 | "oci_core_public_ip",
372 | "oci_core_public_ips",
373 | "oci_core_remote_peering_connections",
374 | "oci_core_route_tables",
375 | "oci_core_security_lists",
376 | "oci_core_service_gateways",
377 | "oci_core_services",
378 | "oci_core_shapes",
379 | "oci_core_subnets",
380 | "oci_core_vcns",
381 | "oci_core_virtual_circuit",
382 | "oci_core_virtual_circuit_bandwidth_shapes",
383 | "oci_core_virtual_circuit_public_prefixes",
384 | "oci_core_virtual_circuits",
385 | "oci_core_vnic",
386 | "oci_core_vnic_attachments",
387 | "oci_core_volume_attachments",
388 | "oci_core_volume_backup_policies",
389 | "oci_core_volume_backup_policy_assignments",
390 | "oci_core_volume_backups",
391 | "oci_core_volume_group_backups",
392 | "oci_core_volume_groups",
393 | "oci_core_volumes",
394 | "oci_database_autonomous_data_warehouse",
395 | "oci_database_autonomous_data_warehouse_backup",
396 | "oci_database_autonomous_data_warehouse_backups",
397 | "oci_database_autonomous_data_warehouses",
398 | "oci_database_autonomous_database",
399 | "oci_database_autonomous_database_backup",
400 | "oci_database_autonomous_database_backups",
401 | "oci_database_autonomous_databases",
402 | "oci_database_backups",
403 | "oci_database_database",
404 | "oci_database_databases",
405 | "oci_database_db_home",
406 | "oci_database_db_home_patch_history_entries",
407 | "oci_database_db_home_patches",
408 | "oci_database_db_homes",
409 | "oci_database_db_node",
410 | "oci_database_db_nodes",
411 | "oci_database_db_system_patch_history_entries",
412 | "oci_database_db_system_patches",
413 | "oci_database_db_system_shapes",
414 | "oci_database_db_systems",
415 | "oci_database_db_versions",
416 | "oci_dns_records",
417 | "oci_dns_zones",
418 | "oci_email_sender",
419 | "oci_email_senders",
420 | "oci_email_suppression",
421 | "oci_email_suppressions",
422 | "oci_file_storage_export_sets",
423 | "oci_file_storage_exports",
424 | "oci_file_storage_file_systems",
425 | "oci_file_storage_mount_targets",
426 | "oci_file_storage_snapshots",
427 | "oci_identity_api_keys",
428 | "oci_identity_auth_tokens",
429 | "oci_identity_availability_domains",
430 | "oci_identity_compartments",
431 | "oci_identity_customer_secret_keys",
432 | "oci_identity_dynamic_groups",
433 | "oci_identity_fault_domains",
434 | "oci_identity_groups",
435 | "oci_identity_identity_providers",
436 | "oci_identity_idp_group_mappings",
437 | "oci_identity_policies",
438 | "oci_identity_region_subscriptions",
439 | "oci_identity_regions",
440 | "oci_identity_smtp_credentials",
441 | "oci_identity_swift_passwords",
442 | "oci_identity_tag_namespaces",
443 | "oci_identity_tags",
444 | "oci_identity_tenancy",
445 | "oci_identity_user_group_memberships",
446 | "oci_identity_users",
447 | "oci_load_balancer_backend_health",
448 | "oci_load_balancer_backend_set_health",
449 | "oci_load_balancer_backend_sets",
450 | "oci_load_balancer_backends",
451 | "oci_load_balancer_certificates",
452 | "oci_load_balancer_health",
453 | "oci_load_balancer_hostnames",
454 | "oci_load_balancer_load_balancers",
455 | "oci_load_balancer_path_route_sets",
456 | "oci_load_balancer_policies",
457 | "oci_load_balancer_protocols",
458 | "oci_load_balancer_shapes",
459 | "oci_objectstorage_bucket_summaries",
460 | "oci_objectstorage_namespace",
461 | "oci_objectstorage_objects",
462 | "oci_objectstorage_preauthrequest",
463 | "oci_objectstorage_preauthrequests",
464 | "opc_compute_image_list_entry",
465 | "opc_compute_ip_address_reservation",
466 | "opc_compute_ip_reservation",
467 | "opc_compute_machine_image",
468 | "opc_compute_network_interface",
469 | "opc_compute_ssh_key",
470 | "opc_compute_storage_volume_snapshot",
471 | "opc_compute_vnic",
472 | "openstack_compute_flavor_v2",
473 | "openstack_compute_keypair_v2",
474 | "openstack_dns_zone_v2",
475 | "openstack_fw_policy_v1",
476 | "openstack_identity_auth_scope_v3",
477 | "openstack_identity_endpoint_v3",
478 | "openstack_identity_group_v3",
479 | "openstack_identity_project_v3",
480 | "openstack_identity_role_v3",
481 | "openstack_identity_user_v3",
482 | "openstack_images_image_v2",
483 | "openstack_networking_floatingip_v2",
484 | "openstack_networking_network_v2",
485 | "openstack_networking_router_v2",
486 | "openstack_networking_secgroup_v2",
487 | "openstack_networking_subnet_v2",
488 | "openstack_networking_subnetpool_v2",
489 | "opentelekomcloud_images_image_v2",
490 | "opentelekomcloud_kms_data_key_v1",
491 | "opentelekomcloud_kms_key_v1",
492 | "opentelekomcloud_networking_network_v2",
493 | "opentelekomcloud_networking_secgroup_v2",
494 | "opentelekomcloud_rds_flavor_v1",
495 | "opentelekomcloud_s3_bucket_object",
496 | "opsgenie_user",
497 | "oraclepaas_database_service_instance",
498 | "ovh_cloud_region",
499 | "ovh_cloud_regions",
500 | "ovh_domain_zone",
501 | "ovh_iploadbalancing",
502 | "ovh_me_paymentmean_bankaccount",
503 | "ovh_me_paymentmean_creditcard",
504 | "ovh_publiccloud_region",
505 | "ovh_publiccloud_regions",
506 | "pagerduty_escalation_policy",
507 | "pagerduty_extension_schema",
508 | "pagerduty_schedule",
509 | "pagerduty_team",
510 | "pagerduty_user",
511 | "pagerduty_vendor",
512 | "panos_dhcp_interface_info",
513 | "panos_system_info",
514 | "precreated_ip_block",
515 | "profitbricks_datacenter",
516 | "profitbricks_image",
517 | "profitbricks_location",
518 | "profitbricks_resource",
519 | "profitbricks_snapshot",
520 | "rancher_certificate",
521 | "rancher_environment",
522 | "rancher_setting",
523 | "rightscale_cloud",
524 | "rightscale_credential",
525 | "rightscale_datacenter",
526 | "rightscale_deployment",
527 | "rightscale_image",
528 | "rightscale_instance",
529 | "rightscale_instance_type",
530 | "rightscale_multi_cloud_image",
531 | "rightscale_network",
532 | "rightscale_network_gateway",
533 | "rightscale_route_table",
534 | "rightscale_security_group",
535 | "rightscale_server",
536 | "rightscale_server_template",
537 | "rightscale_ssh_key",
538 | "rightscale_subnet",
539 | "rightscale_volume",
540 | "rightscale_volume_snapshot",
541 | "rightscale_volume_type",
542 | "runscope_bucket",
543 | "runscope_buckets",
544 | "runscope_integration",
545 | "runscope_integrations",
546 | "scaleway_bootscript",
547 | "scaleway_image",
548 | "scaleway_security_group",
549 | "scaleway_volume",
550 | "telefonicaopencloud_dns_zone_v2",
551 | "telefonicaopencloud_networking_network_v2",
552 | "telefonicaopencloud_networking_secgroup_v2",
553 | "telefonicaopencloud_networking_subnet_v2",
554 | "telefonicaopencloud_s3_bucket_object",
555 | "template_cloudinit_config",
556 | "template_file",
557 | "terraform_remote_state",
558 | "tls_public_key",
559 | "triton_account",
560 | "triton_datacenter",
561 | "triton_fabric_network",
562 | "triton_fabric_vlan",
563 | "triton_image",
564 | "triton_network",
565 | "vault_approle_auth_backend_role_id",
566 | "vault_aws_access_credentials",
567 | "vault_generic_secret",
568 | "vsphere_compute_cluster",
569 | "vsphere_custom_attribute",
570 | "vsphere_datacenter",
571 | "vsphere_datastore",
572 | "vsphere_datastore_cluster",
573 | "vsphere_distributed_virtual_switch",
574 | "vsphere_host",
575 | "vsphere_network",
576 | "vsphere_resource_pool",
577 | "vsphere_tag",
578 | "vsphere_tag_category",
579 | "vsphere_virtual_machine",
580 | "vsphere_vmfs_disks"
581 | ]
582 | }
--------------------------------------------------------------------------------
/Completions/Resources.sublime-completions:
--------------------------------------------------------------------------------
1 | {
2 | "scope": "meta.resource.type.terraform",
3 | "completions": [
4 | "Resource",
5 | "acme_certificate",
6 | "acme_registration",
7 | "alicloud_cdn_domain",
8 | "alicloud_cen_bandwidth_package",
9 | "alicloud_cen_instance",
10 | "alicloud_cen_instance_attachment",
11 | "alicloud_cms_alarm",
12 | "alicloud_container_cluster",
13 | "alicloud_cs_application",
14 | "alicloud_cs_kubernetes",
15 | "alicloud_cs_swarm",
16 | "alicloud_db_account",
17 | "alicloud_db_account_privilege",
18 | "alicloud_db_backup_policy",
19 | "alicloud_db_connection",
20 | "alicloud_db_database",
21 | "alicloud_db_instance",
22 | "alicloud_disk",
23 | "alicloud_disk_attachment",
24 | "alicloud_dns",
25 | "alicloud_dns_group",
26 | "alicloud_dns_record",
27 | "alicloud_eip",
28 | "alicloud_eip_association",
29 | "alicloud_ess_alarm",
30 | "alicloud_ess_attachment",
31 | "alicloud_ess_lifecycle_hook",
32 | "alicloud_ess_scaling_configuration",
33 | "alicloud_ess_scaling_group",
34 | "alicloud_ess_scaling_rule",
35 | "alicloud_ess_schedule",
36 | "alicloud_fc_function",
37 | "alicloud_fc_service",
38 | "alicloud_fc_trigger",
39 | "alicloud_forward_entry",
40 | "alicloud_instance",
41 | "alicloud_key_pair",
42 | "alicloud_key_pair_attachment",
43 | "alicloud_kms_key",
44 | "alicloud_kvstore_backup_policy",
45 | "alicloud_kvstore_instance",
46 | "alicloud_log_machine_group",
47 | "alicloud_log_project",
48 | "alicloud_log_store",
49 | "alicloud_log_store_index",
50 | "alicloud_nat_gateway",
51 | "alicloud_oss_bucket",
52 | "alicloud_oss_bucket_object",
53 | "alicloud_ots_instance",
54 | "alicloud_ots_instance_attachment",
55 | "alicloud_ots_table",
56 | "alicloud_pvtz_zone",
57 | "alicloud_pvtz_zone_attachment",
58 | "alicloud_pvtz_zone_record",
59 | "alicloud_ram_access_key",
60 | "alicloud_ram_account_alias",
61 | "alicloud_ram_alias",
62 | "alicloud_ram_group",
63 | "alicloud_ram_group_membership",
64 | "alicloud_ram_group_policy_attachment",
65 | "alicloud_ram_login_profile",
66 | "alicloud_ram_policy",
67 | "alicloud_ram_role",
68 | "alicloud_ram_role_attachment",
69 | "alicloud_ram_role_policy_attachment",
70 | "alicloud_ram_user",
71 | "alicloud_ram_user_policy_attachment",
72 | "alicloud_route_entry",
73 | "alicloud_router_interface",
74 | "alicloud_router_interface_connection",
75 | "alicloud_security_group",
76 | "alicloud_security_group_rule",
77 | "alicloud_slb",
78 | "alicloud_slb_attachment",
79 | "alicloud_slb_listener",
80 | "alicloud_slb_rule",
81 | "alicloud_slb_server_group",
82 | "alicloud_snat_entry",
83 | "alicloud_ssl_vpn_cert_client",
84 | "alicloud_ssl_vpn_server",
85 | "alicloud_vpc",
86 | "alicloud_vpn_connection",
87 | "alicloud_vpn_customer_gateway",
88 | "alicloud_vpn_gateway",
89 | "alicloud_vswitch",
90 | "arukas_container",
91 | "aws_acm_certificate",
92 | "aws_acm_certificate_validation",
93 | "aws_acmpca_certificate_authority",
94 | "aws_alb",
95 | "aws_alb_listener",
96 | "aws_alb_listener_certificate",
97 | "aws_alb_listener_rule",
98 | "aws_alb_target_group",
99 | "aws_alb_target_group_attachment",
100 | "aws_ami",
101 | "aws_ami_copy",
102 | "aws_ami_from_instance",
103 | "aws_ami_launch_permission",
104 | "aws_api_gateway_account",
105 | "aws_api_gateway_api_key",
106 | "aws_api_gateway_authorizer",
107 | "aws_api_gateway_base_path_mapping",
108 | "aws_api_gateway_client_certificate",
109 | "aws_api_gateway_deployment",
110 | "aws_api_gateway_documentation_part",
111 | "aws_api_gateway_documentation_version",
112 | "aws_api_gateway_domain_name",
113 | "aws_api_gateway_gateway_response",
114 | "aws_api_gateway_integration",
115 | "aws_api_gateway_integration_response",
116 | "aws_api_gateway_method",
117 | "aws_api_gateway_method_response",
118 | "aws_api_gateway_method_settings",
119 | "aws_api_gateway_model",
120 | "aws_api_gateway_request_validator",
121 | "aws_api_gateway_resource",
122 | "aws_api_gateway_rest_api",
123 | "aws_api_gateway_stage",
124 | "aws_api_gateway_usage_plan",
125 | "aws_api_gateway_usage_plan_key",
126 | "aws_api_gateway_vpc_link",
127 | "aws_app_cookie_stickiness_policy",
128 | "aws_appautoscaling_policy",
129 | "aws_appautoscaling_scheduled_action",
130 | "aws_appautoscaling_target",
131 | "aws_appsync_api_key",
132 | "aws_appsync_datasource",
133 | "aws_appsync_graphql_api",
134 | "aws_athena_database",
135 | "aws_athena_named_query",
136 | "aws_autoscaling_attachment",
137 | "aws_autoscaling_group",
138 | "aws_autoscaling_lifecycle_hook",
139 | "aws_autoscaling_notification",
140 | "aws_autoscaling_policy",
141 | "aws_autoscaling_schedule",
142 | "aws_batch_compute_environment",
143 | "aws_batch_job_definition",
144 | "aws_batch_job_queue",
145 | "aws_budgets_budget",
146 | "aws_cloud9_environment_ec2",
147 | "aws_cloudformation_stack",
148 | "aws_cloudfront_distribution",
149 | "aws_cloudfront_origin_access_identity",
150 | "aws_cloudfront_public_key",
151 | "aws_cloudtrail",
152 | "aws_cloudwatch_dashboard",
153 | "aws_cloudwatch_event_permission",
154 | "aws_cloudwatch_event_rule",
155 | "aws_cloudwatch_event_target",
156 | "aws_cloudwatch_log_destination",
157 | "aws_cloudwatch_log_destination_policy",
158 | "aws_cloudwatch_log_group",
159 | "aws_cloudwatch_log_metric_filter",
160 | "aws_cloudwatch_log_resource_policy",
161 | "aws_cloudwatch_log_stream",
162 | "aws_cloudwatch_log_subscription_filter",
163 | "aws_cloudwatch_metric_alarm",
164 | "aws_codebuild_project",
165 | "aws_codebuild_webhook",
166 | "aws_codecommit_repository",
167 | "aws_codecommit_trigger",
168 | "aws_codedeploy_app",
169 | "aws_codedeploy_deployment_config",
170 | "aws_codedeploy_deployment_group",
171 | "aws_codepipeline",
172 | "aws_cognito_identity_pool",
173 | "aws_cognito_identity_pool_roles_attachment",
174 | "aws_cognito_identity_provider",
175 | "aws_cognito_resource_server",
176 | "aws_cognito_user_group",
177 | "aws_cognito_user_pool",
178 | "aws_cognito_user_pool_client",
179 | "aws_cognito_user_pool_domain",
180 | "aws_config_aggregate_authorization",
181 | "aws_config_config_rule",
182 | "aws_config_configuration_aggregator",
183 | "aws_config_configuration_recorder",
184 | "aws_config_configuration_recorder_status",
185 | "aws_config_delivery_channel",
186 | "aws_customer_gateway",
187 | "aws_dax_cluster",
188 | "aws_dax_parameter_group",
189 | "aws_dax_subnet_group",
190 | "aws_db_cluster_snapshot",
191 | "aws_db_event_subscription",
192 | "aws_db_instance",
193 | "aws_db_option_group",
194 | "aws_db_parameter_group",
195 | "aws_db_security_group",
196 | "aws_db_snapshot",
197 | "aws_db_subnet_group",
198 | "aws_default_network_acl",
199 | "aws_default_route_table",
200 | "aws_default_security_group",
201 | "aws_default_subnet",
202 | "aws_default_vpc",
203 | "aws_default_vpc_dhcp_options",
204 | "aws_devicefarm_project",
205 | "aws_directory_service_conditional_forwarder",
206 | "aws_directory_service_directory",
207 | "aws_dms_certificate",
208 | "aws_dms_endpoint",
209 | "aws_dms_replication_instance",
210 | "aws_dms_replication_subnet_group",
211 | "aws_dms_replication_task",
212 | "aws_dx_bgp_peer",
213 | "aws_dx_connection",
214 | "aws_dx_connection_association",
215 | "aws_dx_gateway",
216 | "aws_dx_gateway_association",
217 | "aws_dx_hosted_private_virtual_interface",
218 | "aws_dx_hosted_private_virtual_interface_accepter",
219 | "aws_dx_hosted_public_virtual_interface",
220 | "aws_dx_hosted_public_virtual_interface_accepter",
221 | "aws_dx_lag",
222 | "aws_dx_private_virtual_interface",
223 | "aws_dx_public_virtual_interface",
224 | "aws_dynamodb_global_table",
225 | "aws_dynamodb_table",
226 | "aws_dynamodb_table_item",
227 | "aws_ebs_snapshot",
228 | "aws_ebs_volume",
229 | "aws_ecr_lifecycle_policy",
230 | "aws_ecr_repository",
231 | "aws_ecr_repository_policy",
232 | "aws_ecs_cluster",
233 | "aws_ecs_service",
234 | "aws_ecs_task_definition",
235 | "aws_efs_file_system",
236 | "aws_efs_mount_target",
237 | "aws_egress_only_internet_gateway",
238 | "aws_eip",
239 | "aws_eip_association",
240 | "aws_eks_cluster",
241 | "aws_elastic_beanstalk_application",
242 | "aws_elastic_beanstalk_application_version",
243 | "aws_elastic_beanstalk_configuration_template",
244 | "aws_elastic_beanstalk_environment",
245 | "aws_elasticache_cluster",
246 | "aws_elasticache_parameter_group",
247 | "aws_elasticache_replication_group",
248 | "aws_elasticache_security_group",
249 | "aws_elasticache_subnet_group",
250 | "aws_elasticsearch_domain",
251 | "aws_elasticsearch_domain_policy",
252 | "aws_elastictranscoder_pipeline",
253 | "aws_elastictranscoder_preset",
254 | "aws_elb",
255 | "aws_elb_attachment",
256 | "aws_emr_cluster",
257 | "aws_emr_instance_group",
258 | "aws_emr_security_configuration",
259 | "aws_flow_log",
260 | "aws_gamelift_alias",
261 | "aws_gamelift_build",
262 | "aws_gamelift_fleet",
263 | "aws_glacier_vault",
264 | "aws_glue_catalog_database",
265 | "aws_glue_catalog_table",
266 | "aws_glue_classifier",
267 | "aws_glue_connection",
268 | "aws_glue_crawler",
269 | "aws_glue_job",
270 | "aws_glue_trigger",
271 | "aws_guardduty_detector",
272 | "aws_guardduty_ipset",
273 | "aws_guardduty_member",
274 | "aws_guardduty_threatintelset",
275 | "aws_iam_access_key",
276 | "aws_iam_account_alias",
277 | "aws_iam_account_password_policy",
278 | "aws_iam_group",
279 | "aws_iam_group_membership",
280 | "aws_iam_group_policy",
281 | "aws_iam_group_policy_attachment",
282 | "aws_iam_instance_profile",
283 | "aws_iam_openid_connect_provider",
284 | "aws_iam_policy",
285 | "aws_iam_policy_attachment",
286 | "aws_iam_role",
287 | "aws_iam_role_policy",
288 | "aws_iam_role_policy_attachment",
289 | "aws_iam_saml_provider",
290 | "aws_iam_server_certificate",
291 | "aws_iam_service_linked_role",
292 | "aws_iam_user",
293 | "aws_iam_user_group_membership",
294 | "aws_iam_user_login_profile",
295 | "aws_iam_user_policy",
296 | "aws_iam_user_policy_attachment",
297 | "aws_iam_user_ssh_key",
298 | "aws_inspector_assessment_target",
299 | "aws_inspector_assessment_template",
300 | "aws_inspector_resource_group",
301 | "aws_instance",
302 | "aws_internet_gateway",
303 | "aws_iot_certificate",
304 | "aws_iot_policy",
305 | "aws_iot_thing",
306 | "aws_iot_thing_type",
307 | "aws_iot_topic_rule",
308 | "aws_key_pair",
309 | "aws_kinesis_firehose_delivery_stream",
310 | "aws_kinesis_stream",
311 | "aws_kms_alias",
312 | "aws_kms_grant",
313 | "aws_kms_key",
314 | "aws_lambda_alias",
315 | "aws_lambda_event_source_mapping",
316 | "aws_lambda_function",
317 | "aws_lambda_permission",
318 | "aws_launch_configuration",
319 | "aws_launch_template",
320 | "aws_lb",
321 | "aws_lb_cookie_stickiness_policy",
322 | "aws_lb_listener",
323 | "aws_lb_listener_certificate",
324 | "aws_lb_listener_rule",
325 | "aws_lb_ssl_negotiation_policy",
326 | "aws_lb_target_group",
327 | "aws_lb_target_group_attachment",
328 | "aws_lightsail_domain",
329 | "aws_lightsail_instance",
330 | "aws_lightsail_key_pair",
331 | "aws_lightsail_static_ip",
332 | "aws_lightsail_static_ip_attachment",
333 | "aws_load_balancer_backend_server_policy",
334 | "aws_load_balancer_listener_policy",
335 | "aws_load_balancer_policy",
336 | "aws_macie_member_account_association",
337 | "aws_macie_s3_bucket_association",
338 | "aws_main_route_table_association",
339 | "aws_media_store_container",
340 | "aws_media_store_container_policy",
341 | "aws_mq_broker",
342 | "aws_mq_configuration",
343 | "aws_nat_gateway",
344 | "aws_neptune_cluster",
345 | "aws_neptune_cluster_instance",
346 | "aws_neptune_cluster_parameter_group",
347 | "aws_neptune_cluster_snapshot",
348 | "aws_neptune_event_subscription",
349 | "aws_neptune_parameter_group",
350 | "aws_neptune_subnet_group",
351 | "aws_network_acl",
352 | "aws_network_acl_rule",
353 | "aws_network_interface",
354 | "aws_network_interface_attachment",
355 | "aws_network_interface_sg_attachment",
356 | "aws_opsworks_application",
357 | "aws_opsworks_custom_layer",
358 | "aws_opsworks_ganglia_layer",
359 | "aws_opsworks_haproxy_layer",
360 | "aws_opsworks_instance",
361 | "aws_opsworks_java_app_layer",
362 | "aws_opsworks_memcached_layer",
363 | "aws_opsworks_mysql_layer",
364 | "aws_opsworks_nodejs_app_layer",
365 | "aws_opsworks_permission",
366 | "aws_opsworks_php_app_layer",
367 | "aws_opsworks_rails_app_layer",
368 | "aws_opsworks_rds_db_instance",
369 | "aws_opsworks_stack",
370 | "aws_opsworks_static_web_layer",
371 | "aws_opsworks_user_profile",
372 | "aws_organizations_account",
373 | "aws_organizations_organization",
374 | "aws_organizations_policy",
375 | "aws_organizations_policy_attachment",
376 | "aws_placement_group",
377 | "aws_proxy_protocol_policy",
378 | "aws_rds_cluster",
379 | "aws_rds_cluster_instance",
380 | "aws_rds_cluster_parameter_group",
381 | "aws_redshift_cluster",
382 | "aws_redshift_parameter_group",
383 | "aws_redshift_security_group",
384 | "aws_redshift_subnet_group",
385 | "aws_route",
386 | "aws_route53_delegation_set",
387 | "aws_route53_health_check",
388 | "aws_route53_query_log",
389 | "aws_route53_record",
390 | "aws_route53_zone",
391 | "aws_route53_zone_association",
392 | "aws_route_table",
393 | "aws_route_table_association",
394 | "aws_s3_bucket",
395 | "aws_s3_bucket_inventory",
396 | "aws_s3_bucket_metric",
397 | "aws_s3_bucket_notification",
398 | "aws_s3_bucket_object",
399 | "aws_s3_bucket_policy",
400 | "aws_secretsmanager_secret",
401 | "aws_secretsmanager_secret_version",
402 | "aws_security_group",
403 | "aws_security_group_rule",
404 | "aws_service_discovery_private_dns_namespace",
405 | "aws_service_discovery_public_dns_namespace",
406 | "aws_service_discovery_service",
407 | "aws_servicecatalog_portfolio",
408 | "aws_ses_active_receipt_rule_set",
409 | "aws_ses_configuration_set",
410 | "aws_ses_domain_dkim",
411 | "aws_ses_domain_identity",
412 | "aws_ses_domain_identity_verification",
413 | "aws_ses_domain_mail_from",
414 | "aws_ses_event_destination",
415 | "aws_ses_identity_notification_topic",
416 | "aws_ses_receipt_filter",
417 | "aws_ses_receipt_rule",
418 | "aws_ses_receipt_rule_set",
419 | "aws_ses_template",
420 | "aws_sfn_activity",
421 | "aws_sfn_state_machine",
422 | "aws_simpledb_domain",
423 | "aws_snapshot_create_volume_permission",
424 | "aws_sns_platform_application",
425 | "aws_sns_sms_preferences",
426 | "aws_sns_topic",
427 | "aws_sns_topic_policy",
428 | "aws_sns_topic_subscription",
429 | "aws_spot_datafeed_subscription",
430 | "aws_spot_fleet_request",
431 | "aws_spot_instance_request",
432 | "aws_sqs_queue",
433 | "aws_sqs_queue_policy",
434 | "aws_ssm_activation",
435 | "aws_ssm_association",
436 | "aws_ssm_document",
437 | "aws_ssm_maintenance_window",
438 | "aws_ssm_maintenance_window_target",
439 | "aws_ssm_maintenance_window_task",
440 | "aws_ssm_parameter",
441 | "aws_ssm_patch_baseline",
442 | "aws_ssm_patch_group",
443 | "aws_ssm_resource_data_sync",
444 | "aws_storagegateway_cache",
445 | "aws_storagegateway_cached_iscsi_volume",
446 | "aws_storagegateway_gateway",
447 | "aws_storagegateway_nfs_file_share",
448 | "aws_storagegateway_smb_file_share",
449 | "aws_storagegateway_upload_buffer",
450 | "aws_storagegateway_working_storage",
451 | "aws_subnet",
452 | "aws_swf_domain",
453 | "aws_volume_attachment",
454 | "aws_vpc",
455 | "aws_vpc_dhcp_options",
456 | "aws_vpc_dhcp_options_association",
457 | "aws_vpc_endpoint",
458 | "aws_vpc_endpoint_connection_notification",
459 | "aws_vpc_endpoint_route_table_association",
460 | "aws_vpc_endpoint_service",
461 | "aws_vpc_endpoint_service_allowed_principal",
462 | "aws_vpc_endpoint_subnet_association",
463 | "aws_vpc_ipv4_cidr_block_association",
464 | "aws_vpc_peering_connection",
465 | "aws_vpc_peering_connection_accepter",
466 | "aws_vpc_peering_connection_options",
467 | "aws_vpn_connection",
468 | "aws_vpn_connection_route",
469 | "aws_vpn_gateway",
470 | "aws_vpn_gateway_attachment",
471 | "aws_vpn_gateway_route_propagation",
472 | "aws_waf_byte_match_set",
473 | "aws_waf_geo_match_set",
474 | "aws_waf_ipset",
475 | "aws_waf_rate_based_rule",
476 | "aws_waf_regex_match_set",
477 | "aws_waf_regex_pattern_set",
478 | "aws_waf_rule",
479 | "aws_waf_rule_group",
480 | "aws_waf_size_constraint_set",
481 | "aws_waf_sql_injection_match_set",
482 | "aws_waf_web_acl",
483 | "aws_waf_xss_match_set",
484 | "aws_wafregional_byte_match_set",
485 | "aws_wafregional_geo_match_set",
486 | "aws_wafregional_ipset",
487 | "aws_wafregional_rate_based_rule",
488 | "aws_wafregional_regex_match_set",
489 | "aws_wafregional_regex_pattern_set",
490 | "aws_wafregional_rule",
491 | "aws_wafregional_rule_group",
492 | "aws_wafregional_size_constraint_set",
493 | "aws_wafregional_sql_injection_match_set",
494 | "aws_wafregional_web_acl",
495 | "aws_wafregional_web_acl_association",
496 | "aws_wafregional_xss_match_set",
497 | "azurerm_app_service",
498 | "azurerm_app_service_active_slot",
499 | "azurerm_app_service_custom_hostname_binding",
500 | "azurerm_app_service_plan",
501 | "azurerm_app_service_slot",
502 | "azurerm_application_gateway",
503 | "azurerm_application_insights",
504 | "azurerm_application_security_group",
505 | "azurerm_automation_account",
506 | "azurerm_automation_credential",
507 | "azurerm_automation_runbook",
508 | "azurerm_automation_schedule",
509 | "azurerm_autoscale_setting",
510 | "azurerm_availability_set",
511 | "azurerm_azuread_application",
512 | "azurerm_azuread_service_principal",
513 | "azurerm_azuread_service_principal_password",
514 | "azurerm_cdn_endpoint",
515 | "azurerm_cdn_profile",
516 | "azurerm_container_group",
517 | "azurerm_container_registry",
518 | "azurerm_container_service",
519 | "azurerm_cosmosdb_account",
520 | "azurerm_data_lake_analytics_account",
521 | "azurerm_data_lake_analytics_firewall_rule",
522 | "azurerm_data_lake_store",
523 | "azurerm_data_lake_store_firewall_rule",
524 | "azurerm_dns_a_record",
525 | "azurerm_dns_aaaa_record",
526 | "azurerm_dns_caa_record",
527 | "azurerm_dns_cname_record",
528 | "azurerm_dns_mx_record",
529 | "azurerm_dns_ns_record",
530 | "azurerm_dns_ptr_record",
531 | "azurerm_dns_srv_record",
532 | "azurerm_dns_txt_record",
533 | "azurerm_dns_zone",
534 | "azurerm_eventgrid_topic",
535 | "azurerm_eventhub",
536 | "azurerm_eventhub_authorization_rule",
537 | "azurerm_eventhub_consumer_group",
538 | "azurerm_eventhub_namespace",
539 | "azurerm_express_route_circuit",
540 | "azurerm_express_route_circuit_authorization",
541 | "azurerm_express_route_circuit_peering",
542 | "azurerm_firewall",
543 | "azurerm_firewall_network_rule_collection",
544 | "azurerm_function_app",
545 | "azurerm_image",
546 | "azurerm_iothub",
547 | "azurerm_key_vault",
548 | "azurerm_key_vault_access_policy",
549 | "azurerm_key_vault_certificate",
550 | "azurerm_key_vault_key",
551 | "azurerm_key_vault_secret",
552 | "azurerm_kubernetes_cluster",
553 | "azurerm_lb",
554 | "azurerm_lb_backend_address_pool",
555 | "azurerm_lb_nat_pool",
556 | "azurerm_lb_nat_rule",
557 | "azurerm_lb_probe",
558 | "azurerm_lb_rule",
559 | "azurerm_local_network_gateway",
560 | "azurerm_log_analytics_solution",
561 | "azurerm_log_analytics_workspace",
562 | "azurerm_logic_app_action_custom",
563 | "azurerm_logic_app_action_http",
564 | "azurerm_logic_app_trigger_custom",
565 | "azurerm_logic_app_trigger_http_request",
566 | "azurerm_logic_app_trigger_recurrence",
567 | "azurerm_logic_app_workflow",
568 | "azurerm_managed_disk",
569 | "azurerm_management_group",
570 | "azurerm_management_lock",
571 | "azurerm_metric_alertrule",
572 | "azurerm_monitor_action_group",
573 | "azurerm_mysql_configuration",
574 | "azurerm_mysql_database",
575 | "azurerm_mysql_firewall_rule",
576 | "azurerm_mysql_server",
577 | "azurerm_mysql_virtual_network_rule",
578 | "azurerm_network_interface",
579 | "azurerm_network_security_group",
580 | "azurerm_network_security_rule",
581 | "azurerm_network_watcher",
582 | "azurerm_notification_hub",
583 | "azurerm_notification_hub_authorization_rule",
584 | "azurerm_notification_hub_namespace",
585 | "azurerm_packet_capture",
586 | "azurerm_policy_assignment",
587 | "azurerm_policy_definition",
588 | "azurerm_postgresql_configuration",
589 | "azurerm_postgresql_database",
590 | "azurerm_postgresql_firewall_rule",
591 | "azurerm_postgresql_server",
592 | "azurerm_postgresql_virtual_network_rule",
593 | "azurerm_public_ip",
594 | "azurerm_recovery_services_vault",
595 | "azurerm_redis_cache",
596 | "azurerm_redis_firewall_rule",
597 | "azurerm_relay_namespace",
598 | "azurerm_resource_group",
599 | "azurerm_role_assignment",
600 | "azurerm_role_definition",
601 | "azurerm_route",
602 | "azurerm_route_table",
603 | "azurerm_scheduler_job",
604 | "azurerm_scheduler_job_collection",
605 | "azurerm_search_service",
606 | "azurerm_service_fabric_cluster",
607 | "azurerm_servicebus_namespace",
608 | "azurerm_servicebus_namespace_authorization_rule",
609 | "azurerm_servicebus_queue",
610 | "azurerm_servicebus_queue_authorization_rule",
611 | "azurerm_servicebus_subscription",
612 | "azurerm_servicebus_subscription_rule",
613 | "azurerm_servicebus_topic",
614 | "azurerm_servicebus_topic_authorization_rule",
615 | "azurerm_snapshot",
616 | "azurerm_sql_active_directory_administrator",
617 | "azurerm_sql_database",
618 | "azurerm_sql_elasticpool",
619 | "azurerm_sql_firewall_rule",
620 | "azurerm_sql_server",
621 | "azurerm_sql_virtual_network_rule",
622 | "azurerm_storage_account",
623 | "azurerm_storage_blob",
624 | "azurerm_storage_container",
625 | "azurerm_storage_queue",
626 | "azurerm_storage_share",
627 | "azurerm_storage_table",
628 | "azurerm_subnet",
629 | "azurerm_template_deployment",
630 | "azurerm_traffic_manager_endpoint",
631 | "azurerm_traffic_manager_profile",
632 | "azurerm_user_assigned_identity",
633 | "azurerm_virtual_machine",
634 | "azurerm_virtual_machine_data_disk_attachment",
635 | "azurerm_virtual_machine_extension",
636 | "azurerm_virtual_machine_scale_set",
637 | "azurerm_virtual_network",
638 | "azurerm_virtual_network_gateway",
639 | "azurerm_virtual_network_gateway_connection",
640 | "azurerm_virtual_network_peering",
641 | "azurestack_availability_set",
642 | "azurestack_dns_a_record",
643 | "azurestack_dns_zone",
644 | "azurestack_lb",
645 | "azurestack_lb_backend_address_pool",
646 | "azurestack_lb_nat_pool",
647 | "azurestack_lb_nat_rule",
648 | "azurestack_lb_probe",
649 | "azurestack_lb_rule",
650 | "azurestack_local_network_gateway",
651 | "azurestack_network_interface",
652 | "azurestack_network_security_group",
653 | "azurestack_network_security_rule",
654 | "azurestack_public_ip",
655 | "azurestack_resource_group",
656 | "azurestack_route",
657 | "azurestack_route_table",
658 | "azurestack_storage_account",
659 | "azurestack_storage_blob",
660 | "azurestack_storage_container",
661 | "azurestack_subnet",
662 | "azurestack_template_deployment",
663 | "azurestack_virtual_machine",
664 | "azurestack_virtual_machine_extension",
665 | "azurestack_virtual_machine_scale_set",
666 | "azurestack_virtual_network",
667 | "azurestack_virtual_network_gateway",
668 | "bitbucket_default_reviewers",
669 | "bitbucket_hook",
670 | "bitbucket_repository",
671 | "brightbox_cloudip",
672 | "brightbox_container",
673 | "brightbox_database_server",
674 | "brightbox_firewall_policy",
675 | "brightbox_firewall_rule",
676 | "brightbox_load_balancer",
677 | "brightbox_server",
678 | "brightbox_server_group",
679 | "chef_data_bag",
680 | "chef_data_bag_item",
681 | "chef_environment",
682 | "chef_node",
683 | "chef_role",
684 | "circonus_check",
685 | "circonus_contact_group",
686 | "circonus_graph",
687 | "circonus_metric",
688 | "circonus_metric_cluster",
689 | "circonus_rule_set",
690 | "clc_group",
691 | "clc_load_balancer",
692 | "clc_load_balancer_pool",
693 | "clc_public_ip",
694 | "clc_server",
695 | "cloudflare_access_rule",
696 | "cloudflare_load_balancer",
697 | "cloudflare_load_balancer_monitor",
698 | "cloudflare_load_balancer_pool",
699 | "cloudflare_page_rule",
700 | "cloudflare_rate_limit",
701 | "cloudflare_record",
702 | "cloudflare_worker_route",
703 | "cloudflare_worker_script",
704 | "cloudflare_zone_lockdown",
705 | "cloudflare_zone_settings_override",
706 | "cloudscale_floating_ip",
707 | "cloudscale_server",
708 | "cloudstack_affinity_group",
709 | "cloudstack_disk",
710 | "cloudstack_egress_firewall",
711 | "cloudstack_firewall",
712 | "cloudstack_instance",
713 | "cloudstack_ipaddress",
714 | "cloudstack_loadbalancer_rule",
715 | "cloudstack_network",
716 | "cloudstack_network_acl",
717 | "cloudstack_network_acl_rule",
718 | "cloudstack_nic",
719 | "cloudstack_port_forward",
720 | "cloudstack_private_gateway",
721 | "cloudstack_secondary_ipaddress",
722 | "cloudstack_security_group",
723 | "cloudstack_security_group_rule",
724 | "cloudstack_ssh_keypair",
725 | "cloudstack_static_nat",
726 | "cloudstack_static_route",
727 | "cloudstack_template",
728 | "cloudstack_vpc",
729 | "cloudstack_vpn_connection",
730 | "cloudstack_vpn_customer_gateway",
731 | "cloudstack_vpn_gateway",
732 | "cobbler_distro",
733 | "cobbler_kickstart_file",
734 | "cobbler_profile",
735 | "cobbler_repo",
736 | "cobbler_snippet",
737 | "cobbler_system",
738 | "consul_agent_service",
739 | "consul_catalog_entry",
740 | "consul_intention",
741 | "consul_key_prefix",
742 | "consul_keys",
743 | "consul_node",
744 | "consul_prepared_query",
745 | "consul_service",
746 | "datadog_downtime",
747 | "datadog_monitor",
748 | "datadog_timeboard",
749 | "datadog_user",
750 | "digitalocean_certificate",
751 | "digitalocean_domain",
752 | "digitalocean_droplet",
753 | "digitalocean_firewall",
754 | "digitalocean_floating_ip",
755 | "digitalocean_loadbalancer",
756 | "digitalocean_record",
757 | "digitalocean_ssh_key",
758 | "digitalocean_tag",
759 | "digitalocean_volume",
760 | "dme_record",
761 | "dns_a_record_set",
762 | "dns_aaaa_record_set",
763 | "dns_cname_record",
764 | "dns_ns_record_set",
765 | "dns_ptr_record",
766 | "dnsimple_record",
767 | "docker_config",
768 | "docker_container",
769 | "docker_image",
770 | "docker_network",
771 | "docker_secret",
772 | "docker_service",
773 | "docker_volume",
774 | "docs-oneandone-datasource-instance-size",
775 | "dyn_record",
776 | "elastigroup_aws",
777 | "fastly_service_v1",
778 | "file",
779 | "flexibleengine_blockstorage_volume_v2",
780 | "flexibleengine_compute_floatingip_associate_v2",
781 | "flexibleengine_compute_floatingip_v2",
782 | "flexibleengine_compute_instance_v2",
783 | "flexibleengine_compute_keypair_v2",
784 | "flexibleengine_compute_servergroup_v2",
785 | "flexibleengine_compute_volume_attach_v2",
786 | "flexibleengine_dns_recordset_v2",
787 | "flexibleengine_dns_zone_v2",
788 | "flexibleengine_drs_replication_v2",
789 | "flexibleengine_drs_replicationconsistencygroup_v2",
790 | "flexibleengine_elb_backend",
791 | "flexibleengine_elb_health",
792 | "flexibleengine_elb_listener",
793 | "flexibleengine_elb_loadbalancer",
794 | "flexibleengine_nat_gateway_v2",
795 | "flexibleengine_nat_snat_rule_v2",
796 | "flexibleengine_networking_floatingip_v2",
797 | "flexibleengine_networking_network_v2",
798 | "flexibleengine_networking_port_v2",
799 | "flexibleengine_networking_router_interface_v2",
800 | "flexibleengine_networking_router_route_v2",
801 | "flexibleengine_networking_router_v2",
802 | "flexibleengine_networking_secgroup_rule_v2",
803 | "flexibleengine_networking_secgroup_v2",
804 | "flexibleengine_networking_subnet_v2",
805 | "flexibleengine_networking_vip_associate_v2",
806 | "flexibleengine_networking_vip_v2",
807 | "flexibleengine_s3-bucket-object",
808 | "flexibleengine_s3_bucket",
809 | "flexibleengine_s3_object_policy",
810 | "flexibleengine_vpc_peering_connection_accepter_v2",
811 | "flexibleengine_vpc_peering_connection_v2",
812 | "flexibleengine_vpc_route_v2",
813 | "flexibleengine_vpc_subnet_v1",
814 | "flexibleengine_vpc_v1",
815 | "github_branch_protection",
816 | "github_issue_label",
817 | "github_membership",
818 | "github_organization_project",
819 | "github_organization_webhook",
820 | "github_project_column",
821 | "github_repository",
822 | "github_repository_collaborator",
823 | "github_repository_deploy_key",
824 | "github_repository_project",
825 | "github_repository_webhook",
826 | "github_team",
827 | "github_team_membership",
828 | "github_team_repository",
829 | "github_user_gpg_key",
830 | "github_user_ssh_key",
831 | "gitlab_deploy_key",
832 | "gitlab_group",
833 | "gitlab_label",
834 | "gitlab_project",
835 | "gitlab_project_hook",
836 | "gitlab_user",
837 | "google_bigquery_dataset",
838 | "google_bigquery_table",
839 | "google_bigtable_instance",
840 | "google_bigtable_table",
841 | "google_binary_authorization_attestor",
842 | "google_binary_authorization_policy",
843 | "google_cloudbuild_trigger",
844 | "google_cloudfunctions_function",
845 | "google_cloudiot_registry",
846 | "google_compute_address",
847 | "google_compute_attached_disk",
848 | "google_compute_autoscaler",
849 | "google_compute_backend_bucket",
850 | "google_compute_backend_service",
851 | "google_compute_disk",
852 | "google_compute_firewall",
853 | "google_compute_forwarding_rule",
854 | "google_compute_global_address",
855 | "google_compute_global_forwarding_rule",
856 | "google_compute_health_check",
857 | "google_compute_http_health_check",
858 | "google_compute_https_health_check",
859 | "google_compute_image",
860 | "google_compute_instance",
861 | "google_compute_instance_from_template",
862 | "google_compute_instance_group",
863 | "google_compute_instance_group_manager",
864 | "google_compute_instance_template",
865 | "google_compute_network",
866 | "google_compute_network_peering",
867 | "google_compute_project_metadata",
868 | "google_compute_project_metadata_item",
869 | "google_compute_region_autoscaler",
870 | "google_compute_region_backend_service",
871 | "google_compute_region_disk",
872 | "google_compute_region_instance_group_manager",
873 | "google_compute_route",
874 | "google_compute_router",
875 | "google_compute_router_interface",
876 | "google_compute_router_peer",
877 | "google_compute_security_policy",
878 | "google_compute_shared_vpc_host_project",
879 | "google_compute_shared_vpc_service_project",
880 | "google_compute_snapshot",
881 | "google_compute_ssl_certificate",
882 | "google_compute_ssl_policy",
883 | "google_compute_subnetwork",
884 | "google_compute_subnetwork_iam_binding",
885 | "google_compute_subnetwork_iam_member",
886 | "google_compute_subnetwork_iam_policy",
887 | "google_compute_target_http_proxy",
888 | "google_compute_target_https_proxy",
889 | "google_compute_target_pool",
890 | "google_compute_target_ssl_proxy",
891 | "google_compute_target_tcp_proxy",
892 | "google_compute_url_map",
893 | "google_compute_vpn_gateway",
894 | "google_compute_vpn_tunnel",
895 | "google_container_analysis_note",
896 | "google_container_cluster",
897 | "google_container_node_pool",
898 | "google_dataflow_job",
899 | "google_dataproc_cluster",
900 | "google_dataproc_job",
901 | "google_dns_managed_zone",
902 | "google_dns_record_set",
903 | "google_endpoints_service",
904 | "google_folder",
905 | "google_folder_iam_binding",
906 | "google_folder_iam_member",
907 | "google_folder_iam_policy",
908 | "google_folder_organization_policy",
909 | "google_kms_crypto_key",
910 | "google_kms_crypto_key_iam_binding",
911 | "google_kms_crypto_key_iam_member",
912 | "google_kms_key_ring",
913 | "google_kms_key_ring_iam_binding",
914 | "google_kms_key_ring_iam_member",
915 | "google_kms_key_ring_iam_policy",
916 | "google_logging_billing_account_exclusion",
917 | "google_logging_billing_account_sink",
918 | "google_logging_folder_exclusion",
919 | "google_logging_folder_sink",
920 | "google_logging_organization_exclusion",
921 | "google_logging_organization_sink",
922 | "google_logging_project_exclusion",
923 | "google_logging_project_sink",
924 | "google_organization_iam_binding",
925 | "google_organization_iam_custom_role",
926 | "google_organization_iam_member",
927 | "google_organization_iam_policy",
928 | "google_organization_policy",
929 | "google_project",
930 | "google_project_iam_binding",
931 | "google_project_iam_custom_role",
932 | "google_project_iam_member",
933 | "google_project_iam_policy",
934 | "google_project_organization_policy",
935 | "google_project_service",
936 | "google_project_services",
937 | "google_project_usage_export_bucket",
938 | "google_pubsub_subscription",
939 | "google_pubsub_subscription_iam_binding",
940 | "google_pubsub_subscription_iam_member",
941 | "google_pubsub_subscription_iam_policy",
942 | "google_pubsub_topic",
943 | "google_pubsub_topic_iam_binding",
944 | "google_pubsub_topic_iam_member",
945 | "google_pubsub_topic_iam_policy",
946 | "google_redis_instance",
947 | "google_resource_manager_lien",
948 | "google_runtimeconfig_config",
949 | "google_runtimeconfig_variable",
950 | "google_service_account",
951 | "google_service_account_iam_binding",
952 | "google_service_account_iam_member",
953 | "google_service_account_iam_policy",
954 | "google_service_account_key",
955 | "google_sourcerepo_repository",
956 | "google_spanner_database",
957 | "google_spanner_database_iam_binding",
958 | "google_spanner_database_iam_member",
959 | "google_spanner_database_iam_policy",
960 | "google_spanner_instance",
961 | "google_spanner_instance_iam_binding",
962 | "google_spanner_instance_iam_member",
963 | "google_spanner_instance_iam_policy",
964 | "google_sql_database",
965 | "google_sql_database_instance",
966 | "google_sql_user",
967 | "google_storage_bucket",
968 | "google_storage_bucket_acl",
969 | "google_storage_bucket_iam_binding",
970 | "google_storage_bucket_iam_member",
971 | "google_storage_bucket_object",
972 | "google_storage_default_object_acl",
973 | "google_storage_notification",
974 | "google_storage_object_acl",
975 | "grafana_alert_notification",
976 | "grafana_dashboard",
977 | "grafana_data_source",
978 | "grafana_organization",
979 | "hcloud_floating_ip",
980 | "hcloud_floating_ip_assignment",
981 | "hcloud_rdns",
982 | "hcloud_server",
983 | "hcloud_ssh_key",
984 | "heroku_addon",
985 | "heroku_addon_attachment",
986 | "heroku_app",
987 | "heroku_app_feature",
988 | "heroku_app_release",
989 | "heroku_cert",
990 | "heroku_domain",
991 | "heroku_drain",
992 | "heroku_formation",
993 | "heroku_pipeline",
994 | "heroku_pipeline_coupling",
995 | "heroku_slug",
996 | "heroku_space",
997 | "heroku_space_app_access",
998 | "heroku_space_inbound_ruleset",
999 | "heroku_space_peering_connection_accepter",
1000 | "heroku_space_vpn_connection",
1001 | "heroku_team_collaborator",
1002 | "heroku_team_member",
1003 | "huaweicloud_as_configuration_v1",
1004 | "huaweicloud_as_group_v1",
1005 | "huaweicloud_as_policy_v1",
1006 | "huaweicloud_blockstorage_volume_v2",
1007 | "huaweicloud_ces-alarmrule",
1008 | "huaweicloud_compute_floatingip_associate_v2",
1009 | "huaweicloud_compute_floatingip_v2",
1010 | "huaweicloud_compute_instance_v2",
1011 | "huaweicloud_compute_keypair_v2",
1012 | "huaweicloud_compute_secgroup_v2",
1013 | "huaweicloud_compute_servergroup_v2",
1014 | "huaweicloud_compute_volume_attach_v2",
1015 | "huaweicloud_dns_recordset_v2",
1016 | "huaweicloud_dns_zone_v2",
1017 | "huaweicloud_elb_backendecs",
1018 | "huaweicloud_elb_healthcheck",
1019 | "huaweicloud_elb_listener",
1020 | "huaweicloud_elb_loadbalancer",
1021 | "huaweicloud_fw_firewall_group_v2",
1022 | "huaweicloud_fw_policy_v2",
1023 | "huaweicloud_fw_rule_v2",
1024 | "huaweicloud_iam_agency_v3",
1025 | "huaweicloud_images_image_v2",
1026 | "huaweicloud_kms_key_v1",
1027 | "huaweicloud_lb_listener_v2",
1028 | "huaweicloud_lb_loadbalancer_v2",
1029 | "huaweicloud_lb_member_v2",
1030 | "huaweicloud_lb_monitor_v2",
1031 | "huaweicloud_lb_pool_v2",
1032 | "huaweicloud_nat_gateway_v2",
1033 | "huaweicloud_nat_snat_rule_v2",
1034 | "huaweicloud_networking_floatingip_v2",
1035 | "huaweicloud_networking_network_v2",
1036 | "huaweicloud_networking_port_v2",
1037 | "huaweicloud_networking_router_interface_v2",
1038 | "huaweicloud_networking_router_route_v2",
1039 | "huaweicloud_networking_router_v2",
1040 | "huaweicloud_networking_secgroup_rule_v2",
1041 | "huaweicloud_networking_secgroup_v2",
1042 | "huaweicloud_networking_subnet_v2",
1043 | "huaweicloud_rds_instance_v1",
1044 | "huaweicloud_rts_software_config_v1",
1045 | "huaweicloud_rts_stack_v1",
1046 | "huaweicloud_s3-bucket-object",
1047 | "huaweicloud_s3_bucket",
1048 | "huaweicloud_s3_object_policy",
1049 | "huaweicloud_sfs_file_system_v2",
1050 | "huaweicloud_smn_subscription_v2",
1051 | "huaweicloud_smn_topic_v2",
1052 | "huaweicloud_vpc_eip_v1",
1053 | "huaweicloud_vpc_peering_connection_accepter_v2",
1054 | "huaweicloud_vpc_peering_connection_v2",
1055 | "huaweicloud_vpc_route_v2",
1056 | "huaweicloud_vpc_subnet_v1",
1057 | "huaweicloud_vpc_v1",
1058 | "icinga2_checkcommand",
1059 | "icinga2_host",
1060 | "icinga2_hostgroup",
1061 | "icinga2_service",
1062 | "influxdb_continuous_query",
1063 | "influxdb_database",
1064 | "influxdb_user",
1065 | "kubernetes_config_map",
1066 | "kubernetes_horizontal_pod_autoscaler",
1067 | "kubernetes_limit_range",
1068 | "kubernetes_namespace",
1069 | "kubernetes_persistent_volume",
1070 | "kubernetes_persistent_volume_claim",
1071 | "kubernetes_pod",
1072 | "kubernetes_replication_controller",
1073 | "kubernetes_resource_quota",
1074 | "kubernetes_secret",
1075 | "kubernetes_service",
1076 | "kubernetes_service_account",
1077 | "kubernetes_storage_class",
1078 | "librato_alert",
1079 | "librato_metric",
1080 | "librato_service",
1081 | "librato_space",
1082 | "librato_space_chart",
1083 | "logentries_log",
1084 | "logentries_logset",
1085 | "logicmonitor_collector",
1086 | "logicmonitor_collectorgroup",
1087 | "logicmonitor_device",
1088 | "logicmonitor_devicegroup",
1089 | "mailgun_domain",
1090 | "mysql_database",
1091 | "mysql_grant",
1092 | "mysql_user",
1093 | "netlify_build_hook",
1094 | "netlify_deploy_key",
1095 | "netlify_hook",
1096 | "netlify_site",
1097 | "newrelic_alert_channel",
1098 | "newrelic_alert_condition",
1099 | "newrelic_alert_policy",
1100 | "newrelic_alert_policy_channel",
1101 | "newrelic_dashboard",
1102 | "newrelic_infra_alert_condition",
1103 | "newrelic_nrql_alert_condition",
1104 | "nomad_acl_policy",
1105 | "nomad_acl_token",
1106 | "nomad_job",
1107 | "nomad_namespace",
1108 | "nomad_quota_specification",
1109 | "nomad_sentinel_policy",
1110 | "ns1_apikey",
1111 | "ns1_datafeed",
1112 | "ns1_datasource",
1113 | "ns1_monitoringjob",
1114 | "ns1_notifylist",
1115 | "ns1_record",
1116 | "ns1_team",
1117 | "ns1_user",
1118 | "ns1_zone",
1119 | "nsxt_algorithm_type_ns_service",
1120 | "nsxt_dhcp_relay_profile",
1121 | "nsxt_dhcp_relay_service",
1122 | "nsxt_ether_type_ns_service",
1123 | "nsxt_firewall_section",
1124 | "nsxt_icmp_type_ns_service",
1125 | "nsxt_igmp_type_ns_service",
1126 | "nsxt_ip_protocol_ns_service",
1127 | "nsxt_ip_set",
1128 | "nsxt_l4_port_set_ns_service",
1129 | "nsxt_logical_port",
1130 | "nsxt_logical_router_downlink_port",
1131 | "nsxt_logical_router_link_port_on_tier0",
1132 | "nsxt_logical_router_link_port_on_tier1",
1133 | "nsxt_logical_switch",
1134 | "nsxt_logical_tier1_router",
1135 | "nsxt_nat_rule",
1136 | "nsxt_ns_group",
1137 | "nsxt_static_route",
1138 | "nsxt_vm_tags",
1139 | "oci_audit_configuration",
1140 | "oci_containerengine_cluster",
1141 | "oci_containerengine_node_pool",
1142 | "oci_core_boot_volume_backup",
1143 | "oci_core_console_history",
1144 | "oci_core_cpe",
1145 | "oci_core_cross_connect",
1146 | "oci_core_cross_connect_group",
1147 | "oci_core_dhcp_options",
1148 | "oci_core_drg",
1149 | "oci_core_drg_attachment",
1150 | "oci_core_image",
1151 | "oci_core_instance",
1152 | "oci_core_instance_console_connection",
1153 | "oci_core_internet_gateway",
1154 | "oci_core_ipsec",
1155 | "oci_core_local_peering_gateway",
1156 | "oci_core_private_ip",
1157 | "oci_core_public_ip",
1158 | "oci_core_remote_peering_connection",
1159 | "oci_core_route_table",
1160 | "oci_core_security_list",
1161 | "oci_core_service_gateway",
1162 | "oci_core_subnet",
1163 | "oci_core_vcn",
1164 | "oci_core_virtual_circuit",
1165 | "oci_core_vnic_attachment",
1166 | "oci_core_volume",
1167 | "oci_core_volume_attachment",
1168 | "oci_core_volume_backup",
1169 | "oci_core_volume_backup_policy_assignment",
1170 | "oci_core_volume_group",
1171 | "oci_core_volume_group_backup",
1172 | "oci_database_autonomous_data_warehouse",
1173 | "oci_database_autonomous_data_warehouse_backup",
1174 | "oci_database_autonomous_database",
1175 | "oci_database_autonomous_database_backup",
1176 | "oci_database_backup",
1177 | "oci_database_db_system",
1178 | "oci_dns_record",
1179 | "oci_dns_zone",
1180 | "oci_email_sender",
1181 | "oci_email_suppression",
1182 | "oci_file_storage_export",
1183 | "oci_file_storage_export_set",
1184 | "oci_file_storage_file_system",
1185 | "oci_file_storage_mount_target",
1186 | "oci_file_storage_snapshot",
1187 | "oci_identity_api_key",
1188 | "oci_identity_auth_token",
1189 | "oci_identity_compartment",
1190 | "oci_identity_customer_secret_key",
1191 | "oci_identity_dynamic_group",
1192 | "oci_identity_group",
1193 | "oci_identity_identity_provider",
1194 | "oci_identity_idp_group_mapping",
1195 | "oci_identity_policy",
1196 | "oci_identity_smtp_credential",
1197 | "oci_identity_swift_password",
1198 | "oci_identity_tag",
1199 | "oci_identity_tag_namespace",
1200 | "oci_identity_ui_password",
1201 | "oci_identity_user",
1202 | "oci_identity_user_group_membership",
1203 | "oci_load_balancer_backend",
1204 | "oci_load_balancer_backend_set",
1205 | "oci_load_balancer_certificate",
1206 | "oci_load_balancer_hostname",
1207 | "oci_load_balancer_listener",
1208 | "oci_load_balancer_load_balancer",
1209 | "oci_load_balancer_path_route_set",
1210 | "oci_objectstorage_bucket",
1211 | "oci_objectstorage_object",
1212 | "oci_objectstorage_preauthrequest",
1213 | "oneandone_baremetal",
1214 | "oneandone_block_storage",
1215 | "oneandone_firewall_policy",
1216 | "oneandone_loadbalancer",
1217 | "oneandone_monitoring_policy",
1218 | "oneandone_private_network",
1219 | "oneandone_public_ip",
1220 | "oneandone_server",
1221 | "oneandone_shared_storage",
1222 | "oneandone_ssh_key",
1223 | "oneandone_vpn",
1224 | "opc_compute_acl",
1225 | "opc_compute_image_list",
1226 | "opc_compute_image_list_entry",
1227 | "opc_compute_instance",
1228 | "opc_compute_ip_address_association",
1229 | "opc_compute_ip_address_prefix_set",
1230 | "opc_compute_ip_address_reservation",
1231 | "opc_compute_ip_association",
1232 | "opc_compute_ip_network",
1233 | "opc_compute_ip_network_exchange",
1234 | "opc_compute_ip_reservation",
1235 | "opc_compute_machine_image",
1236 | "opc_compute_orchestrated_instance",
1237 | "opc_compute_route",
1238 | "opc_compute_sec_rule",
1239 | "opc_compute_security_application",
1240 | "opc_compute_security_association",
1241 | "opc_compute_security_ip_list",
1242 | "opc_compute_security_list",
1243 | "opc_compute_security_protocol",
1244 | "opc_compute_security_rule",
1245 | "opc_compute_ssh_key",
1246 | "opc_compute_storage_volume",
1247 | "opc_compute_storage_volume_attachment",
1248 | "opc_compute_storage_volume_snapshot",
1249 | "opc_compute_vnic_set",
1250 | "opc_lbaas_certificate",
1251 | "opc_lbaas_listener",
1252 | "opc_lbaas_load_balancer",
1253 | "opc_lbaas_policy",
1254 | "opc_lbaas_server_pool",
1255 | "opc_storage_container",
1256 | "opc_storage_object",
1257 | "openstack_blockstorage_volume_attach_v2",
1258 | "openstack_blockstorage_volume_attach_v3",
1259 | "openstack_blockstorage_volume_v1",
1260 | "openstack_blockstorage_volume_v2",
1261 | "openstack_blockstorage_volume_v3",
1262 | "openstack_compute_flavor_v2",
1263 | "openstack_compute_floatingip_associate_v2",
1264 | "openstack_compute_floatingip_v2",
1265 | "openstack_compute_instance_v2",
1266 | "openstack_compute_keypair_v2",
1267 | "openstack_compute_secgroup_v2",
1268 | "openstack_compute_servergroup_v2",
1269 | "openstack_compute_volume_attach_v2",
1270 | "openstack_containerinfra_clustertemplate_v1",
1271 | "openstack_db_configuration_v1",
1272 | "openstack_db_database_v1",
1273 | "openstack_db_instance_v1",
1274 | "openstack_db_user_v1",
1275 | "openstack_dns_recordset_v2",
1276 | "openstack_dns_zone_v2",
1277 | "openstack_fw_firewall_v1",
1278 | "openstack_fw_policy_v1",
1279 | "openstack_fw_rule_v1",
1280 | "openstack_identity_project_v3",
1281 | "openstack_identity_role_assignment_v3",
1282 | "openstack_identity_role_v3",
1283 | "openstack_identity_user_v3",
1284 | "openstack_images_image_v2",
1285 | "openstack_lb_listener_v2",
1286 | "openstack_lb_loadbalancer_v2",
1287 | "openstack_lb_member_v1",
1288 | "openstack_lb_member_v2",
1289 | "openstack_lb_monitor_v1",
1290 | "openstack_lb_monitor_v2",
1291 | "openstack_lb_pool_v1",
1292 | "openstack_lb_pool_v2",
1293 | "openstack_lb_vip_v1",
1294 | "openstack_networking_floatingip_associate_v2",
1295 | "openstack_networking_floatingip_v2",
1296 | "openstack_networking_network_v2",
1297 | "openstack_networking_port_v2",
1298 | "openstack_networking_router_interface_v2",
1299 | "openstack_networking_router_route_v2",
1300 | "openstack_networking_router_v2",
1301 | "openstack_networking_secgroup_rule_v2",
1302 | "openstack_networking_secgroup_v2",
1303 | "openstack_networking_subnet_route_v2",
1304 | "openstack_networking_subnet_v2",
1305 | "openstack_networking_subnetpool_v2",
1306 | "openstack_objectstorage_container_v1",
1307 | "openstack_objectstorage_object_v1",
1308 | "openstack_objectstorage_tempurl_v1",
1309 | "openstack_vpnaas_endpoint_group_v2",
1310 | "openstack_vpnaas_ike_policy_v2",
1311 | "openstack_vpnaas_ipsec_policy_v2",
1312 | "openstack_vpnaas_service_v2",
1313 | "openstack_vpnaas_site_connection_v2",
1314 | "opentelekomcloud_blockstorage_volume_v2",
1315 | "opentelekomcloud_ces_alarmrule",
1316 | "opentelekomcloud_compute_floatingip_associate_v2",
1317 | "opentelekomcloud_compute_floatingip_v2",
1318 | "opentelekomcloud_compute_instance_v2",
1319 | "opentelekomcloud_compute_keypair_v2",
1320 | "opentelekomcloud_compute_secgroup_v2",
1321 | "opentelekomcloud_compute_servergroup_v2",
1322 | "opentelekomcloud_compute_volume_attach_v2",
1323 | "opentelekomcloud_dns_recordset_v2",
1324 | "opentelekomcloud_dns_zone_v2",
1325 | "opentelekomcloud_elb_backend",
1326 | "opentelekomcloud_elb_health",
1327 | "opentelekomcloud_elb_listener",
1328 | "opentelekomcloud_elb_loadbalancer",
1329 | "opentelekomcloud_fw_firewall_group_v2",
1330 | "opentelekomcloud_fw_policy_v2",
1331 | "opentelekomcloud_fw_rule_v2",
1332 | "opentelekomcloud_images_image_v2",
1333 | "opentelekomcloud_kms_key_v1",
1334 | "opentelekomcloud_lb_listener_v2",
1335 | "opentelekomcloud_lb_loadbalancer_v2",
1336 | "opentelekomcloud_lb_member_v2",
1337 | "opentelekomcloud_lb_monitor_v2",
1338 | "opentelekomcloud_lb_pool_v2",
1339 | "opentelekomcloud_networking_floatingip_v2",
1340 | "opentelekomcloud_networking_network_v2",
1341 | "opentelekomcloud_networking_port_v2",
1342 | "opentelekomcloud_networking_router_interface_v2",
1343 | "opentelekomcloud_networking_router_route_v2",
1344 | "opentelekomcloud_networking_router_v2",
1345 | "opentelekomcloud_networking_secgroup_rule_v2",
1346 | "opentelekomcloud_networking_secgroup_v2",
1347 | "opentelekomcloud_networking_subnet_v2",
1348 | "opentelekomcloud_rds_instance_v1",
1349 | "opentelekomcloud_s3-bucket-object",
1350 | "opentelekomcloud_s3_bucket",
1351 | "opentelekomcloud_s3_object_policy",
1352 | "opentelekomcloud_smn_subscription_v2",
1353 | "opentelekomcloud_smn_topic_v2",
1354 | "opentelekomcloud_vpc_eip_v1",
1355 | "opsgenie_team",
1356 | "opsgenie_user",
1357 | "oraclepaas_application_container",
1358 | "oraclepaas_database_access_rule",
1359 | "oraclepaas_database_service_instance",
1360 | "oraclepaas_java_access_rule",
1361 | "oraclepaas_java_service_instance",
1362 | "oraclepaas_mysql_access_rule",
1363 | "oraclepaas_mysql_service_instance",
1364 | "ovh_cloud_network_private",
1365 | "ovh_cloud_network_private_subnet",
1366 | "ovh_cloud_user",
1367 | "ovh_domain_zone_record",
1368 | "ovh_domain_zone_redirection",
1369 | "ovh_iploadbalancing_http_route",
1370 | "ovh_iploadbalancing_http_route_rule",
1371 | "ovh_iploadbalancing_tcp_farm",
1372 | "ovh_iploadbalancing_tcp_farm_server",
1373 | "ovh_publiccloud_private_network",
1374 | "ovh_publiccloud_private_network_subnet",
1375 | "ovh_publiccloud_user",
1376 | "ovh_vrack_cloudproject",
1377 | "ovh_vrack_publiccloud_attachment",
1378 | "packet_device",
1379 | "packet_organization",
1380 | "packet_project",
1381 | "packet_ssh_key",
1382 | "packet_volume",
1383 | "packet_volume_attachment",
1384 | "pagerduty_addon",
1385 | "pagerduty_escalation_policy",
1386 | "pagerduty_extension",
1387 | "pagerduty_maintenance_window",
1388 | "pagerduty_schedule",
1389 | "pagerduty_service",
1390 | "pagerduty_service_integration",
1391 | "pagerduty_team",
1392 | "pagerduty_team_membership",
1393 | "pagerduty_user",
1394 | "pagerduty_user_contact_method",
1395 | "panos_address_group",
1396 | "panos_address_object",
1397 | "panos_administrative_tag",
1398 | "panos_dag_tags",
1399 | "panos_edl",
1400 | "panos_ethernet_interface",
1401 | "panos_general_settings",
1402 | "panos_ike_crypto_profile",
1403 | "panos_ike_gateway",
1404 | "panos_ipsec_crypto_profile",
1405 | "panos_ipsec_tunnel",
1406 | "panos_ipsec_tunnel_proxy_id_ipv4",
1407 | "panos_license_api_key",
1408 | "panos_licensing",
1409 | "panos_loopback_interface",
1410 | "panos_management_profile",
1411 | "panos_nat_policy",
1412 | "panos_nat_rule",
1413 | "panos_panorama_address_group",
1414 | "panos_panorama_address_object",
1415 | "panos_panorama_administrative_tag",
1416 | "panos_panorama_device_group",
1417 | "panos_panorama_device_group_entry",
1418 | "panos_panorama_edl",
1419 | "panos_panorama_ethernet_interface",
1420 | "panos_panorama_ike_crypto_profile",
1421 | "panos_panorama_ike_gateway",
1422 | "panos_panorama_ipsec_crypto_profile",
1423 | "panos_panorama_ipsec_tunnel",
1424 | "panos_panorama_ipsec_tunnel_proxy_id_ipv4",
1425 | "panos_panorama_loopback_interface",
1426 | "panos_panorama_management_profile",
1427 | "panos_panorama_nat_policy",
1428 | "panos_panorama_nat_rule",
1429 | "panos_panorama_security_policies",
1430 | "panos_panorama_security_policy",
1431 | "panos_panorama_security_policy_group",
1432 | "panos_panorama_security_rule_group",
1433 | "panos_panorama_service_group",
1434 | "panos_panorama_service_object",
1435 | "panos_panorama_static_route_ipv4",
1436 | "panos_panorama_template",
1437 | "panos_panorama_template_entry",
1438 | "panos_panorama_template_stack",
1439 | "panos_panorama_template_stack_entry",
1440 | "panos_panorama_template_variable",
1441 | "panos_panorama_tunnel_interface",
1442 | "panos_panorama_virtual_router",
1443 | "panos_panorama_vlan_interface",
1444 | "panos_panorama_zone",
1445 | "panos_security_policies",
1446 | "panos_security_policy",
1447 | "panos_security_policy_group",
1448 | "panos_security_rule_group",
1449 | "panos_service_group",
1450 | "panos_service_object",
1451 | "panos_static_route_ipv4",
1452 | "panos_telemetry",
1453 | "panos_tunnel_interface",
1454 | "panos_virtual_router",
1455 | "panos_vlan_interface",
1456 | "panos_zone",
1457 | "postgresql_database",
1458 | "postgresql_extension",
1459 | "postgresql_role",
1460 | "postgresql_schema",
1461 | "powerdns_record",
1462 | "profitbricks_datacenter",
1463 | "profitbricks_firewall",
1464 | "profitbricks_group",
1465 | "profitbricks_ipblock",
1466 | "profitbricks_ipfailover",
1467 | "profitbricks_lan",
1468 | "profitbricks_loadbalancer",
1469 | "profitbricks_nic",
1470 | "profitbricks_server",
1471 | "profitbricks_share",
1472 | "profitbricks_snapshot",
1473 | "profitbricks_user",
1474 | "profitbricks_volume",
1475 | "rabbitmq_binding",
1476 | "rabbitmq_exchange",
1477 | "rabbitmq_permissions",
1478 | "rabbitmq_policy",
1479 | "rabbitmq_queue",
1480 | "rabbitmq_user",
1481 | "rabbitmq_vhost",
1482 | "rancher_certificate",
1483 | "rancher_environment",
1484 | "rancher_host",
1485 | "rancher_registration_token",
1486 | "rancher_registry",
1487 | "rancher_registry_credential",
1488 | "rancher_secret",
1489 | "rancher_stack",
1490 | "rancher_volume",
1491 | "random_id",
1492 | "random_integer",
1493 | "random_pet",
1494 | "random_shuffle",
1495 | "random_string",
1496 | "rds_instance_v1",
1497 | "rightscale_credential",
1498 | "rightscale_cwf_process",
1499 | "rightscale_deployment",
1500 | "rightscale_instance",
1501 | "rightscale_network",
1502 | "rightscale_network_gateway",
1503 | "rightscale_route",
1504 | "rightscale_route_table",
1505 | "rightscale_security_group",
1506 | "rightscale_security_group_rule",
1507 | "rightscale_server",
1508 | "rightscale_server_array",
1509 | "rightscale_ssh_key",
1510 | "rightscale_subnet",
1511 | "rundeck_job",
1512 | "rundeck_private_key",
1513 | "rundeck_project",
1514 | "rundeck_public_key",
1515 | "runscope_bucket",
1516 | "runscope_environment",
1517 | "runscope_schedule",
1518 | "runscope_step",
1519 | "runscope_test",
1520 | "scaleway_ip",
1521 | "scaleway_security_group",
1522 | "scaleway_security_group_rule",
1523 | "scaleway_server",
1524 | "scaleway_ssh_key",
1525 | "scaleway_token",
1526 | "scaleway_user_data",
1527 | "scaleway_volume",
1528 | "scaleway_volume_attachment",
1529 | "smn_subscription_v2",
1530 | "smn_topic_v2",
1531 | "ssh_key",
1532 | "statuscake_test",
1533 | "subscription",
1534 | "template_dir",
1535 | "tfe_organization",
1536 | "tfe_organization_token",
1537 | "tfe_sentinel_policy",
1538 | "tfe_ssh_key",
1539 | "tfe_team",
1540 | "tfe_team_access",
1541 | "tfe_team_member",
1542 | "tfe_team_members",
1543 | "tfe_team_token",
1544 | "tfe_variable",
1545 | "tfe_workspace",
1546 | "tls_cert_request",
1547 | "tls_locally_signed_cert",
1548 | "tls_private_key",
1549 | "tls_self_signed_cert",
1550 | "triton_fabric",
1551 | "triton_firewall_rule",
1552 | "triton_instance_template",
1553 | "triton_key",
1554 | "triton_machine",
1555 | "triton_service_group",
1556 | "triton_snapshot",
1557 | "triton_vlan",
1558 | "ultradns_dirpool",
1559 | "ultradns_probe_http",
1560 | "ultradns_probe_ping",
1561 | "ultradns_record",
1562 | "ultradns_tcpool",
1563 | "vault_approle_auth_backend_login",
1564 | "vault_approle_auth_backend_role",
1565 | "vault_approle_auth_backend_role_secret_id",
1566 | "vault_auth_backend",
1567 | "vault_aws_auth_backend_cert",
1568 | "vault_aws_auth_backend_client",
1569 | "vault_aws_auth_backend_identity_whitelist",
1570 | "vault_aws_auth_backend_login",
1571 | "vault_aws_auth_backend_role",
1572 | "vault_aws_auth_backend_role_tag",
1573 | "vault_aws_auth_backend_sts_role",
1574 | "vault_aws_secret_backend",
1575 | "vault_aws_secret_backend_role",
1576 | "vault_cert_auth_backend_role",
1577 | "vault_consul_secret_backend",
1578 | "vault_database_secret_backend_connection",
1579 | "vault_database_secret_backend_role",
1580 | "vault_gcp_auth_backend_role",
1581 | "vault_generic_secret",
1582 | "vault_generic_secret",
1583 | "vault_ldap_auth_backend_group",
1584 | "vault_ldap_auth_backend_user",
1585 | "vault_ldap_backend",
1586 | "vault_mount",
1587 | "vault_okta_auth_backend",
1588 | "vault_okta_auth_backend",
1589 | "vault_okta_auth_backend_group",
1590 | "vault_okta_auth_backend_user",
1591 | "vault_policy",
1592 | "vault_token_auth_backend_role",
1593 | "vcd_dnat",
1594 | "vcd_edgegateway_vpn",
1595 | "vcd_firewall_rules",
1596 | "vcd_network",
1597 | "vcd_snat",
1598 | "vcd_vapp",
1599 | "vcd_vapp_vm",
1600 | "virtual_guest",
1601 | "vsphere_compute_cluster",
1602 | "vsphere_compute_cluster_host_group",
1603 | "vsphere_compute_cluster_vm_affinity_rule",
1604 | "vsphere_compute_cluster_vm_anti_affinity_rule",
1605 | "vsphere_compute_cluster_vm_dependency_rule",
1606 | "vsphere_compute_cluster_vm_group",
1607 | "vsphere_compute_cluster_vm_host_rule",
1608 | "vsphere_custom_attribute",
1609 | "vsphere_datacenter",
1610 | "vsphere_datastore_cluster",
1611 | "vsphere_datastore_cluster_vm_anti_affinity_rule",
1612 | "vsphere_distributed_port_group",
1613 | "vsphere_distributed_virtual_switch",
1614 | "vsphere_dpm_host_override",
1615 | "vsphere_drs_vm_override",
1616 | "vsphere_file",
1617 | "vsphere_folder",
1618 | "vsphere_ha_vm_override",
1619 | "vsphere_host_port_group",
1620 | "vsphere_host_virtual_switch",
1621 | "vsphere_license",
1622 | "vsphere_nas_datastore",
1623 | "vsphere_resource_pool",
1624 | "vsphere_storage_drs_vm_override",
1625 | "vsphere_tag",
1626 | "vsphere_tag_category",
1627 | "vsphere_virtual_disk",
1628 | "vsphere_virtual_machine",
1629 | "vsphere_virtual_machine_snapshot",
1630 | "vsphere_vmfs_datastore"
1631 | ]
1632 | }
--------------------------------------------------------------------------------
/Default.sublime-commands:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "Terraform: Format",
4 | "command": "terraform_fmt"
5 | },
6 | {
7 | "command": "edit_settings",
8 | "args": { "base_file": "${packages}/sublime-terraform/Terraform.sublime-settings" },
9 | "caption": "Preferences: Terraform Settings"
10 | },
11 | ]
12 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 | source "https://rubygems.org"
3 |
4 | gem "nokogiri"
5 | gem "rake"
6 |
--------------------------------------------------------------------------------
/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | mini_portile2 (2.4.0)
5 | nokogiri (1.10.5)
6 | mini_portile2 (~> 2.4.0)
7 | rake (13.0.1)
8 |
9 | PLATFORMS
10 | ruby
11 |
12 | DEPENDENCIES
13 | nokogiri
14 | rake
15 |
16 | BUNDLED WITH
17 | 1.17.3
18 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Original work Copyright (c) 2016 Alex Louden
4 | Modified work Copyright (c) 2017 Tamás Michelberger
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy
7 | of this software and associated documentation files (the "Software"), to deal
8 | in the Software without restriction, including without limitation the rights
9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 | copies of the Software, and to permit persons to whom the Software is
11 | furnished to do so, subject to the following conditions:
12 |
13 | The above copyright notice and this permission notice shall be included in all
14 | copies or substantial portions of the Software.
15 |
16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 | SOFTWARE.
23 |
--------------------------------------------------------------------------------
/Main.sublime-menu:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "caption": "Preferences",
4 | "mnemonic": "n",
5 | "id": "preferences",
6 | "children":
7 | [
8 | {
9 | "caption": "Package Settings",
10 | "mnemonic": "P",
11 | "id": "package-settings",
12 | "children":
13 | [
14 | {
15 | "caption": "Terraform",
16 | "id": "terraform",
17 | "children":
18 | [
19 | {
20 | "command": "edit_settings",
21 | "args": { "base_file": "${packages}/sublime-terraform/Terraform.sublime-settings" },
22 | "caption": "Settings"
23 | },
24 | ]
25 | }
26 | ]
27 | }
28 | ]
29 | }
30 | ]
31 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Terraform support for Sublime Text 3
2 | ====================================
3 |
4 | Fork of [Terraform.tmLanguage][base_repo] with some sweet improvements.
5 |
6 | ### Features:
7 |
8 | * Syntax highlighting for `.tf` and `.tfvars` files.
9 | * Format on save using `terraform fmt` (only available in version >= 0.6.15)
10 | * Code completion for resources and data sources
11 | * Support [`bat`](https://github.com/sharkdp/bat)
12 | * Snippets
13 |
14 | Installation
15 | ------------
16 |
17 | ### Using Package Control
18 |
19 | 1. Having [Package Control](https://packagecontrol.io/installation) installed
20 | 2. Open the palette by pressing `Ctrl+Shift+P` (Win, Linux) or `Cmd+Shift+P` (OS X).
21 | 3. Select _"Package Control: Add Repository"_
22 | 4. Enter `https://github.com/tmichel/sublime-terraform`
23 | 5. Open command palette again
24 | 6. Select _"Package Control: Install Package"_
25 | 7. Select _"sublime-terraform"_
26 |
27 | ### Manually
28 |
29 | 1. Open the Sublime Text Packages folder
30 | - OS X: `~/Library/Application Support/Sublime Text 3/Packages/`
31 | - Windows: `%APPDATA%/Sublime Text 3/Packages/`
32 | - Linux (Ubuntu/Debian): `~/.config/sublime-text-3/Packages/`
33 |
34 | 2. Clone this repo:
35 |
36 | $ git clone https://github.com/tmichel/sublime-terraform
37 |
38 | ## Configuration
39 |
40 | The defaults are available in the [Terraform.sublime-settings][settings_file]
41 | file.
42 |
43 | ## Development
44 |
45 | To update the completion files you will need Ruby 2.2+
46 |
47 | 1. Install Ruby
48 | 2. `bundle install`
49 | 3. `bundle exec rake completions`
50 |
51 | [base_repo]: github.com/alexlouden/Terraform.tmLanguage
52 | [settings_file]: Terraform.sublime-settings
53 |
--------------------------------------------------------------------------------
/Rakefile:
--------------------------------------------------------------------------------
1 | require "nokogiri"
2 | require "net/http"
3 | require "uri"
4 | require "json"
5 |
6 | BASE_URL = "https://www.terraform.io"
7 | RESOURCE_PATTERN = %r{^/docs/providers/\w+/r}
8 | DATA_SOURCE_PATTERN = %r{^/docs/providers/\w+/d/}
9 |
10 | desc "Generate completion files"
11 | task :completions do
12 | completions = Hash.new { |h,k| h[k] = [] }
13 | get_providers.each do |provider, uri|
14 | completions[:resources] += get_terraform_resource_keys(uri, RESOURCE_PATTERN)
15 | completions[:data_sources] += get_terraform_resource_keys(uri, DATA_SOURCE_PATTERN)
16 | end
17 |
18 | completions[:data_sources] << "external"
19 |
20 | write_completion_file("Resources", scope: "meta.resource.type.terraform", completions: completions[:resources].sort)
21 | write_completion_file("Data Sources", scope: "meta.data-source.type.terraform", completions: completions[:data_sources].sort)
22 | end
23 |
24 | desc "List providers"
25 | task :providers do
26 | puts get_providers.map(&:first)
27 | end
28 |
29 | def write_completion_file(name, completions={})
30 | File.open("Completions/#{name}.sublime-completions", "w") do |f|
31 | f.write(JSON.pretty_generate(completions))
32 | end
33 | end
34 |
35 | def get_terraform_resource_keys(uri, href_pattern)
36 | html = download_and_parse(uri)
37 | html.css(".nav.docs-sidenav ul.nav > li > a").select { |a| a["href"] =~ href_pattern }.map { |a| a.text }
38 | end
39 |
40 | def download_and_parse(uri)
41 | resp = Net::HTTP.get(uri)
42 | Nokogiri::HTML(resp)
43 | end
44 |
45 | def get_providers
46 | uri = URI("https://www.terraform.io/docs/providers/index.html")
47 | html = download_and_parse(uri)
48 | html.search('li > a[href^="/docs/providers"]').map do |a|
49 | [a, URI(BASE_URL + a["href"].to_s)]
50 | end
51 | end
52 |
--------------------------------------------------------------------------------
/Snippets/atlas.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | atlas
8 | source.terraform
9 | atlas block
10 |
11 |
--------------------------------------------------------------------------------
/Snippets/data.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | data
8 | source.terraform
9 | data source block
10 |
11 |
--------------------------------------------------------------------------------
/Snippets/interpolation.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | $
6 | string.quoted.double.terraform
7 | String interpolation
8 |
9 |
--------------------------------------------------------------------------------
/Snippets/module.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 | module
9 | source.terraform
10 | module block
11 |
12 |
--------------------------------------------------------------------------------
/Snippets/module_github.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 | moduleG
9 | source.terraform
10 | module (github public)
11 |
12 |
--------------------------------------------------------------------------------
/Snippets/module_github_private.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 | moduleGS
9 | source.terraform
10 | module (github ssh)
11 |
12 |
--------------------------------------------------------------------------------
/Snippets/module_path.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 | moduleP
9 | source.terraform
10 | module (path)
11 |
12 |
--------------------------------------------------------------------------------
/Snippets/output.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | output
8 | source.terraform
9 | output block
10 |
11 |
--------------------------------------------------------------------------------
/Snippets/provider.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | provider
8 | source.terraform
9 | provider block
10 |
11 |
--------------------------------------------------------------------------------
/Snippets/provisioner.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | provisioner
8 | source.terraform
9 | provisioner block
10 |
11 |
--------------------------------------------------------------------------------
/Snippets/resource.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
7 | resource
8 | source.terraform
9 | resource block
10 |
11 |
--------------------------------------------------------------------------------
/Snippets/variable.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
8 | variable
9 | source.terraform
10 | variable (inferred type)
11 |
12 |
--------------------------------------------------------------------------------
/Snippets/variable_list.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
9 | variableL
10 | source.terraform
11 | variable (list)
12 |
13 |
--------------------------------------------------------------------------------
/Snippets/variable_map.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
12 | variableM
13 | source.terraform
14 | variable (map)
15 |
16 |
--------------------------------------------------------------------------------
/Snippets/variable_reference.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
5 | var
6 | source.terraform
7 | variable reference
8 |
9 |
--------------------------------------------------------------------------------
/Snippets/variable_string.sublime-snippet:
--------------------------------------------------------------------------------
1 |
2 |
9 | variableS
10 | source.terraform
11 | variable (string)
12 |
13 |
--------------------------------------------------------------------------------
/Symbols.tmPreferences:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | scope
5 | source.terraform entity.name.resource
6 | settings
7 |
8 | showInSymbolList
9 | 1
10 | showInIndexedSymbolList
11 | 1
12 | symbolTransformation
13 |
14 | s/\{//;
15 | s/" "/./;
16 | s/"//g;
17 | s/(\w+)\s(.*)/\2 \(\1\)/
18 |
19 | symbolIndexTransformation
20 |
21 | s/\{//;
22 | s/" "/./;
23 | s/"//g;
24 | s/(\w+)\s(.*)/\2 \(\1\)/
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Terraform.sublime-settings:
--------------------------------------------------------------------------------
1 | {
2 | // Path of the terraform binary.
3 | "terraform_path": "terraform",
4 |
5 | // Format terraform source files on save using terraform fmt
6 | "format_on_save": true,
7 | }
8 |
--------------------------------------------------------------------------------
/Terraform.sublime-syntax:
--------------------------------------------------------------------------------
1 | %YAML 1.2
2 | ---
3 | # http://www.sublimetext.com/docs/3/syntax.html
4 | name: Terraform
5 | file_extensions:
6 | - tf
7 | - tfvars
8 | - .terragrunt
9 | scope: source.terraform
10 | contexts:
11 | main:
12 | - match: "#"
13 | comment: Comments
14 | captures:
15 | 0: punctuation.definition.comment.terraform
16 | push:
17 | - meta_scope: comment.line.number-sign.terraform
18 | - match: $\n?
19 | captures:
20 | 0: punctuation.definition.comment.terraform
21 | pop: true
22 | - match: /\*
23 | comment: Block comments
24 | captures:
25 | 0: punctuation.definition.comment.terraform
26 | push:
27 | - meta_scope: comment.block.terraform
28 | - match: \*/
29 | captures:
30 | 0: punctuation.definition.comment.terraform
31 | pop: true
32 | - match: //
33 | comment: Line comment
34 | scope: punctuation.definition.comment.terraform
35 | push:
36 | - meta_scope: comment.line.double-slash.terraform
37 | - match: $\n?
38 | captures:
39 | 0: punctuation.definition.comment.terraform
40 | pop: true
41 | - match: \b(true|false|yes|no|on|off)\b
42 | comment: Language constants (true, false, yes, no, on, off)
43 | scope: constant.language.terraform
44 | - match: '\b([0-9]+)([kKmMgG]b?)?\b'
45 | comment: Numbers
46 | scope: constant.numeric.terraform
47 | - match: '\b(0x[0-9A-Fa-f]+)([kKmMgG]b?)?\b'
48 | comment: Hex numbers
49 | scope: constant.numeric.terraform
50 | - match: '((resource)\s+((")(\w+)?("))\s+((")([\w-]+)?(")))\s*\{'
51 | scope: meta.resource.terraform
52 | captures:
53 | 1: entity.name.resource.terraform
54 | 2: storage.type.function.terraform
55 | 3: string.quoted.double.terraform
56 | 4: punctuation.definition.string.begin.terraform
57 | 5: meta.resource.type.terraform
58 | 6: punctuation.definition.string.end.terraform
59 | 7: string.quoted.double.terraform
60 | 8: punctuation.definition.string.begin.terraform
61 | 9: meta.resource.name.terraform
62 | 10: punctuation.definition.string.end.terraform
63 | - match: '((data)\s+((")(\w+)?("))\s+((")([\w-]+)?(")))\s*\{'
64 | scope: meta.data-source.terraform
65 | captures:
66 | 1: entity.name.resource.terraform
67 | 2: storage.type.function.terraform
68 | 3: string.quoted.double.terraform
69 | 4: punctuation.definition.string.begin.terraform
70 | 5: meta.data-source.type.terraform
71 | 6: punctuation.definition.string.end.terraform
72 | 7: string.quoted.double.terraform
73 | 8: punctuation.definition.string.begin.terraform
74 | 9: meta.data-source.name.terraform
75 | 10: punctuation.definition.string.end.terraform
76 | - match: '((provider|provisioner|variable|module|atlas)\s+(")([\w-]+)?("))\s*{'
77 | captures:
78 | 1: entity.name.resource.terraform
79 | 2: storage.type.function.terraform
80 | 3: string.terraform punctuation.definition.string.begin.terraform
81 | 4: string.quoted.double.terraform
82 | 5: string.terraform punctuation.definition.string.end.terraform
83 | - match: '((output)\s+(")([-\w\.]+)("))\s*{'
84 | captures:
85 | 1: entity.name.resource.terraform
86 | 2: storage.type.function.terraform
87 | 3: string.terraform punctuation.definition.string.begin.terraform
88 | 4: string.quoted.double.terraform
89 | 5: string.terraform punctuation.definition.string.end.terraform
90 | - match: ^\s*(locals|terraform)\s*{
91 | captures:
92 | 1: storage.type.function.terraform
93 | push:
94 | - meta_content_scope: meta.block.terraform
95 | - match: '^\s*}'
96 | pop: true
97 | - include: main
98 | - match: '([\w_-]+)\s*(=)\s*'
99 | comment: Value assignments (left hand side not in double quotes)
100 | scope: meta.identifier.terraform
101 | captures:
102 | 1: variable.assignment.terraform
103 | 2: keyword.operator.terraform
104 | - match: '(")([\w_-]+)(")\s*(=)\s*'
105 | comment: Value assignments (left hand side in double quotes)
106 | scope: meta.identifier.terraform
107 | captures:
108 | 1: punctuation.quote.double.terraform
109 | 2: variable.assignment.terraform
110 | 3: punctuation.quote.double.terraform
111 | 4: keyword.operator.terraform
112 | - include: strings
113 | - include: operators
114 | - match: '\b(var|local|module|data|path|count)\b'
115 | scope: keyword.other.terraform
116 | - match: '\bnull\b'
117 | scope: variable.language.terraform
118 | strings:
119 | - match: '"'
120 | comment: Strings
121 | scope: punctuation.definition.string.begin.terraform
122 | push:
123 | - meta_scope: string.quoted.double.terraform
124 | - match: '"'
125 | scope: punctuation.definition.string.end.terraform
126 | pop: true
127 | - include: interpolation
128 | - include: string_placeholder
129 | - include: string_escaped_char
130 | - match: '<<(\w+)'
131 | scope: punctuation.definition.string.begin.terraform
132 | comment: Heredoc
133 | push:
134 | - meta_scope: string.heredoc.terraform
135 | - match: '^\1'
136 | scope: punctuation.definition.string.end.terraform
137 | pop: true
138 | - include: interpolation
139 | - match: <<-(\w+)
140 | scope: punctuation.definition.string.begin.terraform
141 | comment: Indented heredoc
142 | push:
143 | - meta_scope: string.heredoc.terraform
144 | - match: ^\s*\1
145 | scope: punctuation.definition.string.end.terraform
146 | pop: true
147 | - include: interpolation
148 | interpolation:
149 | - match: '\$\{'
150 | scope: punctuation.section.embed.begin.terraform
151 | push:
152 | - meta_scope: meta.embed.terraform
153 | - match: '\}'
154 | scope: punctuation.section.embed.end.terraform
155 | pop: true
156 | - include: interpolated_terraform
157 | interpolated_terraform:
158 | - include: variable_reference
159 | - include: function
160 | - include: operators
161 | - include: interpolation
162 | - include: strings
163 | function:
164 | - match: '(\w+)\('
165 | comment: functions in interpolations
166 | captures:
167 | 1: support.function.terraform
168 | push:
169 | - include: variable_reference
170 | - include: function
171 | - include: main
172 | - match: '\)'
173 | pop: true
174 | operators:
175 | - match: '\?|:'
176 | scope: keyword.operator.conditional.terraform
177 | - match: '==|!=|>|<|>=|<=|&&|\|\||!'
178 | scope: keyword.operator.comparison.terraform
179 | - match: (%|&|\*|\+|\-|/)
180 | scope: keyword.operator.arithmetic.terraform
181 | variable_reference:
182 | - match: '\b(self|count|path|var|local)\b\.?'
183 | captures:
184 | 1: keyword.other.terraform
185 | string_placeholder:
186 | - match: |-
187 | (?x)%
188 | [#0\- +']* # flags
189 | (\[\d+\])? # field (argument #)
190 | [,;:_]? # separator character (AltiVec)
191 | ((-?\d+)|(\[\d+\])?\*)? # minimum field width
192 | (\.((-?\d+)|(\[\d+\])?\*)?)? # precision
193 | [diouxXDOUeEfFgGaAcCsSpqnvtTbyYhHmMzZ%] # conversion type
194 | scope: constant.other.placeholder.terraform
195 | - match: "%"
196 | scope: invalid.illegal.placeholder.terraform
197 | string_escaped_char:
198 | - match: '\\(\\|[abfnrutv''"]|x\h{2}|u\h{4}|U\h{8}|[0-7]{3})'
199 | scope: constant.character.escape.terraform
200 | - match: \\.
201 | scope: invalid.illegal.unknown-escape.terraform
202 |
203 |
--------------------------------------------------------------------------------
/fmt.py:
--------------------------------------------------------------------------------
1 | import sublime
2 | import sublime_plugin
3 |
4 | import subprocess
5 | import io
6 | from os import path
7 |
8 | class TerraformFmtOnSave(sublime_plugin.EventListener):
9 | def on_pre_save(self, view):
10 | if not is_terraform_source(view):
11 | return
12 |
13 | view.run_command('terraform_fmt')
14 |
15 |
16 | class TerraformFmt(sublime_plugin.TextCommand):
17 | def is_enabled(self):
18 | settings = sublime.load_settings('Terraform.sublime-settings')
19 | fmt_enabled = settings.get('format_on_save', True)
20 |
21 | return fmt_enabled and is_terraform_source(self.view) and not is_var_file(self.view)
22 |
23 |
24 | def run(self, edit):
25 | res = self.run_fmt()
26 | if res is None:
27 | return
28 |
29 | # Replace the buffer with terraform fmt output.
30 | self.view.replace(edit, sublime.Region(0, self.view.size()), res)
31 |
32 | # Hide errors panel
33 | self.view.window().run_command('hide_panel', { 'panel': 'output.terraform_syntax_errors' })
34 |
35 |
36 | def run_fmt(self):
37 | with self.popen_terraform_fmt() as p:
38 | stdout, stderr = [str(s, self.encoding()) for s in p.communicate(input=self.view_content_bytes())]
39 |
40 | # Something went wrong
41 | if p.returncode != 0:
42 | self.show_syntax_errors(stderr)
43 | return None
44 |
45 | return stdout
46 |
47 |
48 | def popen_terraform_fmt(self):
49 | cmd = sublime.load_settings('Terraform.sublime-settings').get('terraform_path', 'terraform')
50 | cwd = path.dirname(self.view.file_name());
51 |
52 | return subprocess.Popen(
53 | [cmd, 'fmt', '-no-color', '-'],
54 | stdout=subprocess.PIPE,
55 | stderr=subprocess.PIPE,
56 | stdin=subprocess.PIPE,
57 | cwd=cwd)
58 |
59 |
60 | def view_content_bytes(self):
61 | region = sublime.Region(0, self.view.size())
62 | buf = self.view.substr(region)
63 | return bytes(buf, self.encoding())
64 |
65 |
66 | def encoding(self):
67 | enc = self.view.encoding()
68 |
69 | # When a selection is active the encoding is undefined. Fall back to utf-8
70 | # by default.
71 | if enc == "Undefined":
72 | return "UTF-8"
73 |
74 | return enc
75 |
76 |
77 | def show_syntax_errors(self, stderr):
78 | panel_name = 'terraform_syntax_errors'
79 |
80 | window = self.view.window()
81 | window.destroy_output_panel(panel_name)
82 | panel = window.create_output_panel(panel_name)
83 | panel.set_syntax_file('Packages/Text/Plain text.tmLanguage')
84 | panel.settings().set('line_numbers', False)
85 | panel.settings().set('result_file_regex', r'^\s*on (.+) line (\d+):')
86 | panel.settings().set('result_base_dir', path.dirname(self.view.file_name()))
87 | panel.set_scratch(True)
88 | panel.run_command('append', {'characters': stderr.replace('', path.basename(self.view.file_name()))})
89 | panel.set_read_only(True)
90 | window.run_command('show_panel', { 'panel': 'output.' + panel_name })
91 |
92 |
93 | def is_var_file(view):
94 | _, ext = path.splitext(view.file_name())
95 | return ext == '.tfvars'
96 |
97 |
98 | def is_terraform_source(view):
99 | tp = 0
100 | sel = view.sel()
101 | if sel is not None:
102 | tp = sel[0].begin()
103 |
104 | return view.match_selector(tp, 'source.terraform')
105 |
--------------------------------------------------------------------------------