Name = "HyperOne"
Description = ''''''
URL = "https://www.hyperone.com"
Code = "hyperone"
Since = "v3.9.0"

Example = '''
lego --email you@example.com --dns hyperone --domains my.example.org run
'''

Additional = '''
## Description

Default configuration does not require any additional environment variables,
just a passport file in `~/.h1/passport.json` location.

### Generating passport file using H1 CLI

To use this application you have to generate passport file for `sa`:

```
h1 iam project sa credential generate --name my-passport --project <project ID> --sa <sa ID> --passport-output-file ~/.h1/passport.json
```

### Required permissions

The application requires following permissions:
-  `dns/zone/list`
-  `dns/zone.recordset/list`
-  `dns/zone.recordset/create`
-  `dns/zone.recordset/delete`
-  `dns/zone.record/create`
-  `dns/zone.record/list`
-  `dns/zone.record/delete`

All required permissions are available via platform role `tool.lego`.
'''

[Configuration]
  [Configuration.Additional]
    HYPERONE_PASSPORT_LOCATION = "Allows to pass custom passport file location (default ~/.h1/passport.json)"
    HYPERONE_API_URL = "Allows to pass custom API Endpoint to be used in the challenge (default https://api.hyperone.com/v2)"
    HYPERONE_LOCATION_ID = "Specifies location (region) to be used in API calls. (default pl-waw-1)"
    HYPERONE_TTL = "The TTL of the TXT record used for the DNS challenge"
    HYPERONE_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation"
    HYPERONE_POLLING_INTERVAL = "Time between DNS propagation check"

[Links]
  API = "https://api.hyperone.com/v2/docs"
