mirror of
https://github.com/StackExchange/dnscontrol.git
synced 2024-05-11 05:55:12 +00:00
* Update Exoscale provider * Update vendor folder for exoscale/egoscale v0.23.0 * Fix typos and SRV parsing * Add . at the end of SRV records for exoscale
93 lines
2.6 KiB
Go
93 lines
2.6 KiB
Go
package egoscale
|
|
|
|
// APIKeyType holds the type of the API key
|
|
type APIKeyType string
|
|
|
|
const (
|
|
// APIKeyTypeUnrestricted is unrestricted
|
|
APIKeyTypeUnrestricted APIKeyType = "unrestricted"
|
|
// APIKeyTypeRestricted is restricted
|
|
APIKeyTypeRestricted APIKeyType = "restricted"
|
|
)
|
|
|
|
// APIKey represents an API key
|
|
type APIKey struct {
|
|
Name string `json:"name"`
|
|
Key string `json:"key"`
|
|
Secret string `json:"secret,omitempty"`
|
|
Operations []string `json:"operations,omitempty"`
|
|
Resources []string `json:"resources,omitempty"`
|
|
Type APIKeyType `json:"type"`
|
|
}
|
|
|
|
// CreateAPIKey represents an API key creation
|
|
type CreateAPIKey struct {
|
|
Name string `json:"name"`
|
|
Operations string `json:"operations,omitempty"`
|
|
Resources string `json:"resources,omitempty"`
|
|
_ bool `name:"createApiKey" description:"Create an API key."`
|
|
}
|
|
|
|
// Response returns the struct to unmarshal
|
|
func (CreateAPIKey) Response() interface{} {
|
|
return new(APIKey)
|
|
}
|
|
|
|
// ListAPIKeys represents a search for API keys
|
|
type ListAPIKeys struct {
|
|
_ bool `name:"listApiKeys" description:"List API keys."`
|
|
}
|
|
|
|
// ListAPIKeysResponse represents a list of API keys
|
|
type ListAPIKeysResponse struct {
|
|
Count int `json:"count"`
|
|
APIKeys []APIKey `json:"apikey"`
|
|
}
|
|
|
|
// Response returns the struct to unmarshal
|
|
func (ListAPIKeys) Response() interface{} {
|
|
return new(ListAPIKeysResponse)
|
|
}
|
|
|
|
// ListAPIKeyOperations represents a search for operations for the current API key
|
|
type ListAPIKeyOperations struct {
|
|
_ bool `name:"listApiKeyOperations" description:"List operations allowed for the current API key."`
|
|
}
|
|
|
|
// ListAPIKeyOperationsResponse represents a list of operations for the current API key
|
|
type ListAPIKeyOperationsResponse struct {
|
|
Operations []string `json:"operations"`
|
|
}
|
|
|
|
// Response returns the struct to unmarshal
|
|
func (ListAPIKeyOperations) Response() interface{} {
|
|
return new(ListAPIKeyOperationsResponse)
|
|
}
|
|
|
|
// GetAPIKey get an API key
|
|
type GetAPIKey struct {
|
|
Key string `json:"key"`
|
|
_ bool `name:"getApiKey" description:"Get an API key."`
|
|
}
|
|
|
|
// Response returns the struct to unmarshal
|
|
func (GetAPIKey) Response() interface{} {
|
|
return new(APIKey)
|
|
}
|
|
|
|
// RevokeAPIKey represents a revocation of an API key
|
|
type RevokeAPIKey struct {
|
|
Key string `json:"key"`
|
|
_ bool `name:"revokeApiKey" description:"Revoke an API key."`
|
|
}
|
|
|
|
// RevokeAPIKeyResponse represents the response to an API key revocation
|
|
type RevokeAPIKeyResponse struct {
|
|
Success bool `json:"success"`
|
|
}
|
|
|
|
// Response returns the struct to unmarshal
|
|
func (RevokeAPIKey) Response() interface{} {
|
|
return new(RevokeAPIKeyResponse)
|
|
}
|