Documentation
¶
Index ¶
- Constants
- Variables
- func Factory(ctx context.Context, config *logical.BackendConfig) (logical.Backend, error)
- func V2ParseIAMResource(v string) (*egoscale.IAMAccessKeyResource, error)
- type Exoscale
- func (e *Exoscale) LoadConfig(cfg ExoscaleConfig) error
- func (e *Exoscale) LoadConfigFromStorage(ctx context.Context, storage logical.Storage) error
- func (e *Exoscale) V2CreateAccessKey(ctx context.Context, roleName string, reqDisplayName string, role Role) (*egoscale.IAMAccessKey, error)
- func (e *Exoscale) V2RevokeAccessKey(ctx context.Context, key string) error
- func (e *Exoscale) V3CreateAPIKey(ctx context.Context, roleName string, reqDisplayName string, role Role) (*oapi.IamApiKeyCreated, error)
- func (e *Exoscale) V3DeleteAPIKey(ctx context.Context, key string) error
- func (e *Exoscale) V3GetRole(ctx context.Context, role string) (*oapi.IamRole, error)
- type ExoscaleConfig
- type Role
Constants ¶
View Source
const SecretTypeAPIKey = "apikey"
Variables ¶
View Source
var ErrorBackendNotConfigured = errors.New(`Exoscale secret engine not configured
hint: vault path-help exoscale/config/root # (replace "exoscale" by your mount point)`)
Functions ¶
func V2ParseIAMResource ¶ added in v0.4.0
func V2ParseIAMResource(v string) (*egoscale.IAMAccessKeyResource, error)
v2ParseIAMResource parses a string-encoded IAM access key resource formatted such as DOMAIN/TYPE:NAME and deserializes it into an egoscale.IAMAccessKeyResource struct.
Types ¶
type Exoscale ¶ added in v0.4.0
Exoscale is an abstraction over the Exoscale API
func (*Exoscale) LoadConfig ¶ added in v0.4.0
func (e *Exoscale) LoadConfig(cfg ExoscaleConfig) error
func (*Exoscale) LoadConfigFromStorage ¶ added in v0.4.0
func (*Exoscale) V2CreateAccessKey ¶ added in v0.4.0
func (e *Exoscale) V2CreateAccessKey(ctx context.Context, roleName string, reqDisplayName string, role Role) (*egoscale.IAMAccessKey, error)
V2CreateAccessKey creates a IAMv2 Access Key
func (*Exoscale) V2RevokeAccessKey ¶ added in v0.4.0
V2RevokeAccessKey revokes a IAMv2 Access Key
func (*Exoscale) V3CreateAPIKey ¶ added in v0.4.0
func (e *Exoscale) V3CreateAPIKey(ctx context.Context, roleName string, reqDisplayName string, role Role) (*oapi.IamApiKeyCreated, error)
V3CreateAPIKey creates a IAMv3 API Key
func (*Exoscale) V3DeleteAPIKey ¶ added in v0.4.0
V3DeleteAPIKey deletes a IAMv3 API Key
type ExoscaleConfig ¶ added in v0.4.0
type Role ¶ added in v0.4.0
type Role struct { // IAM V2 Operations []string `json:"operations,omitempty"` Resources []string `json:"resources,omitempty"` Tags []string `json:"tags,omitempty"` // IAM V3 IAMRoleID string `json:"iam_role_id,omitempty"` IAMRoleName string `json:"iam_role_name,omitempty"` // Lease Renewable bool `json:"renewable,omitempty"` TTL time.Duration `json:"ttl,omitempty"` MaxTTL time.Duration `json:"max_ttl,omitempty"` LeaseConfig *leaseConfig `json:"lease_config,omitempty"` // deprecated Version string `json:"version,omitempty"` }
Source Files
¶
Click to show internal directories.
Click to hide internal directories.