forked from TrueCloudLab/lego
42941ccea6
- Packages - Isolate code used by the CLI into the package `cmd` - (experimental) Add e2e tests for HTTP01, TLS-ALPN-01 and DNS-01, use [Pebble](https://github.com/letsencrypt/pebble) and [challtestsrv](https://github.com/letsencrypt/boulder/tree/master/test/challtestsrv) - Support non-ascii domain name (punnycode) - Check all challenges in a predictable order - No more global exported variables - Archive revoked certificates - Fixes revocation for subdomains and non-ascii domains - Disable pending authorizations - use pointer for RemoteError/ProblemDetails - Poll authz URL instead of challenge URL - The ability for a DNS provider to solve the challenge sequentially - Check all nameservers in a predictable order - Option to disable the complete propagation Requirement - CLI, support for renew with CSR - CLI, add SAN on renew - Add command to list certificates. - Logs every iteration of waiting for the propagation - update DNSimple client - update github.com/miekg/dns
47 lines
1.7 KiB
Go
47 lines
1.7 KiB
Go
package egoscale
|
|
|
|
// API represents an API service
|
|
type API struct {
|
|
Description string `json:"description,omitempty" doc:"description of the api"`
|
|
IsAsync bool `json:"isasync,omitempty" doc:"true if api is asynchronous"`
|
|
Name string `json:"name,omitempty" doc:"the name of the api command"`
|
|
Related string `json:"related,omitempty" doc:"comma separated related apis"`
|
|
Since string `json:"since,omitempty" doc:"version of CloudStack the api was introduced in"`
|
|
Type string `json:"type,omitempty" doc:"response field type"`
|
|
Params []APIParam `json:"params,omitempty" doc:"the list params the api accepts"`
|
|
Response []APIField `json:"response,omitempty" doc:"api response fields"`
|
|
}
|
|
|
|
// APIParam represents an API parameter field
|
|
type APIParam struct {
|
|
Description string `json:"description"`
|
|
Length int64 `json:"length"`
|
|
Name string `json:"name"`
|
|
Required bool `json:"required"`
|
|
Since string `json:"since,omitempty"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
// APIField represents an API response field
|
|
type APIField struct {
|
|
Description string `json:"description"`
|
|
Name string `json:"name"`
|
|
Response []APIField `json:"response,omitempty"`
|
|
Type string `json:"type"`
|
|
}
|
|
|
|
// ListAPIs represents a query to list the api
|
|
type ListAPIs struct {
|
|
Name string `json:"name,omitempty" doc:"API name"`
|
|
_ bool `name:"listApis" description:"lists all available apis on the server"`
|
|
}
|
|
|
|
// ListAPIsResponse represents a list of API
|
|
type ListAPIsResponse struct {
|
|
Count int `json:"count"`
|
|
API []API `json:"api"`
|
|
}
|
|
|
|
func (*ListAPIs) response() interface{} {
|
|
return new(ListAPIsResponse)
|
|
}
|