├── .gitignore ├── README.md ├── src ├── nterraform.sln ├── nterraform │ ├── Core │ │ ├── TerraformPropertyAttribute.cs │ │ ├── TerraformStructureAttribute.cs │ │ ├── configuration.cs │ │ ├── data.cs │ │ ├── provider.cs │ │ ├── resource.cs │ │ └── structure.cs │ ├── Hosts │ │ ├── DotnetScript.cs │ │ ├── Fsi.cs │ │ └── IHost.cs │ ├── NTerraform.csproj │ ├── build.ps1 │ ├── datas │ │ ├── aws_acm_certificate.cs │ │ ├── aws_acmpca_certificate_authority.cs │ │ ├── aws_alb.cs │ │ ├── aws_alb_listener.cs │ │ ├── aws_alb_target_group.cs │ │ ├── aws_ami.cs │ │ ├── aws_ami_ids.cs │ │ ├── aws_api_gateway_rest_api.cs │ │ ├── aws_arn.cs │ │ ├── aws_autoscaling_groups.cs │ │ ├── aws_availability_zone.cs │ │ ├── aws_availability_zones.cs │ │ ├── aws_batch_compute_environment.cs │ │ ├── aws_batch_job_queue.cs │ │ ├── aws_billing_service_account.cs │ │ ├── aws_caller_identity.cs │ │ ├── aws_canonical_user_id.cs │ │ ├── aws_cloudformation_export.cs │ │ ├── aws_cloudformation_stack.cs │ │ ├── aws_cloudtrail_service_account.cs │ │ ├── aws_cloudwatch_log_group.cs │ │ ├── aws_codecommit_repository.cs │ │ ├── aws_cognito_user_pools.cs │ │ ├── aws_db_cluster_snapshot.cs │ │ ├── aws_db_instance.cs │ │ ├── aws_db_snapshot.cs │ │ ├── aws_dx_gateway.cs │ │ ├── aws_dynamodb_table.cs │ │ ├── aws_ebs_snapshot.cs │ │ ├── aws_ebs_snapshot_ids.cs │ │ ├── aws_ebs_volume.cs │ │ ├── aws_ecr_repository.cs │ │ ├── aws_ecs_cluster.cs │ │ ├── aws_ecs_container_definition.cs │ │ ├── aws_ecs_service.cs │ │ ├── aws_ecs_task_definition.cs │ │ ├── aws_efs_file_system.cs │ │ ├── aws_efs_mount_target.cs │ │ ├── aws_eip.cs │ │ ├── aws_eks_cluster.cs │ │ ├── aws_elastic_beanstalk_hosted_zone.cs │ │ ├── aws_elastic_beanstalk_solution_stack.cs │ │ ├── aws_elasticache_cluster.cs │ │ ├── aws_elasticache_replication_group.cs │ │ ├── aws_elb.cs │ │ ├── aws_elb_hosted_zone_id.cs │ │ ├── aws_elb_service_account.cs │ │ ├── aws_glue_script.cs │ │ ├── aws_iam_account_alias.cs │ │ ├── aws_iam_group.cs │ │ ├── aws_iam_instance_profile.cs │ │ ├── aws_iam_policy.cs │ │ ├── aws_iam_policy_document.cs │ │ ├── aws_iam_role.cs │ │ ├── aws_iam_server_certificate.cs │ │ ├── aws_iam_user.cs │ │ ├── aws_inspector_rules_packages.cs │ │ ├── aws_instance.cs │ │ ├── aws_instances.cs │ │ ├── aws_internet_gateway.cs │ │ ├── aws_iot_endpoint.cs │ │ ├── aws_ip_ranges.cs │ │ ├── aws_kinesis_stream.cs │ │ ├── aws_kms_alias.cs │ │ ├── aws_kms_ciphertext.cs │ │ ├── aws_kms_key.cs │ │ ├── aws_kms_secret.cs │ │ ├── aws_kms_secrets.cs │ │ ├── aws_lambda_function.cs │ │ ├── aws_lambda_invocation.cs │ │ ├── aws_launch_configuration.cs │ │ ├── aws_lb.cs │ │ ├── aws_lb_listener.cs │ │ ├── aws_lb_target_group.cs │ │ ├── aws_mq_broker.cs │ │ ├── aws_nat_gateway.cs │ │ ├── aws_network_acls.cs │ │ ├── aws_network_interface.cs │ │ ├── aws_network_interfaces.cs │ │ ├── aws_partition.cs │ │ ├── aws_prefix_list.cs │ │ ├── aws_pricing_product.cs │ │ ├── aws_rds_cluster.cs │ │ ├── aws_redshift_cluster.cs │ │ ├── aws_redshift_service_account.cs │ │ ├── aws_region.cs │ │ ├── aws_route.cs │ │ ├── aws_route53_zone.cs │ │ ├── aws_route_table.cs │ │ ├── aws_route_tables.cs │ │ ├── aws_s3_bucket.cs │ │ ├── aws_s3_bucket_object.cs │ │ ├── aws_secretsmanager_secret.cs │ │ ├── aws_secretsmanager_secret_version.cs │ │ ├── aws_security_group.cs │ │ ├── aws_security_groups.cs │ │ ├── aws_sns_topic.cs │ │ ├── aws_sqs_queue.cs │ │ ├── aws_ssm_parameter.cs │ │ ├── aws_storagegateway_local_disk.cs │ │ ├── aws_subnet.cs │ │ ├── aws_subnet_ids.cs │ │ ├── aws_vpc.cs │ │ ├── aws_vpc_dhcp_options.cs │ │ ├── aws_vpc_endpoint.cs │ │ ├── aws_vpc_endpoint_service.cs │ │ ├── aws_vpc_peering_connection.cs │ │ ├── aws_vpcs.cs │ │ ├── aws_vpn_gateway.cs │ │ ├── azurerm_app_service.cs │ │ ├── azurerm_app_service_plan.cs │ │ ├── azurerm_application_security_group.cs │ │ ├── azurerm_azuread_application.cs │ │ ├── azurerm_azuread_service_principal.cs │ │ ├── azurerm_builtin_role_definition.cs │ │ ├── azurerm_cdn_profile.cs │ │ ├── azurerm_client_config.cs │ │ ├── azurerm_container_registry.cs │ │ ├── azurerm_cosmosdb_account.cs │ │ ├── azurerm_data_lake_store.cs │ │ ├── azurerm_dns_zone.cs │ │ ├── azurerm_eventhub_namespace.cs │ │ ├── azurerm_image.cs │ │ ├── azurerm_key_vault.cs │ │ ├── azurerm_key_vault_access_policy.cs │ │ ├── azurerm_key_vault_secret.cs │ │ ├── azurerm_kubernetes_cluster.cs │ │ ├── azurerm_logic_app_workflow.cs │ │ ├── azurerm_managed_disk.cs │ │ ├── azurerm_network_interface.cs │ │ ├── azurerm_network_security_group.cs │ │ ├── azurerm_notification_hub.cs │ │ ├── azurerm_notification_hub_namespace.cs │ │ ├── azurerm_platform_image.cs │ │ ├── azurerm_public_ip.cs │ │ ├── azurerm_public_ips.cs │ │ ├── azurerm_recovery_services_vault.cs │ │ ├── azurerm_resource_group.cs │ │ ├── azurerm_role_definition.cs │ │ ├── azurerm_route_table.cs │ │ ├── azurerm_scheduler_job_collection.cs │ │ ├── azurerm_snapshot.cs │ │ ├── azurerm_storage_account.cs │ │ ├── azurerm_storage_account_sas.cs │ │ ├── azurerm_subnet.cs │ │ ├── azurerm_subscription.cs │ │ ├── azurerm_subscriptions.cs │ │ ├── azurerm_traffic_manager_geographical_location.cs │ │ ├── azurerm_virtual_network.cs │ │ ├── azurerm_virtual_network_gateway.cs │ │ ├── consul_agent_config.cs │ │ ├── consul_agent_self.cs │ │ ├── consul_catalog_nodes.cs │ │ ├── consul_catalog_service.cs │ │ ├── consul_catalog_services.cs │ │ ├── consul_key_prefix.cs │ │ ├── consul_keys.cs │ │ ├── consul_nodes.cs │ │ ├── consul_service.cs │ │ └── consul_services.cs │ ├── plugins.tf │ ├── plugins.txt │ ├── providers │ │ ├── Azurerm.cs │ │ ├── Consul.cs │ │ └── aws.cs │ └── resources │ │ ├── aws_acm_certificate.cs │ │ ├── aws_acm_certificate_validation.cs │ │ ├── aws_acmpca_certificate_authority.cs │ │ ├── aws_alb.cs │ │ ├── aws_alb_listener.cs │ │ ├── aws_alb_listener_certificate.cs │ │ ├── aws_alb_listener_rule.cs │ │ ├── aws_alb_target_group.cs │ │ ├── aws_alb_target_group_attachment.cs │ │ ├── aws_ami.cs │ │ ├── aws_ami_copy.cs │ │ ├── aws_ami_from_instance.cs │ │ ├── aws_ami_launch_permission.cs │ │ ├── aws_api_gateway_account.cs │ │ ├── aws_api_gateway_api_key.cs │ │ ├── aws_api_gateway_authorizer.cs │ │ ├── aws_api_gateway_base_path_mapping.cs │ │ ├── aws_api_gateway_client_certificate.cs │ │ ├── aws_api_gateway_deployment.cs │ │ ├── aws_api_gateway_documentation_part.cs │ │ ├── aws_api_gateway_documentation_version.cs │ │ ├── aws_api_gateway_domain_name.cs │ │ ├── aws_api_gateway_gateway_response.cs │ │ ├── aws_api_gateway_integration.cs │ │ ├── aws_api_gateway_integration_response.cs │ │ ├── aws_api_gateway_method.cs │ │ ├── aws_api_gateway_method_response.cs │ │ ├── aws_api_gateway_method_settings.cs │ │ ├── aws_api_gateway_model.cs │ │ ├── aws_api_gateway_request_validator.cs │ │ ├── aws_api_gateway_resource.cs │ │ ├── aws_api_gateway_rest_api.cs │ │ ├── aws_api_gateway_stage.cs │ │ ├── aws_api_gateway_usage_plan.cs │ │ ├── aws_api_gateway_usage_plan_key.cs │ │ ├── aws_api_gateway_vpc_link.cs │ │ ├── aws_app_cookie_stickiness_policy.cs │ │ ├── aws_appautoscaling_policy.cs │ │ ├── aws_appautoscaling_scheduled_action.cs │ │ ├── aws_appautoscaling_target.cs │ │ ├── aws_appsync_api_key.cs │ │ ├── aws_appsync_datasource.cs │ │ ├── aws_appsync_graphql_api.cs │ │ ├── aws_athena_database.cs │ │ ├── aws_athena_named_query.cs │ │ ├── aws_autoscaling_attachment.cs │ │ ├── aws_autoscaling_group.cs │ │ ├── aws_autoscaling_lifecycle_hook.cs │ │ ├── aws_autoscaling_notification.cs │ │ ├── aws_autoscaling_policy.cs │ │ ├── aws_autoscaling_schedule.cs │ │ ├── aws_batch_compute_environment.cs │ │ ├── aws_batch_job_definition.cs │ │ ├── aws_batch_job_queue.cs │ │ ├── aws_budgets_budget.cs │ │ ├── aws_cloud9_environment_ec2.cs │ │ ├── aws_cloudformation_stack.cs │ │ ├── aws_cloudfront_distribution.cs │ │ ├── aws_cloudfront_origin_access_identity.cs │ │ ├── aws_cloudtrail.cs │ │ ├── aws_cloudwatch_dashboard.cs │ │ ├── aws_cloudwatch_event_permission.cs │ │ ├── aws_cloudwatch_event_rule.cs │ │ ├── aws_cloudwatch_event_target.cs │ │ ├── aws_cloudwatch_log_destination.cs │ │ ├── aws_cloudwatch_log_destination_policy.cs │ │ ├── aws_cloudwatch_log_group.cs │ │ ├── aws_cloudwatch_log_metric_filter.cs │ │ ├── aws_cloudwatch_log_resource_policy.cs │ │ ├── aws_cloudwatch_log_stream.cs │ │ ├── aws_cloudwatch_log_subscription_filter.cs │ │ ├── aws_cloudwatch_metric_alarm.cs │ │ ├── aws_codebuild_project.cs │ │ ├── aws_codebuild_webhook.cs │ │ ├── aws_codecommit_repository.cs │ │ ├── aws_codecommit_trigger.cs │ │ ├── aws_codedeploy_app.cs │ │ ├── aws_codedeploy_deployment_config.cs │ │ ├── aws_codedeploy_deployment_group.cs │ │ ├── aws_codepipeline.cs │ │ ├── aws_cognito_identity_pool.cs │ │ ├── aws_cognito_identity_pool_roles_attachment.cs │ │ ├── aws_cognito_identity_provider.cs │ │ ├── aws_cognito_resource_server.cs │ │ ├── aws_cognito_user_group.cs │ │ ├── aws_cognito_user_pool.cs │ │ ├── aws_cognito_user_pool_client.cs │ │ ├── aws_cognito_user_pool_domain.cs │ │ ├── aws_config_aggregate_authorization.cs │ │ ├── aws_config_config_rule.cs │ │ ├── aws_config_configuration_aggregator.cs │ │ ├── aws_config_configuration_recorder.cs │ │ ├── aws_config_configuration_recorder_status.cs │ │ ├── aws_config_delivery_channel.cs │ │ ├── aws_customer_gateway.cs │ │ ├── aws_dax_cluster.cs │ │ ├── aws_dax_parameter_group.cs │ │ ├── aws_dax_subnet_group.cs │ │ ├── aws_db_cluster_snapshot.cs │ │ ├── aws_db_event_subscription.cs │ │ ├── aws_db_instance.cs │ │ ├── aws_db_option_group.cs │ │ ├── aws_db_parameter_group.cs │ │ ├── aws_db_security_group.cs │ │ ├── aws_db_snapshot.cs │ │ ├── aws_db_subnet_group.cs │ │ ├── aws_default_network_acl.cs │ │ ├── aws_default_route_table.cs │ │ ├── aws_default_security_group.cs │ │ ├── aws_default_subnet.cs │ │ ├── aws_default_vpc.cs │ │ ├── aws_default_vpc_dhcp_options.cs │ │ ├── aws_devicefarm_project.cs │ │ ├── aws_directory_service_conditional_forwarder.cs │ │ ├── aws_directory_service_directory.cs │ │ ├── aws_dms_certificate.cs │ │ ├── aws_dms_endpoint.cs │ │ ├── aws_dms_replication_instance.cs │ │ ├── aws_dms_replication_subnet_group.cs │ │ ├── aws_dms_replication_task.cs │ │ ├── aws_dx_connection.cs │ │ ├── aws_dx_connection_association.cs │ │ ├── aws_dx_gateway.cs │ │ ├── aws_dx_gateway_association.cs │ │ ├── aws_dx_hosted_private_virtual_interface.cs │ │ ├── aws_dx_hosted_private_virtual_interface_accepter.cs │ │ ├── aws_dx_hosted_public_virtual_interface.cs │ │ ├── aws_dx_hosted_public_virtual_interface_accepter.cs │ │ ├── aws_dx_lag.cs │ │ ├── aws_dx_private_virtual_interface.cs │ │ ├── aws_dx_public_virtual_interface.cs │ │ ├── aws_dynamodb_global_table.cs │ │ ├── aws_dynamodb_table.cs │ │ ├── aws_dynamodb_table_item.cs │ │ ├── aws_ebs_snapshot.cs │ │ ├── aws_ebs_volume.cs │ │ ├── aws_ecr_lifecycle_policy.cs │ │ ├── aws_ecr_repository.cs │ │ ├── aws_ecr_repository_policy.cs │ │ ├── aws_ecs_cluster.cs │ │ ├── aws_ecs_service.cs │ │ ├── aws_ecs_task_definition.cs │ │ ├── aws_efs_file_system.cs │ │ ├── aws_efs_mount_target.cs │ │ ├── aws_egress_only_internet_gateway.cs │ │ ├── aws_eip.cs │ │ ├── aws_eip_association.cs │ │ ├── aws_eks_cluster.cs │ │ ├── aws_elastic_beanstalk_application.cs │ │ ├── aws_elastic_beanstalk_application_version.cs │ │ ├── aws_elastic_beanstalk_configuration_template.cs │ │ ├── aws_elastic_beanstalk_environment.cs │ │ ├── aws_elasticache_cluster.cs │ │ ├── aws_elasticache_parameter_group.cs │ │ ├── aws_elasticache_replication_group.cs │ │ ├── aws_elasticache_security_group.cs │ │ ├── aws_elasticache_subnet_group.cs │ │ ├── aws_elasticsearch_domain.cs │ │ ├── aws_elasticsearch_domain_policy.cs │ │ ├── aws_elastictranscoder_pipeline.cs │ │ ├── aws_elastictranscoder_preset.cs │ │ ├── aws_elb.cs │ │ ├── aws_elb_attachment.cs │ │ ├── aws_emr_cluster.cs │ │ ├── aws_emr_instance_group.cs │ │ ├── aws_emr_security_configuration.cs │ │ ├── aws_flow_log.cs │ │ ├── aws_gamelift_alias.cs │ │ ├── aws_gamelift_build.cs │ │ ├── aws_gamelift_fleet.cs │ │ ├── aws_glacier_vault.cs │ │ ├── aws_glue_catalog_database.cs │ │ ├── aws_glue_catalog_table.cs │ │ ├── aws_glue_classifier.cs │ │ ├── aws_glue_connection.cs │ │ ├── aws_glue_crawler.cs │ │ ├── aws_glue_job.cs │ │ ├── aws_glue_trigger.cs │ │ ├── aws_guardduty_detector.cs │ │ ├── aws_guardduty_ipset.cs │ │ ├── aws_guardduty_member.cs │ │ ├── aws_guardduty_threatintelset.cs │ │ ├── aws_iam_access_key.cs │ │ ├── aws_iam_account_alias.cs │ │ ├── aws_iam_account_password_policy.cs │ │ ├── aws_iam_group.cs │ │ ├── aws_iam_group_membership.cs │ │ ├── aws_iam_group_policy.cs │ │ ├── aws_iam_group_policy_attachment.cs │ │ ├── aws_iam_instance_profile.cs │ │ ├── aws_iam_openid_connect_provider.cs │ │ ├── aws_iam_policy.cs │ │ ├── aws_iam_policy_attachment.cs │ │ ├── aws_iam_role.cs │ │ ├── aws_iam_role_policy.cs │ │ ├── aws_iam_role_policy_attachment.cs │ │ ├── aws_iam_saml_provider.cs │ │ ├── aws_iam_server_certificate.cs │ │ ├── aws_iam_service_linked_role.cs │ │ ├── aws_iam_user.cs │ │ ├── aws_iam_user_group_membership.cs │ │ ├── aws_iam_user_login_profile.cs │ │ ├── aws_iam_user_policy.cs │ │ ├── aws_iam_user_policy_attachment.cs │ │ ├── aws_iam_user_ssh_key.cs │ │ ├── aws_inspector_assessment_target.cs │ │ ├── aws_inspector_assessment_template.cs │ │ ├── aws_inspector_resource_group.cs │ │ ├── aws_instance.cs │ │ ├── aws_internet_gateway.cs │ │ ├── aws_iot_certificate.cs │ │ ├── aws_iot_policy.cs │ │ ├── aws_iot_thing.cs │ │ ├── aws_iot_thing_type.cs │ │ ├── aws_iot_topic_rule.cs │ │ ├── aws_key_pair.cs │ │ ├── aws_kinesis_firehose_delivery_stream.cs │ │ ├── aws_kinesis_stream.cs │ │ ├── aws_kms_alias.cs │ │ ├── aws_kms_grant.cs │ │ ├── aws_kms_key.cs │ │ ├── aws_lambda_alias.cs │ │ ├── aws_lambda_event_source_mapping.cs │ │ ├── aws_lambda_function.cs │ │ ├── aws_lambda_permission.cs │ │ ├── aws_launch_configuration.cs │ │ ├── aws_launch_template.cs │ │ ├── aws_lb.cs │ │ ├── aws_lb_cookie_stickiness_policy.cs │ │ ├── aws_lb_listener.cs │ │ ├── aws_lb_listener_certificate.cs │ │ ├── aws_lb_listener_rule.cs │ │ ├── aws_lb_ssl_negotiation_policy.cs │ │ ├── aws_lb_target_group.cs │ │ ├── aws_lb_target_group_attachment.cs │ │ ├── aws_lightsail_domain.cs │ │ ├── aws_lightsail_instance.cs │ │ ├── aws_lightsail_key_pair.cs │ │ ├── aws_lightsail_static_ip.cs │ │ ├── aws_lightsail_static_ip_attachment.cs │ │ ├── aws_load_balancer_backend_server_policy.cs │ │ ├── aws_load_balancer_listener_policy.cs │ │ ├── aws_load_balancer_policy.cs │ │ ├── aws_macie_member_account_association.cs │ │ ├── aws_macie_s3_bucket_association.cs │ │ ├── aws_main_route_table_association.cs │ │ ├── aws_media_store_container.cs │ │ ├── aws_media_store_container_policy.cs │ │ ├── aws_mq_broker.cs │ │ ├── aws_mq_configuration.cs │ │ ├── aws_nat_gateway.cs │ │ ├── aws_neptune_cluster.cs │ │ ├── aws_neptune_cluster_instance.cs │ │ ├── aws_neptune_cluster_parameter_group.cs │ │ ├── aws_neptune_event_subscription.cs │ │ ├── aws_neptune_parameter_group.cs │ │ ├── aws_neptune_subnet_group.cs │ │ ├── aws_network_acl.cs │ │ ├── aws_network_acl_rule.cs │ │ ├── aws_network_interface.cs │ │ ├── aws_network_interface_attachment.cs │ │ ├── aws_network_interface_sg_attachment.cs │ │ ├── aws_opsworks_application.cs │ │ ├── aws_opsworks_custom_layer.cs │ │ ├── aws_opsworks_ganglia_layer.cs │ │ ├── aws_opsworks_haproxy_layer.cs │ │ ├── aws_opsworks_instance.cs │ │ ├── aws_opsworks_java_app_layer.cs │ │ ├── aws_opsworks_memcached_layer.cs │ │ ├── aws_opsworks_mysql_layer.cs │ │ ├── aws_opsworks_nodejs_app_layer.cs │ │ ├── aws_opsworks_permission.cs │ │ ├── aws_opsworks_php_app_layer.cs │ │ ├── aws_opsworks_rails_app_layer.cs │ │ ├── aws_opsworks_rds_db_instance.cs │ │ ├── aws_opsworks_stack.cs │ │ ├── aws_opsworks_static_web_layer.cs │ │ ├── aws_opsworks_user_profile.cs │ │ ├── aws_organizations_account.cs │ │ ├── aws_organizations_organization.cs │ │ ├── aws_organizations_policy.cs │ │ ├── aws_organizations_policy_attachment.cs │ │ ├── aws_placement_group.cs │ │ ├── aws_proxy_protocol_policy.cs │ │ ├── aws_rds_cluster.cs │ │ ├── aws_rds_cluster_instance.cs │ │ ├── aws_rds_cluster_parameter_group.cs │ │ ├── aws_redshift_cluster.cs │ │ ├── aws_redshift_parameter_group.cs │ │ ├── aws_redshift_security_group.cs │ │ ├── aws_redshift_subnet_group.cs │ │ ├── aws_route.cs │ │ ├── aws_route53_delegation_set.cs │ │ ├── aws_route53_health_check.cs │ │ ├── aws_route53_query_log.cs │ │ ├── aws_route53_record.cs │ │ ├── aws_route53_zone.cs │ │ ├── aws_route53_zone_association.cs │ │ ├── aws_route_table.cs │ │ ├── aws_route_table_association.cs │ │ ├── aws_s3_bucket.cs │ │ ├── aws_s3_bucket_inventory.cs │ │ ├── aws_s3_bucket_metric.cs │ │ ├── aws_s3_bucket_notification.cs │ │ ├── aws_s3_bucket_object.cs │ │ ├── aws_s3_bucket_policy.cs │ │ ├── aws_secretsmanager_secret.cs │ │ ├── aws_secretsmanager_secret_version.cs │ │ ├── aws_security_group.cs │ │ ├── aws_security_group_rule.cs │ │ ├── aws_service_discovery_private_dns_namespace.cs │ │ ├── aws_service_discovery_public_dns_namespace.cs │ │ ├── aws_service_discovery_service.cs │ │ ├── aws_servicecatalog_portfolio.cs │ │ ├── aws_ses_active_receipt_rule_set.cs │ │ ├── aws_ses_configuration_set.cs │ │ ├── aws_ses_domain_dkim.cs │ │ ├── aws_ses_domain_identity.cs │ │ ├── aws_ses_domain_identity_verification.cs │ │ ├── aws_ses_domain_mail_from.cs │ │ ├── aws_ses_event_destination.cs │ │ ├── aws_ses_identity_notification_topic.cs │ │ ├── aws_ses_receipt_filter.cs │ │ ├── aws_ses_receipt_rule.cs │ │ ├── aws_ses_receipt_rule_set.cs │ │ ├── aws_ses_template.cs │ │ ├── aws_sfn_activity.cs │ │ ├── aws_sfn_state_machine.cs │ │ ├── aws_simpledb_domain.cs │ │ ├── aws_snapshot_create_volume_permission.cs │ │ ├── aws_sns_platform_application.cs │ │ ├── aws_sns_sms_preferences.cs │ │ ├── aws_sns_topic.cs │ │ ├── aws_sns_topic_policy.cs │ │ ├── aws_sns_topic_subscription.cs │ │ ├── aws_spot_datafeed_subscription.cs │ │ ├── aws_spot_fleet_request.cs │ │ ├── aws_spot_instance_request.cs │ │ ├── aws_sqs_queue.cs │ │ ├── aws_sqs_queue_policy.cs │ │ ├── aws_ssm_activation.cs │ │ ├── aws_ssm_association.cs │ │ ├── aws_ssm_document.cs │ │ ├── aws_ssm_maintenance_window.cs │ │ ├── aws_ssm_maintenance_window_target.cs │ │ ├── aws_ssm_maintenance_window_task.cs │ │ ├── aws_ssm_parameter.cs │ │ ├── aws_ssm_patch_baseline.cs │ │ ├── aws_ssm_patch_group.cs │ │ ├── aws_ssm_resource_data_sync.cs │ │ ├── aws_storagegateway_cache.cs │ │ ├── aws_storagegateway_gateway.cs │ │ ├── aws_storagegateway_nfs_file_share.cs │ │ ├── aws_storagegateway_smb_file_share.cs │ │ ├── aws_storagegateway_upload_buffer.cs │ │ ├── aws_storagegateway_working_storage.cs │ │ ├── aws_subnet.cs │ │ ├── aws_swf_domain.cs │ │ ├── aws_volume_attachment.cs │ │ ├── aws_vpc.cs │ │ ├── aws_vpc_dhcp_options.cs │ │ ├── aws_vpc_dhcp_options_association.cs │ │ ├── aws_vpc_endpoint.cs │ │ ├── aws_vpc_endpoint_connection_notification.cs │ │ ├── aws_vpc_endpoint_route_table_association.cs │ │ ├── aws_vpc_endpoint_service.cs │ │ ├── aws_vpc_endpoint_service_allowed_principal.cs │ │ ├── aws_vpc_endpoint_subnet_association.cs │ │ ├── aws_vpc_ipv4_cidr_block_association.cs │ │ ├── aws_vpc_peering_connection.cs │ │ ├── aws_vpc_peering_connection_accepter.cs │ │ ├── aws_vpc_peering_connection_options.cs │ │ ├── aws_vpn_connection.cs │ │ ├── aws_vpn_connection_route.cs │ │ ├── aws_vpn_gateway.cs │ │ ├── aws_vpn_gateway_attachment.cs │ │ ├── aws_vpn_gateway_route_propagation.cs │ │ ├── aws_waf_byte_match_set.cs │ │ ├── aws_waf_geo_match_set.cs │ │ ├── aws_waf_ipset.cs │ │ ├── aws_waf_rate_based_rule.cs │ │ ├── aws_waf_regex_match_set.cs │ │ ├── aws_waf_regex_pattern_set.cs │ │ ├── aws_waf_rule.cs │ │ ├── aws_waf_rule_group.cs │ │ ├── aws_waf_size_constraint_set.cs │ │ ├── aws_waf_sql_injection_match_set.cs │ │ ├── aws_waf_web_acl.cs │ │ ├── aws_waf_xss_match_set.cs │ │ ├── aws_wafregional_byte_match_set.cs │ │ ├── aws_wafregional_geo_match_set.cs │ │ ├── aws_wafregional_ipset.cs │ │ ├── aws_wafregional_rate_based_rule.cs │ │ ├── aws_wafregional_regex_match_set.cs │ │ ├── aws_wafregional_regex_pattern_set.cs │ │ ├── aws_wafregional_rule.cs │ │ ├── aws_wafregional_rule_group.cs │ │ ├── aws_wafregional_size_constraint_set.cs │ │ ├── aws_wafregional_sql_injection_match_set.cs │ │ ├── aws_wafregional_web_acl.cs │ │ ├── aws_wafregional_web_acl_association.cs │ │ ├── aws_wafregional_xss_match_set.cs │ │ ├── azurerm_app_service.cs │ │ ├── azurerm_app_service_active_slot.cs │ │ ├── azurerm_app_service_custom_hostname_binding.cs │ │ ├── azurerm_app_service_plan.cs │ │ ├── azurerm_app_service_slot.cs │ │ ├── azurerm_application_gateway.cs │ │ ├── azurerm_application_insights.cs │ │ ├── azurerm_application_security_group.cs │ │ ├── azurerm_automation_account.cs │ │ ├── azurerm_automation_credential.cs │ │ ├── azurerm_automation_runbook.cs │ │ ├── azurerm_automation_schedule.cs │ │ ├── azurerm_autoscale_setting.cs │ │ ├── azurerm_availability_set.cs │ │ ├── azurerm_azuread_application.cs │ │ ├── azurerm_azuread_service_principal.cs │ │ ├── azurerm_azuread_service_principal_password.cs │ │ ├── azurerm_cdn_endpoint.cs │ │ ├── azurerm_cdn_profile.cs │ │ ├── azurerm_container_group.cs │ │ ├── azurerm_container_registry.cs │ │ ├── azurerm_container_service.cs │ │ ├── azurerm_cosmosdb_account.cs │ │ ├── azurerm_data_lake_analytics_account.cs │ │ ├── azurerm_data_lake_analytics_firewall_rule.cs │ │ ├── azurerm_data_lake_store.cs │ │ ├── azurerm_data_lake_store_file.cs │ │ ├── azurerm_data_lake_store_firewall_rule.cs │ │ ├── azurerm_dns_a_record.cs │ │ ├── azurerm_dns_aaaa_record.cs │ │ ├── azurerm_dns_caa_record.cs │ │ ├── azurerm_dns_cname_record.cs │ │ ├── azurerm_dns_mx_record.cs │ │ ├── azurerm_dns_ns_record.cs │ │ ├── azurerm_dns_ptr_record.cs │ │ ├── azurerm_dns_srv_record.cs │ │ ├── azurerm_dns_txt_record.cs │ │ ├── azurerm_dns_zone.cs │ │ ├── azurerm_eventgrid_topic.cs │ │ ├── azurerm_eventhub.cs │ │ ├── azurerm_eventhub_authorization_rule.cs │ │ ├── azurerm_eventhub_consumer_group.cs │ │ ├── azurerm_eventhub_namespace.cs │ │ ├── azurerm_eventhub_namespace_authorization_rule.cs │ │ ├── azurerm_express_route_circuit.cs │ │ ├── azurerm_express_route_circuit_authorization.cs │ │ ├── azurerm_express_route_circuit_peering.cs │ │ ├── azurerm_function_app.cs │ │ ├── azurerm_image.cs │ │ ├── azurerm_iothub.cs │ │ ├── azurerm_key_vault.cs │ │ ├── azurerm_key_vault_access_policy.cs │ │ ├── azurerm_key_vault_certificate.cs │ │ ├── azurerm_key_vault_key.cs │ │ ├── azurerm_key_vault_secret.cs │ │ ├── azurerm_kubernetes_cluster.cs │ │ ├── azurerm_lb.cs │ │ ├── azurerm_lb_backend_address_pool.cs │ │ ├── azurerm_lb_nat_pool.cs │ │ ├── azurerm_lb_nat_rule.cs │ │ ├── azurerm_lb_probe.cs │ │ ├── azurerm_lb_rule.cs │ │ ├── azurerm_local_network_gateway.cs │ │ ├── azurerm_log_analytics_solution.cs │ │ ├── azurerm_log_analytics_workspace.cs │ │ ├── azurerm_logic_app_action_custom.cs │ │ ├── azurerm_logic_app_action_http.cs │ │ ├── azurerm_logic_app_trigger_custom.cs │ │ ├── azurerm_logic_app_trigger_http_request.cs │ │ ├── azurerm_logic_app_trigger_recurrence.cs │ │ ├── azurerm_logic_app_workflow.cs │ │ ├── azurerm_managed_disk.cs │ │ ├── azurerm_management_lock.cs │ │ ├── azurerm_metric_alertrule.cs │ │ ├── azurerm_mysql_configuration.cs │ │ ├── azurerm_mysql_database.cs │ │ ├── azurerm_mysql_firewall_rule.cs │ │ ├── azurerm_mysql_server.cs │ │ ├── azurerm_network_interface.cs │ │ ├── azurerm_network_security_group.cs │ │ ├── azurerm_network_security_rule.cs │ │ ├── azurerm_network_watcher.cs │ │ ├── azurerm_notification_hub.cs │ │ ├── azurerm_notification_hub_authorization_rule.cs │ │ ├── azurerm_notification_hub_namespace.cs │ │ ├── azurerm_packet_capture.cs │ │ ├── azurerm_policy_assignment.cs │ │ ├── azurerm_policy_definition.cs │ │ ├── azurerm_postgresql_configuration.cs │ │ ├── azurerm_postgresql_database.cs │ │ ├── azurerm_postgresql_firewall_rule.cs │ │ ├── azurerm_postgresql_server.cs │ │ ├── azurerm_public_ip.cs │ │ ├── azurerm_recovery_services_vault.cs │ │ ├── azurerm_redis_cache.cs │ │ ├── azurerm_redis_firewall_rule.cs │ │ ├── azurerm_relay_namespace.cs │ │ ├── azurerm_resource_group.cs │ │ ├── azurerm_role_assignment.cs │ │ ├── azurerm_role_definition.cs │ │ ├── azurerm_route.cs │ │ ├── azurerm_route_table.cs │ │ ├── azurerm_scheduler_job.cs │ │ ├── azurerm_scheduler_job_collection.cs │ │ ├── azurerm_search_service.cs │ │ ├── azurerm_service_fabric_cluster.cs │ │ ├── azurerm_servicebus_namespace.cs │ │ ├── azurerm_servicebus_namespace_authorization_rule.cs │ │ ├── azurerm_servicebus_queue.cs │ │ ├── azurerm_servicebus_queue_authorization_rule.cs │ │ ├── azurerm_servicebus_subscription.cs │ │ ├── azurerm_servicebus_subscription_rule.cs │ │ ├── azurerm_servicebus_topic.cs │ │ ├── azurerm_servicebus_topic_authorization_rule.cs │ │ ├── azurerm_snapshot.cs │ │ ├── azurerm_sql_active_directory_administrator.cs │ │ ├── azurerm_sql_database.cs │ │ ├── azurerm_sql_elasticpool.cs │ │ ├── azurerm_sql_firewall_rule.cs │ │ ├── azurerm_sql_server.cs │ │ ├── azurerm_sql_virtual_network_rule.cs │ │ ├── azurerm_storage_account.cs │ │ ├── azurerm_storage_blob.cs │ │ ├── azurerm_storage_container.cs │ │ ├── azurerm_storage_queue.cs │ │ ├── azurerm_storage_share.cs │ │ ├── azurerm_storage_table.cs │ │ ├── azurerm_subnet.cs │ │ ├── azurerm_template_deployment.cs │ │ ├── azurerm_traffic_manager_endpoint.cs │ │ ├── azurerm_traffic_manager_profile.cs │ │ ├── azurerm_user_assigned_identity.cs │ │ ├── azurerm_virtual_machine.cs │ │ ├── azurerm_virtual_machine_data_disk_attachment.cs │ │ ├── azurerm_virtual_machine_extension.cs │ │ ├── azurerm_virtual_machine_scale_set.cs │ │ ├── azurerm_virtual_network.cs │ │ ├── azurerm_virtual_network_gateway.cs │ │ ├── azurerm_virtual_network_gateway_connection.cs │ │ ├── azurerm_virtual_network_peering.cs │ │ ├── consul_agent_service.cs │ │ ├── consul_catalog_entry.cs │ │ ├── consul_intention.cs │ │ ├── consul_key_prefix.cs │ │ ├── consul_keys.cs │ │ ├── consul_node.cs │ │ ├── consul_prepared_query.cs │ │ └── consul_service.cs ├── nterraformGen │ ├── Collections.fs │ ├── GeneratorCSharp.fs │ ├── GeneratorDump.fs │ ├── GeneratorFSharp.fs │ ├── NTerraformGen.fsproj │ ├── OutConsole.fs │ ├── OutFile.fs │ ├── Program.fs │ ├── StringHelpers.fs │ └── TerraformSchema.fs ├── sandboxCS │ ├── Program.cs │ ├── Sample.csx │ └── SandboxCS.csproj └── sandboxFS │ ├── Program.fs │ ├── Sample.fsx │ └── SandboxFS.fsproj └── tools ├── README.md └── tfschema /src/nterraform/Core/TerraformPropertyAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace nterraform 4 | { 5 | [AttributeUsage(AttributeTargets.Property)] 6 | public class TerraformPropertyAttribute : Attribute 7 | { 8 | public TerraformPropertyAttribute(string name, bool @out, int min, int max) 9 | { 10 | Name = name; 11 | Out = @out; 12 | Min = min; 13 | Max = max; 14 | } 15 | 16 | public string Name { get; } 17 | public bool Out { get; } 18 | public int Min { get; } 19 | public int Max { get; } 20 | } 21 | } -------------------------------------------------------------------------------- /src/nterraform/Core/TerraformStructureAttribute.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace nterraform 4 | { 5 | [AttributeUsage(AttributeTargets.Class)] 6 | public class TerraformStructureAttribute : Attribute 7 | { 8 | public TerraformStructureAttribute(string category, string typeName) 9 | { 10 | Category = category; 11 | TypeName = typeName; 12 | } 13 | 14 | public string Category { get; } 15 | public string TypeName { get; } 16 | } 17 | } -------------------------------------------------------------------------------- /src/nterraform/Core/data.cs: -------------------------------------------------------------------------------- 1 | namespace nterraform 2 | { 3 | public abstract class data : structure 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/nterraform/Core/provider.cs: -------------------------------------------------------------------------------- 1 | namespace nterraform 2 | { 3 | public abstract class provider : structure 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/nterraform/Core/resource.cs: -------------------------------------------------------------------------------- 1 | namespace nterraform 2 | { 3 | public abstract class resource : structure 4 | { 5 | } 6 | } -------------------------------------------------------------------------------- /src/nterraform/Hosts/DotnetScript.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | 5 | namespace nterraform.Hosts 6 | { 7 | public class DotnetScript : IHost 8 | { 9 | public string Name => "dotnet-script"; 10 | 11 | public Dictionary GetVariables() 12 | { 13 | var currentClass = MethodBase.GetCurrentMethod().DeclaringType; 14 | return new Dictionary(); 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /src/nterraform/Hosts/Fsi.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Reflection; 4 | using System.Linq; 5 | 6 | namespace nterraform.Hosts 7 | { 8 | public class Fsi : IHost 9 | { 10 | public string Name => "FSI"; 11 | 12 | public Dictionary GetVariables() 13 | { 14 | var fsiType = AppDomain.CurrentDomain.GetAssemblies() 15 | .Select(x => x.GetTypes()) 16 | .SelectMany(x => x) 17 | .First(x => x.Name.StartsWith("FSI_", StringComparison.InvariantCulture)); 18 | 19 | var props = fsiType.GetProperties(BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.Public); 20 | 21 | var dict = new Dictionary(); 22 | foreach (var prop in props) 23 | { 24 | var value = prop.GetValue(null) as structure; 25 | if (null != value) 26 | dict.Add(prop.Name, value); 27 | } 28 | 29 | return dict; 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /src/nterraform/Hosts/IHost.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | 4 | namespace nterraform.Hosts 5 | { 6 | public interface IHost 7 | { 8 | string Name { get; } 9 | Dictionary GetVariables(); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/nterraform/NTerraform.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Library 5 | netcoreapp2.0 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/nterraform/build.ps1: -------------------------------------------------------------------------------- 1 | #! /usr/local/bin/pwsh 2 | 3 | function Invoke-NTerraformGen 4 | { 5 | param([string]$plugin, [string]$category, [string]$typeName) 6 | 7 | dotnet ../nterraformGen/bin/Debug/netcoreapp2.1/nterraformGen.dll cs file $plugin $category $typeName 8 | if (! $?) { Throw "NTerraform failure: $plugin $category $typeName" } 9 | } 10 | 11 | 12 | function List-TFSchema 13 | { 14 | param([string] $type, [string] $def) 15 | 16 | ../../tools/tfschema $type list $def 17 | } 18 | 19 | terraform init 20 | cat plugins.txt | % { $plugin = $_ 21 | Write-Host "Generating provider $plugin" 22 | Invoke-NTerraformGen $plugin provider $plugin 23 | List-TFSchema data $plugin | % { Write-Host "Generating data $_"; Invoke-NTerraformGen $plugin data $_ } 24 | List-TFSchema resource $plugin | % { Write-Host "Generating resource $_"; Invoke-NTerraformGen $plugin resource $_ } } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_api_gateway_rest_api.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_api_gateway_rest_api")] 6 | public sealed class aws_api_gateway_rest_api : nterraform.data 7 | { 8 | public aws_api_gateway_rest_api(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "root_resource_id", @out: true, min: 0, max: 1)] 18 | public string @RootResourceId { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_arn.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_arn")] 6 | public sealed class aws_arn : nterraform.data 7 | { 8 | public aws_arn(string @arn) 9 | { 10 | @Arn = @arn; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "arn", @out: false, min: 1, max: 1)] 15 | public string @Arn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "account", @out: true, min: 0, max: 1)] 18 | public string @Account { get; } 19 | 20 | [nterraform.TerraformProperty(name: "partition", @out: true, min: 0, max: 1)] 21 | public string @Partition { get; } 22 | 23 | [nterraform.TerraformProperty(name: "region", @out: true, min: 0, max: 1)] 24 | public string @Region { get; } 25 | 26 | [nterraform.TerraformProperty(name: "resource", @out: true, min: 0, max: 1)] 27 | public string @Resource { get; } 28 | 29 | [nterraform.TerraformProperty(name: "service", @out: true, min: 0, max: 1)] 30 | public string @Service { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_availability_zone.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_availability_zone")] 6 | public sealed class aws_availability_zone : nterraform.data 7 | { 8 | public aws_availability_zone() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 14 | public string @Name { get; } 15 | 16 | [nterraform.TerraformProperty(name: "name_suffix", @out: true, min: 0, max: 1)] 17 | public string @NameSuffix { get; } 18 | 19 | [nterraform.TerraformProperty(name: "region", @out: true, min: 0, max: 1)] 20 | public string @Region { get; } 21 | 22 | [nterraform.TerraformProperty(name: "state", @out: true, min: 0, max: 1)] 23 | public string @State { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_availability_zones.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_availability_zones")] 6 | public sealed class aws_availability_zones : nterraform.data 7 | { 8 | public aws_availability_zones(string @state = null) 9 | { 10 | @State = @state; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "names", @out: true, min: 0, max: 1)] 15 | public string[] @Names { get; } 16 | 17 | [nterraform.TerraformProperty(name: "state", @out: false, min: 0, max: 1)] 18 | public string @State { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_billing_service_account.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_billing_service_account")] 6 | public sealed class aws_billing_service_account : nterraform.data 7 | { 8 | public aws_billing_service_account() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 14 | public string @Arn { get; } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_caller_identity.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_caller_identity")] 6 | public sealed class aws_caller_identity : nterraform.data 7 | { 8 | public aws_caller_identity() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "account_id", @out: true, min: 0, max: 1)] 14 | public string @AccountId { get; } 15 | 16 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 17 | public string @Arn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "user_id", @out: true, min: 0, max: 1)] 20 | public string @UserId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_canonical_user_id.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_canonical_user_id")] 6 | public sealed class aws_canonical_user_id : nterraform.data 7 | { 8 | public aws_canonical_user_id() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "display_name", @out: true, min: 0, max: 1)] 14 | public string @DisplayName { get; } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_cloudformation_export.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_cloudformation_export")] 6 | public sealed class aws_cloudformation_export : nterraform.data 7 | { 8 | public aws_cloudformation_export(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "exporting_stack_id", @out: true, min: 0, max: 1)] 18 | public string @ExportingStackId { get; } 19 | 20 | [nterraform.TerraformProperty(name: "value", @out: true, min: 0, max: 1)] 21 | public string @Value { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_cloudtrail_service_account.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_cloudtrail_service_account")] 6 | public sealed class aws_cloudtrail_service_account : nterraform.data 7 | { 8 | public aws_cloudtrail_service_account(string @region = null) 9 | { 10 | @Region = @region; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 15 | public string @Arn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "region", @out: false, min: 0, max: 1)] 18 | public string @Region { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_cloudwatch_log_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_cloudwatch_log_group")] 6 | public sealed class aws_cloudwatch_log_group : nterraform.data 7 | { 8 | public aws_cloudwatch_log_group(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "creation_time", @out: true, min: 0, max: 1)] 21 | public int? @CreationTime { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_codecommit_repository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_codecommit_repository")] 6 | public sealed class aws_codecommit_repository : nterraform.data 7 | { 8 | public aws_codecommit_repository(string @repositoryName) 9 | { 10 | @RepositoryName = @repositoryName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "repository_name", @out: false, min: 1, max: 1)] 15 | public string @RepositoryName { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "clone_url_http", @out: true, min: 0, max: 1)] 21 | public string @CloneUrlHttp { get; } 22 | 23 | [nterraform.TerraformProperty(name: "clone_url_ssh", @out: true, min: 0, max: 1)] 24 | public string @CloneUrlSsh { get; } 25 | 26 | [nterraform.TerraformProperty(name: "repository_id", @out: true, min: 0, max: 1)] 27 | public string @RepositoryId { get; } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_cognito_user_pools.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_cognito_user_pools")] 6 | public sealed class aws_cognito_user_pools : nterraform.data 7 | { 8 | public aws_cognito_user_pools(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arns", @out: true, min: 0, max: 1)] 18 | public string[] @Arns { get; } 19 | 20 | [nterraform.TerraformProperty(name: "ids", @out: true, min: 0, max: 1)] 21 | public string[] @Ids { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_dx_gateway.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_dx_gateway")] 6 | public sealed class aws_dx_gateway : nterraform.data 7 | { 8 | public aws_dx_gateway(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "amazon_side_asn", @out: true, min: 0, max: 1)] 18 | public string @AmazonSideAsn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_ecr_repository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_ecr_repository")] 6 | public sealed class aws_ecr_repository : nterraform.data 7 | { 8 | public aws_ecr_repository(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "registry_id", @out: true, min: 0, max: 1)] 21 | public string @RegistryId { get; } 22 | 23 | [nterraform.TerraformProperty(name: "repository_url", @out: true, min: 0, max: 1)] 24 | public string @RepositoryUrl { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_ecs_cluster.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_ecs_cluster")] 6 | public sealed class aws_ecs_cluster : nterraform.data 7 | { 8 | public aws_ecs_cluster(string @clusterName) 9 | { 10 | @ClusterName = @clusterName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "cluster_name", @out: false, min: 1, max: 1)] 15 | public string @ClusterName { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "pending_tasks_count", @out: true, min: 0, max: 1)] 21 | public int? @PendingTasksCount { get; } 22 | 23 | [nterraform.TerraformProperty(name: "registered_container_instances_count", @out: true, min: 0, max: 1)] 24 | public int? @RegisteredContainerInstancesCount { get; } 25 | 26 | [nterraform.TerraformProperty(name: "running_tasks_count", @out: true, min: 0, max: 1)] 27 | public int? @RunningTasksCount { get; } 28 | 29 | [nterraform.TerraformProperty(name: "status", @out: true, min: 0, max: 1)] 30 | public string @Status { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_ecs_task_definition.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_ecs_task_definition")] 6 | public sealed class aws_ecs_task_definition : nterraform.data 7 | { 8 | public aws_ecs_task_definition(string @taskDefinition) 9 | { 10 | @TaskDefinition = @taskDefinition; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "task_definition", @out: false, min: 1, max: 1)] 15 | public string @TaskDefinition { get; } 16 | 17 | [nterraform.TerraformProperty(name: "family", @out: true, min: 0, max: 1)] 18 | public string @Family { get; } 19 | 20 | [nterraform.TerraformProperty(name: "network_mode", @out: true, min: 0, max: 1)] 21 | public string @NetworkMode { get; } 22 | 23 | [nterraform.TerraformProperty(name: "revision", @out: true, min: 0, max: 1)] 24 | public int? @Revision { get; } 25 | 26 | [nterraform.TerraformProperty(name: "status", @out: true, min: 0, max: 1)] 27 | public string @Status { get; } 28 | 29 | [nterraform.TerraformProperty(name: "task_role_arn", @out: true, min: 0, max: 1)] 30 | public string @TaskRoleArn { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_eip.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_eip")] 6 | public sealed class aws_eip : nterraform.data 7 | { 8 | public aws_eip() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "id", @out: true, min: 0, max: 1)] 14 | public string @Id { get; } 15 | 16 | [nterraform.TerraformProperty(name: "public_ip", @out: true, min: 0, max: 1)] 17 | public string @PublicIp { get; } 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_elastic_beanstalk_hosted_zone.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_elastic_beanstalk_hosted_zone")] 6 | public sealed class aws_elastic_beanstalk_hosted_zone : nterraform.data 7 | { 8 | public aws_elastic_beanstalk_hosted_zone(string @region = null) 9 | { 10 | @Region = @region; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "region", @out: false, min: 0, max: 1)] 15 | public string @Region { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_elastic_beanstalk_solution_stack.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_elastic_beanstalk_solution_stack")] 6 | public sealed class aws_elastic_beanstalk_solution_stack : nterraform.data 7 | { 8 | public aws_elastic_beanstalk_solution_stack(string @nameRegex, 9 | bool? @mostRecent = null) 10 | { 11 | @NameRegex = @nameRegex; 12 | @MostRecent = @mostRecent; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name_regex", @out: false, min: 1, max: 1)] 17 | public string @NameRegex { get; } 18 | 19 | [nterraform.TerraformProperty(name: "most_recent", @out: false, min: 0, max: 1)] 20 | public bool? @MostRecent { get; } 21 | 22 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 23 | public string @Name { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_elb_hosted_zone_id.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_elb_hosted_zone_id")] 6 | public sealed class aws_elb_hosted_zone_id : nterraform.data 7 | { 8 | public aws_elb_hosted_zone_id(string @region = null) 9 | { 10 | @Region = @region; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "region", @out: false, min: 0, max: 1)] 15 | public string @Region { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_elb_service_account.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_elb_service_account")] 6 | public sealed class aws_elb_service_account : nterraform.data 7 | { 8 | public aws_elb_service_account(string @region = null) 9 | { 10 | @Region = @region; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 15 | public string @Arn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "region", @out: false, min: 0, max: 1)] 18 | public string @Region { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_iam_account_alias.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_iam_account_alias")] 6 | public sealed class aws_iam_account_alias : nterraform.data 7 | { 8 | public aws_iam_account_alias() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "account_alias", @out: true, min: 0, max: 1)] 14 | public string @AccountAlias { get; } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_iam_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_iam_group")] 6 | public sealed class aws_iam_group : nterraform.data 7 | { 8 | public aws_iam_group(string @groupName) 9 | { 10 | @GroupName = @groupName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "group_name", @out: false, min: 1, max: 1)] 15 | public string @GroupName { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "group_id", @out: true, min: 0, max: 1)] 21 | public string @GroupId { get; } 22 | 23 | [nterraform.TerraformProperty(name: "path", @out: true, min: 0, max: 1)] 24 | public string @Path { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_iam_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_iam_policy")] 6 | public sealed class aws_iam_policy : nterraform.data 7 | { 8 | public aws_iam_policy(string @arn) 9 | { 10 | @Arn = @arn; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "arn", @out: false, min: 1, max: 1)] 15 | public string @Arn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "description", @out: true, min: 0, max: 1)] 18 | public string @Description { get; } 19 | 20 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 21 | public string @Name { get; } 22 | 23 | [nterraform.TerraformProperty(name: "path", @out: true, min: 0, max: 1)] 24 | public string @Path { get; } 25 | 26 | [nterraform.TerraformProperty(name: "policy", @out: true, min: 0, max: 1)] 27 | public string @Policy { get; } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_iam_user.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_iam_user")] 6 | public sealed class aws_iam_user : nterraform.data 7 | { 8 | public aws_iam_user(string @userName) 9 | { 10 | @UserName = @userName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "user_name", @out: false, min: 1, max: 1)] 15 | public string @UserName { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "path", @out: true, min: 0, max: 1)] 21 | public string @Path { get; } 22 | 23 | [nterraform.TerraformProperty(name: "permissions_boundary", @out: true, min: 0, max: 1)] 24 | public string @PermissionsBoundary { get; } 25 | 26 | [nterraform.TerraformProperty(name: "user_id", @out: true, min: 0, max: 1)] 27 | public string @UserId { get; } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_inspector_rules_packages.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_inspector_rules_packages")] 6 | public sealed class aws_inspector_rules_packages : nterraform.data 7 | { 8 | public aws_inspector_rules_packages() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "arns", @out: true, min: 0, max: 1)] 14 | public string[] @Arns { get; } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_iot_endpoint.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_iot_endpoint")] 6 | public sealed class aws_iot_endpoint : nterraform.data 7 | { 8 | public aws_iot_endpoint() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "endpoint_address", @out: true, min: 0, max: 1)] 14 | public string @EndpointAddress { get; } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_ip_ranges.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_ip_ranges")] 6 | public sealed class aws_ip_ranges : nterraform.data 7 | { 8 | public aws_ip_ranges(string[] @services, 9 | string[] @regions = null) 10 | { 11 | @Services = @services; 12 | @Regions = @regions; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "services", @out: false, min: 1, max: 1)] 17 | public string[] @Services { get; } 18 | 19 | [nterraform.TerraformProperty(name: "cidr_blocks", @out: true, min: 0, max: 1)] 20 | public string[] @CidrBlocks { get; } 21 | 22 | [nterraform.TerraformProperty(name: "create_date", @out: true, min: 0, max: 1)] 23 | public string @CreateDate { get; } 24 | 25 | [nterraform.TerraformProperty(name: "regions", @out: false, min: 0, max: 1)] 26 | public string[] @Regions { get; } 27 | 28 | [nterraform.TerraformProperty(name: "sync_token", @out: true, min: 0, max: 1)] 29 | public int? @SyncToken { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_kms_alias.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_kms_alias")] 6 | public sealed class aws_kms_alias : nterraform.data 7 | { 8 | public aws_kms_alias(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "target_key_arn", @out: true, min: 0, max: 1)] 21 | public string @TargetKeyArn { get; } 22 | 23 | [nterraform.TerraformProperty(name: "target_key_id", @out: true, min: 0, max: 1)] 24 | public string @TargetKeyId { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_kms_ciphertext.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_kms_ciphertext")] 6 | public sealed class aws_kms_ciphertext : nterraform.data 7 | { 8 | public aws_kms_ciphertext(string @keyId, 9 | string @plaintext, 10 | Dictionary @context = null) 11 | { 12 | @KeyId = @keyId; 13 | @Plaintext = @plaintext; 14 | @Context = @context; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "key_id", @out: false, min: 1, max: 1)] 19 | public string @KeyId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "plaintext", @out: false, min: 1, max: 1)] 22 | public string @Plaintext { get; } 23 | 24 | [nterraform.TerraformProperty(name: "ciphertext_blob", @out: true, min: 0, max: 1)] 25 | public string @CiphertextBlob { get; } 26 | 27 | [nterraform.TerraformProperty(name: "context", @out: false, min: 0, max: 1)] 28 | public Dictionary @Context { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_lambda_invocation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_lambda_invocation")] 6 | public sealed class aws_lambda_invocation : nterraform.data 7 | { 8 | public aws_lambda_invocation(string @functionName, 9 | string @input, 10 | string @qualifier = null) 11 | { 12 | @FunctionName = @functionName; 13 | @Input = @input; 14 | @Qualifier = @qualifier; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "function_name", @out: false, min: 1, max: 1)] 19 | public string @FunctionName { get; } 20 | 21 | [nterraform.TerraformProperty(name: "input", @out: false, min: 1, max: 1)] 22 | public string @Input { get; } 23 | 24 | [nterraform.TerraformProperty(name: "qualifier", @out: false, min: 0, max: 1)] 25 | public string @Qualifier { get; } 26 | 27 | [nterraform.TerraformProperty(name: "result", @out: true, min: 0, max: 1)] 28 | public string @Result { get; } 29 | 30 | [nterraform.TerraformProperty(name: "result_map", @out: true, min: 0, max: 1)] 31 | public Dictionary @ResultMap { get; } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_partition.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_partition")] 6 | public sealed class aws_partition : nterraform.data 7 | { 8 | public aws_partition() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "partition", @out: true, min: 0, max: 1)] 14 | public string @Partition { get; } 15 | } 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_prefix_list.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_prefix_list")] 6 | public sealed class aws_prefix_list : nterraform.data 7 | { 8 | public aws_prefix_list(string @prefixListId = null) 9 | { 10 | @PrefixListId = @prefixListId; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "cidr_blocks", @out: true, min: 0, max: 1)] 15 | public string[] @CidrBlocks { get; } 16 | 17 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 18 | public string @Name { get; } 19 | 20 | [nterraform.TerraformProperty(name: "prefix_list_id", @out: false, min: 0, max: 1)] 21 | public string @PrefixListId { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_redshift_service_account.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_redshift_service_account")] 6 | public sealed class aws_redshift_service_account : nterraform.data 7 | { 8 | public aws_redshift_service_account(string @region = null) 9 | { 10 | @Region = @region; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 15 | public string @Arn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "region", @out: false, min: 0, max: 1)] 18 | public string @Region { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_region.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_region")] 6 | public sealed class aws_region : nterraform.data 7 | { 8 | public aws_region() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "current", @out: true, min: 0, max: 1)] 14 | public bool? @Current { get; } 15 | 16 | [nterraform.TerraformProperty(name: "description", @out: true, min: 0, max: 1)] 17 | public string @Description { get; } 18 | 19 | [nterraform.TerraformProperty(name: "endpoint", @out: true, min: 0, max: 1)] 20 | public string @Endpoint { get; } 21 | 22 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 23 | public string @Name { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_secretsmanager_secret_version.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_secretsmanager_secret_version")] 6 | public sealed class aws_secretsmanager_secret_version : nterraform.data 7 | { 8 | public aws_secretsmanager_secret_version(string @secretId, 9 | string @versionStage = null) 10 | { 11 | @SecretId = @secretId; 12 | @VersionStage = @versionStage; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "secret_id", @out: false, min: 1, max: 1)] 17 | public string @SecretId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "secret_string", @out: true, min: 0, max: 1)] 20 | public string @SecretString { get; } 21 | 22 | [nterraform.TerraformProperty(name: "version_id", @out: true, min: 0, max: 1)] 23 | public string @VersionId { get; } 24 | 25 | [nterraform.TerraformProperty(name: "version_stage", @out: false, min: 0, max: 1)] 26 | public string @VersionStage { get; } 27 | 28 | [nterraform.TerraformProperty(name: "version_stages", @out: true, min: 0, max: 1)] 29 | public string[] @VersionStages { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_sns_topic.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_sns_topic")] 6 | public sealed class aws_sns_topic : nterraform.data 7 | { 8 | public aws_sns_topic(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_sqs_queue.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_sqs_queue")] 6 | public sealed class aws_sqs_queue : nterraform.data 7 | { 8 | public aws_sqs_queue(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "url", @out: true, min: 0, max: 1)] 21 | public string @Url { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_ssm_parameter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_ssm_parameter")] 6 | public sealed class aws_ssm_parameter : nterraform.data 7 | { 8 | public aws_ssm_parameter(string @name, 9 | bool? @withDecryption = null) 10 | { 11 | @Name = @name; 12 | @WithDecryption = @withDecryption; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 20 | public string @Arn { get; } 21 | 22 | [nterraform.TerraformProperty(name: "type", @out: true, min: 0, max: 1)] 23 | public string @Type { get; } 24 | 25 | [nterraform.TerraformProperty(name: "value", @out: true, min: 0, max: 1)] 26 | public string @Value { get; } 27 | 28 | [nterraform.TerraformProperty(name: "with_decryption", @out: false, min: 0, max: 1)] 29 | public bool? @WithDecryption { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/datas/aws_storagegateway_local_disk.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "aws_storagegateway_local_disk")] 6 | public sealed class aws_storagegateway_local_disk : nterraform.data 7 | { 8 | public aws_storagegateway_local_disk(string @diskPath, 9 | string @gatewayArn) 10 | { 11 | @DiskPath = @diskPath; 12 | @GatewayArn = @gatewayArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "disk_path", @out: false, min: 1, max: 1)] 17 | public string @DiskPath { get; } 18 | 19 | [nterraform.TerraformProperty(name: "gateway_arn", @out: false, min: 1, max: 1)] 20 | public string @GatewayArn { get; } 21 | 22 | [nterraform.TerraformProperty(name: "disk_id", @out: true, min: 0, max: 1)] 23 | public string @DiskId { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_application_security_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_application_security_group")] 6 | public sealed class azurerm_application_security_group : nterraform.data 7 | { 8 | public azurerm_application_security_group(string @name, 9 | string @resourceGroupName) 10 | { 11 | @Name = @name; 12 | @ResourceGroupName = @resourceGroupName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 20 | public string @ResourceGroupName { get; } 21 | 22 | [nterraform.TerraformProperty(name: "location", @out: true, min: 0, max: 1)] 23 | public string @Location { get; } 24 | 25 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 26 | public Dictionary @Tags { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_azuread_service_principal.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_azuread_service_principal")] 6 | public sealed class azurerm_azuread_service_principal : nterraform.data 7 | { 8 | public azurerm_azuread_service_principal() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "application_id", @out: true, min: 0, max: 1)] 14 | public string @ApplicationId { get; } 15 | 16 | [nterraform.TerraformProperty(name: "display_name", @out: true, min: 0, max: 1)] 17 | public string @DisplayName { get; } 18 | 19 | [nterraform.TerraformProperty(name: "object_id", @out: true, min: 0, max: 1)] 20 | public string @ObjectId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_cdn_profile.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_cdn_profile")] 6 | public sealed class azurerm_cdn_profile : nterraform.data 7 | { 8 | public azurerm_cdn_profile(string @name, 9 | string @resourceGroupName) 10 | { 11 | @Name = @name; 12 | @ResourceGroupName = @resourceGroupName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 20 | public string @ResourceGroupName { get; } 21 | 22 | [nterraform.TerraformProperty(name: "location", @out: true, min: 0, max: 1)] 23 | public string @Location { get; } 24 | 25 | [nterraform.TerraformProperty(name: "sku", @out: true, min: 0, max: 1)] 26 | public string @Sku { get; } 27 | 28 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 29 | public Dictionary @Tags { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_client_config.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_client_config")] 6 | public sealed class azurerm_client_config : nterraform.data 7 | { 8 | public azurerm_client_config() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "client_id", @out: true, min: 0, max: 1)] 14 | public string @ClientId { get; } 15 | 16 | [nterraform.TerraformProperty(name: "service_principal_application_id", @out: true, min: 0, max: 1)] 17 | public string @ServicePrincipalApplicationId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "service_principal_object_id", @out: true, min: 0, max: 1)] 20 | public string @ServicePrincipalObjectId { get; } 21 | 22 | [nterraform.TerraformProperty(name: "subscription_id", @out: true, min: 0, max: 1)] 23 | public string @SubscriptionId { get; } 24 | 25 | [nterraform.TerraformProperty(name: "tenant_id", @out: true, min: 0, max: 1)] 26 | public string @TenantId { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_key_vault_access_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_key_vault_access_policy")] 6 | public sealed class azurerm_key_vault_access_policy : nterraform.data 7 | { 8 | public azurerm_key_vault_access_policy(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "certificate_permissions", @out: true, min: 0, max: 1)] 18 | public string[] @CertificatePermissions { get; } 19 | 20 | [nterraform.TerraformProperty(name: "key_permissions", @out: true, min: 0, max: 1)] 21 | public string[] @KeyPermissions { get; } 22 | 23 | [nterraform.TerraformProperty(name: "secret_permissions", @out: true, min: 0, max: 1)] 24 | public string[] @SecretPermissions { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_key_vault_secret.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_key_vault_secret")] 6 | public sealed class azurerm_key_vault_secret : nterraform.data 7 | { 8 | public azurerm_key_vault_secret(string @name, 9 | string @vaultUri) 10 | { 11 | @Name = @name; 12 | @VaultUri = @vaultUri; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vault_uri", @out: false, min: 1, max: 1)] 20 | public string @VaultUri { get; } 21 | 22 | [nterraform.TerraformProperty(name: "content_type", @out: true, min: 0, max: 1)] 23 | public string @ContentType { get; } 24 | 25 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 26 | public Dictionary @Tags { get; } 27 | 28 | [nterraform.TerraformProperty(name: "value", @out: true, min: 0, max: 1)] 29 | public string @Value { get; } 30 | 31 | [nterraform.TerraformProperty(name: "version", @out: true, min: 0, max: 1)] 32 | public string @Version { get; } 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_recovery_services_vault.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_recovery_services_vault")] 6 | public sealed class azurerm_recovery_services_vault : nterraform.data 7 | { 8 | public azurerm_recovery_services_vault(string @name, 9 | string @resourceGroupName) 10 | { 11 | @Name = @name; 12 | @ResourceGroupName = @resourceGroupName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 20 | public string @ResourceGroupName { get; } 21 | 22 | [nterraform.TerraformProperty(name: "location", @out: true, min: 0, max: 1)] 23 | public string @Location { get; } 24 | 25 | [nterraform.TerraformProperty(name: "sku", @out: true, min: 0, max: 1)] 26 | public string @Sku { get; } 27 | 28 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 29 | public Dictionary @Tags { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_resource_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_resource_group")] 6 | public sealed class azurerm_resource_group : nterraform.data 7 | { 8 | public azurerm_resource_group(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "location", @out: true, min: 0, max: 1)] 18 | public string @Location { get; } 19 | 20 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 21 | public Dictionary @Tags { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_subscription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_subscription")] 6 | public sealed class azurerm_subscription : nterraform.data 7 | { 8 | public azurerm_subscription() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "display_name", @out: true, min: 0, max: 1)] 14 | public string @DisplayName { get; } 15 | 16 | [nterraform.TerraformProperty(name: "location_placement_id", @out: true, min: 0, max: 1)] 17 | public string @LocationPlacementId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "quota_id", @out: true, min: 0, max: 1)] 20 | public string @QuotaId { get; } 21 | 22 | [nterraform.TerraformProperty(name: "spending_limit", @out: true, min: 0, max: 1)] 23 | public string @SpendingLimit { get; } 24 | 25 | [nterraform.TerraformProperty(name: "state", @out: true, min: 0, max: 1)] 26 | public string @State { get; } 27 | 28 | [nterraform.TerraformProperty(name: "subscription_id", @out: true, min: 0, max: 1)] 29 | public string @SubscriptionId { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/datas/azurerm_traffic_manager_geographical_location.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "azurerm_traffic_manager_geographical_location")] 6 | public sealed class azurerm_traffic_manager_geographical_location : nterraform.data 7 | { 8 | public azurerm_traffic_manager_geographical_location(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/datas/consul_agent_config.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.datas 4 | { 5 | [nterraform.TerraformStructure(category: "data", typeName: "consul_agent_config")] 6 | public sealed class consul_agent_config : nterraform.data 7 | { 8 | public consul_agent_config() 9 | { 10 | base._validate_(); 11 | } 12 | 13 | [nterraform.TerraformProperty(name: "datacenter", @out: true, min: 0, max: 1)] 14 | public string @Datacenter { get; } 15 | 16 | [nterraform.TerraformProperty(name: "node_id", @out: true, min: 0, max: 1)] 17 | public string @NodeId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "node_name", @out: true, min: 0, max: 1)] 20 | public string @NodeName { get; } 21 | 22 | [nterraform.TerraformProperty(name: "revision", @out: true, min: 0, max: 1)] 23 | public string @Revision { get; } 24 | 25 | [nterraform.TerraformProperty(name: "server", @out: true, min: 0, max: 1)] 26 | public bool? @Server { get; } 27 | 28 | [nterraform.TerraformProperty(name: "version", @out: true, min: 0, max: 1)] 29 | public string @Version { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/plugins.tf: -------------------------------------------------------------------------------- 1 | provider "azurerm" {} 2 | provider "consul" {} 3 | provider "aws" {} -------------------------------------------------------------------------------- /src/nterraform/plugins.txt: -------------------------------------------------------------------------------- 1 | consul 2 | azurerm 3 | aws -------------------------------------------------------------------------------- /src/nterraform/resources/aws_acm_certificate_validation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_acm_certificate_validation")] 6 | public sealed class aws_acm_certificate_validation : nterraform.resource 7 | { 8 | public aws_acm_certificate_validation(string @certificateArn, 9 | string[] @validationRecordFqdns = null) 10 | { 11 | @CertificateArn = @certificateArn; 12 | @ValidationRecordFqdns = @validationRecordFqdns; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "certificate_arn", @out: false, min: 1, max: 1)] 17 | public string @CertificateArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "validation_record_fqdns", @out: false, min: 0, max: 1)] 20 | public string[] @ValidationRecordFqdns { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_alb_listener_certificate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_alb_listener_certificate")] 6 | public sealed class aws_alb_listener_certificate : nterraform.resource 7 | { 8 | public aws_alb_listener_certificate(string @certificateArn, 9 | string @listenerArn) 10 | { 11 | @CertificateArn = @certificateArn; 12 | @ListenerArn = @listenerArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "certificate_arn", @out: false, min: 1, max: 1)] 17 | public string @CertificateArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "listener_arn", @out: false, min: 1, max: 1)] 20 | public string @ListenerArn { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ami_launch_permission.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ami_launch_permission")] 6 | public sealed class aws_ami_launch_permission : nterraform.resource 7 | { 8 | public aws_ami_launch_permission(string @accountId, 9 | string @imageId) 10 | { 11 | @AccountId = @accountId; 12 | @ImageId = @imageId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "account_id", @out: false, min: 1, max: 1)] 17 | public string @AccountId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "image_id", @out: false, min: 1, max: 1)] 20 | public string @ImageId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_api_gateway_client_certificate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_api_gateway_client_certificate")] 6 | public sealed class aws_api_gateway_client_certificate : nterraform.resource 7 | { 8 | public aws_api_gateway_client_certificate(string @description = null) 9 | { 10 | @Description = @description; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "created_date", @out: true, min: 0, max: 1)] 15 | public string @CreatedDate { get; } 16 | 17 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 18 | public string @Description { get; } 19 | 20 | [nterraform.TerraformProperty(name: "expiration_date", @out: true, min: 0, max: 1)] 21 | public string @ExpirationDate { get; } 22 | 23 | [nterraform.TerraformProperty(name: "pem_encoded_certificate", @out: true, min: 0, max: 1)] 24 | public string @PemEncodedCertificate { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_api_gateway_documentation_version.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_api_gateway_documentation_version")] 6 | public sealed class aws_api_gateway_documentation_version : nterraform.resource 7 | { 8 | public aws_api_gateway_documentation_version(string @restApiId, 9 | string @version, 10 | string @description = null) 11 | { 12 | @RestApiId = @restApiId; 13 | @Version = @version; 14 | @Description = @description; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "rest_api_id", @out: false, min: 1, max: 1)] 19 | public string @RestApiId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "version", @out: false, min: 1, max: 1)] 22 | public string @Version { get; } 23 | 24 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 25 | public string @Description { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_api_gateway_resource.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_api_gateway_resource")] 6 | public sealed class aws_api_gateway_resource : nterraform.resource 7 | { 8 | public aws_api_gateway_resource(string @parentId, 9 | string @pathPart, 10 | string @restApiId) 11 | { 12 | @ParentId = @parentId; 13 | @PathPart = @pathPart; 14 | @RestApiId = @restApiId; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "parent_id", @out: false, min: 1, max: 1)] 19 | public string @ParentId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "path_part", @out: false, min: 1, max: 1)] 22 | public string @PathPart { get; } 23 | 24 | [nterraform.TerraformProperty(name: "rest_api_id", @out: false, min: 1, max: 1)] 25 | public string @RestApiId { get; } 26 | 27 | [nterraform.TerraformProperty(name: "path", @out: true, min: 0, max: 1)] 28 | public string @Path { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_api_gateway_vpc_link.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_api_gateway_vpc_link")] 6 | public sealed class aws_api_gateway_vpc_link : nterraform.resource 7 | { 8 | public aws_api_gateway_vpc_link(string @name, 9 | string[] @targetArns, 10 | string @description = null) 11 | { 12 | @Name = @name; 13 | @TargetArns = @targetArns; 14 | @Description = @description; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "target_arns", @out: false, min: 1, max: 1)] 22 | public string[] @TargetArns { get; } 23 | 24 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 25 | public string @Description { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_app_cookie_stickiness_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_app_cookie_stickiness_policy")] 6 | public sealed class aws_app_cookie_stickiness_policy : nterraform.resource 7 | { 8 | public aws_app_cookie_stickiness_policy(string @cookieName, 9 | int @lbPort, 10 | string @loadBalancer, 11 | string @name) 12 | { 13 | @CookieName = @cookieName; 14 | @LbPort = @lbPort; 15 | @LoadBalancer = @loadBalancer; 16 | @Name = @name; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "cookie_name", @out: false, min: 1, max: 1)] 21 | public string @CookieName { get; } 22 | 23 | [nterraform.TerraformProperty(name: "lb_port", @out: false, min: 1, max: 1)] 24 | public int @LbPort { get; } 25 | 26 | [nterraform.TerraformProperty(name: "load_balancer", @out: false, min: 1, max: 1)] 27 | public string @LoadBalancer { get; } 28 | 29 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 30 | public string @Name { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_appsync_api_key.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_appsync_api_key")] 6 | public sealed class aws_appsync_api_key : nterraform.resource 7 | { 8 | public aws_appsync_api_key(string @apiId, 9 | string @description = null, 10 | string @expires = null) 11 | { 12 | @ApiId = @apiId; 13 | @Description = @description; 14 | @Expires = @expires; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "api_id", @out: false, min: 1, max: 1)] 19 | public string @ApiId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 22 | public string @Description { get; } 23 | 24 | [nterraform.TerraformProperty(name: "expires", @out: false, min: 0, max: 1)] 25 | public string @Expires { get; } 26 | 27 | [nterraform.TerraformProperty(name: "key", @out: true, min: 0, max: 1)] 28 | public string @Key { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_athena_database.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_athena_database")] 6 | public sealed class aws_athena_database : nterraform.resource 7 | { 8 | public aws_athena_database(string @bucket, 9 | string @name, 10 | bool? @forceDestroy = null) 11 | { 12 | @Bucket = @bucket; 13 | @Name = @name; 14 | @ForceDestroy = @forceDestroy; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "bucket", @out: false, min: 1, max: 1)] 19 | public string @Bucket { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "force_destroy", @out: false, min: 0, max: 1)] 25 | public bool? @ForceDestroy { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_athena_named_query.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_athena_named_query")] 6 | public sealed class aws_athena_named_query : nterraform.resource 7 | { 8 | public aws_athena_named_query(string @database, 9 | string @name, 10 | string @query, 11 | string @description = null) 12 | { 13 | @Database = @database; 14 | @Name = @name; 15 | @Query = @query; 16 | @Description = @description; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "database", @out: false, min: 1, max: 1)] 21 | public string @Database { get; } 22 | 23 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 24 | public string @Name { get; } 25 | 26 | [nterraform.TerraformProperty(name: "query", @out: false, min: 1, max: 1)] 27 | public string @Query { get; } 28 | 29 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 30 | public string @Description { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_autoscaling_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_autoscaling_attachment")] 6 | public sealed class aws_autoscaling_attachment : nterraform.resource 7 | { 8 | public aws_autoscaling_attachment(string @autoscalingGroupName, 9 | string @albTargetGroupArn = null, 10 | string @elb = null) 11 | { 12 | @AutoscalingGroupName = @autoscalingGroupName; 13 | @AlbTargetGroupArn = @albTargetGroupArn; 14 | @Elb = @elb; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "autoscaling_group_name", @out: false, min: 1, max: 1)] 19 | public string @AutoscalingGroupName { get; } 20 | 21 | [nterraform.TerraformProperty(name: "alb_target_group_arn", @out: false, min: 0, max: 1)] 22 | public string @AlbTargetGroupArn { get; } 23 | 24 | [nterraform.TerraformProperty(name: "elb", @out: false, min: 0, max: 1)] 25 | public string @Elb { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_autoscaling_notification.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_autoscaling_notification")] 6 | public sealed class aws_autoscaling_notification : nterraform.resource 7 | { 8 | public aws_autoscaling_notification(string[] @groupNames, 9 | string[] @notifications, 10 | string @topicArn) 11 | { 12 | @GroupNames = @groupNames; 13 | @Notifications = @notifications; 14 | @TopicArn = @topicArn; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "group_names", @out: false, min: 1, max: 1)] 19 | public string[] @GroupNames { get; } 20 | 21 | [nterraform.TerraformProperty(name: "notifications", @out: false, min: 1, max: 1)] 22 | public string[] @Notifications { get; } 23 | 24 | [nterraform.TerraformProperty(name: "topic_arn", @out: false, min: 1, max: 1)] 25 | public string @TopicArn { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_cloudwatch_dashboard.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_cloudwatch_dashboard")] 6 | public sealed class aws_cloudwatch_dashboard : nterraform.resource 7 | { 8 | public aws_cloudwatch_dashboard(string @dashboardBody, 9 | string @dashboardName) 10 | { 11 | @DashboardBody = @dashboardBody; 12 | @DashboardName = @dashboardName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "dashboard_body", @out: false, min: 1, max: 1)] 17 | public string @DashboardBody { get; } 18 | 19 | [nterraform.TerraformProperty(name: "dashboard_name", @out: false, min: 1, max: 1)] 20 | public string @DashboardName { get; } 21 | 22 | [nterraform.TerraformProperty(name: "dashboard_arn", @out: true, min: 0, max: 1)] 23 | public string @DashboardArn { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_cloudwatch_event_permission.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_cloudwatch_event_permission")] 6 | public sealed class aws_cloudwatch_event_permission : nterraform.resource 7 | { 8 | public aws_cloudwatch_event_permission(string @principal, 9 | string @statementId, 10 | string @action = null) 11 | { 12 | @Principal = @principal; 13 | @StatementId = @statementId; 14 | @Action = @action; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "principal", @out: false, min: 1, max: 1)] 19 | public string @Principal { get; } 20 | 21 | [nterraform.TerraformProperty(name: "statement_id", @out: false, min: 1, max: 1)] 22 | public string @StatementId { get; } 23 | 24 | [nterraform.TerraformProperty(name: "action", @out: false, min: 0, max: 1)] 25 | public string @Action { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_cloudwatch_log_destination.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_cloudwatch_log_destination")] 6 | public sealed class aws_cloudwatch_log_destination : nterraform.resource 7 | { 8 | public aws_cloudwatch_log_destination(string @name, 9 | string @roleArn, 10 | string @targetArn) 11 | { 12 | @Name = @name; 13 | @RoleArn = @roleArn; 14 | @TargetArn = @targetArn; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "role_arn", @out: false, min: 1, max: 1)] 22 | public string @RoleArn { get; } 23 | 24 | [nterraform.TerraformProperty(name: "target_arn", @out: false, min: 1, max: 1)] 25 | public string @TargetArn { get; } 26 | 27 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 28 | public string @Arn { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_cloudwatch_log_destination_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_cloudwatch_log_destination_policy")] 6 | public sealed class aws_cloudwatch_log_destination_policy : nterraform.resource 7 | { 8 | public aws_cloudwatch_log_destination_policy(string @accessPolicy, 9 | string @destinationName) 10 | { 11 | @AccessPolicy = @accessPolicy; 12 | @DestinationName = @destinationName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "access_policy", @out: false, min: 1, max: 1)] 17 | public string @AccessPolicy { get; } 18 | 19 | [nterraform.TerraformProperty(name: "destination_name", @out: false, min: 1, max: 1)] 20 | public string @DestinationName { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_cloudwatch_log_resource_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_cloudwatch_log_resource_policy")] 6 | public sealed class aws_cloudwatch_log_resource_policy : nterraform.resource 7 | { 8 | public aws_cloudwatch_log_resource_policy(string @policyDocument, 9 | string @policyName) 10 | { 11 | @PolicyDocument = @policyDocument; 12 | @PolicyName = @policyName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy_document", @out: false, min: 1, max: 1)] 17 | public string @PolicyDocument { get; } 18 | 19 | [nterraform.TerraformProperty(name: "policy_name", @out: false, min: 1, max: 1)] 20 | public string @PolicyName { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_cloudwatch_log_stream.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_cloudwatch_log_stream")] 6 | public sealed class aws_cloudwatch_log_stream : nterraform.resource 7 | { 8 | public aws_cloudwatch_log_stream(string @logGroupName, 9 | string @name) 10 | { 11 | @LogGroupName = @logGroupName; 12 | @Name = @name; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "log_group_name", @out: false, min: 1, max: 1)] 17 | public string @LogGroupName { get; } 18 | 19 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 20 | public string @Name { get; } 21 | 22 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 23 | public string @Arn { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_codebuild_webhook.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_codebuild_webhook")] 6 | public sealed class aws_codebuild_webhook : nterraform.resource 7 | { 8 | public aws_codebuild_webhook(string @projectName, 9 | string @branchFilter = null) 10 | { 11 | @ProjectName = @projectName; 12 | @BranchFilter = @branchFilter; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "project_name", @out: false, min: 1, max: 1)] 17 | public string @ProjectName { get; } 18 | 19 | [nterraform.TerraformProperty(name: "branch_filter", @out: false, min: 0, max: 1)] 20 | public string @BranchFilter { get; } 21 | 22 | [nterraform.TerraformProperty(name: "payload_url", @out: true, min: 0, max: 1)] 23 | public string @PayloadUrl { get; } 24 | 25 | [nterraform.TerraformProperty(name: "secret", @out: true, min: 0, max: 1)] 26 | public string @Secret { get; } 27 | 28 | [nterraform.TerraformProperty(name: "url", @out: true, min: 0, max: 1)] 29 | public string @Url { get; } 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_codedeploy_app.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_codedeploy_app")] 6 | public sealed class aws_codedeploy_app : nterraform.resource 7 | { 8 | public aws_codedeploy_app(string @name, 9 | string @computePlatform = null) 10 | { 11 | @Name = @name; 12 | @ComputePlatform = @computePlatform; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "compute_platform", @out: false, min: 0, max: 1)] 20 | public string @ComputePlatform { get; } 21 | 22 | [nterraform.TerraformProperty(name: "unique_id", @out: true, min: 0, max: 1)] 23 | public string @UniqueId { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_config_aggregate_authorization.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_config_aggregate_authorization")] 6 | public sealed class aws_config_aggregate_authorization : nterraform.resource 7 | { 8 | public aws_config_aggregate_authorization(string @accountId, 9 | string @region) 10 | { 11 | @AccountId = @accountId; 12 | @Region = @region; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "account_id", @out: false, min: 1, max: 1)] 17 | public string @AccountId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "region", @out: false, min: 1, max: 1)] 20 | public string @Region { get; } 21 | 22 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 23 | public string @Arn { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_config_configuration_recorder_status.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_config_configuration_recorder_status")] 6 | public sealed class aws_config_configuration_recorder_status : nterraform.resource 7 | { 8 | public aws_config_configuration_recorder_status(bool @isEnabled, 9 | string @name) 10 | { 11 | @IsEnabled = @isEnabled; 12 | @Name = @name; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "is_enabled", @out: false, min: 1, max: 1)] 17 | public bool @IsEnabled { get; } 18 | 19 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 20 | public string @Name { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_customer_gateway.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_customer_gateway")] 6 | public sealed class aws_customer_gateway : nterraform.resource 7 | { 8 | public aws_customer_gateway(int @bgpAsn, 9 | string @ipAddress, 10 | string @type, 11 | Dictionary @tags = null) 12 | { 13 | @BgpAsn = @bgpAsn; 14 | @IpAddress = @ipAddress; 15 | @Type = @type; 16 | @Tags = @tags; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "bgp_asn", @out: false, min: 1, max: 1)] 21 | public int @BgpAsn { get; } 22 | 23 | [nterraform.TerraformProperty(name: "ip_address", @out: false, min: 1, max: 1)] 24 | public string @IpAddress { get; } 25 | 26 | [nterraform.TerraformProperty(name: "type", @out: false, min: 1, max: 1)] 27 | public string @Type { get; } 28 | 29 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 0, max: 1)] 30 | public Dictionary @Tags { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dax_subnet_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dax_subnet_group")] 6 | public sealed class aws_dax_subnet_group : nterraform.resource 7 | { 8 | public aws_dax_subnet_group(string @name, 9 | string[] @subnetIds, 10 | string @description = null) 11 | { 12 | @Name = @name; 13 | @SubnetIds = @subnetIds; 14 | @Description = @description; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "subnet_ids", @out: false, min: 1, max: 1)] 22 | public string[] @SubnetIds { get; } 23 | 24 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 25 | public string @Description { get; } 26 | 27 | [nterraform.TerraformProperty(name: "vpc_id", @out: true, min: 0, max: 1)] 28 | public string @VpcId { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_devicefarm_project.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_devicefarm_project")] 6 | public sealed class aws_devicefarm_project : nterraform.resource 7 | { 8 | public aws_devicefarm_project(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_directory_service_conditional_forwarder.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_directory_service_conditional_forwarder")] 6 | public sealed class aws_directory_service_conditional_forwarder : nterraform.resource 7 | { 8 | public aws_directory_service_conditional_forwarder(string @directoryId, 9 | string[] @dnsIps, 10 | string @remoteDomainName) 11 | { 12 | @DirectoryId = @directoryId; 13 | @DnsIps = @dnsIps; 14 | @RemoteDomainName = @remoteDomainName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "directory_id", @out: false, min: 1, max: 1)] 19 | public string @DirectoryId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "dns_ips", @out: false, min: 1, max: 1)] 22 | public string[] @DnsIps { get; } 23 | 24 | [nterraform.TerraformProperty(name: "remote_domain_name", @out: false, min: 1, max: 1)] 25 | public string @RemoteDomainName { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dms_certificate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dms_certificate")] 6 | public sealed class aws_dms_certificate : nterraform.resource 7 | { 8 | public aws_dms_certificate(string @certificateId, 9 | string @certificatePem = null, 10 | string @certificateWallet = null) 11 | { 12 | @CertificateId = @certificateId; 13 | @CertificatePem = @certificatePem; 14 | @CertificateWallet = @certificateWallet; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "certificate_id", @out: false, min: 1, max: 1)] 19 | public string @CertificateId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "certificate_arn", @out: true, min: 0, max: 1)] 22 | public string @CertificateArn { get; } 23 | 24 | [nterraform.TerraformProperty(name: "certificate_pem", @out: false, min: 0, max: 1)] 25 | public string @CertificatePem { get; } 26 | 27 | [nterraform.TerraformProperty(name: "certificate_wallet", @out: false, min: 0, max: 1)] 28 | public string @CertificateWallet { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dx_connection_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dx_connection_association")] 6 | public sealed class aws_dx_connection_association : nterraform.resource 7 | { 8 | public aws_dx_connection_association(string @connectionId, 9 | string @lagId) 10 | { 11 | @ConnectionId = @connectionId; 12 | @LagId = @lagId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "connection_id", @out: false, min: 1, max: 1)] 17 | public string @ConnectionId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "lag_id", @out: false, min: 1, max: 1)] 20 | public string @LagId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dx_gateway.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dx_gateway")] 6 | public sealed class aws_dx_gateway : nterraform.resource 7 | { 8 | public aws_dx_gateway(string @amazonSideAsn, 9 | string @name) 10 | { 11 | @AmazonSideAsn = @amazonSideAsn; 12 | @Name = @name; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "amazon_side_asn", @out: false, min: 1, max: 1)] 17 | public string @AmazonSideAsn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 20 | public string @Name { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dx_gateway_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dx_gateway_association")] 6 | public sealed class aws_dx_gateway_association : nterraform.resource 7 | { 8 | public aws_dx_gateway_association(string @dxGatewayId, 9 | string @vpnGatewayId) 10 | { 11 | @DxGatewayId = @dxGatewayId; 12 | @VpnGatewayId = @vpnGatewayId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "dx_gateway_id", @out: false, min: 1, max: 1)] 17 | public string @DxGatewayId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpn_gateway_id", @out: false, min: 1, max: 1)] 20 | public string @VpnGatewayId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dx_hosted_public_virtual_interface_accepter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dx_hosted_public_virtual_interface_accepter")] 6 | public sealed class aws_dx_hosted_public_virtual_interface_accepter : nterraform.resource 7 | { 8 | public aws_dx_hosted_public_virtual_interface_accepter(string @virtualInterfaceId, 9 | Dictionary @tags = null) 10 | { 11 | @VirtualInterfaceId = @virtualInterfaceId; 12 | @Tags = @tags; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "virtual_interface_id", @out: false, min: 1, max: 1)] 17 | public string @VirtualInterfaceId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 20 | public string @Arn { get; } 21 | 22 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 0, max: 1)] 23 | public Dictionary @Tags { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_dynamodb_table_item.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_dynamodb_table_item")] 6 | public sealed class aws_dynamodb_table_item : nterraform.resource 7 | { 8 | public aws_dynamodb_table_item(string @hashKey, 9 | string @item, 10 | string @tableName, 11 | string @rangeKey = null) 12 | { 13 | @HashKey = @hashKey; 14 | @Item = @item; 15 | @TableName = @tableName; 16 | @RangeKey = @rangeKey; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "hash_key", @out: false, min: 1, max: 1)] 21 | public string @HashKey { get; } 22 | 23 | [nterraform.TerraformProperty(name: "item", @out: false, min: 1, max: 1)] 24 | public string @Item { get; } 25 | 26 | [nterraform.TerraformProperty(name: "table_name", @out: false, min: 1, max: 1)] 27 | public string @TableName { get; } 28 | 29 | [nterraform.TerraformProperty(name: "range_key", @out: false, min: 0, max: 1)] 30 | public string @RangeKey { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ecr_lifecycle_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ecr_lifecycle_policy")] 6 | public sealed class aws_ecr_lifecycle_policy : nterraform.resource 7 | { 8 | public aws_ecr_lifecycle_policy(string @policy, 9 | string @repository) 10 | { 11 | @Policy = @policy; 12 | @Repository = @repository; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 17 | public string @Policy { get; } 18 | 19 | [nterraform.TerraformProperty(name: "repository", @out: false, min: 1, max: 1)] 20 | public string @Repository { get; } 21 | 22 | [nterraform.TerraformProperty(name: "registry_id", @out: true, min: 0, max: 1)] 23 | public string @RegistryId { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ecr_repository.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ecr_repository")] 6 | public sealed class aws_ecr_repository : nterraform.resource 7 | { 8 | public aws_ecr_repository(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "registry_id", @out: true, min: 0, max: 1)] 21 | public string @RegistryId { get; } 22 | 23 | [nterraform.TerraformProperty(name: "repository_url", @out: true, min: 0, max: 1)] 24 | public string @RepositoryUrl { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ecr_repository_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ecr_repository_policy")] 6 | public sealed class aws_ecr_repository_policy : nterraform.resource 7 | { 8 | public aws_ecr_repository_policy(string @policy, 9 | string @repository) 10 | { 11 | @Policy = @policy; 12 | @Repository = @repository; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 17 | public string @Policy { get; } 18 | 19 | [nterraform.TerraformProperty(name: "repository", @out: false, min: 1, max: 1)] 20 | public string @Repository { get; } 21 | 22 | [nterraform.TerraformProperty(name: "registry_id", @out: true, min: 0, max: 1)] 23 | public string @RegistryId { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ecs_cluster.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ecs_cluster")] 6 | public sealed class aws_ecs_cluster : nterraform.resource 7 | { 8 | public aws_ecs_cluster(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_egress_only_internet_gateway.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_egress_only_internet_gateway")] 6 | public sealed class aws_egress_only_internet_gateway : nterraform.resource 7 | { 8 | public aws_egress_only_internet_gateway(string @vpcId) 9 | { 10 | @VpcId = @vpcId; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 1, max: 1)] 15 | public string @VpcId { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_elasticache_security_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_elasticache_security_group")] 6 | public sealed class aws_elasticache_security_group : nterraform.resource 7 | { 8 | public aws_elasticache_security_group(string @name, 9 | string[] @securityGroupNames, 10 | string @description = null) 11 | { 12 | @Name = @name; 13 | @SecurityGroupNames = @securityGroupNames; 14 | @Description = @description; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "security_group_names", @out: false, min: 1, max: 1)] 22 | public string[] @SecurityGroupNames { get; } 23 | 24 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 25 | public string @Description { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_elasticache_subnet_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_elasticache_subnet_group")] 6 | public sealed class aws_elasticache_subnet_group : nterraform.resource 7 | { 8 | public aws_elasticache_subnet_group(string @name, 9 | string[] @subnetIds, 10 | string @description = null) 11 | { 12 | @Name = @name; 13 | @SubnetIds = @subnetIds; 14 | @Description = @description; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "subnet_ids", @out: false, min: 1, max: 1)] 22 | public string[] @SubnetIds { get; } 23 | 24 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 25 | public string @Description { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_elasticsearch_domain_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_elasticsearch_domain_policy")] 6 | public sealed class aws_elasticsearch_domain_policy : nterraform.resource 7 | { 8 | public aws_elasticsearch_domain_policy(string @accessPolicies, 9 | string @domainName) 10 | { 11 | @AccessPolicies = @accessPolicies; 12 | @DomainName = @domainName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "access_policies", @out: false, min: 1, max: 1)] 17 | public string @AccessPolicies { get; } 18 | 19 | [nterraform.TerraformProperty(name: "domain_name", @out: false, min: 1, max: 1)] 20 | public string @DomainName { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_elb_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_elb_attachment")] 6 | public sealed class aws_elb_attachment : nterraform.resource 7 | { 8 | public aws_elb_attachment(string @elb, 9 | string @instance) 10 | { 11 | @Elb = @elb; 12 | @Instance = @instance; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "elb", @out: false, min: 1, max: 1)] 17 | public string @Elb { get; } 18 | 19 | [nterraform.TerraformProperty(name: "instance", @out: false, min: 1, max: 1)] 20 | public string @Instance { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_emr_security_configuration.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_emr_security_configuration")] 6 | public sealed class aws_emr_security_configuration : nterraform.resource 7 | { 8 | public aws_emr_security_configuration(string @configuration, 9 | string @namePrefix = null) 10 | { 11 | @Configuration = @configuration; 12 | @NamePrefix = @namePrefix; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "configuration", @out: false, min: 1, max: 1)] 17 | public string @Configuration { get; } 18 | 19 | [nterraform.TerraformProperty(name: "creation_date", @out: true, min: 0, max: 1)] 20 | public string @CreationDate { get; } 21 | 22 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 23 | public string @Name { get; } 24 | 25 | [nterraform.TerraformProperty(name: "name_prefix", @out: false, min: 0, max: 1)] 26 | public string @NamePrefix { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_guardduty_detector.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_guardduty_detector")] 6 | public sealed class aws_guardduty_detector : nterraform.resource 7 | { 8 | public aws_guardduty_detector(bool? @enable = null) 9 | { 10 | @Enable = @enable; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "account_id", @out: true, min: 0, max: 1)] 15 | public string @AccountId { get; } 16 | 17 | [nterraform.TerraformProperty(name: "enable", @out: false, min: 0, max: 1)] 18 | public bool? @Enable { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_account_alias.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_account_alias")] 6 | public sealed class aws_iam_account_alias : nterraform.resource 7 | { 8 | public aws_iam_account_alias(string @accountAlias) 9 | { 10 | @AccountAlias = @accountAlias; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "account_alias", @out: false, min: 1, max: 1)] 15 | public string @AccountAlias { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_group")] 6 | public sealed class aws_iam_group : nterraform.resource 7 | { 8 | public aws_iam_group(string @name, 9 | string @path = null) 10 | { 11 | @Name = @name; 12 | @Path = @path; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 20 | public string @Arn { get; } 21 | 22 | [nterraform.TerraformProperty(name: "path", @out: false, min: 0, max: 1)] 23 | public string @Path { get; } 24 | 25 | [nterraform.TerraformProperty(name: "unique_id", @out: true, min: 0, max: 1)] 26 | public string @UniqueId { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_group_membership.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_group_membership")] 6 | public sealed class aws_iam_group_membership : nterraform.resource 7 | { 8 | public aws_iam_group_membership(string @group, 9 | string @name, 10 | string[] @users) 11 | { 12 | @Group = @group; 13 | @Name = @name; 14 | @Users = @users; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "group", @out: false, min: 1, max: 1)] 19 | public string @Group { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "users", @out: false, min: 1, max: 1)] 25 | public string[] @Users { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_group_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_group_policy")] 6 | public sealed class aws_iam_group_policy : nterraform.resource 7 | { 8 | public aws_iam_group_policy(string @group, 9 | string @policy, 10 | string @namePrefix = null) 11 | { 12 | @Group = @group; 13 | @Policy = @policy; 14 | @NamePrefix = @namePrefix; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "group", @out: false, min: 1, max: 1)] 19 | public string @Group { get; } 20 | 21 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 22 | public string @Policy { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 25 | public string @Name { get; } 26 | 27 | [nterraform.TerraformProperty(name: "name_prefix", @out: false, min: 0, max: 1)] 28 | public string @NamePrefix { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_group_policy_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_group_policy_attachment")] 6 | public sealed class aws_iam_group_policy_attachment : nterraform.resource 7 | { 8 | public aws_iam_group_policy_attachment(string @group, 9 | string @policyArn) 10 | { 11 | @Group = @group; 12 | @PolicyArn = @policyArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "group", @out: false, min: 1, max: 1)] 17 | public string @Group { get; } 18 | 19 | [nterraform.TerraformProperty(name: "policy_arn", @out: false, min: 1, max: 1)] 20 | public string @PolicyArn { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_openid_connect_provider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_openid_connect_provider")] 6 | public sealed class aws_iam_openid_connect_provider : nterraform.resource 7 | { 8 | public aws_iam_openid_connect_provider(string[] @clientIdList, 9 | string[] @thumbprintList, 10 | string @url) 11 | { 12 | @ClientIdList = @clientIdList; 13 | @ThumbprintList = @thumbprintList; 14 | @Url = @url; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "client_id_list", @out: false, min: 1, max: 1)] 19 | public string[] @ClientIdList { get; } 20 | 21 | [nterraform.TerraformProperty(name: "thumbprint_list", @out: false, min: 1, max: 1)] 22 | public string[] @ThumbprintList { get; } 23 | 24 | [nterraform.TerraformProperty(name: "url", @out: false, min: 1, max: 1)] 25 | public string @Url { get; } 26 | 27 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 28 | public string @Arn { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_role_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_role_policy")] 6 | public sealed class aws_iam_role_policy : nterraform.resource 7 | { 8 | public aws_iam_role_policy(string @policy, 9 | string @role, 10 | string @namePrefix = null) 11 | { 12 | @Policy = @policy; 13 | @Role = @role; 14 | @NamePrefix = @namePrefix; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 19 | public string @Policy { get; } 20 | 21 | [nterraform.TerraformProperty(name: "role", @out: false, min: 1, max: 1)] 22 | public string @Role { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 25 | public string @Name { get; } 26 | 27 | [nterraform.TerraformProperty(name: "name_prefix", @out: false, min: 0, max: 1)] 28 | public string @NamePrefix { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_role_policy_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_role_policy_attachment")] 6 | public sealed class aws_iam_role_policy_attachment : nterraform.resource 7 | { 8 | public aws_iam_role_policy_attachment(string @policyArn, 9 | string @role) 10 | { 11 | @PolicyArn = @policyArn; 12 | @Role = @role; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy_arn", @out: false, min: 1, max: 1)] 17 | public string @PolicyArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "role", @out: false, min: 1, max: 1)] 20 | public string @Role { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_saml_provider.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_saml_provider")] 6 | public sealed class aws_iam_saml_provider : nterraform.resource 7 | { 8 | public aws_iam_saml_provider(string @name, 9 | string @samlMetadataDocument) 10 | { 11 | @Name = @name; 12 | @SamlMetadataDocument = @samlMetadataDocument; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "saml_metadata_document", @out: false, min: 1, max: 1)] 20 | public string @SamlMetadataDocument { get; } 21 | 22 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 23 | public string @Arn { get; } 24 | 25 | [nterraform.TerraformProperty(name: "valid_until", @out: true, min: 0, max: 1)] 26 | public string @ValidUntil { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_user_group_membership.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_user_group_membership")] 6 | public sealed class aws_iam_user_group_membership : nterraform.resource 7 | { 8 | public aws_iam_user_group_membership(string[] @groups, 9 | string @user) 10 | { 11 | @Groups = @groups; 12 | @User = @user; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "groups", @out: false, min: 1, max: 1)] 17 | public string[] @Groups { get; } 18 | 19 | [nterraform.TerraformProperty(name: "user", @out: false, min: 1, max: 1)] 20 | public string @User { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_user_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_user_policy")] 6 | public sealed class aws_iam_user_policy : nterraform.resource 7 | { 8 | public aws_iam_user_policy(string @policy, 9 | string @user, 10 | string @namePrefix = null) 11 | { 12 | @Policy = @policy; 13 | @User = @user; 14 | @NamePrefix = @namePrefix; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 19 | public string @Policy { get; } 20 | 21 | [nterraform.TerraformProperty(name: "user", @out: false, min: 1, max: 1)] 22 | public string @User { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 25 | public string @Name { get; } 26 | 27 | [nterraform.TerraformProperty(name: "name_prefix", @out: false, min: 0, max: 1)] 28 | public string @NamePrefix { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iam_user_policy_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iam_user_policy_attachment")] 6 | public sealed class aws_iam_user_policy_attachment : nterraform.resource 7 | { 8 | public aws_iam_user_policy_attachment(string @policyArn, 9 | string @user) 10 | { 11 | @PolicyArn = @policyArn; 12 | @User = @user; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy_arn", @out: false, min: 1, max: 1)] 17 | public string @PolicyArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "user", @out: false, min: 1, max: 1)] 20 | public string @User { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_inspector_assessment_target.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_inspector_assessment_target")] 6 | public sealed class aws_inspector_assessment_target : nterraform.resource 7 | { 8 | public aws_inspector_assessment_target(string @name, 9 | string @resourceGroupArn) 10 | { 11 | @Name = @name; 12 | @ResourceGroupArn = @resourceGroupArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "resource_group_arn", @out: false, min: 1, max: 1)] 20 | public string @ResourceGroupArn { get; } 21 | 22 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 23 | public string @Arn { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_inspector_resource_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_inspector_resource_group")] 6 | public sealed class aws_inspector_resource_group : nterraform.resource 7 | { 8 | public aws_inspector_resource_group(Dictionary @tags) 9 | { 10 | @Tags = @tags; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 1, max: 1)] 15 | public Dictionary @Tags { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_internet_gateway.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_internet_gateway")] 6 | public sealed class aws_internet_gateway : nterraform.resource 7 | { 8 | public aws_internet_gateway(Dictionary @tags = null, 9 | string @vpcId = null) 10 | { 11 | @Tags = @tags; 12 | @VpcId = @vpcId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 0, max: 1)] 17 | public Dictionary @Tags { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 0, max: 1)] 20 | public string @VpcId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iot_certificate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iot_certificate")] 6 | public sealed class aws_iot_certificate : nterraform.resource 7 | { 8 | public aws_iot_certificate(bool @active, 9 | string @csr) 10 | { 11 | @Active = @active; 12 | @Csr = @csr; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "active", @out: false, min: 1, max: 1)] 17 | public bool @Active { get; } 18 | 19 | [nterraform.TerraformProperty(name: "csr", @out: false, min: 1, max: 1)] 20 | public string @Csr { get; } 21 | 22 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 23 | public string @Arn { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_iot_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_iot_policy")] 6 | public sealed class aws_iot_policy : nterraform.resource 7 | { 8 | public aws_iot_policy(string @name, 9 | string @policy) 10 | { 11 | @Name = @name; 12 | @Policy = @policy; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 20 | public string @Policy { get; } 21 | 22 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 23 | public string @Arn { get; } 24 | 25 | [nterraform.TerraformProperty(name: "default_version_id", @out: true, min: 0, max: 1)] 26 | public string @DefaultVersionId { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_key_pair.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_key_pair")] 6 | public sealed class aws_key_pair : nterraform.resource 7 | { 8 | public aws_key_pair(string @publicKey, 9 | string @keyNamePrefix = null) 10 | { 11 | @PublicKey = @publicKey; 12 | @KeyNamePrefix = @keyNamePrefix; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "public_key", @out: false, min: 1, max: 1)] 17 | public string @PublicKey { get; } 18 | 19 | [nterraform.TerraformProperty(name: "fingerprint", @out: true, min: 0, max: 1)] 20 | public string @Fingerprint { get; } 21 | 22 | [nterraform.TerraformProperty(name: "key_name", @out: true, min: 0, max: 1)] 23 | public string @KeyName { get; } 24 | 25 | [nterraform.TerraformProperty(name: "key_name_prefix", @out: false, min: 0, max: 1)] 26 | public string @KeyNamePrefix { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_kms_alias.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_kms_alias")] 6 | public sealed class aws_kms_alias : nterraform.resource 7 | { 8 | public aws_kms_alias(string @targetKeyId, 9 | string @name = null, 10 | string @namePrefix = null) 11 | { 12 | @TargetKeyId = @targetKeyId; 13 | @Name = @name; 14 | @NamePrefix = @namePrefix; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "target_key_id", @out: false, min: 1, max: 1)] 19 | public string @TargetKeyId { get; } 20 | 21 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 22 | public string @Arn { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: false, min: 0, max: 1)] 25 | public string @Name { get; } 26 | 27 | [nterraform.TerraformProperty(name: "name_prefix", @out: false, min: 0, max: 1)] 28 | public string @NamePrefix { get; } 29 | 30 | [nterraform.TerraformProperty(name: "target_key_arn", @out: true, min: 0, max: 1)] 31 | public string @TargetKeyArn { get; } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_lb_listener_certificate.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_lb_listener_certificate")] 6 | public sealed class aws_lb_listener_certificate : nterraform.resource 7 | { 8 | public aws_lb_listener_certificate(string @certificateArn, 9 | string @listenerArn) 10 | { 11 | @CertificateArn = @certificateArn; 12 | @ListenerArn = @listenerArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "certificate_arn", @out: false, min: 1, max: 1)] 17 | public string @CertificateArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "listener_arn", @out: false, min: 1, max: 1)] 20 | public string @ListenerArn { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_lightsail_domain.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_lightsail_domain")] 6 | public sealed class aws_lightsail_domain : nterraform.resource 7 | { 8 | public aws_lightsail_domain(string @domainName) 9 | { 10 | @DomainName = @domainName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "domain_name", @out: false, min: 1, max: 1)] 15 | public string @DomainName { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_lightsail_static_ip.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_lightsail_static_ip")] 6 | public sealed class aws_lightsail_static_ip : nterraform.resource 7 | { 8 | public aws_lightsail_static_ip(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "ip_address", @out: true, min: 0, max: 1)] 21 | public string @IpAddress { get; } 22 | 23 | [nterraform.TerraformProperty(name: "support_code", @out: true, min: 0, max: 1)] 24 | public string @SupportCode { get; } 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_lightsail_static_ip_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_lightsail_static_ip_attachment")] 6 | public sealed class aws_lightsail_static_ip_attachment : nterraform.resource 7 | { 8 | public aws_lightsail_static_ip_attachment(string @instanceName, 9 | string @staticIpName) 10 | { 11 | @InstanceName = @instanceName; 12 | @StaticIpName = @staticIpName; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "instance_name", @out: false, min: 1, max: 1)] 17 | public string @InstanceName { get; } 18 | 19 | [nterraform.TerraformProperty(name: "static_ip_name", @out: false, min: 1, max: 1)] 20 | public string @StaticIpName { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_load_balancer_backend_server_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_load_balancer_backend_server_policy")] 6 | public sealed class aws_load_balancer_backend_server_policy : nterraform.resource 7 | { 8 | public aws_load_balancer_backend_server_policy(int @instancePort, 9 | string @loadBalancerName, 10 | string[] @policyNames = null) 11 | { 12 | @InstancePort = @instancePort; 13 | @LoadBalancerName = @loadBalancerName; 14 | @PolicyNames = @policyNames; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "instance_port", @out: false, min: 1, max: 1)] 19 | public int @InstancePort { get; } 20 | 21 | [nterraform.TerraformProperty(name: "load_balancer_name", @out: false, min: 1, max: 1)] 22 | public string @LoadBalancerName { get; } 23 | 24 | [nterraform.TerraformProperty(name: "policy_names", @out: false, min: 0, max: 1)] 25 | public string[] @PolicyNames { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_load_balancer_listener_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_load_balancer_listener_policy")] 6 | public sealed class aws_load_balancer_listener_policy : nterraform.resource 7 | { 8 | public aws_load_balancer_listener_policy(string @loadBalancerName, 9 | int @loadBalancerPort, 10 | string[] @policyNames = null) 11 | { 12 | @LoadBalancerName = @loadBalancerName; 13 | @LoadBalancerPort = @loadBalancerPort; 14 | @PolicyNames = @policyNames; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "load_balancer_name", @out: false, min: 1, max: 1)] 19 | public string @LoadBalancerName { get; } 20 | 21 | [nterraform.TerraformProperty(name: "load_balancer_port", @out: false, min: 1, max: 1)] 22 | public int @LoadBalancerPort { get; } 23 | 24 | [nterraform.TerraformProperty(name: "policy_names", @out: false, min: 0, max: 1)] 25 | public string[] @PolicyNames { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_macie_member_account_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_macie_member_account_association")] 6 | public sealed class aws_macie_member_account_association : nterraform.resource 7 | { 8 | public aws_macie_member_account_association(string @memberAccountId) 9 | { 10 | @MemberAccountId = @memberAccountId; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "member_account_id", @out: false, min: 1, max: 1)] 15 | public string @MemberAccountId { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_main_route_table_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_main_route_table_association")] 6 | public sealed class aws_main_route_table_association : nterraform.resource 7 | { 8 | public aws_main_route_table_association(string @routeTableId, 9 | string @vpcId) 10 | { 11 | @RouteTableId = @routeTableId; 12 | @VpcId = @vpcId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "route_table_id", @out: false, min: 1, max: 1)] 17 | public string @RouteTableId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 1, max: 1)] 20 | public string @VpcId { get; } 21 | 22 | [nterraform.TerraformProperty(name: "original_route_table_id", @out: true, min: 0, max: 1)] 23 | public string @OriginalRouteTableId { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_media_store_container.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_media_store_container")] 6 | public sealed class aws_media_store_container : nterraform.resource 7 | { 8 | public aws_media_store_container(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "endpoint", @out: true, min: 0, max: 1)] 21 | public string @Endpoint { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_media_store_container_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_media_store_container_policy")] 6 | public sealed class aws_media_store_container_policy : nterraform.resource 7 | { 8 | public aws_media_store_container_policy(string @containerName, 9 | string @policy) 10 | { 11 | @ContainerName = @containerName; 12 | @Policy = @policy; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "container_name", @out: false, min: 1, max: 1)] 17 | public string @ContainerName { get; } 18 | 19 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 20 | public string @Policy { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_network_interface_sg_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_network_interface_sg_attachment")] 6 | public sealed class aws_network_interface_sg_attachment : nterraform.resource 7 | { 8 | public aws_network_interface_sg_attachment(string @networkInterfaceId, 9 | string @securityGroupId) 10 | { 11 | @NetworkInterfaceId = @networkInterfaceId; 12 | @SecurityGroupId = @securityGroupId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "network_interface_id", @out: false, min: 1, max: 1)] 17 | public string @NetworkInterfaceId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "security_group_id", @out: false, min: 1, max: 1)] 20 | public string @SecurityGroupId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_opsworks_permission.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_opsworks_permission")] 6 | public sealed class aws_opsworks_permission : nterraform.resource 7 | { 8 | public aws_opsworks_permission(string @userArn) 9 | { 10 | @UserArn = @userArn; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "user_arn", @out: false, min: 1, max: 1)] 15 | public string @UserArn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "allow_ssh", @out: true, min: 0, max: 1)] 18 | public bool? @AllowSsh { get; } 19 | 20 | [nterraform.TerraformProperty(name: "allow_sudo", @out: true, min: 0, max: 1)] 21 | public bool? @AllowSudo { get; } 22 | 23 | [nterraform.TerraformProperty(name: "level", @out: true, min: 0, max: 1)] 24 | public string @Level { get; } 25 | 26 | [nterraform.TerraformProperty(name: "stack_id", @out: true, min: 0, max: 1)] 27 | public string @StackId { get; } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_organizations_organization.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_organizations_organization")] 6 | public sealed class aws_organizations_organization : nterraform.resource 7 | { 8 | public aws_organizations_organization(string @featureSet = null) 9 | { 10 | @FeatureSet = @featureSet; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 15 | public string @Arn { get; } 16 | 17 | [nterraform.TerraformProperty(name: "feature_set", @out: false, min: 0, max: 1)] 18 | public string @FeatureSet { get; } 19 | 20 | [nterraform.TerraformProperty(name: "master_account_arn", @out: true, min: 0, max: 1)] 21 | public string @MasterAccountArn { get; } 22 | 23 | [nterraform.TerraformProperty(name: "master_account_email", @out: true, min: 0, max: 1)] 24 | public string @MasterAccountEmail { get; } 25 | 26 | [nterraform.TerraformProperty(name: "master_account_id", @out: true, min: 0, max: 1)] 27 | public string @MasterAccountId { get; } 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_organizations_policy_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_organizations_policy_attachment")] 6 | public sealed class aws_organizations_policy_attachment : nterraform.resource 7 | { 8 | public aws_organizations_policy_attachment(string @policyId, 9 | string @targetId) 10 | { 11 | @PolicyId = @policyId; 12 | @TargetId = @targetId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy_id", @out: false, min: 1, max: 1)] 17 | public string @PolicyId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "target_id", @out: false, min: 1, max: 1)] 20 | public string @TargetId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_placement_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_placement_group")] 6 | public sealed class aws_placement_group : nterraform.resource 7 | { 8 | public aws_placement_group(string @name, 9 | string @strategy) 10 | { 11 | @Name = @name; 12 | @Strategy = @strategy; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "strategy", @out: false, min: 1, max: 1)] 20 | public string @Strategy { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_proxy_protocol_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_proxy_protocol_policy")] 6 | public sealed class aws_proxy_protocol_policy : nterraform.resource 7 | { 8 | public aws_proxy_protocol_policy(string[] @instancePorts, 9 | string @loadBalancer) 10 | { 11 | @InstancePorts = @instancePorts; 12 | @LoadBalancer = @loadBalancer; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "instance_ports", @out: false, min: 1, max: 1)] 17 | public string[] @InstancePorts { get; } 18 | 19 | [nterraform.TerraformProperty(name: "load_balancer", @out: false, min: 1, max: 1)] 20 | public string @LoadBalancer { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_redshift_subnet_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_redshift_subnet_group")] 6 | public sealed class aws_redshift_subnet_group : nterraform.resource 7 | { 8 | public aws_redshift_subnet_group(string @name, 9 | string[] @subnetIds, 10 | string @description = null, 11 | Dictionary @tags = null) 12 | { 13 | @Name = @name; 14 | @SubnetIds = @subnetIds; 15 | @Description = @description; 16 | @Tags = @tags; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 21 | public string @Name { get; } 22 | 23 | [nterraform.TerraformProperty(name: "subnet_ids", @out: false, min: 1, max: 1)] 24 | public string[] @SubnetIds { get; } 25 | 26 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 27 | public string @Description { get; } 28 | 29 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 0, max: 1)] 30 | public Dictionary @Tags { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_route53_delegation_set.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_route53_delegation_set")] 6 | public sealed class aws_route53_delegation_set : nterraform.resource 7 | { 8 | public aws_route53_delegation_set(string @referenceName = null) 9 | { 10 | @ReferenceName = @referenceName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name_servers", @out: true, min: 0, max: 1)] 15 | public string[] @NameServers { get; } 16 | 17 | [nterraform.TerraformProperty(name: "reference_name", @out: false, min: 0, max: 1)] 18 | public string @ReferenceName { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_route53_query_log.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_route53_query_log")] 6 | public sealed class aws_route53_query_log : nterraform.resource 7 | { 8 | public aws_route53_query_log(string @cloudwatchLogGroupArn, 9 | string @zoneId) 10 | { 11 | @CloudwatchLogGroupArn = @cloudwatchLogGroupArn; 12 | @ZoneId = @zoneId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "cloudwatch_log_group_arn", @out: false, min: 1, max: 1)] 17 | public string @CloudwatchLogGroupArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "zone_id", @out: false, min: 1, max: 1)] 20 | public string @ZoneId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_route53_zone_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_route53_zone_association")] 6 | public sealed class aws_route53_zone_association : nterraform.resource 7 | { 8 | public aws_route53_zone_association(string @vpcId, 9 | string @zoneId) 10 | { 11 | @VpcId = @vpcId; 12 | @ZoneId = @zoneId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 1, max: 1)] 17 | public string @VpcId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "zone_id", @out: false, min: 1, max: 1)] 20 | public string @ZoneId { get; } 21 | 22 | [nterraform.TerraformProperty(name: "vpc_region", @out: true, min: 0, max: 1)] 23 | public string @VpcRegion { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_route_table_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_route_table_association")] 6 | public sealed class aws_route_table_association : nterraform.resource 7 | { 8 | public aws_route_table_association(string @routeTableId, 9 | string @subnetId) 10 | { 11 | @RouteTableId = @routeTableId; 12 | @SubnetId = @subnetId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "route_table_id", @out: false, min: 1, max: 1)] 17 | public string @RouteTableId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "subnet_id", @out: false, min: 1, max: 1)] 20 | public string @SubnetId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_s3_bucket_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_s3_bucket_policy")] 6 | public sealed class aws_s3_bucket_policy : nterraform.resource 7 | { 8 | public aws_s3_bucket_policy(string @bucket, 9 | string @policy) 10 | { 11 | @Bucket = @bucket; 12 | @Policy = @policy; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "bucket", @out: false, min: 1, max: 1)] 17 | public string @Bucket { get; } 18 | 19 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 20 | public string @Policy { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_secretsmanager_secret_version.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_secretsmanager_secret_version")] 6 | public sealed class aws_secretsmanager_secret_version : nterraform.resource 7 | { 8 | public aws_secretsmanager_secret_version(string @secretId, 9 | string @secretString) 10 | { 11 | @SecretId = @secretId; 12 | @SecretString = @secretString; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "secret_id", @out: false, min: 1, max: 1)] 17 | public string @SecretId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "secret_string", @out: false, min: 1, max: 1)] 20 | public string @SecretString { get; } 21 | 22 | [nterraform.TerraformProperty(name: "version_id", @out: true, min: 0, max: 1)] 23 | public string @VersionId { get; } 24 | 25 | [nterraform.TerraformProperty(name: "version_stages", @out: true, min: 0, max: 1)] 26 | public string[] @VersionStages { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_service_discovery_public_dns_namespace.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_service_discovery_public_dns_namespace")] 6 | public sealed class aws_service_discovery_public_dns_namespace : nterraform.resource 7 | { 8 | public aws_service_discovery_public_dns_namespace(string @name, 9 | string @description = null) 10 | { 11 | @Name = @name; 12 | @Description = @description; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 20 | public string @Arn { get; } 21 | 22 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 23 | public string @Description { get; } 24 | 25 | [nterraform.TerraformProperty(name: "hosted_zone", @out: true, min: 0, max: 1)] 26 | public string @HostedZone { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_active_receipt_rule_set.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_active_receipt_rule_set")] 6 | public sealed class aws_ses_active_receipt_rule_set : nterraform.resource 7 | { 8 | public aws_ses_active_receipt_rule_set(string @ruleSetName) 9 | { 10 | @RuleSetName = @ruleSetName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "rule_set_name", @out: false, min: 1, max: 1)] 15 | public string @RuleSetName { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_configuration_set.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_configuration_set")] 6 | public sealed class aws_ses_configuration_set : nterraform.resource 7 | { 8 | public aws_ses_configuration_set(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_domain_dkim.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_domain_dkim")] 6 | public sealed class aws_ses_domain_dkim : nterraform.resource 7 | { 8 | public aws_ses_domain_dkim(string @domain) 9 | { 10 | @Domain = @domain; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "domain", @out: false, min: 1, max: 1)] 15 | public string @Domain { get; } 16 | 17 | [nterraform.TerraformProperty(name: "dkim_tokens", @out: true, min: 0, max: 1)] 18 | public string[] @DkimTokens { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_domain_identity.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_domain_identity")] 6 | public sealed class aws_ses_domain_identity : nterraform.resource 7 | { 8 | public aws_ses_domain_identity(string @domain) 9 | { 10 | @Domain = @domain; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "domain", @out: false, min: 1, max: 1)] 15 | public string @Domain { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | 20 | [nterraform.TerraformProperty(name: "verification_token", @out: true, min: 0, max: 1)] 21 | public string @VerificationToken { get; } 22 | } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_domain_identity_verification.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_domain_identity_verification")] 6 | public sealed class aws_ses_domain_identity_verification : nterraform.resource 7 | { 8 | public aws_ses_domain_identity_verification(string @domain) 9 | { 10 | @Domain = @domain; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "domain", @out: false, min: 1, max: 1)] 15 | public string @Domain { get; } 16 | 17 | [nterraform.TerraformProperty(name: "arn", @out: true, min: 0, max: 1)] 18 | public string @Arn { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_domain_mail_from.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_domain_mail_from")] 6 | public sealed class aws_ses_domain_mail_from : nterraform.resource 7 | { 8 | public aws_ses_domain_mail_from(string @domain, 9 | string @mailFromDomain, 10 | string @behaviorOnMxFailure = null) 11 | { 12 | @Domain = @domain; 13 | @MailFromDomain = @mailFromDomain; 14 | @BehaviorOnMxFailure = @behaviorOnMxFailure; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "domain", @out: false, min: 1, max: 1)] 19 | public string @Domain { get; } 20 | 21 | [nterraform.TerraformProperty(name: "mail_from_domain", @out: false, min: 1, max: 1)] 22 | public string @MailFromDomain { get; } 23 | 24 | [nterraform.TerraformProperty(name: "behavior_on_mx_failure", @out: false, min: 0, max: 1)] 25 | public string @BehaviorOnMxFailure { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_identity_notification_topic.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_identity_notification_topic")] 6 | public sealed class aws_ses_identity_notification_topic : nterraform.resource 7 | { 8 | public aws_ses_identity_notification_topic(string @identity, 9 | string @notificationType, 10 | string @topicArn = null) 11 | { 12 | @Identity = @identity; 13 | @NotificationType = @notificationType; 14 | @TopicArn = @topicArn; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "identity", @out: false, min: 1, max: 1)] 19 | public string @Identity { get; } 20 | 21 | [nterraform.TerraformProperty(name: "notification_type", @out: false, min: 1, max: 1)] 22 | public string @NotificationType { get; } 23 | 24 | [nterraform.TerraformProperty(name: "topic_arn", @out: false, min: 0, max: 1)] 25 | public string @TopicArn { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_receipt_filter.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_receipt_filter")] 6 | public sealed class aws_ses_receipt_filter : nterraform.resource 7 | { 8 | public aws_ses_receipt_filter(string @cidr, 9 | string @name, 10 | string @policy) 11 | { 12 | @Cidr = @cidr; 13 | @Name = @name; 14 | @Policy = @policy; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "cidr", @out: false, min: 1, max: 1)] 19 | public string @Cidr { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 25 | public string @Policy { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_receipt_rule_set.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_receipt_rule_set")] 6 | public sealed class aws_ses_receipt_rule_set : nterraform.resource 7 | { 8 | public aws_ses_receipt_rule_set(string @ruleSetName) 9 | { 10 | @RuleSetName = @ruleSetName; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "rule_set_name", @out: false, min: 1, max: 1)] 15 | public string @RuleSetName { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ses_template.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ses_template")] 6 | public sealed class aws_ses_template : nterraform.resource 7 | { 8 | public aws_ses_template(string @name, 9 | string @html = null, 10 | string @subject = null, 11 | string @text = null) 12 | { 13 | @Name = @name; 14 | @Html = @html; 15 | @Subject = @subject; 16 | @Text = @text; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 21 | public string @Name { get; } 22 | 23 | [nterraform.TerraformProperty(name: "html", @out: false, min: 0, max: 1)] 24 | public string @Html { get; } 25 | 26 | [nterraform.TerraformProperty(name: "subject", @out: false, min: 0, max: 1)] 27 | public string @Subject { get; } 28 | 29 | [nterraform.TerraformProperty(name: "text", @out: false, min: 0, max: 1)] 30 | public string @Text { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_sfn_activity.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_sfn_activity")] 6 | public sealed class aws_sfn_activity : nterraform.resource 7 | { 8 | public aws_sfn_activity(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | 17 | [nterraform.TerraformProperty(name: "creation_date", @out: true, min: 0, max: 1)] 18 | public string @CreationDate { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_sfn_state_machine.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_sfn_state_machine")] 6 | public sealed class aws_sfn_state_machine : nterraform.resource 7 | { 8 | public aws_sfn_state_machine(string @definition, 9 | string @name, 10 | string @roleArn) 11 | { 12 | @Definition = @definition; 13 | @Name = @name; 14 | @RoleArn = @roleArn; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "definition", @out: false, min: 1, max: 1)] 19 | public string @Definition { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "role_arn", @out: false, min: 1, max: 1)] 25 | public string @RoleArn { get; } 26 | 27 | [nterraform.TerraformProperty(name: "creation_date", @out: true, min: 0, max: 1)] 28 | public string @CreationDate { get; } 29 | 30 | [nterraform.TerraformProperty(name: "status", @out: true, min: 0, max: 1)] 31 | public string @Status { get; } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_simpledb_domain.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_simpledb_domain")] 6 | public sealed class aws_simpledb_domain : nterraform.resource 7 | { 8 | public aws_simpledb_domain(string @name) 9 | { 10 | @Name = @name; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 15 | public string @Name { get; } 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_snapshot_create_volume_permission.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_snapshot_create_volume_permission")] 6 | public sealed class aws_snapshot_create_volume_permission : nterraform.resource 7 | { 8 | public aws_snapshot_create_volume_permission(string @accountId, 9 | string @snapshotId) 10 | { 11 | @AccountId = @accountId; 12 | @SnapshotId = @snapshotId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "account_id", @out: false, min: 1, max: 1)] 17 | public string @AccountId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "snapshot_id", @out: false, min: 1, max: 1)] 20 | public string @SnapshotId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_sns_topic_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_sns_topic_policy")] 6 | public sealed class aws_sns_topic_policy : nterraform.resource 7 | { 8 | public aws_sns_topic_policy(string @arn, 9 | string @policy) 10 | { 11 | @Arn = @arn; 12 | @Policy = @policy; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "arn", @out: false, min: 1, max: 1)] 17 | public string @Arn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 20 | public string @Policy { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_spot_datafeed_subscription.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_spot_datafeed_subscription")] 6 | public sealed class aws_spot_datafeed_subscription : nterraform.resource 7 | { 8 | public aws_spot_datafeed_subscription(string @bucket, 9 | string @prefix = null) 10 | { 11 | @Bucket = @bucket; 12 | @Prefix = @prefix; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "bucket", @out: false, min: 1, max: 1)] 17 | public string @Bucket { get; } 18 | 19 | [nterraform.TerraformProperty(name: "prefix", @out: false, min: 0, max: 1)] 20 | public string @Prefix { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_sqs_queue_policy.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_sqs_queue_policy")] 6 | public sealed class aws_sqs_queue_policy : nterraform.resource 7 | { 8 | public aws_sqs_queue_policy(string @policy, 9 | string @queueUrl) 10 | { 11 | @Policy = @policy; 12 | @QueueUrl = @queueUrl; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "policy", @out: false, min: 1, max: 1)] 17 | public string @Policy { get; } 18 | 19 | [nterraform.TerraformProperty(name: "queue_url", @out: false, min: 1, max: 1)] 20 | public string @QueueUrl { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_ssm_patch_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_ssm_patch_group")] 6 | public sealed class aws_ssm_patch_group : nterraform.resource 7 | { 8 | public aws_ssm_patch_group(string @baselineId, 9 | string @patchGroup) 10 | { 11 | @BaselineId = @baselineId; 12 | @PatchGroup = @patchGroup; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "baseline_id", @out: false, min: 1, max: 1)] 17 | public string @BaselineId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "patch_group", @out: false, min: 1, max: 1)] 20 | public string @PatchGroup { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_storagegateway_cache.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_storagegateway_cache")] 6 | public sealed class aws_storagegateway_cache : nterraform.resource 7 | { 8 | public aws_storagegateway_cache(string @diskId, 9 | string @gatewayArn) 10 | { 11 | @DiskId = @diskId; 12 | @GatewayArn = @gatewayArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "disk_id", @out: false, min: 1, max: 1)] 17 | public string @DiskId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "gateway_arn", @out: false, min: 1, max: 1)] 20 | public string @GatewayArn { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_storagegateway_upload_buffer.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_storagegateway_upload_buffer")] 6 | public sealed class aws_storagegateway_upload_buffer : nterraform.resource 7 | { 8 | public aws_storagegateway_upload_buffer(string @diskId, 9 | string @gatewayArn) 10 | { 11 | @DiskId = @diskId; 12 | @GatewayArn = @gatewayArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "disk_id", @out: false, min: 1, max: 1)] 17 | public string @DiskId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "gateway_arn", @out: false, min: 1, max: 1)] 20 | public string @GatewayArn { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_storagegateway_working_storage.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_storagegateway_working_storage")] 6 | public sealed class aws_storagegateway_working_storage : nterraform.resource 7 | { 8 | public aws_storagegateway_working_storage(string @diskId, 9 | string @gatewayArn) 10 | { 11 | @DiskId = @diskId; 12 | @GatewayArn = @gatewayArn; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "disk_id", @out: false, min: 1, max: 1)] 17 | public string @DiskId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "gateway_arn", @out: false, min: 1, max: 1)] 20 | public string @GatewayArn { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_swf_domain.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_swf_domain")] 6 | public sealed class aws_swf_domain : nterraform.resource 7 | { 8 | public aws_swf_domain(string @workflowExecutionRetentionPeriodInDays, 9 | string @description = null, 10 | string @namePrefix = null) 11 | { 12 | @WorkflowExecutionRetentionPeriodInDays = @workflowExecutionRetentionPeriodInDays; 13 | @Description = @description; 14 | @NamePrefix = @namePrefix; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "workflow_execution_retention_period_in_days", @out: false, min: 1, max: 1)] 19 | public string @WorkflowExecutionRetentionPeriodInDays { get; } 20 | 21 | [nterraform.TerraformProperty(name: "description", @out: false, min: 0, max: 1)] 22 | public string @Description { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: true, min: 0, max: 1)] 25 | public string @Name { get; } 26 | 27 | [nterraform.TerraformProperty(name: "name_prefix", @out: false, min: 0, max: 1)] 28 | public string @NamePrefix { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpc_dhcp_options_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpc_dhcp_options_association")] 6 | public sealed class aws_vpc_dhcp_options_association : nterraform.resource 7 | { 8 | public aws_vpc_dhcp_options_association(string @dhcpOptionsId, 9 | string @vpcId) 10 | { 11 | @DhcpOptionsId = @dhcpOptionsId; 12 | @VpcId = @vpcId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "dhcp_options_id", @out: false, min: 1, max: 1)] 17 | public string @DhcpOptionsId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 1, max: 1)] 20 | public string @VpcId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpc_endpoint_route_table_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpc_endpoint_route_table_association")] 6 | public sealed class aws_vpc_endpoint_route_table_association : nterraform.resource 7 | { 8 | public aws_vpc_endpoint_route_table_association(string @routeTableId, 9 | string @vpcEndpointId) 10 | { 11 | @RouteTableId = @routeTableId; 12 | @VpcEndpointId = @vpcEndpointId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "route_table_id", @out: false, min: 1, max: 1)] 17 | public string @RouteTableId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_endpoint_id", @out: false, min: 1, max: 1)] 20 | public string @VpcEndpointId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpc_endpoint_service_allowed_principal.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpc_endpoint_service_allowed_principal")] 6 | public sealed class aws_vpc_endpoint_service_allowed_principal : nterraform.resource 7 | { 8 | public aws_vpc_endpoint_service_allowed_principal(string @principalArn, 9 | string @vpcEndpointServiceId) 10 | { 11 | @PrincipalArn = @principalArn; 12 | @VpcEndpointServiceId = @vpcEndpointServiceId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "principal_arn", @out: false, min: 1, max: 1)] 17 | public string @PrincipalArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_endpoint_service_id", @out: false, min: 1, max: 1)] 20 | public string @VpcEndpointServiceId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpc_endpoint_subnet_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpc_endpoint_subnet_association")] 6 | public sealed class aws_vpc_endpoint_subnet_association : nterraform.resource 7 | { 8 | public aws_vpc_endpoint_subnet_association(string @subnetId, 9 | string @vpcEndpointId) 10 | { 11 | @SubnetId = @subnetId; 12 | @VpcEndpointId = @vpcEndpointId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "subnet_id", @out: false, min: 1, max: 1)] 17 | public string @SubnetId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_endpoint_id", @out: false, min: 1, max: 1)] 20 | public string @VpcEndpointId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpc_ipv4_cidr_block_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpc_ipv4_cidr_block_association")] 6 | public sealed class aws_vpc_ipv4_cidr_block_association : nterraform.resource 7 | { 8 | public aws_vpc_ipv4_cidr_block_association(string @cidrBlock, 9 | string @vpcId) 10 | { 11 | @CidrBlock = @cidrBlock; 12 | @VpcId = @vpcId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "cidr_block", @out: false, min: 1, max: 1)] 17 | public string @CidrBlock { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 1, max: 1)] 20 | public string @VpcId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpn_connection_route.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpn_connection_route")] 6 | public sealed class aws_vpn_connection_route : nterraform.resource 7 | { 8 | public aws_vpn_connection_route(string @destinationCidrBlock, 9 | string @vpnConnectionId) 10 | { 11 | @DestinationCidrBlock = @destinationCidrBlock; 12 | @VpnConnectionId = @vpnConnectionId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "destination_cidr_block", @out: false, min: 1, max: 1)] 17 | public string @DestinationCidrBlock { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpn_connection_id", @out: false, min: 1, max: 1)] 20 | public string @VpnConnectionId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpn_gateway.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpn_gateway")] 6 | public sealed class aws_vpn_gateway : nterraform.resource 7 | { 8 | public aws_vpn_gateway(string @availabilityZone = null, 9 | Dictionary @tags = null) 10 | { 11 | @AvailabilityZone = @availabilityZone; 12 | @Tags = @tags; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "amazon_side_asn", @out: true, min: 0, max: 1)] 17 | public string @AmazonSideAsn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "availability_zone", @out: false, min: 0, max: 1)] 20 | public string @AvailabilityZone { get; } 21 | 22 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 0, max: 1)] 23 | public Dictionary @Tags { get; } 24 | 25 | [nterraform.TerraformProperty(name: "vpc_id", @out: true, min: 0, max: 1)] 26 | public string @VpcId { get; } 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpn_gateway_attachment.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpn_gateway_attachment")] 6 | public sealed class aws_vpn_gateway_attachment : nterraform.resource 7 | { 8 | public aws_vpn_gateway_attachment(string @vpcId, 9 | string @vpnGatewayId) 10 | { 11 | @VpcId = @vpcId; 12 | @VpnGatewayId = @vpnGatewayId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "vpc_id", @out: false, min: 1, max: 1)] 17 | public string @VpcId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpn_gateway_id", @out: false, min: 1, max: 1)] 20 | public string @VpnGatewayId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_vpn_gateway_route_propagation.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_vpn_gateway_route_propagation")] 6 | public sealed class aws_vpn_gateway_route_propagation : nterraform.resource 7 | { 8 | public aws_vpn_gateway_route_propagation(string @routeTableId, 9 | string @vpnGatewayId) 10 | { 11 | @RouteTableId = @routeTableId; 12 | @VpnGatewayId = @vpnGatewayId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "route_table_id", @out: false, min: 1, max: 1)] 17 | public string @RouteTableId { get; } 18 | 19 | [nterraform.TerraformProperty(name: "vpn_gateway_id", @out: false, min: 1, max: 1)] 20 | public string @VpnGatewayId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_waf_regex_pattern_set.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_waf_regex_pattern_set")] 6 | public sealed class aws_waf_regex_pattern_set : nterraform.resource 7 | { 8 | public aws_waf_regex_pattern_set(string @name, 9 | string[] @regexPatternStrings = null) 10 | { 11 | @Name = @name; 12 | @RegexPatternStrings = @regexPatternStrings; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "regex_pattern_strings", @out: false, min: 0, max: 1)] 20 | public string[] @RegexPatternStrings { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_wafregional_regex_pattern_set.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_wafregional_regex_pattern_set")] 6 | public sealed class aws_wafregional_regex_pattern_set : nterraform.resource 7 | { 8 | public aws_wafregional_regex_pattern_set(string @name, 9 | string[] @regexPatternStrings = null) 10 | { 11 | @Name = @name; 12 | @RegexPatternStrings = @regexPatternStrings; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 17 | public string @Name { get; } 18 | 19 | [nterraform.TerraformProperty(name: "regex_pattern_strings", @out: false, min: 0, max: 1)] 20 | public string[] @RegexPatternStrings { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/aws_wafregional_web_acl_association.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "aws_wafregional_web_acl_association")] 6 | public sealed class aws_wafregional_web_acl_association : nterraform.resource 7 | { 8 | public aws_wafregional_web_acl_association(string @resourceArn, 9 | string @webAclId) 10 | { 11 | @ResourceArn = @resourceArn; 12 | @WebAclId = @webAclId; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "resource_arn", @out: false, min: 1, max: 1)] 17 | public string @ResourceArn { get; } 18 | 19 | [nterraform.TerraformProperty(name: "web_acl_id", @out: false, min: 1, max: 1)] 20 | public string @WebAclId { get; } 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_app_service_active_slot.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_app_service_active_slot")] 6 | public sealed class azurerm_app_service_active_slot : nterraform.resource 7 | { 8 | public azurerm_app_service_active_slot(string @appServiceName, 9 | string @appServiceSlotName, 10 | string @resourceGroupName) 11 | { 12 | @AppServiceName = @appServiceName; 13 | @AppServiceSlotName = @appServiceSlotName; 14 | @ResourceGroupName = @resourceGroupName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "app_service_name", @out: false, min: 1, max: 1)] 19 | public string @AppServiceName { get; } 20 | 21 | [nterraform.TerraformProperty(name: "app_service_slot_name", @out: false, min: 1, max: 1)] 22 | public string @AppServiceSlotName { get; } 23 | 24 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 25 | public string @ResourceGroupName { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_app_service_custom_hostname_binding.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_app_service_custom_hostname_binding")] 6 | public sealed class azurerm_app_service_custom_hostname_binding : nterraform.resource 7 | { 8 | public azurerm_app_service_custom_hostname_binding(string @appServiceName, 9 | string @hostname, 10 | string @resourceGroupName) 11 | { 12 | @AppServiceName = @appServiceName; 13 | @Hostname = @hostname; 14 | @ResourceGroupName = @resourceGroupName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "app_service_name", @out: false, min: 1, max: 1)] 19 | public string @AppServiceName { get; } 20 | 21 | [nterraform.TerraformProperty(name: "hostname", @out: false, min: 1, max: 1)] 22 | public string @Hostname { get; } 23 | 24 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 25 | public string @ResourceGroupName { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_application_security_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_application_security_group")] 6 | public sealed class azurerm_application_security_group : nterraform.resource 7 | { 8 | public azurerm_application_security_group(string @location, 9 | string @name, 10 | string @resourceGroupName) 11 | { 12 | @Location = @location; 13 | @Name = @name; 14 | @ResourceGroupName = @resourceGroupName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "location", @out: false, min: 1, max: 1)] 19 | public string @Location { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 25 | public string @ResourceGroupName { get; } 26 | 27 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 28 | public Dictionary @Tags { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_azuread_service_principal.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_azuread_service_principal")] 6 | public sealed class azurerm_azuread_service_principal : nterraform.resource 7 | { 8 | public azurerm_azuread_service_principal(string @applicationId) 9 | { 10 | @ApplicationId = @applicationId; 11 | base._validate_(); 12 | } 13 | 14 | [nterraform.TerraformProperty(name: "application_id", @out: false, min: 1, max: 1)] 15 | public string @ApplicationId { get; } 16 | 17 | [nterraform.TerraformProperty(name: "display_name", @out: true, min: 0, max: 1)] 18 | public string @DisplayName { get; } 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_data_lake_store_file.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_data_lake_store_file")] 6 | public sealed class azurerm_data_lake_store_file : nterraform.resource 7 | { 8 | public azurerm_data_lake_store_file(string @accountName, 9 | string @localFilePath, 10 | string @remoteFilePath) 11 | { 12 | @AccountName = @accountName; 13 | @LocalFilePath = @localFilePath; 14 | @RemoteFilePath = @remoteFilePath; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "account_name", @out: false, min: 1, max: 1)] 19 | public string @AccountName { get; } 20 | 21 | [nterraform.TerraformProperty(name: "local_file_path", @out: false, min: 1, max: 1)] 22 | public string @LocalFilePath { get; } 23 | 24 | [nterraform.TerraformProperty(name: "remote_file_path", @out: false, min: 1, max: 1)] 25 | public string @RemoteFilePath { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_logic_app_action_custom.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_logic_app_action_custom")] 6 | public sealed class azurerm_logic_app_action_custom : nterraform.resource 7 | { 8 | public azurerm_logic_app_action_custom(string @body, 9 | string @logicAppId, 10 | string @name) 11 | { 12 | @Body = @body; 13 | @LogicAppId = @logicAppId; 14 | @Name = @name; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "body", @out: false, min: 1, max: 1)] 19 | public string @Body { get; } 20 | 21 | [nterraform.TerraformProperty(name: "logic_app_id", @out: false, min: 1, max: 1)] 22 | public string @LogicAppId { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 25 | public string @Name { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_logic_app_trigger_custom.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_logic_app_trigger_custom")] 6 | public sealed class azurerm_logic_app_trigger_custom : nterraform.resource 7 | { 8 | public azurerm_logic_app_trigger_custom(string @body, 9 | string @logicAppId, 10 | string @name) 11 | { 12 | @Body = @body; 13 | @LogicAppId = @logicAppId; 14 | @Name = @name; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "body", @out: false, min: 1, max: 1)] 19 | public string @Body { get; } 20 | 21 | [nterraform.TerraformProperty(name: "logic_app_id", @out: false, min: 1, max: 1)] 22 | public string @LogicAppId { get; } 23 | 24 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 25 | public string @Name { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_management_lock.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_management_lock")] 6 | public sealed class azurerm_management_lock : nterraform.resource 7 | { 8 | public azurerm_management_lock(string @lockLevel, 9 | string @name, 10 | string @scope, 11 | string @notes = null) 12 | { 13 | @LockLevel = @lockLevel; 14 | @Name = @name; 15 | @Scope = @scope; 16 | @Notes = @notes; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "lock_level", @out: false, min: 1, max: 1)] 21 | public string @LockLevel { get; } 22 | 23 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 24 | public string @Name { get; } 25 | 26 | [nterraform.TerraformProperty(name: "scope", @out: false, min: 1, max: 1)] 27 | public string @Scope { get; } 28 | 29 | [nterraform.TerraformProperty(name: "notes", @out: false, min: 0, max: 1)] 30 | public string @Notes { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_mysql_configuration.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_mysql_configuration")] 6 | public sealed class azurerm_mysql_configuration : nterraform.resource 7 | { 8 | public azurerm_mysql_configuration(string @name, 9 | string @resourceGroupName, 10 | string @serverName, 11 | string @value) 12 | { 13 | @Name = @name; 14 | @ResourceGroupName = @resourceGroupName; 15 | @ServerName = @serverName; 16 | @Value = @value; 17 | base._validate_(); 18 | } 19 | 20 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 21 | public string @Name { get; } 22 | 23 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 24 | public string @ResourceGroupName { get; } 25 | 26 | [nterraform.TerraformProperty(name: "server_name", @out: false, min: 1, max: 1)] 27 | public string @ServerName { get; } 28 | 29 | [nterraform.TerraformProperty(name: "value", @out: false, min: 1, max: 1)] 30 | public string @Value { get; } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_network_watcher.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_network_watcher")] 6 | public sealed class azurerm_network_watcher : nterraform.resource 7 | { 8 | public azurerm_network_watcher(string @location, 9 | string @name, 10 | string @resourceGroupName) 11 | { 12 | @Location = @location; 13 | @Name = @name; 14 | @ResourceGroupName = @resourceGroupName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "location", @out: false, min: 1, max: 1)] 19 | public string @Location { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 25 | public string @ResourceGroupName { get; } 26 | 27 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 28 | public Dictionary @Tags { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_resource_group.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_resource_group")] 6 | public sealed class azurerm_resource_group : nterraform.resource 7 | { 8 | public azurerm_resource_group(string @location, 9 | string @name) 10 | { 11 | @Location = @location; 12 | @Name = @name; 13 | base._validate_(); 14 | } 15 | 16 | [nterraform.TerraformProperty(name: "location", @out: false, min: 1, max: 1)] 17 | public string @Location { get; } 18 | 19 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 20 | public string @Name { get; } 21 | 22 | [nterraform.TerraformProperty(name: "tags", @out: true, min: 0, max: 1)] 23 | public Dictionary @Tags { get; } 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_storage_queue.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_storage_queue")] 6 | public sealed class azurerm_storage_queue : nterraform.resource 7 | { 8 | public azurerm_storage_queue(string @name, 9 | string @resourceGroupName, 10 | string @storageAccountName) 11 | { 12 | @Name = @name; 13 | @ResourceGroupName = @resourceGroupName; 14 | @StorageAccountName = @storageAccountName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 22 | public string @ResourceGroupName { get; } 23 | 24 | [nterraform.TerraformProperty(name: "storage_account_name", @out: false, min: 1, max: 1)] 25 | public string @StorageAccountName { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/azurerm_storage_table.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "azurerm_storage_table")] 6 | public sealed class azurerm_storage_table : nterraform.resource 7 | { 8 | public azurerm_storage_table(string @name, 9 | string @resourceGroupName, 10 | string @storageAccountName) 11 | { 12 | @Name = @name; 13 | @ResourceGroupName = @resourceGroupName; 14 | @StorageAccountName = @storageAccountName; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "resource_group_name", @out: false, min: 1, max: 1)] 22 | public string @ResourceGroupName { get; } 23 | 24 | [nterraform.TerraformProperty(name: "storage_account_name", @out: false, min: 1, max: 1)] 25 | public string @StorageAccountName { get; } 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/nterraform/resources/consul_agent_service.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "consul_agent_service")] 6 | public sealed class consul_agent_service : nterraform.resource 7 | { 8 | public consul_agent_service(string @name, 9 | int? @port = null, 10 | string[] @tags = null) 11 | { 12 | @Name = @name; 13 | @Port = @port; 14 | @Tags = @tags; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 19 | public string @Name { get; } 20 | 21 | [nterraform.TerraformProperty(name: "address", @out: true, min: 0, max: 1)] 22 | public string @Address { get; } 23 | 24 | [nterraform.TerraformProperty(name: "port", @out: false, min: 0, max: 1)] 25 | public int? @Port { get; } 26 | 27 | [nterraform.TerraformProperty(name: "tags", @out: false, min: 0, max: 1)] 28 | public string[] @Tags { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/consul_key_prefix.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "consul_key_prefix")] 6 | public sealed class consul_key_prefix : nterraform.resource 7 | { 8 | public consul_key_prefix(string @pathPrefix, 9 | Dictionary @subkeys, 10 | string @token = null) 11 | { 12 | @PathPrefix = @pathPrefix; 13 | @Subkeys = @subkeys; 14 | @Token = @token; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "path_prefix", @out: false, min: 1, max: 1)] 19 | public string @PathPrefix { get; } 20 | 21 | [nterraform.TerraformProperty(name: "subkeys", @out: false, min: 1, max: 1)] 22 | public Dictionary @Subkeys { get; } 23 | 24 | [nterraform.TerraformProperty(name: "datacenter", @out: true, min: 0, max: 1)] 25 | public string @Datacenter { get; } 26 | 27 | [nterraform.TerraformProperty(name: "token", @out: false, min: 0, max: 1)] 28 | public string @Token { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraform/resources/consul_node.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | 3 | namespace nterraform.resources 4 | { 5 | [nterraform.TerraformStructure(category: "resource", typeName: "consul_node")] 6 | public sealed class consul_node : nterraform.resource 7 | { 8 | public consul_node(string @address, 9 | string @name, 10 | string @token = null) 11 | { 12 | @Address = @address; 13 | @Name = @name; 14 | @Token = @token; 15 | base._validate_(); 16 | } 17 | 18 | [nterraform.TerraformProperty(name: "address", @out: false, min: 1, max: 1)] 19 | public string @Address { get; } 20 | 21 | [nterraform.TerraformProperty(name: "name", @out: false, min: 1, max: 1)] 22 | public string @Name { get; } 23 | 24 | [nterraform.TerraformProperty(name: "datacenter", @out: true, min: 0, max: 1)] 25 | public string @Datacenter { get; } 26 | 27 | [nterraform.TerraformProperty(name: "token", @out: false, min: 0, max: 1)] 28 | public string @Token { get; } 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/nterraformGen/Collections.fs: -------------------------------------------------------------------------------- 1 | module Collections 2 | 3 | let join (p:Map<'a,'b>) (q:Map<'a,'b>) = 4 | Map(Seq.concat [ (Map.toSeq p) ; (Map.toSeq q) ]) 5 | 6 | let (?) cond (a, b) = 7 | match cond with 8 | | true -> a 9 | | _ -> b 10 | -------------------------------------------------------------------------------- /src/nterraformGen/GeneratorDump.fs: -------------------------------------------------------------------------------- 1 | module GeneratorDump 2 | open TerraformSchema 3 | 4 | let Generate plugin category typeName structure = 5 | seq { 6 | match structure with 7 | | FieldType.Structure fields -> yield sprintf "%A" structure 8 | | _ -> failwith "Expecting Structure" 9 | } -------------------------------------------------------------------------------- /src/nterraformGen/NTerraformGen.fsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | netcoreapp2.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/nterraformGen/OutConsole.fs: -------------------------------------------------------------------------------- 1 | module OutConsole 2 | 3 | let Write lines = 4 | lines |> Seq.iter (printfn "%s") 5 | -------------------------------------------------------------------------------- /src/nterraformGen/OutFile.fs: -------------------------------------------------------------------------------- 1 | module OutFile 2 | open System.IO 3 | 4 | let Write plugin category typeName ext lines = 5 | let catDir = category + "s" 6 | let tfnDir = typeName 7 | 8 | Directory.CreateDirectory(catDir) |> ignore 9 | let outfile = sprintf "%s/%s.%s" catDir tfnDir ext 10 | File.WriteAllLines(outfile, lines |> Array.ofSeq) 11 | -------------------------------------------------------------------------------- /src/nterraformGen/StringHelpers.fs: -------------------------------------------------------------------------------- 1 | module StringHelpers 2 | open System 3 | 4 | let rec toPascalWord (strs : string list) = 5 | match strs with 6 | | str :: t -> str.Substring(0, 1).ToUpper() + str.Substring(1) + (toPascalWord t) 7 | | _ -> "" 8 | 9 | 10 | let toCamlCase (str : string) = 11 | let words = str.Split('_', StringSplitOptions.RemoveEmptyEntries) 12 | |> List.ofArray 13 | words.[0] + (words.Tail |> toPascalWord) 14 | 15 | let toPascalCase (str : string) = 16 | let words = str.Split('_', StringSplitOptions.RemoveEmptyEntries) 17 | |> List.ofArray 18 | words |> toPascalWord 19 | 20 | let removeFirstWord (str : string) = 21 | let words = str.Split('_', StringSplitOptions.RemoveEmptyEntries) |> List.ofArray 22 | match words with 23 | | _ :: t -> String.Join('_', t) 24 | | _ -> str 25 | 26 | -------------------------------------------------------------------------------- /src/sandboxCS/Program.cs: -------------------------------------------------------------------------------- 1 | using nterraform; 2 | using nterraform.providers; 3 | using nterraform.resources; 4 | 5 | namespace SandboxCS 6 | { 7 | class Program 8 | { 9 | static void Main(string[] args) 10 | { 11 | var provider = new azurerm(environment: "dev"); 12 | var networkrg = new azurerm_resource_group(name: "production", 13 | location: "West US"); 14 | 15 | var networkSubnets = new[] { new azurerm_virtual_network.subnet(name: "subnet1", addressPrefix: "10.0.1.0/24"), 16 | new azurerm_virtual_network.subnet(name: "subnet2", addressPrefix: "10.0.2.0/24"), 17 | new azurerm_virtual_network.subnet(name: "subnet3", addressPrefix: "10.0.3.0/24") }; 18 | var network = new azurerm_virtual_network(name: "production-network", 19 | addressSpace: new[] { "10.0.0.0/16" }, 20 | location: networkrg.Location, 21 | resourceGroupName: networkrg.Name, 22 | subnet: networkSubnets); 23 | 24 | configuration.build(); 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/sandboxCS/Sample.csx: -------------------------------------------------------------------------------- 1 | #! "netcoreapp2.1" 2 | 3 | #r "../nterraform/bin/Debug/netcoreapp2.0/nterraform.dll" 4 | 5 | using nterraform; 6 | using nterraform.providers; 7 | using nterraform.resources; 8 | 9 | var provider = new azurerm(environment: "dev"); 10 | var networkrg = new azurerm_resource_group(name: "production", 11 | location: "West US"); 12 | 13 | var networkSubnets = new[] { new azurerm_virtual_network.subnet(name: "subnet1", addressPrefix: "10.0.1.0/24"), 14 | new azurerm_virtual_network.subnet(name: "subnet2", addressPrefix: "10.0.2.0/24"), 15 | new azurerm_virtual_network.subnet(name: "subnet3", addressPrefix: "10.0.3.0/24") }; 16 | var network = new azurerm_virtual_network(name: "production-network", 17 | addressSpace: new[] { "10.0.0.0/16" }, 18 | location: networkrg.Location, 19 | resourceGroupName: networkrg.Name, 20 | subnet: networkSubnets); 21 | 22 | configuration.build(); 23 | -------------------------------------------------------------------------------- /src/sandboxCS/SandboxCS.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | netcoreapp2.1 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/sandboxFS/Sample.fsx: -------------------------------------------------------------------------------- 1 |  2 | #r "../nterraform/bin/Debug/netcoreapp2.0/nterraform.dll" 3 | 4 | open nterraform 5 | open nterraform.providers 6 | open nterraform.resources 7 | 8 | let provider = azurerm(environment = "dev") 9 | 10 | let resgroup = azurerm_resource_group(name = "production", 11 | location = "West US") 12 | 13 | let subnets = [| azurerm_virtual_network.subnet(name = "subnet1", addressPrefix = "10.0.1.0/24") 14 | azurerm_virtual_network.subnet(name = "subnet2", addressPrefix = "10.0.2.0/24") 15 | azurerm_virtual_network.subnet(name = "subnet3", addressPrefix = "10.0.3.0/24") |] 16 | 17 | let network = azurerm_virtual_network(name = "production-network", 18 | addressSpace = [| "10.0.0.0/16" |], 19 | location = resgroup.Location, 20 | resourceGroupName = resgroup.Name, 21 | subnet = subnets) 22 | 23 | configuration.build() 24 | -------------------------------------------------------------------------------- /src/sandboxFS/SandboxFS.fsproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Exe 4 | netcoreapp2.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /tools/README.md: -------------------------------------------------------------------------------- 1 | # tfschema 2 | This is a build using this repository https://github.com/pchalamet/NTerraform and not original one. 3 | -------------------------------------------------------------------------------- /tools/tfschema: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pchalamet/NTerraform/0fb0ff34af4a54a8f1640bab59482fcef405e419/tools/tfschema --------------------------------------------------------------------------------