1126 lines
39 KiB
VimL
1126 lines
39 KiB
VimL
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
|
|
\ alicloud_images
|
|
\ alicloud_instance_types
|
|
\ alicloud_key_pairs
|
|
\ alicloud_regions
|
|
\ alicloud_vpcs
|
|
\ alicloud_zones
|
|
\ archive_file
|
|
\ atlas_artifact
|
|
\ aws_acm_certificate
|
|
\ aws_alb
|
|
\ aws_alb_listener
|
|
\ aws_alb_target_group
|
|
\ aws_ami
|
|
\ aws_ami_ids
|
|
\ aws_autoscaling_groups
|
|
\ aws_availability_zone
|
|
\ aws_availability_zones
|
|
\ aws_billing_service_account
|
|
\ aws_caller_identity
|
|
\ aws_canonical_user_id
|
|
\ aws_cloudformation_stack
|
|
\ aws_cloudtrail_service_account
|
|
\ aws_db_instance
|
|
\ aws_db_snapshot
|
|
\ aws_dynamodb_table
|
|
\ aws_ebs_snapshot
|
|
\ aws_ebs_snapshot_ids
|
|
\ aws_ebs_volume
|
|
\ aws_ecr_repository
|
|
\ aws_ecs_cluster
|
|
\ aws_ecs_container_definition
|
|
\ aws_ecs_task_definition
|
|
\ aws_efs_file_system
|
|
\ aws_efs_mount_target
|
|
\ aws_eip
|
|
\ aws_elastic_beanstalk_solution_stack
|
|
\ aws_elasticache_cluster
|
|
\ aws_elasticache_replication_group
|
|
\ aws_elb_hosted_zone_id
|
|
\ aws_elb_service_account
|
|
\ aws_iam_account_alias
|
|
\ aws_iam_group
|
|
\ aws_iam_instance_profile
|
|
\ aws_iam_policy_document
|
|
\ aws_iam_role
|
|
\ aws_iam_server_certificate
|
|
\ aws_iam_user
|
|
\ aws_instance
|
|
\ aws_instances
|
|
\ aws_internet_gateway
|
|
\ aws_ip_ranges
|
|
\ aws_kinesis_stream
|
|
\ aws_kms_alias
|
|
\ aws_kms_ciphertext
|
|
\ aws_kms_secret
|
|
\ aws_lb
|
|
\ aws_lb_listener
|
|
\ aws_lb_target_group
|
|
\ aws_nat_gateway
|
|
\ aws_partition
|
|
\ aws_prefix_list
|
|
\ aws_rds_cluster
|
|
\ aws_redshift_service_account
|
|
\ aws_region
|
|
\ aws_route53_zone
|
|
\ aws_route_table
|
|
\ aws_s3_bucket
|
|
\ aws_s3_bucket_object
|
|
\ aws_security_group
|
|
\ aws_sns_topic
|
|
\ aws_ssm_parameter
|
|
\ aws_subnet
|
|
\ aws_subnet_ids
|
|
\ aws_vpc
|
|
\ aws_vpc_endpoint
|
|
\ aws_vpc_endpoint_service
|
|
\ aws_vpc_peering_connection
|
|
\ aws_vpn_gateway
|
|
\ azurerm_builtin_role_definition
|
|
\ azurerm_client_config
|
|
\ azurerm_image
|
|
\ azurerm_key_vault_access_policy
|
|
\ azurerm_managed_disk
|
|
\ azurerm_platform_image
|
|
\ azurerm_public_ip
|
|
\ azurerm_resource_group
|
|
\ azurerm_role_definition
|
|
\ azurerm_snapshot
|
|
\ azurerm_subnet
|
|
\ azurerm_subscription
|
|
\ circonus_account
|
|
\ circonus_collector
|
|
\ cloudstack_template
|
|
\ consul_agent_self
|
|
\ consul_catalog_nodes
|
|
\ consul_catalog_service
|
|
\ consul_catalog_services
|
|
\ consul_keys
|
|
\ digitalocean_image
|
|
\ dns_a_record_set
|
|
\ dns_aaaa_record_set
|
|
\ dns_cname_record_set
|
|
\ dns_ns_record_set
|
|
\ dns_txt_record_set
|
|
\ docker_registry_image
|
|
\ external
|
|
\ fastly_ip_ranges
|
|
\ github_team
|
|
\ github_user
|
|
\ google_active_folder
|
|
\ google_client_config
|
|
\ google_compute_address
|
|
\ google_compute_global_address
|
|
\ google_compute_instance_group
|
|
\ google_compute_lb_ip_ranges
|
|
\ google_compute_network
|
|
\ google_compute_subnetwork
|
|
\ google_compute_zones
|
|
\ google_container_engine_versions
|
|
\ google_dns_managed_zone
|
|
\ google_iam_policy
|
|
\ google_storage_object_signed_url
|
|
\ http
|
|
\ kubernetes_service
|
|
\ kubernetes_storage_class
|
|
\ logicmonitor_collectors
|
|
\ logicmonitor_device_group
|
|
\ newrelic_application
|
|
\ ns1_datasource
|
|
\ null_data_source
|
|
\ oneandone_instance_size
|
|
\ opc_compute_image_list_entry
|
|
\ opc_compute_network_interface
|
|
\ opc_compute_storage_volume_snapshot
|
|
\ opc_compute_vnic
|
|
\ openstack_dns_zone_v2
|
|
\ openstack_images_image_v2
|
|
\ openstack_networking_network_v2
|
|
\ openstack_networking_secgroup_v2
|
|
\ openstack_networking_subnet_v2
|
|
\ opsgenie_user
|
|
\ ovh_publiccloud_region
|
|
\ ovh_publiccloud_regions
|
|
\ packet_precreated_ip_block
|
|
\ pagerduty_escalation_policy
|
|
\ pagerduty_schedule
|
|
\ pagerduty_user
|
|
\ pagerduty_vendor
|
|
\ profitbricks_datacenter
|
|
\ profitbricks_image
|
|
\ profitbricks_location
|
|
\ profitbricks_resource
|
|
\ profitbricks_snapshot
|
|
\ rancher_certificate
|
|
\ rancher_environment
|
|
\ rancher_setting
|
|
\ scaleway_bootscript
|
|
\ scaleway_image
|
|
\ template_cloudinit_config
|
|
\ template_file
|
|
\ terraform_remote_state
|
|
\ triton_image
|
|
\ triton_network
|
|
\ vsphere_datacenter
|
|
\ vsphere_distributed_virtual_switch
|
|
\ vsphere_host
|
|
\ vsphere_network
|
|
\ vsphere_tag
|
|
\ vsphere_tag_category
|
|
\ vsphere_vmfs_disks
|
|
""" end data sources
|
|
|
|
""" resource
|
|
syn keyword terraResourceTypeBI
|
|
\ alicloud_db_instance
|
|
\ alicloud_disk
|
|
\ alicloud_disk_attachment
|
|
\ alicloud_eip
|
|
\ alicloud_eip_association
|
|
\ alicloud_ess_scaling_configuration
|
|
\ alicloud_ess_scaling_group
|
|
\ alicloud_ess_scaling_rule
|
|
\ alicloud_ess_schedule
|
|
\ alicloud_forward_entry
|
|
\ alicloud_instance
|
|
\ alicloud_key_pair
|
|
\ alicloud_key_pair_attachment
|
|
\ alicloud_nat_gateway
|
|
\ alicloud_oss_bucket
|
|
\ alicloud_oss_bucket_object
|
|
\ alicloud_route_entry
|
|
\ alicloud_router_interface
|
|
\ alicloud_security_group
|
|
\ alicloud_security_group_rule
|
|
\ alicloud_slb
|
|
\ alicloud_slb_attachment
|
|
\ alicloud_snat_entry
|
|
\ alicloud_subnet
|
|
\ alicloud_vpc
|
|
\ alicloud_vswitch
|
|
\ 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
|
|
\ aws_api_gateway_gateway_response
|
|
\ aws_api_gateway_integration
|
|
\ aws_api_gateway_integration_response
|
|
\ aws_api_gateway_method
|
|
\ aws_api_gateway_method_response
|
|
\ aws_api_gateway_method_settings
|
|
\ aws_api_gateway_model
|
|
\ aws_api_gateway_request_validator
|
|
\ aws_api_gateway_resource
|
|
\ aws_api_gateway_rest_api
|
|
\ aws_api_gateway_stage
|
|
\ aws_api_gateway_usage_plan
|
|
\ aws_api_gateway_usage_plan_key
|
|
\ aws_app_cookie_stickiness_policy
|
|
\ aws_appautoscaling_policy
|
|
\ aws_appautoscaling_target
|
|
\ aws_athena_database
|
|
\ aws_athena_named_query
|
|
\ aws_autoscaling_attachment
|
|
\ aws_autoscaling_group
|
|
\ aws_autoscaling_lifecycle_hook
|
|
\ aws_autoscaling_notification
|
|
\ aws_autoscaling_policy
|
|
\ aws_autoscaling_schedule
|
|
\ aws_batch_compute_environment
|
|
\ aws_batch_job_definition
|
|
\ aws_batch_job_queue
|
|
\ aws_cloudformation_stack
|
|
\ aws_cloudfront_distribution
|
|
\ aws_cloudfront_origin_access_identity
|
|
\ aws_cloudtrail
|
|
\ aws_cloudwatch_dashboard
|
|
\ aws_cloudwatch_event_rule
|
|
\ aws_cloudwatch_event_target
|
|
\ aws_cloudwatch_log_destination
|
|
\ aws_cloudwatch_log_destination_policy
|
|
\ aws_cloudwatch_log_group
|
|
\ aws_cloudwatch_log_metric_filter
|
|
\ aws_cloudwatch_log_stream
|
|
\ aws_cloudwatch_log_subscription_filter
|
|
\ aws_cloudwatch_metric_alarm
|
|
\ aws_codebuild_project
|
|
\ aws_codecommit_repository
|
|
\ aws_codecommit_trigger
|
|
\ aws_codedeploy_app
|
|
\ aws_codedeploy_deployment_config
|
|
\ aws_codedeploy_deployment_group
|
|
\ aws_codepipeline
|
|
\ aws_cognito_identity_pool
|
|
\ aws_cognito_identity_pool_roles_attachment
|
|
\ aws_cognito_user_pool
|
|
\ aws_config_config_rule
|
|
\ aws_config_configuration_recorder
|
|
\ aws_config_configuration_recorder_status
|
|
\ aws_config_delivery_channel
|
|
\ aws_customer_gateway
|
|
\ aws_db_event_subscription
|
|
\ aws_db_instance
|
|
\ aws_db_option_group
|
|
\ aws_db_parameter_group
|
|
\ aws_db_security_group
|
|
\ aws_db_snapshot
|
|
\ aws_db_subnet_group
|
|
\ aws_default_network_acl
|
|
\ aws_default_route_table
|
|
\ aws_default_security_group
|
|
\ aws_default_subnet
|
|
\ aws_default_vpc
|
|
\ aws_default_vpc_dhcp_options
|
|
\ aws_devicefarm_project
|
|
\ aws_directory_service_directory
|
|
\ aws_dms_certificate
|
|
\ aws_dms_endpoint
|
|
\ aws_dms_replication_instance
|
|
\ aws_dms_replication_subnet_group
|
|
\ aws_dms_replication_task
|
|
\ aws_dx_connection
|
|
\ aws_dx_lag
|
|
\ aws_dynamodb_table
|
|
\ aws_ebs_snapshot
|
|
\ aws_ebs_volume
|
|
\ aws_ecr_lifecycle_policy
|
|
\ 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
|
|
\ aws_egress_only_internet_gateway
|
|
\ aws_eip
|
|
\ aws_eip_association
|
|
\ aws_elastic_beanstalk_application
|
|
\ aws_elastic_beanstalk_application_version
|
|
\ 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
|
|
\ aws_elasticsearch_domain_policy
|
|
\ aws_elastictranscoder_pipeline
|
|
\ aws_elastictranscoder_preset
|
|
\ aws_elb
|
|
\ aws_elb_attachment
|
|
\ aws_emr_cluster
|
|
\ aws_emr_instance_group
|
|
\ aws_emr_security_configuration
|
|
\ aws_flow_log
|
|
\ aws_glacier_vault
|
|
\ aws_iam_access_key
|
|
\ aws_iam_account_alias
|
|
\ 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
|
|
\ aws_iam_openid_connect_provider
|
|
\ 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
|
|
\ aws_inspector_assessment_target
|
|
\ aws_inspector_assessment_template
|
|
\ aws_inspector_resource_group
|
|
\ aws_instance
|
|
\ aws_internet_gateway
|
|
\ aws_iot_certificate
|
|
\ aws_iot_policy
|
|
\ 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
|
|
\ aws_lb
|
|
\ aws_lb_cookie_stickiness_policy
|
|
\ aws_lb_listener
|
|
\ aws_lb_listener_rule
|
|
\ aws_lb_ssl_negotiation_policy
|
|
\ aws_lb_target_group
|
|
\ aws_lb_target_group_attachment
|
|
\ aws_lightsail_domain
|
|
\ aws_lightsail_instance
|
|
\ aws_lightsail_key_pair
|
|
\ aws_lightsail_static_ip
|
|
\ aws_lightsail_static_ip_attachment
|
|
\ 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
|
|
\ aws_network_interface_attachment
|
|
\ aws_network_interface_sg_attachment
|
|
\ 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
|
|
\ aws_servicecatalog_portfolio
|
|
\ aws_ses_active_receipt_rule_set
|
|
\ aws_ses_configuration_set
|
|
\ aws_ses_domain_dkim
|
|
\ aws_ses_domain_identity
|
|
\ aws_ses_event_destination
|
|
\ aws_ses_receipt_filter
|
|
\ aws_ses_receipt_rule
|
|
\ aws_ses_receipt_rule_set
|
|
\ aws_ses_template
|
|
\ aws_sfn_activity
|
|
\ aws_sfn_state_machine
|
|
\ 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
|
|
\ 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
|
|
\ aws_ssm_resource_data_sync
|
|
\ 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
|
|
\ aws_vpc_peering_connection_accepter
|
|
\ aws_vpn_connection
|
|
\ aws_vpn_connection_route
|
|
\ aws_vpn_gateway
|
|
\ aws_vpn_gateway_attachment
|
|
\ aws_vpn_gateway_route_propagation
|
|
\ aws_waf_byte_match_set
|
|
\ aws_waf_ipset
|
|
\ aws_waf_rate_based_rule
|
|
\ aws_waf_rule
|
|
\ aws_waf_size_constraint_set
|
|
\ aws_waf_sql_injection_match_set
|
|
\ aws_waf_web_acl
|
|
\ aws_waf_xss_match_set
|
|
\ aws_wafregional_byte_match_set
|
|
\ aws_wafregional_ipset
|
|
\ 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
|
|
\ 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
|
|
\ azurerm_availability_set
|
|
\ azurerm_cdn_endpoint
|
|
\ azurerm_cdn_profile
|
|
\ azurerm_container_group
|
|
\ azurerm_container_registry
|
|
\ azurerm_container_service
|
|
\ azurerm_cosmosdb_account
|
|
\ azurerm_dns_a_record
|
|
\ azurerm_dns_aaaa_record
|
|
\ azurerm_dns_cname_record
|
|
\ azurerm_dns_mx_record
|
|
\ azurerm_dns_ns_record
|
|
\ azurerm_dns_ptr_record
|
|
\ azurerm_dns_srv_record
|
|
\ azurerm_dns_txt_record
|
|
\ azurerm_dns_zone
|
|
\ azurerm_eventgrid_topic
|
|
\ azurerm_eventhub
|
|
\ azurerm_eventhub_authorization_rule
|
|
\ azurerm_eventhub_consumer_group
|
|
\ azurerm_eventhub_namespace
|
|
\ azurerm_express_route_circuit
|
|
\ azurerm_image
|
|
\ azurerm_key_vault
|
|
\ azurerm_key_vault_certificate
|
|
\ azurerm_key_vault_key
|
|
\ azurerm_key_vault_secret
|
|
\ 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
|
|
\ azurerm_log_analytics_workspace
|
|
\ azurerm_managed_disk
|
|
\ azurerm_mysql_configuration
|
|
\ azurerm_mysql_database
|
|
\ azurerm_mysql_firewall_rule
|
|
\ azurerm_mysql_server
|
|
\ azurerm_network_interface
|
|
\ azurerm_network_security_group
|
|
\ azurerm_network_security_rule
|
|
\ azurerm_postgresql_configuration
|
|
\ azurerm_postgresql_database
|
|
\ azurerm_postgresql_firewall_rule
|
|
\ azurerm_postgresql_server
|
|
\ azurerm_public_ip
|
|
\ azurerm_redis_cache
|
|
\ azurerm_redis_firewall_rule
|
|
\ azurerm_resource_group
|
|
\ azurerm_role_assignment
|
|
\ azurerm_role_definition
|
|
\ azurerm_route
|
|
\ azurerm_route_table
|
|
\ azurerm_search_service
|
|
\ azurerm_servicebus_namespace
|
|
\ azurerm_servicebus_queue
|
|
\ azurerm_servicebus_subscription
|
|
\ azurerm_servicebus_topic
|
|
\ azurerm_snapshot
|
|
\ azurerm_sql_database
|
|
\ azurerm_sql_elasticpool
|
|
\ 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
|
|
\ circonus_check
|
|
\ circonus_contact_group
|
|
\ circonus_graph
|
|
\ circonus_metric
|
|
\ circonus_metric_cluster
|
|
\ circonus_rule_set
|
|
\ clc_group
|
|
\ clc_load_balancer
|
|
\ clc_load_balancer_pool
|
|
\ clc_public_ip
|
|
\ clc_server
|
|
\ cloudflare_record
|
|
\ cloudscale_floating_ip
|
|
\ cloudscale_server
|
|
\ 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
|
|
\ cobbler_repo
|
|
\ cobbler_snippet
|
|
\ cobbler_system
|
|
\ consul_agent_service
|
|
\ consul_catalog_entry
|
|
\ consul_key_prefix
|
|
\ consul_keys
|
|
\ consul_node
|
|
\ consul_prepared_query
|
|
\ consul_service
|
|
\ datadog_downtime
|
|
\ datadog_metric_metadata
|
|
\ datadog_monitor
|
|
\ datadog_timeboard
|
|
\ datadog_user
|
|
\ digitalocean_certificate
|
|
\ digitalocean_domain
|
|
\ digitalocean_droplet
|
|
\ digitalocean_firewall
|
|
\ digitalocean_floating_ip
|
|
\ digitalocean_loadbalancer
|
|
\ digitalocean_record
|
|
\ digitalocean_ssh_key
|
|
\ digitalocean_tag
|
|
\ digitalocean_volume
|
|
\ dme_record
|
|
\ dns_a_record_set
|
|
\ dns_aaaa_record_set
|
|
\ dns_cname_record
|
|
\ dns_ns_record_set
|
|
\ dns_ptr_record
|
|
\ dnsimple_record
|
|
\ docker_container
|
|
\ docker_image
|
|
\ docker_network
|
|
\ docker_volume
|
|
\ dyn_record
|
|
\ fastly_service_v1
|
|
\ github_branch_protection
|
|
\ github_issue_label
|
|
\ github_membership
|
|
\ github_organization_webhook
|
|
\ github_repository
|
|
\ github_repository_collaborator
|
|
\ github_repository_deploy_key
|
|
\ github_repository_webhook
|
|
\ github_team
|
|
\ github_team_membership
|
|
\ github_team_repository
|
|
\ gitlab_deploy_key
|
|
\ gitlab_group
|
|
\ gitlab_label
|
|
\ gitlab_project
|
|
\ gitlab_project_hook
|
|
\ gitlab_user
|
|
\ google_bigquery_dataset
|
|
\ google_bigquery_table
|
|
\ google_bigtable_instance
|
|
\ google_bigtable_table
|
|
\ google_compute_address
|
|
\ google_compute_autoscaler
|
|
\ google_compute_backend_bucket
|
|
\ 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
|
|
\ google_compute_network_peering
|
|
\ google_compute_project_metadata
|
|
\ google_compute_project_metadata_item
|
|
\ google_compute_region_autoscaler
|
|
\ google_compute_region_backend_service
|
|
\ google_compute_region_instance_group_manager
|
|
\ google_compute_route
|
|
\ google_compute_router
|
|
\ google_compute_router_interface
|
|
\ google_compute_router_peer
|
|
\ google_compute_shared_vpc_host_project
|
|
\ google_compute_shared_vpc_service_project
|
|
\ google_compute_snapshot
|
|
\ google_compute_ssl_certificate
|
|
\ google_compute_subnetwork
|
|
\ google_compute_target_http_proxy
|
|
\ google_compute_target_https_proxy
|
|
\ google_compute_target_pool
|
|
\ google_compute_target_ssl_proxy
|
|
\ google_compute_target_tcp_proxy
|
|
\ google_compute_url_map
|
|
\ google_compute_vpn_gateway
|
|
\ google_compute_vpn_tunnel
|
|
\ google_container_cluster
|
|
\ google_container_node_pool
|
|
\ google_dataproc_cluster
|
|
\ google_dns_managed_zone
|
|
\ google_dns_record_set
|
|
\ 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
|
|
\ google_project
|
|
\ google_project_iam_binding
|
|
\ google_project_iam_custom_role
|
|
\ google_project_iam_member
|
|
\ google_project_iam_policy
|
|
\ google_project_service
|
|
\ google_project_services
|
|
\ google_pubsub_subscription
|
|
\ google_pubsub_topic
|
|
\ google_runtimeconfig_config
|
|
\ google_runtimeconfig_variable
|
|
\ google_service_account
|
|
\ google_service_account_key
|
|
\ google_sourcerepo_repository
|
|
\ google_spanner_database
|
|
\ google_spanner_instance
|
|
\ 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
|
|
\ heroku_addon_attachment
|
|
\ heroku_app
|
|
\ heroku_app_feature
|
|
\ heroku_cert
|
|
\ heroku_domain
|
|
\ heroku_drain
|
|
\ heroku_pipeline
|
|
\ heroku_pipeline_coupling
|
|
\ heroku_space
|
|
\ icinga2_checkcommand
|
|
\ icinga2_host
|
|
\ icinga2_hostgroup
|
|
\ icinga2_service
|
|
\ ignition_config
|
|
\ ignition_directory
|
|
\ ignition_disk
|
|
\ ignition_file
|
|
\ ignition_filesystem
|
|
\ ignition_group
|
|
\ ignition_link
|
|
\ ignition_networkd_unit
|
|
\ ignition_raid
|
|
\ ignition_systemd_unit
|
|
\ ignition_user
|
|
\ influxdb_continuous_query
|
|
\ influxdb_database
|
|
\ influxdb_user
|
|
\ kubernetes_config_map
|
|
\ kubernetes_horizontal_pod_autoscaler
|
|
\ kubernetes_limit_range
|
|
\ kubernetes_namespace
|
|
\ kubernetes_persistent_volume
|
|
\ kubernetes_persistent_volume_claim
|
|
\ kubernetes_pod
|
|
\ kubernetes_replication_controller
|
|
\ kubernetes_resource_quota
|
|
\ kubernetes_secret
|
|
\ kubernetes_service
|
|
\ kubernetes_service_account
|
|
\ kubernetes_storage_class
|
|
\ librato_alert
|
|
\ librato_metric
|
|
\ librato_service
|
|
\ librato_space
|
|
\ librato_space_chart
|
|
\ local_file
|
|
\ logentries_log
|
|
\ logentries_logset
|
|
\ logicmonitor_collector_group
|
|
\ logicmonitor_device
|
|
\ logicmonitor_device_group
|
|
\ mailgun_domain
|
|
\ mysql_database
|
|
\ mysql_grant
|
|
\ mysql_user
|
|
\ newrelic_alert_channel
|
|
\ newrelic_alert_condition
|
|
\ newrelic_alert_policy
|
|
\ newrelic_alert_policy_channel
|
|
\ newrelic_nrql_alert_condition
|
|
\ nomad_job
|
|
\ null_resource
|
|
\ oneandone_firewall_policy
|
|
\ oneandone_loadbalancer
|
|
\ oneandone_monitoring_policy
|
|
\ oneandone_private_network
|
|
\ oneandone_public_ip
|
|
\ oneandone_server
|
|
\ oneandone_shared_storage
|
|
\ oneandone_vpn
|
|
\ 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
|
|
\ openstack_blockstorage_volume_attach_v2
|
|
\ openstack_blockstorage_volume_v1
|
|
\ openstack_blockstorage_volume_v2
|
|
\ openstack_compute_flavor_v2
|
|
\ openstack_compute_floatingip_associate_v2
|
|
\ 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
|
|
\ openstack_dns_recordset_v2
|
|
\ openstack_dns_zone_v2
|
|
\ openstack_fw_firewall_v1
|
|
\ openstack_fw_policy_v1
|
|
\ openstack_fw_rule_v1
|
|
\ openstack_identity_project_v3
|
|
\ openstack_identity_user_v3
|
|
\ openstack_images_image_v2
|
|
\ 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
|
|
\ openstack_objectstorage_object_v1
|
|
\ opsgenie_team
|
|
\ opsgenie_user
|
|
\ ovh_publiccloud_private_network
|
|
\ ovh_publiccloud_private_network_subnet
|
|
\ ovh_publiccloud_user
|
|
\ ovh_vrack_publiccloud_attachment
|
|
\ packet_device
|
|
\ packet_ip_attachment
|
|
\ packet_project
|
|
\ packet_reserved_ip_block
|
|
\ packet_ssh_key
|
|
\ packet_volume
|
|
\ packet_volume_attachment
|
|
\ pagerduty_addon
|
|
\ pagerduty_escalation_policy
|
|
\ pagerduty_maintenance_window
|
|
\ pagerduty_schedule
|
|
\ pagerduty_service
|
|
\ pagerduty_service_integration
|
|
\ pagerduty_team
|
|
\ pagerduty_team_membership
|
|
\ pagerduty_user
|
|
\ postgresql_database
|
|
\ postgresql_extension
|
|
\ postgresql_role
|
|
\ postgresql_schema
|
|
\ powerdns_record
|
|
\ profitbricks_datacenter
|
|
\ profitbricks_firewall
|
|
\ profitbricks_group
|
|
\ profitbricks_ipblock
|
|
\ profitbricks_ipfailover
|
|
\ profitbricks_lan
|
|
\ profitbricks_loadbalancer
|
|
\ profitbricks_nic
|
|
\ profitbricks_server
|
|
\ profitbricks_share
|
|
\ profitbricks_snapshot
|
|
\ profitbricks_user
|
|
\ profitbricks_volume
|
|
\ rabbitmq_binding
|
|
\ rabbitmq_exchange
|
|
\ rabbitmq_permissions
|
|
\ rabbitmq_policy
|
|
\ rabbitmq_queue
|
|
\ rabbitmq_user
|
|
\ rabbitmq_vhost
|
|
\ rancher_certificate
|
|
\ rancher_environment
|
|
\ rancher_host
|
|
\ rancher_registration_token
|
|
\ rancher_registry
|
|
\ rancher_registry_credential
|
|
\ rancher_secret
|
|
\ rancher_stack
|
|
\ random_id
|
|
\ random_integer
|
|
\ random_pet
|
|
\ random_shuffle
|
|
\ random_string
|
|
\ 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
|
|
\ spotinst_aws_group
|
|
\ spotinst_healthcheck
|
|
\ spotinst_subscription
|
|
\ statuscake_test
|
|
\ template_dir
|
|
\ tls_cert_request
|
|
\ tls_locally_signed_cert
|
|
\ tls_private_key
|
|
\ tls_self_signed_cert
|
|
\ triton_fabric
|
|
\ triton_firewall_rule
|
|
\ triton_key
|
|
\ triton_machine
|
|
\ triton_snapshot
|
|
\ triton_vlan
|
|
\ ultradns_dirpool
|
|
\ ultradns_probe_http
|
|
\ ultradns_probe_ping
|
|
\ ultradns_rdpool
|
|
\ ultradns_record
|
|
\ ultradns_tcpool
|
|
\ vcd_dnat
|
|
\ vcd_edgegateway_vpn
|
|
\ vcd_firewall_rules
|
|
\ vcd_network
|
|
\ vcd_snat
|
|
\ vcd_vapp
|
|
\ vcd_vapp_vm
|
|
\ vsphere_datacenter
|
|
\ vsphere_distributed_port_group
|
|
\ vsphere_distributed_virtual_switch
|
|
\ vsphere_file
|
|
\ vsphere_folder
|
|
\ vsphere_host_port_group
|
|
\ vsphere_host_virtual_switch
|
|
\ vsphere_license
|
|
\ vsphere_nas_datastore
|
|
\ vsphere_tag
|
|
\ vsphere_tag_category
|
|
\ vsphere_virtual_disk
|
|
\ vsphere_virtual_machine
|
|
\ vsphere_virtual_machine_snapshot
|
|
\ vsphere_vmfs_datastore
|
|
""" 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
|
|
syn region terraStringInterp matchgroup=terraBrackets start=/\${/ end=/}/ contains=terraValueFunction,terraValueVarSubscript,terraStringInterp contained
|
|
syn region terraHereDocText start=/<<\z([A-Z]\+\)/ end=/^\z1/ contains=terraStringInterp
|
|
"" TODO match keywords here, not a-z+
|
|
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
|
|
|
|
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
|
|
hi def link terraHereDocText String
|
|
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
|
|
hi def link terraValueVarSubscript Identifier
|
|
|
|
let b:current_syntax = "terraform"
|
|
|
|
endif
|