# HCL Syntax

## Block

### Block syntax

```hcl
<BLOCK TYPE> "<BLOCK LABEL>" "<BLOCK LABEL>" {
  # Block body
  <IDENTIFIER> = <EXPRESSION> # Argument
}
```

### Type of block

#### resource and data block



## Basic syntax

```hcl
# argument
image_id = "abc123"

# block
resource "aws_instance" "example" {
  ami = "abc123"
  network_interface {
    # ...
  }
}
```

### Comment

using <mark style="background-color:red;">//</mark>

```hcl
{
  "resource": {
    "aws_instance": {
      "example": {
        "//": "This instance runs the scheduled tasks for backup",
        "instance_type": "t2.micro",
        "ami": "ami-abc123"
      }
    }
  }
}

```
