vim-polyglot/syntax/terraform.vim

1126 lines
39 KiB
VimL
Raw Normal View History

2017-02-02 15:44:42 -05:00
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'terraform') == -1
" Forked from Larry Gilbert's syntax file
" github.com/L2G/vim-syntax-terraform
if exists("b:current_syntax")
finish
endif
syn case match
syn keyword terraSection connection output provider variable data terraform
syn keyword terraValueBool true false on off yes no
""" data
syn keyword terraDataTypeBI
2017-03-23 06:28:19 -04:00
\ alicloud_images
\ alicloud_instance_types
2017-12-06 06:56:27 -05:00
\ alicloud_key_pairs
2017-03-23 06:28:19 -04:00
\ alicloud_regions
2017-12-06 06:56:27 -05:00
\ alicloud_vpcs
2017-03-23 06:28:19 -04:00
\ alicloud_zones
2017-02-02 15:44:42 -05:00
\ archive_file
\ atlas_artifact
\ aws_acm_certificate
\ aws_alb
\ aws_alb_listener
2017-12-06 06:56:27 -05:00
\ aws_alb_target_group
2017-02-02 15:44:42 -05:00
\ aws_ami
2017-09-27 13:57:29 -04:00
\ aws_ami_ids
2017-03-23 06:28:19 -04:00
\ aws_autoscaling_groups
2017-02-02 15:44:42 -05:00
\ aws_availability_zone
\ aws_availability_zones
\ aws_billing_service_account
\ aws_caller_identity
2017-03-23 06:28:19 -04:00
\ aws_canonical_user_id
2017-02-02 15:44:42 -05:00
\ aws_cloudformation_stack
2017-12-06 06:56:27 -05:00
\ aws_cloudtrail_service_account
2017-03-23 06:28:19 -04:00
\ aws_db_instance
2017-09-27 13:57:29 -04:00
\ aws_db_snapshot
2017-12-06 06:56:27 -05:00
\ aws_dynamodb_table
2017-02-02 15:44:42 -05:00
\ aws_ebs_snapshot
2017-09-27 13:57:29 -04:00
\ aws_ebs_snapshot_ids
2017-02-02 15:44:42 -05:00
\ aws_ebs_volume
2017-12-06 06:56:27 -05:00
\ aws_ecr_repository
2017-03-23 06:28:19 -04:00
\ aws_ecs_cluster
2017-02-02 15:44:42 -05:00
\ aws_ecs_container_definition
2017-03-23 06:28:19 -04:00
\ aws_ecs_task_definition
2017-09-27 13:57:29 -04:00
\ aws_efs_file_system
2017-12-06 06:56:27 -05:00
\ aws_efs_mount_target
2017-02-02 15:44:42 -05:00
\ aws_eip
2017-09-27 13:57:29 -04:00
\ aws_elastic_beanstalk_solution_stack
\ aws_elasticache_cluster
2017-12-06 06:56:27 -05:00
\ aws_elasticache_replication_group
2017-03-23 06:28:19 -04:00
\ aws_elb_hosted_zone_id
2017-02-02 15:44:42 -05:00
\ aws_elb_service_account
\ aws_iam_account_alias
2017-12-06 06:56:27 -05:00
\ aws_iam_group
\ aws_iam_instance_profile
2017-02-02 15:44:42 -05:00
\ aws_iam_policy_document
2017-05-17 05:07:28 -04:00
\ aws_iam_role
2017-02-02 15:44:42 -05:00
\ aws_iam_server_certificate
2017-12-06 06:56:27 -05:00
\ aws_iam_user
2017-03-23 06:28:19 -04:00
\ aws_instance
2017-12-06 06:56:27 -05:00
\ aws_instances
\ aws_internet_gateway
2017-02-02 15:44:42 -05:00
\ aws_ip_ranges
2017-09-27 13:57:29 -04:00
\ aws_kinesis_stream
\ aws_kms_alias
\ aws_kms_ciphertext
2017-03-23 06:28:19 -04:00
\ aws_kms_secret
2017-12-06 06:56:27 -05:00
\ aws_lb
\ aws_lb_listener
\ aws_lb_target_group
\ aws_nat_gateway
2017-03-23 06:28:19 -04:00
\ aws_partition
2017-02-02 15:44:42 -05:00
\ aws_prefix_list
2017-12-06 06:56:27 -05:00
\ aws_rds_cluster
2017-02-02 15:44:42 -05:00
\ aws_redshift_service_account
\ aws_region
\ aws_route53_zone
\ aws_route_table
2017-12-06 06:56:27 -05:00
\ aws_s3_bucket
2017-02-02 15:44:42 -05:00
\ aws_s3_bucket_object
\ aws_security_group
2017-05-17 05:07:28 -04:00
\ aws_sns_topic
2017-09-27 13:57:29 -04:00
\ aws_ssm_parameter
2017-02-02 15:44:42 -05:00
\ aws_subnet
2017-05-17 05:07:28 -04:00
\ aws_subnet_ids
2017-02-02 15:44:42 -05:00
\ aws_vpc
2017-03-23 06:28:19 -04:00
\ aws_vpc_endpoint
2017-02-02 15:44:42 -05:00
\ aws_vpc_endpoint_service
\ aws_vpc_peering_connection
2017-03-23 06:28:19 -04:00
\ aws_vpn_gateway
2017-12-06 06:56:27 -05:00
\ azurerm_builtin_role_definition
2017-02-02 15:44:42 -05:00
\ azurerm_client_config
2017-12-06 06:56:27 -05:00
\ azurerm_image
\ azurerm_key_vault_access_policy
\ azurerm_managed_disk
\ azurerm_platform_image
2017-09-27 13:57:29 -04:00
\ azurerm_public_ip
2017-12-06 06:56:27 -05:00
\ azurerm_resource_group
\ azurerm_role_definition
\ azurerm_snapshot
\ azurerm_subnet
\ azurerm_subscription
2017-05-17 05:07:28 -04:00
\ circonus_account
\ circonus_collector
2017-12-06 06:56:27 -05:00
\ cloudstack_template
2017-05-17 05:07:28 -04:00
\ consul_agent_self
\ consul_catalog_nodes
\ consul_catalog_service
\ consul_catalog_services
2017-02-02 15:44:42 -05:00
\ consul_keys
2017-09-27 13:57:29 -04:00
\ digitalocean_image
2017-05-17 05:07:28 -04:00
\ dns_a_record_set
2017-12-06 06:56:27 -05:00
\ dns_aaaa_record_set
2017-05-17 05:07:28 -04:00
\ dns_cname_record_set
2017-12-06 06:56:27 -05:00
\ dns_ns_record_set
2017-05-17 05:07:28 -04:00
\ dns_txt_record_set
2017-02-02 15:44:42 -05:00
\ docker_registry_image
\ external
\ fastly_ip_ranges
2017-09-27 13:57:29 -04:00
\ github_team
\ github_user
2017-12-06 06:56:27 -05:00
\ google_active_folder
\ google_client_config
\ google_compute_address
\ google_compute_global_address
\ google_compute_instance_group
\ google_compute_lb_ip_ranges
2017-09-27 13:57:29 -04:00
\ google_compute_network
\ google_compute_subnetwork
2017-03-23 06:28:19 -04:00
\ google_compute_zones
2017-09-27 13:57:29 -04:00
\ google_container_engine_versions
2017-12-06 06:56:27 -05:00
\ google_dns_managed_zone
2017-02-02 15:44:42 -05:00
\ google_iam_policy
2017-09-27 13:57:29 -04:00
\ google_storage_object_signed_url
\ http
2017-12-06 06:56:27 -05:00
\ kubernetes_service
\ kubernetes_storage_class
\ logicmonitor_collectors
\ logicmonitor_device_group
2017-02-02 15:44:42 -05:00
\ newrelic_application
2017-03-23 06:28:19 -04:00
\ ns1_datasource
2017-02-02 15:44:42 -05:00
\ null_data_source
2017-12-06 06:56:27 -05:00
\ oneandone_instance_size
\ opc_compute_image_list_entry
\ opc_compute_network_interface
\ opc_compute_storage_volume_snapshot
\ opc_compute_vnic
\ openstack_dns_zone_v2
2017-05-17 05:07:28 -04:00
\ openstack_images_image_v2
\ openstack_networking_network_v2
2017-12-06 06:56:27 -05:00
\ openstack_networking_secgroup_v2
\ openstack_networking_subnet_v2
2017-02-02 15:44:42 -05:00
\ opsgenie_user
2017-09-27 13:57:29 -04:00
\ ovh_publiccloud_region
\ ovh_publiccloud_regions
2017-12-06 06:56:27 -05:00
\ packet_precreated_ip_block
2017-03-23 06:28:19 -04:00
\ pagerduty_escalation_policy
\ pagerduty_schedule
2017-02-02 15:44:42 -05:00
\ pagerduty_user
\ pagerduty_vendor
2017-05-17 05:07:28 -04:00
\ profitbricks_datacenter
\ profitbricks_image
\ profitbricks_location
2017-12-06 06:56:27 -05:00
\ profitbricks_resource
\ profitbricks_snapshot
\ rancher_certificate
\ rancher_environment
\ rancher_setting
2017-02-02 15:44:42 -05:00
\ scaleway_bootscript
\ scaleway_image
\ template_cloudinit_config
\ template_file
\ terraform_remote_state
2017-12-06 06:56:27 -05:00
\ triton_image
\ triton_network
\ vsphere_datacenter
\ vsphere_distributed_virtual_switch
\ vsphere_host
\ vsphere_network
\ vsphere_tag
\ vsphere_tag_category
\ vsphere_vmfs_disks
2017-02-02 15:44:42 -05:00
""" end data sources
""" resource
syn keyword terraResourceTypeBI
2017-05-17 05:07:28 -04:00
\ alicloud_db_instance
2017-03-23 06:28:19 -04:00
\ alicloud_disk
\ alicloud_disk_attachment
\ alicloud_eip
\ alicloud_eip_association
2017-09-27 13:57:29 -04:00
\ alicloud_ess_scaling_configuration
\ alicloud_ess_scaling_group
\ alicloud_ess_scaling_rule
\ alicloud_ess_schedule
\ alicloud_forward_entry
2017-03-23 06:28:19 -04:00
\ alicloud_instance
2017-12-06 06:56:27 -05:00
\ alicloud_key_pair
\ alicloud_key_pair_attachment
2017-03-23 06:28:19 -04:00
\ alicloud_nat_gateway
2017-12-06 06:56:27 -05:00
\ alicloud_oss_bucket
\ alicloud_oss_bucket_object
2017-03-23 06:28:19 -04:00
\ alicloud_route_entry
2017-12-06 06:56:27 -05:00
\ alicloud_router_interface
2017-03-23 06:28:19 -04:00
\ alicloud_security_group
\ alicloud_security_group_rule
\ alicloud_slb
\ alicloud_slb_attachment
2017-09-27 13:57:29 -04:00
\ alicloud_snat_entry
2017-03-23 06:28:19 -04:00
\ alicloud_subnet
\ alicloud_vpc
\ alicloud_vswitch
2017-02-02 15:44:42 -05:00
\ arukas_container
\ atlas_artifact
\ aws_alb
\ aws_alb_listener
\ aws_alb_listener_rule
\ aws_alb_target_group
\ aws_alb_target_group_attachment
\ aws_ami
\ aws_ami_copy
\ aws_ami_from_instance
\ aws_ami_launch_permission
\ aws_api_gateway_account
\ aws_api_gateway_api_key
\ aws_api_gateway_authorizer
\ aws_api_gateway_base_path_mapping
\ aws_api_gateway_client_certificate
\ aws_api_gateway_deployment
\ aws_api_gateway_domain_name
2017-12-06 06:56:27 -05:00
\ aws_api_gateway_gateway_response
2017-02-02 15:44:42 -05:00
\ aws_api_gateway_integration
\ aws_api_gateway_integration_response
\ aws_api_gateway_method
\ aws_api_gateway_method_response
2017-05-17 05:07:28 -04:00
\ aws_api_gateway_method_settings
2017-02-02 15:44:42 -05:00
\ aws_api_gateway_model
2017-12-06 06:56:27 -05:00
\ aws_api_gateway_request_validator
2017-02-02 15:44:42 -05:00
\ aws_api_gateway_resource
\ aws_api_gateway_rest_api
2017-05-17 05:07:28 -04:00
\ aws_api_gateway_stage
\ aws_api_gateway_usage_plan
\ aws_api_gateway_usage_plan_key
2017-02-02 15:44:42 -05:00
\ aws_app_cookie_stickiness_policy
\ aws_appautoscaling_policy
\ aws_appautoscaling_target
2017-12-06 06:56:27 -05:00
\ aws_athena_database
\ aws_athena_named_query
2017-02-02 15:44:42 -05:00
\ aws_autoscaling_attachment
\ aws_autoscaling_group
\ aws_autoscaling_lifecycle_hook
\ aws_autoscaling_notification
\ aws_autoscaling_policy
\ aws_autoscaling_schedule
2017-12-06 06:56:27 -05:00
\ aws_batch_compute_environment
\ aws_batch_job_definition
\ aws_batch_job_queue
2017-02-02 15:44:42 -05:00
\ aws_cloudformation_stack
\ aws_cloudfront_distribution
\ aws_cloudfront_origin_access_identity
\ aws_cloudtrail
2017-12-06 06:56:27 -05:00
\ aws_cloudwatch_dashboard
2017-02-02 15:44:42 -05:00
\ aws_cloudwatch_event_rule
\ aws_cloudwatch_event_target
2017-05-17 05:07:28 -04:00
\ aws_cloudwatch_log_destination
\ aws_cloudwatch_log_destination_policy
2017-02-02 15:44:42 -05:00
\ aws_cloudwatch_log_group
\ aws_cloudwatch_log_metric_filter
\ aws_cloudwatch_log_stream
\ aws_cloudwatch_log_subscription_filter
\ aws_cloudwatch_metric_alarm
2017-03-23 06:28:19 -04:00
\ aws_codebuild_project
2017-02-02 15:44:42 -05:00
\ aws_codecommit_repository
\ aws_codecommit_trigger
\ aws_codedeploy_app
\ aws_codedeploy_deployment_config
\ aws_codedeploy_deployment_group
2017-05-17 05:07:28 -04:00
\ aws_codepipeline
2017-09-27 13:57:29 -04:00
\ aws_cognito_identity_pool
2017-12-06 06:56:27 -05:00
\ aws_cognito_identity_pool_roles_attachment
\ aws_cognito_user_pool
2017-03-23 06:28:19 -04:00
\ aws_config_config_rule
\ aws_config_configuration_recorder
\ aws_config_configuration_recorder_status
\ aws_config_delivery_channel
2017-02-02 15:44:42 -05:00
\ aws_customer_gateway
\ aws_db_event_subscription
\ aws_db_instance
\ aws_db_option_group
\ aws_db_parameter_group
\ aws_db_security_group
2017-09-27 13:57:29 -04:00
\ aws_db_snapshot
2017-02-02 15:44:42 -05:00
\ aws_db_subnet_group
\ aws_default_network_acl
\ aws_default_route_table
\ aws_default_security_group
2017-09-27 13:57:29 -04:00
\ aws_default_subnet
\ aws_default_vpc
\ aws_default_vpc_dhcp_options
\ aws_devicefarm_project
2017-02-02 15:44:42 -05:00
\ aws_directory_service_directory
2017-03-23 06:28:19 -04:00
\ aws_dms_certificate
\ aws_dms_endpoint
\ aws_dms_replication_instance
\ aws_dms_replication_subnet_group
\ aws_dms_replication_task
2017-12-06 06:56:27 -05:00
\ aws_dx_connection
\ aws_dx_lag
2017-02-02 15:44:42 -05:00
\ aws_dynamodb_table
\ aws_ebs_snapshot
\ aws_ebs_volume
2017-12-06 06:56:27 -05:00
\ aws_ecr_lifecycle_policy
2017-02-02 15:44:42 -05:00
\ aws_ecr_repository
\ aws_ecr_repository_policy
\ aws_ecs_cluster
\ aws_ecs_service
\ aws_ecs_task_definition
\ aws_efs_file_system
\ aws_efs_mount_target
2017-05-17 05:07:28 -04:00
\ aws_egress_only_internet_gateway
2017-02-02 15:44:42 -05:00
\ aws_eip
\ aws_eip_association
\ aws_elastic_beanstalk_application
2017-05-17 05:07:28 -04:00
\ aws_elastic_beanstalk_application_version
2017-02-02 15:44:42 -05:00
\ aws_elastic_beanstalk_configuration_template
\ aws_elastic_beanstalk_environment
\ aws_elasticache_cluster
\ aws_elasticache_parameter_group
\ aws_elasticache_replication_group
\ aws_elasticache_security_group
\ aws_elasticache_subnet_group
\ aws_elasticsearch_domain
2017-03-23 06:28:19 -04:00
\ aws_elasticsearch_domain_policy
2017-02-02 15:44:42 -05:00
\ aws_elastictranscoder_pipeline
\ aws_elastictranscoder_preset
\ aws_elb
\ aws_elb_attachment
\ aws_emr_cluster
\ aws_emr_instance_group
2017-09-27 13:57:29 -04:00
\ aws_emr_security_configuration
2017-02-02 15:44:42 -05:00
\ aws_flow_log
\ aws_glacier_vault
\ aws_iam_access_key
2017-05-17 05:07:28 -04:00
\ aws_iam_account_alias
2017-02-02 15:44:42 -05:00
\ aws_iam_account_password_policy
\ aws_iam_group
\ aws_iam_group_membership
\ aws_iam_group_policy
\ aws_iam_group_policy_attachment
\ aws_iam_instance_profile
2017-05-17 05:07:28 -04:00
\ aws_iam_openid_connect_provider
2017-02-02 15:44:42 -05:00
\ aws_iam_policy
\ aws_iam_policy_attachment
\ aws_iam_role
\ aws_iam_role_policy
\ aws_iam_role_policy_attachment
\ aws_iam_saml_provider
\ aws_iam_server_certificate
\ aws_iam_user
\ aws_iam_user_login_profile
\ aws_iam_user_policy
\ aws_iam_user_policy_attachment
\ aws_iam_user_ssh_key
2017-03-23 06:28:19 -04:00
\ aws_inspector_assessment_target
\ aws_inspector_assessment_template
\ aws_inspector_resource_group
2017-02-02 15:44:42 -05:00
\ aws_instance
\ aws_internet_gateway
2017-12-06 06:56:27 -05:00
\ aws_iot_certificate
\ aws_iot_policy
2017-02-02 15:44:42 -05:00
\ aws_key_pair
\ aws_kinesis_firehose_delivery_stream
\ aws_kinesis_stream
\ aws_kms_alias
\ aws_kms_key
\ aws_lambda_alias
\ aws_lambda_event_source_mapping
\ aws_lambda_function
\ aws_lambda_permission
\ aws_launch_configuration
2017-12-06 06:56:27 -05:00
\ aws_lb
2017-02-02 15:44:42 -05:00
\ aws_lb_cookie_stickiness_policy
2017-12-06 06:56:27 -05:00
\ aws_lb_listener
\ aws_lb_listener_rule
2017-02-02 15:44:42 -05:00
\ aws_lb_ssl_negotiation_policy
2017-12-06 06:56:27 -05:00
\ aws_lb_target_group
\ aws_lb_target_group_attachment
2017-02-02 15:44:42 -05:00
\ aws_lightsail_domain
\ aws_lightsail_instance
\ aws_lightsail_key_pair
2017-05-17 05:07:28 -04:00
\ aws_lightsail_static_ip
\ aws_lightsail_static_ip_attachment
2017-02-02 15:44:42 -05:00
\ aws_load_balancer_backend_server_policy
\ aws_load_balancer_listener_policy
\ aws_load_balancer_policy
\ aws_main_route_table_association
\ aws_nat_gateway
\ aws_network_acl
\ aws_network_acl_rule
\ aws_network_interface
2017-09-27 13:57:29 -04:00
\ aws_network_interface_attachment
2017-12-06 06:56:27 -05:00
\ aws_network_interface_sg_attachment
2017-02-02 15:44:42 -05:00
\ aws_opsworks_application
\ aws_opsworks_custom_layer
\ aws_opsworks_ganglia_layer
\ aws_opsworks_haproxy_layer
\ aws_opsworks_instance
\ aws_opsworks_java_app_layer
\ aws_opsworks_memcached_layer
\ aws_opsworks_mysql_layer
\ aws_opsworks_nodejs_app_layer
\ aws_opsworks_permission
\ aws_opsworks_php_app_layer
\ aws_opsworks_rails_app_layer
\ aws_opsworks_rds_db_instance
\ aws_opsworks_stack
\ aws_opsworks_static_web_layer
\ aws_opsworks_user_profile
\ aws_placement_group
\ aws_proxy_protocol_policy
\ aws_rds_cluster
\ aws_rds_cluster_instance
\ aws_rds_cluster_parameter_group
\ aws_redshift_cluster
\ aws_redshift_parameter_group
\ aws_redshift_security_group
\ aws_redshift_subnet_group
\ aws_route
\ aws_route53_delegation_set
\ aws_route53_health_check
\ aws_route53_record
\ aws_route53_zone
\ aws_route53_zone_association
\ aws_route_table
\ aws_route_table_association
\ aws_s3_bucket
\ aws_s3_bucket_notification
\ aws_s3_bucket_object
\ aws_s3_bucket_policy
\ aws_security_group
\ aws_security_group_rule
2017-12-06 06:56:27 -05:00
\ aws_servicecatalog_portfolio
2017-02-02 15:44:42 -05:00
\ aws_ses_active_receipt_rule_set
\ aws_ses_configuration_set
2017-12-06 06:56:27 -05:00
\ aws_ses_domain_dkim
2017-05-17 05:07:28 -04:00
\ aws_ses_domain_identity
2017-02-02 15:44:42 -05:00
\ aws_ses_event_destination
\ aws_ses_receipt_filter
\ aws_ses_receipt_rule
\ aws_ses_receipt_rule_set
2017-12-06 06:56:27 -05:00
\ aws_ses_template
2017-03-23 06:28:19 -04:00
\ aws_sfn_activity
\ aws_sfn_state_machine
2017-02-02 15:44:42 -05:00
\ aws_simpledb_domain
\ aws_snapshot_create_volume_permission
\ aws_sns_topic
\ aws_sns_topic_policy
\ aws_sns_topic_subscription
\ aws_spot_datafeed_subscription
\ aws_spot_fleet_request
\ aws_spot_instance_request
\ aws_sqs_queue
\ aws_sqs_queue_policy
\ aws_ssm_activation
\ aws_ssm_association
\ aws_ssm_document
2017-09-27 13:57:29 -04:00
\ aws_ssm_maintenance_window
\ aws_ssm_maintenance_window_target
\ aws_ssm_maintenance_window_task
\ aws_ssm_parameter
\ aws_ssm_patch_baseline
\ aws_ssm_patch_group
2017-12-06 06:56:27 -05:00
\ aws_ssm_resource_data_sync
2017-02-02 15:44:42 -05:00
\ aws_subnet
\ aws_volume_attachment
\ aws_vpc
\ aws_vpc_dhcp_options
\ aws_vpc_dhcp_options_association
\ aws_vpc_endpoint
\ aws_vpc_endpoint_route_table_association
\ aws_vpc_peering_connection
2017-03-23 06:28:19 -04:00
\ aws_vpc_peering_connection_accepter
2017-02-02 15:44:42 -05:00
\ aws_vpn_connection
\ aws_vpn_connection_route
\ aws_vpn_gateway
\ aws_vpn_gateway_attachment
2017-12-06 06:56:27 -05:00
\ aws_vpn_gateway_route_propagation
2017-02-02 15:44:42 -05:00
\ aws_waf_byte_match_set
\ aws_waf_ipset
2017-12-06 06:56:27 -05:00
\ aws_waf_rate_based_rule
2017-02-02 15:44:42 -05:00
\ aws_waf_rule
\ aws_waf_size_constraint_set
\ aws_waf_sql_injection_match_set
\ aws_waf_web_acl
\ aws_waf_xss_match_set
2017-09-27 13:57:29 -04:00
\ aws_wafregional_byte_match_set
\ aws_wafregional_ipset
2017-02-02 15:44:42 -05:00
\ azure_affinity_group
\ azure_data_disk
\ azure_dns_server
\ azure_hosted_service
\ azure_instance
\ azure_local_network_connection
\ azure_security_group
\ azure_security_group_rule
\ azure_sql_database_server
\ azure_sql_database_server_firewall_rule
\ azure_sql_database_service
\ azure_storage_blob
\ azure_storage_container
\ azure_storage_queue
\ azure_storage_service
\ azure_virtual_network
2017-12-06 06:56:27 -05:00
\ azurerm_app_service
\ azurerm_app_service_plan
\ azurerm_application_gateway
\ azurerm_application_insights
\ azurerm_automation_account
\ azurerm_automation_credential
\ azurerm_automation_runbook
\ azurerm_automation_schedule
2017-02-02 15:44:42 -05:00
\ azurerm_availability_set
\ azurerm_cdn_endpoint
\ azurerm_cdn_profile
2017-12-06 06:56:27 -05:00
\ azurerm_container_group
2017-02-02 15:44:42 -05:00
\ azurerm_container_registry
2017-03-23 06:28:19 -04:00
\ azurerm_container_service
2017-12-06 06:56:27 -05:00
\ azurerm_cosmosdb_account
2017-02-02 15:44:42 -05:00
\ azurerm_dns_a_record
\ azurerm_dns_aaaa_record
\ azurerm_dns_cname_record
\ azurerm_dns_mx_record
\ azurerm_dns_ns_record
2017-12-06 06:56:27 -05:00
\ azurerm_dns_ptr_record
2017-02-02 15:44:42 -05:00
\ azurerm_dns_srv_record
\ azurerm_dns_txt_record
\ azurerm_dns_zone
2017-12-06 06:56:27 -05:00
\ azurerm_eventgrid_topic
2017-02-02 15:44:42 -05:00
\ azurerm_eventhub
\ azurerm_eventhub_authorization_rule
\ azurerm_eventhub_consumer_group
\ azurerm_eventhub_namespace
2017-09-27 13:57:29 -04:00
\ azurerm_express_route_circuit
2017-12-06 06:56:27 -05:00
\ azurerm_image
2017-02-02 15:44:42 -05:00
\ azurerm_key_vault
2017-12-06 06:56:27 -05:00
\ azurerm_key_vault_certificate
\ azurerm_key_vault_key
\ azurerm_key_vault_secret
2017-02-02 15:44:42 -05:00
\ azurerm_lb
\ azurerm_lb_backend_address_pool
\ azurerm_lb_nat_pool
\ azurerm_lb_nat_rule
\ azurerm_lb_probe
\ azurerm_lb_rule
\ azurerm_local_network_gateway
2017-12-06 06:56:27 -05:00
\ azurerm_log_analytics_workspace
2017-05-17 05:07:28 -04:00
\ azurerm_managed_disk
2017-12-06 06:56:27 -05:00
\ azurerm_mysql_configuration
\ azurerm_mysql_database
\ azurerm_mysql_firewall_rule
\ azurerm_mysql_server
2017-02-02 15:44:42 -05:00
\ azurerm_network_interface
\ azurerm_network_security_group
\ azurerm_network_security_rule
2017-12-06 06:56:27 -05:00
\ azurerm_postgresql_configuration
\ azurerm_postgresql_database
\ azurerm_postgresql_firewall_rule
\ azurerm_postgresql_server
2017-02-02 15:44:42 -05:00
\ azurerm_public_ip
\ azurerm_redis_cache
2017-12-06 06:56:27 -05:00
\ azurerm_redis_firewall_rule
2017-02-02 15:44:42 -05:00
\ azurerm_resource_group
2017-12-06 06:56:27 -05:00
\ azurerm_role_assignment
\ azurerm_role_definition
2017-02-02 15:44:42 -05:00
\ azurerm_route
\ azurerm_route_table
\ azurerm_search_service
\ azurerm_servicebus_namespace
2017-12-06 06:56:27 -05:00
\ azurerm_servicebus_queue
2017-02-02 15:44:42 -05:00
\ azurerm_servicebus_subscription
\ azurerm_servicebus_topic
2017-12-06 06:56:27 -05:00
\ azurerm_snapshot
2017-02-02 15:44:42 -05:00
\ azurerm_sql_database
2017-09-27 13:57:29 -04:00
\ azurerm_sql_elasticpool
2017-02-02 15:44:42 -05:00
\ azurerm_sql_firewall_rule
\ azurerm_sql_server
\ azurerm_storage_account
\ azurerm_storage_blob
\ azurerm_storage_container
\ azurerm_storage_queue
\ azurerm_storage_share
\ azurerm_storage_table
\ azurerm_subnet
\ azurerm_template_deployment
\ azurerm_traffic_manager_endpoint
\ azurerm_traffic_manager_profile
\ azurerm_virtual_machine
\ azurerm_virtual_machine_extension
\ azurerm_virtual_machine_scale_set
\ azurerm_virtual_network
\ azurerm_virtual_network_peering
\ bitbucket_default_reviewers
\ bitbucket_hook
\ bitbucket_repository
\ chef_acl
\ chef_client
\ chef_cookbook
\ chef_data_bag
\ chef_data_bag_item
\ chef_environment
\ chef_node
\ chef_role
2017-05-17 05:07:28 -04:00
\ circonus_check
\ circonus_contact_group
\ circonus_graph
\ circonus_metric
\ circonus_metric_cluster
\ circonus_rule_set
2017-02-02 15:44:42 -05:00
\ clc_group
\ clc_load_balancer
\ clc_load_balancer_pool
\ clc_public_ip
\ clc_server
\ cloudflare_record
2017-12-06 06:56:27 -05:00
\ cloudscale_floating_ip
\ cloudscale_server
2017-02-02 15:44:42 -05:00
\ cloudstack_affinity_group
\ cloudstack_disk
\ cloudstack_egress_firewall
\ cloudstack_firewall
\ cloudstack_instance
\ cloudstack_ipaddress
\ cloudstack_loadbalancer_rule
\ cloudstack_network
\ cloudstack_network_acl
\ cloudstack_network_acl_rule
\ cloudstack_nic
\ cloudstack_port_forward
\ cloudstack_private_gateway
\ cloudstack_secondary_ipaddress
\ cloudstack_security_group
\ cloudstack_security_group_rule
\ cloudstack_ssh_keypair
\ cloudstack_static_nat
\ cloudstack_static_route
\ cloudstack_template
\ cloudstack_vpc
\ cloudstack_vpn_connection
\ cloudstack_vpn_customer_gateway
\ cloudstack_vpn_gateway
\ cobbler_distro
\ cobbler_kickstart_file
\ cobbler_profile
2017-12-06 06:56:27 -05:00
\ cobbler_repo
2017-02-02 15:44:42 -05:00
\ cobbler_snippet
\ cobbler_system
\ consul_agent_service
\ consul_catalog_entry
\ consul_key_prefix
\ consul_keys
\ consul_node
\ consul_prepared_query
\ consul_service
2017-05-17 05:07:28 -04:00
\ datadog_downtime
2017-12-06 06:56:27 -05:00
\ datadog_metric_metadata
2017-02-02 15:44:42 -05:00
\ datadog_monitor
\ datadog_timeboard
2017-05-17 05:07:28 -04:00
\ datadog_user
2017-09-27 13:57:29 -04:00
\ digitalocean_certificate
2017-02-02 15:44:42 -05:00
\ digitalocean_domain
\ digitalocean_droplet
2017-12-06 06:56:27 -05:00
\ digitalocean_firewall
2017-02-02 15:44:42 -05:00
\ digitalocean_floating_ip
2017-05-17 05:07:28 -04:00
\ digitalocean_loadbalancer
2017-02-02 15:44:42 -05:00
\ digitalocean_record
\ digitalocean_ssh_key
\ digitalocean_tag
\ digitalocean_volume
\ dme_record
2017-05-17 05:07:28 -04:00
\ dns_a_record_set
\ dns_aaaa_record_set
\ dns_cname_record
2017-12-06 06:56:27 -05:00
\ dns_ns_record_set
2017-05-17 05:07:28 -04:00
\ dns_ptr_record
2017-02-02 15:44:42 -05:00
\ dnsimple_record
\ docker_container
\ docker_image
\ docker_network
\ docker_volume
\ dyn_record
\ fastly_service_v1
2017-09-27 13:57:29 -04:00
\ github_branch_protection
2017-02-02 15:44:42 -05:00
\ github_issue_label
\ github_membership
2017-05-17 05:07:28 -04:00
\ github_organization_webhook
2017-02-02 15:44:42 -05:00
\ github_repository
\ github_repository_collaborator
2017-12-06 06:56:27 -05:00
\ github_repository_deploy_key
2017-05-17 05:07:28 -04:00
\ github_repository_webhook
2017-02-02 15:44:42 -05:00
\ github_team
\ github_team_membership
\ github_team_repository
2017-09-27 13:57:29 -04:00
\ gitlab_deploy_key
\ gitlab_group
2017-12-06 06:56:27 -05:00
\ gitlab_label
2017-09-27 13:57:29 -04:00
\ gitlab_project
\ gitlab_project_hook
2017-12-06 06:56:27 -05:00
\ gitlab_user
2017-09-27 13:57:29 -04:00
\ google_bigquery_dataset
\ google_bigquery_table
2017-12-06 06:56:27 -05:00
\ google_bigtable_instance
\ google_bigtable_table
2017-02-02 15:44:42 -05:00
\ google_compute_address
\ google_compute_autoscaler
2017-09-27 13:57:29 -04:00
\ google_compute_backend_bucket
2017-02-02 15:44:42 -05:00
\ google_compute_backend_service
\ google_compute_disk
\ google_compute_firewall
\ google_compute_forwarding_rule
\ google_compute_global_address
\ google_compute_global_forwarding_rule
\ google_compute_health_check
\ google_compute_http_health_check
\ google_compute_https_health_check
\ google_compute_image
\ google_compute_instance
\ google_compute_instance_group
\ google_compute_instance_group_manager
\ google_compute_instance_template
\ google_compute_network
2017-12-06 06:56:27 -05:00
\ google_compute_network_peering
2017-02-02 15:44:42 -05:00
\ google_compute_project_metadata
2017-12-06 06:56:27 -05:00
\ google_compute_project_metadata_item
\ google_compute_region_autoscaler
2017-02-02 15:44:42 -05:00
\ google_compute_region_backend_service
2017-12-06 06:56:27 -05:00
\ google_compute_region_instance_group_manager
2017-02-02 15:44:42 -05:00
\ google_compute_route
2017-09-27 13:57:29 -04:00
\ google_compute_router
\ google_compute_router_interface
\ google_compute_router_peer
2017-12-06 06:56:27 -05:00
\ google_compute_shared_vpc_host_project
\ google_compute_shared_vpc_service_project
2017-09-27 13:57:29 -04:00
\ google_compute_snapshot
2017-02-02 15:44:42 -05:00
\ google_compute_ssl_certificate
\ google_compute_subnetwork
\ google_compute_target_http_proxy
\ google_compute_target_https_proxy
\ google_compute_target_pool
2017-12-06 06:56:27 -05:00
\ google_compute_target_ssl_proxy
\ google_compute_target_tcp_proxy
2017-02-02 15:44:42 -05:00
\ google_compute_url_map
\ google_compute_vpn_gateway
\ google_compute_vpn_tunnel
\ google_container_cluster
2017-05-17 05:07:28 -04:00
\ google_container_node_pool
2017-12-06 06:56:27 -05:00
\ google_dataproc_cluster
2017-02-02 15:44:42 -05:00
\ google_dns_managed_zone
\ google_dns_record_set
2017-12-06 06:56:27 -05:00
\ google_folder
\ google_folder_iam_policy
\ google_kms_crypto_key
\ google_kms_key_ring
\ google_logging_billing_account_sink
\ google_logging_folder_sink
\ google_logging_project_sink
\ google_organization_iam_custom_role
\ google_organization_policy
2017-02-02 15:44:42 -05:00
\ google_project
2017-12-06 06:56:27 -05:00
\ google_project_iam_binding
\ google_project_iam_custom_role
\ google_project_iam_member
2017-03-23 06:28:19 -04:00
\ google_project_iam_policy
2017-12-06 06:56:27 -05:00
\ google_project_service
2017-03-23 06:28:19 -04:00
\ google_project_services
2017-02-02 15:44:42 -05:00
\ google_pubsub_subscription
\ google_pubsub_topic
2017-12-06 06:56:27 -05:00
\ google_runtimeconfig_config
\ google_runtimeconfig_variable
2017-02-02 15:44:42 -05:00
\ google_service_account
2017-12-06 06:56:27 -05:00
\ google_service_account_key
\ google_sourcerepo_repository
\ google_spanner_database
\ google_spanner_instance
2017-02-02 15:44:42 -05:00
\ google_sql_database
\ google_sql_database_instance
\ google_sql_user
\ google_storage_bucket
\ google_storage_bucket_acl
\ google_storage_bucket_object
\ google_storage_object_acl
\ heroku_addon
2017-12-06 06:56:27 -05:00
\ heroku_addon_attachment
2017-02-02 15:44:42 -05:00
\ heroku_app
2017-09-27 13:57:29 -04:00
\ heroku_app_feature
2017-02-02 15:44:42 -05:00
\ heroku_cert
\ heroku_domain
\ heroku_drain
2017-09-27 13:57:29 -04:00
\ heroku_pipeline
\ heroku_pipeline_coupling
\ heroku_space
2017-02-02 15:44:42 -05:00
\ icinga2_checkcommand
\ icinga2_host
\ icinga2_hostgroup
\ icinga2_service
\ ignition_config
2017-12-06 06:56:27 -05:00
\ ignition_directory
2017-02-02 15:44:42 -05:00
\ ignition_disk
\ ignition_file
\ ignition_filesystem
\ ignition_group
2017-12-06 06:56:27 -05:00
\ ignition_link
2017-02-02 15:44:42 -05:00
\ ignition_networkd_unit
\ ignition_raid
\ ignition_systemd_unit
\ ignition_user
\ influxdb_continuous_query
\ influxdb_database
\ influxdb_user
2017-05-17 05:07:28 -04:00
\ kubernetes_config_map
2017-09-27 13:57:29 -04:00
\ kubernetes_horizontal_pod_autoscaler
\ kubernetes_limit_range
2017-05-17 05:07:28 -04:00
\ kubernetes_namespace
\ kubernetes_persistent_volume
\ kubernetes_persistent_volume_claim
2017-12-06 06:56:27 -05:00
\ kubernetes_pod
\ kubernetes_replication_controller
2017-09-27 13:57:29 -04:00
\ kubernetes_resource_quota
2017-05-17 05:07:28 -04:00
\ kubernetes_secret
2017-09-27 13:57:29 -04:00
\ kubernetes_service
2017-12-06 06:56:27 -05:00
\ kubernetes_service_account
\ kubernetes_storage_class
2017-02-02 15:44:42 -05:00
\ librato_alert
2017-09-27 13:57:29 -04:00
\ librato_metric
2017-02-02 15:44:42 -05:00
\ librato_service
\ librato_space
\ librato_space_chart
2017-09-27 13:57:29 -04:00
\ local_file
2017-02-02 15:44:42 -05:00
\ logentries_log
\ logentries_logset
2017-12-06 06:56:27 -05:00
\ logicmonitor_collector_group
\ logicmonitor_device
\ logicmonitor_device_group
2017-02-02 15:44:42 -05:00
\ mailgun_domain
\ mysql_database
\ mysql_grant
\ mysql_user
\ newrelic_alert_channel
\ newrelic_alert_condition
\ newrelic_alert_policy
\ newrelic_alert_policy_channel
2017-12-06 06:56:27 -05:00
\ newrelic_nrql_alert_condition
2017-02-02 15:44:42 -05:00
\ nomad_job
\ null_resource
2017-09-27 13:57:29 -04:00
\ oneandone_firewall_policy
\ oneandone_loadbalancer
\ oneandone_monitoring_policy
\ oneandone_private_network
\ oneandone_public_ip
\ oneandone_server
\ oneandone_shared_storage
\ oneandone_vpn
2017-12-06 06:56:27 -05:00
\ opc_compute_acl
\ opc_compute_image_list
\ opc_compute_image_list_entry
\ opc_compute_instance
\ opc_compute_ip_address_association
\ opc_compute_ip_address_prefix_set
\ opc_compute_ip_address_reservation
\ opc_compute_ip_association
\ opc_compute_ip_network
\ opc_compute_ip_network_exchange
\ opc_compute_ip_reservation
\ opc_compute_route
\ opc_compute_sec_rule
\ opc_compute_security_application
\ opc_compute_security_association
\ opc_compute_security_ip_list
\ opc_compute_security_list
\ opc_compute_security_protocol
\ opc_compute_security_rule
\ opc_compute_snapshot
\ opc_compute_ssh_key
\ opc_compute_storage_volume
\ opc_compute_storage_volume_snapshot
\ opc_compute_vnic_set
\ opc_database_service_instance
\ opc_storage_container
\ opc_storage_object
2017-02-02 15:44:42 -05:00
\ openstack_blockstorage_volume_attach_v2
\ openstack_blockstorage_volume_v1
\ openstack_blockstorage_volume_v2
2017-12-06 06:56:27 -05:00
\ openstack_compute_flavor_v2
2017-05-17 05:07:28 -04:00
\ openstack_compute_floatingip_associate_v2
2017-02-02 15:44:42 -05:00
\ openstack_compute_floatingip_v2
\ openstack_compute_instance_v2
\ openstack_compute_keypair_v2
\ openstack_compute_secgroup_v2
\ openstack_compute_servergroup_v2
\ openstack_compute_volume_attach_v2
2017-09-27 13:57:29 -04:00
\ openstack_dns_recordset_v2
\ openstack_dns_zone_v2
2017-02-02 15:44:42 -05:00
\ openstack_fw_firewall_v1
\ openstack_fw_policy_v1
\ openstack_fw_rule_v1
2017-12-06 06:56:27 -05:00
\ openstack_identity_project_v3
\ openstack_identity_user_v3
2017-05-17 05:07:28 -04:00
\ openstack_images_image_v2
2017-02-02 15:44:42 -05:00
\ openstack_lb_listener_v2
\ openstack_lb_loadbalancer_v2
\ openstack_lb_member_v1
\ openstack_lb_member_v2
\ openstack_lb_monitor_v1
\ openstack_lb_monitor_v2
\ openstack_lb_pool_v1
\ openstack_lb_pool_v2
\ openstack_lb_vip_v1
\ openstack_networking_floatingip_v2
\ openstack_networking_network_v2
\ openstack_networking_port_v2
\ openstack_networking_router_interface_v2
\ openstack_networking_router_route_v2
\ openstack_networking_router_v2
\ openstack_networking_secgroup_rule_v2
\ openstack_networking_secgroup_v2
\ openstack_networking_subnet_v2
\ openstack_objectstorage_container_v1
2017-12-06 06:56:27 -05:00
\ openstack_objectstorage_object_v1
2017-02-02 15:44:42 -05:00
\ opsgenie_team
\ opsgenie_user
2017-09-27 13:57:29 -04:00
\ ovh_publiccloud_private_network
\ ovh_publiccloud_private_network_subnet
\ ovh_publiccloud_user
\ ovh_vrack_publiccloud_attachment
2017-02-02 15:44:42 -05:00
\ packet_device
2017-12-06 06:56:27 -05:00
\ packet_ip_attachment
2017-02-02 15:44:42 -05:00
\ packet_project
2017-12-06 06:56:27 -05:00
\ packet_reserved_ip_block
2017-02-02 15:44:42 -05:00
\ packet_ssh_key
\ packet_volume
2017-12-06 06:56:27 -05:00
\ packet_volume_attachment
2017-03-23 06:28:19 -04:00
\ pagerduty_addon
2017-02-02 15:44:42 -05:00
\ pagerduty_escalation_policy
2017-12-06 06:56:27 -05:00
\ pagerduty_maintenance_window
2017-02-02 15:44:42 -05:00
\ pagerduty_schedule
\ pagerduty_service
\ pagerduty_service_integration
\ pagerduty_team
2017-12-06 06:56:27 -05:00
\ pagerduty_team_membership
2017-02-02 15:44:42 -05:00
\ pagerduty_user
\ postgresql_database
\ postgresql_extension
\ postgresql_role
\ postgresql_schema
\ powerdns_record
2017-03-23 06:28:19 -04:00
\ profitbricks_datacenter
\ profitbricks_firewall
2017-12-06 06:56:27 -05:00
\ profitbricks_group
2017-03-23 06:28:19 -04:00
\ profitbricks_ipblock
2017-12-06 06:56:27 -05:00
\ profitbricks_ipfailover
2017-03-23 06:28:19 -04:00
\ profitbricks_lan
\ profitbricks_loadbalancer
\ profitbricks_nic
\ profitbricks_server
2017-12-06 06:56:27 -05:00
\ profitbricks_share
\ profitbricks_snapshot
\ profitbricks_user
2017-03-23 06:28:19 -04:00
\ profitbricks_volume
2017-02-02 15:44:42 -05:00
\ rabbitmq_binding
\ rabbitmq_exchange
\ rabbitmq_permissions
\ rabbitmq_policy
\ rabbitmq_queue
\ rabbitmq_user
\ rabbitmq_vhost
2017-05-17 05:07:28 -04:00
\ rancher_certificate
2017-02-02 15:44:42 -05:00
\ rancher_environment
2017-05-17 05:07:28 -04:00
\ rancher_host
2017-02-02 15:44:42 -05:00
\ rancher_registration_token
\ rancher_registry
\ rancher_registry_credential
2017-12-06 06:56:27 -05:00
\ rancher_secret
2017-02-02 15:44:42 -05:00
\ rancher_stack
\ random_id
2017-12-06 06:56:27 -05:00
\ random_integer
2017-05-17 05:07:28 -04:00
\ random_pet
2017-02-02 15:44:42 -05:00
\ random_shuffle
2017-12-06 06:56:27 -05:00
\ random_string
2017-02-02 15:44:42 -05:00
\ rundeck_job
\ rundeck_private_key
\ rundeck_project
\ rundeck_public_key
\ scaleway_ip
\ scaleway_security_group
\ scaleway_security_group_rule
\ scaleway_server
\ scaleway_volume
\ scaleway_volume_attachment
\ softlayer_ssh_key
\ softlayer_virtual_guest
2017-05-17 05:07:28 -04:00
\ spotinst_aws_group
\ spotinst_healthcheck
\ spotinst_subscription
2017-02-02 15:44:42 -05:00
\ statuscake_test
2017-09-27 13:57:29 -04:00
\ template_dir
2017-02-02 15:44:42 -05:00
\ tls_cert_request
\ tls_locally_signed_cert
\ tls_private_key
\ tls_self_signed_cert
\ triton_fabric
\ triton_firewall_rule
\ triton_key
\ triton_machine
2017-12-06 06:56:27 -05:00
\ triton_snapshot
2017-02-02 15:44:42 -05:00
\ triton_vlan
\ ultradns_dirpool
\ ultradns_probe_http
\ ultradns_probe_ping
2017-09-27 13:57:29 -04:00
\ ultradns_rdpool
2017-02-02 15:44:42 -05:00
\ ultradns_record
\ ultradns_tcpool
\ vcd_dnat
2017-09-27 13:57:29 -04:00
\ vcd_edgegateway_vpn
2017-02-02 15:44:42 -05:00
\ vcd_firewall_rules
\ vcd_network
\ vcd_snat
\ vcd_vapp
2017-12-06 06:56:27 -05:00
\ vcd_vapp_vm
\ vsphere_datacenter
\ vsphere_distributed_port_group
\ vsphere_distributed_virtual_switch
2017-02-02 15:44:42 -05:00
\ vsphere_file
\ vsphere_folder
2017-12-06 06:56:27 -05:00
\ vsphere_host_port_group
\ vsphere_host_virtual_switch
\ vsphere_license
\ vsphere_nas_datastore
\ vsphere_tag
\ vsphere_tag_category
2017-02-02 15:44:42 -05:00
\ vsphere_virtual_disk
\ vsphere_virtual_machine
2017-12-06 06:56:27 -05:00
\ vsphere_virtual_machine_snapshot
\ vsphere_vmfs_datastore
2017-02-02 15:44:42 -05:00
""" end resources
syn keyword terraTodo contained TODO FIXME XXX BUG
syn cluster terraCommentGroup contains=terraTodo
syn region terraComment start="/\*" end="\*/" contains=@terraCommentGroup,@Spell
syn region terraComment start="#" end="$" contains=@terraCommentGroup,@Spell
syn region terraComment start="//" end="$" contains=@terraCommentGroup,@Spell
syn match terraResource /\<resource\>/ nextgroup=terraResourceTypeStr skipwhite
syn region terraResourceTypeStr start=/"/ end=/"/ contains=terraResourceTypeBI
\ nextgroup=terraResourceName skipwhite
syn region terraResourceName start=/"/ end=/"/
\ nextgroup=terraResourceBlock skipwhite
syn match terraData /\<data\>/ nextgroup=terraDataTypeStr skipwhite
syn region terraDataTypeStr start=/"/ end=/"/ contains=terraDataTypeBI
\ nextgroup=terraDataName skipwhite
syn region terraDataName start=/"/ end=/"/
\ nextgroup=terraDataBlock skipwhite
""" provider
syn match terraProvider /\<provider\>/ nextgroup=terraProviderName skipwhite
syn region terraProviderName start=/"/ end=/"/ nextgroup=terraProviderBlock skipwhite
""" provisioner
syn match terraProvisioner /\<provisioner\>/ nextgroup=terraProvisionerName skipwhite
syn region terraProvisionerName start=/"/ end=/"/ nextgroup=terraProvisionerBlock skipwhite
""" module
syn match terraModule /\<module\>/ nextgroup=terraModuleName skipwhite
syn region terraModuleName start=/"/ end=/"/ nextgroup=terraModuleBlock skipwhite
""" misc.
syn match terraValueDec "\<[0-9]\+\([kKmMgG]b\?\)\?\>"
syn match terraValueHexaDec "\<0x[0-9a-f]\+\([kKmMgG]b\?\)\?\>"
syn match terraBraces "[{}\[\]]"
""" skip \" in strings.
""" we may also want to pass \\" into a function to escape quotes.
syn region terraValueString start=/"/ skip=/\\\+"/ end=/"/ contains=terraStringInterp
2017-09-27 13:57:29 -04:00
syn region terraStringInterp matchgroup=terraBrackets start=/\${/ end=/}/ contains=terraValueFunction,terraValueVarSubscript,terraStringInterp contained
syn region terraHereDocText start=/<<\z([A-Z]\+\)/ end=/^\z1/ contains=terraStringInterp
2017-02-02 15:44:42 -05:00
"" TODO match keywords here, not a-z+
2017-09-27 13:57:29 -04:00
syn region terraValueFunction matchgroup=terraBrackets start=/[a-z]\+(/ end=/)/ contains=terraValueString,terraValueFunction,terraValueVarSubscript contained
" User variables or module outputs can be lists or maps, and accessed with
" var.map["foo"]
syn region terraValueVarSubscript start=/\(\<var\|\<module\)\.[a-z0-9_-]\+\[/ end=/\]/ contains=terraValueString,terraValueFunction,terraValueVarSubscript contained
2017-02-02 15:44:42 -05:00
hi def link terraComment Comment
hi def link terraTodo Todo
hi def link terraBrackets Operator
hi def link terraProvider Structure
hi def link terraBraces Delimiter
hi def link terraProviderName String
hi def link terraResource Structure
hi def link terraResourceName String
hi def link terraResourceTypeBI Tag
hi def link terraResourceTypeStr String
hi def link terraData Structure
hi def link terraDataName String
hi def link terraDataTypeBI Tag
hi def link terraDataTypeStr String
hi def link terraSection Structure
hi def link terraStringInterp Identifier
hi def link terraValueBool Boolean
hi def link terraValueDec Number
hi def link terraValueHexaDec Number
hi def link terraValueString String
2017-09-27 13:57:29 -04:00
hi def link terraHereDocText String
2017-02-02 15:44:42 -05:00
hi def link terraProvisioner Structure
hi def link terraProvisionerName String
hi def link terraModule Structure
hi def link terraModuleName String
hi def link terraValueFunction Identifier
2017-09-27 13:57:29 -04:00
hi def link terraValueVarSubscript Identifier
2017-02-02 15:44:42 -05:00
let b:current_syntax = "terraform"
endif