{

"aws_acm_certificate": {
  "full_properties": {
    "domain_name": {
      "description": "A domain name for which the certificate should be issued",
      "required": true
    },
    "subject_alternative_names": {
      "description": "A list of domains that should be SANs in the issued certificate",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "validation_method": {
      "description": "Which method to use for validation. DNS or EMAIL are valid, NONE can be used for certificates that were imported into ACM and then into Terraform.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/acm_certificate.html",
  "properties": [
    "domain_name",
    "subject_alternative_names",
    "validation_method",
    "tags"
  ]
},
"aws_acm_certificate_validation": {
  "full_properties": {
    "certificate_arn": {
      "description": "The ARN of the certificate that is being validated.",
      "required": true
    },
    "validation_record_fqdns": {
      "description": "List of FQDNs that implement the validation. Only valid for DNS validation method ACM certificates. If this is set, the resource can implement additional sanity checks and has an explicit dependency on the resource that is implementing the validation",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/acm_certificate_validation.html",
  "properties": [
    "certificate_arn",
    "validation_record_fqdns"
  ]
},
"aws_acmpca_certificate_authority": {
  "full_properties": {
    "certificate_authority_configuration": {
      "description": "Nested argument containing algorithms and certificate subject information. Defined below.",
      "required": true
    },
    "enabled": {
      "description": "Whether the certificate authority is enabled or disabled. Defaults to true.",
      "required": false
    },
    "revocation_configuration": {
      "description": "Nested argument containing revocation configuration. Defined below.",
      "required": false
    },
    "tags": {
      "description": "Specifies a key-value map of user-defined tags that are attached to the certificate authority.",
      "required": false
    },
    "type": {
      "description": "The type of the certificate authority. Currently, this must be SUBORDINATE.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/acmpca_certificate_authority.html",
  "properties": [
    "certificate_authority_configuration",
    "enabled",
    "revocation_configuration",
    "tags",
    "type"
  ]
},
"aws_ami": {
  "full_properties": {
    "architecture": {
      "description": "Machine architecture for created instances. Defaults to \"x86_64\".",
      "required": false
    },
    "description": {
      "description": "A longer, human-readable description for the AMI.",
      "required": false
    },
    "ebs_block_device": {
      "description": "Nested block describing an EBS block device that should be",
      "required": false
    },
    "ena_support": {
      "description": "Specifies whether enhanced networking with ENA is enabled. Defaults to false.",
      "required": false
    },
    "ephemeral_block_device": {
      "description": "Nested block describing an ephemeral block device that",
      "required": false
    },
    "name": {
      "description": "A region-unique name for the AMI.",
      "required": true
    },
    "root_device_name": {
      "description": "The name of the root device (for example, /dev/sda1, or /dev/xvda).",
      "required": false
    },
    "virtualization_type": {
      "description": "Keyword to choose what virtualization mode created instances",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ami.html",
  "properties": [
    "name",
    "description",
    "ena_support",
    "root_device_name",
    "virtualization_type",
    "architecture",
    "ebs_block_device",
    "ephemeral_block_device"
  ]
},
"aws_ami_copy": {
  "full_properties": {
    "encrypted": {
      "description": "Specifies whether the destination snapshots of the copied image should be encrypted. Defaults to false",
      "required": false
    },
    "kms_key_id": {
      "description": "The full ARN of the KMS Key to use when encrypting the snapshots of an image during a copy operation. If not specified, then the default AWS KMS Key will be used",
      "required": false
    },
    "name": {
      "description": "A region-unique name for the AMI.",
      "required": true
    },
    "source_ami_id": {
      "description": "The id of the AMI to copy. This id must be valid in the region",
      "required": true
    },
    "source_ami_region": {
      "description": "The region from which the AMI will be copied. This may be the",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ami_copy.html",
  "properties": [
    "name",
    "source_ami_id",
    "source_ami_region",
    "encrypted",
    "kms_key_id"
  ]
},
"aws_ami_from_instance": {
  "full_properties": {
    "name": {
      "description": "A region-unique name for the AMI.",
      "required": true
    },
    "snapshot_without_reboot": {
      "description": "Boolean that overrides the behavior of stopping",
      "required": false
    },
    "source_instance_id": {
      "description": "The id of the instance to use as the basis of the AMI.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ami_from_instance.html",
  "properties": [
    "name",
    "source_instance_id",
    "snapshot_without_reboot"
  ]
},
"aws_ami_launch_permission": {
  "full_properties": {
    "account_id": {
      "description": "An AWS Account ID to add launch permissions.",
      "required": true
    },
    "image_id": {
      "description": "A region-unique name for the AMI.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ami_launch_permission.html",
  "properties": [
    "image_id",
    "account_id"
  ]
},
"aws_api_gateway_account": {
  "full_properties": {
    "cloudwatch_role_arn": {
      "description": "The ARN of an IAM role for CloudWatch (to allow logging & monitoring).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_account.html",
  "properties": [
    "cloudwatch_role_arn"
  ]
},
"aws_api_gateway_api_key": {
  "full_properties": {
    "description": {
      "description": "The API key description. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "enabled": {
      "description": "Specifies whether the API key can be used by callers. Defaults to true.",
      "required": false
    },
    "name": {
      "description": "The name of the API key",
      "required": true
    },
    "stage_key": {
      "description": "A list of stage keys associated with the API key - see below",
      "required": false
    },
    "value": {
      "description": "The value of the API key. If not specified, it will be automatically generated by AWS on creation.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_api_key.html",
  "properties": [
    "name",
    "description",
    "enabled",
    "value",
    "stage_key"
  ]
},
"aws_api_gateway_authorizer": {
  "full_properties": {
    "authorizer_credentials": {
      "description": "The credentials required for the authorizer.",
      "required": false
    },
    "authorizer_result_ttl_in_seconds": {
      "description": "The TTL of cached authorizer results in seconds.",
      "required": false
    },
    "authorizer_uri": {
      "description": "The authorizer's Uniform Resource Identifier (URI).",
      "required": false
    },
    "identity_source": {
      "description": "The source of the identity in an incoming request.",
      "required": false
    },
    "identity_validation_expression": {
      "description": "A validation expression for the incoming identity.",
      "required": false
    },
    "name": {
      "description": "The name of the authorizer",
      "required": true
    },
    "provider_arns": {
      "description": "A list of the Amazon Cognito user pool ARNs.",
      "required": false
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    },
    "type": {
      "description": "The type of the authorizer. Possible values are TOKEN for a Lambda function using a single authorization token submitted in a custom header, REQUEST for a Lambda function using incoming request parameters, or COGNITO_USER_POOLS for using an Amazon Cognito user pool.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_authorizer.html",
  "properties": [
    "authorizer_uri",
    "name",
    "rest_api_id",
    "identity_source",
    "type",
    "authorizer_credentials",
    "authorizer_result_ttl_in_seconds",
    "identity_validation_expression",
    "provider_arns"
  ]
},
"aws_api_gateway_base_path_mapping": {
  "full_properties": {
    "api_id": {
      "description": "The id of the API to connect.",
      "required": true
    },
    "base_path": {
      "description": "Path segment that must be prepended to the path when accessing the API via this mapping. If omitted, the API is exposed at the root of the given domain.",
      "required": false
    },
    "domain_name": {
      "description": "The already-registered domain name to connect the API to.",
      "required": true
    },
    "stage_name": {
      "description": "The name of a specific deployment stage to expose at the given path. If omitted, callers may select any stage by including its name as a path element after the base path.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_base_path_mapping.html",
  "properties": [
    "domain_name",
    "api_id",
    "stage_name",
    "base_path"
  ]
},
"aws_api_gateway_client_certificate": {
  "full_properties": {
    "description": {
      "description": "The description of the client certificate.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_client_certificate.html",
  "properties": [
    "description"
  ]
},
"aws_api_gateway_deployment": {
  "full_properties": {
    "description": {
      "description": "The description of the deployment",
      "required": false
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    },
    "stage_description": {
      "description": "The description of the stage",
      "required": false
    },
    "stage_name": {
      "description": "The name of the stage. If the specified stage already exists, it will be updated to point to the new deployment. If the stage does not exist, a new one will be created and point to this deployment. Use \"\" to point at the default stage.",
      "required": true
    },
    "variables": {
      "description": "A map that defines variables for the stage",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_deployment.html",
  "properties": [
    "rest_api_id",
    "stage_name",
    "description",
    "stage_description",
    "variables"
  ]
},
"aws_api_gateway_documentation_part": {
  "full_properties": {
    "location": {
      "description": "The location of the targeted API entity of the to-be-created documentation part. See below.",
      "required": true
    },
    "properties": {
      "description": "A content map of API-specific key-value pairs describing the targeted API entity. The map must be encoded as a JSON string, e.g., \"{ \\\"description\\\": \\\"The API does ...\\\" }\". Only Swagger-compliant key-value pairs can be exported and, hence, published.",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the associated Rest API",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_documentation_part.html",
  "properties": [
    "location",
    "properties",
    "rest_api_id"
  ]
},
"aws_api_gateway_documentation_version": {
  "full_properties": {
    "description": {
      "description": "The description of the API documentation version.",
      "required": false
    },
    "rest_api_id": {
      "description": "The ID of the associated Rest API",
      "required": true
    },
    "version": {
      "description": "The version identifier of the API documentation snapshot.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_documentation_version.html",
  "properties": [
    "version",
    "rest_api_id",
    "description"
  ]
},
"aws_api_gateway_domain_name": {
  "full_properties": {
    "certificate_arn": {
      "description": "The ARN for an AWS-managed certificate. Used when an edge-optimized domain name is",
      "required": false
    },
    "certificate_body": {
      "description": "The certificate issued for the domain name",
      "required": false
    },
    "certificate_chain": {
      "description": "The certificate for the CA that issued the",
      "required": false
    },
    "certificate_name": {
      "description": "The unique name to use when registering this",
      "required": false
    },
    "certificate_private_key": {
      "description": "The private key associated with the",
      "required": false
    },
    "domain_name": {
      "description": "The fully-qualified domain name to register",
      "required": true
    },
    "endpoint_configuration": {
      "description": "Nested argument defining API endpoint configuration including endpoint type. Defined below.",
      "required": false
    },
    "regional_certificate_arn": {
      "description": "The ARN for an AWS-managed certificate. Used when a regional domain name is",
      "required": false
    },
    "regional_certificate_name": {
      "description": "The user-friendly name of the certificate that will be used by regional endpoint for this domain name. Conflicts with certificate_arn, certificate_name, certificate_body, certificate_chain, and",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_domain_name.html",
  "properties": [
    "domain_name",
    "certificate_name",
    "certificate_body",
    "certificate_chain",
    "certificate_private_key",
    "certificate_arn",
    "endpoint_configuration",
    "regional_certificate_arn",
    "regional_certificate_name"
  ]
},
"aws_api_gateway_gateway_response": {
  "full_properties": {
    "response_parameters": {
      "description": "A map specifying the templates used to transform the response body.",
      "required": false
    },
    "response_templates": {
      "description": "A map specifying the parameters (paths, query strings and headers) of the Gateway Response.",
      "required": false
    },
    "response_type": {
      "description": "The response type of the associated GatewayResponse.",
      "required": true
    },
    "rest_api_id": {
      "description": "The string identifier of the associated REST API.",
      "required": true
    },
    "status_code": {
      "description": "The HTTP status code of the Gateway Response.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_gateway_response.html",
  "properties": [
    "rest_api_id",
    "response_type",
    "status_code",
    "response_parameters",
    "response_templates"
  ]
},
"aws_api_gateway_integration": {
  "full_properties": {
    "cache_key_parameters": {
      "description": "A list of cache key parameters for the integration.",
      "required": false
    },
    "cache_namespace": {
      "description": "The integration's cache namespace.",
      "required": false
    },
    "connection_id": {
      "description": "The id of the VpcLink used for the integration. Required if connection_type is VPC_LINK",
      "required": false
    },
    "connection_type": {
      "description": "The integration input's connectionType. Valid values are INTERNET (default for connections through the public routable internet), and VPC_LINK (for private connections between API Gateway and a network load balancer in a VPC).",
      "required": false
    },
    "content_handling": {
      "description": "Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT. If this property is not defined, the request payload will be passed through from the method request to integration request without modification, provided that the passthroughBehaviors is configured to support payload pass-through.",
      "required": false
    },
    "credentials": {
      "description": "The credentials required for the integration. For AWS integrations, 2 options are available. To specify an IAM Role for Amazon API Gateway to assume, use the role's ARN. To require that the caller's identity be passed through from the request, specify the string arn:aws:iam::\\*:user/\\*.",
      "required": false
    },
    "http_method": {
      "description": "The HTTP method (GET, POST, PUT, DELETE, HEAD, OPTION, ANY)",
      "required": true
    },
    "integration_http_method": {
      "description": "The integration HTTP method",
      "required": false
    },
    "passthrough_behavior": {
      "description": "The integration passthrough behavior (WHEN_NO_MATCH, WHEN_NO_TEMPLATES, NEVER).  Required if request_templates is used.",
      "required": false
    },
    "request_parameters": {
      "description": "A map of request query string parameters and headers that should be passed to the backend responder.",
      "required": false
    },
    "request_parameters_in_json": {
      "description": "Deprecated, use request_parameters instead.",
      "required": false
    },
    "request_templates": {
      "description": "A map of the integration's request templates.",
      "required": false
    },
    "resource_id": {
      "description": "The API resource ID.",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API.",
      "required": true
    },
    "timeout_milliseconds": {
      "description": "Custom timeout between 50 and 29,000 milliseconds. The default value is 29,000 milliseconds.",
      "required": false
    },
    "type": {
      "description": "The integration input's type. Valid values are HTTP (for HTTP backends), MOCK (not calling any real backend), AWS (for AWS services), AWS_PROXY (for Lambda proxy integration) and HTTP_PROXY (for HTTP proxy integration). An HTTP or HTTP_PROXY integration with a connection_type of VPC_LINK is referred to as a private integration and uses a VpcLink to connect API Gateway to a network load balancer of a VPC.",
      "required": true
    },
    "uri": {
      "description": "The input's URI (HTTP, AWS). Required if type is HTTP or AWS.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_integration.html",
  "properties": [
    "rest_api_id",
    "resource_id",
    "http_method",
    "integration_http_method",
    "type",
    "connection_type",
    "connection_id",
    "uri",
    "credentials",
    "request_templates",
    "request_parameters",
    "passthrough_behavior",
    "cache_key_parameters",
    "cache_namespace",
    "request_parameters_in_json",
    "content_handling",
    "timeout_milliseconds"
  ]
},
"aws_api_gateway_integration_response": {
  "full_properties": {
    "content_handling": {
      "description": "Specifies how to handle request payload content type conversions. Supported values are CONVERT_TO_BINARY and CONVERT_TO_TEXT. If this property is not defined, the response payload will be passed through from the integration response to the method response without modification.",
      "required": false
    },
    "http_method": {
      "description": "The HTTP method (GET, POST, PUT, DELETE, HEAD, OPTIONS, ANY)",
      "required": true
    },
    "resource_id": {
      "description": "The API resource ID",
      "required": true
    },
    "response_parameters": {
      "description": "A map of response parameters that can be read from the backend response.",
      "required": false
    },
    "response_parameters_in_json": {
      "description": "Deprecated, use response_parameters instead.",
      "required": false
    },
    "response_templates": {
      "description": "A map specifying the templates used to transform the integration response body",
      "required": false
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    },
    "selection_pattern": {
      "description": "Specifies the regular expression pattern used to choose",
      "required": false
    },
    "status_code": {
      "description": "The HTTP status code",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_integration_response.html",
  "properties": [
    "rest_api_id",
    "resource_id",
    "http_method",
    "status_code",
    "selection_pattern",
    "response_templates",
    "response_parameters",
    "response_parameters_in_json",
    "content_handling"
  ]
},
"aws_api_gateway_method": {
  "full_properties": {
    "api_key_required": {
      "description": "Specify if the method requires an API key",
      "required": false
    },
    "authorization": {
      "description": "The type of authorization used for the method (NONE, CUSTOM, AWS_IAM, COGNITO_USER_POOLS)",
      "required": true
    },
    "authorization_scopes": {
      "description": "The authorization scopes used when the authorization is COGNITO_USER_POOLS",
      "required": false
    },
    "authorizer_id": {
      "description": "The authorizer id to be used when the authorization is CUSTOM or COGNITO_USER_POOLS",
      "required": false
    },
    "http_method": {
      "description": "The HTTP Method (GET, POST, PUT, DELETE, HEAD, OPTIONS, ANY)",
      "required": true
    },
    "request_models": {
      "description": "A map of the API models used for the request's content type",
      "required": false
    },
    "request_parameters": {
      "description": "A map of request query string parameters and headers that should be passed to the integration.",
      "required": false
    },
    "request_parameters_in_json": {
      "description": "Deprecated, use request_parameters instead.",
      "required": false
    },
    "request_validator_id": {
      "description": "The ID of a aws_api_gateway_request_validator",
      "required": false
    },
    "resource_id": {
      "description": "The API resource ID",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_method.html",
  "properties": [
    "rest_api_id",
    "resource_id",
    "http_method",
    "authorization",
    "authorizer_id",
    "authorization_scopes",
    "api_key_required",
    "request_models",
    "request_validator_id",
    "request_parameters",
    "request_parameters_in_json"
  ]
},
"aws_api_gateway_method_response": {
  "full_properties": {
    "http_method": {
      "description": "The HTTP Method (GET, POST, PUT, DELETE, HEAD, OPTIONS, ANY)",
      "required": true
    },
    "resource_id": {
      "description": "The API resource ID",
      "required": true
    },
    "response_models": {
      "description": "A map of the API models used for the response's content type",
      "required": false
    },
    "response_parameters": {
      "description": "A map of response parameters that can be sent to the caller.",
      "required": false
    },
    "response_parameters_in_json": {
      "description": "Deprecated, use response_parameters instead.",
      "required": false
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    },
    "status_code": {
      "description": "The HTTP status code",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_method_response.html",
  "properties": [
    "rest_api_id",
    "resource_id",
    "http_method",
    "status_code",
    "response_models",
    "response_parameters",
    "response_parameters_in_json"
  ]
},
"aws_api_gateway_method_settings": {
  "full_properties": {
    "method_path": {
      "description": "Method path defined as {resource_path}/{http_method} for an individual method override, or */* for overriding all methods in the stage.",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the REST API",
      "required": true
    },
    "settings": {
      "description": "The settings block, see below.",
      "required": true
    },
    "stage_name": {
      "description": "The name of the stage",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_method_settings.html",
  "properties": [
    "rest_api_id",
    "stage_name",
    "method_path",
    "settings"
  ]
},
"aws_api_gateway_model": {
  "full_properties": {
    "content_type": {
      "description": "The content type of the model",
      "required": true
    },
    "description": {
      "description": "The description of the model",
      "required": false
    },
    "name": {
      "description": "The name of the model",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    },
    "schema": {
      "description": "The schema of the model in a JSON form",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_model.html",
  "properties": [
    "rest_api_id",
    "name",
    "description",
    "content_type",
    "schema"
  ]
},
"aws_api_gateway_request_validator": {
  "full_properties": {
    "name": {
      "description": "The name of the request validator",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the associated Rest API",
      "required": true
    },
    "validate_request_body": {
      "description": "Boolean whether to validate request body. Defaults to false.",
      "required": false
    },
    "validate_request_parameters": {
      "description": "Boolean whether to validate request parameters. Defaults to false.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_request_validator.html",
  "properties": [
    "name",
    "rest_api_id",
    "validate_request_body",
    "validate_request_parameters"
  ]
},
"aws_api_gateway_resource": {
  "full_properties": {
    "parent_id": {
      "description": "The ID of the parent API resource",
      "required": true
    },
    "path_part": {
      "description": "The last path segment of this API resource.",
      "required": true
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_resource.html",
  "properties": [
    "rest_api_id",
    "parent_id",
    "path_part"
  ]
},
"aws_api_gateway_rest_api": {
  "full_properties": {
    "api_key_source": {
      "description": "The source of the API key for requests. Valid values are HEADER (default) and AUTHORIZER.",
      "required": false
    },
    "binary_media_types": {
      "description": "The list of binary media types supported by the RestApi. By default, the RestApi supports only UTF-8-encoded text payloads.",
      "required": false
    },
    "body": {
      "description": "An OpenAPI specification that defines the set of routes and integrations to create as part of the REST API.",
      "required": false
    },
    "description": {
      "description": "The description of the REST API",
      "required": false
    },
    "endpoint_configuration": {
      "description": "Nested argument defining API endpoint configuration including endpoint type. Defined below.",
      "required": false
    },
    "minimum_compression_size": {
      "description": "Minimum response size to compress for the REST API. Integer between -1 and 10485760 (10MB). Setting a value greater than -1 will enable compression, -1 disables compression (default).",
      "required": false
    },
    "name": {
      "description": "The name of the REST API",
      "required": true
    },
    "policy": {
      "description": "JSON formatted policy document that controls access to the API Gateway. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_rest_api.html",
  "properties": [
    "name",
    "description",
    "endpoint_configuration",
    "binary_media_types",
    "minimum_compression_size",
    "body",
    "policy",
    "api_key_source"
  ]
},
"aws_api_gateway_stage": {
  "full_properties": {
    "access_log_settings": {
      "description": "Enables access logs for the API stage. Detailed below.",
      "required": false
    },
    "cache_cluster_enabled": {
      "description": "Specifies whether a cache cluster is enabled for the stage",
      "required": false
    },
    "cache_cluster_size": {
      "description": "The size of the cache cluster for the stage, if enabled.",
      "required": false
    },
    "client_certificate_id": {
      "description": "The identifier of a client certificate for the stage.",
      "required": false
    },
    "deployment_id": {
      "description": "The ID of the deployment that the stage points to",
      "required": true
    },
    "description": {
      "description": "The description of the stage",
      "required": false
    },
    "documentation_version": {
      "description": "The version of the associated API documentation",
      "required": false
    },
    "rest_api_id": {
      "description": "The ID of the associated REST API",
      "required": true
    },
    "stage_name": {
      "description": "The name of the stage",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "variables": {
      "description": "A map that defines the stage variables",
      "required": false
    },
    "xray_tracing_enabled": {
      "description": "Whether active tracing with X-ray is enabled. Defaults to false.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_stage.html",
  "properties": [
    "rest_api_id",
    "stage_name",
    "deployment_id",
    "access_log_settings",
    "cache_cluster_enabled",
    "cache_cluster_size",
    "client_certificate_id",
    "description",
    "documentation_version",
    "variables",
    "tags",
    "xray_tracing_enabled"
  ]
},
"aws_api_gateway_usage_plan": {
  "full_properties": {
    "api_stages": {
      "description": "The associated API stages of the usage plan.",
      "required": false
    },
    "description": {
      "description": "The description of a usage plan.",
      "required": false
    },
    "name": {
      "description": "The name of the usage plan.",
      "required": true
    },
    "product_code": {
      "description": "The AWS Markeplace product identifier to associate with the usage plan as a SaaS product on AWS Marketplace.",
      "required": false
    },
    "quota_settings": {
      "description": "The quota settings of the usage plan.",
      "required": false
    },
    "throttle_settings": {
      "description": "The throttling limits of the usage plan.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_usage_plan.html",
  "properties": [
    "name",
    "description",
    "api_stages",
    "quota_settings",
    "throttle_settings",
    "product_code"
  ]
},
"aws_api_gateway_usage_plan_key": {
  "full_properties": {
    "key_id": {
      "description": "The identifier of the API key resource.",
      "required": true
    },
    "key_type": {
      "description": "The type of the API key resource. Currently, the valid key type is API_KEY.",
      "required": true
    },
    "usage_plan_id": {
      "description": "The Id of the usage plan resource representing to associate the key to.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_usage_plan_key.html",
  "properties": [
    "key_id",
    "key_type",
    "usage_plan_id"
  ]
},
"aws_api_gateway_vpc_link": {
  "full_properties": {
    "description": {
      "description": "The description of the VPC link.",
      "required": false
    },
    "name": {
      "description": "The name used to label and identify the VPC link.",
      "required": true
    },
    "target_arns": {
      "description": "The list of network load balancer arns in the VPC targeted by the VPC link. Currently AWS only supports 1 target.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/api_gateway_vpc_link.html",
  "properties": [
    "name",
    "description",
    "target_arns"
  ]
},
"aws_app_cookie_stickiness_policy": {
  "full_properties": {
    "cookie_name": {
      "description": "The application cookie whose lifetime the ELB's cookie should follow.",
      "required": true
    },
    "lb_port": {
      "description": "The load balancer port to which the policy",
      "required": true
    },
    "load_balancer": {
      "description": "The name of load balancer to which the policy",
      "required": true
    },
    "name": {
      "description": "The name of the stickiness policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/app_cookie_stickiness_policy.html",
  "properties": [
    "name",
    "load_balancer",
    "lb_port",
    "cookie_name"
  ]
},
"aws_appautoscaling_policy": {
  "full_properties": {
    "name": {
      "description": "The name of the policy.",
      "required": true
    },
    "policy_type": {
      "description": "For DynamoDB, only TargetTrackingScaling is supported. For Amazon ECS, Spot Fleet, and Amazon RDS, both StepScaling and TargetTrackingScaling are supported. For any other service, only StepScaling is supported. Defaults to StepScaling.",
      "required": false
    },
    "resource_id": {
      "description": "The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    },
    "scalable_dimension": {
      "description": "The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    },
    "service_namespace": {
      "description": "The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    },
    "step_scaling_policy_configuration": {
      "description": "Step scaling policy configuration, requires policy_type = \"StepScaling\" (default). See supported fields below.",
      "required": false
    },
    "target_tracking_scaling_policy_configuration": {
      "description": "A target tracking policy, requires policy_type = \"TargetTrackingScaling\". See supported fields below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/appautoscaling_policy.html",
  "properties": [
    "name",
    "policy_type",
    "resource_id",
    "scalable_dimension",
    "service_namespace",
    "step_scaling_policy_configuration",
    "target_tracking_scaling_policy_configuration"
  ]
},
"aws_appautoscaling_scheduled_action": {
  "full_properties": {
    "end_time": {
      "description": "The date and time for the scheduled action to end. Specify the following format: 2006-01-02T15:04:05Z",
      "required": false
    },
    "name": {
      "description": "The name of the scheduled action.",
      "required": true
    },
    "resource_id": {
      "description": "The identifier of the resource associated with the scheduled action. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    },
    "scalable_dimension": {
      "description": "The scalable dimension. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs:service:DesiredCount",
      "required": false
    },
    "scalable_target_action": {
      "description": "The new minimum and maximum capacity. You can set both values or just one. See below",
      "required": false
    },
    "schedule": {
      "description": "The schedule for this action. The following formats are supported: At expressions - at(yyyy-mm-ddThh:mm:ss), Rate expressions - rate(valueunit), Cron expressions - cron(fields). In UTC. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference",
      "required": false
    },
    "service_namespace": {
      "description": "The namespace of the AWS service. Documentation can be found in the parameter at: AWS Application Auto Scaling API Reference Example: ecs",
      "required": true
    },
    "start_time": {
      "description": "The date and time for the scheduled action to start. Specify the following format: 2006-01-02T15:04:05Z",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/appautoscaling_scheduled_action.html",
  "properties": [
    "name",
    "service_namespace",
    "resource_id",
    "scalable_dimension",
    "scalable_target_action",
    "schedule",
    "start_time",
    "end_time"
  ]
},
"aws_appautoscaling_target": {
  "full_properties": {
    "max_capacity": {
      "description": "The max capacity of the scalable target.",
      "required": true
    },
    "min_capacity": {
      "description": "The min capacity of the scalable target.",
      "required": true
    },
    "resource_id": {
      "description": "The resource type and unique identifier string for the resource associated with the scaling policy. Documentation can be found in the ResourceId parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    },
    "role_arn": {
      "description": "The ARN of the IAM role that allows Application",
      "required": false
    },
    "scalable_dimension": {
      "description": "The scalable dimension of the scalable target. Documentation can be found in the ScalableDimension parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    },
    "service_namespace": {
      "description": "The AWS service namespace of the scalable target. Documentation can be found in the ServiceNamespace parameter at: AWS Application Auto Scaling API Reference",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/appautoscaling_target.html",
  "properties": [
    "max_capacity",
    "min_capacity",
    "resource_id",
    "role_arn",
    "scalable_dimension",
    "service_namespace"
  ]
},
"aws_appsync_api_key": {
  "full_properties": {
    "api_id": {
      "description": "The ID of the associated AppSync API",
      "required": true
    },
    "description": {
      "description": "The API key description. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "expires": {
      "description": "RFC3339 string representation of the expiry date. Rounded down to nearest hour. By default, it is 7 days from the date of creation.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/appsync_api_key.html",
  "properties": [
    "api_id",
    "description",
    "expires"
  ]
},
"aws_appsync_datasource": {
  "full_properties": {
    "api_id": {
      "description": "The API ID for the GraphQL API for the DataSource.",
      "required": true
    },
    "description": {
      "description": "A description of the DataSource.",
      "required": false
    },
    "dynamodb_config": {
      "description": "DynamoDB settings. See below",
      "required": false
    },
    "elasticsearch_config": {
      "description": "Amazon Elasticsearch settings. See below",
      "required": false
    },
    "http_config": {
      "description": "HTTP settings. See below",
      "required": false
    },
    "lambda_config": {
      "description": "AWS Lambda settings. See below",
      "required": false
    },
    "name": {
      "description": "A user-supplied name for the DataSource.",
      "required": true
    },
    "service_role_arn": {
      "description": "The IAM service role ARN for the data source.",
      "required": false
    },
    "type": {
      "description": "The type of the DataSource. Valid values: AWS_LAMBDA, AMAZON_DYNAMODB, AMAZON_ELASTICSEARCH, HTTP, NONE.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/appsync_datasource.html",
  "properties": [
    "api_id",
    "name",
    "type",
    "description",
    "service_role_arn",
    "dynamodb_config",
    "elasticsearch_config",
    "http_config",
    "lambda_config"
  ]
},
"aws_appsync_graphql_api": {
  "full_properties": {
    "authentication_type": {
      "description": "The authentication type. Valid values: API_KEY, AWS_IAM, AMAZON_COGNITO_USER_POOLS, OPENID_CONNECT",
      "required": true
    },
    "log_config": {
      "description": "Nested argument containing logging configuration. Defined below.",
      "required": false
    },
    "name": {
      "description": "A user-supplied name for the GraphqlApi.",
      "required": true
    },
    "openid_connect_config": {
      "description": "Nested argument containing OpenID Connect configuration. Defined below.",
      "required": false
    },
    "user_pool_config": {
      "description": "The Amazon Cognito User Pool configuration. Defined below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/appsync_graphql_api.html",
  "properties": [
    "authentication_type",
    "name",
    "log_config",
    "openid_connect_config",
    "user_pool_config"
  ]
},
"aws_athena_database": {
  "full_properties": {
    "bucket": {
      "description": "Name of s3 bucket to save the results of the query execution.",
      "required": true
    },
    "encryption_configuration": {
      "description": "The encryption key block AWS Athena uses to decrypt the data in S3, such as an AWS Key Management Service (AWS KMS) key. An encryption_configuration block is documented below.",
      "required": false
    },
    "force_destroy": {
      "description": "A boolean that indicates all tables should be deleted from the database so that the database can be destroyed without error. The tables are not recoverable.",
      "required": false
    },
    "name": {
      "description": "Name of the database to create.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/athena_database.html",
  "properties": [
    "name",
    "bucket",
    "encryption_configuration",
    "force_destroy"
  ]
},
"aws_athena_named_query": {
  "full_properties": {
    "database": {
      "description": "The database to which the query belongs.",
      "required": true
    },
    "description": {
      "description": "A brief explanation of the query. Maximum length of 1024.",
      "required": false
    },
    "name": {
      "description": "The plain language name for the query. Maximum length of 128.",
      "required": true
    },
    "query": {
      "description": "The text of the query itself. In other words, all query statements. Maximum length of 262144.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/athena_named_query.html",
  "properties": [
    "name",
    "database",
    "query",
    "description"
  ]
},
"aws_autoscaling_attachment": {
  "full_properties": {
    "alb_target_group_arn": {
      "description": "The ARN of an ALB Target Group.",
      "required": false
    },
    "autoscaling_group_name": {
      "description": "Name of ASG to associate with the ELB.",
      "required": true
    },
    "elb": {
      "description": "The name of the ELB.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/autoscaling_attachment.html",
  "properties": [
    "autoscaling_group_name",
    "elb",
    "alb_target_group_arn"
  ]
},
"aws_autoscaling_group": {
  "full_properties": {
    "availability_zones": {
      "description": "A list of one or more availability zones for the group. This parameter should not be specified when using vpc_zone_identifier.",
      "required": false
    },
    "default_cooldown": {
      "description": "The amount of time, in seconds, after a scaling activity completes before another scaling activity can start.",
      "required": false
    },
    "desired_capacity": {
      "description": "The number of Amazon EC2 instances that",
      "required": false
    },
    "enabled_metrics": {
      "description": "A list of metrics to collect. The allowed values are GroupMinSize, GroupMaxSize, GroupDesiredCapacity, GroupInServiceInstances, GroupPendingInstances, GroupStandbyInstances, GroupTerminatingInstances, GroupTotalInstances.",
      "required": false
    },
    "force_delete": {
      "description": "Allows deleting the autoscaling group without waiting",
      "required": false
    },
    "health_check_grace_period": {
      "description": "Time (in seconds) after instance comes into service before checking health.",
      "required": false
    },
    "health_check_type": {
      "description": "\"EC2\" or \"ELB\". Controls how health checking is done.",
      "required": false
    },
    "initial_lifecycle_hookaws_autoscaling_lifecycle_hook": {
    },
    "launch_configuration": {
      "description": "The name of the launch configuration to use.",
      "required": false
    },
    "launch_template": {
      "description": "Nested argument with Launch template specification to use to launch instances. Defined below.",
      "required": false
    },
    "load_balancers": {
      "description": "A list of elastic load balancer names to add to the autoscaling",
      "required": false
    },
    "max_size": {
      "description": "The maximum size of the auto scale group.",
      "required": true
    },
    "metrics_granularity": {
      "description": "The granularity to associate with the metrics to collect. The only valid value is 1Minute. Default is 1Minute.",
      "required": false
    },
    "min_elb_capacity": {
      "description": "Setting this causes Terraform to wait for",
      "required": false
    },
    "min_size": {
      "description": "The minimum size of the auto scale group.",
      "required": true
    },
    "mixed_instance_policy": {
      "description": "Configuration block containing settings to define launch targets for Auto Scaling groups. Defined below.",
      "required": false
    },
    "name": {
      "description": "The name of the auto scaling group. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "placement_group": {
      "description": "The name of the placement group into which you'll launch your instances, if any.",
      "required": false
    },
    "protect_from_scale_in": {
      "description": "Allows setting instance protection. The",
      "required": false
    },
    "service_linked_role_arn": {
      "description": "The ARN of the service-linked role that the ASG will use to call other AWS services",
      "required": false
    },
    "suspended_processes": {
      "description": "A list of processes to suspend for the AutoScaling Group. The allowed values are Launch, Terminate, HealthCheck, ReplaceUnhealthy, AZRebalance, AlarmNotification, ScheduledActions, AddToLoadBalancer.",
      "required": false
    },
    "tag": {
      "description": "A list of tag blocks. Tags documented below.",
      "required": false
    },
    "tags": {
      "description": "A list of tag blocks (maps). Tags documented below.",
      "required": false
    },
    "target_group_arns": {
      "description": "A list of aws_alb_target_group ARNs, for use with Application Load Balancing.",
      "required": false
    },
    "termination_policies": {
      "description": "A list of policies to decide how the instances in the auto scale group should be terminated. The allowed values are OldestInstance, NewestInstance, OldestLaunchConfiguration, ClosestToNextInstanceHour, Default.",
      "required": false
    },
    "vpc_zone_identifier": {
      "description": "A list of subnet IDs to launch resources in.",
      "required": false
    },
    "wait_for_capacity_timeout": {
      "description": "A maximum",
      "required": false
    },
    "wait_for_elb_capacity": {
      "description": "Setting this will cause Terraform to wait",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/autoscaling_group.html",
  "properties": [
    "name",
    "name_prefix",
    "max_size",
    "min_size",
    "availability_zones",
    "default_cooldown",
    "launch_configuration",
    "launch_template",
    "mixed_instance_policy",
    "initial_lifecycle_hookaws_autoscaling_lifecycle_hook",
    "health_check_grace_period",
    "health_check_type",
    "desired_capacity",
    "force_delete",
    "load_balancers",
    "vpc_zone_identifier",
    "target_group_arns",
    "termination_policies",
    "suspended_processes",
    "tag",
    "tags",
    "placement_group",
    "metrics_granularity",
    "enabled_metrics",
    "wait_for_capacity_timeout",
    "min_elb_capacity",
    "wait_for_elb_capacity",
    "protect_from_scale_in",
    "service_linked_role_arn"
  ]
},
"aws_autoscaling_lifecycle_hook": {
  "full_properties": {
    "autoscaling_group_name": {
      "description": "The name of the Auto Scaling group to which you want to assign the lifecycle hook",
      "required": true
    },
    "default_result": {
      "description": "Defines the action the Auto Scaling group should take when the lifecycle hook timeout elapses or if an unexpected failure occurs. The value for this parameter can be either CONTINUE or ABANDON. The default value for this parameter is ABANDON.",
      "required": false
    },
    "heartbeat_timeout": {
      "description": "Defines the amount of time, in seconds, that can elapse before the lifecycle hook times out. When the lifecycle hook times out, Auto Scaling performs the action defined in the DefaultResult parameter",
      "required": false
    },
    "lifecycle_transition": {
      "description": "The instance state to which you want to attach the lifecycle hook. For a list of lifecycle hook types, see describe-lifecycle-hook-types",
      "required": true
    },
    "name": {
      "description": "The name of the lifecycle hook.",
      "required": true
    },
    "notification_metadata": {
      "description": "Contains additional information that you want to include any time Auto Scaling sends a message to the notification target.",
      "required": false
    },
    "notification_target_arn": {
      "description": "The ARN of the notification target that Auto Scaling will use to notify you when an instance is in the transition state for the lifecycle hook. This ARN target can be either an SQS queue or an SNS topic.",
      "required": false
    },
    "role_arn": {
      "description": "The ARN of the IAM role that allows the Auto Scaling group to publish to the specified notification target.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/autoscaling_lifecycle_hooks.html",
  "properties": [
    "name",
    "autoscaling_group_name",
    "default_result",
    "heartbeat_timeout",
    "lifecycle_transition",
    "notification_metadata",
    "notification_target_arn",
    "role_arn"
  ]
},
"aws_autoscaling_notification": {
  "full_properties": {
    "group_names": {
      "description": "A list of AutoScaling Group Names",
      "required": true
    },
    "notifications": {
      "description": "A list of Notification Types that trigger",
      "required": true
    },
    "topic_arn": {
      "description": "The Topic ARN for notifications to be sent through",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/autoscaling_notification.html",
  "properties": [
    "group_names",
    "notifications",
    "topic_arn"
  ]
},
"aws_autoscaling_policy": {
  "full_properties": {
    "adjustment_type": {
      "description": "Specifies whether the adjustment is an absolute number or a percentage of the current capacity. Valid values are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity.",
      "required": false
    },
    "autoscaling_group_name": {
      "description": "The name of the autoscaling group.",
      "required": true
    },
    "estimated_instance_warmup": {
      "description": "The estimated time, in seconds, until a newly launched instance will contribute CloudWatch metrics. Without a value, AWS will default to the group's specified cooldown period.",
      "required": false
    },
    "name": {
      "description": "The name of the policy.",
      "required": true
    },
    "policy_type": {
      "description": "The policy type, either \"SimpleScaling\", \"StepScaling\" or \"TargetTrackingScaling\". If this value isn't provided, AWS will default to \"SimpleScaling.\"",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/autoscaling_policy.html",
  "properties": [
    "name",
    "autoscaling_group_name",
    "adjustment_type",
    "policy_type",
    "estimated_instance_warmup"
  ]
},
"aws_autoscaling_schedule": {
  "full_properties": {
    "autoscaling_group_name": {
      "description": "The name or Amazon Resource Name (ARN) of the Auto Scaling group.",
      "required": true
    },
    "desired_capacity": {
      "description": "The number of EC2 instances that should be running in the group. Default 0.  Set to -1 if you don't want to change the desired capacity at the scheduled time.",
      "required": false
    },
    "end_time": {
      "description": "The time for this action to end, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).",
      "required": false
    },
    "max_size": {
      "description": "The maximum size for the Auto Scaling group. Default 0.",
      "required": false
    },
    "min_size": {
      "description": "The minimum size for the Auto Scaling group. Default 0.",
      "required": false
    },
    "recurrence": {
      "description": "The time when recurring future actions will start. Start time is specified by the user following the Unix cron syntax format.",
      "required": false
    },
    "scheduled_action_name": {
      "description": "The name of this scaling action.",
      "required": true
    },
    "start_time": {
      "description": "The time for this action to start, in \"YYYY-MM-DDThh:mm:ssZ\" format in UTC/GMT only (for example, 2014-06-01T00:00:00Z ).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/autoscaling_schedule.html",
  "properties": [
    "autoscaling_group_name",
    "scheduled_action_name",
    "start_time",
    "end_time",
    "recurrence",
    "min_size",
    "max_size",
    "desired_capacity"
  ]
},
"aws_batch_compute_environment": {
  "full_properties": {
    "compute_environment_name": {
      "description": "The name for your compute environment. Up to 128 letters (uppercase and lowercase), numbers, and underscores are allowed.",
      "required": true
    },
    "compute_resources": {
      "description": "Details of the compute resources managed by the compute environment. This parameter is required for managed compute environments. See details below.",
      "required": false
    },
    "service_role": {
      "description": "The full Amazon Resource Name (ARN) of the IAM role that allows AWS Batch to make calls to other AWS services on your behalf.",
      "required": true
    },
    "state": {
      "description": "The state of the compute environment. If the state is ENABLED, then the compute environment accepts jobs from a queue and can scale out automatically based on queues. Valid items are ENABLED or DISABLED. Defaults to ENABLED.",
      "required": false
    },
    "type": {
      "description": "The type of the compute environment. Valid items are MANAGED or UNMANAGED.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/batch_compute_environment.html",
  "properties": [
    "compute_environment_name",
    "compute_resources",
    "service_role",
    "state",
    "type"
  ]
},
"aws_batch_job_definition": {
  "full_properties": {
    "container_properties": {
      "description": "A valid container properties",
      "required": false
    },
    "name": {
      "description": "Specifies the name of the job definition.",
      "required": true
    },
    "parameters": {
      "description": "Specifies the parameter substitution placeholders to set in the job definition.",
      "required": false
    },
    "retry_strategy": {
      "description": "Specifies the retry strategy to use for failed jobs that are submitted with this job definition.",
      "required": false
    },
    "timeout": {
      "description": "Specifies the timeout for jobs so that if a job runs longer, AWS Batch terminates the job. Maximum number of timeout is 1. Defined below.",
      "required": false
    },
    "type": {
      "description": "The type of job definition.  Must be container",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/batch_job_definition.html",
  "properties": [
    "name",
    "container_properties",
    "parameters",
    "retry_strategy",
    "timeout",
    "type"
  ]
},
"aws_batch_job_queue": {
  "full_properties": {
    "compute_environments": {
      "description": "Specifies the set of compute environments",
      "required": true
    },
    "name": {
      "description": "Specifies the name of the job queue.",
      "required": true
    },
    "priority": {
      "description": "The priority of the job queue. Job queues with a higher priority",
      "required": true
    },
    "state": {
      "description": "The state of the job queue. Must be one of: ENABLED or DISABLED",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/batch_job_queue.html",
  "properties": [
    "name",
    "compute_environments",
    "priority",
    "state"
  ]
},
"aws_budgets_budget": {
  "full_properties": {
    "account_id": {
      "description": "The ID of the target account for budget. Will use current user's account_id by default if omitted.",
      "required": false
    },
    "budget_type": {
      "description": "Whether this budget tracks monetary cost or usage.",
      "required": true
    },
    "cost_filters": {
      "description": "Map of CostFilters key/value pairs to apply to the budget.",
      "required": false
    },
    "cost_types": {
      "description": "Object containing CostTypes The types of cost included in a budget, such as tax and subscriptions..",
      "required": false
    },
    "limit_amount": {
      "description": "The amount of cost or usage being measured for a budget.",
      "required": true
    },
    "limit_unit": {
      "description": "The unit of measurement used for the budget forecast, actual spend, or budget threshold, such as dollars or GB. See Spend documentation.",
      "required": true
    },
    "name": {
      "description": "The name of a budget. Unique within accounts.",
      "required": false
    },
    "name_prefix": {
      "description": "The prefix of the name of a budget. Unique within accounts.",
      "required": false
    },
    "time_period_end": {
      "description": "The end of the time period covered by the budget. There are no restrictions on the end date. Format: 2017-01-01_12:00.",
      "required": false
    },
    "time_period_start": {
      "description": "The start of the time period covered by the budget. The start date must come before the end date. Format: 2017-01-01_12:00.",
      "required": true
    },
    "time_unit": {
      "description": "The length of time until a budget resets the actual and forecasted spend. Valid values: MONTHLY, QUARTERLY, ANNUALLY.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/budgets_budget.html",
  "properties": [
    "account_id",
    "name",
    "name_prefix",
    "budget_type",
    "cost_filters",
    "cost_types",
    "limit_amount",
    "limit_unit",
    "time_period_end",
    "time_period_start",
    "time_unit"
  ]
},
"aws_cloud9_environment_ec2": {
  "full_properties": {
    "automatic_stop_time_minutes": {
      "description": "The number of minutes until the running instance is shut down after the environment has last been used.",
      "required": false
    },
    "description": {
      "description": "The description of the environment.",
      "required": false
    },
    "instance_type": {
      "description": "The type of instance to connect to the environment, e.g. t2.micro.",
      "required": true
    },
    "name": {
      "description": "The name of the environment.",
      "required": true
    },
    "owner_arn": {
      "description": "The ARN of the environment owner. This can be ARN of any AWS IAM principal. Defaults to the environment's creator.",
      "required": false
    },
    "subnet_id": {
      "description": "The ID of the subnet in Amazon VPC that AWS Cloud9 will use to communicate with the Amazon EC2 instance.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloud9_environment_ec2.html",
  "properties": [
    "name",
    "instance_type",
    "automatic_stop_time_minutes",
    "description",
    "owner_arn",
    "subnet_id"
  ]
},
"aws_cloudformation_stack": {
  "full_properties": {
    "capabilities": {
      "description": "A list of capabilities.",
      "required": false
    },
    "disable_rollback": {
      "description": "Set to true to disable rollback of the stack if stack creation failed.",
      "required": false
    },
    "iam_role_arn": {
      "description": "The ARN of an IAM role that AWS CloudFormation assumes to create the stack. If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.",
      "required": false
    },
    "name": {
      "description": "Stack name.",
      "required": true
    },
    "notification_arns": {
      "description": "A list of SNS topic ARNs to publish stack related events.",
      "required": false
    },
    "on_failure": {
      "description": "Action to be taken if stack creation fails. This must be",
      "required": false
    },
    "parameters": {
      "description": "A map of Parameter structures that specify input parameters for the stack.",
      "required": false
    },
    "policy_body": {
      "description": "Structure containing the stack policy body.",
      "required": false
    },
    "policy_url": {
      "description": "Location of a file containing the stack policy.",
      "required": false
    },
    "tags": {
      "description": "A list of tags to associate with this stack.",
      "required": false
    },
    "template_body": {
      "description": "Structure containing the template body (max size: 51,200 bytes).",
      "required": false
    },
    "template_url": {
      "description": "Location of a file containing the template body (max size: 460,800 bytes).",
      "required": false
    },
    "timeout_in_minutes": {
      "description": "The amount of time that can pass before the stack status becomes CREATE_FAILED.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudformation_stack.html",
  "properties": [
    "name",
    "template_body",
    "template_url",
    "capabilities",
    "disable_rollback",
    "notification_arns",
    "on_failure",
    "parameters",
    "policy_body",
    "policy_url",
    "tags",
    "iam_role_arn",
    "timeout_in_minutes"
  ]
},
"aws_cloudfront_distribution": {
  "full_properties": {
    "": {
      "description": "in order of precedence. The topmost cache behavior will have precedence 0.",
      "required": false
    },
    "aliases": {
      "description": "- Extra CNAMEs (alternate domain names), if any, for",
      "required": false
    },
    "cache_behavior": {
      "description": "- Deprecated, use ordered_cache_behavior instead.",
      "required": false
    },
    "comment": {
      "description": "- Any comments you want to include about the",
      "required": false
    },
    "custom_error_response": {
      "description": "- One or more custom error response elements (multiples allowed).",
      "required": false
    },
    "default_cache_behavior": {
      "description": "- The default cache behavior for this distribution (maximum",
      "required": true
    },
    "default_root_object": {
      "description": "- The object that you want CloudFront to",
      "required": false
    },
    "enabled": {
      "description": "- Whether the distribution is enabled to accept end",
      "required": true
    },
    "http_version": {
      "description": "- The maximum HTTP version to support on the",
      "required": false
    },
    "is_ipv6_enabled": {
      "description": "- Whether the IPv6 is enabled for the distribution.",
      "required": false
    },
    "logging_config": {
      "description": "- The logging",
      "required": false
    },
    "ordered_cache_behavior": {
      "description": "- An ordered list of cache behaviors",
      "required": false
    },
    "origin": {
      "description": "- One or more origins for this",
      "required": true
    },
    "price_class": {
      "description": "- The price class for this distribution. One of",
      "required": false
    },
    "restrictions": {
      "description": "- The restriction",
      "required": true
    },
    "retain_on_delete": {
      "description": "- Disables the distribution instead of",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "viewer_certificate": {
      "description": "- The SSL",
      "required": true
    },
    "web_acl_id": {
      "description": "- If you're using AWS WAF to filter CloudFront",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudfront_distribution.html",
  "properties": [
    "aliases",
    "cache_behavior",
    "ordered_cache_behavior",
    "",
    "comment",
    "custom_error_response",
    "default_cache_behavior",
    "default_root_object",
    "enabled",
    "is_ipv6_enabled",
    "http_version",
    "logging_config",
    "origin",
    "price_class",
    "restrictions",
    "tags",
    "viewer_certificate",
    "web_acl_id",
    "retain_on_delete"
  ]
},
"aws_cloudfront_origin_access_identity": {
  "full_properties": {
    "comment": {
      "description": "- An optional comment for the origin access identity.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudfront_origin_access_identity.html",
  "properties": [
    "comment"
  ]
},
"aws_cloudfront_public_key": {
  "full_properties": {
    "comment": {
      "description": "An optional comment about the public key.",
      "required": false
    },
    "encoded_key": {
      "description": "The encoded public key that you want to add to CloudFront to use with features like field-level encryption.",
      "required": true
    },
    "name": {
      "description": "The name for the public key. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "The name for the public key. Conflicts with name.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudfront_public_key.html",
  "properties": [
    "comment",
    "encoded_key",
    "name",
    "name_prefix"
  ]
},
"aws_cloudhsm_v2_cluster": {
  "full_properties": {
    "hsm_type": {
      "description": "The type of HSM module in the cluster. Currently, only hsm1.medium is supported.",
      "required": true
    },
    "source_backup_identifier": {
      "description": "The id of Cloud HSM v2 cluster backup to be restored.",
      "required": false
    },
    "subnet_ids": {
      "description": "The IDs of subnets in which cluster will operate.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudhsm_v2_cluster.html",
  "properties": [
    "source_backup_identifier",
    "hsm_type",
    "subnet_ids"
  ]
},
"aws_cloudhsm_v2_hsm": {
  "full_properties": {
    "availability_zone": {
      "description": "The IDs of AZ in which HSM module will be located. Do not use together with subnet_id.",
      "required": false
    },
    "cluster_id": {
      "description": "The ID of Cloud HSM v2 cluster to which HSM will be added.",
      "required": true
    },
    "ip_address": {
      "description": "The IP address of HSM module. Must be within the CIDR of selected subnet.",
      "required": false
    },
    "subnet_id": {
      "description": "The ID of subnet in which HSM module will be located.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudhsm_v2_hsm.html",
  "properties": [
    "cluster_id",
    "subnet_id",
    "availability_zone",
    "ip_address"
  ]
},
"aws_cloudtrail": {
  "full_properties": {
    "cloud_watch_logs_group_arn": {
      "description": "Specifies a log group name using an Amazon Resource Name (ARN),",
      "required": false
    },
    "cloud_watch_logs_role_arn": {
      "description": "Specifies the role for the CloudWatch Logs",
      "required": false
    },
    "enable_log_file_validation": {
      "description": "Specifies whether log file integrity validation is enabled.",
      "required": false
    },
    "enable_logging": {
      "description": "Enables logging for the trail. Defaults to true.",
      "required": false
    },
    "event_selector": {
      "description": "Specifies an event selector for enabling data event logging. Fields documented below. Please note the CloudTrail limits when configuring these.",
      "required": false
    },
    "include_global_service_events": {
      "description": "Specifies whether the trail is publishing events",
      "required": false
    },
    "is_multi_region_trail": {
      "description": "Specifies whether the trail is created in the current",
      "required": false
    },
    "kms_key_id": {
      "description": "Specifies the KMS key ARN to use to encrypt the logs delivered by CloudTrail.",
      "required": false
    },
    "name": {
      "description": "Specifies the name of the trail.",
      "required": true
    },
    "s3_bucket_name": {
      "description": "Specifies the name of the S3 bucket designated for publishing log files.",
      "required": true
    },
    "s3_key_prefix": {
      "description": "Specifies the S3 key prefix that precedes",
      "required": false
    },
    "sns_topic_name": {
      "description": "Specifies the name of the Amazon SNS topic",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the trail",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudtrail.html",
  "properties": [
    "name",
    "s3_bucket_name",
    "s3_key_prefix",
    "cloud_watch_logs_role_arn",
    "cloud_watch_logs_group_arn",
    "enable_logging",
    "include_global_service_events",
    "is_multi_region_trail",
    "sns_topic_name",
    "enable_log_file_validation",
    "kms_key_id",
    "event_selector",
    "tags"
  ]
},
"aws_cloudwatch_dashboard": {
  "full_properties": {
    "dashboard_body": {
      "description": "The detailed information about the dashboard, including what widgets are included and their location on the dashboard. You can read more about the body structure in the documentation.",
      "required": true
    },
    "dashboard_name": {
      "description": "The name of the dashboard.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_dashboard.html",
  "properties": [
    "dashboard_name",
    "dashboard_body"
  ]
},
"aws_cloudwatch_event_permission": {
  "full_properties": {
    "action": {
      "description": "The action that you are enabling the other account to perform. Defaults to events:PutEvents.",
      "required": false
    },
    "condition": {
      "description": "Configuration block to limit the event bus permissions you are granting to only accounts that fulfill the condition. Specified below.",
      "required": false
    },
    "principal": {
      "description": "The 12-digit AWS account ID that you are permitting to put events to your default event bus. Specify * to permit any account to put events to your default event bus, optionally limited by condition.",
      "required": true
    },
    "statement_id": {
      "description": "An identifier string for the external account that you are granting permissions to.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_event_permission.html",
  "properties": [
    "principal",
    "statement_id",
    "action",
    "condition"
  ]
},
"aws_cloudwatch_event_rule": {
  "full_properties": {
    "description": {
      "description": "The description of the rule.",
      "required": false
    },
    "event_pattern": {
      "description": "Event pattern",
      "required": false
    },
    "is_enabled": {
      "description": "Whether the rule should be enabled (defaults to true).",
      "required": false
    },
    "name": {
      "description": "The rule's name. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "The rule's name. Conflicts with name.",
      "required": false
    },
    "role_arn": {
      "description": "The Amazon Resource Name (ARN) associated with the role that is used for target invocation.",
      "required": false
    },
    "schedule_expression": {
      "description": "The scheduling expression.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_event_rule.html",
  "properties": [
    "name",
    "name_prefix",
    "schedule_expression",
    "event_pattern",
    "description",
    "role_arn",
    "is_enabled"
  ]
},
"aws_cloudwatch_event_target": {
  "full_properties": {
    "arn": {
      "description": "The Amazon Resource Name (ARN) associated of the target.",
      "required": true
    },
    "batch_target": {
      "description": "Parameters used when you are using the rule to invoke an Amazon Batch Job. Documented below. A maximum of 1 are allowed.",
      "required": false
    },
    "ecs_target": {
      "description": "Parameters used when you are using the rule to invoke Amazon ECS Task. Documented below. A maximum of 1 are allowed.",
      "required": false
    },
    "input": {
      "description": "Valid JSON text passed to the target.",
      "required": false
    },
    "input_path": {
      "description": "The value of the JSONPath",
      "required": false
    },
    "input_transformer": {
      "description": "Parameters used when you are providing a custom input to a target based on certain event data.",
      "required": false
    },
    "kinesis_target": {
      "description": "Parameters used when you are using the rule to invoke an Amazon Kinesis Stream. Documented below. A maximum of 1 are allowed.",
      "required": false
    },
    "role_arn": {
      "description": "The Amazon Resource Name (ARN) of the IAM role to be used for this target when the rule is triggered. Required if ecs_target is used.",
      "required": false
    },
    "rule": {
      "description": "The name of the rule you want to add targets to.",
      "required": true
    },
    "run_command_targets": {
      "description": "Parameters used when you are using the rule to invoke Amazon EC2 Run Command. Documented below. A maximum of 5 are allowed.",
      "required": false
    },
    "sqs_target": {
      "description": "Parameters used when you are using the rule to invoke an Amazon SQS Queue. Documented below. A maximum of 1 are allowed.",
      "required": false
    },
    "target_id": {
      "description": "The unique target assignment ID.  If missing, will generate a random, unique id.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_event_target.html",
  "properties": [
    "rule",
    "target_id",
    "arn",
    "input",
    "input_path",
    "role_arn",
    "run_command_targets",
    "ecs_target",
    "batch_target",
    "kinesis_target",
    "sqs_target",
    "input_transformer"
  ]
},
"aws_cloudwatch_log_destination": {
  "full_properties": {
    "name": {
      "description": "A name for the log destination",
      "required": true
    },
    "role_arn": {
      "description": "The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to put data into the target",
      "required": true
    },
    "target_arn": {
      "description": "The ARN of the target Amazon Kinesis stream or Amazon Lambda resource for the destination",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_destination.html",
  "properties": [
    "name",
    "role_arn",
    "target_arn"
  ]
},
"aws_cloudwatch_log_destination_policy": {
  "full_properties": {
    "access_policy": {
      "description": "The policy document. This is a JSON formatted string.",
      "required": true
    },
    "destination_name": {
      "description": "A name for the subscription filter",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_destination_policy.html",
  "properties": [
    "destination_name",
    "access_policy"
  ]
},
"aws_cloudwatch_log_group": {
  "full_properties": {
    "kms_key_id": {
      "description": "The ARN of the KMS Key to use when encrypting log data. Please note, after the AWS KMS CMK is disassociated from the log group,",
      "required": false
    },
    "name": {
      "description": "The name of the log group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "retention_in_days": {
      "description": "Specifies the number of days",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_group.html",
  "properties": [
    "name",
    "name_prefix",
    "retention_in_days",
    "kms_key_id",
    "tags"
  ]
},
"aws_cloudwatch_log_metric_filter": {
  "full_properties": {
    "log_group_name": {
      "description": "The name of the log group to associate the metric filter with.",
      "required": true
    },
    "metric_transformation": {
      "description": "A block defining collection of information",
      "required": true
    },
    "name": {
      "description": "A name for the metric filter.",
      "required": true
    },
    "pattern": {
      "description": "A valid CloudWatch Logs filter pattern",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_metric_filter.html",
  "properties": [
    "name",
    "pattern",
    "log_group_name",
    "metric_transformation"
  ]
},
"aws_cloudwatch_log_resource_policy": {
  "full_properties": {
    "policy_document": {
      "description": "Details of the resource policy, including the identity of the principal that is enabled to put logs to this account. This is formatted as a JSON string. Maximum length of 5120 characters.",
      "required": true
    },
    "policy_name": {
      "description": "Name of the resource policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_resource_policy.html",
  "properties": [
    "policy_document",
    "policy_name"
  ]
},
"aws_cloudwatch_log_stream": {
  "full_properties": {
    "log_group_name": {
      "description": "The name of the log group under which the log stream is to be created.",
      "required": true
    },
    "name": {
      "description": "The name of the log stream. Must not be longer than 512 characters and must not contain :",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_stream.html",
  "properties": [
    "name",
    "log_group_name"
  ]
},
"aws_cloudwatch_log_subscription_filter": {
  "full_properties": {
    "destination_arn": {
      "description": "The ARN of the destination to deliver matching log events to. Kinesis stream or Lambda function ARN.",
      "required": true
    },
    "distribution": {
      "description": "The method used to distribute log data to the destination. By default log data is grouped by log stream, but the grouping can be set to random for a more even distribution. This property is only applicable when the destination is an Amazon Kinesis stream. Valid values are \"Random\" and \"ByLogStream\".",
      "required": false
    },
    "filter_pattern": {
      "description": "A valid CloudWatch Logs filter pattern for subscribing to a filtered stream of log events.",
      "required": true
    },
    "log_group_name": {
      "description": "The name of the log group to associate the subscription filter with",
      "required": true
    },
    "name": {
      "description": "A name for the subscription filter",
      "required": true
    },
    "role_arn": {
      "description": "The ARN of an IAM role that grants Amazon CloudWatch Logs permissions to deliver ingested log events to the destination. If you use Lambda as a destination, you should skip this argument and use aws_lambda_permission resource for granting access from CloudWatch logs to the destination Lambda function. ",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_log_subscription_filter.html",
  "properties": [
    "name",
    "destination_arn",
    "filter_pattern",
    "log_group_name",
    "role_arn",
    "distribution"
  ]
},
"aws_cloudwatch_metric_alarm": {
  "full_properties": {
    "actions_enabled": {
      "description": "Indicates whether or not actions should be executed during any changes to the alarm's state. Defaults to true.",
      "required": false
    },
    "alarm_actions": {
      "description": "The list of actions to execute when this alarm transitions into an ALARM state from any other state. Each action is specified as an Amazon Resource Number (ARN).",
      "required": false
    },
    "alarm_description": {
      "description": "The description for the alarm.",
      "required": false
    },
    "alarm_name": {
      "description": "The descriptive name for the alarm. This name must be unique within the user's AWS account",
      "required": true
    },
    "arn": {
      "description": "The ARN of the cloudwatch metric alarm.",
      "required": false
    },
    "comparison_operator": {
      "description": "The arithmetic operation to use when comparing the specified Statistic and Threshold. The specified Statistic value is used as the first operand. Either of the following is supported: GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold.",
      "required": true
    },
    "datapoints_to_alarm": {
      "description": "The number of datapoints that must be breaching to trigger the alarm.",
      "required": false
    },
    "dimensions": {
      "description": "The dimensions for the alarm's associated metric.  For the list of available dimensions see the AWS documentation here.",
      "required": false
    },
    "evaluate_low_sample_count_percentiles": {
      "description": "Used only for alarms",
      "required": false
    },
    "evaluation_periods": {
      "description": "The number of periods over which data is compared to the specified threshold.",
      "required": true
    },
    "extended_statistic": {
      "description": "The percentile statistic for the metric associated with the alarm. Specify a value between p0.0 and p100.",
      "required": false
    },
    "insufficient_data_actions": {
      "description": "The list of actions to execute when this alarm transitions into an INSUFFICIENT_DATA state from any other state. Each action is specified as an Amazon Resource Number (ARN).",
      "required": false
    },
    "metric_name": {
      "description": "The name for the alarm's associated metric.",
      "required": true
    },
    "namespace": {
      "description": "The namespace for the alarm's associated metric. See docs for the list of namespaces.",
      "required": true
    },
    "ok_actions": {
      "description": "The list of actions to execute when this alarm transitions into an OK state from any other state. Each action is specified as an Amazon Resource Number (ARN).",
      "required": false
    },
    "period": {
      "description": "The period in seconds over which the specified statistic is applied.",
      "required": true
    },
    "statistic": {
      "description": "The statistic to apply to the alarm's associated metric.",
      "required": false
    },
    "threshold": {
      "description": "The value against which the specified statistic is compared.",
      "required": true
    },
    "treat_missing_data": {
      "description": "Sets how this alarm is to handle missing data points. The following values are supported: missing, ignore, breaching and notBreaching. Defaults to missing.",
      "required": false
    },
    "unit": {
      "description": "The unit for the alarm's associated metric.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cloudwatch_metric_alarm.html",
  "properties": [
    "alarm_name",
    "arn",
    "comparison_operator",
    "evaluation_periods",
    "metric_name",
    "namespace",
    "period",
    "statistic",
    "threshold",
    "actions_enabled",
    "alarm_actions",
    "alarm_description",
    "datapoints_to_alarm",
    "dimensions",
    "insufficient_data_actions",
    "ok_actions",
    "unit",
    "extended_statistic",
    "treat_missing_data",
    "evaluate_low_sample_count_percentiles"
  ]
},
"aws_codebuild_project": {
  "full_properties": {
    "artifacts": {
      "description": "Information about the project's build output artifacts. Artifact blocks are documented below.",
      "required": true
    },
    "badge_enabled": {
      "description": "Generates a publicly-accessible URL for the projects build badge. Available as badge_url attribute when enabled.",
      "required": false
    },
    "build_timeout": {
      "description": "How long in minutes, from 5 to 480 (8 hours), for AWS CodeBuild to wait until timing out any related build that does not get marked as completed. The default is 60 minutes.",
      "required": false
    },
    "cache": {
      "description": "Information about the cache storage for the project. Cache blocks are documented below.",
      "required": false
    },
    "description": {
      "description": "A short description of the project.",
      "required": false
    },
    "encryption_key": {
      "description": "The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build project's build output artifacts.",
      "required": false
    },
    "environment": {
      "description": "Information about the project's build environment. Environment blocks are documented below.",
      "required": true
    },
    "name": {
      "description": "The projects name.",
      "required": true
    },
    "secondary_artifacts": {
      "description": "A set of secondary artifacts to be used inside the build. Secondary artifacts blocks are documented below.",
      "required": false
    },
    "secondary_sources": {
      "description": "A set of secondary sources to be used inside the build. Secondary sources blocks are documented below.",
      "required": false
    },
    "service_role": {
      "description": "The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.",
      "required": true
    },
    "source": {
      "description": "Information about the project's input source code. Source blocks are documented below.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_config": {
      "description": "Configuration for the builds to run inside a VPC. VPC config blocks are documented below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/codebuild_project.html",
  "properties": [
    "artifacts",
    "environment",
    "name",
    "source",
    "badge_enabled",
    "build_timeout",
    "cache",
    "description",
    "encryption_key",
    "service_role",
    "tags",
    "vpc_config",
    "secondary_artifacts",
    "secondary_sources"
  ]
},
"aws_codebuild_webhook": {
  "full_properties": {
    "branch_filter": {
      "description": "A regular expression used to determine which branches get built. Default is all branches are built.",
      "required": false
    },
    "project_name": {
      "description": "The name of the build project.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/codebuild_webhook.html",
  "properties": [
    "project_name",
    "branch_filter"
  ]
},
"aws_codecommit_repository": {
  "full_properties": {
    "default_branch": {
      "description": "The default branch of the repository. The branch specified here needs to exist.",
      "required": false
    },
    "description": {
      "description": "The description of the repository. This needs to be less than 1000 characters",
      "required": false
    },
    "repository_name": {
      "description": "The name for the repository. This needs to be less than 100 characters.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/codecommit_repository.html",
  "properties": [
    "repository_name",
    "description",
    "default_branch"
  ]
},
"aws_codecommit_trigger": {
  "full_properties": {
    "branches": {
      "description": "The branches that will be included in the trigger configuration. If no branches are specified, the trigger will apply to all branches.",
      "required": false
    },
    "custom_data": {
      "description": "Any custom data associated with the trigger that will be included in the information sent to the target of the trigger.",
      "required": false
    },
    "destination_arn": {
      "description": "The ARN of the resource that is the target for a trigger. For example, the ARN of a topic in Amazon Simple Notification Service (SNS).",
      "required": true
    },
    "events": {
      "description": "The repository events that will cause the trigger to run actions in another service, such as sending a notification through Amazon Simple Notification Service (SNS). If no events are specified, the trigger will run for all repository events. Event types include: all, updateReference, createReference, deleteReference.",
      "required": true
    },
    "name": {
      "description": "The name of the trigger.",
      "required": true
    },
    "repository_name": {
      "description": "The name for the repository. This needs to be less than 100 characters.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/codecommit_trigger.html",
  "properties": [
    "repository_name",
    "name",
    "destination_arn",
    "custom_data",
    "branches",
    "events"
  ]
},
"aws_codedeploy_app": {
  "full_properties": {
    "compute_platform": {
      "description": "The compute platform can either be Server or Lambda. Default is Server.",
      "required": false
    },
    "name": {
      "description": "The name of the application.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/codedeploy_app.html",
  "properties": [
    "name",
    "compute_platform"
  ]
},
"aws_codedeploy_deployment_config": {
  "full_properties": {
    "deployment_config_name": {
      "description": "The name of the deployment config.",
      "required": true
    },
    "minimum_healthy_hosts": {
      "description": "A minimum_healthy_hosts block. Minimum Healthy Hosts are documented below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/codedeploy_deployment_config.html",
  "properties": [
    "deployment_config_name",
    "minimum_healthy_hosts"
  ]
},
"aws_codedeploy_deployment_group": {
  "full_properties": {
    "alarm_configuration": {
      "description": "Information about alarms associated with the deployment group (documented below).",
      "required": false
    },
    "app_name": {
      "description": "The name of the application.",
      "required": true
    },
    "auto_rollback_configuration": {
      "description": "The automatic rollback configuration associated with the deployment group (documented below).",
      "required": false
    },
    "autoscaling_groups": {
      "description": "Autoscaling groups associated with the deployment group.",
      "required": false
    },
    "blue_green_deployment_config": {
      "description": "Information about blue/green deployment options for a deployment group (documented below).",
      "required": false
    },
    "deployment_config_name": {
      "description": "The name of the group's deployment config. The default is \"CodeDeployDefault.OneAtATime\".",
      "required": false
    },
    "deployment_group_name": {
      "description": "The name of the deployment group.",
      "required": true
    },
    "deployment_style": {
      "description": "Information about the type of deployment, either in-place or blue/green, you want to run and whether to route deployment traffic behind a load balancer (documented below).",
      "required": false
    },
    "ec2_tag_filter": {
      "description": "Tag filters associated with the deployment group. See the AWS docs for details.",
      "required": false
    },
    "ec2_tag_set": {
      "description": "Sets of Tag filters associated with the deployment group, which are referred to as tag groups in the document.  See the AWS docs for details.",
      "required": false
    },
    "load_balancer_info": {
      "description": "Information about the load balancer to use in a blue/green deployment (documented below).",
      "required": false
    },
    "on_premises_instance_tag_filter": {
      "description": "On premise tag filters associated with the group. See the AWS docs for details.",
      "required": false
    },
    "service_role_arn": {
      "description": "The service role ARN that allows deployments.",
      "required": true
    },
    "trigger_configuration": {
      "description": "Trigger Configurations for the deployment group (documented below).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/codedeploy_deployment_group.html",
  "properties": [
    "app_name",
    "deployment_group_name",
    "service_role_arn",
    "autoscaling_groups",
    "deployment_config_name",
    "ec2_tag_filter",
    "ec2_tag_set",
    "on_premises_instance_tag_filter",
    "trigger_configuration",
    "auto_rollback_configuration",
    "alarm_configuration",
    "deployment_style",
    "load_balancer_info",
    "blue_green_deployment_config"
  ]
},
"aws_codepipeline": {
  "full_properties": {
    "artifact_store": {
      "description": "An artifact_store block. Artifact stores are documented below.",
      "required": true
    },
    "name": {
      "description": "The name of the pipeline.",
      "required": true
    },
    "role_arn": {
      "description": "A service role Amazon Resource Name (ARN) that grants AWS CodePipeline permission to make calls to AWS services on your behalf.",
      "required": true
    },
    "stage": {
      "description": "A stage block. Stages are documented below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/codepipeline.html",
  "properties": [
    "name",
    "role_arn",
    "artifact_store",
    "stage"
  ]
},
"aws_codepipeline_webhook": {
  "full_properties": {
    "authentication": {
      "description": "The type of authentication  to use. One of IP, GITHUB_HMAC, or UNAUTHENTICATED.",
      "required": true
    },
    "authentication_configuration": {
      "description": "An auth block. Required for IP and GITHUB_HMAC. Auth blocks are documented below.",
      "required": false
    },
    "filter": {
      "description": "One or more filter blocks. Filter blocks are documented below.",
      "required": true
    },
    "name": {
      "description": "The name of the webhook.",
      "required": true
    },
    "target_action": {
      "description": "The name of the action in a pipeline you want to connect to the webhook. The action must be from the source (first) stage of the pipeline.",
      "required": true
    },
    "target_pipeline": {
      "description": "The name of the pipeline.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/codepipeline_webhook.html",
  "properties": [
    "name",
    "authentication",
    "authentication_configuration",
    "filter",
    "target_action",
    "target_pipeline"
  ]
},
"aws_cognito_identity_pool": {
  "full_properties": {
    "allow_unauthenticated_identities": {
      "description": "- Whether the identity pool supports unauthenticated logins or not.",
      "required": true
    },
    "cognito_identity_providers": {
      "description": "- An array of Amazon Cognito Identity user pools and their client IDs.",
      "required": false
    },
    "developer_provider_name": {
      "description": "- The \"domain\" by which Cognito will refer to your users. This name acts as a placeholder that allows your",
      "required": false
    },
    "identity_pool_name": {
      "description": "- The Cognito Identity Pool name.",
      "required": true
    },
    "openid_connect_provider_arns": {
      "description": "- A list of OpendID Connect provider ARNs.",
      "required": false
    },
    "saml_provider_arns": {
      "description": "- An array of Amazon Resource Names (ARNs) of the SAML provider for your identity.",
      "required": false
    },
    "supported_login_providers": {
      "description": "- Key-Value pairs mapping provider names to provider app IDs.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cognito_identity_pool.html",
  "properties": [
    "identity_pool_name",
    "allow_unauthenticated_identities",
    "developer_provider_name",
    "cognito_identity_providers",
    "openid_connect_provider_arns",
    "saml_provider_arns",
    "supported_login_providers"
  ]
},
"aws_cognito_identity_pool_roles_attachment": {
  "full_properties": {
    "identity_pool_id": {
      "description": "- An identity pool ID in the format REGION:GUID.",
      "required": true
    },
    "role_mapping": {
      "description": "- A List of Role Mapping.",
      "required": false
    },
    "roles": {
      "description": "- The map of roles associated with this pool. For a given role, the key will be either \"authenticated\" or \"unauthenticated\" and the value will be the Role ARN.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cognito_identity_pool_roles_attachment.html",
  "properties": [
    "identity_pool_id",
    "role_mapping",
    "roles"
  ]
},
"aws_cognito_identity_provider": {
  "full_properties": {
    "attribute_mapping": {
      "description": "- The map of attribute mapping of user pool attributes. AttributeMapping in AWS API documentation",
      "required": false
    },
    "idp_identifiers": {
      "description": "- The list of identity providers.",
      "required": false
    },
    "provider_details": {
      "description": "- The map of identity details, such as access token",
      "required": false
    },
    "provider_name": {
      "description": "- The provider name",
      "required": true
    },
    "provider_type": {
      "description": "- The provider type.  See AWS API for valid values",
      "required": true
    },
    "user_pool_id": {
      "description": "- The user pool id",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cognito_identity_provider.html",
  "properties": [
    "user_pool_id",
    "provider_name",
    "provider_type",
    "attribute_mapping",
    "idp_identifiers",
    "provider_details"
  ]
},
"aws_cognito_resource_server": {
  "full_properties": {
    "identifier": {
      "description": "An identifier for the resource server.",
      "required": true
    },
    "name": {
      "description": "A name for the resource server.",
      "required": true
    },
    "scope": {
      "description": "A list of Authorization Scope.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cognito_resource_server.html",
  "properties": [
    "identifier",
    "name",
    "scope"
  ]
},
"aws_cognito_user_group": {
  "full_properties": {
    "description": {
      "description": "The description of the user group.",
      "required": false
    },
    "name": {
      "description": "The name of the user group.",
      "required": true
    },
    "precedence": {
      "description": "The precedence of the user group.",
      "required": false
    },
    "role_arn": {
      "description": "The ARN of the IAM role to be associated with the user group.",
      "required": false
    },
    "user_pool_id": {
      "description": "The user pool ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cognito_user_group.html",
  "properties": [
    "name",
    "user_pool_id",
    "description",
    "precedence",
    "role_arn"
  ]
},
"aws_cognito_user_pool": {
  "full_properties": {
    "admin_create_user_config": {
      "description": "- The configuration for AdminCreateUser requests.",
      "required": false
    },
    "alias_attributes": {
      "description": "Attributes supported as an alias for this user pool. Possible values: phone_number, email, or preferred_username. Conflicts with username_attributes.",
      "required": false
    },
    "auto_verified_attributes": {
      "description": "The attributes to be auto-verified. Possible values: email, phone_number.",
      "required": false
    },
    "device_configuration": {
      "description": "- The configuration for the user pool's device tracking.",
      "required": false
    },
    "email_configuration": {
      "description": "- The Email Configuration.",
      "required": false
    },
    "email_verification_message": {
      "description": "A string representing the email verification message. Must contain the {####} placeholder. NOTE: - If email_verification_message and verification_message_template.email_message are specified and the values are different, either one is prioritized and updated.",
      "required": false
    },
    "email_verification_subject": {
      "description": "A string representing the email verification subject. NOTE: - If email_verification_subject and verification_message_template.email_subject are specified and the values are different, either one is prioritized and updated.",
      "required": false
    },
    "lambda_config": {
      "description": "- A container for the AWS Lambda triggers associated with the user pool.",
      "required": false
    },
    "mfa_configuration": {
      "description": "Set to enable multi-factor authentication. Must be one of the following values (ON, OFF, OPTIONAL)",
      "required": false
    },
    "name": {
      "description": "The name of the user pool.",
      "required": true
    },
    "password_policy": {
      "description": "- A container for information about the user pool password policy.",
      "required": false
    },
    "schema": {
      "description": "- A container with the schema attributes of a user pool. Maximum of 50 attributes.",
      "required": false
    },
    "sms_authentication_message": {
      "description": "A string representing the SMS authentication message.",
      "required": false
    },
    "sms_configuration": {
      "description": "- The SMS Configuration.",
      "required": false
    },
    "sms_verification_message": {
      "description": "A string representing the SMS verification message.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the User Pool.",
      "required": false
    },
    "username_attributes": {
      "description": "Specifies whether email addresses or phone numbers can be specified as usernames when a user signs up. Conflicts with alias_attributes.",
      "required": false
    },
    "verification_message_template": {
      "description": "- The verification message templates configuration.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cognito_user_pool.html",
  "properties": [
    "admin_create_user_config",
    "alias_attributes",
    "auto_verified_attributes",
    "device_configuration",
    "email_configuration",
    "name",
    "email_verification_subject",
    "email_verification_message",
    "lambda_config",
    "mfa_configuration",
    "password_policy",
    "schema",
    "sms_authentication_message",
    "sms_configuration",
    "sms_verification_message",
    "tags",
    "username_attributes",
    "verification_message_template"
  ]
},
"aws_cognito_user_pool_client": {
  "full_properties": {
    "allowed_oauth_flows": {
      "description": "List of allowed OAuth flows (code, implicit, client_credentials).",
      "required": false
    },
    "allowed_oauth_flows_user_pool_client": {
      "description": "Whether the client is allowed to follow the OAuth protocol when interacting with Cognito user pools.",
      "required": false
    },
    "allowed_oauth_scopes": {
      "description": "List of allowed OAuth scopes (phone, email, openid, profile, and aws.cognito.signin.user.admin).",
      "required": false
    },
    "callback_urls": {
      "description": "List of allowed callback URLs for the identity providers.",
      "required": false
    },
    "default_redirect_uri": {
      "description": "The default redirect URI. Must be in the list of callback URLs.",
      "required": false
    },
    "explicit_auth_flows": {
      "description": "List of authentication flows (ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUTH).",
      "required": false
    },
    "generate_secret": {
      "description": "Should an application secret be generated. AWS JavaScript SDK requires this to be false.",
      "required": false
    },
    "logout_urls": {
      "description": "List of allowed logout URLs for the identity providers.",
      "required": false
    },
    "name": {
      "description": "The name of the application client.",
      "required": true
    },
    "read_attributes": {
      "description": "List of user pool attributes the application client can read from.",
      "required": false
    },
    "refresh_token_validity": {
      "description": "The time limit in days refresh tokens are valid for.",
      "required": false
    },
    "supported_identity_providers": {
      "description": "List of provider names for the identity providers that are supported on this client.",
      "required": false
    },
    "user_pool_id": {
      "description": "The user pool the client belongs to.",
      "required": true
    },
    "write_attributes": {
      "description": "List of user pool attributes the application client can write to.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/cognito_user_pool_client.html",
  "properties": [
    "allowed_oauth_flows",
    "allowed_oauth_flows_user_pool_client",
    "allowed_oauth_scopes",
    "callback_urls",
    "default_redirect_uri",
    "explicit_auth_flows",
    "generate_secret",
    "logout_urls",
    "name",
    "read_attributes",
    "refresh_token_validity",
    "supported_identity_providers",
    "user_pool_id",
    "write_attributes"
  ]
},
"aws_cognito_user_pool_domain": {
  "full_properties": {
    "certificate_arn": {
      "description": "The ARN of an ISSUED ACM certificate in us-east-1 for a custom domain.",
      "required": false
    },
    "domain": {
      "description": "The domain string.",
      "required": true
    },
    "user_pool_id": {
      "description": "The user pool ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/cognito_user_pool_domain.html",
  "properties": [
    "domain",
    "user_pool_id",
    "certificate_arn"
  ]
},
"aws_config_aggregate_authorization": {
  "full_properties": {
    "account_id": {
      "description": "Account ID",
      "required": true
    },
    "region": {
      "description": "Region",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/config_aggregate_authorization.html",
  "properties": [
    "account_id",
    "region"
  ]
},
"aws_config_config_rule": {
  "full_properties": {
    "description": {
      "description": "Description of the rule",
      "required": false
    },
    "input_parameters": {
      "description": "A string in JSON format that is passed to the AWS Config rule Lambda function.",
      "required": false
    },
    "maximum_execution_frequency": {
      "description": "The maximum frequency with which AWS Config runs evaluations for a rule.",
      "required": false
    },
    "name": {
      "description": "The name of the rule",
      "required": true
    },
    "scope": {
      "description": "Scope defines which resources can trigger an evaluation for the rule as documented below.",
      "required": false
    },
    "source": {
      "description": "Source specifies the rule owner, the rule identifier, and the notifications that cause",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/config_config_rule.html",
  "properties": [
    "name",
    "description",
    "input_parameters",
    "maximum_execution_frequency",
    "scope",
    "source"
  ]
},
"aws_config_configuration_aggregator": {
  "full_properties": {
    "account_aggregation_source": {
      "description": "The account(s) to aggregate config data from as documented below.",
      "required": false
    },
    "name": {
      "description": "The name of the configuration aggregator.",
      "required": true
    },
    "organization_aggregation_source": {
      "description": "The organization to aggregate config data from as documented below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/config_configuration_aggregator.html",
  "properties": [
    "name",
    "account_aggregation_source",
    "organization_aggregation_source"
  ]
},
"aws_config_configuration_recorder": {
  "full_properties": {
    "name": {
      "description": "The name of the recorder. Defaults to default. Changing it recreates the resource.",
      "required": false
    },
    "recording_group": {
      "description": "Recording group - see below.",
      "required": false
    },
    "role_arn": {
      "description": "Amazon Resource Name (ARN) of the IAM role.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/config_configuration_recorder.html",
  "properties": [
    "name",
    "role_arn",
    "recording_group"
  ]
},
"aws_config_configuration_recorder_status": {
  "full_properties": {
    "is_enabled": {
      "description": "Whether the configuration recorder should be enabled or disabled.",
      "required": true
    },
    "name": {
      "description": "The name of the recorder",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/config_configuration_recorder_status.html",
  "properties": [
    "name",
    "is_enabled"
  ]
},
"aws_config_delivery_channel": {
  "full_properties": {
    "name": {
      "description": "The name of the delivery channel. Defaults to default. Changing it recreates the resource.",
      "required": false
    },
    "s3_bucket_name": {
      "description": "The name of the S3 bucket used to store the configuration history.",
      "required": true
    },
    "s3_key_prefix": {
      "description": "The prefix for the specified S3 bucket.",
      "required": false
    },
    "snapshot_delivery_properties": {
      "description": "Options for how AWS Config delivers configuration snapshots. See below",
      "required": false
    },
    "sns_topic_arn": {
      "description": "The ARN of the SNS topic that AWS Config delivers notifications to.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/config_delivery_channel.html",
  "properties": [
    "name",
    "s3_bucket_name",
    "s3_key_prefix",
    "sns_topic_arn",
    "snapshot_delivery_properties"
  ]
},
"aws_customer_gateway": {
  "full_properties": {
    "bgp_asn": {
      "description": "The gateway's Border Gateway Protocol (BGP) Autonomous System Number (ASN).",
      "required": true
    },
    "ip_address": {
      "description": "The IP address of the gateway's Internet-routable external interface.",
      "required": true
    },
    "tags": {
      "description": "Tags to apply to the gateway.",
      "required": false
    },
    "type": {
      "description": "The type of customer gateway. The only type AWS",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/customer_gateway.html",
  "properties": [
    "bgp_asn",
    "ip_address",
    "type",
    "tags"
  ]
},
"aws_dax_cluster": {
  "full_properties": {
    "availability_zones": {
      "description": "List of Availability Zones in which the",
      "required": false
    },
    "cluster_name": {
      "description": "– (Required) Group identifier. DAX converts this name to",
      "required": false
    },
    "description": {
      "description": "– (Optional) Description for the cluster",
      "required": false
    },
    "iam_role_arn": {
      "description": "A valid Amazon Resource Name (ARN) that identifies",
      "required": true
    },
    "maintenance_window": {
      "description": "– (Optional) Specifies the weekly time range for when",
      "required": false
    },
    "node_type": {
      "description": "– (Required) The compute and memory capacity of the nodes. See",
      "required": false
    },
    "notification_topic_arn": {
      "description": "– (Optional) An Amazon Resource Name (ARN) of an",
      "required": false
    },
    "parameter_group_name": {
      "description": "– (Optional) Name of the parameter group to associate",
      "required": false
    },
    "replication_factor": {
      "description": "– (Required) The number of nodes in the DAX cluster. A",
      "required": false
    },
    "security_group_ids": {
      "description": "– (Optional) One or more VPC security groups associated",
      "required": false
    },
    "server_side_encryption": {
      "description": "Encrypt at rest options",
      "required": false
    },
    "subnet_group_name": {
      "description": "– (Optional) Name of the subnet group to be used for the",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dax_cluster.html",
  "properties": [
    "cluster_name",
    "iam_role_arn",
    "node_type",
    "replication_factor",
    "availability_zones",
    "description",
    "notification_topic_arn",
    "parameter_group_name",
    "maintenance_window",
    "security_group_ids",
    "server_side_encryption",
    "subnet_group_name",
    "tags"
  ]
},
"aws_dax_parameter_group": {
  "full_properties": {
    "description": {
      "description": "A description of the parameter group.",
      "required": false
    },
    "name": {
      "description": "– (Required) The name of the parameter group.",
      "required": false
    },
    "parameters": {
      "description": "– (Optional) The parameters of the parameter group.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dax_parameter_group.html",
  "properties": [
    "name",
    "description",
    "parameters"
  ]
},
"aws_dax_subnet_group": {
  "full_properties": {
    "description": {
      "description": "A description of the subnet group.",
      "required": false
    },
    "name": {
      "description": "– (Required) The name of the subnet group.",
      "required": false
    },
    "subnet_ids": {
      "description": "– (Required) A list of VPC subnet IDs for the subnet group.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dax_subnet_group.html",
  "properties": [
    "name",
    "description",
    "subnet_ids"
  ]
},
"aws_db_cluster_snapshot": {
  "full_properties": {
    "db_cluster_identifier": {
      "description": "The DB Cluster Identifier from which to take the snapshot.",
      "required": true
    },
    "db_cluster_snapshot_identifier": {
      "description": "The Identifier for the snapshot.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/db_cluster_snapshot.html",
  "properties": [
    "db_cluster_identifier",
    "db_cluster_snapshot_identifier"
  ]
},
"aws_db_event_subscription": {
  "full_properties": {
    "enabled": {
      "description": "A boolean flag to enable/disable the subscription. Defaults to true.",
      "required": false
    },
    "event_categories": {
      "description": "A list of event categories for a SourceType that you want to subscribe to. See http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.html or run aws rds describe-event-categories.",
      "required": false
    },
    "name": {
      "description": "The name of the DB event subscription. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "The name of the DB event subscription. Conflicts with name.",
      "required": false
    },
    "sns_topic": {
      "description": "The SNS topic to send events to.",
      "required": true
    },
    "source_ids": {
      "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.",
      "required": false
    },
    "source_type": {
      "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster or db-cluster-snapshot. If not set, all sources will be subscribed to.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/db_event_subscription.html",
  "properties": [
    "name",
    "name_prefix",
    "sns_topic",
    "source_ids",
    "source_type",
    "event_categories",
    "enabled",
    "tags"
  ]
},
"aws_db_instance": {
  "full_properties": {
    "allocated_storage": {
      "description": "(Required unless a snapshot_identifier or",
      "required": false
    },
    "allow_major_version_upgrade": {
      "description": "Indicates that major version",
      "required": false
    },
    "apply_immediately": {
      "description": "Specifies whether any database modifications",
      "required": false
    },
    "auto_minor_version_upgrade": {
      "description": "Indicates that minor engine upgrades",
      "required": false
    },
    "availability_zone": {
      "description": "The AZ for the RDS instance.",
      "required": false
    },
    "backup_retention_period": {
      "description": "The days to retain backups for. Must be",
      "required": false
    },
    "backup_window": {
      "description": "The daily time range (in UTC) during which",
      "required": false
    },
    "character_set_name": {
      "description": "The character set name to use for DB",
      "required": false
    },
    "copy_tags_to_snapshot": {
      "description": "– (Optional, boolean) On delete, copy all Instance",
      "required": false
    },
    "db_subnet_group_name": {
      "description": "Name of DB subnet group. DB instance will",
      "required": false
    },
    "deletion_protection": {
      "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.",
      "required": false
    },
    "domain": {
      "description": "The ID of the Directory Service Active Directory domain to create the instance in.",
      "required": false
    },
    "domain_iam_role_name": {
      "description": "The name of the IAM role to be used when making API calls to the Directory Service.",
      "required": false
    },
    "enabled_cloudwatch_logs_exports": {
      "description": "List of log types to enable for exporting to CloudWatch logs. If omitted, no logs will be exported. Valid values (depending on engine): alert, audit, error, general, listener, slowquery, trace.",
      "required": false
    },
    "engine": {
      "description": "(Required unless a snapshot_identifier or replicate_source_db",
      "required": false
    },
    "engine_version": {
      "description": "The engine version to use. If auto_minor_version_upgrade",
      "required": false
    },
    "final_snapshot_identifier": {
      "description": "The name of your final DB snapshot",
      "required": false
    },
    "iam_database_authentication_enabled": {
      "description": "Specifies whether or",
      "required": false
    },
    "identifier": {
      "description": "The name of the RDS instance,",
      "required": false
    },
    "identifier_prefix": {
      "description": "Creates a unique",
      "required": false
    },
    "instance_class": {
      "description": "The instance type of the RDS instance.",
      "required": true
    },
    "iops": {
      "description": "The amount of provisioned IOPS. Setting this implies a",
      "required": false
    },
    "kms_key_id": {
      "description": "The ARN for the KMS encryption key. If creating an",
      "required": false
    },
    "license_model": {
      "description": "(Optional, but required for some DB engines, i.e. Oracle",
      "required": false
    },
    "maintenance_window": {
      "description": "The window to perform maintenance in.",
      "required": false
    },
    "monitoring_interval": {
      "description": "The interval, in seconds, between points",
      "required": false
    },
    "monitoring_role_arn": {
      "description": "The ARN for the IAM role that permits RDS",
      "required": false
    },
    "multi_az": {
      "description": "Specifies if the RDS instance is multi-AZ",
      "required": false
    },
    "name": {
      "description": "The name of the database to create when the DB instance is created. If this parameter is not specified, no database is created in the DB instance. Note that this does not apply for Oracle or SQL Server engines. See the AWS documentation for more details on what applies for those engines.",
      "required": false
    },
    "option_group_name": {
      "description": "Name of the DB option group to associate.",
      "required": false
    },
    "parameter_group_name": {
      "description": "Name of the DB parameter group to",
      "required": false
    },
    "password": {
      "description": "(Required unless a snapshot_identifier or replicate_source_db",
      "required": false
    },
    "port": {
      "description": "The port on which the DB accepts connections.",
      "required": false
    },
    "publicly_accessible": {
      "description": "Bool to control if instance is publicly",
      "required": false
    },
    "replicate_source_db": {
      "description": "Specifies that this resource is a Replicate",
      "required": false
    },
    "s3_import": {
      "description": "Restore from a Percona Xtrabackup in S3.  See Importing Data into an Amazon RDS MySQL DB Instance",
      "required": false
    },
    "security_group_names": {
      "description": "List of DB Security Groups to",
      "required": false
    },
    "skip_final_snapshot": {
      "description": "Determines whether a final DB snapshot is",
      "required": false
    },
    "snapshot_identifier": {
      "description": "Specifies whether or not to create this",
      "required": false
    },
    "storage_encrypted": {
      "description": "Specifies whether the DB instance is",
      "required": false
    },
    "storage_type": {
      "description": "One of \"standard\" (magnetic), \"gp2\" (general",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "timezone": {
      "description": "Time zone of the DB instance. timezone is currently",
      "required": false
    },
    "username": {
      "description": "(Required unless a snapshot_identifier or replicate_source_db",
      "required": false
    },
    "vpc_security_group_ids": {
      "description": "List of VPC security groups to",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/db_instance.html",
  "properties": [
    "allocated_storage",
    "allow_major_version_upgrade",
    "apply_immediately",
    "auto_minor_version_upgrade",
    "availability_zone",
    "backup_retention_period",
    "backup_window",
    "character_set_name",
    "copy_tags_to_snapshot",
    "db_subnet_group_name",
    "deletion_protection",
    "domain",
    "domain_iam_role_name",
    "enabled_cloudwatch_logs_exports",
    "engine",
    "engine_version",
    "final_snapshot_identifier",
    "iam_database_authentication_enabled",
    "identifier",
    "identifier_prefix",
    "instance_class",
    "iops",
    "kms_key_id",
    "license_model",
    "maintenance_window",
    "monitoring_interval",
    "monitoring_role_arn",
    "multi_az",
    "name",
    "option_group_name",
    "parameter_group_name",
    "password",
    "port",
    "publicly_accessible",
    "replicate_source_db",
    "security_group_names",
    "skip_final_snapshot",
    "snapshot_identifier",
    "storage_encrypted",
    "storage_type",
    "tags",
    "timezone",
    "username",
    "vpc_security_group_ids",
    "s3_import"
  ]
},
"aws_db_option_group": {
  "full_properties": {
    "engine_name": {
      "description": "Specifies the name of the engine that this option group should be associated with.",
      "required": true
    },
    "major_engine_version": {
      "description": "Specifies the major version of the engine that this option group should be associated with.",
      "required": true
    },
    "name": {
      "description": "The name of the option group. If omitted, Terraform will assign a random, unique name. Must be lowercase, to match as it is stored in AWS.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name. Must be lowercase, to match as it is stored in AWS.",
      "required": false
    },
    "option": {
      "description": "A list of Options to apply.",
      "required": false
    },
    "option_group_description": {
      "description": "The description of the option group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/db_option_group.html",
  "properties": [
    "name",
    "name_prefix",
    "option_group_description",
    "engine_name",
    "major_engine_version",
    "option",
    "tags"
  ]
},
"aws_db_parameter_group": {
  "full_properties": {
    "description": {
      "description": "The description of the DB parameter group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "family": {
      "description": "The family of the DB parameter group.",
      "required": true
    },
    "name": {
      "description": "The name of the DB parameter group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "parameteraws rds describe-db-parameters": {
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/db_parameter_group.html",
  "properties": [
    "name",
    "name_prefix",
    "family",
    "description",
    "parameteraws rds describe-db-parameters",
    "tags"
  ]
},
"aws_db_security_group": {
  "full_properties": {
    "description": {
      "description": "The description of the DB security group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "ingress": {
      "description": "A list of ingress rules.",
      "required": true
    },
    "name": {
      "description": "The name of the DB security group.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/db_security_group.html",
  "properties": [
    "name",
    "description",
    "ingress",
    "tags"
  ]
},
"aws_db_snapshot": {
  "full_properties": {
    "db_instance_identifier": {
      "description": "The DB Instance Identifier from which to take the snapshot.",
      "required": true
    },
    "db_snapshot_identifier": {
      "description": "The Identifier for the snapshot.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/db_snapshot.html",
  "properties": [
    "db_instance_identifier",
    "db_snapshot_identifier"
  ]
},
"aws_db_subnet_group": {
  "full_properties": {
    "description": {
      "description": "The description of the DB subnet group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "name": {
      "description": "The name of the DB subnet group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "subnet_ids": {
      "description": "A list of VPC subnet IDs.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/db_subnet_group.html",
  "properties": [
    "name",
    "name_prefix",
    "description",
    "subnet_ids",
    "tags"
  ]
},
"aws_default_network_acl": {
  "full_properties": {
    "default_network_acl_id": {
      "description": "The Network ACL ID to manage. This",
      "required": true
    },
    "egress": {
      "description": "Specifies an egress rule. Parameters defined below.",
      "required": false
    },
    "ingress": {
      "description": "Specifies an ingress rule. Parameters defined below.",
      "required": false
    },
    "subnet_ids": {
      "description": "A list of Subnet IDs to apply the ACL to. See the",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/default_network_acl.html",
  "properties": [
    "default_network_acl_id",
    "subnet_ids",
    "ingress",
    "egress",
    "tags"
  ]
},
"aws_default_route_table": {
  "full_properties": {
    "default_route_table_id": {
      "description": "The ID of the Default Routing Table.",
      "required": true
    },
    "propagating_vgws": {
      "description": "A list of virtual gateways for propagation.",
      "required": false
    },
    "route": {
      "description": "A list of route objects. Their keys are documented below.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/default_route_table.html",
  "properties": [
    "default_route_table_id",
    "route",
    "tags",
    "propagating_vgws"
  ]
},
"aws_default_security_group": {
  "full_properties": {
    "egress": {
      "description": "Can be specified multiple times for each",
      "required": false
    },
    "ingress": {
      "description": "Can be specified multiple times for each",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The VPC ID. Note that changing",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/default_security_group.html",
  "properties": [
    "ingress",
    "egress",
    "vpc_id",
    "tags"
  ]
},
"aws_default_subnet": {
  "full_properties": {
    "map_public_ip_on_launch": {
      "description": "Specify true to indicate",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/default_subnet.html",
  "properties": [
    "map_public_ip_on_launch",
    "tags"
  ]
},
"aws_default_vpc": {
  "full_properties": {
    "enable_classiclink": {
      "description": "A boolean flag to enable/disable ClassicLink ",
      "required": false
    },
    "enable_dns_hostnames": {
      "description": "A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.",
      "required": false
    },
    "enable_dns_support": {
      "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults true.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/default_vpc.html",
  "properties": [
    "enable_dns_support",
    "enable_dns_hostnames",
    "enable_classiclink",
    "tags"
  ]
},
"aws_default_vpc_dhcp_options": {
  "full_properties": {
    "netbios_name_servers": {
      "description": "List of NETBIOS name servers.",
      "required": false
    },
    "netbios_node_type": {
      "description": "The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/default_vpc_dhcp_options.html",
  "properties": [
    "netbios_name_servers",
    "netbios_node_type",
    "tags"
  ]
},
"aws_devicefarm_project": {
  "full_properties": {
    "name": {
      "description": "The name of the project",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/devicefarm_project.html",
  "properties": [
    "name"
  ]
},
"aws_directory_service_conditional_forwarder": {
  "full_properties": {
    "directory_id": {
      "description": "The id of directory.",
      "required": true
    },
    "dns_ips": {
      "description": "A list of forwarder IP addresses.",
      "required": true
    },
    "remote_domain_name": {
      "description": "The fully qualified domain name of the remote domain for which forwarders will be used.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/directory_service_conditional_forwarder.html",
  "properties": [
    "directory_id",
    "dns_ips",
    "remote_domain_name"
  ]
},
"aws_directory_service_directory": {
  "full_properties": {
    "alias": {
      "description": "The alias for the directory (must be unique amongst all aliases in AWS). Required for enable_sso.",
      "required": false
    },
    "connect_settings": {
      "description": "Connector related information about the directory. Fields documented below.",
      "required": false
    },
    "description": {
      "description": "A textual description for the directory.",
      "required": false
    },
    "edition": {
      "description": "The MicrosoftAD edition (Standard or Enterprise). Defaults to Enterprise (applies to MicrosoftAD type only).",
      "required": false
    },
    "enable_sso": {
      "description": "Whether to enable single-sign on for the directory. Requires alias. Defaults to false.",
      "required": false
    },
    "name": {
      "description": "The fully qualified name for the directory, such as corp.example.com",
      "required": true
    },
    "password": {
      "description": "The password for the directory administrator or connector user.",
      "required": true
    },
    "short_name": {
      "description": "The short name of the directory, such as CORP.",
      "required": false
    },
    "size": {
      "description": "The size of the directory (Small or Large are accepted values).",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "type": {
      "description": "- The directory type (SimpleAD, ADConnector or MicrosoftAD are accepted values). Defaults to SimpleAD.",
      "required": false
    },
    "vpc_settings": {
      "description": "VPC related information about the directory. Fields documented below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/directory_service_directory.html",
  "properties": [
    "name",
    "password",
    "size",
    "vpc_settings",
    "connect_settings",
    "alias",
    "description",
    "short_name",
    "enable_sso",
    "type",
    "edition",
    "tags"
  ]
},
"aws_dlm_lifecycle_policy": {
  "full_properties": {
    "description": {
      "description": "A description for the DLM lifecycle policy.",
      "required": true
    },
    "execution_role_arn": {
      "description": "The ARN of an IAM role that is able to be assumed by the DLM service.",
      "required": true
    },
    "policy_detailspolicy_details": {
    },
    "state": {
      "description": "Whether the lifecycle policy should be enabled or disabled. ENABLED or DISABLED are valid values. Defaults to ENABLED.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dlm_lifecycle_policy.html",
  "properties": [
    "description",
    "execution_role_arn",
    "policy_detailspolicy_details",
    "state"
  ]
},
"aws_dms_certificate": {
  "full_properties": {
    "": {
      "description": "Must contain from 1 to 255 alphanumeric characters and hyphens.",
      "required": false
    },
    "certificate_id": {
      "description": "The certificate identifier.",
      "required": true
    },
    "certificate_pem": {
      "description": "The contents of the .pem X.509 certificate file for the certificate. Either certificate_pem or certificate_wallet must be set.",
      "required": false
    },
    "certificate_wallet": {
      "description": "The contents of the Oracle Wallet certificate for use with SSL. Either certificate_pem or certificate_wallet must be set.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dms_certificate.html",
  "properties": [
    "certificate_id",
    "",
    "certificate_pem",
    "certificate_wallet"
  ]
},
"aws_dms_endpoint": {
  "full_properties": {
    "": {
      "description": "Must not contain two consecutive hyphens",
      "required": false
    },
    "certificate_arn": {
      "description": "The Amazon Resource Name (ARN) for the certificate.",
      "required": false
    },
    "database_name": {
      "description": "The name of the endpoint database.",
      "required": false
    },
    "endpoint_id": {
      "description": "The database endpoint identifier.",
      "required": true
    },
    "endpoint_type": {
      "description": "The type of endpoint. Can be one of source | target.",
      "required": true
    },
    "engine_name": {
      "description": "The type of engine for the endpoint. Can be one of mysql | oracle | postgres | mariadb | aurora | redshift | sybase | sqlserver | dynamodb | mongodb | s3 | azuredb.",
      "required": true
    },
    "extra_connection_attributes": {
      "description": "Additional attributes associated with the connection. For available attributes see Using Extra Connection Attributes with AWS Database Migration Service.",
      "required": false
    },
    "kms_key_arn": {
      "description": "The Amazon Resource Name (ARN) for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for kms_key_arn, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.",
      "required": false
    },
    "mongodb_settings": {
      "description": "Settings for the source MongoDB endpoint. Available settings are auth_type (default: PASSWORD), auth_mechanism (default: DEFAULT), nesting_level (default: NONE), extract_doc_id (default: false), docs_to_investigate (default: 1000) and auth_source (default: admin). For more details, see Using MongoDB as a Source for AWS DMS.",
      "required": false
    },
    "password": {
      "description": "The password to be used to login to the endpoint database.",
      "required": false
    },
    "port": {
      "description": "The port used by the endpoint database.",
      "required": false
    },
    "s3_settings": {
      "description": "Settings for the target S3 endpoint. Available settings are service_access_role_arn, external_table_definition, csv_row_delimiter (default: \\\\n), csv_delimiter (default: ,), bucket_folder, bucket_name and compression_type (default: NONE). For more details, see Using Amazon S3 as a Target for AWS Database Migration Service.",
      "required": false
    },
    "server_name": {
      "description": "The host name of the server.",
      "required": false
    },
    "service_access_role": {
      "description": "The Amazon Resource Name (ARN) used by the service access IAM role for dynamodb endpoints.",
      "required": false
    },
    "ssl_mode": {
      "description": "The SSL mode to use for the connection. Can be one of none | require | verify-ca | verify-full",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "username": {
      "description": "The user name to be used to login to the endpoint database.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dms_endpoint.html",
  "properties": [
    "certificate_arn",
    "database_name",
    "endpoint_id",
    "",
    "endpoint_type",
    "engine_name",
    "extra_connection_attributes",
    "kms_key_arn",
    "password",
    "port",
    "server_name",
    "ssl_mode",
    "tags",
    "username",
    "service_access_role",
    "mongodb_settings",
    "s3_settings"
  ]
},
"aws_dms_replication_instance": {
  "full_properties": {
    "": {
      "description": "Cannot contain two consecutive hyphens.",
      "required": false
    },
    "allocated_storage": {
      "description": "The amount of storage (in gigabytes) to be initially allocated for the replication instance.",
      "required": false
    },
    "apply_immediately": {
      "description": "Indicates whether the changes should be applied immediately or during the next maintenance window. Only used when updating an existing resource.",
      "required": false
    },
    "auto_minor_version_upgrade": {
      "description": "Indicates that minor engine upgrades will be applied automatically to the replication instance during the maintenance window.",
      "required": false
    },
    "availability_zone": {
      "description": "The EC2 Availability Zone that the replication instance will be created in.",
      "required": false
    },
    "engine_version": {
      "description": "The engine version number of the replication instance.",
      "required": false
    },
    "kms_key_arn": {
      "description": "The Amazon Resource Name (ARN) for the KMS key that will be used to encrypt the connection parameters. If you do not specify a value for kms_key_arn, then AWS DMS will use your default encryption key. AWS KMS creates the default encryption key for your AWS account. Your AWS account has a different default encryption key for each AWS region.",
      "required": false
    },
    "multi_az": {
      "description": "Specifies if the replication instance is a multi-az deployment. You cannot set the availability_zone parameter if the multi_az parameter is set to true.",
      "required": false
    },
    "preferred_maintenance_window": {
      "description": "The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).",
      "required": false
    },
    "publicly_accessible": {
      "description": "Specifies the accessibility options for the replication instance. A value of true represents an instance with a public IP address. A value of false represents an instance with a private IP address.",
      "required": false
    },
    "replication_instance_class": {
      "description": "The compute and memory capacity of the replication instance as specified by the replication instance class. Can be one of dms.t2.micro | dms.t2.small | dms.t2.medium | dms.t2.large | dms.c4.large | dms.c4.xlarge | dms.c4.2xlarge | dms.c4.4xlarge",
      "required": true
    },
    "replication_instance_id": {
      "description": "The replication instance identifier. This parameter is stored as a lowercase string.",
      "required": true
    },
    "replication_subnet_group_id": {
      "description": "A subnet group to associate with the replication instance.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_security_group_ids": {
      "description": "A list of VPC security group IDs to be used with the replication instance. The VPC security groups must work with the VPC containing the replication instance.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dms_replication_instance.html",
  "properties": [
    "allocated_storage",
    "apply_immediately",
    "auto_minor_version_upgrade",
    "availability_zone",
    "engine_version",
    "kms_key_arn",
    "multi_az",
    "preferred_maintenance_window",
    "",
    "publicly_accessible",
    "replication_instance_class",
    "replication_instance_id",
    "replication_subnet_group_id",
    "tags",
    "vpc_security_group_ids"
  ]
},
"aws_dms_replication_subnet_group": {
  "full_properties": {
    "": {
      "description": "Must not be \"default\".",
      "required": false
    },
    "replication_subnet_group_description": {
      "description": "The description for the subnet group.",
      "required": true
    },
    "replication_subnet_group_id": {
      "description": "The name for the replication subnet group. This value is stored as a lowercase string.",
      "required": true
    },
    "subnet_ids": {
      "description": "A list of the EC2 subnet IDs for the subnet group.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dms_replication_subnet_group.html",
  "properties": [
    "replication_subnet_group_description",
    "replication_subnet_group_id",
    "",
    "subnet_ids",
    "tags"
  ]
},
"aws_dms_replication_task": {
  "full_properties": {
    "": {
      "description": "Cannot contain two consecutive hyphens.",
      "required": false
    },
    "cdc_start_time": {
      "description": "The Unix timestamp integer for the start of the Change Data Capture (CDC) operation.",
      "required": false
    },
    "migration_type": {
      "description": "The migration type. Can be one of full-load | cdc | full-load-and-cdc.",
      "required": true
    },
    "replication_instance_arn": {
      "description": "The Amazon Resource Name (ARN) of the replication instance.",
      "required": true
    },
    "replication_task_id": {
      "description": "The replication task identifier.",
      "required": true
    },
    "replication_task_settings": {
      "description": "An escaped JSON string that contains the task settings. For a complete list of task settings, see Task Settings for AWS Database Migration Service Tasks.",
      "required": false
    },
    "source_endpoint_arn": {
      "description": "The Amazon Resource Name (ARN) string that uniquely identifies the source endpoint.",
      "required": true
    },
    "table_mappings": {
      "description": "An escaped JSON string that contains the table mappings. For information on table mapping see Using Table Mapping with an AWS Database Migration Service Task to Select and Filter Data",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "target_endpoint_arn": {
      "description": "The Amazon Resource Name (ARN) string that uniquely identifies the target endpoint.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dms_replication_task.html",
  "properties": [
    "cdc_start_time",
    "migration_type",
    "replication_instance_arn",
    "replication_task_id",
    "",
    "replication_task_settings",
    "source_endpoint_arn",
    "table_mappings",
    "tags",
    "target_endpoint_arn"
  ]
},
"aws_dx_bgp_peer": {
  "full_properties": {
    "address_family": {
      "description": "The address family for the BGP peer. ipv4 or ipv6.",
      "required": true
    },
    "amazon_address": {
      "description": "The IPv4 CIDR address to use to send traffic to Amazon.",
      "required": false
    },
    "bgp_asn": {
      "description": "The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.",
      "required": true
    },
    "bgp_auth_key": {
      "description": "The authentication key for BGP configuration.",
      "required": false
    },
    "customer_address": {
      "description": "The IPv4 CIDR destination address to which Amazon should send traffic.",
      "required": false
    },
    "virtual_interface_id": {
      "description": "The ID of the Direct Connect virtual interface on which to create the BGP peer.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_bgp_peer.html",
  "properties": [
    "address_family",
    "bgp_asn",
    "virtual_interface_id",
    "amazon_address",
    "bgp_auth_key",
    "customer_address"
  ]
},
"aws_dx_connection": {
  "full_properties": {
    "bandwidth": {
      "description": "The bandwidth of the connection. Available values: 1Gbps, 10Gbps. Case sensitive.",
      "required": true
    },
    "location": {
      "description": "The AWS Direct Connect location where the connection is located. See DescribeLocations for the list of AWS Direct Connect locations. Use locationCode.",
      "required": true
    },
    "name": {
      "description": "The name of the connection.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dx_connection.html",
  "properties": [
    "name",
    "bandwidth",
    "location",
    "tags"
  ]
},
"aws_dx_connection_association": {
  "full_properties": {
    "connection_id": {
      "description": "The ID of the connection.",
      "required": true
    },
    "lag_id": {
      "description": "The ID of the LAG with which to associate the connection.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_connection_association.html",
  "properties": [
    "connection_id",
    "lag_id"
  ]
},
"aws_dx_gateway": {
  "full_properties": {
    "amazon_side_asn": {
      "description": "The ASN to be configured on the Amazon side of the connection. The ASN must be in the private range of 64,512 to 65,534 or 4,200,000,000 to 4,294,967,294.",
      "required": true
    },
    "name": {
      "description": "The name of the connection.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_gateway.html",
  "properties": [
    "name",
    "amazon_side_asn"
  ]
},
"aws_dx_gateway_association": {
  "full_properties": {
    "dx_gateway_id": {
      "description": "The ID of the Direct Connect Gateway.",
      "required": true
    },
    "vpn_gateway_id": {
      "description": "The ID of the VGW with which to associate the gateway.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_gateway_association.html",
  "properties": [
    "dx_gateway_id",
    "vpn_gateway_id"
  ]
},
"aws_dx_hosted_private_virtual_interface": {
  "full_properties": {
    "address_family": {
      "description": "The address family for the BGP peer. ipv4 or ipv6.",
      "required": true
    },
    "amazon_address": {
      "description": "The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.",
      "required": false
    },
    "bgp_asn": {
      "description": "The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.",
      "required": true
    },
    "bgp_auth_key": {
      "description": "The authentication key for BGP configuration.",
      "required": false
    },
    "connection_id": {
      "description": "The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.",
      "required": true
    },
    "customer_address": {
      "description": "The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.",
      "required": false
    },
    "mtu": {
      "description": "The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection. The MTU of a virtual private interface can be either 1500 or 9001 (jumbo frames). Default is 1500.",
      "required": false
    },
    "name": {
      "description": "The name for the virtual interface.",
      "required": true
    },
    "owner_account_id": {
      "description": "The AWS account that will own the new virtual interface.",
      "required": true
    },
    "vlan": {
      "description": "The VLAN ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_hosted_private_virtual_interface.html",
  "properties": [
    "address_family",
    "bgp_asn",
    "connection_id",
    "name",
    "owner_account_id",
    "vlan",
    "amazon_address",
    "mtu",
    "bgp_auth_key",
    "customer_address"
  ]
},
"aws_dx_hosted_private_virtual_interface_accepter": {
  "full_properties": {
    "dx_gateway_id": {
      "description": "The ID of the Direct Connect gateway to which to connect the virtual interface.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "virtual_interface_id": {
      "description": "The ID of the Direct Connect virtual interface to accept.",
      "required": true
    },
    "vpn_gateway_id": {
      "description": "The ID of the virtual private gateway to which to connect the virtual interface.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dx_hosted_private_virtual_interface_accepter.html",
  "properties": [
    "virtual_interface_id",
    "dx_gateway_id",
    "tags",
    "vpn_gateway_id"
  ]
},
"aws_dx_hosted_public_virtual_interface": {
  "full_properties": {
    "address_family": {
      "description": "The address family for the BGP peer. ipv4 or ipv6.",
      "required": true
    },
    "amazon_address": {
      "description": "The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.",
      "required": false
    },
    "bgp_asn": {
      "description": "The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.",
      "required": true
    },
    "bgp_auth_key": {
      "description": "The authentication key for BGP configuration.",
      "required": false
    },
    "connection_id": {
      "description": "The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.",
      "required": true
    },
    "customer_address": {
      "description": "The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.",
      "required": false
    },
    "name": {
      "description": "The name for the virtual interface.",
      "required": true
    },
    "owner_account_id": {
      "description": "The AWS account that will own the new virtual interface.",
      "required": true
    },
    "route_filter_prefixes": {
      "description": "A list of routes to be advertised to the AWS network in this region.",
      "required": true
    },
    "vlan": {
      "description": "The VLAN ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_hosted_public_virtual_interface.html",
  "properties": [
    "address_family",
    "bgp_asn",
    "connection_id",
    "name",
    "owner_account_id",
    "route_filter_prefixes",
    "vlan",
    "amazon_address",
    "bgp_auth_key",
    "customer_address"
  ]
},
"aws_dx_hosted_public_virtual_interface_accepter": {
  "full_properties": {
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "virtual_interface_id": {
      "description": "The ID of the Direct Connect virtual interface to accept.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_hosted_public_virtual_interface_accepter.html",
  "properties": [
    "virtual_interface_id",
    "tags"
  ]
},
"aws_dx_lag": {
  "full_properties": {
    "connections_bandwidth": {
      "description": "The bandwidth of the individual physical connections bundled by the LAG. Available values: 1Gbps, 10Gbps. Case sensitive.",
      "required": true
    },
    "force_destroy": {
      "description": "A boolean that indicates all connections associated with the LAG should be deleted so that the LAG can be destroyed without error. These objects are not recoverable.",
      "required": false
    },
    "location": {
      "description": "The AWS Direct Connect location in which the LAG should be allocated. See DescribeLocations for the list of AWS Direct Connect locations. Use locationCode.",
      "required": true
    },
    "name": {
      "description": "The name of the LAG.",
      "required": true
    },
    "number_of_connections": {
      "description": "The number of physical connections initially provisioned and bundled by the LAG. Use aws_dx_connection and aws_dx_connection_association resources instead. Default connections will be removed as part of LAG creation automatically in future versions.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dx_lag.html",
  "properties": [
    "name",
    "connections_bandwidth",
    "location",
    "number_of_connections",
    "force_destroy",
    "tags"
  ]
},
"aws_dx_private_virtual_interface": {
  "full_properties": {
    "address_family": {
      "description": "The address family for the BGP peer. ipv4 or ipv6.",
      "required": true
    },
    "amazon_address": {
      "description": "The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.",
      "required": false
    },
    "bgp_asn": {
      "description": "The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.",
      "required": true
    },
    "bgp_auth_key": {
      "description": "The authentication key for BGP configuration.",
      "required": false
    },
    "connection_id": {
      "description": "The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.",
      "required": true
    },
    "customer_address": {
      "description": "The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.",
      "required": false
    },
    "dx_gateway_id": {
      "description": "The ID of the Direct Connect gateway to which to connect the virtual interface.",
      "required": false
    },
    "mtu": {
      "description": "The maximum transmission unit (MTU) is the size, in bytes, of the largest permissible packet that can be passed over the connection.",
      "required": false
    },
    "name": {
      "description": "The name for the virtual interface.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vlan": {
      "description": "The VLAN ID.",
      "required": true
    },
    "vpn_gateway_id": {
      "description": "The ID of the virtual private gateway to which to connect the virtual interface.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/dx_private_virtual_interface.html",
  "properties": [
    "address_family",
    "bgp_asn",
    "connection_id",
    "name",
    "vlan",
    "amazon_address",
    "mtu",
    "bgp_auth_key",
    "customer_address",
    "dx_gateway_id",
    "tags",
    "vpn_gateway_id"
  ]
},
"aws_dx_public_virtual_interface": {
  "full_properties": {
    "address_family": {
      "description": "The address family for the BGP peer. ipv4 or ipv6.",
      "required": true
    },
    "amazon_address": {
      "description": "The IPv4 CIDR address to use to send traffic to Amazon. Required for IPv4 BGP peers.",
      "required": false
    },
    "bgp_asn": {
      "description": "The autonomous system (AS) number for Border Gateway Protocol (BGP) configuration.",
      "required": true
    },
    "bgp_auth_key": {
      "description": "The authentication key for BGP configuration.",
      "required": false
    },
    "connection_id": {
      "description": "The ID of the Direct Connect connection (or LAG) on which to create the virtual interface.",
      "required": true
    },
    "customer_address": {
      "description": "The IPv4 CIDR destination address to which Amazon should send traffic. Required for IPv4 BGP peers.",
      "required": false
    },
    "name": {
      "description": "The name for the virtual interface.",
      "required": true
    },
    "route_filter_prefixes": {
      "description": "A list of routes to be advertised to the AWS network in this region.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vlan": {
      "description": "The VLAN ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dx_public_virtual_interface.html",
  "properties": [
    "address_family",
    "bgp_asn",
    "connection_id",
    "name",
    "vlan",
    "amazon_address",
    "bgp_auth_key",
    "customer_address",
    "route_filter_prefixes",
    "tags"
  ]
},
"aws_dynamodb_global_table": {
  "full_properties": {
    "name": {
      "description": "The name of the global table. Must match underlying DynamoDB Table names in all regions.",
      "required": true
    },
    "replica": {
      "description": "Underlying DynamoDB Table. At least 1 replica must be defined. See below.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dynamodb_global_table.html",
  "properties": [
    "name",
    "replica"
  ]
},
"aws_dynamodb_table": {
  "full_properties": {
    "attribute_name": {
      "description": "The name of the table attribute to store the TTL timestamp in.",
      "required": true
    },
    "attributenametype": {
    },
    "enabled": {
      "description": "Indicates whether ttl is enabled (true) or disabled (false).",
      "required": true
    },
    "global_secondary_index": {
      "description": "Describe a GSO for the table;",
      "required": false
    },
    "hash_key": {
      "description": "The attribute to use as the hash (partition) key. Must also be defined as an attribute, see below.",
      "required": false
    },
    "local_secondary_index": {
      "description": "Describe an LSI on the table;",
      "required": false
    },
    "name": {
      "description": "The name of the attribute",
      "required": true
    },
    "point_in_time_recovery": {
      "description": "Point-in-time recovery options.",
      "required": false
    },
    "range_key": {
      "description": "The attribute to use as the range (sort) key. Must also be defined as an attribute, see below.",
      "required": false
    },
    "read_capacity": {
      "description": "The number of read units for this table",
      "required": true
    },
    "server_side_encryption": {
      "description": "Encrypt at rest options.",
      "required": false
    },
    "stream_enabled": {
      "description": "Indicates whether Streams are to be enabled (true) or disabled (false).",
      "required": false
    },
    "stream_view_type": {
      "description": "When an item in the table is modified, StreamViewType determines what information is written to the table's stream. Valid values are KEYS_ONLY, NEW_IMAGE, OLD_IMAGE, NEW_AND_OLD_IMAGES.",
      "required": false
    },
    "tags": {
      "description": "A map of tags to populate on the created table.",
      "required": false
    },
    "ttlenabledattribute_name": {
    },
    "type": {
      "description": "Attribute type, which must be a scalar type: S, N, or B for (S)tring, (N)umber or (B)inary data",
      "required": true
    },
    "write_capacity": {
      "description": "The number of write units for this table",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dynamodb_table.html",
  "properties": [
    "name",
    "hash_key",
    "range_key",
    "write_capacity",
    "read_capacity",
    "attributenametype",
    "type",
    "ttlenabledattribute_name",
    "enabled",
    "attribute_name",
    "local_secondary_index",
    "global_secondary_index",
    "stream_enabled",
    "stream_view_type",
    "server_side_encryption",
    "tags",
    "point_in_time_recovery"
  ]
},
"aws_dynamodb_table_item": {
  "full_properties": {
    "hash_key": {
      "description": "Hash key to use for lookups and identification of the item",
      "required": true
    },
    "item": {
      "description": "JSON representation of a map of attribute name/value pairs, one for each attribute.",
      "required": true
    },
    "range_key": {
      "description": "Range key to use for lookups and identification of the item. Required if there is range key defined in the table.",
      "required": false
    },
    "table_name": {
      "description": "The name of the table to contain the item.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/dynamodb_table_item.html",
  "properties": [
    "table_name",
    "hash_key",
    "range_key",
    "item"
  ]
},
"aws_ebs_snapshot": {
  "full_properties": {
    "description": {
      "description": "A description of what the snapshot is.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the snapshot",
      "required": false
    },
    "volume_id": {
      "description": "The Volume ID of which to make a snapshot.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ebs_snapshot.html",
  "properties": [
    "volume_id",
    "description",
    "tags"
  ]
},
"aws_ebs_snapshot_copy": {
  "full_properties": {
    "description": {
      "description": "A description of what the snapshot is.",
      "required": false
    },
    "encrypted": {
      "description": "Whether the snapshot is encrypted.",
      "required": false
    },
    "kms_key_id": {
      "description": "The ARN for the KMS encryption key.",
      "required": false
    },
    "source_region": {
      "description": "The region of the source snapshot.",
      "required": false
    },
    "source_snapshot_id": {
      "description": "The ARN for the snapshot to be copied.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags for the snapshot.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ebs_snapshot_copy.html",
  "properties": [
    "description",
    "encrypted",
    "kms_key_id",
    "source_snapshot_id",
    "source_region",
    "tags"
  ]
},
"aws_ebs_volume": {
  "full_properties": {
    "availability_zone": {
      "description": "The AZ where the EBS volume will exist.",
      "required": true
    },
    "encrypted": {
      "description": "If true, the disk will be encrypted.",
      "required": false
    },
    "iops": {
      "description": "The amount of IOPS to provision for the disk.",
      "required": false
    },
    "kms_key_id": {
      "description": "The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.",
      "required": false
    },
    "size": {
      "description": "The size of the drive in GiBs.",
      "required": false
    },
    "snapshot_id": {
      "description": "A snapshot to base the EBS volume off of.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "type": {
      "description": "The type of EBS volume. Can be \"standard\", \"gp2\", \"io1\", \"sc1\" or \"st1\" (Default: \"standard\").",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ebs_volume.html",
  "properties": [
    "availability_zone",
    "encrypted",
    "iops",
    "size",
    "snapshot_id",
    "type",
    "kms_key_id",
    "tags"
  ]
},
"aws_ec2_capacity_reservation": {
  "full_properties": {
    "availability_zone": {
      "description": "The Availability Zone in which to create the Capacity Reservation.",
      "required": true
    },
    "ebs_optimized": {
      "description": "Indicates whether the Capacity Reservation supports EBS-optimized instances.",
      "required": false
    },
    "end_date": {
      "description": "The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. Valid values: RFC3339 time string (YYYY-MM-DDTHH:MM:SSZ)",
      "required": false
    },
    "end_date_type": {
      "description": "Indicates the way in which the Capacity Reservation ends. Specify either unlimited or limited.",
      "required": false
    },
    "ephemeral_storage": {
      "description": "Indicates whether the Capacity Reservation supports instances with temporary, block-level storage.",
      "required": false
    },
    "instance_count": {
      "description": "The number of instances for which to reserve capacity.",
      "required": true
    },
    "instance_match_criteria": {
      "description": "Indicates the type of instance launches that the Capacity Reservation accepts. Specify either open or targeted.",
      "required": false
    },
    "instance_platform": {
      "description": "The type of operating system for which to reserve capacity. Valid options are Linux/UNIX, Red Hat Enterprise Linux, SUSE Linux, Windows, Windows with SQL Server, Windows with SQL Server Enterprise, Windows with SQL Server Standard or Windows with SQL Server Web.",
      "required": true
    },
    "instance_type": {
      "description": "The instance type for which to reserve capacity.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "tenancy": {
      "description": "Indicates the tenancy of the Capacity Reservation. Specify either default or dedicated.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ec2_capacity_reservation.html",
  "properties": [
    "availability_zone",
    "ebs_optimized",
    "end_date",
    "end_date_type",
    "ephemeral_storage",
    "instance_count",
    "instance_match_criteria",
    "instance_platform",
    "instance_type",
    "tags",
    "tenancy"
  ]
},
"aws_ec2_fleet": {
  "full_properties": {
    "excess_capacity_termination_policy": {
      "description": "Whether running instances should be terminated if the total target capacity of the EC2 Fleet is decreased below the current size of the EC2. Valid values: no-termination, termination. Defaults to termination.",
      "required": false
    },
    "launch_template_config": {
      "description": "Nested argument containing EC2 Launch Template configurations. Defined below.",
      "required": true
    },
    "on_demand_options": {
      "description": "Nested argument containing On-Demand configurations. Defined below.",
      "required": false
    },
    "replace_unhealthy_instances": {
      "description": "Whether EC2 Fleet should replace unhealthy instances. Defaults to false.",
      "required": false
    },
    "spot_options": {
      "description": "Nested argument containing Spot configurations. Defined below.",
      "required": false
    },
    "tags": {
      "description": "Map of Fleet tags. To tag instances at launch, specify the tags in the Launch Template.",
      "required": false
    },
    "target_capacity_specification": {
      "description": "Nested argument containing target capacity configurations. Defined below.",
      "required": true
    },
    "terminate_instances": {
      "description": "Whether to terminate instances for an EC2 Fleet if it is deleted successfully. Defaults to false.",
      "required": false
    },
    "terminate_instances_with_expiration": {
      "description": "Whether running instances should be terminated when the EC2 Fleet expires. Defaults to false.",
      "required": false
    },
    "type": {
      "description": "The type of request. Indicates whether the EC2 Fleet only requests the target capacity, or also attempts to maintain it. Valid values: maintain, request. Defaults to maintain.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ec2_fleet.html",
  "properties": [
    "launch_template_config",
    "target_capacity_specification",
    "excess_capacity_termination_policy",
    "on_demand_options",
    "replace_unhealthy_instances",
    "spot_options",
    "tags",
    "terminate_instances",
    "terminate_instances_with_expiration",
    "type"
  ]
},
"aws_ecr_lifecycle_policy": {
  "full_properties": {
    "policy": {
      "description": "The policy document. This is a JSON formatted string. See more details about Policy Parameters in the official AWS docs. For more information about building IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    },
    "repository": {
      "description": "Name of the repository to apply the policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ecr_lifecycle_policy.html",
  "properties": [
    "repository",
    "policy"
  ]
},
"aws_ecr_repository": {
  "full_properties": {
    "name": {
      "description": "Name of the repository.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ecr_repository.html",
  "properties": [
    "name"
  ]
},
"aws_ecr_repository_policy": {
  "full_properties": {
    "policy": {
      "description": "The policy document. This is a JSON formatted string. For more information about building IAM policy documents with Terraform, see the AWS IAM Policy Document Guide",
      "required": true
    },
    "repository": {
      "description": "Name of the repository to apply the policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ecr_repository_policy.html",
  "properties": [
    "repository",
    "policy"
  ]
},
"aws_ecs_cluster": {
  "full_properties": {
    "name": {
      "description": "The name of the cluster (up to 255 letters, numbers, hyphens, and underscores)",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ecs_cluster.html",
  "properties": [
    "name"
  ]
},
"aws_ecs_service": {
  "full_properties": {
    "cluster": {
      "description": "ARN of an ECS cluster",
      "required": false
    },
    "deployment_maximum_percent": {
      "description": "The upper limit (as a percentage of the service's desiredCount) of the number of running tasks that can be running in a service during a deployment. Not valid when using the DAEMON scheduling strategy.",
      "required": false
    },
    "deployment_minimum_healthy_percent": {
      "description": "The lower limit (as a percentage of the service's desiredCount) of the number of running tasks that must remain running and healthy in a service during a deployment.",
      "required": false
    },
    "desired_count": {
      "description": "The number of instances of the task definition to place and keep running. Defaults to 0. Do not specify if using the DAEMON scheduling strategy.",
      "required": false
    },
    "health_check_grace_period_seconds": {
      "description": "Seconds to ignore failing load balancer health checks on newly instantiated tasks to prevent premature shutdown, up to 7200. Only valid for services configured to use load balancers.",
      "required": false
    },
    "iam_role": {
      "description": "ARN of the IAM role that allows Amazon ECS to make calls to your load balancer on your behalf. This parameter is required if you are using a load balancer with your service, but only if your task definition does not use the awsvpc network mode. If using awsvpc network mode, do not specify this role. If your account has already created the Amazon ECS service-linked role, that role is used by default for your service unless you specify a role here.",
      "required": false
    },
    "launch_type": {
      "description": "The launch type on which to run your service. The valid values are EC2 and FARGATE. Defaults to EC2.",
      "required": false
    },
    "load_balancer": {
      "description": "A load balancer block. Load balancers documented below.",
      "required": false
    },
    "name": {
      "description": "The name of the service (up to 255 letters, numbers, hyphens, and underscores)",
      "required": true
    },
    "network_configuration": {
      "description": "The network configuration for the service. This parameter is required for task definitions that use the awsvpc network mode to receive their own Elastic Network Interface, and it is not supported for other network modes.",
      "required": false
    },
    "ordered_placement_strategy": {
      "description": "Service level strategy rules that are taken into consideration during task placement. List from top to bottom in order of precedence. The maximum number of ordered_placement_strategy blocks is 5. Defined below.",
      "required": false
    },
    "placement_constraints": {
      "description": "rules that are taken into consideration during task placement. Maximum number of",
      "required": false
    },
    "placement_strategy": {
      "description": "Deprecated, use ordered_placement_strategy instead.",
      "required": false
    },
    "scheduling_strategyDAEMON": {
    },
    "service_registries": {
      "description": "The service discovery registries for the service. The maximum number of service_registries blocks is 1.",
      "required": false
    },
    "task_definition": {
      "description": "The family and revision (family:revision) or full ARN of the task definition that you want to run in your service.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ecs_service.html",
  "properties": [
    "name",
    "task_definition",
    "desired_count",
    "launch_type",
    "scheduling_strategyDAEMON",
    "cluster",
    "iam_role",
    "deployment_maximum_percent",
    "deployment_minimum_healthy_percent",
    "placement_strategy",
    "ordered_placement_strategy",
    "health_check_grace_period_seconds",
    "load_balancer",
    "placement_constraints",
    "network_configuration",
    "service_registries"
  ]
},
"aws_ecs_task_definition": {
  "full_properties": {
    "container_definitions": {
      "description": "A list of valid container definitions provided as a",
      "required": true
    },
    "family": {
      "description": "A unique name for your task definition.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ecs_task_definition.html",
  "properties": [
    "family",
    "container_definitions"
  ]
},
"aws_efs_file_system": {
  "full_properties": {
    "creation_token": {
      "description": "A unique name (a maximum of 64 characters are allowed)",
      "required": false
    },
    "encrypted": {
      "description": "If true, the disk will be encrypted.",
      "required": false
    },
    "kms_key_id": {
      "description": "The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.",
      "required": false
    },
    "performance_mode": {
      "description": "The file system performance mode. Can be either \"generalPurpose\" or \"maxIO\" (Default: \"generalPurpose\").",
      "required": false
    },
    "provisioned_throughput_in_mibps": {
      "description": "The throughput, measured in MiB/s, that you want to provision for the file system. Only applicable with throughput_mode set to provisioned.",
      "required": false
    },
    "reference_name": {
      "description": "DEPRECATED (Optional) A reference name used when creating the",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the file system.",
      "required": false
    },
    "throughput_mode": {
      "description": "Throughput mode for the file system. Defaults to bursting. Valid values: bursting, provisioned. When using provisioned, also set provisioned_throughput_in_mibps.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/efs_file_system.html",
  "properties": [
    "creation_token",
    "reference_name",
    "encrypted",
    "kms_key_id",
    "performance_mode",
    "provisioned_throughput_in_mibps",
    "tags",
    "throughput_mode"
  ]
},
"aws_efs_mount_target": {
  "full_properties": {
    "file_system_id": {
      "description": "The ID of the file system for which the mount target is intended.",
      "required": true
    },
    "ip_address": {
      "description": "The address (within the address range of the specified subnet) at",
      "required": false
    },
    "security_groups": {
      "description": "A list of up to 5 VPC security group IDs (that must",
      "required": false
    },
    "subnet_id": {
      "description": "The ID of the subnet to add the mount target in.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/efs_mount_target.html",
  "properties": [
    "file_system_id",
    "subnet_id",
    "ip_address",
    "security_groups"
  ]
},
"aws_egress_only_internet_gateway": {
  "full_properties": {
    "vpc_id": {
      "description": "The VPC ID to create in.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/egress_only_internet_gateway.html",
  "properties": [
    "vpc_id"
  ]
},
"aws_eip": {
  "full_properties": {
    "associate_with_private_ip": {
      "description": "A user specified primary or secondary private IP address to",
      "required": false
    },
    "instance": {
      "description": "EC2 instance ID.",
      "required": false
    },
    "network_interface": {
      "description": "Network interface ID to associate with.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc": {
      "description": "Boolean if the EIP is in a VPC or not.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/eip.html",
  "properties": [
    "vpc",
    "instance",
    "network_interface",
    "associate_with_private_ip",
    "tags"
  ]
},
"aws_eip_association": {
  "full_properties": {
    "allocation_id": {
      "description": "The allocation ID. This is required for EC2-VPC.",
      "required": false
    },
    "allow_reassociation": {
      "description": "Whether to allow an Elastic IP to",
      "required": false
    },
    "instance_id": {
      "description": "The ID of the instance. This is required for",
      "required": false
    },
    "network_interface_id": {
      "description": "The ID of the network interface. If the",
      "required": false
    },
    "private_ip_address": {
      "description": "The primary or secondary private IP address",
      "required": false
    },
    "public_ip": {
      "description": "The Elastic IP address. This is required for EC2-Classic.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/eip_association.html",
  "properties": [
    "allocation_id",
    "allow_reassociation",
    "instance_id",
    "network_interface_id",
    "private_ip_address",
    "public_ip"
  ]
},
"aws_eks_cluster": {
  "full_properties": {
    "name": {
      "description": "– (Required) Name of the cluster.",
      "required": false
    },
    "role_arn": {
      "description": "The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf.",
      "required": true
    },
    "version": {
      "description": "– (Optional) Desired Kubernetes master version. If you do not specify a value, the latest available version is used.",
      "required": false
    },
    "vpc_config": {
      "description": "Nested argument for the VPC associated with your cluster. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see Cluster VPC Considerations and Cluster Security Group Considerations in the Amazon EKS User Guide. Configuration detailed below.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/eks_cluster.html",
  "properties": [
    "name",
    "role_arn",
    "vpc_config",
    "version"
  ]
},
"aws_elastic_beanstalk_application": {
  "full_properties": {
    "description": {
      "description": "Short description of the application",
      "required": false
    },
    "name": {
      "description": "The name of the application, must be unique within your account",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/elastic_beanstalk_application.html",
  "properties": [
    "name",
    "description"
  ]
},
"aws_elastic_beanstalk_application_version": {
  "full_properties": {
    "application": {
      "description": "Name of the Beanstalk Application the version is associated with.",
      "required": true
    },
    "bucket": {
      "description": "S3 bucket that contains the Application Version source bundle.",
      "required": true
    },
    "description": {
      "description": "Short description of the Application Version.",
      "required": false
    },
    "force_delete": {
      "description": "On delete, force an Application Version to be deleted when it may be in use",
      "required": false
    },
    "key": {
      "description": "S3 object that is the Application Version source bundle.",
      "required": true
    },
    "name": {
      "description": "A unique name for the this Application Version.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/elastic_beanstalk_application_version.html",
  "properties": [
    "name",
    "application",
    "description",
    "bucket",
    "key",
    "force_delete"
  ]
},
"aws_elastic_beanstalk_configuration_template": {
  "full_properties": {
    "application": {
      "description": "– (Required) name of the application to associate with this configuration template",
      "required": false
    },
    "description": {
      "description": "Short description of the Template",
      "required": false
    },
    "environment_id": {
      "description": "– (Optional) The ID of the environment used with this configuration template",
      "required": false
    },
    "name": {
      "description": "A unique name for this Template.",
      "required": true
    },
    "setting": {
      "description": "– (Optional) Option settings to configure the new Environment. These",
      "required": false
    },
    "solution_stack_name": {
      "description": "– (Optional) A solution stack to base your Template",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elastic_beanstalk_configuration_template.html",
  "properties": [
    "name",
    "application",
    "description",
    "environment_id",
    "setting",
    "solution_stack_name"
  ]
},
"aws_elastic_beanstalk_environment": {
  "full_properties": {
    "application": {
      "description": "– (Required) Name of the application that contains the version",
      "required": false
    },
    "cname_prefix": {
      "description": "Prefix to use for the fully qualified DNS name of",
      "required": false
    },
    "description": {
      "description": "Short description of the Environment",
      "required": false
    },
    "name": {
      "description": "A unique name for this Environment. This name is used",
      "required": true
    },
    "platform_arn": {
      "description": "– (Optional) The ARN of the Elastic Beanstalk Platform",
      "required": false
    },
    "poll_interval": {
      "description": "– The time between polling the AWS API to",
      "required": false
    },
    "setting": {
      "description": "– (Optional) Option settings to configure the new Environment. These",
      "required": false
    },
    "solution_stack_name": {
      "description": "– (Optional) A solution stack to base your environment",
      "required": false
    },
    "tags": {
      "description": "– (Optional) A set of tags to apply to the Environment.",
      "required": false
    },
    "template_name": {
      "description": "– (Optional) The name of the Elastic Beanstalk Configuration",
      "required": false
    },
    "tier": {
      "description": "Elastic Beanstalk Environment tier. Valid values are Worker",
      "required": false
    },
    "version_label": {
      "description": "The name of the Elastic Beanstalk Application Version",
      "required": false
    },
    "wait_for_ready_timeout": {
      "description": "The maximum",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elastic_beanstalk_environment.html",
  "properties": [
    "name",
    "application",
    "cname_prefix",
    "description",
    "tier",
    "setting",
    "solution_stack_name",
    "template_name",
    "platform_arn",
    "wait_for_ready_timeout",
    "poll_interval",
    "version_label",
    "tags"
  ]
},
"aws_elasticache_cluster": {
  "full_properties": {
    "apply_immediately": {
      "description": "Specifies whether any database modifications",
      "required": false
    },
    "availability_zone": {
      "description": "The Availability Zone for the cache cluster. If you want to create cache nodes in multi-az, use preferred_availability_zones instead. Default: System chosen Availability Zone.",
      "required": false
    },
    "availability_zones": {
      "description": "Use preferred_availability_zones instead unless you want to create cache nodes in single-az, then use availability_zone. Set of Availability Zones in which the cache nodes will be created.",
      "required": false
    },
    "az_mode": {
      "description": "Specifies whether the nodes in this Memcached node group are created in a single Availability Zone or created across multiple Availability Zones in the cluster's region. Valid values for this parameter are single-az or cross-az, default is single-az. If you want to choose cross-az, num_cache_nodes must be greater than 1",
      "required": false
    },
    "cluster_id": {
      "description": "– (Required) Group identifier. ElastiCache converts",
      "required": false
    },
    "engine": {
      "description": "– (Required unless replication_group_id is provided) Name of the cache engine to be used for this cache cluster.",
      "required": false
    },
    "engine_version": {
      "description": "– (Optional) Version number of the cache engine to be used.",
      "required": false
    },
    "maintenance_window": {
      "description": "– (Optional) Specifies the weekly time range for when maintenance",
      "required": false
    },
    "node_type": {
      "description": "– (Required unless replication_group_id is provided) The compute and memory capacity of the nodes. See",
      "required": false
    },
    "notification_topic_arn": {
      "description": "– (Optional) An Amazon Resource Name (ARN) of an",
      "required": false
    },
    "num_cache_nodes": {
      "description": "– (Required unless replication_group_id is provided) The initial number of cache nodes that the",
      "required": false
    },
    "parameter_group_name": {
      "description": "– (Required unless replication_group_id is provided) Name of the parameter group to associate",
      "required": false
    },
    "port": {
      "description": "– (Optional) The port number on which each of the cache nodes will accept connections. For Memcache the default is 11211, and for Redis the default port is 6379. Cannot be provided with replication_group_id.",
      "required": false
    },
    "preferred_availability_zones": {
      "description": "A list of the Availability Zones in which cache nodes are created. If you are creating your cluster in an Amazon VPC you can only locate nodes in Availability Zones that are associated with the subnets in the selected subnet group. The number of Availability Zones listed must equal the value of num_cache_nodes. If you want all the nodes in the same Availability Zone, use availability_zone instead, or repeat the Availability Zone multiple times in the list. Default: System chosen Availability Zones. Detecting drift of existing node availability zone is not currently supported. Updating this argument by itself to migrate existing node availability zones is not currently supported and will show a perpetual difference.",
      "required": false
    },
    "replication_group_id": {
      "description": "The ID of the replication group to which this cluster should belong. If this parameter is specified, the cluster is added to the specified replication group as a read replica; otherwise, the cluster is a standalone primary that is not part of any replication group.",
      "required": false
    },
    "security_group_ids": {
      "description": "– (Optional, VPC only) One or more VPC security groups associated",
      "required": false
    },
    "security_group_names": {
      "description": "– (Optional, EC2 Classic only) List of security group",
      "required": false
    },
    "snapshot_arns": {
      "description": "– (Optional) A single-element string list containing an",
      "required": false
    },
    "snapshot_name": {
      "description": "The name of a snapshot from which to restore data into the new node group.  Changing the snapshot_name forces a new resource.",
      "required": false
    },
    "snapshot_retention_limit": {
      "description": "The number of days for which ElastiCache will",
      "required": false
    },
    "snapshot_window": {
      "description": "The daily time range (in UTC) during which ElastiCache will",
      "required": false
    },
    "subnet_group_name": {
      "description": "– (Optional, VPC only) Name of the subnet group to be used",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elasticache_cluster.html",
  "properties": [
    "cluster_id",
    "replication_group_id",
    "engine",
    "engine_version",
    "maintenance_window",
    "node_type",
    "num_cache_nodes",
    "parameter_group_name",
    "port",
    "subnet_group_name",
    "security_group_names",
    "security_group_ids",
    "apply_immediately",
    "snapshot_arns",
    "snapshot_name",
    "snapshot_window",
    "snapshot_retention_limit",
    "notification_topic_arn",
    "az_mode",
    "availability_zone",
    "availability_zones",
    "preferred_availability_zones",
    "tags"
  ]
},
"aws_elasticache_parameter_group": {
  "full_properties": {
    "description": {
      "description": "The description of the ElastiCache parameter group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "family": {
      "description": "The family of the ElastiCache parameter group.",
      "required": true
    },
    "name": {
      "description": "The name of the ElastiCache parameter group.",
      "required": true
    },
    "parameter": {
      "description": "A list of ElastiCache parameters to apply.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elasticache_parameter_group.html",
  "properties": [
    "name",
    "family",
    "description",
    "parameter"
  ]
},
"aws_elasticache_replication_group": {
  "full_properties": {
    "": {
      "description": "Adjusting number_cache_clusters directly. This will attempt to automatically add or remove replicas, but provides no granular control (e.g. preferred availability zone, cache cluster ID) for the added or removed replicas. This also currently expects cache cluster IDs in the form of replication_group_id-00#.",
      "required": false
    },
    "aws_elasticache_cluster": {
    }
  },
  "path": "/docs/providers/aws/r/elasticache_replication_group.html",
  "properties": [
    "",
    "aws_elasticache_cluster"
  ]
},
"aws_elasticache_security_group": {
  "full_properties": {
    "description": {
      "description": "– (Optional) description for the cache security group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "name": {
      "description": "– (Required) Name for the cache security group. This value is stored as a lowercase string.",
      "required": false
    },
    "security_group_names": {
      "description": "– (Required) List of EC2 security group names to be",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elasticache_security_group.html",
  "properties": [
    "name",
    "description",
    "security_group_names"
  ]
},
"aws_elasticache_subnet_group": {
  "full_properties": {
    "description": {
      "description": "– (Optional) Description for the cache subnet group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "name": {
      "description": "– (Required) Name for the cache subnet group. Elasticache converts this name to lowercase.",
      "required": false
    },
    "subnet_ids": {
      "description": "– (Required) List of VPC Subnet IDs for the cache subnet group",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elasticache_subnet_group.html",
  "properties": [
    "name",
    "description",
    "subnet_ids"
  ]
},
"aws_elasticsearch_domain": {
  "full_properties": {
    "access_policies": {
      "description": "IAM policy document specifying the access policies for the domain",
      "required": false
    },
    "advanced_options": {
      "description": "Key-value string pairs to specify advanced configuration options.",
      "required": false
    },
    "cluster_config": {
      "description": "Cluster configuration of the domain, see below.",
      "required": false
    },
    "domain_name": {
      "description": "Name of the domain.",
      "required": true
    },
    "ebs_options": {
      "description": "EBS related options, may be required based on chosen instance size. See below.",
      "required": false
    },
    "elasticsearch_version": {
      "description": "The version of Elasticsearch to deploy. Defaults to 1.5",
      "required": false
    },
    "encrypt_at_rest": {
      "description": "Encrypt at rest options. Only available for certain instance types. See below.",
      "required": false
    },
    "log_publishing_options": {
      "description": "Options for publishing slow logs to CloudWatch Logs.",
      "required": false
    },
    "node_to_node_encryption": {
      "description": "Node-to-node encryption options. See below.",
      "required": false
    },
    "snapshot_options": {
      "description": "Snapshot related options, see below.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource",
      "required": false
    },
    "vpc_options": {
      "description": "VPC related options, see below. Adding or removing this configuration forces a new resource (documentation).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elasticsearch_domain.html",
  "properties": [
    "domain_name",
    "access_policies",
    "advanced_options",
    "ebs_options",
    "encrypt_at_rest",
    "node_to_node_encryption",
    "cluster_config",
    "snapshot_options",
    "vpc_options",
    "log_publishing_options",
    "elasticsearch_version",
    "tags"
  ]
},
"aws_elasticsearch_domain_policy": {
  "full_properties": {
    "access_policies": {
      "description": "IAM policy document specifying the access policies for the domain",
      "required": false
    },
    "domain_name": {
      "description": "Name of the domain.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/elasticsearch_domain_policy.html",
  "properties": [
    "domain_name",
    "access_policies"
  ]
},
"aws_elastictranscoder_pipeline": {
  "full_properties": {
    "aws_kms_key_arn": {
      "description": "The AWS Key Management Service (AWS KMS) key that you want to use with this pipeline.",
      "required": false
    },
    "content_config": {
      "description": "The ContentConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save transcoded files and playlists. (documented below)",
      "required": false
    },
    "content_config_permissions": {
      "description": "The permissions for the content_config object. (documented below)",
      "required": false
    },
    "input_bucket": {
      "description": "The Amazon S3 bucket in which you saved the media files that you want to transcode and the graphics that you want to use as watermarks.",
      "required": true
    },
    "name": {
      "description": "The name of the pipeline. Maximum 40 characters",
      "required": false
    },
    "notifications": {
      "description": "The Amazon Simple Notification Service (Amazon SNS) topic that you want to notify to report job status. (documented below)",
      "required": false
    },
    "output_bucket": {
      "description": "The Amazon S3 bucket in which you want Elastic Transcoder to save the transcoded files.",
      "required": false
    },
    "role": {
      "description": "The IAM Amazon Resource Name (ARN) for the role that you want Elastic Transcoder to use to transcode jobs for this pipeline.",
      "required": true
    },
    "thumbnail_config": {
      "description": "The ThumbnailConfig object specifies information about the Amazon S3 bucket in which you want Elastic Transcoder to save thumbnail files. (documented below)",
      "required": false
    },
    "thumbnail_config_permissions": {
      "description": "The permissions for the thumbnail_config object. (documented below)",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elastic_transcoder_pipeline.html",
  "properties": [
    "aws_kms_key_arn",
    "content_config",
    "content_config_permissions",
    "input_bucket",
    "name",
    "notifications",
    "output_bucket",
    "role",
    "thumbnail_config",
    "thumbnail_config_permissions"
  ]
},
"aws_elastictranscoder_preset": {
  "full_properties": {
    "audio": {
      "description": "Audio parameters object (documented below).",
      "required": false
    },
    "audio_codec_options": {
      "description": "Codec options for the audio parameters (documented below)",
      "required": false
    },
    "container": {
      "description": "The container type for the output file. Valid values are flac, flv, fmp4, gif, mp3, mp4, mpg, mxf, oga, ogg, ts, and webm.",
      "required": false
    },
    "description": {
      "description": "A description of the preset (maximum 255 characters)",
      "required": false
    },
    "name": {
      "description": "The name of the preset. (maximum 40 characters)",
      "required": false
    },
    "thumbnails": {
      "description": "Thumbnail parameters object (documented below)",
      "required": false
    },
    "video": {
      "description": "Video parameters object (documented below)",
      "required": false
    },
    "video_codec_options": {
      "description": "Codec options for the video parameters",
      "required": false
    },
    "video_watermarks": {
      "description": "Watermark parameters for the video parameters (documented below)",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elastic_transcoder_preset.html",
  "properties": [
    "audio",
    "audio_codec_options",
    "container",
    "description",
    "name",
    "thumbnails",
    "video",
    "video_watermarks",
    "video_codec_options"
  ]
},
"aws_elb": {
  "full_properties": {
    "access_logs": {
      "description": "An Access Logs block. Access Logs documented below.",
      "required": false
    },
    "availability_zones": {
      "description": "The AZ's to serve traffic in.",
      "required": false
    },
    "connection_draining": {
      "description": "Boolean to enable connection draining. Default: false",
      "required": false
    },
    "connection_draining_timeout": {
      "description": "The time in seconds to allow for connections to drain. Default: 300",
      "required": false
    },
    "cross_zone_load_balancing": {
      "description": "Enable cross-zone load balancing. Default: true",
      "required": false
    },
    "health_check": {
      "description": "A health_check block. Health Check documented below.",
      "required": false
    },
    "idle_timeout": {
      "description": "The time in seconds that the connection is allowed to be idle. Default: 60",
      "required": false
    },
    "instances": {
      "description": "A list of instance ids to place in the ELB pool.",
      "required": false
    },
    "internal": {
      "description": "If true, ELB will be an internal ELB.",
      "required": false
    },
    "listener": {
      "description": "A list of listener blocks. Listeners documented below.",
      "required": true
    },
    "name": {
      "description": "The name of the ELB. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "security_groups": {
      "description": "A list of security group IDs to assign to the ELB.",
      "required": false
    },
    "subnets": {
      "description": "A list of subnet IDs to attach to the ELB.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/elb.html",
  "properties": [
    "name",
    "name_prefix",
    "access_logs",
    "availability_zones",
    "security_groups",
    "subnets",
    "instances",
    "internal",
    "listener",
    "health_check",
    "cross_zone_load_balancing",
    "idle_timeout",
    "connection_draining",
    "connection_draining_timeout",
    "tags"
  ]
},
"aws_elb_attachment": {
  "full_properties": {
    "elb": {
      "description": "The name of the ELB.",
      "required": true
    },
    "instance": {
      "description": "Instance ID to place in the ELB pool.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/elb_attachment.html",
  "properties": [
    "elb",
    "instance"
  ]
},
"aws_elb_load_balancer_backend_server_policy": {
  "full_properties": {
    "instance_port": {
      "description": "The instance port to apply the policy to.",
      "required": true
    },
    "load_balancer_name": {
      "description": "The load balancer to attach the policy to.",
      "required": true
    },
    "policy_names": {
      "description": "List of Policy Names to apply to the backend server.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/load_balancer_backend_server_policy.html",
  "properties": [
    "load_balancer_name",
    "policy_names",
    "instance_port"
  ]
},
"aws_elb_load_balancer_listener_policy": {
  "full_properties": {
    "load_balancer_name": {
      "description": "The load balancer to attach the policy to.",
      "required": true
    },
    "load_balancer_port": {
      "description": "The load balancer listener port to apply the policy to.",
      "required": true
    },
    "policy_names": {
      "description": "List of Policy Names to apply to the backend server.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/load_balancer_listener_policy.html",
  "properties": [
    "load_balancer_name",
    "load_balancer_port",
    "policy_names"
  ]
},
"aws_elb_load_balancer_policy": {
  "full_properties": {
    "load_balancer_name": {
      "description": "The load balancer on which the policy is defined.",
      "required": true
    },
    "policy_attribute": {
      "description": "Policy attribute to apply to the policy.",
      "required": false
    },
    "policy_name": {
      "description": "The name of the load balancer policy.",
      "required": true
    },
    "policy_type_name": {
      "description": "The policy type.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/load_balancer_policy.html",
  "properties": [
    "load_balancer_name",
    "policy_name",
    "policy_type_name",
    "policy_attribute"
  ]
},
"aws_emr_cluster": {
  "full_properties": {
    "additional_info": {
      "description": "A JSON string for selecting additional features such as adding proxy information. Note: Currently there is no API to retrieve the value of this argument after EMR cluster creation from provider, therefore Terraform cannot detect drift from the actual EMR cluster if its value is changed outside Terraform.",
      "required": false
    },
    "applications": {
      "description": "A list of applications for the cluster. Valid values are: Flink, Hadoop, Hive, Mahout, Pig, Spark, and JupyterHub (as of EMR 5.14.0). Case insensitive",
      "required": false
    },
    "bootstrap_action": {
      "description": "List of bootstrap actions that will be run before Hadoop is started on the cluster nodes. Defined below",
      "required": false
    },
    "configurations": {
      "description": "List of configurations supplied for the EMR cluster you are creating",
      "required": false
    },
    "configurations_json": {
      "description": "A JSON string for supplying list of configurations for the EMR cluster.",
      "required": false
    },
    "core_instance_count": {
      "description": "Number of Amazon EC2 instances used to execute the job flow. EMR will use one node as the cluster's master node and use the remainder of the nodes (core_instance_count-1) as core nodes. Cannot be specified if instance_groups is set. Default 1",
      "required": false
    },
    "core_instance_type": {
      "description": "The EC2 instance type of the slave nodes. Cannot be specified if instance_groups is set",
      "required": false
    },
    "custom_ami_id": {
      "description": "A custom Amazon Linux AMI for the cluster (instead of an EMR-owned AMI). Available in Amazon EMR version 5.7.0 and later.",
      "required": false
    },
    "ebs_root_volume_size": {
      "description": "Size in GiB of the EBS root device volume of the Linux AMI that is used for each EC2 instance. Available in Amazon EMR version 4.x and later.",
      "required": false
    },
    "ec2_attributes": {
      "description": "Attributes for the EC2 instances running the job flow. Defined below",
      "required": false
    },
    "instance_group": {
      "description": "A list of instance_group objects for each instance group in the cluster. Exactly one of master_instance_type and instance_group must be specified. If instance_group is set, then it must contain a configuration block for at least the MASTER instance group type (as well as any additional instance groups). Defined below",
      "required": false
    },
    "keep_job_flow_alive_when_no_steps": {
      "description": "Switch on/off run cluster with no steps or when all steps are complete (default is on)",
      "required": false
    },
    "kerberos_attributes": {
      "description": "Kerberos configuration for the cluster. Defined below",
      "required": false
    },
    "log_uri": {
      "description": "S3 bucket to write the log files of the job flow. If a value is not provided, logs are not created",
      "required": false
    },
    "master_instance_type": {
      "description": "The EC2 instance type of the master node. Exactly one of master_instance_type and instance_group must be specified.",
      "required": false
    },
    "name": {
      "description": "The name of the job flow",
      "required": true
    },
    "release_label": {
      "description": "The release label for the Amazon EMR release",
      "required": true
    },
    "scale_down_behavior": {
      "description": "The way that individual Amazon EC2 instances terminate when an automatic scale-in activity occurs or an instance group is resized.",
      "required": false
    },
    "security_configuration": {
      "description": "The security configuration name to attach to the EMR cluster. Only valid for EMR clusters with release_label 4.8.0 or greater",
      "required": false
    },
    "service_role": {
      "description": "IAM role that will be assumed by the Amazon EMR service to access AWS resources",
      "required": true
    },
    "termination_protection": {
      "description": "Switch on/off termination protection (default is off)",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/emr_cluster.html",
  "properties": [
    "name",
    "release_label",
    "master_instance_type",
    "scale_down_behavior",
    "additional_info",
    "service_role",
    "security_configuration",
    "core_instance_type",
    "core_instance_count",
    "instance_group",
    "log_uri",
    "applications",
    "termination_protection",
    "keep_job_flow_alive_when_no_steps",
    "ec2_attributes",
    "kerberos_attributes",
    "ebs_root_volume_size",
    "custom_ami_id",
    "bootstrap_action",
    "configurations",
    "configurations_json"
  ]
},
"aws_emr_instance_group": {
  "full_properties": {
    "cluster_id": {
      "description": "ID of the EMR Cluster to attach to. Changing this forces a new resource to be created.",
      "required": true
    },
    "ebs_config": {
      "description": "One or more ebs_config blocks as defined below. Changing this forces a new resource to be created.",
      "required": false
    },
    "ebs_optimized": {
      "description": "Indicates whether an Amazon EBS volume is EBS-optimized. Changing this forces a new resource to be created.",
      "required": false
    },
    "instance_count": {
      "description": "Target number of instances for the instance group. Defaults to 0.",
      "required": false
    },
    "instance_type": {
      "description": "The EC2 instance type for all instances in the instance group. Changing this forces a new resource to be created.",
      "required": true
    },
    "name": {
      "description": "Human friendly name given to the instance group. Changing this forces a new resource to be created.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/emr_instance_group.html",
  "properties": [
    "name",
    "cluster_id",
    "instance_type",
    "instance_count",
    "ebs_optimized",
    "ebs_config"
  ]
},
"aws_emr_security_configuration": {
  "full_properties": {
    "configuration": {
      "description": "A JSON formatted Security Configuration",
      "required": true
    },
    "name": {
      "description": "The name of the EMR Security Configuration. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/emr_security_configuration.html",
  "properties": [
    "name",
    "name_prefix",
    "configuration"
  ]
},
"aws_flow_log": {
  "full_properties": {
    "eni_id": {
      "description": "Elastic Network Interface ID to attach to",
      "required": false
    },
    "iam_role_arn": {
      "description": "The ARN for the IAM role that's used to post flow logs to a CloudWatch Logs log group",
      "required": false
    },
    "log_destination": {
      "description": "The ARN of the logging destination.",
      "required": false
    },
    "log_destination_type": {
      "description": "The type of the logging destination. Valid values: cloud-watch-logs, s3. Default: cloud-watch-logs.",
      "required": false
    },
    "log_group_name": {
      "description": "Deprecated: Use log_destination instead. The name of the CloudWatch log group.",
      "required": false
    },
    "subnet_id": {
      "description": "Subnet ID to attach to",
      "required": false
    },
    "traffic_type": {
      "description": "The type of traffic to capture. Valid values: ACCEPT,REJECT, ALL.",
      "required": true
    },
    "vpc_id": {
      "description": "VPC ID to attach to",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/flow_log.html",
  "properties": [
    "traffic_type",
    "eni_id",
    "iam_role_arn",
    "log_destination_type",
    "log_destination",
    "log_group_name",
    "subnet_id",
    "vpc_id"
  ]
},
"aws_gamelift_alias": {
  "full_properties": {
    "description": {
      "description": "Description of the alias.",
      "required": false
    },
    "name": {
      "description": "Name of the alias.",
      "required": true
    },
    "routing_strategy": {
      "description": "Specifies the fleet and/or routing type to use for the alias.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/gamelift_alias.html",
  "properties": [
    "name",
    "description",
    "routing_strategy"
  ]
},
"aws_gamelift_build": {
  "full_properties": {
    "name": {
      "description": "Name of the build",
      "required": true
    },
    "operating_system": {
      "description": "Operating system that the game server binaries are built to run on. e.g. WINDOWS_2012 or AMAZON_LINUX.",
      "required": true
    },
    "storage_location": {
      "description": "Information indicating where your game build files are stored. See below.",
      "required": true
    },
    "version": {
      "description": "Version that is associated with this build.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/gamelift_build.html",
  "properties": [
    "name",
    "operating_system",
    "storage_location",
    "version"
  ]
},
"aws_gamelift_fleet": {
  "full_properties": {
    "build_id": {
      "description": "ID of the Gamelift Build to be deployed on the fleet.",
      "required": true
    },
    "description": {
      "description": "Human-readable description of the fleet.",
      "required": false
    },
    "ec2_inbound_permission": {
      "description": "Range of IP addresses and port settings that permit inbound traffic to access server processes running on the fleet. See below.",
      "required": false
    },
    "ec2_instance_type": {
      "description": "Name of an EC2 instance type. e.g. t2.micro",
      "required": true
    },
    "metric_groups": {
      "description": "List of names of metric groups to add this fleet to. A metric group tracks metrics across all fleets in the group. Defaults to default.",
      "required": false
    },
    "name": {
      "description": "The name of the fleet.",
      "required": true
    },
    "new_game_session_protection_policy": {
      "description": "Game session protection policy to apply to all instances in this fleet. e.g. FullProtection. Defaults to NoProtection.",
      "required": false
    },
    "resource_creation_limit_policy": {
      "description": "Policy that limits the number of game sessions an individual player can create over a span of time for this fleet. See below.",
      "required": false
    },
    "runtime_configuration": {
      "description": "Instructions for launching server processes on each instance in the fleet. See below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/gamelift_fleet.html",
  "properties": [
    "build_id",
    "ec2_instance_type",
    "name",
    "description",
    "ec2_inbound_permission",
    "metric_groups",
    "new_game_session_protection_policy",
    "resource_creation_limit_policy",
    "runtime_configuration"
  ]
},
"aws_gamelift_game_session_queue": {
  "full_properties": {
    "destinations": {
      "description": "List of fleet/alias ARNs used by session queue for placing game sessions.",
      "required": false
    },
    "name": {
      "description": "Name of the session queue.",
      "required": true
    },
    "player_latency_policy": {
      "description": "One or more policies used to choose fleet based on player latency. See below.",
      "required": false
    },
    "timeout_in_seconds": {
      "description": "Maximum time a game session request can remain in the queue.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/gamelift_game_session_queue.html",
  "properties": [
    "name",
    "timeout_in_seconds",
    "destinations",
    "player_latency_policy"
  ]
},
"aws_glacier_vault": {
  "full_properties": {
    "access_policy": {
      "description": "The policy document. This is a JSON formatted string.",
      "required": false
    },
    "name": {
      "description": "The name of the Vault. Names can be between 1 and 255 characters long and the valid characters are a-z, A-Z, 0-9, '_' (underscore), '-' (hyphen), and '.' (period).",
      "required": true
    },
    "notification": {
      "description": "The notifications for the Vault. Fields documented below.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glacier_vault.html",
  "properties": [
    "name",
    "access_policy",
    "notification",
    "tags"
  ]
},
"aws_glacier_vault_lock": {
  "full_properties": {
    "complete_lock": {
      "description": "Boolean whether to permanently apply this Glacier Lock Policy. Once completed, this cannot be undone. If set to false, the Glacier Lock Policy remains in a testing mode for 24 hours. After that time, the Glacier Lock Policy is automatically removed by Glacier and the Terraform resource will show as needing recreation. Changing this from false to true will show as resource recreation, which is expected. Changing this from true to false is not possible unless the Glacier Vault is recreated at the same time.",
      "required": true
    },
    "ignore_deletion_error": {
      "description": "Allow Terraform to ignore the error returned when attempting to delete the Glacier Lock Policy. This can be used to delete or recreate the Glacier Vault via Terraform, for example, if the Glacier Vault Lock policy permits that action. This should only be used in conjunction with complete_lock being set to true.",
      "required": false
    },
    "policy": {
      "description": "JSON string containing the IAM policy to apply as the Glacier Vault Lock policy.",
      "required": true
    },
    "vault_name": {
      "description": "The name of the Glacier Vault.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/glacier_vault_lock.html",
  "properties": [
    "complete_lock",
    "policy",
    "vault_name",
    "ignore_deletion_error"
  ]
},
"aws_glue_catalog_database": {
  "full_properties": {
    "catalog_id": {
      "description": "ID of the Glue Catalog to create the database in. If omitted, this defaults to the AWS Account ID.",
      "required": false
    },
    "description": {
      "description": "Description of the database.",
      "required": false
    },
    "location_uri": {
      "description": "The location of the database (for example, an HDFS path).",
      "required": false
    },
    "name": {
      "description": "The name of the database.",
      "required": true
    },
    "parameters": {
      "description": "A list of key-value pairs that define parameters and properties of the database.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_catalog_database.html",
  "properties": [
    "name",
    "catalog_id",
    "description",
    "location_uri",
    "parameters"
  ]
},
"aws_glue_catalog_table": {
  "full_properties": {
    "catalog_id": {
      "description": "ID of the Glue Catalog and database to create the table in. If omitted, this defaults to the AWS Account ID plus the database name.",
      "required": false
    },
    "database_name": {
      "description": "Name of the metadata database where the table metadata resides. For Hive compatibility, this must be all lowercase.",
      "required": true
    },
    "description": {
      "description": "Description of the table.",
      "required": false
    },
    "name": {
      "description": "Name of the table. For Hive compatibility, this must be entirely lowercase.",
      "required": true
    },
    "owner": {
      "description": "Owner of the table.",
      "required": false
    },
    "parameters": {
      "description": "Properties associated with this table, as a list of key-value pairs.",
      "required": false
    },
    "partition_keys": {
      "description": "A list of columns by which the table is partitioned. Only primitive types are supported as partition keys.",
      "required": false
    },
    "retention": {
      "description": "Retention time for this table.",
      "required": false
    },
    "storage_descriptor": {
      "description": "A storage descriptor object containing information about the physical storage of this table. You can refer to the Glue Developer Guide for a full explanation of this object.",
      "required": false
    },
    "table_type": {
      "description": "The type of this table (EXTERNAL_TABLE, VIRTUAL_VIEW, etc.).",
      "required": false
    },
    "view_expanded_text": {
      "description": "If the table is a view, the expanded text of the view; otherwise null.",
      "required": false
    },
    "view_original_text": {
      "description": "If the table is a view, the original text of the view; otherwise null.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_catalog_table.html",
  "properties": [
    "name",
    "database_name",
    "catalog_id",
    "description",
    "owner",
    "retention",
    "storage_descriptor",
    "partition_keys",
    "view_original_text",
    "view_expanded_text",
    "table_type",
    "parameters"
  ]
},
"aws_glue_classifier": {
  "full_properties": {
    "grok_classifier": {
      "description": "– (Optional) A classifier that uses grok patterns. Defined below.",
      "required": false
    },
    "json_classifier": {
      "description": "– (Optional) A classifier for JSON content. Defined below.",
      "required": false
    },
    "name": {
      "description": "– (Required) The name of the classifier.",
      "required": false
    },
    "xml_classifier": {
      "description": "– (Optional) A classifier for XML content. Defined below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_classifier.html",
  "properties": [
    "grok_classifier",
    "json_classifier",
    "name",
    "xml_classifier"
  ]
},
"aws_glue_connection": {
  "full_properties": {
    "catalog_id": {
      "description": "– (Optional) The ID of the Data Catalog in which to create the connection. If none is supplied, the AWS account ID is used by default.",
      "required": false
    },
    "connection_properties": {
      "description": "– (Required) A map of key-value pairs used as parameters for this connection.",
      "required": false
    },
    "connection_type": {
      "description": "– (Optional) The type of the connection. Defaults to JBDC.",
      "required": false
    },
    "description": {
      "description": "– (Optional) Description of the connection.",
      "required": false
    },
    "match_criteria": {
      "description": "– (Optional) A list of criteria that can be used in selecting this connection.",
      "required": false
    },
    "name": {
      "description": "– (Required) The name of the connection.",
      "required": false
    },
    "physical_connection_requirements": {
      "description": "A map of physical connection requirements, such as VPC and SecurityGroup. Defined below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_connection.html",
  "properties": [
    "catalog_id",
    "connection_properties",
    "connection_type",
    "description",
    "match_criteria",
    "name",
    "physical_connection_requirements"
  ]
},
"aws_glue_crawler": {
  "full_properties": {
    "classifiers": {
      "description": "List of custom classifiers. By default, all AWS classifiers are included in a crawl, but these custom classifiers always override the default classifiers for a given classification.",
      "required": false
    },
    "configuration": {
      "description": "JSON string of configuration information.",
      "required": false
    },
    "database_name": {
      "description": "Glue database where results are written.",
      "required": true
    },
    "description": {
      "description": "Description of the crawler.",
      "required": false
    },
    "dynamodb_target": {
      "description": "List of nested DynamoDB target arguments. See below.",
      "required": false
    },
    "jdbc_target": {
      "description": "List of nested JBDC target arguments. See below.",
      "required": false
    },
    "name": {
      "description": "Name of the crawler.",
      "required": true
    },
    "role": {
      "description": "The IAM role friendly name (including path without leading slash), or ARN of an IAM role, used by the crawler to access other resources.",
      "required": true
    },
    "s3_target": {
      "description": "List nested Amazon S3 target arguments. See below.",
      "required": false
    },
    "schedule": {
      "description": "A cron expression used to specify the schedule. For more information, see Time-Based Schedules for Jobs and Crawlers. For example, to run something every day at 12:15 UTC, you would specify: cron(15 12 * * ? *).",
      "required": false
    },
    "schema_change_policy": {
      "description": "Policy for the crawler's update and deletion behavior.",
      "required": false
    },
    "table_prefix": {
      "description": "The table prefix used for catalog tables that are created.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_crawler.html",
  "properties": [
    "database_name",
    "name",
    "role",
    "classifiers",
    "configuration",
    "description",
    "dynamodb_target",
    "jdbc_target",
    "s3_target",
    "schedule",
    "schema_change_policy",
    "table_prefix"
  ]
},
"aws_glue_job": {
  "full_properties": {
    "allocated_capacity": {
      "description": "– (Optional) The number of AWS Glue data processing units (DPUs) to allocate to this Job. At least 2 DPUs need to be allocated; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory.",
      "required": false
    },
    "command": {
      "description": "– (Required) The command of the job. Defined below.",
      "required": false
    },
    "connections": {
      "description": "– (Optional) The list of connections used for this job.",
      "required": false
    },
    "default_arguments": {
      "description": "– (Optional) The map of default arguments for this job. You can specify arguments here that your own job-execution script consumes, as well as arguments that AWS Glue itself consumes. For information about how to specify and consume your own Job arguments, see the Calling AWS Glue APIs in Python topic in the developer guide. For information about the key-value pairs that AWS Glue consumes to set up your job, see the Special Parameters Used by AWS Glue topic in the developer guide.",
      "required": false
    },
    "description": {
      "description": "– (Optional) Description of the job.",
      "required": false
    },
    "execution_property": {
      "description": "– (Optional) Execution property of the job. Defined below.",
      "required": false
    },
    "max_retries": {
      "description": "– (Optional) The maximum number of times to retry this job if it fails.",
      "required": false
    },
    "name": {
      "description": "– (Required) The name you assign to this job. It must be unique in your account.",
      "required": false
    },
    "role_arn": {
      "description": "– (Required) The ARN of the IAM role associated with this job.",
      "required": false
    },
    "security_configuration": {
      "description": "The name of the Security Configuration to be associated with the job. ",
      "required": false
    },
    "timeout": {
      "description": "– (Optional) The job timeout in minutes. The default is 2880 minutes (48 hours).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_job.html",
  "properties": [
    "allocated_capacity",
    "command",
    "connections",
    "default_arguments",
    "description",
    "execution_property",
    "max_retries",
    "name",
    "role_arn",
    "timeout",
    "security_configuration"
  ]
},
"aws_glue_security_configuration": {
  "full_properties": {
    "encryption_configuration": {
      "description": "– (Required) Configuration block containing encryption configuration. Detailed below.",
      "required": false
    },
    "name": {
      "description": "– (Required) Name of the security configuration.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_security_configuration.html",
  "properties": [
    "encryption_configuration",
    "name"
  ]
},
"aws_glue_trigger": {
  "full_properties": {
    "actions": {
      "description": "– (Required) List of actions initiated by this trigger when it fires. Defined below.",
      "required": false
    },
    "description": {
      "description": "– (Optional) A description of the new trigger.",
      "required": false
    },
    "enabled": {
      "description": "– (Optional) Start the trigger. Defaults to true. Not valid to disable for ON_DEMAND type.",
      "required": false
    },
    "name": {
      "description": "– (Required) The name of the trigger.",
      "required": false
    },
    "predicate": {
      "description": "– (Optional) A predicate to specify when the new trigger should fire. Required when trigger type is CONDITIONAL. Defined below.",
      "required": false
    },
    "schedule": {
      "description": "– (Optional) A cron expression used to specify the schedule. Time-Based Schedules for Jobs and Crawlers",
      "required": false
    },
    "type": {
      "description": "– (Required) The type of trigger. Valid values are CONDITIONAL, ON_DEMAND, and SCHEDULED.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/glue_trigger.html",
  "properties": [
    "actions",
    "description",
    "enabled",
    "name",
    "predicate",
    "schedule",
    "type"
  ]
},
"aws_guardduty_detector": {
  "full_properties": {
    "enable": {
      "description": "Enable monitoring and feedback reporting. Setting to false is equivalent to \"suspending\" GuardDuty. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/guardduty_detector.html",
  "properties": [
    "enable"
  ]
},
"aws_guardduty_ipset": {
  "full_properties": {
    "activate": {
      "description": "Specifies whether GuardDuty is to start using the uploaded IPSet.",
      "required": true
    },
    "detector_id": {
      "description": "The detector ID of the GuardDuty.",
      "required": true
    },
    "format": {
      "description": "The format of the file that contains the IPSet. Valid values: TXT | STIX | OTX_CSV | ALIEN_VAULT | PROOF_POINT | FIRE_EYE",
      "required": true
    },
    "location": {
      "description": "The URI of the file that contains the IPSet.",
      "required": true
    },
    "name": {
      "description": "The friendly name to identify the IPSet.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/guardduty_ipset.html",
  "properties": [
    "activate",
    "detector_id",
    "format",
    "location",
    "name"
  ]
},
"aws_guardduty_member": {
  "full_properties": {
    "account_id": {
      "description": "AWS account ID for member account.",
      "required": true
    },
    "detector_id": {
      "description": "The detector ID of the GuardDuty account where you want to create member accounts.",
      "required": true
    },
    "disable_email_notification": {
      "description": "Boolean whether an email notification is sent to the accounts. Defaults to false.",
      "required": false
    },
    "email": {
      "description": "Email address for member account.",
      "required": true
    },
    "invitation_message": {
      "description": "Message for invitation.",
      "required": false
    },
    "invite": {
      "description": "Boolean whether to invite the account to GuardDuty as a member. Defaults to false. To detect if an invitation needs to be (re-)sent, the Terraform state value is true based on a relationship_status of Disabled, Enabled, Invited, or EmailVerificationInProgress.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/guardduty_member.html",
  "properties": [
    "account_id",
    "detector_id",
    "email",
    "invite",
    "invitation_message",
    "disable_email_notification"
  ]
},
"aws_guardduty_threatintelset": {
  "full_properties": {
    "activate": {
      "description": "Specifies whether GuardDuty is to start using the uploaded ThreatIntelSet.",
      "required": true
    },
    "detector_id": {
      "description": "The detector ID of the GuardDuty.",
      "required": true
    },
    "format": {
      "description": "The format of the file that contains the ThreatIntelSet. Valid values: TXT | STIX | OTX_CSV | ALIEN_VAULT | PROOF_POINT | FIRE_EYE",
      "required": true
    },
    "location": {
      "description": "The URI of the file that contains the ThreatIntelSet.",
      "required": true
    },
    "name": {
      "description": "The friendly name to identify the ThreatIntelSet.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/guardduty_threatintelset.html",
  "properties": [
    "activate",
    "detector_id",
    "format",
    "location",
    "name"
  ]
},
"aws_iam_access_key": {
  "full_properties": {
    "pgp_key": {
      "description": "Either a base-64 encoded PGP public key, or a",
      "required": false
    },
    "user": {
      "description": "The IAM user to associate with this access key.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_access_key.html",
  "properties": [
    "user",
    "pgp_key"
  ]
},
"aws_iam_account_alias": {
  "full_properties": {
    "account_alias": {
      "description": "The account alias",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_account_alias.html",
  "properties": [
    "account_alias"
  ]
},
"aws_iam_account_password_policy": {
  "full_properties": {
    "allow_users_to_change_password": {
      "description": "Whether to allow users to change their own password",
      "required": false
    },
    "hard_expiry": {
      "description": "Whether users are prevented from setting a new password after their password has expired",
      "required": false
    },
    "max_password_age": {
      "description": "The number of days that an user password is valid.",
      "required": false
    },
    "minimum_password_length": {
      "description": "Minimum length to require for user passwords.",
      "required": false
    },
    "password_reuse_prevention": {
      "description": "The number of previous passwords that users are prevented from reusing.",
      "required": false
    },
    "require_lowercase_characters": {
      "description": "Whether to require lowercase characters for user passwords.",
      "required": false
    },
    "require_numbers": {
      "description": "Whether to require numbers for user passwords.",
      "required": false
    },
    "require_symbols": {
      "description": "Whether to require symbols for user passwords.",
      "required": false
    },
    "require_uppercase_characters": {
      "description": "Whether to require uppercase characters for user passwords.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_account_password_policy.html",
  "properties": [
    "allow_users_to_change_password",
    "hard_expiry",
    "max_password_age",
    "minimum_password_length",
    "password_reuse_prevention",
    "require_lowercase_characters",
    "require_numbers",
    "require_symbols",
    "require_uppercase_characters"
  ]
},
"aws_iam_group": {
  "full_properties": {
    "name": {
      "description": "The group's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-_.. Group names are not distinguished by case. For example, you cannot create groups named both \"ADMINS\" and \"admins\".",
      "required": true
    },
    "path": {
      "description": "Path in which to create the group.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_group.html",
  "properties": [
    "name",
    "path"
  ]
},
"aws_iam_group_membership": {
  "full_properties": {
    "group": {
      "description": "– (Required) The IAM Group name to attach the list of users to",
      "required": false
    },
    "name": {
      "description": "The name to identify the Group Membership",
      "required": true
    },
    "users": {
      "description": "A list of IAM User names to associate with the Group",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_group_membership.html",
  "properties": [
    "name",
    "users",
    "group"
  ]
},
"aws_iam_group_policy": {
  "full_properties": {
    "group": {
      "description": "The IAM group to attach to the policy.",
      "required": true
    },
    "name": {
      "description": "The name of the policy. If omitted, Terraform will",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "policy": {
      "description": "The policy document. This is a JSON formatted string. For more information about building IAM policy documents with Terraform, see the AWS IAM Policy Document Guide",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_group_policy.html",
  "properties": [
    "policy",
    "name",
    "name_prefix",
    "group"
  ]
},
"aws_iam_group_policy_attachment": {
  "full_properties": {
    "group": {
      "description": "- The group the policy should be applied to",
      "required": true
    },
    "policy_arn": {
      "description": "- The ARN of the policy you want to apply",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_group_policy_attachment.html",
  "properties": [
    "group",
    "policy_arn"
  ]
},
"aws_iam_instance_profile": {
  "full_properties": {
    "name": {
      "description": "The profile's name. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "path": {
      "description": "Path in which to create the profile.",
      "required": false
    },
    "role": {
      "description": "The role name to include in the profile.",
      "required": false
    },
    "roles": {
      "description": "A list of role names to include in the profile.  The current default is 1.  If you see an error message similar to Cannot exceed quota for InstanceSessionsPerInstanceProfile: 1, then you must contact AWS support and ask for a limit increase.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_instance_profile.html",
  "properties": [
    "name",
    "name_prefix",
    "path",
    "roles",
    "role"
  ]
},
"aws_iam_openid_connect_provider": {
  "full_properties": {
    "client_id_list": {
      "description": "A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.)",
      "required": true
    },
    "thumbprint_list": {
      "description": "A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificate(s). ",
      "required": true
    },
    "url": {
      "description": "The URL of the identity provider. Corresponds to the iss claim.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_openid_connect_provider.html",
  "properties": [
    "url",
    "client_id_list",
    "thumbprint_list"
  ]
},
"aws_iam_policy": {
  "full_properties": {
    "description": {
      "description": "Description of the IAM policy.",
      "required": false
    },
    "name": {
      "description": "The name of the policy. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "path": {
      "description": "Path in which to create the policy.",
      "required": false
    },
    "policy": {
      "description": "The policy document. This is a JSON formatted string. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_policy.html",
  "properties": [
    "description",
    "name",
    "name_prefix",
    "path",
    "policy"
  ]
},
"aws_iam_policy_attachment": {
  "full_properties": {
    "groups": {
      "description": "- The group(s) the policy should be applied to",
      "required": false
    },
    "name": {
      "description": "- The name of the attachment. This cannot be an empty string.",
      "required": true
    },
    "policy_arn": {
      "description": "- The ARN of the policy you want to apply",
      "required": true
    },
    "roles": {
      "description": "- The role(s) the policy should be applied to",
      "required": false
    },
    "users": {
      "description": "- The user(s) the policy should be applied to",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_policy_attachment.html",
  "properties": [
    "name",
    "users",
    "roles",
    "groups",
    "policy_arn"
  ]
},
"aws_iam_role": {
  "full_properties": {
    "assume_role_policy": {
      "description": "The policy that grants an entity permission to assume the role.",
      "required": true
    },
    "name": {
      "description": "The name of the role. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_role.html",
  "properties": [
    "name",
    "name_prefix",
    "assume_role_policy"
  ]
},
"aws_iam_role_policy": {
  "full_properties": {
    "name": {
      "description": "The name of the role policy. If omitted, Terraform will",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "policy": {
      "description": "The policy document. This is a JSON formatted string. For more information about building IAM policy documents with Terraform, see the AWS IAM Policy Document Guide",
      "required": true
    },
    "role": {
      "description": "The IAM role to attach to the policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_role_policy.html",
  "properties": [
    "name",
    "name_prefix",
    "policy",
    "role"
  ]
},
"aws_iam_role_policy_attachment": {
  "full_properties": {
    "policy_arn": {
      "description": "- The ARN of the policy you want to apply",
      "required": true
    },
    "role": {
      "description": "- The role the policy should be applied to",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_role_policy_attachment.html",
  "properties": [
    "role",
    "policy_arn"
  ]
},
"aws_iam_saml_provider": {
  "full_properties": {
    "name": {
      "description": "The name of the provider to create.",
      "required": true
    },
    "saml_metadata_document": {
      "description": "An XML document generated by an identity provider that supports SAML 2.0.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_saml_provider.html",
  "properties": [
    "name",
    "saml_metadata_document"
  ]
},
"aws_iam_server_certificate": {
  "full_properties": {
    "certificate_body": {
      "description": "– (Required) The contents of the public key certificate in",
      "required": false
    },
    "certificate_chain": {
      "description": "– (Optional) The contents of the certificate chain.",
      "required": false
    },
    "name": {
      "description": "The name of the Server Certificate. Do not include the",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "path": {
      "description": "The IAM path for the server certificate.  If it is not",
      "required": false
    },
    "private_key": {
      "description": "– (Required) The contents of the private key in PEM-encoded format.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_server_certificate.html",
  "properties": [
    "name",
    "name_prefix",
    "certificate_body",
    "certificate_chain",
    "private_key",
    "path"
  ]
},
"aws_iam_service_linked_role": {
  "full_properties": {
    "aws_service_name": {
      "description": "The AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: elasticbeanstalk.amazonaws.com. To find the full list of services that support service-linked roles, check the docs.",
      "required": false
    },
    "custom_suffix": {
      "description": "Additional string appended to the role name. Not all AWS services support custom suffixes.",
      "required": false
    },
    "description": {
      "description": "The description of the role.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_service_linked_role.html",
  "properties": [
    "aws_service_name",
    "custom_suffix",
    "description"
  ]
},
"aws_iam_user": {
  "full_properties": {
    "force_destroy": {
      "description": "When destroying this user, destroy even if it",
      "required": false
    },
    "name": {
      "description": "The user's name. The name must consist of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: =,.@-_.. User names are not distinguished by case. For example, you cannot create users named both \"TESTUSER\" and \"testuser\".",
      "required": true
    },
    "path": {
      "description": "Path in which to create the user.",
      "required": false
    },
    "permissions_boundary": {
      "description": "The ARN of the policy that is used to set the permissions boundary for the user.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iam_user.html",
  "properties": [
    "name",
    "path",
    "permissions_boundary",
    "force_destroy"
  ]
},
"aws_iam_user_group_membership": {
  "full_properties": {
    "groups": {
      "description": "A list of IAM Groups to add the user to",
      "required": true
    },
    "user": {
      "description": "The name of the IAM User to add to groups",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_user_group_membership.html",
  "properties": [
    "user",
    "groups"
  ]
},
"aws_iam_user_login_profile": {
  "full_properties": {
    "password_length": {
      "description": "The length of the generated",
      "required": false
    },
    "password_reset_required": {
      "description": "Whether the",
      "required": false
    },
    "pgp_key": {
      "description": "Either a base-64 encoded PGP public key, or a",
      "required": true
    },
    "user": {
      "description": "The IAM user's name.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_user_login_profile.html",
  "properties": [
    "user",
    "pgp_key",
    "password_reset_required",
    "password_length"
  ]
},
"aws_iam_user_policy": {
  "full_properties": {
    "name": {
      "description": "The name of the policy. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "policy": {
      "description": "The policy document. This is a JSON formatted string. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    },
    "user": {
      "description": "IAM user to which to attach this policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_user_policy.html",
  "properties": [
    "policy",
    "name",
    "name_prefix",
    "user"
  ]
},
"aws_iam_user_policy_attachment": {
  "full_properties": {
    "policy_arn": {
      "description": "- The ARN of the policy you want to apply",
      "required": true
    },
    "user": {
      "description": "- The user the policy should be applied to",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_user_policy_attachment.html",
  "properties": [
    "user",
    "policy_arn"
  ]
},
"aws_iam_user_ssh_key": {
  "full_properties": {
    "encoding": {
      "description": "Specifies the public key encoding format to use in the response. To retrieve the public key in ssh-rsa format, use SSH. To retrieve the public key in PEM format, use PEM.",
      "required": true
    },
    "public_key": {
      "description": "The SSH public key. The public key must be encoded in ssh-rsa format or PEM format.",
      "required": true
    },
    "status": {
      "description": "The status to assign to the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used. Default is active.",
      "required": false
    },
    "username": {
      "description": "The name of the IAM user to associate the SSH public key with.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iam_user_ssh_key.html",
  "properties": [
    "username",
    "encoding",
    "public_key",
    "status"
  ]
},
"aws_inspector_assessment_target": {
  "full_properties": {
    "name": {
      "description": "The name of the assessment target.",
      "required": true
    },
    "resource_group_arn": {
      "description": "- The resource group ARN stating tags for instance matching.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/inspector_assessment_target.html",
  "properties": [
    "name",
    "resource_group_arn"
  ]
},
"aws_inspector_assessment_template": {
  "full_properties": {
    "duration": {
      "description": "The duration of the inspector run.",
      "required": true
    },
    "name": {
      "description": "The name of the assessment template.",
      "required": true
    },
    "rules_package_arns": {
      "description": "The rules to be used during the run.",
      "required": true
    },
    "target_arn": {
      "description": "The assessment target ARN to attach the template to.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/inspector_assessment_template.html",
  "properties": [
    "name",
    "target_arn",
    "duration",
    "rules_package_arns"
  ]
},
"aws_inspector_resource_group": {
  "full_properties": {
    "tags": {
      "description": "The tags on your EC2 Instance.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/inspector_resource_group.html",
  "properties": [
    "tags"
  ]
},
"aws_instance": {
  "full_properties": {
    "ami": {
      "description": "The AMI to use for the instance.",
      "required": true
    },
    "availability_zone": {
      "description": "The AZ to start the instance in.",
      "required": false
    },
    "cpu_core_count": {
      "description": "Sets the number of CPU cores for an instance. This option is ",
      "required": false
    },
    "cpu_threads_per_core": {
      "description": "If set to to 1, hyperthreading is disabled on the launched instance. Defaults to 2 if not set. See Optimizing CPU Options for more information.",
      "required": false
    },
    "placement_group": {
      "description": "The Placement Group to start the instance in.",
      "required": false
    },
    "tenancy": {
      "description": "The tenancy of the instance (if the instance is running in a VPC). An instance with a tenancy of dedicated runs on single-tenant hardware. The host tenancy is not supported for the import-instance command.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/instance.html",
  "properties": [
    "ami",
    "availability_zone",
    "placement_group",
    "tenancy",
    "cpu_core_count",
    "cpu_threads_per_core"
  ]
},
"aws_internet_gateway": {
  "full_properties": {
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The VPC ID to create in.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/internet_gateway.html",
  "properties": [
    "vpc_id",
    "tags"
  ]
},
"aws_iot_certificate": {
  "full_properties": {
    "active": {
      "description": "Boolean flag to indicate if the certificate should be active",
      "required": true
    },
    "csr": {
      "description": "The certificate signing request. Review the",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iot_certificate.html",
  "properties": [
    "active",
    "csr"
  ]
},
"aws_iot_policy": {
  "full_properties": {
    "name": {
      "description": "The name of the policy.",
      "required": true
    },
    "policy": {
      "description": "The policy document. This is a JSON formatted string. Use the IoT Developer Guide for more information on IoT Policies. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iot_policy.html",
  "properties": [
    "name",
    "policy"
  ]
},
"aws_iot_policy_attachment": {
  "full_properties": {
    "policy": {
      "description": "The name of the policy to attach.",
      "required": true
    },
    "target": {
      "description": "The identity to which the policy is attached.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iot_policy_attachment.html",
  "properties": [
    "policy",
    "target"
  ]
},
"aws_iot_thing": {
  "full_properties": {
    "attributes": {
      "description": "Map of attributes of the thing.",
      "required": false
    },
    "name": {
      "description": "The name of the thing.",
      "required": true
    },
    "thing_type_name": {
      "description": "The thing type name.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iot_thing.html",
  "properties": [
    "name",
    "attributes",
    "thing_type_name"
  ]
},
"aws_iot_thing_principal_attachment": {
  "full_properties": {
    "principal": {
      "description": "The AWS IoT Certificate ARN or Amazon Cognito Identity ID.",
      "required": true
    },
    "thing": {
      "description": "The name of the thing.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iot_thing_principal_attachment.html",
  "properties": [
    "principal",
    "thing"
  ]
},
"aws_iot_thing_type": {
  "full_properties": {
    "deprecated": {
      "description": "Whether the thing type is deprecated. If true, no new things could be associated with this type.",
      "required": false
    },
    "description": {
      "description": "The description of the thing type.",
      "required": false
    },
    "name": {
      "description": "The name of the thing type.",
      "required": false
    },
    "searchable_attributes": {
      "description": "A list of searchable thing attribute names.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/iot_thing_type.html",
  "properties": [
    "name",
    "description",
    "deprecated",
    "searchable_attributes"
  ]
},
"aws_iot_topic_rule": {
  "full_properties": {
    "description": {
      "description": "The description of the rule.",
      "required": false
    },
    "enabled": {
      "description": "Specifies whether the rule is enabled.",
      "required": true
    },
    "name": {
      "description": "The name of the rule.",
      "required": true
    },
    "sql": {
      "description": "The SQL statement used to query the topic. For more information, see AWS IoT SQL Reference (http://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference) in the AWS IoT Developer Guide.",
      "required": true
    },
    "sql_version": {
      "description": "The version of the SQL rules engine to use when evaluating the rule.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/iot_topic_rule.html",
  "properties": [
    "name",
    "description",
    "enabled",
    "sql",
    "sql_version"
  ]
},
"aws_key_pair": {
  "full_properties": {
    "key_name": {
      "description": "The name for the key pair.",
      "required": false
    },
    "key_name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with key_name.",
      "required": false
    },
    "public_key": {
      "description": "The public key material.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/key_pair.html",
  "properties": [
    "key_name",
    "key_name_prefix",
    "public_key"
  ]
},
"aws_kinesis_analytics_application": {
  "full_properties": {
    "cloudwatch_logging_options": {
      "description": "The CloudWatch log stream options to monitor application errors. ",
      "required": false
    },
    "code": {
      "description": "SQL Code to transform input data, and generate output.",
      "required": false
    },
    "description": {
      "description": "Description of the application.",
      "required": false
    },
    "inputs": {
      "description": "Input configuration of the application. See Inputs below for more details.",
      "required": false
    },
    "name": {
      "description": "Name of the Kinesis Analytics Application.",
      "required": true
    },
    "outputs": {
      "description": "Output destination configuration of the application. See Outputs below for more details.",
      "required": false
    },
    "reference_data_sources": {
      "description": "An S3 Reference Data Source for the application. ",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/kinesis_analytics_application.html",
  "properties": [
    "name",
    "code",
    "description",
    "cloudwatch_logging_options",
    "inputs",
    "outputs",
    "reference_data_sources"
  ]
},
"aws_kinesis_firehose_delivery_stream": {
  "full_properties": {
    "destination": {
      "description": "– (Required) This is the destination to where the data is delivered. The only options are s3 (Deprecated, use extended_s3 instead), extended_s3, redshift, elasticsearch, and splunk.",
      "required": false
    },
    "extended_s3_configuration": {
      "description": "Enhanced configuration options for the s3 destination. More details are given below.",
      "required": false
    },
    "kinesis_source_configuration": {
      "description": "Allows the ability to specify the kinesis stream that is used as the source of the firehose delivery stream.",
      "required": false
    },
    "name": {
      "description": "A name to identify the stream. This is unique to the",
      "required": true
    },
    "redshift_configuration": {
      "description": "Configuration options if redshift is the destination.",
      "required": false
    },
    "s3_configuration": {
      "description": "Configuration options for the s3 destination (or the intermediate bucket if the destination",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/kinesis_firehose_delivery_stream.html",
  "properties": [
    "name",
    "kinesis_source_configuration",
    "destination",
    "s3_configuration",
    "extended_s3_configuration",
    "redshift_configuration"
  ]
},
"aws_kinesis_stream": {
  "full_properties": {
    "encryption_type": {
      "description": "The encryption type to use. The only acceptable values are NONE or KMS. The default value is NONE.",
      "required": false
    },
    "kms_key_id": {
      "description": "The GUID for the customer-managed KMS key to use for encryption. You can also use a Kinesis-owned master key by specifying the alias aws/kinesis.",
      "required": false
    },
    "name": {
      "description": "A name to identify the stream. This is unique to the",
      "required": true
    },
    "retention_period": {
      "description": "Length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours. Minimum value is 24. Default is 24.",
      "required": false
    },
    "shard_count": {
      "description": "– (Required) The number of shards that the stream will use.",
      "required": false
    },
    "shard_level_metrics": {
      "description": "A list of shard-level CloudWatch metrics which can be enabled for the stream. See Monitoring with CloudWatch for more. Note that the value ALL should not be used; instead you should provide an explicit list of metrics you wish to enable.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/kinesis_stream.html",
  "properties": [
    "name",
    "shard_count",
    "retention_period",
    "shard_level_metrics",
    "encryption_type",
    "kms_key_id",
    "tags"
  ]
},
"aws_kms_alias": {
  "full_properties": {
    "name": {
      "description": "The display name of the alias. The name must start with the word \"alias\" followed by a forward slash (alias/)",
      "required": false
    },
    "name_prefix": {
      "description": "Creates an unique alias beginning with the specified prefix.",
      "required": false
    },
    "target_key_id": {
      "description": "Identifier for the key for which the alias is for, can be either an ARN or key_id.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/kms_alias.html",
  "properties": [
    "name",
    "name_prefix",
    "target_key_id"
  ]
},
"aws_kms_grant": {
  "full_properties": {
    "constraints": {
      "description": "A structure that you can use to allow certain operations in the grant only when the desired encryption context is present. For more information about encryption context, see Encryption Context.",
      "required": false
    },
    "grant_creation_tokens": {
      "description": "A list of grant tokens to be used when creating the grant. See Grant Tokens for more information about grant tokens.",
      "required": false
    },
    "grantee_principal": {
      "description": "The principal that is given permission to perform the operations that the grant permits in ARN format. Note that due to eventual consistency issues around IAM principals, terraform's state may not always be refreshed to reflect what is true in AWS.",
      "required": false
    },
    "key_id": {
      "description": "The unique identifier for the customer master key (CMK) that the grant applies to. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN.",
      "required": false
    },
    "name": {
      "description": "A friendly name for identifying the grant.",
      "required": false
    },
    "operations": {
      "description": "A list of operations that the grant permits. The permitted values are: Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, ReEncryptFrom, ReEncryptTo, CreateGrant, RetireGrant, DescribeKey",
      "required": false
    },
    "retire_on_delete": {
      "description": "If set to false (the default) the grants will be revoked upon deletion, and if set to true the grants will try to be retired upon deletion. Note that retiring grants requires special permissions, hence why we default to revoking grants.",
      "required": false
    },
    "retiree_principal": {
      "description": "The principal that is given permission to retire the grant by using RetireGrant operation in ARN format. Note that due to eventual consistency issues around IAM principals, terraform's state may not always be refreshed to reflect what is true in AWS.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/kms_grant.html",
  "properties": [
    "name",
    "key_id",
    "grantee_principal",
    "operations",
    "retiree_principal",
    "constraints",
    "grant_creation_tokens",
    "retire_on_delete"
  ]
},
"aws_kms_key": {
  "full_properties": {
    "deletion_window_in_days": {
      "description": "Duration in days after which the key is deleted",
      "required": false
    },
    "description": {
      "description": "The description of the key as viewed in AWS console.",
      "required": false
    },
    "enable_key_rotation": {
      "description": "Specifies whether key rotation",
      "required": false
    },
    "is_enabled": {
      "description": "Specifies whether the key is enabled. Defaults to true.",
      "required": false
    },
    "key_usage": {
      "description": "Specifies the intended use of the key.",
      "required": false
    },
    "policy": {
      "description": "A valid policy JSON document. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the object.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/kms_key.html",
  "properties": [
    "description",
    "key_usage",
    "policy",
    "deletion_window_in_days",
    "is_enabled",
    "enable_key_rotation",
    "tags"
  ]
},
"aws_lambda_alias": {
  "full_properties": {
    "description": {
      "description": "Description of the alias.",
      "required": false
    },
    "function_name": {
      "description": "The function ARN of the Lambda function for which you want to create an alias.",
      "required": true
    },
    "function_version": {
      "description": "Lambda function version for which you are creating the alias. Pattern: (\\$LATEST|[0-9]+).",
      "required": true
    },
    "name": {
      "description": "Name for the alias you are creating. Pattern: (?!^[0-9]+$)([a-zA-Z0-9-_]+)",
      "required": true
    },
    "routing_config": {
      "description": "The Lambda alias' route configuration settings. Fields documented below",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lambda_alias.html",
  "properties": [
    "name",
    "description",
    "function_name",
    "function_version",
    "routing_config"
  ]
},
"aws_lambda_event_source_mapping": {
  "full_properties": {
    "batch_size": {
      "description": "The largest number of records that Lambda will retrieve from your event source at the time of invocation. Defaults to 100 for DynamoDB and Kinesis, 10 for SQS.",
      "required": false
    },
    "enabled": {
      "description": "Determines if the mapping will be enabled on creation. Defaults to true.",
      "required": false
    },
    "event_source_arn": {
      "description": "The event source ARN - can either be a Kinesis or DynamoDB stream.",
      "required": true
    },
    "function_name": {
      "description": "The name or the ARN of the Lambda function that will be subscribing to events.",
      "required": true
    },
    "starting_position": {
      "description": "The position in the stream where AWS Lambda should start reading. Must be one of AT_TIMESTAMP (Kinesis only), LATEST or TRIM_HORIZON if getting events from Kinesis or DynamoDB. Must not be provided if getting events from SQS. More information about these positions can be found in the AWS DynamoDB Streams API Reference and AWS Kinesis API Reference.",
      "required": false
    },
    "starting_position_timestamp": {
      "description": "A timestamp in RFC3339 format of the data record which to start reading when using starting_position set to AT_TIMESTAMP. If a record with this exact timestamp does not exist, the next later record is chosen. If the timestamp is older than the current trim horizon, the oldest available record is chosen.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lambda_event_source_mapping.html",
  "properties": [
    "batch_size",
    "event_source_arn",
    "enabled",
    "function_name",
    "starting_position",
    "starting_position_timestamp"
  ]
},
"aws_lambda_function": {
  "full_properties": {
    "dead_letter_config": {
      "description": "Nested block to configure the function's dead letter queue. See details below.",
      "required": false
    },
    "description": {
      "description": "Description of what your Lambda Function does.",
      "required": false
    },
    "environment": {
      "description": "The Lambda environment's configuration settings. Fields documented below.",
      "required": false
    },
    "filename": {
      "description": "The path to the function's deployment package within the local filesystem. If defined, The s3_-prefixed options cannot be used.",
      "required": false
    },
    "function_name": {
      "description": "A unique name for your Lambda Function.",
      "required": true
    },
    "handler": {
      "description": "The function entrypoint in your code.",
      "required": true
    },
    "kms_key_arn": {
      "description": "The ARN for the KMS encryption key.",
      "required": false
    },
    "memory_size": {
      "description": "Amount of memory in MB your Lambda Function can use at runtime. Defaults to 128. See Limits",
      "required": false
    },
    "publish": {
      "description": "Whether to publish creation/change as new Lambda Function Version. Defaults to false.",
      "required": false
    },
    "reserved_concurrent_executions": {
      "description": "The amount of reserved concurrent executions for this lambda function. Defaults to Unreserved Concurrency Limits. See Managing Concurrency",
      "required": false
    },
    "role": {
      "description": "IAM role attached to the Lambda Function. This governs both who / what can invoke your Lambda Function, as well as what resources our Lambda Function has access to. See Lambda Permission Model for more details.",
      "required": true
    },
    "runtime": {
      "description": "See Runtimes for valid values.",
      "required": true
    },
    "s3_bucket": {
      "description": "The S3 bucket location containing the function's deployment package. Conflicts with filename. This bucket must reside in the same AWS region where you are creating the Lambda function.",
      "required": false
    },
    "s3_key": {
      "description": "The S3 key of an object containing the function's deployment package. Conflicts with filename.",
      "required": false
    },
    "s3_object_version": {
      "description": "The object version containing the function's deployment package. Conflicts with filename.",
      "required": false
    },
    "source_code_hash": {
      "description": "Used to trigger updates. Must be set to a base64-encoded SHA256 hash of the package file specified with either filename or s3_key. The usual way to set this is ${base64sha256(file(\"file.zip\"))}, where \"file.zip\" is the local filename of the lambda function source archive.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the object.",
      "required": false
    },
    "timeout": {
      "description": "The amount of time your Lambda Function has to run in seconds. Defaults to 3. See Limits",
      "required": false
    },
    "vpc_config": {
      "description": "Provide this to allow your function to access your VPC. Fields documented below. See Lambda in VPC",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lambda_function.html",
  "properties": [
    "filename",
    "s3_bucket",
    "s3_key",
    "s3_object_version",
    "function_name",
    "dead_letter_config",
    "handler",
    "role",
    "description",
    "memory_size",
    "runtime",
    "timeout",
    "reserved_concurrent_executions",
    "publish",
    "vpc_config",
    "environment",
    "kms_key_arn",
    "source_code_hash",
    "tags"
  ]
},
"aws_lambda_permission": {
  "full_properties": {
    "action": {
      "description": "The AWS Lambda action you want to allow in this statement. (e.g. lambda:InvokeFunction)",
      "required": true
    },
    "event_source_token": {
      "description": "The Event Source Token to validate.  Used with Alexa Skills.",
      "required": false
    },
    "function_name": {
      "description": "Name of the Lambda function whose resource policy you are updating",
      "required": true
    },
    "principal": {
      "description": "The principal who is getting this permission.",
      "required": true
    },
    "qualifier": {
      "description": "Query parameter to specify function version or alias name.",
      "required": false
    },
    "source_account": {
      "description": "This parameter is used for S3 and SES. The AWS account ID (without a hyphen) of the source owner.",
      "required": false
    },
    "source_arn": {
      "description": "When granting Amazon S3 or CloudWatch Events permission to",
      "required": false
    },
    "statement_id": {
      "description": "A unique statement identifier. By default generated by Terraform.",
      "required": false
    },
    "statement_id_prefix": {
      "description": "A statement identifier prefix. Terraform will generate a unique suffix. Conflicts with statement_id.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lambda_permission.html",
  "properties": [
    "action",
    "event_source_token",
    "function_name",
    "principal",
    "qualifier",
    "source_account",
    "source_arn",
    "statement_id",
    "statement_id_prefix"
  ]
},
"aws_launch_configuration": {
  "full_properties": {
    "associate_public_ip_address": {
      "description": "Associate a public ip address with an instance in a VPC.",
      "required": false
    },
    "ebs_block_device": {
      "description": "Additional EBS block devices to attach to the",
      "required": false
    },
    "ebs_optimized": {
      "description": "If true, the launched EC2 instance will be EBS-optimized.",
      "required": false
    },
    "enable_monitoring": {
      "description": "Enables/disables detailed monitoring. This is enabled by default.",
      "required": false
    },
    "ephemeral_block_device": {
      "description": "Customize Ephemeral (also known as",
      "required": false
    },
    "iam_instance_profile": {
      "description": "The name attribute of the IAM instance profile to associate",
      "required": false
    },
    "image_id": {
      "description": "The EC2 image ID to launch.",
      "required": true
    },
    "instance_type": {
      "description": "The size of instance to launch.",
      "required": true
    },
    "key_name": {
      "description": "The key name that should be used for the instance.",
      "required": false
    },
    "name": {
      "description": "The name of the launch configuration. If you leave",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "placement_tenancy": {
      "description": "The tenancy of the instance. Valid values are",
      "required": false
    },
    "root_block_device": {
      "description": "Customize details about the root block",
      "required": false
    },
    "security_groups": {
      "description": "A list of associated security group IDS.",
      "required": false
    },
    "spot_price": {
      "description": "The maximum price to use for reserving spot instances.",
      "required": false
    },
    "user_data": {
      "description": "The user data to provide when launching the instance. Do not pass gzip-compressed data via this argument; see user_data_base64 instead.",
      "required": false
    },
    "user_data_base64": {
      "description": "Can be used instead of user_data to pass base64-encoded binary data directly. Use this instead of user_data whenever the value is not a valid UTF-8 string. For example, gzip-encoded user data must be base64-encoded and passed via this argument to avoid corruption.",
      "required": false
    },
    "vpc_classic_link_id": {
      "description": "The ID of a ClassicLink-enabled VPC. Only applies to EC2-Classic instances. (eg. vpc-2730681a)",
      "required": false
    },
    "vpc_classic_link_security_groups": {
      "description": "The IDs of one or more security groups for the specified ClassicLink-enabled VPC (eg. sg-46ae3d11).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/launch_configuration.html",
  "properties": [
    "name",
    "name_prefix",
    "image_id",
    "instance_type",
    "iam_instance_profile",
    "key_name",
    "security_groups",
    "associate_public_ip_address",
    "vpc_classic_link_id",
    "vpc_classic_link_security_groups",
    "user_data",
    "user_data_base64",
    "enable_monitoring",
    "ebs_optimized",
    "root_block_device",
    "ebs_block_device",
    "ephemeral_block_device",
    "spot_price",
    "placement_tenancy"
  ]
},
"aws_launch_template": {
  "full_properties": {
    "block_device_mappings": {
      "description": "Specify volumes to attach to the instance besides the volumes specified by the AMI.",
      "required": false
    },
    "capacity_reservation_specification": {
      "description": "Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.",
      "required": false
    },
    "credit_specification": {
      "description": "Customize the credit specification of the instance. See Credit",
      "required": false
    },
    "description": {
      "description": "Description of the launch template.",
      "required": false
    },
    "disable_api_termination": {
      "description": "If true, enables EC2 Instance",
      "required": false
    },
    "ebs_optimized": {
      "description": "If true, the launched EC2 instance will be EBS-optimized.",
      "required": false
    },
    "elastic_gpu_specifications": {
      "description": "The elastic GPU to attach to the instance. See Elastic GPU",
      "required": false
    },
    "iam_instance_profile": {
      "description": "The IAM Instance Profile to launch the instance with. See Instance Profile",
      "required": false
    },
    "image_id": {
      "description": "The AMI from which to launch the instance.",
      "required": false
    },
    "instance_initiated_shutdown_behavior": {
      "description": "Shutdown behavior for the instance. Can be stop or terminate.",
      "required": false
    },
    "instance_market_options": {
      "description": "The market (purchasing) option for the instance. See Market Options",
      "required": false
    },
    "instance_type": {
      "description": "The type of the instance.",
      "required": false
    },
    "kernel_id": {
      "description": "The kernel ID.",
      "required": false
    },
    "key_name": {
      "description": "The key name to use for the instance.",
      "required": false
    },
    "monitoring": {
      "description": "The monitoring option for the instance. See Monitoring below for more details.",
      "required": false
    },
    "name": {
      "description": "The name of the launch template. If you leave this blank, Terraform will auto-generate a unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "network_interfaces": {
      "description": "Customize network interfaces to be attached at instance boot time. See Network",
      "required": false
    },
    "placement": {
      "description": "The placement of the instance. See Placement below for more details.",
      "required": false
    },
    "ram_disk_id": {
      "description": "The ID of the RAM disk.",
      "required": false
    },
    "security_group_names": {
      "description": "A list of security group names to associate with. If you are creating Instances in a VPC, use",
      "required": false
    },
    "tag_specifications": {
      "description": "The tags to apply to the resources during launch. See Tags below for more details.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the launch template.",
      "required": false
    },
    "user_data": {
      "description": "The Base64-encoded user data to provide when launching the instance.",
      "required": false
    },
    "vpc_security_group_ids": {
      "description": "A list of security group IDs to associate with.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/launch_template.html",
  "properties": [
    "name",
    "name_prefix",
    "description",
    "block_device_mappings",
    "capacity_reservation_specification",
    "credit_specification",
    "disable_api_termination",
    "ebs_optimized",
    "elastic_gpu_specifications",
    "iam_instance_profile",
    "image_id",
    "instance_initiated_shutdown_behavior",
    "instance_market_options",
    "instance_type",
    "kernel_id",
    "key_name",
    "monitoring",
    "network_interfaces",
    "placement",
    "ram_disk_id",
    "security_group_names",
    "vpc_security_group_ids",
    "tag_specifications",
    "tags",
    "user_data"
  ]
},
"aws_lb": {
  "full_properties": {
    "access_logs": {
      "description": "An Access Logs block. Access Logs documented below. Only valid for Load Balancers of type application.",
      "required": false
    },
    "enable_cross_zone_load_balancing": {
      "description": "If true, cross-zone load balancing of the load balancer will be enabled.",
      "required": false
    },
    "enable_deletion_protection": {
      "description": "If true, deletion of the load balancer will be disabled via",
      "required": false
    },
    "enable_http2": {
      "description": "Indicates whether HTTP/2 is enabled in application load balancers. Defaults to true.",
      "required": false
    },
    "idle_timeout": {
      "description": "The time in seconds that the connection is allowed to be idle. Only valid for Load Balancers of type application. Default: 60.",
      "required": false
    },
    "internal": {
      "description": "If true, the LB will be internal.",
      "required": false
    },
    "ip_address_type": {
      "description": "The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 and dualstack",
      "required": false
    },
    "load_balancer_type": {
      "description": "The type of load balancer to create. Possible values are application or network. The default value is application.",
      "required": false
    },
    "name": {
      "description": "The name of the LB. This name must be unique within your AWS account, can have a maximum of 32 characters,",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "security_groups": {
      "description": "A list of security group IDs to assign to the LB. Only valid for Load Balancers of type application.",
      "required": false
    },
    "subnet_mapping": {
      "description": "A subnet mapping block as documented below.",
      "required": false
    },
    "subnets": {
      "description": "A list of subnet IDs to attach to the LB. Subnets",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lb.html",
  "properties": [
    "name",
    "name_prefix",
    "internal",
    "load_balancer_type",
    "security_groups",
    "access_logs",
    "subnets",
    "subnet_mapping",
    "idle_timeout",
    "enable_deletion_protection",
    "enable_cross_zone_load_balancing",
    "enable_http2",
    "ip_address_type",
    "tags"
  ]
},
"aws_lb_cookie_stickiness_policy": {
  "full_properties": {
    "cookie_expiration_period": {
      "description": "The time period after which",
      "required": false
    },
    "lb_port": {
      "description": "The load balancer port to which the policy",
      "required": true
    },
    "load_balancer": {
      "description": "The load balancer to which the policy",
      "required": true
    },
    "name": {
      "description": "The name of the stickiness policy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lb_cookie_stickiness_policy.html",
  "properties": [
    "name",
    "load_balancer",
    "lb_port",
    "cookie_expiration_period"
  ]
},
"aws_lb_listener": {
  "full_properties": {
    "certificate_arnaws_lb_listener_certificate": {
    },
    "default_action": {
      "description": "An Action block. Action blocks are documented below.",
      "required": true
    },
    "load_balancer_arn": {
      "description": "The ARN of the load balancer.",
      "required": false
    },
    "port": {
      "description": "The port on which the load balancer is listening.",
      "required": true
    },
    "protocol": {
      "description": "The protocol for connections from clients to the load balancer. Valid values are TCP, HTTP and HTTPS. Defaults to HTTP.",
      "required": false
    },
    "ssl_policy": {
      "description": "The name of the SSL Policy for the listener. Required if protocol is HTTPS.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lb_listener.html",
  "properties": [
    "load_balancer_arn",
    "port",
    "protocol",
    "ssl_policy",
    "certificate_arnaws_lb_listener_certificate",
    "default_action"
  ]
},
"aws_lb_listener_certificate": {
  "full_properties": {
    "certificate_arn": {
      "description": "The ARN of the certificate to attach to the listener.",
      "required": false
    },
    "listener_arn": {
      "description": "The ARN of the listener to which to attach the certificate.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lb_listener_certificate.html",
  "properties": [
    "listener_arn",
    "certificate_arn"
  ]
},
"aws_lb_listener_rule": {
  "full_properties": {
    "action": {
      "description": "An Action block. Action blocks are documented below.",
      "required": true
    },
    "condition": {
      "description": "A Condition block. Condition blocks are documented below.",
      "required": true
    },
    "listener_arn": {
      "description": "The ARN of the listener to which to attach the rule.",
      "required": false
    },
    "priority": {
      "description": "The priority for the rule between 1 and 50000. Leaving it unset will automatically set the rule with next available priority after currently existing highest rule. A listener can't have multiple rules with the same priority.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lb_listener_rule.html",
  "properties": [
    "listener_arn",
    "priority",
    "action",
    "condition"
  ]
},
"aws_lb_ssl_negotiation_policy": {
  "full_properties": {
    "attributenamevalue": {
    },
    "lb_port": {
      "description": "The load balancer port to which the policy",
      "required": true
    },
    "load_balancer": {
      "description": "The load balancer to which the policy",
      "required": true
    },
    "name": {
      "description": "The name of the attribute",
      "required": false
    },
    "value": {
      "description": "The value of the attribute",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lb_ssl_negotiation_policy.html",
  "properties": [
    "name",
    "load_balancer",
    "lb_port",
    "attributenamevalue",
    "value"
  ]
},
"aws_lb_target_group": {
  "full_properties": {
    "deregistration_delay": {
      "description": "The amount time for Elastic Load Balancing to wait before changing the state of a deregistering target from draining to unused. The range is 0-3600 seconds. The default value is 300 seconds.",
      "required": false
    },
    "health_check": {
      "description": "A Health Check block. Health Check blocks are documented below.",
      "required": false
    },
    "name": {
      "description": "The name of the target group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name. Cannot be longer than 6 characters.",
      "required": false
    },
    "port": {
      "description": "The port on which targets receive traffic, unless overridden when registering a specific target.",
      "required": true
    },
    "protocol": {
      "description": "The protocol to use for routing traffic to the targets. Should be one of \"TCP\", \"HTTP\", \"HTTPS\" or \"TLS\".",
      "required": true
    },
    "proxy_protocol_v2": {
      "description": "Boolean to enable / disable support for proxy protocol v2 on Network Load Balancers. See doc for more information.",
      "required": false
    },
    "slow_start": {
      "description": "The amount time for targets to warm up before the load balancer sends them a full share of requests. The range is 30-900 seconds or 0 to disable. The default value is 0 seconds.",
      "required": false
    },
    "stickiness": {
      "description": "A Stickiness block. Stickiness blocks are documented below. stickiness is only valid if used with Load Balancers of type Application",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "target_type": {
      "description": "The type of target that you must specify when registering targets with this target group.",
      "required": false
    },
    "vpc_id": {
      "description": "The identifier of the VPC in which to create the target group.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lb_target_group.html",
  "properties": [
    "name",
    "name_prefix",
    "port",
    "protocol",
    "vpc_id",
    "deregistration_delay",
    "slow_start",
    "proxy_protocol_v2",
    "stickiness",
    "health_check",
    "target_type",
    "tags"
  ]
},
"aws_lb_target_group_attachment": {
  "full_properties": {
    "availability_zone": {
      "description": "The Availability Zone where the IP address of the target is to be registered.",
      "required": false
    },
    "port": {
      "description": "The port on which targets receive traffic.",
      "required": false
    },
    "target_group_arn": {
      "description": "The ARN of the target group with which to register targets",
      "required": true
    },
    "target_id": {
      "description": "The ID of the target. This is the Instance ID for an instance, or the container ID for an ECS container. If the target type is ip, specify an IP address.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lb_target_group_attachment.html",
  "properties": [
    "target_group_arn",
    "target_id",
    "port",
    "availability_zone"
  ]
},
"aws_lightsail_domain": {
  "full_properties": {
    "domain_name": {
      "description": "The name of the Lightsail domain to manage",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lightsail_domain.html",
  "properties": [
    "domain_name"
  ]
},
"aws_lightsail_instance": {
  "full_properties": {
    "availability_zone": {
      "description": "The Availability Zone in which to create your",
      "required": true
    },
    "blueprint_id": {
      "description": "The ID for a virtual private server image",
      "required": true
    },
    "bundle_id": {
      "description": "The bundle of specification information (see list below)",
      "required": true
    },
    "key_pair_name": {
      "description": "The name of your key pair. Created in the",
      "required": true
    },
    "name": {
      "description": "The name of the Lightsail Instance",
      "required": true
    },
    "user_data": {
      "description": "launch script to configure server with additional user data",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/lightsail_instance.html",
  "properties": [
    "name",
    "availability_zone",
    "blueprint_id",
    "bundle_id",
    "key_pair_name",
    "user_data"
  ]
},
"aws_lightsail_key_pair": {
  "full_properties": {
    "name": {
      "description": "The name of the Lightsail Key Pair. If omitted, a unique",
      "required": false
    },
    "pgp_key": {
      "description": "– (Optional) An optional PGP key to encrypt the resulting private",
      "required": false
    },
    "public_key": {
      "description": "The public key material. This public key will be",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lightsail_key_pair.html",
  "properties": [
    "name",
    "pgp_key",
    "public_key"
  ]
},
"aws_lightsail_static_ip": {
  "full_properties": {
    "name": {
      "description": "The name for the allocated static IP",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lightsail_static_ip.html",
  "properties": [
    "name"
  ]
},
"aws_lightsail_static_ip_attachment": {
  "full_properties": {
    "instance_name": {
      "description": "The name of the Lightsail instance to attach the IP to",
      "required": true
    },
    "static_ip_name": {
      "description": "The name of the allocated static IP",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/lightsail_static_ip_attachment.html",
  "properties": [
    "static_ip_name",
    "instance_name"
  ]
},
"aws_macie_member_account_association": {
  "full_properties": {
    "member_account_id": {
      "description": "The ID of the AWS account that you want to associate with Amazon Macie as a member account.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/macie_member_account_association.html",
  "properties": [
    "member_account_id"
  ]
},
"aws_macie_s3_bucket_association": {
  "full_properties": {
    "bucket_name": {
      "description": "The name of the S3 bucket that you want to associate with Amazon Macie.",
      "required": true
    },
    "classification_type": {
      "description": "The configuration of how Amazon Macie classifies the S3 objects.",
      "required": false
    },
    "member_account_id": {
      "description": "The ID of the Amazon Macie member account whose S3 resources you want to associate with Macie. If member_account_id isn't specified, the action associates specified S3 resources with Macie for the current master account.",
      "required": false
    },
    "prefix": {
      "description": "Object key prefix identifying one or more S3 objects to which the association applies.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/macie_s3_bucket_association.html",
  "properties": [
    "bucket_name",
    "classification_type",
    "member_account_id",
    "prefix"
  ]
},
"aws_main_route_table_association": {
  "full_properties": {
    "route_table_id": {
      "description": "The ID of the Route Table to set as the new",
      "required": true
    },
    "vpc_id": {
      "description": "The ID of the VPC whose main route table should be set",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/main_route_table_assoc.html",
  "properties": [
    "vpc_id",
    "route_table_id"
  ]
},
"aws_media_store_container": {
  "full_properties": {
    "name": {
      "description": "The name of the container. Must contain alphanumeric characters or underscores.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/media_store_container.html",
  "properties": [
    "name"
  ]
},
"aws_media_store_container_policy": {
  "full_properties": {
    "container_name": {
      "description": "The name of the container.",
      "required": true
    },
    "policy": {
      "description": "The contents of the policy. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/media_store_container_policy.html",
  "properties": [
    "container_name",
    "policy"
  ]
},
"aws_mq_broker": {
  "full_properties": {
    "apply_immediately": {
      "description": "Specifies whether any broker modifications",
      "required": false
    },
    "auto_minor_version_upgrade": {
      "description": "Enables automatic upgrades to new minor versions for brokers, as Apache releases the versions.",
      "required": false
    },
    "broker_name": {
      "description": "The name of the broker.",
      "required": true
    },
    "configuration": {
      "description": "Configuration of the broker. See below.",
      "required": false
    },
    "deployment_mode": {
      "description": "The deployment mode of the broker. Supported: SINGLE_INSTANCE and ACTIVE_STANDBY_MULTI_AZ. Defaults to SINGLE_INSTANCE.",
      "required": false
    },
    "engine_type": {
      "description": "The type of broker engine. Currently, Amazon MQ supports only ActiveMQ.",
      "required": true
    },
    "engine_version": {
      "description": "The version of the broker engine. Currently, Amazon MQ supports only 5.15.0 or 5.15.6.",
      "required": true
    },
    "host_instance_type": {
      "description": "The broker's instance type. e.g. mq.t2.micro or mq.m4.large",
      "required": true
    },
    "logs": {
      "description": "Logging configuration of the broker. See below.",
      "required": false
    },
    "maintenance_window_start_time": {
      "description": "Maintenance window start time. See below.",
      "required": false
    },
    "publicly_accessible": {
      "description": "Whether to enable connections from applications outside of the VPC that hosts the broker's subnets.",
      "required": false
    },
    "security_groups": {
      "description": "The list of security group IDs assigned to the broker.",
      "required": true
    },
    "subnet_ids": {
      "description": "The list of subnet IDs in which to launch the broker. A SINGLE_INSTANCE deployment requires one subnet. An ACTIVE_STANDBY_MULTI_AZ deployment requires two subnets.",
      "required": false
    },
    "user": {
      "description": "The list of all ActiveMQ usernames for the specified broker. See below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/mq_broker.html",
  "properties": [
    "apply_immediately",
    "auto_minor_version_upgrade",
    "broker_name",
    "configuration",
    "deployment_mode",
    "engine_type",
    "engine_version",
    "host_instance_type",
    "publicly_accessible",
    "security_groups",
    "subnet_ids",
    "maintenance_window_start_time",
    "logs",
    "user"
  ]
},
"aws_mq_configuration": {
  "full_properties": {
    "data": {
      "description": "The broker configuration in XML format.",
      "required": true
    },
    "description": {
      "description": "The description of the configuration.",
      "required": false
    },
    "engine_type": {
      "description": "The type of broker engine.",
      "required": true
    },
    "engine_version": {
      "description": "The version of the broker engine.",
      "required": true
    },
    "name": {
      "description": "The name of the configuration",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/mq_configuration.html",
  "properties": [
    "data",
    "description",
    "engine_type",
    "engine_version",
    "name"
  ]
},
"aws_nat_gateway": {
  "full_properties": {
    "allocation_id": {
      "description": "The Allocation ID of the Elastic IP address for the gateway.",
      "required": true
    },
    "subnet_id": {
      "description": "The Subnet ID of the subnet in which to place the gateway.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/nat_gateway.html",
  "properties": [
    "allocation_id",
    "subnet_id",
    "tags"
  ]
},
"aws_neptune_cluster": {
  "full_properties": {
    "apply_immediately": {
      "description": "Specifies whether any cluster modifications are applied immediately, or during the next maintenance window. Default is false.",
      "required": false
    },
    "availability_zones": {
      "description": "A list of EC2 Availability Zones that instances in the Neptune cluster can be created in.",
      "required": false
    },
    "backup_retention_period": {
      "description": "The days to retain backups for. Default 1",
      "required": false
    },
    "cluster_identifier": {
      "description": "The cluster identifier. If omitted, Terraform will assign a random, unique identifier.",
      "required": false
    },
    "cluster_identifier_prefix": {
      "description": "Creates a unique cluster identifier beginning with the specified prefix. Conflicts with cluster_identifer.",
      "required": false
    },
    "engine": {
      "description": "The name of the database engine to be used for this Neptune cluster. Defaults to neptune.",
      "required": false
    },
    "engine_version": {
      "description": "The database engine version.",
      "required": false
    },
    "final_snapshot_identifier": {
      "description": "The name of your final Neptune snapshot when this Neptune cluster is deleted. If omitted, no final snapshot will be made.",
      "required": false
    },
    "iam_database_authentication_enabled": {
      "description": "Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled.",
      "required": false
    },
    "iam_roles": {
      "description": "A List of ARNs for the IAM roles to associate to the Neptune Cluster.",
      "required": false
    },
    "kms_key_arn": {
      "description": "The ARN for the KMS encryption key. When specifying kms_key_arn, storage_encrypted needs to be set to true.",
      "required": false
    },
    "neptune_cluster_parameter_group_name": {
      "description": "A cluster parameter group to associate with the cluster.",
      "required": false
    },
    "neptune_subnet_group_name": {
      "description": "A Neptune subnet group to associate with this Neptune instance.",
      "required": false
    },
    "port": {
      "description": "The port on which the Neptune accepts connections. Default is 8182.",
      "required": false
    },
    "preferred_backup_window": {
      "description": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter. Time in UTC. Default: A 30-minute window selected at random from an 8-hour block of time per region. e.g. 04:00-09:00",
      "required": false
    },
    "preferred_maintenance_window": {
      "description": "The weekly time range during which system maintenance can occur, in (UTC) e.g. wed:04:00-wed:04:30",
      "required": false
    },
    "replication_source_identifier": {
      "description": "ARN of a source Neptune cluster or Neptune instance if this Neptune cluster is to be created as a Read Replica.",
      "required": false
    },
    "skip_final_snapshot": {
      "description": "Determines whether a final Neptune snapshot is created before the Neptune cluster is deleted. If true is specified, no Neptune snapshot is created. If false is specified, a Neptune snapshot is created before the Neptune cluster is deleted, using the value from final_snapshot_identifier. Default is false.",
      "required": false
    },
    "snapshot_identifier": {
      "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a Neptune cluster snapshot, or the ARN when specifying a Neptune snapshot.",
      "required": false
    },
    "storage_encrypted": {
      "description": "Specifies whether the Neptune cluster is encrypted. The default is false if not specified.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the Neptune cluster.",
      "required": false
    },
    "vpc_security_group_ids": {
      "description": "List of VPC security groups to associate with the Cluster",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/neptune_cluster.html",
  "properties": [
    "apply_immediately",
    "availability_zones",
    "backup_retention_period",
    "cluster_identifier",
    "cluster_identifier_prefix",
    "engine",
    "engine_version",
    "final_snapshot_identifier",
    "iam_roles",
    "iam_database_authentication_enabled",
    "kms_key_arn",
    "neptune_subnet_group_name",
    "neptune_cluster_parameter_group_name",
    "preferred_backup_window",
    "preferred_maintenance_window",
    "port",
    "replication_source_identifier",
    "skip_final_snapshot",
    "snapshot_identifier",
    "storage_encrypted",
    "tags",
    "vpc_security_group_ids"
  ]
},
"aws_neptune_cluster_instance": {
  "full_properties": {
    "apply_immediately": {
      "description": "Specifies whether any instance modifications",
      "required": false
    },
    "auto_minor_version_upgrade": {
      "description": "Indicates that minor engine upgrades will be applied automatically to the instance during the maintenance window. Default is true.",
      "required": false
    },
    "availability_zone": {
      "description": "The EC2 Availability Zone that the neptune instance is created in.",
      "required": false
    },
    "cluster_identifieraws_neptune_cluster": {
    },
    "engine": {
      "description": "The name of the database engine to be used for the neptune instance. Defaults to neptune. Valid Values: neptune.",
      "required": false
    },
    "engine_version": {
      "description": "The neptune engine version.",
      "required": false
    },
    "identifier": {
      "description": "The indentifier for the neptune instance, if omitted, Terraform will assign a random, unique identifier.",
      "required": false
    },
    "identifier_prefix": {
      "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifer.",
      "required": false
    },
    "instance_class": {
      "description": "The instance class to use.",
      "required": true
    },
    "neptune_parameter_group_name": {
      "description": "The name of the neptune parameter group to associate with this instance.",
      "required": false
    },
    "neptune_subnet_group_nameaws_neptune_cluster": {
    },
    "port": {
      "description": "The port on which the DB accepts connections. Defaults to 8182.",
      "required": false
    },
    "preferred_backup_window": {
      "description": "The daily time range during which automated backups are created if automated backups are enabled. Eg: \"04:00-09:00\"",
      "required": false
    },
    "preferred_maintenance_window": {
      "description": "The window to perform maintenance in.",
      "required": false
    },
    "promotion_tier": {
      "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer.",
      "required": false
    },
    "publicly_accessible": {
      "description": "Bool to control if instance is publicly accessible. Default is false.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the instance.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/neptune_cluster_instance.html",
  "properties": [
    "apply_immediately",
    "auto_minor_version_upgrade",
    "availability_zone",
    "cluster_identifieraws_neptune_cluster",
    "engine",
    "engine_version",
    "identifier",
    "identifier_prefix",
    "instance_class",
    "neptune_subnet_group_nameaws_neptune_cluster",
    "neptune_parameter_group_name",
    "port",
    "preferred_backup_window",
    "preferred_maintenance_window",
    "promotion_tier",
    "publicly_accessible",
    "tags"
  ]
},
"aws_neptune_cluster_parameter_group": {
  "full_properties": {
    "description": {
      "description": "The description of the neptune cluster parameter group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "family": {
      "description": "The family of the neptune cluster parameter group.",
      "required": true
    },
    "name": {
      "description": "The name of the neptune cluster parameter group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "parameter": {
      "description": "A list of neptune parameters to apply.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/neptune_cluster_parameter_group.html",
  "properties": [
    "name",
    "name_prefix",
    "family",
    "description",
    "parameter",
    "tags"
  ]
},
"aws_neptune_cluster_snapshot": {
  "full_properties": {
    "db_cluster_identifier": {
      "description": "The DB Cluster Identifier from which to take the snapshot.",
      "required": true
    },
    "db_cluster_snapshot_identifier": {
      "description": "The Identifier for the snapshot.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/neptune_cluster_snapshot.html",
  "properties": [
    "db_cluster_identifier",
    "db_cluster_snapshot_identifier"
  ]
},
"aws_neptune_event_subscription": {
  "full_properties": {
    "enabled": {
      "description": "A boolean flag to enable/disable the subscription. Defaults to true.",
      "required": false
    },
    "event_categories": {
      "description": "A list of event categories for a source_type that you want to subscribe to. Run aws neptune describe-event-categories to find all the event categories.",
      "required": false
    },
    "name": {
      "description": "The name of the Neptune event subscription. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "The name of the Neptune event subscription. Conflicts with name.",
      "required": false
    },
    "sns_topic_arn": {
      "description": "The ARN of the SNS topic to send events to.",
      "required": true
    },
    "source_ids": {
      "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.",
      "required": false
    },
    "source_type": {
      "description": "The type of source that will be generating the events. Valid options are db-instance, db-security-group, db-parameter-group, db-snapshot, db-cluster or db-cluster-snapshot. If not set, all sources will be subscribed to.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/neptune_event_subscription.html",
  "properties": [
    "enabled",
    "event_categories",
    "name",
    "name_prefix",
    "sns_topic_arn",
    "source_ids",
    "source_type",
    "tags"
  ]
},
"aws_neptune_parameter_group": {
  "full_properties": {
    "description": {
      "description": "The description of the Neptune parameter group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "family": {
      "description": "The family of the Neptune parameter group.",
      "required": true
    },
    "name": {
      "description": "The name of the Neptune parameter group.",
      "required": false
    },
    "parameter": {
      "description": "A list of Neptune parameters to apply.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/neptune_parameter_group.html",
  "properties": [
    "name",
    "family",
    "description",
    "parameter",
    "tags"
  ]
},
"aws_neptune_subnet_group": {
  "full_properties": {
    "description": {
      "description": "The description of the neptune subnet group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "name": {
      "description": "The name of the neptune subnet group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "subnet_ids": {
      "description": "A list of VPC subnet IDs.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/neptune_subnet_group.html",
  "properties": [
    "name",
    "name_prefix",
    "description",
    "subnet_ids",
    "tags"
  ]
},
"aws_network_acl": {
  "full_properties": {
    "egress": {
      "description": "Specifies an egress rule. Parameters defined below.",
      "required": false
    },
    "ingress": {
      "description": "Specifies an ingress rule. Parameters defined below.",
      "required": false
    },
    "subnet_id": {
      "description": "The ID of the associated Subnet. This",
      "required": false
    },
    "subnet_ids": {
      "description": "A list of Subnet IDs to apply the ACL to",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The ID of the associated VPC.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/network_acl.html",
  "properties": [
    "vpc_id",
    "subnet_ids",
    "subnet_id",
    "ingress",
    "egress",
    "tags"
  ]
},
"aws_network_acl_rule": {
  "full_properties": {
    "cidr_block": {
      "description": "The network range to allow or deny, in CIDR notation (for example 172.16.0.0/24 ).",
      "required": false
    },
    "egress": {
      "description": "Indicates whether this is an egress rule (rule is applied to traffic leaving the subnet). Default false.",
      "required": false
    },
    "from_port": {
      "description": "The from port to match.",
      "required": false
    },
    "icmp_code": {
      "description": "ICMP protocol: The ICMP code. Required if specifying ICMP for the protocol. e.g. -1",
      "required": false
    },
    "icmp_type": {
      "description": "ICMP protocol: The ICMP type. Required if specifying ICMP for the protocol. e.g. -1",
      "required": false
    },
    "ipv6_cidr_block": {
      "description": "The IPv6 CIDR block to allow or deny.",
      "required": false
    },
    "network_acl_id": {
      "description": "The ID of the network ACL.",
      "required": true
    },
    "protocol": {
      "description": "The protocol. A value of -1 means all protocols.",
      "required": true
    },
    "rule_action": {
      "description": "Indicates whether to allow or deny the traffic that matches the rule. Accepted values: allow | deny",
      "required": true
    },
    "rule_number": {
      "description": "The rule number for the entry (for example, 100). ACL entries are processed in ascending order by rule number.",
      "required": true
    },
    "to_port": {
      "description": "The to port to match.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/network_acl_rule.html",
  "properties": [
    "network_acl_id",
    "rule_number",
    "egress",
    "protocol",
    "rule_action",
    "cidr_block",
    "ipv6_cidr_block",
    "from_port",
    "to_port",
    "icmp_type",
    "icmp_code"
  ]
},
"aws_network_interface": {
  "full_properties": {
    "attachment": {
      "description": "Block to define the attachment of the ENI. Documented below.",
      "required": false
    },
    "description": {
      "description": "A description for the network interface.",
      "required": false
    },
    "private_ips": {
      "description": "List of private IPs to assign to the ENI.",
      "required": false
    },
    "private_ips_count": {
      "description": "Number of private IPs to assign to the ENI.",
      "required": false
    },
    "security_groups": {
      "description": "List of security group IDs to assign to the ENI.",
      "required": false
    },
    "source_dest_check": {
      "description": "Whether to enable source destination checking for the ENI. Default true.",
      "required": false
    },
    "subnet_id": {
      "description": "Subnet ID to create the ENI in.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/network_interface.html",
  "properties": [
    "subnet_id",
    "description",
    "private_ips",
    "private_ips_count",
    "security_groups",
    "attachment",
    "source_dest_check",
    "tags"
  ]
},
"aws_network_interface_attachment": {
  "full_properties": {
    "device_index": {
      "description": "Network interface index (int).",
      "required": true
    },
    "instance_id": {
      "description": "Instance ID to attach.",
      "required": true
    },
    "network_interface_id": {
      "description": "ENI ID to attach.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/network_interface_attachment.html",
  "properties": [
    "instance_id",
    "network_interface_id",
    "device_index"
  ]
},
"aws_network_interface_sg_attachment": {
  "full_properties": {
    "network_interface_id": {
      "description": "The ID of the network interface to attach to.",
      "required": true
    },
    "security_group_id": {
      "description": "The ID of the security group.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/network_interface_sg_attachment.html",
  "properties": [
    "security_group_id",
    "network_interface_id"
  ]
},
"aws_opsworks_application": {
  "full_properties": {
    "app_source": {
      "description": "SCM configuration of the app as described below.",
      "required": false
    },
    "auto_bundle_on_deploy": {
      "description": "Run bundle install when deploying for application of type rails.",
      "required": false
    },
    "aws_flow_ruby_settings": {
      "description": "Specify activity and workflow workers for your app using the aws-flow gem.",
      "required": false
    },
    "data_source_arn": {
      "description": "The data source's ARN.",
      "required": false
    },
    "data_source_database_name": {
      "description": "The database name.",
      "required": false
    },
    "data_source_type": {
      "description": "The data source's type one of AutoSelectOpsworksMysqlInstance, OpsworksMysqlInstance, or RdsDbInstance.",
      "required": false
    },
    "description": {
      "description": "A description of the app.",
      "required": false
    },
    "document_root": {
      "description": "Subfolder for the document root for application of type rails.",
      "required": false
    },
    "domains": {
      "description": "A list of virtual host alias.",
      "required": false
    },
    "enable_ssl": {
      "description": "Whether to enable SSL for the app. This must be set in order to let ssl_configuration.private_key, ssl_configuration.certificate and ssl_configuration.chain take effect.",
      "required": false
    },
    "environment": {
      "description": "Object to define environment variables.  Object is described below.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the application.",
      "required": true
    },
    "rails_env": {
      "description": "The name of the Rails environment for application of type rails.",
      "required": false
    },
    "short_name": {
      "description": "A short, machine-readable name for the application. This can only be defined on resource creation and ignored on resource update.",
      "required": true
    },
    "ssl_configuration": {
      "description": "The SSL configuration of the app. Object is described below.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the application will belong to.",
      "required": true
    },
    "type": {
      "description": "Opsworks application type. One of aws-flow-ruby, java, rails, php, nodejs, static or other.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/opsworks_application.html",
  "properties": [
    "name",
    "short_name",
    "stack_id",
    "type",
    "description",
    "environment",
    "enable_ssl",
    "ssl_configuration",
    "app_source",
    "data_source_arn",
    "data_source_type",
    "data_source_database_name",
    "domains",
    "document_root",
    "auto_bundle_on_deploy",
    "rails_env",
    "aws_flow_ruby_settings"
  ]
},
"aws_opsworks_custom_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": true
    },
    "short_name": {
      "description": "A short, machine-readable name for the layer, which will be used to identify it in the Chef node JSON.",
      "required": true
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_custom_layer.html",
  "properties": [
    "name",
    "short_name",
    "stack_id",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_ganglia_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "password": {
      "description": "The password to use for Ganglia.",
      "required": true
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "url": {
      "description": "The URL path to use for Ganglia. Defaults to \"/ganglia\".",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    },
    "username": {
      "description": "The username to use for Ganglia. Defaults to \"opsworks\".",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_ganglia_layer.html",
  "properties": [
    "stack_id",
    "password",
    "name",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "system_packages",
    "url",
    "username",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_haproxy_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "healthcheck_method": {
      "description": "HTTP method to use for instance healthchecks. Defaults to \"OPTIONS\".",
      "required": false
    },
    "healthcheck_url": {
      "description": "URL path to use for instance healthchecks. Defaults to \"/\".",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "stats_enabled": {
      "description": "Whether to enable HAProxy stats.",
      "required": false
    },
    "stats_password": {
      "description": "The password to use for HAProxy stats.",
      "required": true
    },
    "stats_url": {
      "description": "The HAProxy stats URL. Defaults to \"/haproxy?stats\".",
      "required": false
    },
    "stats_user": {
      "description": "The username for HAProxy stats. Defaults to \"opsworks\".",
      "required": false
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_haproxy_layer.html",
  "properties": [
    "stack_id",
    "stats_password",
    "name",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "healthcheck_method",
    "healthcheck_url",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "stats_enabled",
    "stats_url",
    "stats_user",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_instance": {
  "full_properties": {
    "agent_version": {
      "description": "The AWS OpsWorks agent to install.  Defaults to \"INHERIT\".",
      "required": false
    },
    "ami_id": {
      "description": "The AMI to use for the instance.  If an AMI is specified, os must be \"Custom\".",
      "required": false
    },
    "architecture": {
      "description": "Machine architecture for created instances.  Can be either \"x86_64\" (the default) or \"i386\"",
      "required": false
    },
    "auto_scaling_type": {
      "description": "Creates load-based or time-based instances.  If set, can be either: \"load\" or \"timer\".",
      "required": false
    },
    "availability_zone": {
      "description": "Name of the availability zone where instances will be created",
      "required": false
    },
    "ebs_block_device": {
      "description": "Additional EBS block devices to attach to the",
      "required": false
    },
    "ebs_optimized": {
      "description": "If true, the launched EC2 instance will be EBS-optimized.",
      "required": false
    },
    "ephemeral_block_device": {
      "description": "Customize Ephemeral (also known as",
      "required": false
    },
    "hostname": {
      "description": "The instance's host name.",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Controls where to install OS and package updates when the instance boots.  Defaults to true.",
      "required": false
    },
    "instance_type": {
      "description": "The type of instance to start",
      "required": true
    },
    "layer_ids": {
      "description": "The ids of the layers the instance will belong to.",
      "required": true
    },
    "os": {
      "description": "Name of operating system that will be installed.",
      "required": false
    },
    "root_block_device": {
      "description": "Customize details about the root block",
      "required": false
    },
    "root_device_type": {
      "description": "Name of the type of root device instances will have by default.  Can be either \"ebs\" or \"instance-store\"",
      "required": false
    },
    "ssh_key_name": {
      "description": "Name of the SSH keypair that instances will have by default.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the instance will belong to.",
      "required": true
    },
    "state": {
      "description": "The desired state of the instance.  Can be either \"running\" or \"stopped\".",
      "required": false
    },
    "subnet_id": {
      "description": "Subnet ID to attach to",
      "required": false
    },
    "tenancy": {
      "description": "Instance tenancy to use. Can be one of \"default\", \"dedicated\" or \"host\"",
      "required": false
    },
    "virtualization_type": {
      "description": "Keyword to choose what virtualization mode created instances",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_instance.html",
  "properties": [
    "instance_type",
    "stack_id",
    "layer_ids",
    "state",
    "install_updates_on_boot",
    "auto_scaling_type",
    "availability_zone",
    "ebs_optimized",
    "hostname",
    "architecture",
    "ami_id",
    "os",
    "root_device_type",
    "ssh_key_name",
    "agent_version",
    "subnet_id",
    "tenancy",
    "virtualization_type",
    "root_block_device",
    "ebs_block_device",
    "ephemeral_block_device"
  ]
},
"aws_opsworks_java_app_layer": {
  "full_properties": {
    "app_server": {
      "description": "Keyword for the application container to use. Defaults to \"tomcat\".",
      "required": false
    },
    "app_server_version": {
      "description": "Version of the selected application container to use. Defaults to \"7\".",
      "required": false
    },
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "jvm_options": {
      "description": "Options to set for the JVM.",
      "required": false
    },
    "jvm_type": {
      "description": "Keyword for the type of JVM to use. Defaults to openjdk.",
      "required": false
    },
    "jvm_version": {
      "description": "Version of JVM to use. Defaults to \"7\".",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_java_app_layer.html",
  "properties": [
    "stack_id",
    "name",
    "app_server",
    "app_server_version",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "jvm_type",
    "jvm_options",
    "jvm_version",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_memcached_layer": {
  "full_properties": {
    "allocated_memory": {
      "description": "Amount of memory to allocate for the cache on each instance, in megabytes. Defaults to 512MB.",
      "required": false
    },
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_memcached_layer.html",
  "properties": [
    "stack_id",
    "name",
    "allocated_memory",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_mysql_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "root_password": {
      "description": "Root password to use for MySQL.",
      "required": false
    },
    "root_password_on_all_instances": {
      "description": "Whether to set the root user password to all instances in the stack so they can access the instances in this layer.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_mysql_layer.html",
  "properties": [
    "stack_id",
    "name",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "root_password",
    "root_password_on_all_instances",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_nodejs_app_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "nodejs_version": {
      "description": "The version of NodeJS to use. Defaults to \"0.10.38\".",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_nodejs_app_layer.html",
  "properties": [
    "stack_id",
    "name",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "nodejs_version",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_permission": {
  "full_properties": {
    "allow_ssh": {
      "description": "Whether the user is allowed to use SSH to communicate with the instance",
      "required": false
    },
    "allow_sudo": {
      "description": "Whether the user is allowed to use sudo to elevate privileges",
      "required": false
    },
    "level": {
      "description": "The users permission level. Mus be one of deny, show, deploy, manage, iam_only",
      "required": false
    },
    "stack_id": {
      "description": "The stack to set the permissions for",
      "required": true
    },
    "user_arn": {
      "description": "The user's IAM ARN to set permissions for",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/opsworks_permission.html",
  "properties": [
    "allow_ssh",
    "allow_sudo",
    "user_arn",
    "level",
    "stack_id"
  ]
},
"aws_opsworks_php_app_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_php_app_layer.html",
  "properties": [
    "stack_id",
    "name",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_rails_app_layer": {
  "full_properties": {
    "app_server": {
      "description": "Keyword for the app server to use. Defaults to \"apache_passenger\".",
      "required": false
    },
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "bundler_version": {
      "description": "When OpsWorks is managing Bundler, which version to use. Defaults to \"1.5.3\".",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the layer.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "manage_bundler": {
      "description": "Whether OpsWorks should manage bundler. On by default.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "passenger_version": {
      "description": "The version of Passenger to use. Defaults to \"4.0.46\".",
      "required": false
    },
    "ruby_version": {
      "description": "The version of Ruby to use. Defaults to \"2.0.0\".",
      "required": false
    },
    "rubygems_version": {
      "description": "The version of RubyGems to use. Defaults to \"2.2.2\".",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_rails_app_layer.html",
  "properties": [
    "stack_id",
    "name",
    "app_server",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "bundler_version",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "manage_bundler",
    "passenger_version",
    "ruby_version",
    "rubygems_version",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume",
    "custom_json"
  ]
},
"aws_opsworks_rds_db_instance": {
  "full_properties": {
    "db_password": {
      "description": "A db password",
      "required": true
    },
    "db_user": {
      "description": "A db username",
      "required": true
    },
    "rds_db_instance_arn": {
      "description": "The db instance to register for this stack. Changing this will force a new resource.",
      "required": true
    },
    "stack_id": {
      "description": "The stack to register a db inatance for. Changing this will force a new resource.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/opsworks_rds_db_instance.html",
  "properties": [
    "stack_id",
    "rds_db_instance_arn",
    "db_user",
    "db_password"
  ]
},
"aws_opsworks_stack": {
  "full_properties": {
    "agent_version": {
      "description": "If set to \"LATEST\", OpsWorks will automatically install the latest version.",
      "required": false
    },
    "berkshelf_version": {
      "description": "If manage_berkshelf is enabled, the version of Berkshelf to use.",
      "required": false
    },
    "color": {
      "description": "Color to paint next to the stack's resources in the OpsWorks console.",
      "required": false
    },
    "configuration_manager_name": {
      "description": "Name of the configuration manager to use. Defaults to \"Chef\".",
      "required": false
    },
    "configuration_manager_version": {
      "description": "Version of the configuration manager to use. Defaults to \"11.4\".",
      "required": false
    },
    "custom_cookbooks_source": {
      "description": "When use_custom_cookbooks is set, provide this sub-object as",
      "required": false
    },
    "custom_json": {
      "description": "Custom JSON attributes to apply to the entire stack.",
      "required": false
    },
    "default_availability_zone": {
      "description": "Name of the availability zone where instances will be created",
      "required": false
    },
    "default_instance_profile_arn": {
      "description": "The ARN of an IAM Instance Profile that created instances",
      "required": true
    },
    "default_os": {
      "description": "Name of OS that will be installed on instances by default.",
      "required": false
    },
    "default_root_device_type": {
      "description": "Name of the type of root device instances will have by default.",
      "required": false
    },
    "default_ssh_key_name": {
      "description": "Name of the SSH keypair that instances will have by default.",
      "required": false
    },
    "default_subnet_id": {
      "description": "Id of the subnet in which instances will be created by default. Mandatory",
      "required": false
    },
    "hostname_theme": {
      "description": "Keyword representing the naming scheme that will be used for instance hostnames",
      "required": false
    },
    "manage_berkshelf": {
      "description": "Boolean value controlling whether Opsworks will run Berkshelf for this stack.",
      "required": false
    },
    "name": {
      "description": "The name of the stack.",
      "required": true
    },
    "region": {
      "description": "The name of the region where the stack will exist.",
      "required": true
    },
    "service_role_arn": {
      "description": "The ARN of an IAM role that the OpsWorks service will act as.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "use_custom_cookbooks": {
      "description": "Boolean value controlling whether the custom cookbook settings are",
      "required": false
    },
    "use_opsworks_security_groups": {
      "description": "Boolean value controlling whether the standard OpsWorks",
      "required": false
    },
    "vpc_id": {
      "description": "The id of the VPC that this stack belongs to.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_stack.html",
  "properties": [
    "name",
    "region",
    "service_role_arn",
    "default_instance_profile_arn",
    "agent_version",
    "berkshelf_version",
    "color",
    "default_availability_zone",
    "configuration_manager_name",
    "configuration_manager_version",
    "custom_cookbooks_source",
    "custom_json",
    "default_os",
    "default_root_device_type",
    "default_ssh_key_name",
    "default_subnet_id",
    "hostname_theme",
    "manage_berkshelf",
    "tags",
    "use_custom_cookbooks",
    "use_opsworks_security_groups",
    "vpc_id"
  ]
},
"aws_opsworks_static_web_layer": {
  "full_properties": {
    "auto_assign_elastic_ips": {
      "description": "Whether to automatically assign an elastic IP address to the layer's instances.",
      "required": false
    },
    "auto_assign_public_ips": {
      "description": "For stacks belonging to a VPC, whether to automatically assign a public IP address to each of the layer's instances.",
      "required": false
    },
    "auto_healing": {
      "description": "Whether to enable auto-healing for the layer.",
      "required": false
    },
    "custom_instance_profile_arn": {
      "description": "The ARN of an IAM profile that will be used for the layer's instances.",
      "required": false
    },
    "custom_security_group_ids": {
      "description": "Ids for a set of security groups to apply to the layer's instances.",
      "required": false
    },
    "drain_elb_on_shutdown": {
      "description": "Whether to enable Elastic Load Balancing connection draining.",
      "required": false
    },
    "ebs_volume": {
      "description": "ebs_volume blocks, as described below, will each create an EBS volume and connect it to the layer's instances.",
      "required": false
    },
    "elastic_load_balancer": {
      "description": "Name of an Elastic Load Balancer to attach to this layer",
      "required": false
    },
    "install_updates_on_boot": {
      "description": "Whether to install OS and package updates on each instance when it boots.",
      "required": false
    },
    "instance_shutdown_timeout": {
      "description": "The time, in seconds, that OpsWorks will wait for Chef to complete after triggering the Shutdown event.",
      "required": false
    },
    "name": {
      "description": "A human-readable name for the layer.",
      "required": false
    },
    "stack_id": {
      "description": "The id of the stack the layer will belong to.",
      "required": true
    },
    "system_packages": {
      "description": "Names of a set of system packages to install on the layer's instances.",
      "required": false
    },
    "use_ebs_optimized_instances": {
      "description": "Whether to use EBS-optimized instances.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/opsworks_static_web_layer.html",
  "properties": [
    "stack_id",
    "name",
    "auto_assign_elastic_ips",
    "auto_assign_public_ips",
    "custom_instance_profile_arn",
    "custom_security_group_ids",
    "auto_healing",
    "install_updates_on_boot",
    "instance_shutdown_timeout",
    "elastic_load_balancer",
    "drain_elb_on_shutdown",
    "system_packages",
    "use_ebs_optimized_instances",
    "ebs_volume"
  ]
},
"aws_opsworks_user_profile": {
  "full_properties": {
    "allow_self_management": {
      "description": "Whether users can specify their own SSH public key through the My Settings page",
      "required": false
    },
    "ssh_public_key": {
      "description": "The users public key",
      "required": false
    },
    "ssh_username": {
      "description": "The ssh username, with witch this user wants to log in",
      "required": true
    },
    "user_arn": {
      "description": "The user's IAM ARN",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/opsworks_user_profile.html",
  "properties": [
    "user_arn",
    "allow_self_management",
    "ssh_username",
    "ssh_public_key"
  ]
},
"aws_organizations_account": {
  "full_properties": {
    "email": {
      "description": "The email address of the owner to assign to the new member account. This email address must not already be associated with another AWS account.",
      "required": true
    },
    "iam_user_access_to_billing": {
      "description": "If set to ALLOW, the new account enables IAM users to access account billing information if they have the required permissions. If set to DENY, then only the root user of the new account can access account billing information.",
      "required": false
    },
    "name": {
      "description": "A friendly name for the member account.",
      "required": true
    },
    "role_name": {
      "description": "The name of an IAM role that Organizations automatically preconfigures in the new member account. This role trusts the master account, allowing users in the master account to assume the role, as permitted by the master account administrator. The role has administrator permissions in the new member account.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/organizations_account.html",
  "properties": [
    "name",
    "email",
    "iam_user_access_to_billing",
    "role_name"
  ]
},
"aws_organizations_organization": {
  "full_properties": {
    "feature_set": {
      "description": "Specify \"ALL\" (default) or \"CONSOLIDATED_BILLING\".",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/organizations_organization.html",
  "properties": [
    "feature_set"
  ]
},
"aws_organizations_policy": {
  "full_properties": {
    "content": {
      "description": "The policy content to add to the new policy. For example, if you create a service control policy (SCP), this string must be JSON text that specifies the permissions that admins in attached accounts can delegate to their users, groups, and roles. For more information about the SCP syntax, see the Service Control Policy Syntax documentation.",
      "required": true
    },
    "description": {
      "description": "A description to assign to the policy.",
      "required": false
    },
    "name": {
      "description": "The friendly name to assign to the policy.",
      "required": true
    },
    "type": {
      "description": "The type of policy to create. Currently, the only valid value is SERVICE_CONTROL_POLICY (SCP).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/organizations_policy.html",
  "properties": [
    "content",
    "name",
    "description",
    "type"
  ]
},
"aws_organizations_policy_attachment": {
  "full_properties": {
    "policy_id": {
      "description": "The unique identifier (ID) of the policy that you want to attach to the target.",
      "required": true
    },
    "target_id": {
      "description": "The unique identifier (ID) of the root, organizational unit, or account number that you want to attach the policy to.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/organizations_policy_attachment.html",
  "properties": [
    "policy_id",
    "target_id"
  ]
},
"aws_pinpoint_adm_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "client_id": {
      "description": "Client ID (part of OAuth Credentials) obtained via Amazon Developer Account.",
      "required": true
    },
    "client_secret": {
      "description": "Client Secret (part of OAuth Credentials) obtained via Amazon Developer Account.",
      "required": true
    },
    "enabled": {
      "description": "Specifies whether to enable the channel. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_adm_channel.html",
  "properties": [
    "application_id",
    "client_id",
    "client_secret",
    "enabled"
  ]
},
"aws_pinpoint_apns_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "default_authentication_method": {
      "description": "The default authentication method used for APNs. ",
      "required": false
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_apns_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "default_authentication_method"
  ]
},
"aws_pinpoint_apns_sandbox_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "default_authentication_method": {
      "description": "The default authentication method used for APNs Sandbox. ",
      "required": false
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_apns_sandbox_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "default_authentication_method"
  ]
},
"aws_pinpoint_apns_voip_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "default_authentication_method": {
      "description": "The default authentication method used for APNs. ",
      "required": false
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_apns_voip_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "default_authentication_method"
  ]
},
"aws_pinpoint_apns_voip_sandbox_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "default_authentication_method": {
      "description": "The default authentication method used for APNs. ",
      "required": false
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_apns_voip_sandbox_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "default_authentication_method"
  ]
},
"aws_pinpoint_app": {
  "full_properties": {
    "campaign_hook": {
      "description": "The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own",
      "required": false
    },
    "limits": {
      "description": "The default campaign limits for the app. These limits apply to each campaign for the app, unless the campaign overrides the default with limits of its own",
      "required": false
    },
    "name": {
      "description": "The application name. By default generated by Terraform",
      "required": false
    },
    "name_prefix": {
      "description": "The name of the Pinpoint application. Conflicts with name",
      "required": false
    },
    "quiet_time": {
      "description": "The default quiet time for the app. Each campaign for this app sends no messages during this time unless the campaign overrides the default with a quiet time of its own",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_app.html",
  "properties": [
    "name",
    "name_prefix",
    "campaign_hook",
    "limits",
    "quiet_time"
  ]
},
"aws_pinpoint_baidu_channel": {
  "full_properties": {
    "api_key": {
      "description": "Platform credential API key from Baidu.",
      "required": true
    },
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "enabled": {
      "description": "Specifies whether to enable the channel. Defaults to true.",
      "required": false
    },
    "secret_key": {
      "description": "Platform credential Secret key from Baidu.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_baidu_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "api_key",
    "secret_key"
  ]
},
"aws_pinpoint_email_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    },
    "from_address": {
      "description": "The email address used to send emails from.",
      "required": true
    },
    "identity": {
      "description": "The ARN of an identity verified with SES.",
      "required": true
    },
    "role_arn": {
      "description": "The ARN of an IAM Role used to submit events to Mobile Analytics' event ingestion service.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_email_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "from_address",
    "identity",
    "role_arn"
  ]
},
"aws_pinpoint_event_stream": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "destination_stream_arn": {
      "description": "The Amazon Resource Name (ARN) of the Amazon Kinesis stream or Firehose delivery stream to which you want to publish events.",
      "required": true
    },
    "role_arn": {
      "description": "The IAM role that authorizes Amazon Pinpoint to publish events to the stream in your account.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_event_stream.html",
  "properties": [
    "application_id",
    "destination_stream_arn",
    "role_arn"
  ]
},
"aws_pinpoint_gcm_channel": {
  "full_properties": {
    "api_key": {
      "description": "Platform credential API key from Google.",
      "required": true
    },
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_gcm_channel.html",
  "properties": [
    "application_id",
    "api_key",
    "enabled"
  ]
},
"aws_pinpoint_sms_channel": {
  "full_properties": {
    "application_id": {
      "description": "The application ID.",
      "required": true
    },
    "enabled": {
      "description": "Whether the channel is enabled or disabled. Defaults to true.",
      "required": false
    },
    "sender_id": {
      "description": "Sender identifier of your messages.",
      "required": false
    },
    "short_code": {
      "description": "The Short Code registered with the phone provider.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/pinpoint_sms_channel.html",
  "properties": [
    "application_id",
    "enabled",
    "sender_id",
    "short_code"
  ]
},
"aws_placement_group": {
  "full_properties": {
    "name": {
      "description": "The name of the placement group.",
      "required": true
    },
    "strategy": {
      "description": "The placement strategy.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/placement_group.html",
  "properties": [
    "name",
    "strategy"
  ]
},
"aws_proxy_protocol_policy": {
  "full_properties": {
    "instance_ports": {
      "description": "List of instance ports to which the policy",
      "required": true
    },
    "load_balancer": {
      "description": "The load balancer to which the policy",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/proxy_protocol_policy.html",
  "properties": [
    "load_balancer",
    "instance_ports"
  ]
},
"aws_rds_cluster": {
  "full_properties": {
    "apply_immediately": {
      "description": "Specifies whether any cluster modifications",
      "required": false
    },
    "availability_zones": {
      "description": "A list of EC2 Availability Zones that",
      "required": false
    },
    "backtrack_window": {
      "description": "The target backtrack window, in seconds. Only available for aurora engine currently. To disable backtracking, set this value to 0. Defaults to 0. Must be between 0 and 259200 (72 hours)",
      "required": false
    },
    "backup_retention_period": {
      "description": "The days to retain backups for. Default 1",
      "required": false
    },
    "cluster_identifier": {
      "description": "The cluster identifier. If omitted, Terraform will assign a random, unique identifier.",
      "required": false
    },
    "cluster_identifier_prefix": {
      "description": "Creates a unique cluster identifier beginning with the specified prefix. Conflicts with cluster_identifer.",
      "required": false
    },
    "database_name": {
      "description": "Name for an automatically created database on cluster creation. There are different naming restrictions per database engine: RDS Naming Constraints",
      "required": false
    },
    "db_cluster_parameter_group_name": {
      "description": "A cluster parameter group to associate with the cluster.",
      "required": false
    },
    "db_subnet_group_nameaws_rds_cluster_instance": {
    },
    "deletion_protection": {
      "description": "If the DB instance should have deletion protection enabled. The database can't be deleted when this value is set to true. The default is false.",
      "required": false
    },
    "enabled_cloudwatch_logs_exports": {
      "description": "List of log types to export to cloudwatch. If omitted, no logs will be exported.",
      "required": false
    },
    "engine": {
      "description": "The name of the database engine to be used for this DB cluster. Defaults to aurora. Valid Values: aurora, aurora-mysql, aurora-postgresql",
      "required": false
    },
    "engine_mode": {
      "description": "The database engine mode. Valid values: parallelquery, provisioned, serverless. Defaults to: provisioned. See the RDS User Guide for limitations when using serverless.",
      "required": false
    },
    "engine_version": {
      "description": "The database engine version. Updating this argument results in an outage.",
      "required": false
    },
    "final_snapshot_identifier": {
      "description": "The name of your final DB snapshot",
      "required": false
    },
    "iam_database_authentication_enabled": {
      "description": "Specifies whether or mappings of AWS Identity and Access Management (IAM) accounts to database accounts is enabled. Please see AWS Documentation for availability and limitations.",
      "required": false
    },
    "iam_roles": {
      "description": "A List of ARNs for the IAM roles to associate to the RDS Cluster.",
      "required": false
    },
    "kms_key_id": {
      "description": "The ARN for the KMS encryption key. When specifying kms_key_id, storage_encrypted needs to be set to true.",
      "required": false
    },
    "master_password": {
      "description": "Password for the master DB user. Note that this may",
      "required": false
    },
    "master_username": {
      "description": "Username for the master DB user. Please refer to the RDS Naming Constraints",
      "required": false
    },
    "port": {
      "description": "The port on which the DB accepts connections",
      "required": false
    },
    "preferred_backup_window": {
      "description": "The daily time range during which automated backups are created if automated backups are enabled using the BackupRetentionPeriod parameter.Time in UTC",
      "required": false
    },
    "preferred_maintenance_window": {
      "description": "The weekly time range during which system maintenance can occur, in (UTC) e.g. wed:04:00-wed:04:30",
      "required": false
    },
    "replication_source_identifier": {
      "description": "ARN of a source DB cluster or DB instance if this DB cluster is to be created as a Read Replica.",
      "required": false
    },
    "scaling_configuration": {
      "description": "Nested attribute with scaling properties. Only valid when engine_mode is set to serverless. More details below.",
      "required": false
    },
    "skip_final_snapshot": {
      "description": "Determines whether a final DB snapshot is created before the DB cluster is deleted. If true is specified, no DB snapshot is created. If false is specified, a DB snapshot is created before the DB cluster is deleted, using the value from final_snapshot_identifier. Default is false.",
      "required": false
    },
    "snapshot_identifier": {
      "description": "Specifies whether or not to create this cluster from a snapshot. You can use either the name or ARN when specifying a DB cluster snapshot, or the ARN when specifying a DB snapshot.",
      "required": false
    },
    "source_region": {
      "description": "The source region for an encrypted replica DB cluster.",
      "required": false
    },
    "storage_encrypted": {
      "description": "Specifies whether the DB cluster is encrypted. The default is false for provisioned engine_mode and true for serverless engine_mode.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the DB cluster.",
      "required": false
    },
    "vpc_security_group_ids": {
      "description": "List of VPC security groups to associate",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/rds_cluster.html",
  "properties": [
    "cluster_identifier",
    "cluster_identifier_prefix",
    "database_name",
    "deletion_protection",
    "master_password",
    "master_username",
    "final_snapshot_identifier",
    "skip_final_snapshot",
    "availability_zones",
    "backtrack_window",
    "backup_retention_period",
    "preferred_backup_window",
    "preferred_maintenance_window",
    "port",
    "vpc_security_group_ids",
    "snapshot_identifier",
    "storage_encrypted",
    "replication_source_identifier",
    "apply_immediately",
    "db_subnet_group_nameaws_rds_cluster_instance",
    "db_cluster_parameter_group_name",
    "kms_key_id",
    "iam_roles",
    "iam_database_authentication_enabled",
    "engine",
    "engine_mode",
    "engine_version",
    "source_region",
    "enabled_cloudwatch_logs_exports",
    "scaling_configuration",
    "tags"
  ]
},
"aws_rds_cluster_instance": {
  "full_properties": {
    "": {
      "description": "db.r4.16xlarge",
      "required": false
    },
    "apply_immediately": {
      "description": "Specifies whether any database modifications",
      "required": false
    },
    "auto_minor_version_upgrade": {
      "description": "Indicates that minor engine upgrades will be applied automatically to the DB instance during the maintenance window. Default true.",
      "required": false
    },
    "availability_zone": {
      "description": "The EC2 Availability Zone that the DB instance is created in. See docs about the details.",
      "required": false
    },
    "cluster_identifieraws_rds_cluster": {
    },
    "db_parameter_group_name": {
      "description": "The name of the DB parameter group to associate with this instance.",
      "required": false
    },
    "db_subnet_group_nameaws_rds_cluster": {
    },
    "engine": {
      "description": "The name of the database engine to be used for the RDS instance. Defaults to aurora. Valid Values: aurora, aurora-mysql, aurora-postgresql.",
      "required": false
    },
    "engine_version": {
      "description": "The database engine version.",
      "required": false
    },
    "identifier": {
      "description": "The indentifier for the RDS instance, if omitted, Terraform will assign a random, unique identifier.",
      "required": false
    },
    "identifier_prefix": {
      "description": "Creates a unique identifier beginning with the specified prefix. Conflicts with identifer.",
      "required": false
    },
    "instance_class": {
      "description": "The instance class to use. For details on CPU",
      "required": true
    },
    "monitoring_interval": {
      "description": "The interval, in seconds, between points when Enhanced Monitoring metrics are collected for the DB instance. To disable collecting Enhanced Monitoring metrics, specify 0. The default is 0. Valid Values: 0, 1, 5, 10, 15, 30, 60.",
      "required": false
    },
    "monitoring_role_arn": {
      "description": "The ARN for the IAM role that permits RDS to send",
      "required": false
    },
    "performance_insights_enabled": {
      "description": "Specifies whether Performance Insights is enabled or not.",
      "required": false
    },
    "performance_insights_kms_key_id": {
      "description": "The ARN for the KMS key to encrypt Performance Insights data. When specifying performance_insights_kms_key_id, performance_insights_enabled needs to be set to true.",
      "required": false
    },
    "preferred_backup_window": {
      "description": "The daily time range during which automated backups are created if automated backups are enabled.",
      "required": false
    },
    "preferred_maintenance_window": {
      "description": "The window to perform maintenance in.",
      "required": false
    },
    "promotion_tier": {
      "description": "Default 0. Failover Priority setting on instance level. The reader who has lower tier has higher priority to get promoter to writer.",
      "required": false
    },
    "publicly_accessible": {
      "description": "Bool to control if instance is publicly accessible.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the instance.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/rds_cluster_instance.html",
  "properties": [
    "identifier",
    "identifier_prefix",
    "cluster_identifieraws_rds_cluster",
    "engine",
    "engine_version",
    "instance_class",
    "",
    "publicly_accessible",
    "db_subnet_group_nameaws_rds_cluster",
    "db_parameter_group_name",
    "apply_immediately",
    "monitoring_role_arn",
    "monitoring_interval",
    "promotion_tier",
    "availability_zone",
    "preferred_backup_window",
    "preferred_maintenance_window",
    "auto_minor_version_upgrade",
    "performance_insights_enabled",
    "performance_insights_kms_key_id",
    "tags"
  ]
},
"aws_rds_cluster_parameter_group": {
  "full_properties": {
    "description": {
      "description": "The description of the DB cluster parameter group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "family": {
      "description": "The family of the DB cluster parameter group.",
      "required": true
    },
    "name": {
      "description": "The name of the DB cluster parameter group. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "parameteraws rds describe-db-cluster-parameters": {
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/rds_cluster_parameter_group.html",
  "properties": [
    "name",
    "name_prefix",
    "family",
    "description",
    "parameteraws rds describe-db-cluster-parameters",
    "tags"
  ]
},
"aws_redshift_cluster": {
  "full_properties": {
    "allow_version_upgrade": {
      "description": "If true , major version upgrades can be applied during the maintenance window to the Amazon Redshift engine that is running on the cluster. Default is true",
      "required": false
    },
    "automated_snapshot_retention_period": {
      "description": "The number of days that automated snapshots are retained. If the value is 0, automated snapshots are disabled. Even if automated snapshots are disabled, you can still create manual snapshots when you want with create-cluster-snapshot. Default is 1.",
      "required": false
    },
    "availability_zone": {
      "description": "The EC2 Availability Zone (AZ) in which you want Amazon Redshift to provision the cluster. For example, if you have several EC2 instances running in a specific Availability Zone, then you might want the cluster to be provisioned in the same zone in order to decrease network latency.",
      "required": false
    },
    "cluster_identifier": {
      "description": "The Cluster Identifier. Must be a lower case",
      "required": true
    },
    "cluster_parameter_group_name": {
      "description": "The name of the parameter group to be associated with this cluster.",
      "required": false
    },
    "cluster_security_groups": {
      "description": "A list of security groups to be associated with this cluster.",
      "required": false
    },
    "cluster_subnet_group_name": {
      "description": "The name of a cluster subnet group to be associated with this cluster. If this parameter is not provided the resulting cluster will be deployed outside virtual private cloud (VPC).",
      "required": false
    },
    "cluster_type": {
      "description": "The cluster type to use. Either single-node or multi-node.",
      "required": false
    },
    "cluster_version": {
      "description": "The version of the Amazon Redshift engine software that you want to deploy on the cluster.",
      "required": false
    },
    "database_name": {
      "description": "The name of the first database to be created when the cluster is created.",
      "required": false
    },
    "elastic_ip": {
      "description": "The Elastic IP (EIP) address for the cluster.",
      "required": false
    },
    "encrypted": {
      "description": "If true , the data in the cluster is encrypted at rest.",
      "required": false
    },
    "enhanced_vpc_routing": {
      "description": "If true , enhanced VPC routing is enabled.",
      "required": false
    },
    "final_snapshot_identifier": {
      "description": "The identifier of the final snapshot that is to be created immediately before deleting the cluster. If this parameter is provided, skip_final_snapshot must be false.",
      "required": false
    },
    "iam_roles": {
      "description": "A list of IAM Role ARNs to associate with the cluster. A Maximum of 10 can be associated to the cluster at any time.",
      "required": false
    },
    "kms_key_id": {
      "description": "The ARN for the KMS encryption key. When specifying kms_key_id, encrypted needs to be set to true.",
      "required": false
    },
    "logging": {
      "description": "Logging, documented below.",
      "required": false
    },
    "master_password": {
      "description": "Password for the master DB user.",
      "required": false
    },
    "master_username": {
      "description": "Username for the master DB user.",
      "required": false
    },
    "node_type": {
      "description": "The node type to be provisioned for the cluster.",
      "required": true
    },
    "number_of_nodes": {
      "description": "The number of compute nodes in the cluster. This parameter is required when the ClusterType parameter is specified as multi-node. Default is 1.",
      "required": false
    },
    "owner_account": {
      "description": "The AWS customer account used to create or copy the snapshot. Required if you are restoring a snapshot you do not own, optional if you own the snapshot.",
      "required": false
    },
    "port": {
      "description": "The port number on which the cluster accepts incoming connections.",
      "required": false
    },
    "preferred_maintenance_window": {
      "description": "The weekly time range (in UTC) during which automated cluster maintenance can occur.",
      "required": false
    },
    "publicly_accessible": {
      "description": "If true, the cluster can be accessed from a public network. Default is true.",
      "required": false
    },
    "skip_final_snapshot": {
      "description": "Determines whether a final snapshot of the cluster is created before Amazon Redshift deletes the cluster. If true , a final cluster snapshot is not created. If false , a final cluster snapshot is created before the cluster is deleted. Default is false.",
      "required": false
    },
    "snapshot_cluster_identifier": {
      "description": "The name of the cluster the source snapshot was created from.",
      "required": false
    },
    "snapshot_copy": {
      "description": "Configuration of automatic copy of snapshots from one region to another. Documented below.",
      "required": false
    },
    "snapshot_identifier": {
      "description": "The name of the snapshot from which to create the new cluster.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_security_group_ids": {
      "description": "A list of Virtual Private Cloud (VPC) security groups to be associated with the cluster.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/redshift_cluster.html",
  "properties": [
    "cluster_identifier",
    "database_name",
    "node_type",
    "cluster_type",
    "master_password",
    "master_username",
    "cluster_security_groups",
    "vpc_security_group_ids",
    "cluster_subnet_group_name",
    "availability_zone",
    "preferred_maintenance_window",
    "cluster_parameter_group_name",
    "automated_snapshot_retention_period",
    "port",
    "cluster_version",
    "allow_version_upgrade",
    "number_of_nodes",
    "publicly_accessible",
    "encrypted",
    "enhanced_vpc_routing",
    "kms_key_id",
    "elastic_ip",
    "skip_final_snapshot",
    "final_snapshot_identifier",
    "snapshot_identifier",
    "snapshot_cluster_identifier",
    "owner_account",
    "iam_roles",
    "logging",
    "snapshot_copy",
    "tags"
  ]
},
"aws_redshift_event_subscription": {
  "full_properties": {
    "enabled": {
      "description": "A boolean flag to enable/disable the subscription. Defaults to true.",
      "required": false
    },
    "event_categories": {
      "description": "A list of event categories for a SourceType that you want to subscribe to. See https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-event-notifications.html or run aws redshift describe-event-categories.",
      "required": false
    },
    "name": {
      "description": "The name of the Redshift event subscription.",
      "required": true
    },
    "severity": {
      "description": "The event severity to be published by the notification subscription. Valid options are INFO or ERROR.",
      "required": false
    },
    "sns_topic_arn": {
      "description": "The ARN of the SNS topic to send events to.",
      "required": true
    },
    "source_ids": {
      "description": "A list of identifiers of the event sources for which events will be returned. If not specified, then all sources are included in the response. If specified, a source_type must also be specified.",
      "required": false
    },
    "source_type": {
      "description": "The type of source that will be generating the events. Valid options are cluster, cluster-parameter-group, cluster-security-group, or cluster-snapshot. If not set, all sources will be subscribed to.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/redshift_event_subscription.html",
  "properties": [
    "name",
    "sns_topic_arn",
    "source_ids",
    "source_type",
    "severity",
    "event_categories",
    "enabled",
    "tags"
  ]
},
"aws_redshift_parameter_group": {
  "full_properties": {
    "description": {
      "description": "The description of the Redshift parameter group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "family": {
      "description": "The family of the Redshift parameter group.",
      "required": true
    },
    "name": {
      "description": "The name of the Redshift parameter group.",
      "required": true
    },
    "parameter": {
      "description": "A list of Redshift parameters to apply.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/redshift_parameter_group.html",
  "properties": [
    "name",
    "family",
    "description",
    "parameter"
  ]
},
"aws_redshift_security_group": {
  "full_properties": {
    "description": {
      "description": "The description of the Redshift security group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "ingress": {
      "description": "A list of ingress rules.",
      "required": false
    },
    "name": {
      "description": "The name of the Redshift security group.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/redshift_security_group.html",
  "properties": [
    "name",
    "description",
    "ingress"
  ]
},
"aws_redshift_snapshot_copy_grant": {
  "full_properties": {
    "kms_key_id": {
      "description": "The unique identifier for the customer master key (CMK) that the grant applies to. Specify the key ID or the Amazon Resource Name (ARN) of the CMK. To specify a CMK in a different AWS account, you must use the key ARN. If not specified, the default key is used.",
      "required": false
    },
    "snapshot_copy_grant_name": {
      "description": "A friendly name for identifying the grant.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/redshift_snapshot_copy_grant.html",
  "properties": [
    "snapshot_copy_grant_name",
    "kms_key_id"
  ]
},
"aws_redshift_subnet_group": {
  "full_properties": {
    "description": {
      "description": "The description of the Redshift Subnet group. Defaults to \"Managed by Terraform\".",
      "required": false
    },
    "name": {
      "description": "The name of the Redshift Subnet group.",
      "required": true
    },
    "subnet_ids": {
      "description": "An array of VPC subnet IDs.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/redshift_subnet_group.html",
  "properties": [
    "name",
    "description",
    "subnet_ids",
    "tags"
  ]
},
"aws_route": {
  "full_properties": {
    "destination_cidr_block": {
      "description": "The destination CIDR block.",
      "required": false
    },
    "destination_ipv6_cidr_block": {
      "description": "The destination IPv6 CIDR block.",
      "required": false
    },
    "egress_only_gateway_id": {
      "description": "An ID of a VPC Egress Only Internet Gateway.",
      "required": false
    },
    "gateway_id": {
      "description": "An ID of a VPC internet gateway or a virtual private gateway.",
      "required": false
    },
    "instance_id": {
      "description": "An ID of an EC2 instance.",
      "required": false
    },
    "nat_gateway_id": {
      "description": "An ID of a VPC NAT gateway.",
      "required": false
    },
    "network_interface_id": {
      "description": "An ID of a network interface.",
      "required": false
    },
    "route_table_id": {
      "description": "The ID of the routing table.",
      "required": true
    },
    "vpc_peering_connection_id": {
      "description": "An ID of a VPC peering connection.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/route.html",
  "properties": [
    "route_table_id",
    "destination_cidr_block",
    "destination_ipv6_cidr_block",
    "vpc_peering_connection_id",
    "egress_only_gateway_id",
    "gateway_id",
    "nat_gateway_id",
    "instance_id",
    "network_interface_id"
  ]
},
"aws_route53_delegation_set": {
  "full_properties": {
    "reference_name": {
      "description": "This is a reference name used in Caller Reference",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/route53_delegation_set.html",
  "properties": [
    "reference_name"
  ]
},
"aws_route53_health_check": {
  "full_properties": {
    "child_health_threshold": {
      "description": "The minimum number of child health checks that must be healthy for Route 53 to consider the parent health check to be healthy. Valid values are integers between 0 and 256, inclusive",
      "required": false
    },
    "child_healthchecks": {
      "description": "For a specified parent health check, a list of HealthCheckId values for the associated child health checks.",
      "required": false
    },
    "cloudwatch_alarm_name": {
      "description": "The name of the CloudWatch alarm.",
      "required": false
    },
    "cloudwatch_alarm_region": {
      "description": "The CloudWatchRegion that the CloudWatch alarm was created in.",
      "required": false
    },
    "enable_sni": {
      "description": "A boolean value that indicates whether Route53 should send the fqdn to the endpoint when performing the health check. This defaults to AWS' defaults: when the type is \"HTTPS\" enable_sni defaults to true, when type is anything else enable_sni defaults to false.",
      "required": false
    },
    "failure_threshold": {
      "description": "The number of consecutive health checks that an endpoint must pass or fail.",
      "required": true
    },
    "fqdn": {
      "description": "The fully qualified domain name of the endpoint to be checked.",
      "required": false
    },
    "insufficient_data_health_status": {
      "description": "The status of the health check when CloudWatch has insufficient data about the state of associated alarm. Valid values are Healthy , Unhealthy and LastKnownStatus.",
      "required": false
    },
    "invert_healthcheck": {
      "description": "A boolean value that indicates whether the status of health check should be inverted. For example, if a health check is healthy but Inverted is True , then Route 53 considers the health check to be unhealthy.",
      "required": false
    },
    "ip_address": {
      "description": "The IP address of the endpoint to be checked.",
      "required": false
    },
    "measure_latency": {
      "description": "A Boolean value that indicates whether you want Route 53 to measure the latency between health checkers in multiple AWS regions and your endpoint and to display CloudWatch latency graphs in the Route 53 console.",
      "required": false
    },
    "port": {
      "description": "The port of the endpoint to be checked.",
      "required": false
    },
    "reference_name": {
      "description": "This is a reference name used in Caller Reference",
      "required": false
    },
    "regions": {
      "description": "A list of AWS regions that you want Amazon Route 53 health checkers to check the specified endpoint from.",
      "required": false
    },
    "request_interval": {
      "description": "The number of seconds between the time that Amazon Route 53 gets a response from your endpoint and the time that it sends the next health-check request.",
      "required": true
    },
    "resource_path": {
      "description": "The path that you want Amazon Route 53 to request when performing health checks.",
      "required": false
    },
    "search_string": {
      "description": "String searched in the first 5120 bytes of the response body for check to be considered healthy. Only valid with HTTP_STR_MATCH and HTTPS_STR_MATCH.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the health check.",
      "required": false
    },
    "type": {
      "description": "The protocol to use when performing health checks. Valid values are HTTP, HTTPS, HTTP_STR_MATCH, HTTPS_STR_MATCH, TCP, CALCULATED and CLOUDWATCH_METRIC.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/route53_health_check.html",
  "properties": [
    "reference_name",
    "fqdn",
    "ip_address",
    "port",
    "type",
    "failure_threshold",
    "request_interval",
    "resource_path",
    "search_string",
    "measure_latency",
    "invert_healthcheck",
    "enable_sni",
    "child_healthchecks",
    "child_health_threshold",
    "cloudwatch_alarm_name",
    "cloudwatch_alarm_region",
    "insufficient_data_health_status",
    "regions",
    "tags"
  ]
},
"aws_route53_query_log": {
  "full_properties": {
    "cloudwatch_log_group_arn": {
      "description": "CloudWatch log group ARN to send query logs.",
      "required": true
    },
    "zone_id": {
      "description": "Route53 hosted zone ID to enable query logs.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/route53_query_log.html",
  "properties": [
    "cloudwatch_log_group_arn",
    "zone_id"
  ]
},
"aws_route53_record": {
  "full_properties": {
    "alias": {
      "description": "An alias block. Conflicts with ttl & records.",
      "required": false
    },
    "allow_overwrite": {
      "description": "Allow creation of this record in Terraform to overwrite an existing record, if any. This does not prevent other resources within Terraform or manual Route53 changes from overwriting this record. true by default.",
      "required": false
    },
    "failover_routing_policy": {
      "description": "A block indicating the routing behavior when associated health check fails. Conflicts with any other routing policy. Documented below.",
      "required": false
    },
    "geolocation_routing_policy": {
      "description": "A block indicating a routing policy based on the geolocation of the requestor. Conflicts with any other routing policy. Documented below.",
      "required": false
    },
    "health_check_id": {
      "description": "The health check the record should be associated with.",
      "required": false
    },
    "latency_routing_policy": {
      "description": "A block indicating a routing policy based on the latency between the requestor and an AWS region. Conflicts with any other routing policy. Documented below.",
      "required": false
    },
    "multivalue_answer_routing_policy": {
      "description": "Set to true to indicate a multivalue answer routing policy. Conflicts with any other routing policy.",
      "required": false
    },
    "name": {
      "description": "The name of the record.",
      "required": true
    },
    "records": {
      "description": "A string list of records. To specify a single record value longer than 255 characters such as a TXT record for DKIM, add \\\"\\\" inside the Terraform configuration string (e.g. \"first255characters\\\"\\\"morecharacters\").",
      "required": false
    },
    "set_identifier": {
      "description": "Unique identifier to differentiate records with routing policies from one another. Required if using failover, geolocation, latency, or weighted routing policies documented below.",
      "required": false
    },
    "ttl": {
      "description": "The TTL of the record.",
      "required": false
    },
    "type": {
      "description": "The record type. Valid values are A, AAAA, CAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV and TXT.",
      "required": true
    },
    "weighted_routing_policy": {
      "description": "A block indicating a weighted routing policy. Conflicts with any other routing policy. Documented below.",
      "required": false
    },
    "zone_id": {
      "description": "The ID of the hosted zone to contain this record.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/route53_record.html",
  "properties": [
    "zone_id",
    "name",
    "type",
    "ttl",
    "records",
    "set_identifier",
    "health_check_id",
    "alias",
    "failover_routing_policy",
    "geolocation_routing_policy",
    "latency_routing_policy",
    "weighted_routing_policy",
    "multivalue_answer_routing_policy",
    "allow_overwrite"
  ]
},
"aws_route53_zone": {
  "full_properties": {
    "comment": {
      "description": "A comment for the hosted zone. Defaults to 'Managed by Terraform'.",
      "required": false
    },
    "delegation_set_id": {
      "description": "The ID of the reusable delegation set whose NS records you want to assign to the hosted zone. Conflicts with vpc and vpc_id as delegation sets can only be used for public zones.",
      "required": false
    },
    "force_destroy": {
      "description": "Whether to destroy all records (possibly managed outside of Terraform) in the zone when destroying the zone.",
      "required": false
    },
    "name": {
      "description": "This is the name of the hosted zone.",
      "required": true
    },
    "tags": {
      "description": "A mapping of tags to assign to the zone.",
      "required": false
    },
    "vpc_id": {
      "description": "Use vpc instead. The VPC to associate with a private hosted zone. Specifying vpc_id will create a private hosted zone. Conflicts with delegation_set_id as delegation sets can only be used for public zones and vpc.",
      "required": false
    },
    "vpc_region": {
      "description": "Use vpc instead. The VPC's region. Defaults to the region of the AWS provider.",
      "required": false
    },
    "vpcaws_route53_zone_association": {
    }
  },
  "path": "/docs/providers/aws/r/route53_zone.html",
  "properties": [
    "name",
    "comment",
    "delegation_set_id",
    "force_destroy",
    "tags",
    "vpcaws_route53_zone_association",
    "vpc_id",
    "vpc_region"
  ]
},
"aws_route53_zone_association": {
  "full_properties": {
    "vpc_id": {
      "description": "The VPC to associate with the private hosted zone.",
      "required": true
    },
    "vpc_region": {
      "description": "The VPC's region. Defaults to the region of the AWS provider.",
      "required": false
    },
    "zone_id": {
      "description": "The private hosted zone to associate.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/route53_zone_association.html",
  "properties": [
    "zone_id",
    "vpc_id",
    "vpc_region"
  ]
},
"aws_route_table": {
  "full_properties": {
    "propagating_vgws": {
      "description": "A list of virtual gateways for propagation.",
      "required": false
    },
    "route": {
      "description": "A list of route objects. Their keys are documented below.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The VPC ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/route_table.html",
  "properties": [
    "vpc_id",
    "route",
    "tags",
    "propagating_vgws"
  ]
},
"aws_route_table_association": {
  "full_properties": {
    "route_table_id": {
      "description": "The ID of the routing table to associate with.",
      "required": true
    },
    "subnet_id": {
      "description": "The subnet ID to create an association.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/route_table_association.html",
  "properties": [
    "subnet_id",
    "route_table_id"
  ]
},
"aws_s3_bucket": {
  "full_properties": {
    "acceleration_status": {
      "description": "Sets the accelerate configuration of an existing bucket. Can be Enabled or Suspended.",
      "required": false
    },
    "acl": {
      "description": "The canned ACL to apply. Defaults to \"private\".",
      "required": false
    },
    "bucket": {
      "description": "The name of the bucket. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "bucket_prefix": {
      "description": "Creates a unique bucket name beginning with the specified prefix. Conflicts with bucket.",
      "required": false
    },
    "cors_rule": {
      "description": "A rule of Cross-Origin Resource Sharing (documented below).",
      "required": false
    },
    "force_destroy": {
      "description": "A boolean that indicates all objects should be deleted from the bucket so that the bucket can be destroyed without error. These objects are not recoverable.",
      "required": false
    },
    "lifecycle_rule": {
      "description": "A configuration of object lifecycle management (documented below).",
      "required": false
    },
    "logging": {
      "description": "A settings of bucket logging (documented below).",
      "required": false
    },
    "policy": {
      "description": "A valid bucket policy JSON document. Note that if the policy document is not specific enough (but still valid), Terraform may view the policy as constantly changing in a terraform plan. In this case, please make sure you use the verbose/specific version of the policy. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": false
    },
    "region": {
      "description": "If specified, the AWS region this bucket should reside in. Otherwise, the region used by the callee.",
      "required": false
    },
    "replication_configuration": {
      "description": "A configuration of replication configuration (documented below).",
      "required": false
    },
    "request_payer": {
      "description": "Specifies who should bear the cost of Amazon S3 data transfer.",
      "required": false
    },
    "server_side_encryption_configuration": {
      "description": "A configuration of server-side encryption configuration (documented below)",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the bucket.",
      "required": false
    },
    "versioning": {
      "description": "A state of versioning (documented below)",
      "required": false
    },
    "website": {
      "description": "A website object (documented below).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/s3_bucket.html",
  "properties": [
    "bucket",
    "bucket_prefix",
    "acl",
    "policy",
    "tags",
    "force_destroy",
    "website",
    "cors_rule",
    "versioning",
    "logging",
    "lifecycle_rule",
    "acceleration_status",
    "region",
    "request_payer",
    "replication_configuration",
    "server_side_encryption_configuration"
  ]
},
"aws_s3_bucket_inventory": {
  "full_properties": {
    "bucket": {
      "description": "The name of the bucket to put inventory configuration.",
      "required": true
    },
    "destination": {
      "description": "Destination bucket where inventory list files are written (documented below).",
      "required": true
    },
    "enabled": {
      "description": "Specifies whether the inventory is enabled or disabled.",
      "required": false
    },
    "filter": {
      "description": "Object filtering that accepts a prefix (documented below).",
      "required": false
    },
    "included_object_versions": {
      "description": "Object filtering that accepts a prefix (documented below). Can be All or Current.",
      "required": true
    },
    "name": {
      "description": "Unique identifier of the inventory configuration for the bucket.",
      "required": true
    },
    "optional_fields": {
      "description": "Contains the optional fields that are included in the inventory results.",
      "required": false
    },
    "schedule": {
      "description": "Contains the frequency for generating inventory results (documented below).",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/s3_bucket_inventory.html",
  "properties": [
    "bucket",
    "name",
    "included_object_versions",
    "schedule",
    "destination",
    "enabled",
    "filter",
    "optional_fields"
  ]
},
"aws_s3_bucket_metric": {
  "full_properties": {
    "bucket": {
      "description": "The name of the bucket to put metric configuration.",
      "required": true
    },
    "filter": {
      "description": "Object filtering that accepts a prefix, tags, or a logical AND of prefix and tags (documented below).",
      "required": false
    },
    "name": {
      "description": "Unique identifier of the metrics configuration for the bucket.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/s3_bucket_metric.html",
  "properties": [
    "bucket",
    "name",
    "filter"
  ]
},
"aws_s3_bucket_notification": {
  "full_properties": {
    "bucket": {
      "description": "The name of the bucket to put notification configuration.",
      "required": true
    },
    "lambda_function": {
      "description": "Used to configure notifications to a Lambda Function (documented below).",
      "required": false
    },
    "queue": {
      "description": "The notification configuration to SQS Queue (documented below).",
      "required": false
    },
    "topic": {
      "description": "The notification configuration to SNS Topic (documented below).",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/s3_bucket_notification.html",
  "properties": [
    "bucket",
    "topic",
    "queue",
    "lambda_function"
  ]
},
"aws_s3_bucket_object": {
  "full_properties": {
    "acl": {
      "description": "The canned ACL to apply. Defaults to \"private\".",
      "required": false
    },
    "bucket": {
      "description": "The name of the bucket to put the file in.",
      "required": true
    },
    "cache_control": {
      "description": "Specifies caching behavior along the request/reply chain Read w3c cache_control for further details.",
      "required": false
    },
    "content": {
      "description": "Literal string value to use as the object content, which will be uploaded as UTF-8-encoded text.",
      "required": false
    },
    "content_base64": {
      "description": "Base64-encoded data that will be decoded and uploaded as raw bytes for the object content. This allows safely uploading non-UTF8 binary data, but is recommended only for small content such as the result of the gzipbase64 function with small text strings. For larger objects, use source to stream the content from a disk file.",
      "required": false
    },
    "content_disposition": {
      "description": "Specifies presentational information for the object. Read w3c content_disposition for further information.",
      "required": false
    },
    "content_encoding": {
      "description": "Specifies what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field. Read w3c content encoding for further information.",
      "required": false
    },
    "content_language": {
      "description": "The language the content is in e.g. en-US or en-GB.",
      "required": false
    },
    "content_type": {
      "description": "A standard MIME type describing the format of the object data, e.g. application/octet-stream. All Valid MIME Types are valid for this input.",
      "required": false
    },
    "etag": {
      "description": "Used to trigger updates. The only meaningful value is ${md5(file(\"path/to/file\"))}.",
      "required": false
    },
    "key": {
      "description": "The name of the object once it is in the bucket.",
      "required": true
    },
    "kms_key_id": {
      "description": "Specifies the AWS KMS Key ARN to use for object encryption.",
      "required": false
    },
    "server_side_encryption": {
      "description": "Specifies server-side encryption of the object in S3. Valid values are \"AES256\" and \"aws:kms\".",
      "required": false
    },
    "source": {
      "description": "The path to a file that will be read and uploaded as raw bytes for the object content.",
      "required": false
    },
    "storage_class": {
      "description": "Specifies the desired Storage Class",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the object.",
      "required": false
    },
    "website_redirect": {
      "description": "Specifies a target URL for website redirect.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/s3_bucket_object.html",
  "properties": [
    "bucket",
    "key",
    "source",
    "content",
    "content_base64",
    "acl",
    "cache_control",
    "content_disposition",
    "content_encoding",
    "content_language",
    "content_type",
    "website_redirect",
    "storage_class",
    "etag",
    "server_side_encryption",
    "kms_key_id",
    "tags"
  ]
},
"aws_s3_bucket_policy": {
  "full_properties": {
    "bucket": {
      "description": "The name of the bucket to which to apply the policy.",
      "required": true
    },
    "policy": {
      "description": "The text of the policy. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/s3_bucket_policy.html",
  "properties": [
    "bucket",
    "policy"
  ]
},
"aws_secretsmanager_secret": {
  "full_properties": {
    "description": {
      "description": "A description of the secret.",
      "required": false
    },
    "kms_key_id": {
      "description": "Specifies the ARN or alias of the AWS KMS customer master key (CMK) to be used to encrypt the secret values in the versions stored in this secret. If you don't specify this value, then Secrets Manager defaults to using the AWS account's default CMK (the one named aws/secretsmanager). If the default KMS CMK with that name doesn't yet exist, then AWS Secrets Manager creates it for you automatically the first time.",
      "required": false
    },
    "name": {
      "description": "Specifies the friendly name of the new secret. The secret name can consist of uppercase letters, lowercase letters, digits, and any of the following characters: /_+=.@- Conflicts with name_prefix.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "policy": {
      "description": "A valid JSON document representing a resource policy. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": false
    },
    "recovery_window_in_days": {
      "description": "Specifies the number of days that AWS Secrets Manager waits before it can delete the secret. This value can be 0 to force deletion without recovery or range from 7 to 30 days. The default value is 30.",
      "required": false
    },
    "rotation_lambda_arn": {
      "description": "Specifies the ARN of the Lambda function that can rotate the secret.",
      "required": false
    },
    "rotation_rules": {
      "description": "A structure that defines the rotation configuration for this secret. Defined below.",
      "required": false
    },
    "tags": {
      "description": "Specifies a key-value map of user-defined tags that are attached to the secret.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/secretsmanager_secret.html",
  "properties": [
    "name",
    "name_prefix",
    "description",
    "kms_key_id",
    "policy",
    "recovery_window_in_days",
    "rotation_lambda_arn",
    "rotation_rules",
    "tags"
  ]
},
"aws_secretsmanager_secret_version": {
  "full_properties": {
    "secret_binary": {
      "description": "Specifies binary data that you want to encrypt and store in this version of the secret. This is required if secret_string is not set. Needs to be encoded to base64.",
      "required": false
    },
    "secret_id": {
      "description": "Specifies the secret to which you want to add a new version. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret. The secret must already exist.",
      "required": true
    },
    "secret_string": {
      "description": "Specifies text data that you want to encrypt and store in this version of the secret. This is required if secret_binary is not set.",
      "required": false
    },
    "version_stages": {
      "description": "Specifies a list of staging labels that are attached to this version of the secret. A staging label must be unique to a single version of the secret. If you specify a staging label that's already associated with a different version of the same secret then that staging label is automatically removed from the other version and attached to this version. If you do not specify a value, then AWS Secrets Manager automatically moves the staging label AWSCURRENT to this new version on creation.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/secretsmanager_secret_version.html",
  "properties": [
    "secret_id",
    "secret_string",
    "secret_binary",
    "version_stages"
  ]
},
"aws_security_group": {
  "full_properties": {
    "description": {
      "description": "The security group description. Defaults to",
      "required": false
    },
    "egress": {
      "description": "Can be specified multiple times for each",
      "required": false
    },
    "ingress": {
      "description": "Can be specified multiple times for each",
      "required": false
    },
    "name": {
      "description": "The name of the security group. If omitted, Terraform will",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified",
      "required": false
    },
    "revoke_rules_on_delete": {
      "description": "Instruct Terraform to revoke all of the",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The VPC ID.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/security_group.html",
  "properties": [
    "name",
    "name_prefix",
    "description",
    "ingress",
    "egress",
    "revoke_rules_on_delete",
    "vpc_id",
    "tags"
  ]
},
"aws_security_group_rule": {
  "full_properties": {
    "cidr_blocks": {
      "description": "List of CIDR blocks. Cannot be specified with source_security_group_id.",
      "required": false
    },
    "description": {
      "description": "Description of the rule.",
      "required": false
    },
    "from_port": {
      "description": "The start port (or ICMP type number if protocol is \"icmp\").",
      "required": true
    },
    "ipv6_cidr_blocks": {
      "description": "List of IPv6 CIDR blocks.",
      "required": false
    },
    "prefix_list_ids": {
      "description": "List of prefix list IDs (for allowing access to VPC endpoints).",
      "required": false
    },
    "protocol": {
      "description": "The protocol. If not icmp, tcp, udp, or all use the protocol number",
      "required": true
    },
    "security_group_id": {
      "description": "The security group to apply this rule to.",
      "required": true
    },
    "self": {
      "description": "If true, the security group itself will be added as",
      "required": false
    },
    "source_security_group_id": {
      "description": "The security group id to allow access to/from,",
      "required": false
    },
    "to_port": {
      "description": "The end port (or ICMP code if protocol is \"icmp\").",
      "required": true
    },
    "type": {
      "description": "The type of rule being created. Valid options are ingress (inbound)",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/security_group_rule.html",
  "properties": [
    "type",
    "cidr_blocks",
    "ipv6_cidr_blocks",
    "prefix_list_ids",
    "from_port",
    "protocol",
    "security_group_id",
    "source_security_group_id",
    "self",
    "to_port",
    "description"
  ]
},
"aws_service_discovery_private_dns_namespace": {
  "full_properties": {
    "description": {
      "description": "The description that you specify for the namespace when you create it.",
      "required": false
    },
    "name": {
      "description": "The name of the namespace.",
      "required": true
    },
    "vpc": {
      "description": "The ID of VPC that you want to associate the namespace with.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/service_discovery_private_dns_namespace.html",
  "properties": [
    "name",
    "vpc",
    "description"
  ]
},
"aws_service_discovery_public_dns_namespace": {
  "full_properties": {
    "description": {
      "description": "The description that you specify for the namespace when you create it.",
      "required": false
    },
    "name": {
      "description": "The name of the namespace.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/service_discovery_public_dns_namespace.html",
  "properties": [
    "name",
    "description"
  ]
},
"aws_service_discovery_service": {
  "full_properties": {
    "description": {
      "description": "The description of the service.",
      "required": false
    },
    "dns_config": {
      "description": "A complex type that contains information about the resource record sets that you want Amazon Route 53 to create when you register an instance.",
      "required": true
    },
    "health_check_config": {
      "description": "A complex type that contains settings for an optional health check. Only for Public DNS namespaces.",
      "required": false
    },
    "health_check_custom_config": {
      "description": "A complex type that contains settings for ECS managed health checks.",
      "required": false
    },
    "name": {
      "description": "The name of the service.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/service_discovery_service.html",
  "properties": [
    "name",
    "description",
    "dns_config",
    "health_check_config",
    "health_check_custom_config"
  ]
},
"aws_servicecatalog_portfolio": {
  "full_properties": {
    "description": {
      "description": "Description of the portfolio",
      "required": true
    },
    "name": {
      "description": "The name of the portfolio.",
      "required": true
    },
    "provider_name": {
      "description": "Name of the person or organization who owns the portfolio.",
      "required": true
    },
    "tags": {
      "description": "Tags to apply to the connection.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/servicecatalog_portfolio.html",
  "properties": [
    "name",
    "description",
    "provider_name",
    "tags"
  ]
},
"aws_ses_active_receipt_rule_set": {
  "full_properties": {
    "rule_set_name": {
      "description": "The name of the rule set",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_active_receipt_rule_set.html",
  "properties": [
    "rule_set_name"
  ]
},
"aws_ses_configuration_set": {
  "full_properties": {
    "name": {
      "description": "The name of the configuration set",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_configuration_set.html",
  "properties": [
    "name"
  ]
},
"aws_ses_domain_dkim": {
  "full_properties": {
    "domain": {
      "description": "Verified domain name to generate DKIM tokens for.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_domain_dkim.html",
  "properties": [
    "domain"
  ]
},
"aws_ses_domain_identity": {
  "full_properties": {
    "domain": {
      "description": "The domain name to assign to SES",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_domain_identity.html",
  "properties": [
    "domain"
  ]
},
"aws_ses_domain_identity_verification": {
  "full_properties": {
    "domain": {
      "description": "The domain name of the SES domain identity to verify.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_domain_identity_verification.html",
  "properties": [
    "domain"
  ]
},
"aws_ses_domain_mail_from": {
  "full_properties": {
    "domain": {
      "description": "Verified domain name to generate DKIM tokens for.",
      "required": true
    },
    "mail_from_domain": {
      "description": "Subdomain (of above domain) which is to be used as MAIL FROM address (Required for DMARC validation)",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_domain_mail_from.html",
  "properties": [
    "domain",
    "mail_from_domain"
  ]
},
"aws_ses_event_destination": {
  "full_properties": {
    "cloudwatch_destination": {
      "description": "CloudWatch destination for the events",
      "required": false
    },
    "configuration_set_name": {
      "description": "The name of the configuration set",
      "required": true
    },
    "enabled": {
      "description": "If true, the event destination will be enabled",
      "required": false
    },
    "kinesis_destination": {
      "description": "Send the events to a kinesis firehose destination",
      "required": false
    },
    "matching_types": {
      "description": "A list of matching types. May be any of \"send\", \"reject\", \"bounce\", \"complaint\", \"delivery\", \"open\", \"click\", or \"renderingFailure\".",
      "required": true
    },
    "name": {
      "description": "The name of the event destination",
      "required": true
    },
    "sns_destination": {
      "description": "Send the events to an SNS Topic destination",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ses_event_destination.html",
  "properties": [
    "name",
    "configuration_set_name",
    "enabled",
    "matching_types",
    "cloudwatch_destination",
    "kinesis_destination",
    "sns_destination"
  ]
},
"aws_ses_receipt_filter": {
  "full_properties": {
    "cidr": {
      "description": "The IP address or address range to filter, in CIDR notation",
      "required": true
    },
    "name": {
      "description": "The name of the filter",
      "required": true
    },
    "policy": {
      "description": "Block or Allow",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_receipt_filter.html",
  "properties": [
    "name",
    "cidr",
    "policy"
  ]
},
"aws_ses_receipt_rule": {
  "full_properties": {
    "add_header_action": {
      "description": "A list of Add Header Action blocks. Documented below.",
      "required": false
    },
    "after": {
      "description": "The name of the rule to place this rule after",
      "required": false
    },
    "bounce_action": {
      "description": "A list of Bounce Action blocks. Documented below.",
      "required": false
    },
    "enabled": {
      "description": "If true, the rule will be enabled",
      "required": false
    },
    "lambda_action": {
      "description": "A list of Lambda Action blocks. Documented below.",
      "required": false
    },
    "name": {
      "description": "The name of the rule",
      "required": true
    },
    "recipients": {
      "description": "A list of email addresses",
      "required": false
    },
    "rule_set_name": {
      "description": "The name of the rule set",
      "required": true
    },
    "s3_action": {
      "description": "A list of S3 Action blocks. Documented below.",
      "required": false
    },
    "scan_enabled": {
      "description": "If true, incoming emails will be scanned for spam and viruses",
      "required": false
    },
    "sns_action": {
      "description": "A list of SNS Action blocks. Documented below.",
      "required": false
    },
    "stop_action": {
      "description": "A list of Stop Action blocks. Documented below.",
      "required": false
    },
    "tls_policy": {
      "description": "Require or Optional",
      "required": false
    },
    "workmail_action": {
      "description": "A list of WorkMail Action blocks. Documented below.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ses_receipt_rule.html",
  "properties": [
    "name",
    "rule_set_name",
    "after",
    "enabled",
    "recipients",
    "scan_enabled",
    "tls_policy",
    "add_header_action",
    "bounce_action",
    "lambda_action",
    "s3_action",
    "sns_action",
    "stop_action",
    "workmail_action"
  ]
},
"aws_ses_receipt_rule_set": {
  "full_properties": {
    "rule_set_name": {
      "description": "The name of the rule set",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ses_receipt_rule_set.html",
  "properties": [
    "rule_set_name"
  ]
},
"aws_ses_template": {
  "full_properties": {
    "html": {
      "description": "The HTML body of the email. Must be less than 500KB in size, including both the text and HTML parts.",
      "required": false
    },
    "name": {
      "description": "The name of the template. Cannot exceed 64 characters. You will refer to this name when you send email.",
      "required": true
    },
    "subject": {
      "description": "The subject line of the email.",
      "required": false
    },
    "text": {
      "description": "The email body that will be visible to recipients whose email clients do not display HTML. Must be less than 500KB in size, including both the text and HTML parts.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ses_template.html",
  "properties": [
    "name",
    "html",
    "subject",
    "text"
  ]
},
"aws_simpledb_domain": {
  "full_properties": {
    "name": {
      "description": "The name of the SimpleDB domain",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/simpledb_domain.html",
  "properties": [
    "name"
  ]
},
"aws_snapshot_create_volume_permission": {
  "full_properties": {
    "account_id": {
      "description": "An AWS Account ID to add create volume permissions",
      "required": true
    },
    "snapshot_id": {
      "description": "A snapshot ID",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/snapshot_create_volume_permission.html",
  "properties": [
    "snapshot_id",
    "account_id"
  ]
},
"aws_sns_platform_application": {
  "full_properties": {
    "event_delivery_failure_topic_arn": {
      "description": "SNS Topic triggered when a delivery to any of the platform endpoints associated with your platform application encounters a permanent failure.",
      "required": false
    },
    "event_endpoint_created_topic_arn": {
      "description": "SNS Topic triggered when a new platform endpoint is added to your platform application.",
      "required": false
    },
    "event_endpoint_deleted_topic_arn": {
      "description": "SNS Topic triggered when an existing platform endpoint is deleted from your platform application.",
      "required": false
    },
    "event_endpoint_updated_topic_arn": {
      "description": "SNS Topic triggered when an existing platform endpoint is changed from your platform application.",
      "required": false
    },
    "failure_feedback_role_arn": {
      "description": "The IAM role permitted to receive failure feedback for this application.",
      "required": false
    },
    "name": {
      "description": "The friendly name for the SNS platform application",
      "required": true
    },
    "platform": {
      "description": "The platform that the app is registered with. See Platform for supported platforms.",
      "required": true
    },
    "platform_credential": {
      "description": "Application Platform credential. See Credential for type of credential required for platform. The value of this attribute when stored into the Terraform state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.",
      "required": true
    },
    "platform_principal": {
      "description": "Application Platform principal. See Principal for type of principal required for platform. The value of this attribute when stored into the Terraform state is only a hash of the real value, so therefore it is not practical to use this as an attribute for other resources.",
      "required": false
    },
    "success_feedback_role_arn": {
      "description": "The IAM role permitted to receive success feedback for this application.",
      "required": false
    },
    "success_feedback_sample_rate": {
      "description": "The percentage of success to sample (0-100)",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/sns_platform_application.html",
  "properties": [
    "name",
    "platform",
    "platform_credential",
    "event_delivery_failure_topic_arn",
    "event_endpoint_created_topic_arn",
    "event_endpoint_deleted_topic_arn",
    "event_endpoint_updated_topic_arn",
    "failure_feedback_role_arn",
    "platform_principal",
    "success_feedback_role_arn",
    "success_feedback_sample_rate"
  ]
},
"aws_sns_sms_preferences": {
  "full_properties": {
    "default_sender_id": {
      "description": "A string, such as your business brand, that is displayed as the sender on the receiving device.",
      "required": false
    },
    "default_sms_type": {
      "description": "The type of SMS message that you will send by default. Possible values are: Promotional, Transactional",
      "required": false
    },
    "delivery_status_iam_role_arn": {
      "description": "The ARN of the IAM role that allows Amazon SNS to write logs about SMS deliveries in CloudWatch Logs.",
      "required": false
    },
    "delivery_status_success_sampling_rate": {
      "description": "The percentage of successful SMS deliveries for which Amazon SNS will write logs in CloudWatch Logs. The value must be between 0 and 100.",
      "required": false
    },
    "monthly_spend_limit": {
      "description": "The maximum amount in USD that you are willing to spend each month to send SMS messages.",
      "required": false
    },
    "usage_report_s3_bucket": {
      "description": "The name of the Amazon S3 bucket to receive daily SMS usage reports from Amazon SNS.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/sns_sms_preferences.html",
  "properties": [
    "monthly_spend_limit",
    "delivery_status_iam_role_arn",
    "delivery_status_success_sampling_rate",
    "default_sender_id",
    "default_sms_type",
    "usage_report_s3_bucket"
  ]
},
"aws_sns_topic": {
  "full_properties": {
    "application_failure_feedback_role_arn": {
      "description": "IAM role for failure feedback",
      "required": false
    },
    "application_success_feedback_role_arn": {
      "description": "The IAM role permitted to receive success feedback for this topic",
      "required": false
    },
    "application_success_feedback_sample_rate": {
      "description": "Percentage of success to sample",
      "required": false
    },
    "delivery_policy": {
      "description": "The SNS delivery policy. More on AWS documentation",
      "required": false
    },
    "display_name": {
      "description": "The display name for the SNS topic",
      "required": false
    },
    "http_failure_feedback_role_arn": {
      "description": "IAM role for failure feedback",
      "required": false
    },
    "http_success_feedback_role_arn": {
      "description": "The IAM role permitted to receive success feedback for this topic",
      "required": false
    },
    "http_success_feedback_sample_rate": {
      "description": "Percentage of success to sample",
      "required": false
    },
    "lambda_failure_feedback_role_arn": {
      "description": "IAM role for failure feedback",
      "required": false
    },
    "lambda_success_feedback_role_arn": {
      "description": "The IAM role permitted to receive success feedback for this topic",
      "required": false
    },
    "lambda_success_feedback_sample_rate": {
      "description": "Percentage of success to sample",
      "required": false
    },
    "name": {
      "description": "The friendly name for the SNS topic. By default generated by Terraform.",
      "required": false
    },
    "name_prefix": {
      "description": "The friendly name for the SNS topic. Conflicts with name.",
      "required": false
    },
    "policy": {
      "description": "The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": false
    },
    "sqs_failure_feedback_role_arn": {
      "description": "IAM role for failure feedback",
      "required": false
    },
    "sqs_success_feedback_role_arn": {
      "description": "The IAM role permitted to receive success feedback for this topic",
      "required": false
    },
    "sqs_success_feedback_sample_rate": {
      "description": "Percentage of success to sample",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/sns_topic.html",
  "properties": [
    "name",
    "name_prefix",
    "display_name",
    "policy",
    "delivery_policy",
    "application_success_feedback_role_arn",
    "application_success_feedback_sample_rate",
    "application_failure_feedback_role_arn",
    "http_success_feedback_role_arn",
    "http_success_feedback_sample_rate",
    "http_failure_feedback_role_arn",
    "lambda_success_feedback_role_arn",
    "lambda_success_feedback_sample_rate",
    "lambda_failure_feedback_role_arn",
    "sqs_success_feedback_role_arn",
    "sqs_success_feedback_sample_rate",
    "sqs_failure_feedback_role_arn"
  ]
},
"aws_sns_topic_policy": {
  "full_properties": {
    "arn": {
      "description": "The ARN of the SNS topic",
      "required": true
    },
    "policy": {
      "description": "The fully-formed AWS policy as JSON. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/sns_topic_policy.html",
  "properties": [
    "arn",
    "policy"
  ]
},
"aws_sns_topic_subscription": {
  "full_properties": {
    "confirmation_timeout_in_minutes": {
      "description": "Integer indicating number of minutes to wait in retying mode for fetching subscription arn before marking it as failure. Only applicable for http and https protocols (default is 1 minute).",
      "required": false
    },
    "delivery_policy": {
      "description": "JSON String with the delivery policy (retries, backoff, etc.) that will be used in the subscription - this only applies to HTTP/S subscriptions. Refer to the SNS docs for more details.",
      "required": false
    },
    "endpoint": {
      "description": "The endpoint to send data to, the contents will vary with the protocol. (see below for more information)",
      "required": true
    },
    "endpoint_auto_confirms": {
      "description": "Boolean indicating whether the end point is capable of auto confirming subscription e.g., PagerDuty (default is false)",
      "required": false
    },
    "filter_policy": {
      "description": "JSON String with the filter policy that will be used in the subscription to filter messages seen by the target resource. Refer to the SNS docs for more details.",
      "required": false
    },
    "protocol": {
      "description": "The protocol to use. The possible values for this are: sqs, sms, lambda, application. (http or https are partially supported, see below) (email is option but unsupported, see below).",
      "required": true
    },
    "raw_message_delivery": {
      "description": "Boolean indicating whether or not to enable raw message delivery (the original message is directly passed, not wrapped in JSON with the original message in the message property) (default is false).",
      "required": false
    },
    "topic_arn": {
      "description": "The ARN of the SNS topic to subscribe to",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/sns_topic_subscription.html",
  "properties": [
    "topic_arn",
    "protocol",
    "endpoint",
    "endpoint_auto_confirms",
    "confirmation_timeout_in_minutes",
    "raw_message_delivery",
    "filter_policy",
    "delivery_policy"
  ]
},
"aws_spot_datafeed_subscription": {
  "full_properties": {
    "bucket": {
      "description": "The Amazon S3 bucket in which to store the Spot instance data feed.",
      "required": true
    },
    "prefix": {
      "description": "Path of folder inside bucket to place spot pricing data.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/spot_datafeed_subscription.html",
  "properties": [
    "bucket",
    "prefix"
  ]
},
"aws_spot_fleet_request": {
  "full_properties": {
    "allocation_strategy": {
      "description": "Indicates how to allocate the target capacity across",
      "required": false
    },
    "excess_capacity_termination_policy": {
      "description": "Indicates whether running Spot",
      "required": false
    },
    "fleet_type": {
      "description": "The type of fleet request. Indicates whether the Spot Fleet only requests the target",
      "required": false
    },
    "iam_fleet_role": {
      "description": "Grants the Spot fleet permission to terminate",
      "required": true
    },
    "instance_interruption_behaviour": {
      "description": "Indicates whether a Spot",
      "required": false
    },
    "instance_pools_to_use_count": {
      "description": "The number of Spot pools across which to allocate your target Spot capacity. ",
      "required": false
    },
    "launch_specificationaws_instanceaws_instance": {
    },
    "load_balancers": {
      "description": "A list of elastic load balancer names to add to the Spot fleet.",
      "required": false
    },
    "replace_unhealthy_instances": {
      "description": "Indicates whether Spot fleet should replace unhealthy instances. Default false.",
      "required": false
    },
    "spot_price": {
      "description": "The maximum bid price per unit hour.",
      "required": false
    },
    "target_capacity": {
      "description": "The number of units to request. You can choose to set the",
      "required": false
    },
    "target_group_arns": {
      "description": "A list of aws_alb_target_group ARNs, for use with",
      "required": false
    },
    "terminate_instances_with_expiration": {
      "description": "Indicates whether running Spot",
      "required": false
    },
    "valid_from": {
      "description": "The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.",
      "required": false
    },
    "valid_until": {
      "description": "The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. Defaults to 24 hours.",
      "required": false
    },
    "wait_for_fulfillment": {
      "description": "If set, Terraform will",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/spot_fleet_request.html",
  "properties": [
    "iam_fleet_role",
    "replace_unhealthy_instances",
    "launch_specificationaws_instanceaws_instance",
    "spot_price",
    "wait_for_fulfillment",
    "target_capacity",
    "allocation_strategy",
    "instance_pools_to_use_count",
    "excess_capacity_termination_policy",
    "terminate_instances_with_expiration",
    "instance_interruption_behaviour",
    "fleet_type",
    "valid_until",
    "valid_from",
    "load_balancers",
    "target_group_arns"
  ]
},
"aws_spot_instance_request": {
  "full_properties": {
    "block_duration_minutes": {
      "description": "The required duration for the Spot instances, in minutes. This value must be a multiple of 60 (60, 120, 180, 240, 300, or 360).",
      "required": false
    },
    "instance_interruption_behaviour": {
      "description": "Indicates whether a Spot instance stops or terminates when it is interrupted. Default is terminate as this is the current AWS behaviour.",
      "required": false
    },
    "launch_group": {
      "description": "A launch group is a group of spot instances that launch together and terminate together.",
      "required": false
    },
    "spot_price": {
      "description": "The maximum price to request on the spot market.",
      "required": false
    },
    "spot_type": {
      "description": "If set to one-time, after",
      "required": false
    },
    "valid_from": {
      "description": "The start date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). The default is to start fulfilling the request immediately.",
      "required": false
    },
    "valid_until": {
      "description": "The end date and time of the request, in UTC RFC3339 format(for example, YYYY-MM-DDTHH:MM:SSZ). At this point, no new Spot instance requests are placed or enabled to fulfill the request. The default end date is 7 days from the current date.",
      "required": false
    },
    "wait_for_fulfillment": {
      "description": "If set, Terraform will",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/spot_instance_request.html",
  "properties": [
    "spot_price",
    "wait_for_fulfillment",
    "spot_type",
    "launch_group",
    "block_duration_minutes",
    "instance_interruption_behaviour",
    "valid_until",
    "valid_from"
  ]
},
"aws_sqs_queue": {
  "full_properties": {
    "content_based_deduplication": {
      "description": "Enables content-based deduplication for FIFO queues. For more information, see the related documentation",
      "required": false
    },
    "delay_seconds": {
      "description": "The time in seconds that the delivery of all messages in the queue will be delayed. An integer from 0 to 900 (15 minutes). The default for this attribute is 0 seconds.",
      "required": false
    },
    "fifo_queue": {
      "description": "Boolean designating a FIFO queue. If not set, it defaults to false making it standard.",
      "required": false
    },
    "kms_data_key_reuse_period_seconds": {
      "description": "The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). The default is 300 (5 minutes).",
      "required": false
    },
    "kms_master_key_id": {
      "description": "The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. For more information, see Key Terms.",
      "required": false
    },
    "max_message_size": {
      "description": "The limit of how many bytes a message can contain before Amazon SQS rejects it. An integer from 1024 bytes (1 KiB) up to 262144 bytes (256 KiB). The default for this attribute is 262144 (256 KiB).",
      "required": false
    },
    "message_retention_seconds": {
      "description": "The number of seconds Amazon SQS retains a message. Integer representing seconds, from 60 (1 minute) to 1209600 (14 days). The default for this attribute is 345600 (4 days).",
      "required": false
    },
    "name": {
      "description": "This is the human-readable name of the queue. If omitted, Terraform will assign a random name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "policy": {
      "description": "The JSON policy for the SQS queue. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": false
    },
    "receive_wait_time_seconds": {
      "description": "The time for which a ReceiveMessage call will wait for a message to arrive (long polling) before returning. An integer from 0 to 20 (seconds). The default for this attribute is 0, meaning that the call will return immediately.",
      "required": false
    },
    "redrive_policy": {
      "description": "The JSON policy to set up the Dead Letter Queue, see AWS docs. Note: when specifying maxReceiveCount, you must specify it as an integer (5), and not a string (\"5\").",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the queue.",
      "required": false
    },
    "visibility_timeout_seconds": {
      "description": "The visibility timeout for the queue. An integer from 0 to 43200 (12 hours). The default for this attribute is 30. For more information about visibility timeout, see AWS docs.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/sqs_queue.html",
  "properties": [
    "name",
    "name_prefix",
    "visibility_timeout_seconds",
    "message_retention_seconds",
    "max_message_size",
    "delay_seconds",
    "receive_wait_time_seconds",
    "policy",
    "redrive_policy",
    "fifo_queue",
    "content_based_deduplication",
    "kms_master_key_id",
    "kms_data_key_reuse_period_seconds",
    "tags"
  ]
},
"aws_sqs_queue_policy": {
  "full_properties": {
    "policy": {
      "description": "The JSON policy for the SQS queue. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": true
    },
    "queue_url": {
      "description": "The URL of the SQS Queue to which to attach the policy",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/sqs_queue_policy.html",
  "properties": [
    "queue_url",
    "policy"
  ]
},
"aws_ssm_activation": {
  "full_properties": {
    "description": {
      "description": "The description of the resource that you want to register.",
      "required": false
    },
    "expiration_date": {
      "description": "A timestamp in RFC3339 format by which this activation request should expire. The default value is 24 hours from resource creation time.",
      "required": false
    },
    "iam_role": {
      "description": "The IAM Role to attach to the managed instance.",
      "required": true
    },
    "name": {
      "description": "The default name of the registered managed instance.",
      "required": false
    },
    "registration_limit": {
      "description": "The maximum number of managed instances you want to register. The default value is 1 instance.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ssm_activation.html",
  "properties": [
    "name",
    "description",
    "expiration_date",
    "iam_role",
    "registration_limit"
  ]
},
"aws_ssm_association": {
  "full_properties": {
    "association_name": {
      "description": "The descriptive name for the association.",
      "required": false
    },
    "document_version": {
      "description": "The document version you want to associate with the target(s). Can be a specific version or the default version.",
      "required": false
    },
    "instance_id": {
      "description": "The instance ID to apply an SSM document to. Use targets with key InstanceIds for document schema versions 2.0 and above.",
      "required": false
    },
    "name": {
      "description": "The name of the SSM document to apply.",
      "required": true
    },
    "output_location": {
      "description": "An output location block. Output Location is documented below.",
      "required": false
    },
    "parameters": {
      "description": "A block of arbitrary string parameters to pass to the SSM document.",
      "required": false
    },
    "schedule_expression": {
      "description": "A cron expression when the association will be applied to the target(s).",
      "required": false
    },
    "targets": {
      "description": "A block containing the targets of the SSM association. Targets are documented below. AWS currently supports a maximum of 5 targets.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ssm_association.html",
  "properties": [
    "name",
    "association_name",
    "document_version",
    "instance_id",
    "output_location",
    "parameters",
    "schedule_expression",
    "targets"
  ]
},
"aws_ssm_document": {
  "full_properties": {
    "content": {
      "description": "The JSON or YAML content of the document.",
      "required": true
    },
    "document_format": {
      "description": "The format of the document. Valid document types include: JSON and YAML",
      "required": false
    },
    "document_type": {
      "description": "The type of the document. Valid document types include: Command, Policy, Automation and Session",
      "required": true
    },
    "name": {
      "description": "The name of the document.",
      "required": true
    },
    "permissions": {
      "description": "Additional Permissions to attach to the document. See Permissions below for details.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the object.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ssm_document.html",
  "properties": [
    "name",
    "content",
    "document_format",
    "document_type",
    "permissions",
    "tags"
  ]
},
"aws_ssm_maintenance_window": {
  "full_properties": {
    "allow_unassociated_targets": {
      "description": "Whether targets must be registered with the Maintenance Window before tasks can be defined for those targets.",
      "required": false
    },
    "cutoff": {
      "description": "The number of hours before the end of the Maintenance Window that Systems Manager stops scheduling new tasks for execution.",
      "required": true
    },
    "duration": {
      "description": "The duration of the Maintenance Window in hours.",
      "required": true
    },
    "name": {
      "description": "The name of the maintenance window.",
      "required": true
    },
    "schedule": {
      "description": "The schedule of the Maintenance Window in the form of a cron or rate expression.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ssm_maintenance_window.html",
  "properties": [
    "name",
    "schedule",
    "cutoff",
    "duration",
    "allow_unassociated_targets"
  ]
},
"aws_ssm_maintenance_window_target": {
  "full_properties": {
    "owner_information": {
      "description": "User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.",
      "required": false
    },
    "resource_type": {
      "description": "The type of target being registered with the Maintenance Window. Possible values INSTANCE.",
      "required": true
    },
    "targets": {
      "description": "The targets (either instances or tags). Instances are specified using Key=instanceids,Values=instanceid1,instanceid2. Tags are specified using Key=tag name,Values=tag value.",
      "required": true
    },
    "window_id": {
      "description": "The Id of the maintenance window to register the target with.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ssm_maintenance_window_target.html",
  "properties": [
    "window_id",
    "resource_type",
    "targets",
    "owner_information"
  ]
},
"aws_ssm_maintenance_window_task": {
  "full_properties": {
    "description": {
      "description": "The description of the maintenance window task.",
      "required": false
    },
    "logging_info": {
      "description": "A structure containing information about an Amazon S3 bucket to write instance-level logs to. Documented below.",
      "required": false
    },
    "max_concurrency": {
      "description": "The maximum number of targets this task can be run for in parallel.",
      "required": true
    },
    "max_errors": {
      "description": "The maximum number of errors allowed before this task stops being scheduled.",
      "required": true
    },
    "name": {
      "description": "The name of the maintenance window task.",
      "required": false
    },
    "priority": {
      "description": "The priority of the task in the Maintenance Window, the lower the number the higher the priority. Tasks in a Maintenance Window are scheduled in priority order with tasks that have the same priority scheduled in parallel.",
      "required": false
    },
    "service_role_arn": {
      "description": "The role that should be assumed when executing the task.",
      "required": true
    },
    "targets": {
      "description": "The targets (either instances or window target ids). Instances are specified using Key=InstanceIds,Values=instanceid1,instanceid2. Window target ids are specified using Key=WindowTargetIds,Values=window target id1, window target id2.",
      "required": true
    },
    "task_arn": {
      "description": "The ARN of the task to execute.",
      "required": true
    },
    "task_parameters": {
      "description": "A structure containing information about parameters required by the particular task_arn. Documented below.",
      "required": false
    },
    "task_type": {
      "description": "The type of task being registered. The only allowed value is RUN_COMMAND.",
      "required": true
    },
    "window_id": {
      "description": "The Id of the maintenance window to register the task with.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ssm_maintenance_window_task.html",
  "properties": [
    "window_id",
    "max_concurrency",
    "max_errors",
    "task_type",
    "task_arn",
    "service_role_arn",
    "name",
    "description",
    "targets",
    "priority",
    "logging_info",
    "task_parameters"
  ]
},
"aws_ssm_parameter": {
  "full_properties": {
    "allowed_pattern": {
      "description": "A regular expression used to validate the parameter value.",
      "required": false
    },
    "description": {
      "description": "The description of the parameter.",
      "required": false
    },
    "key_id": {
      "description": "The KMS key id or arn for encrypting a SecureString.",
      "required": false
    },
    "name": {
      "description": "The name of the parameter.",
      "required": true
    },
    "overwrite": {
      "description": "Overwrite an existing parameter. If not specified, will default to false if the resource has not been created by terraform to avoid overwrite of existing resource and will default to true otherwise (terraform lifecycle rules should then be used to manage the update behavior).",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the object.",
      "required": false
    },
    "type": {
      "description": "The type of the parameter. Valid types are String, StringList and SecureString.",
      "required": true
    },
    "value": {
      "description": "The value of the parameter.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ssm_parameter.html",
  "properties": [
    "name",
    "type",
    "value",
    "description",
    "key_id",
    "overwrite",
    "allowed_pattern",
    "tags"
  ]
},
"aws_ssm_patch_baseline": {
  "full_properties": {
    "approval_rule": {
      "description": "A set of rules used to include patches in the baseline. up to 10 approval rules can be specified. Each approval_rule block requires the fields documented below.",
      "required": false
    },
    "approved_patches": {
      "description": "A list of explicitly approved patches for the baseline.",
      "required": false
    },
    "approved_patches_compliance_level": {
      "description": "Defines the compliance level for approved patches. This means that if an approved patch is reported as missing, this is the severity of the compliance violation. Valid compliance levels include the following: CRITICAL, HIGH, MEDIUM, LOW, INFORMATIONAL, UNSPECIFIED. The default value is UNSPECIFIED.",
      "required": false
    },
    "description": {
      "description": "The description of the patch baseline.",
      "required": false
    },
    "global_filter": {
      "description": "A set of global filters used to exclude patches from the baseline. Up to 4 global filters can be specified using Key/Value pairs. Valid Keys are PRODUCT | CLASSIFICATION | MSRC_SEVERITY | PATCH_ID.",
      "required": false
    },
    "name": {
      "description": "The name of the patch baseline.",
      "required": true
    },
    "operating_system": {
      "description": "Defines the operating system the patch baseline applies to. Supported operating systems include WINDOWS, AMAZON_LINUX, AMAZON_LINUX_2, SUSE, UBUNTU, CENTOS, and REDHAT_ENTERPRISE_LINUX. The Default value is WINDOWS.",
      "required": false
    },
    "rejected_patches": {
      "description": "A list of rejected patches.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/ssm_patch_baseline.html",
  "properties": [
    "name",
    "description",
    "operating_system",
    "approved_patches_compliance_level",
    "approved_patches",
    "rejected_patches",
    "global_filter",
    "approval_rule"
  ]
},
"aws_ssm_patch_group": {
  "full_properties": {
    "baseline_id": {
      "description": "The ID of the patch baseline to register the patch group with.",
      "required": true
    },
    "patch_group": {
      "description": "The name of the patch group that should be registered with the patch baseline.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ssm_patch_group.html",
  "properties": [
    "baseline_id",
    "patch_group"
  ]
},
"aws_ssm_resource_data_sync": {
  "full_properties": {
    "name": {
      "description": "Name for the configuration.",
      "required": true
    },
    "s3_destination": {
      "description": "Amazon S3 configuration details for the sync.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/ssm_resource_data_sync.html",
  "properties": [
    "name",
    "s3_destination"
  ]
},
"aws_storagegateway_cache": {
  "full_properties": {
    "disk_id": {
      "description": "Local disk identifier. For example, pci-0000:03:00.0-scsi-0:0:0:0.",
      "required": true
    },
    "gateway_arn": {
      "description": "The Amazon Resource Name (ARN) of the gateway.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_cache.html",
  "properties": [
    "disk_id",
    "gateway_arn"
  ]
},
"aws_storagegateway_cached_iscsi_volume": {
  "full_properties": {
    "gateway_arn": {
      "description": "The Amazon Resource Name (ARN) of the gateway.",
      "required": true
    },
    "network_interface_id": {
      "description": "The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted.",
      "required": true
    },
    "snapshot_id": {
      "description": "The snapshot ID of the snapshot to restore as the new cached volume. e.g. snap-1122aabb.",
      "required": false
    },
    "source_volume_arn": {
      "description": "The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume's latest recovery point. The volume_size_in_bytes value for this new volume must be equal to or larger than the size of the existing volume, in bytes.",
      "required": false
    },
    "target_name": {
      "description": "The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. The target name must be unique across all volumes of a gateway.",
      "required": true
    },
    "volume_size_in_bytes": {
      "description": "The size of the volume in bytes.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_cached_iscsi_volume.html",
  "properties": [
    "gateway_arn",
    "network_interface_id",
    "target_name",
    "volume_size_in_bytes",
    "snapshot_id",
    "source_volume_arn"
  ]
},
"aws_storagegateway_gateway": {
  "full_properties": {
    "activation_key": {
      "description": "Gateway activation key during resource creation. Conflicts with gateway_ip_address. Additional information is available in the Storage Gateway User Guide.",
      "required": false
    },
    "gateway_ip_address": {
      "description": "Gateway IP address to retrieve activation key during resource creation. Conflicts with activation_key. Gateway must be accessible on port 80 from where Terraform is running. Additional information is available in the Storage Gateway User Guide.",
      "required": false
    },
    "gateway_name": {
      "description": "Name of the gateway.",
      "required": true
    },
    "gateway_timezone": {
      "description": "Time zone for the gateway. The time zone is of the format \"GMT\", \"GMT-hr:mm\", or \"GMT+hr:mm\". For example, GMT-4:00 indicates the time is 4 hours behind GMT. The time zone is used, for example, for scheduling snapshots and your gateway's maintenance schedule.",
      "required": true
    },
    "gateway_type": {
      "description": "Type of the gateway. The default value is STORED. Valid values: CACHED, FILE_S3, STORED, VTL.",
      "required": false
    },
    "media_changer_type": {
      "description": "Type of medium changer to use for tape gateway. Terraform cannot detect drift of this argument. Valid values: STK-L700, AWS-Gateway-VTL.",
      "required": false
    },
    "smb_active_directory_settings": {
      "description": "Nested argument with Active Directory domain join information for Server Message Block (SMB) file shares. Only valid for FILE_S3 gateway type. Must be set before creating ActiveDirectory authentication SMB file shares. More details below.",
      "required": false
    },
    "smb_guest_password": {
      "description": "Guest password for Server Message Block (SMB) file shares. Only valid for FILE_S3 gateway type. Must be set before creating GuestAccess authentication SMB file shares. Terraform can only detect drift of the existence of a guest password, not its actual value from the gateway. Terraform can however update the password with changing the argument.",
      "required": false
    },
    "tape_drive_type": {
      "description": "Type of tape drive to use for tape gateway. Terraform cannot detect drift of this argument. Valid values: IBM-ULT3580-TD5.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_gateway.html",
  "properties": [
    "gateway_name",
    "gateway_timezone",
    "activation_key",
    "gateway_ip_address",
    "gateway_type",
    "media_changer_type",
    "smb_active_directory_settings",
    "smb_guest_password",
    "tape_drive_type"
  ]
},
"aws_storagegateway_nfs_file_share": {
  "full_properties": {
    "client_list": {
      "description": "The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks. Set to [\"0.0.0.0/0\"] to not limit access. Minimum 1 item. Maximum 100 items.",
      "required": true
    },
    "default_storage_class": {
      "description": "The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to S3_STANDARD. Valid values: S3_STANDARD, S3_STANDARD_IA, S3_ONEZONE_IA.",
      "required": false
    },
    "gateway_arn": {
      "description": "Amazon Resource Name (ARN) of the file gateway.",
      "required": true
    },
    "guess_mime_type_enabled": {
      "description": "Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to true.",
      "required": false
    },
    "kms_encrypted": {
      "description": "Boolean value if true to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Defaults to false.",
      "required": false
    },
    "kms_key_arn": {
      "description": "Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when kms_encrypted is true.",
      "required": false
    },
    "location_arn": {
      "description": "The ARN of the backed storage used for storing file data.",
      "required": true
    },
    "nfs_file_share_defaults": {
      "description": "Nested argument with file share default values. More information below.",
      "required": false
    },
    "object_acl": {
      "description": "Access Control List permission for S3 bucket objects. Defaults to private.",
      "required": false
    },
    "read_only": {
      "description": "Boolean to indicate write status of file share. File share does not accept writes if true. Defaults to false.",
      "required": false
    },
    "requester_pays": {
      "description": "Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to true if you want the requester to pay instead of the bucket owner. Defaults to false.",
      "required": false
    },
    "role_arn": {
      "description": "The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.",
      "required": true
    },
    "squash": {
      "description": "Maps a user to anonymous user. Defaults to RootSquash. Valid values: RootSquash (only root is mapped to anonymous user), NoSquash (no one is mapped to anonymous user), AllSquash (everyone is mapped to anonymous user)",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_nfs_file_share.html",
  "properties": [
    "client_list",
    "gateway_arn",
    "location_arn",
    "role_arn",
    "default_storage_class",
    "guess_mime_type_enabled",
    "kms_encrypted",
    "kms_key_arn",
    "nfs_file_share_defaults",
    "object_acl",
    "read_only",
    "requester_pays",
    "squash"
  ]
},
"aws_storagegateway_smb_file_share": {
  "full_properties": {
    "authentication": {
      "description": "The authentication method that users use to access the file share. Defaults to ActiveDirectory. Valid values: ActiveDirectory, GuestAccess.",
      "required": false
    },
    "default_storage_class": {
      "description": "The default storage class for objects put into an Amazon S3 bucket by the file gateway. Defaults to S3_STANDARD. Valid values: S3_STANDARD, S3_STANDARD_IA, S3_ONEZONE_IA.",
      "required": false
    },
    "gateway_arn": {
      "description": "Amazon Resource Name (ARN) of the file gateway.",
      "required": true
    },
    "guess_mime_type_enabled": {
      "description": "Boolean value that enables guessing of the MIME type for uploaded objects based on file extensions. Defaults to true.",
      "required": false
    },
    "invalid_user_list": {
      "description": "A list of users in the Active Directory that are not allowed to access the file share. Only valid if authentication is set to ActiveDirectory.",
      "required": false
    },
    "kms_encrypted": {
      "description": "Boolean value if true to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Defaults to false.",
      "required": false
    },
    "kms_key_arn": {
      "description": "Amazon Resource Name (ARN) for KMS key used for Amazon S3 server side encryption. This value can only be set when kms_encrypted is true.",
      "required": false
    },
    "location_arn": {
      "description": "The ARN of the backed storage used for storing file data.",
      "required": true
    },
    "object_acl": {
      "description": "Access Control List permission for S3 bucket objects. Defaults to private.",
      "required": false
    },
    "read_only": {
      "description": "Boolean to indicate write status of file share. File share does not accept writes if true. Defaults to false.",
      "required": false
    },
    "requester_pays": {
      "description": "Boolean who pays the cost of the request and the data download from the Amazon S3 bucket. Set this value to true if you want the requester to pay instead of the bucket owner. Defaults to false.",
      "required": false
    },
    "role_arn": {
      "description": "The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.",
      "required": true
    },
    "smb_file_share_defaults": {
      "description": "Nested argument with file share default values. More information below.",
      "required": false
    },
    "valid_user_list": {
      "description": "A list of users in the Active Directory that are allowed to access the file share. Only valid if authentication is set to ActiveDirectory.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_smb_file_share.html",
  "properties": [
    "gateway_arn",
    "location_arn",
    "role_arn",
    "authentication",
    "default_storage_class",
    "guess_mime_type_enabled",
    "invalid_user_list",
    "kms_encrypted",
    "kms_key_arn",
    "smb_file_share_defaults",
    "object_acl",
    "read_only",
    "requester_pays",
    "valid_user_list"
  ]
},
"aws_storagegateway_upload_buffer": {
  "full_properties": {
    "disk_id": {
      "description": "Local disk identifier. For example, pci-0000:03:00.0-scsi-0:0:0:0.",
      "required": true
    },
    "gateway_arn": {
      "description": "The Amazon Resource Name (ARN) of the gateway.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_upload_buffer.html",
  "properties": [
    "disk_id",
    "gateway_arn"
  ]
},
"aws_storagegateway_working_storage": {
  "full_properties": {
    "disk_id": {
      "description": "Local disk identifier. For example, pci-0000:03:00.0-scsi-0:0:0:0.",
      "required": true
    },
    "gateway_arn": {
      "description": "The Amazon Resource Name (ARN) of the gateway.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/storagegateway_working_storage.html",
  "properties": [
    "disk_id",
    "gateway_arn"
  ]
},
"aws_subnet": {
  "full_properties": {
    "assign_ipv6_address_on_creation": {
      "description": "Specify true to indicate",
      "required": false
    },
    "availability_zone": {
      "description": "The AZ for the subnet.",
      "required": false
    },
    "cidr_block": {
      "description": "The CIDR block for the subnet.",
      "required": true
    },
    "ipv6_cidr_block": {
      "description": "The IPv6 network range for the subnet,",
      "required": false
    },
    "map_public_ip_on_launch": {
      "description": "Specify true to indicate",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The VPC ID.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/subnet.html",
  "properties": [
    "availability_zone",
    "cidr_block",
    "ipv6_cidr_block",
    "map_public_ip_on_launch",
    "assign_ipv6_address_on_creation",
    "vpc_id",
    "tags"
  ]
},
"aws_swf_domain": {
  "full_properties": {
    "description": {
      "description": "The domain description.",
      "required": false
    },
    "name": {
      "description": "The name of the domain. If omitted, Terraform will assign a random, unique name.",
      "required": false
    },
    "name_prefix": {
      "description": "Creates a unique name beginning with the specified prefix. Conflicts with name.",
      "required": false
    },
    "workflow_execution_retention_period_in_days": {
      "description": "Length of time that SWF will continue to retain information about the workflow execution after the workflow execution is complete, must be between 0 and 90 days.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/swf_domain.html",
  "properties": [
    "name",
    "name_prefix",
    "description",
    "workflow_execution_retention_period_in_days"
  ]
},
"aws_volume_attachment": {
  "full_properties": {
    "device_name": {
      "description": "The device name to expose to the instance (for",
      "required": true
    },
    "force_detach": {
      "description": "Set to true if you want to force the",
      "required": false
    },
    "instance_id": {
      "description": "ID of the Instance to attach to",
      "required": true
    },
    "skip_destroy": {
      "description": "Set this to true if you do not wish",
      "required": false
    },
    "volume_id": {
      "description": "ID of the Volume to be attached",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/volume_attachment.html",
  "properties": [
    "device_name",
    "instance_id",
    "volume_id",
    "force_detach",
    "skip_destroy"
  ]
},
"aws_vpc": {
  "full_properties": {
    "assign_generated_ipv6_cidr_block": {
      "description": "Requests an Amazon-provided IPv6 CIDR ",
      "required": false
    },
    "cidr_block": {
      "description": "The CIDR block for the VPC.",
      "required": true
    },
    "enable_classiclink": {
      "description": "A boolean flag to enable/disable ClassicLink",
      "required": false
    },
    "enable_classiclink_dns_support": {
      "description": "A boolean flag to enable/disable ClassicLink DNS Support for the VPC.",
      "required": false
    },
    "enable_dns_hostnames": {
      "description": "A boolean flag to enable/disable DNS hostnames in the VPC. Defaults false.",
      "required": false
    },
    "enable_dns_support": {
      "description": "A boolean flag to enable/disable DNS support in the VPC. Defaults true.",
      "required": false
    },
    "instance_tenancy": {
      "description": "A tenancy option for instances launched into the VPC",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/vpc.html",
  "properties": [
    "cidr_block",
    "instance_tenancy",
    "enable_dns_support",
    "enable_dns_hostnames",
    "enable_classiclink",
    "enable_classiclink_dns_support",
    "assign_generated_ipv6_cidr_block",
    "tags"
  ]
},
"aws_vpc_dhcp_options": {
  "full_properties": {
    "domain_name": {
      "description": "the suffix domain name to use by default when resolving non Fully Qualified Domain Names. In other words, this is what ends up being the search value in the /etc/resolv.conf file.",
      "required": false
    },
    "domain_name_servers": {
      "description": "List of name servers to configure in /etc/resolv.conf. If you want to use the default AWS nameservers you should set this to AmazonProvidedDNS.",
      "required": false
    },
    "netbios_name_servers": {
      "description": "List of NETBIOS name servers.",
      "required": false
    },
    "netbios_node_type": {
      "description": "The NetBIOS node type (1, 2, 4, or 8). AWS recommends to specify 2 since broadcast and multicast are not supported in their network. For more information about these node types, see RFC 2132.",
      "required": false
    },
    "ntp_servers": {
      "description": "List of NTP servers to configure.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/vpc_dhcp_options.html",
  "properties": [
    "domain_name",
    "domain_name_servers",
    "ntp_servers",
    "netbios_name_servers",
    "netbios_node_type",
    "tags"
  ]
},
"aws_vpc_dhcp_options_association": {
  "full_properties": {
    "dhcp_options_id": {
      "description": "The ID of the DHCP Options Set to associate to the VPC.",
      "required": true
    },
    "vpc_id": {
      "description": "The ID of the VPC to which we would like to associate a DHCP Options Set.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_dhcp_options_association.html",
  "properties": [
    "vpc_id",
    "dhcp_options_id"
  ]
},
"aws_vpc_endpoint": {
  "full_properties": {
    "auto_accept": {
      "description": "Accept the VPC endpoint (the VPC endpoint and service need to be in the same AWS account).",
      "required": false
    },
    "policy": {
      "description": "A policy to attach to the endpoint that controls access to the service. Applicable for endpoints of type Gateway. Defaults to full access. For more information about building AWS IAM policy documents with Terraform, see the AWS IAM Policy Document Guide.",
      "required": false
    },
    "private_dns_enabled": {
      "description": "Whether or not to associate a private hosted zone with the specified VPC. Applicable for endpoints of type Interface.",
      "required": false
    },
    "route_table_ids": {
      "description": "One or more route table IDs. Applicable for endpoints of type Gateway.",
      "required": false
    },
    "security_group_ids": {
      "description": "The ID of one or more security groups to associate with the network interface. Required for endpoints of type Interface.",
      "required": false
    },
    "service_name": {
      "description": "The service name, in the form com.amazonaws.region.service for AWS services.",
      "required": true
    },
    "subnet_ids": {
      "description": "The ID of one or more subnets in which to create a network interface for the endpoint. Applicable for endpoints of type Interface.",
      "required": false
    },
    "vpc_endpoint_type": {
      "description": "The VPC endpoint type, Gateway or Interface. Defaults to Gateway.",
      "required": false
    },
    "vpc_id": {
      "description": "The ID of the VPC in which the endpoint will be used.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_endpoint.html",
  "properties": [
    "vpc_id",
    "vpc_endpoint_type",
    "service_name",
    "auto_accept",
    "policy",
    "route_table_ids",
    "subnet_ids",
    "security_group_ids",
    "private_dns_enabled"
  ]
},
"aws_vpc_endpoint_connection_notification": {
  "full_properties": {
    "connection_events": {
      "description": "One or more endpoint events for which to receive notifications.",
      "required": true
    },
    "connection_notification_arn": {
      "description": "The ARN of the SNS topic for the notifications.",
      "required": true
    },
    "vpc_endpoint_id": {
      "description": "The ID of the VPC Endpoint to receive notifications for.",
      "required": false
    },
    "vpc_endpoint_service_id": {
      "description": "The ID of the VPC Endpoint Service to receive notifications for.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/vpc_endpoint_connection_notification.html",
  "properties": [
    "vpc_endpoint_service_id",
    "vpc_endpoint_id",
    "connection_notification_arn",
    "connection_events"
  ]
},
"aws_vpc_endpoint_route_table_association": {
  "full_properties": {
    "route_table_id": {
      "description": "Identifier of the EC2 Route Table to be associated with the VPC Endpoint.",
      "required": true
    },
    "vpc_endpoint_id": {
      "description": "Identifier of the VPC Endpoint with which the EC2 Route Table will be associated.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_endpoint_route_table_association.html",
  "properties": [
    "route_table_id",
    "vpc_endpoint_id"
  ]
},
"aws_vpc_endpoint_service": {
  "full_properties": {
    "acceptance_required": {
      "description": "Whether or not VPC endpoint connection requests to the service must be accepted by the service owner - true or false.",
      "required": true
    },
    "allowed_principals": {
      "description": "The ARNs of one or more principals allowed to discover the endpoint service.",
      "required": false
    },
    "network_load_balancer_arns": {
      "description": "The ARNs of one or more Network Load Balancers for the endpoint service.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_endpoint_service.html",
  "properties": [
    "acceptance_required",
    "network_load_balancer_arns",
    "allowed_principals"
  ]
},
"aws_vpc_endpoint_service_allowed_principal": {
  "full_properties": {
    "principal_arn": {
      "description": "The ARN of the principal to allow permissions.",
      "required": true
    },
    "vpc_endpoint_service_id": {
      "description": "The ID of the VPC endpoint service to allow permission.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_endpoint_service_allowed_principal.html",
  "properties": [
    "vpc_endpoint_service_id",
    "principal_arn"
  ]
},
"aws_vpc_endpoint_subnet_association": {
  "full_properties": {
    "subnet_id": {
      "description": "The ID of the subnet to be associated with the VPC endpoint.",
      "required": true
    },
    "vpc_endpoint_id": {
      "description": "The ID of the VPC endpoint with which the subnet will be associated.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_endpoint_subnet_association.html",
  "properties": [
    "vpc_endpoint_id",
    "subnet_id"
  ]
},
"aws_vpc_ipv4_cidr_block_association": {
  "full_properties": {
    "cidr_block": {
      "description": "The additional IPv4 CIDR block to associate with the VPC.",
      "required": true
    },
    "vpc_id": {
      "description": "The ID of the VPC to make the association with.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_ipv4_cidr_block_association.html",
  "properties": [
    "cidr_block",
    "vpc_id"
  ]
},
"aws_vpc_peering_connection": {
  "full_properties": {
    "accepter": {
      "description": "- An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts",
      "required": false
    },
    "auto_accept": {
      "description": "Accept the peering (both VPCs need to be in the same AWS account).",
      "required": false
    },
    "peer_owner_id": {
      "description": "The AWS account ID of the owner of the peer VPC.",
      "required": false
    },
    "peer_region": {
      "description": "The region of the accepter VPC of the [VPC Peering Connection]. auto_accept must be false,",
      "required": false
    },
    "peer_vpc_id": {
      "description": "The ID of the VPC with which you are creating the VPC Peering Connection.",
      "required": true
    },
    "requester": {
      "description": "- A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The ID of the requester VPC.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_peering.html",
  "properties": [
    "peer_owner_id",
    "peer_vpc_id",
    "vpc_id",
    "auto_accept",
    "peer_region",
    "accepter",
    "requester",
    "tags"
  ]
},
"aws_vpc_peering_connection_accepter": {
  "full_properties": {
    "auto_accept": {
      "description": "Whether or not to accept the peering request. Defaults to false.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_peering_connection_id": {
      "description": "The VPC Peering Connection ID to manage.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_peering_accepter.html",
  "properties": [
    "vpc_peering_connection_id",
    "auto_accept",
    "tags"
  ]
},
"aws_vpc_peering_connection_options": {
  "full_properties": {
    "accepter": {
      "description": "- An optional configuration block that allows for VPC Peering Connection options to be set for the VPC that accepts",
      "required": false
    },
    "requester": {
      "description": "- A optional configuration block that allows for VPC Peering Connection options to be set for the VPC that requests",
      "required": false
    },
    "vpc_peering_connection_id": {
      "description": "The ID of the requester VPC peering connection.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpc_peering_options.html",
  "properties": [
    "vpc_peering_connection_id",
    "accepter",
    "requester"
  ]
},
"aws_vpn_connection": {
  "full_properties": {
    "customer_gateway_id": {
      "description": "The ID of the customer gateway.",
      "required": true
    },
    "static_routes_only": {
      "description": "Whether the VPN connection uses static routes exclusively. Static routes must be used for devices that don't support BGP.",
      "required": false
    },
    "tags": {
      "description": "Tags to apply to the connection.",
      "required": false
    },
    "tunnel1_inside_cidr": {
      "description": "The CIDR block of the inside IP addresses for the first VPN tunnel.",
      "required": false
    },
    "tunnel1_preshared_key": {
      "description": "The preshared key of the first VPN tunnel.",
      "required": false
    },
    "tunnel2_inside_cidr": {
      "description": "The CIDR block of the second IP addresses for the first VPN tunnel.",
      "required": false
    },
    "tunnel2_preshared_key": {
      "description": "The preshared key of the second VPN tunnel.",
      "required": false
    },
    "type": {
      "description": "The type of VPN connection. The only type AWS supports at this time is \"ipsec.1\".",
      "required": true
    },
    "vpn_gateway_id": {
      "description": "The ID of the virtual private gateway.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpn_connection.html",
  "properties": [
    "customer_gateway_id",
    "static_routes_only",
    "tags",
    "type",
    "vpn_gateway_id",
    "tunnel1_inside_cidr",
    "tunnel2_inside_cidr",
    "tunnel1_preshared_key",
    "tunnel2_preshared_key"
  ]
},
"aws_vpn_connection_route": {
  "full_properties": {
    "destination_cidr_block": {
      "description": "The CIDR block associated with the local subnet of the customer network.",
      "required": true
    },
    "vpn_connection_id": {
      "description": "The ID of the VPN connection.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpn_connection_route.html",
  "properties": [
    "destination_cidr_block",
    "vpn_connection_id"
  ]
},
"aws_vpn_gateway": {
  "full_properties": {
    "amazon_side_asn": {
      "description": "The Autonomous System Number (ASN) for the Amazon side of the gateway. If you don't specify an ASN, the virtual private gateway is created with the default ASN.",
      "required": false
    },
    "availability_zone": {
      "description": "The Availability Zone for the virtual private gateway.",
      "required": false
    },
    "tags": {
      "description": "A mapping of tags to assign to the resource.",
      "required": false
    },
    "vpc_id": {
      "description": "The VPC ID to create in.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/vpn_gateway.html",
  "properties": [
    "vpc_id",
    "availability_zone",
    "tags",
    "amazon_side_asn"
  ]
},
"aws_vpn_gateway_attachment": {
  "full_properties": {
    "vpc_id": {
      "description": "The ID of the VPC.",
      "required": true
    },
    "vpn_gateway_id": {
      "description": "The ID of the Virtual Private Gateway.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/vpn_gateway_attachment.html",
  "properties": [
    "vpc_id",
    "vpn_gateway_id"
  ]
},
"aws_vpn_gateway_route_propagation": {
  "full_properties": {
    "route_table_id": {
      "description": "The id of the aws_route_table to propagate routes into.",
      "required": false
    },
    "vpn_gateway_id": {
      "description": "The id of the aws_vpn_gateway to propagate routes from.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/vpn_gateway_route_propagation.html",
  "properties": [
    "vpn_gateway_id",
    "route_table_id"
  ]
},
"aws_waf_byte_match_set": {
  "full_properties": {
    "byte_match_tuples": {
      "description": "Specifies the bytes (typically a string that corresponds",
      "required": false
    },
    "name": {
      "description": "The name or description of the Byte Match Set.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_byte_match_set.html",
  "properties": [
    "name",
    "byte_match_tuples"
  ]
},
"aws_waf_geo_match_set": {
  "full_properties": {
    "geo_match_constraint": {
      "description": "The GeoMatchConstraint objects which contain the country that you want AWS WAF to search for.",
      "required": false
    },
    "name": {
      "description": "The name or description of the GeoMatchSet.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_geo_match_set.html",
  "properties": [
    "name",
    "geo_match_constraint"
  ]
},
"aws_waf_ipset": {
  "full_properties": {
    "ip_set_descriptors": {
      "description": "One or more pairs specifying the IP address type (IPV4 or IPV6) and the IP address range (in CIDR format) from which web requests originate.",
      "required": false
    },
    "name": {
      "description": "The name or description of the IPSet.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_ipset.html",
  "properties": [
    "name",
    "ip_set_descriptors"
  ]
},
"aws_waf_rate_based_rule": {
  "full_properties": {
    "metric_name": {
      "description": "The name or description for the Amazon CloudWatch metric of this rule.",
      "required": true
    },
    "name": {
      "description": "The name or description of the rule.",
      "required": true
    },
    "predicates": {
      "description": "One of ByteMatchSet, IPSet, SizeConstraintSet, SqlInjectionMatchSet, or XssMatchSet objects to include in a rule.",
      "required": false
    },
    "rate_key": {
      "description": "Valid value is IP.",
      "required": true
    },
    "rate_limit": {
      "description": "The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. Minimum value is 2000.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_rate_based_rule.html",
  "properties": [
    "metric_name",
    "name",
    "rate_key",
    "rate_limit",
    "predicates"
  ]
},
"aws_waf_regex_match_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the Regex Match Set.",
      "required": true
    },
    "regex_match_tuple": {
      "description": "The regular expression pattern that you want AWS WAF to search for in web requests,",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_regex_match_set.html",
  "properties": [
    "name",
    "regex_match_tuple"
  ]
},
"aws_waf_regex_pattern_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the Regex Pattern Set.",
      "required": true
    },
    "regex_pattern_strings": {
      "description": "A list of regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/waf_regex_pattern_set.html",
  "properties": [
    "name",
    "regex_pattern_strings"
  ]
},
"aws_waf_rule": {
  "full_properties": {
    "metric_name": {
      "description": "The name or description for the Amazon CloudWatch metric of this rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9); the name can't contain whitespace.",
      "required": true
    },
    "name": {
      "description": "The name or description of the rule.",
      "required": true
    },
    "predicates": {
      "description": "One of ByteMatchSet, IPSet, SizeConstraintSet, SqlInjectionMatchSet, or XssMatchSet objects to include in a rule.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/waf_rule.html",
  "properties": [
    "metric_name",
    "name",
    "predicates"
  ]
},
"aws_waf_rule_group": {
  "full_properties": {
    "activated_rule": {
      "description": "A list of activated rules, see below",
      "required": false
    },
    "metric_name": {
      "description": "A friendly name for the metrics from the rule group",
      "required": true
    },
    "name": {
      "description": "A friendly name of the rule group",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_rule_group.html",
  "properties": [
    "name",
    "metric_name",
    "activated_rule"
  ]
},
"aws_waf_size_constraint_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the Size Constraint Set.",
      "required": true
    },
    "size_constraints": {
      "description": "Specifies the parts of web requests that you want to inspect the size of.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/waf_size_constraint_set.html",
  "properties": [
    "name",
    "size_constraints"
  ]
},
"aws_waf_sql_injection_match_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the SizeConstraintSet.",
      "required": true
    },
    "sql_injection_match_tuples": {
      "description": "The parts of web requests that you want AWS WAF to inspect for malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/waf_sql_injection_match_set.html",
  "properties": [
    "name",
    "sql_injection_match_tuples"
  ]
},
"aws_waf_web_acl": {
  "full_properties": {
    "default_action": {
      "description": "The action that you want AWS WAF to take when a request doesn't match the criteria in any of the rules that are associated with the web ACL.",
      "required": true
    },
    "metric_name": {
      "description": "The name or description for the Amazon CloudWatch metric of this web ACL.",
      "required": true
    },
    "name": {
      "description": "The name or description of the web ACL.",
      "required": true
    },
    "rules": {
      "description": "The rules to associate with the web ACL and the settings for each rule.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/waf_web_acl.html",
  "properties": [
    "default_action",
    "metric_name",
    "name",
    "rules"
  ]
},
"aws_waf_xss_match_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the SizeConstraintSet.",
      "required": true
    },
    "xss_match_tuples": {
      "description": "The parts of web requests that you want to inspect for cross-site scripting attacks.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/waf_xss_match_set.html",
  "properties": [
    "name",
    "xss_match_tuples"
  ]
},
"aws_wafregional_byte_match_set": {
  "full_properties": {
    "byte_match_tuple": {
      "description": "Deprecated, use byte_match_tuples instead.",
      "required": false
    },
    "byte_match_tuples": {
      "description": "Settings for the ByteMatchSet, such as the bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to search for in web requests. ByteMatchTuple documented below.",
      "required": false
    },
    "name": {
      "description": "The name or description of the ByteMatchSet.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_byte_match_set.html",
  "properties": [
    "name",
    "byte_match_tuple",
    "byte_match_tuples"
  ]
},
"aws_wafregional_geo_match_set": {
  "full_properties": {
    "geo_match_constraint": {
      "description": "The Geo Match Constraint objects which contain the country that you want AWS WAF to search for.",
      "required": false
    },
    "name": {
      "description": "The name or description of the Geo Match Set.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_geo_match_set.html",
  "properties": [
    "name",
    "geo_match_constraint"
  ]
},
"aws_wafregional_ipset": {
  "full_properties": {
    "ip_set_descriptor": {
      "description": "One or more pairs specifying the IP address type (IPV4 or IPV6) and the IP address range (in CIDR notation) from which web requests originate.",
      "required": false
    },
    "name": {
      "description": "The name or description of the IPSet.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_ipset.html",
  "properties": [
    "name",
    "ip_set_descriptor"
  ]
},
"aws_wafregional_rate_based_rule": {
  "full_properties": {
    "metric_name": {
      "description": "The name or description for the Amazon CloudWatch metric of this rule.",
      "required": true
    },
    "name": {
      "description": "The name or description of the rule.",
      "required": true
    },
    "predicate": {
      "description": "One of ByteMatchSet, IPSet, SizeConstraintSet, SqlInjectionMatchSet, or XssMatchSet objects to include in a rule.",
      "required": false
    },
    "rate_key": {
      "description": "Valid value is IP.",
      "required": true
    },
    "rate_limit": {
      "description": "The maximum number of requests, which have an identical value in the field specified by the RateKey, allowed in a five-minute period. Minimum value is 2000.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_rate_based_rule.html",
  "properties": [
    "metric_name",
    "name",
    "rate_key",
    "rate_limit",
    "predicate"
  ]
},
"aws_wafregional_regex_match_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the Regex Match Set.",
      "required": true
    },
    "regex_match_tuple": {
      "description": "The regular expression pattern that you want AWS WAF to search for in web requests,",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_regex_match_set.html",
  "properties": [
    "name",
    "regex_match_tuple"
  ]
},
"aws_wafregional_regex_pattern_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the Regex Pattern Set.",
      "required": true
    },
    "regex_pattern_strings": {
      "description": "A list of regular expression (regex) patterns that you want AWS WAF to search for, such as B[a@]dB[o0]t.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/wafregional_regex_pattern_set.html",
  "properties": [
    "name",
    "regex_pattern_strings"
  ]
},
"aws_wafregional_rule": {
  "full_properties": {
    "metric_name": {
      "description": "The name or description for the Amazon CloudWatch metric of this rule.",
      "required": true
    },
    "name": {
      "description": "The name or description of the rule.",
      "required": true
    },
    "predicate": {
      "description": "The objects to include in a rule.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/wafregional_rule.html",
  "properties": [
    "name",
    "metric_name",
    "predicate"
  ]
},
"aws_wafregional_rule_group": {
  "full_properties": {
    "activated_rule": {
      "description": "A list of activated rules, see below",
      "required": false
    },
    "metric_name": {
      "description": "A friendly name for the metrics from the rule group",
      "required": true
    },
    "name": {
      "description": "A friendly name of the rule group",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_rule_group.html",
  "properties": [
    "name",
    "metric_name",
    "activated_rule"
  ]
},
"aws_wafregional_size_constraint_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the Size Constraint Set.",
      "required": true
    },
    "size_constraints": {
      "description": "Specifies the parts of web requests that you want to inspect the size of.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/wafregional_size_constraint_set.html",
  "properties": [
    "name",
    "size_constraints"
  ]
},
"aws_wafregional_sql_injection_match_set": {
  "full_properties": {
    "name": {
      "description": "The name or description of the SizeConstraintSet.",
      "required": true
    },
    "sql_injection_match_tuple": {
      "description": "The parts of web requests that you want AWS WAF to inspect for malicious SQL code and, if you want AWS WAF to inspect a header, the name of the header.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/wafregional_sql_injection_match_set.html",
  "properties": [
    "name",
    "sql_injection_match_tuple"
  ]
},
"aws_wafregional_web_acl": {
  "full_properties": {
    "default_action": {
      "description": "The action that you want AWS WAF Regional to take when a request doesn't match the criteria in any of the rules that are associated with the web ACL.",
      "required": true
    },
    "metric_name": {
      "description": "The name or description for the Amazon CloudWatch metric of this web ACL.",
      "required": true
    },
    "name": {
      "description": "The name or description of the web ACL.",
      "required": true
    },
    "rule": {
      "description": "The rules to associate with the web ACL and the settings for each rule.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_web_acl.html",
  "properties": [
    "default_action",
    "metric_name",
    "name",
    "rule"
  ]
},
"aws_wafregional_web_acl_association": {
  "full_properties": {
    "resource_arn": {
      "description": "Application Load Balancer ARN to associate with.",
      "required": true
    },
    "web_acl_id": {
      "description": "The ID of the WAF Regional WebACL to create an association.",
      "required": true
    }
  },
  "path": "/docs/providers/aws/r/wafregional_web_acl_association.html",
  "properties": [
    "web_acl_id",
    "resource_arn"
  ]
},
"aws_wafregional_xss_match_set": {
  "full_properties": {
    "name": {
      "description": "The name of the set",
      "required": true
    },
    "xss_match_tuple": {
      "description": "The parts of web requests that you want to inspect for cross-site scripting attacks.",
      "required": false
    }
  },
  "path": "/docs/providers/aws/r/wafregional_xss_match_set.html",
  "properties": [
    "name",
    "xss_match_tuple"
  ]
}

}