Stuck with converting custom schema to jsonschema for jsonforms. HELP Required

Good day everyone. New to Jsonforms. I am trying to change terraform schema to jsonforms but its very difficult for me since i dont have nay clue.

Anywhere here with enough knowledge to guide me on how to accomplish this. I will be very greatful.

This is a scaled down version. I want to create some short of script to convert it to jsonschema.

{
  "version": 0,
  "block": {
    "attributes": {
      "acceleration_status": {
        "type": "string",
        "description_kind": "plain0",
        "deprecated": true,
        "optional": true,
        "computed": true
      },
      "website_endpoint": {
        "type": "string",
        "description_kind": "plain1",
        "computed": true
      }
    },
    "block_types": {
      "cors_rule": {
        "nesting_mode": "list",
        "block": {
          "attributes": {
            "max_age_seconds": {
              "type": "number",
              "description_kind": "plain2",
              "optional": true
            }
          },
          "description_kind": "plain3",
          "deprecated": true
        }
      },
      "grant": {
        "nesting_mode": "set",
        "block": {
          "attributes": {
            "id": {
              "type": "string",
              "description_kind": "plain4",
              "optional": true
            }
          },
          "description_kind": "plain5",
          "deprecated": true
        }
      },
      "lifecycle_rule": {
        "nesting_mode": "list",
        "block": {
          "attributes": {
            "abort_incomplete_multipart_upload_days": {
              "type": "number",
              "description_kind": "plain6",
              "optional": true
            }
          },
          "block_types": {
            "expiration": {
              "nesting_mode": "list",
              "block": {
                "attributes": {
                  "date": {
                    "type": "string",
                    "description_kind": "plain7",
                    "optional": true
                  },
                  "days": {
                    "type": "number",
                    "description_kind": "plain8",
                    "optional": true
                  },
                  "expired_object_delete_marker": {
                    "type": "bool",
                    "description_kind": "plain9",
                    "optional": true
                  }
                },
                "description_kind": "plain10"
              },
              "max_items": 1
            }
          },
          "description_kind": "plain11",
          "deprecated": true
        }
      },
      "logging": {
        "nesting_mode": "list",
        "block": {
          "attributes": {
            "target_bucket": {
              "type": "string",
              "description_kind": "plain12",
              "required": true
            },
            "target_prefix": {
              "type": "string",
              "description_kind": "plain13",
              "optional": true
            }
          },
          "description_kind": "plain14",
          "deprecated": true
        },
        "max_items": 1
      },
      "server_side_encryption_configuration": {
        "nesting_mode": "list",
        "block": {
          "block_types": {
            "rule": {
              "nesting_mode": "list",
              "block": {
                "attributes": {
                  "bucket_key_enabled": {
                    "type": "bool",
                    "description_kind": "plain15",
                    "optional": true
                  }
                },
                "block_types": {
                  "apply_server_side_encryption_by_default": {
                    "nesting_mode": "list",
                    "block": {
                      "attributes": {
                        "kms_master_key_id": {
                          "type": "string",
                          "description_kind": "plain16",
                          "optional": true
                        },
                        "sse_algorithm": {
                          "type": "string",
                          "description_kind": "plain17",
                          "required": true
                        }
                      },
                      "description_kind": "plain18"
                    },
                    "min_items": 1,
                    "max_items": 1
                  }
                },
                "description_kind": "plain19"
              },
              "min_items": 1,
              "max_items": 1
            }
          },
          "description_kind": "plain20",
          "deprecated": true
        },
        "max_items": 1
      }
    },
    "description_kind": "plain21"
  }
}

Hi @i-engy,

JSON Schema is an official spec. I would recommend looking through the Understanding JSON Schema e-book to understand how a typical JSON Schema looks like. Then you should be able to (partially) map your schema format to JSON Schema.