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

Example = '''
lego --email you@example.com --dns hyperone -d '*.example.com' -d example.com 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 in seconds (Default: 120)"
    HYPERONE_PROPAGATION_TIMEOUT = "Maximum waiting time for DNS propagation in seconds (Default: 2)"
    HYPERONE_POLLING_INTERVAL = "Time between DNS propagation check in seconds (Default: 60)"
    HYPERONE_HTTP_TIMEOUT = "API request timeout in seconds (Default: 30)"

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