<commit_before># AWS Model Validators

Provides validators for the various AWS JSON model formats.

## Basic Usage

```ruby
require 'aws-model-validators'

# validating an API model
errors = Aws::ModelValidators::ApiV2.validate(api: '/path/to/api.json')

# validating a resource model requires the API and waiter models
errors = Aws::ModelValidators::ResourcesV2.validate(
  resources: '/path/to/resources.json',
  api: '/path/to/api.json',
  waiters: '/path/to/waiters.json'
)
```

## Supported Model Formats

| Model        | Version | Validator                          |
| ------------ - ------- ------------------------------------ |
| api          | v2      | Aws::ModelValidators::ApiV1        |
| paginators   | v1      | Aws::ModelValidators::PaginatorsV1 |
| waiters      | v2      | Aws::ModelValidators::WaitersV2    |
| resources    | v1      | Aws::ModelValidators::ResourcesV1  |
<commit_msg>Updated README with notes about some large TODO items.<commit_after># AWS Model Validators

Provides validators for the various AWS JSON model formats.

## Basic Usage

```ruby
require 'aws-model-validators'

# validating an API model
errors = Aws::ModelValidators::ApiV2.validate(api: '/path/to/api.json')

# validating a resource model requires the API and waiter models
errors = Aws::ModelValidators::ResourcesV2.validate(
  resources: '/path/to/resources.json',
  api: '/path/to/api.json',
  waiters: '/path/to/waiters.json'
)
```

## Supported Model Formats

| Model        | Version | Validator                          |
| ------------ - ------- ------------------------------------ |
| api          | v2      | Aws::ModelValidators::ApiV1        |
| paginators   | v1      | Aws::ModelValidators::PaginatorsV1 |
| waiters      | v2      | Aws::ModelValidators::WaitersV2    |
| resources    | v1      | Aws::ModelValidators::ResourcesV1  |

## Todo

* Finish JSON schemas for api, paginators, and waiters.
* Expand validation tests for resources

{'fraction_non_alphanumeric': 0.16828148903620602, 'fraction_numerical': 0.010198878123406425, 'mean_word_length': 2.478723404255319, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3413782', 'n_tokens_mistral': 602, 'n_tokens_neox': 589, 'n_words': 144}