Documentation
¶
Overview ¶
This package is a fork from the Community STACKIT Go Client
See: https://github.com/SchwarzIT/community-stackit-go-client
Index ¶
- Constants
- type KeyFlow
- func (c *KeyFlow) GetAccessToken() (string, error)
- func (c *KeyFlow) GetConfig() KeyFlowConfig
- func (c *KeyFlow) GetServiceAccountEmail() string
- func (c *KeyFlow) GetToken() TokenResponseBody
- func (c *KeyFlow) Init(cfg *KeyFlowConfig) error
- func (c *KeyFlow) RoundTrip(req *http.Request) (*http.Response, error)
- func (c *KeyFlow) SetToken(accessToken, refreshToken string) error
- type KeyFlowConfig
- type NoAuthFlow
- type NoAuthFlowConfig
- type RetryConfigdeprecated
- func NewRetryConfig() *RetryConfigdeprecated
- type ServiceAccountKeyCredentials
- type ServiceAccountKeyResponse
- type TokenFlow
- type TokenFlowConfig
- type TokenResponseBody
Constants ¶
const ( // Service Account Key Flow // Auth flow env variables ServiceAccountKey = "STACKIT_SERVICE_ACCOUNT_KEY" PrivateKey = "STACKIT_PRIVATE_KEY" ServiceAccountKeyPath = "STACKIT_SERVICE_ACCOUNT_KEY_PATH" PrivateKeyPath = "STACKIT_PRIVATE_KEY_PATH" )
const (
DefaultClientTimeout = time.Minute
)
const ( // Service Account Token Flow // Auth flow env variables ServiceAccountToken = "STACKIT_SERVICE_ACCOUNT_TOKEN" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type KeyFlow ¶
type KeyFlow struct {
// contains filtered or unexported fields
}
KeyFlow handles auth with SA key
func (*KeyFlow) GetAccessToken ¶
GetAccessToken returns a short-lived access token and saves the access and refresh tokens in the token field
func (*KeyFlow) GetConfig ¶
func (c *KeyFlow) GetConfig() KeyFlowConfig
GetConfig returns the flow configuration
func (*KeyFlow) GetServiceAccountEmail ¶
GetServiceAccountEmail returns the service account email
func (*KeyFlow) GetToken ¶
func (c *KeyFlow) GetToken() TokenResponseBody
GetToken returns the token field
func (*KeyFlow) Init ¶
func (c *KeyFlow) Init(cfg *KeyFlowConfig) error
type KeyFlowConfig ¶
type KeyFlowConfig struct {
ServiceAccountKey *ServiceAccountKeyResponse
PrivateKey string
// Deprecated: retry options were removed to reduce complexity of the client. If this functionality is needed, you can provide your own custom HTTP client.
ClientRetry *RetryConfig
TokenUrl string
BackgroundTokenRefreshContext context.Context // Functionality is enabled if this isn't nil
HTTPTransport http.RoundTripper
AuthHTTPClient *http.Client
}
KeyFlowConfig is the flow config
type NoAuthFlow ¶
type NoAuthFlow struct {
// contains filtered or unexported fields
}
func (*NoAuthFlow) GetConfig ¶
func (c *NoAuthFlow) GetConfig() NoAuthFlowConfig
GetConfig returns the flow configuration
func (*NoAuthFlow) Init ¶
func (c *NoAuthFlow) Init(cfg NoAuthFlowConfig) error
type NoAuthFlowConfig ¶
type NoAuthFlowConfig struct {
// Deprecated: retry options were removed to reduce complexity of the client. If this functionality is needed, you can provide your own custom HTTP client.
ClientRetry *RetryConfig
HTTPTransport http.RoundTripper
}
NoAuthFlowConfig holds the configuration for the unauthenticated flow
type RetryConfig
deprecated
type RetryConfig struct {
MaxRetries int // Max retries
WaitBetweenCalls time.Duration // Time to wait between requests
RetryTimeout time.Duration // Max time to re-try
ClientTimeout time.Duration // HTTP Client timeout
}
Deprecated: retry options were removed to reduce complexity of the client. If this functionality is needed, you can provide your own custom HTTP client.
func NewRetryConfig
deprecated
func NewRetryConfig() *RetryConfig
Deprecated: retry options were removed to reduce complexity of the client. If this functionality is needed, you can provide your own custom HTTP client.
type ServiceAccountKeyResponse ¶
type ServiceAccountKeyResponse struct {
Active bool `json:"active"`
CreatedAt time.Time `json:"createdAt"`
Credentials *ServiceAccountKeyCredentials `json:"credentials"`
ID uuid.UUID `json:"id"`
KeyAlgorithm string `json:"keyAlgorithm"`
KeyOrigin string `json:"keyOrigin"`
KeyType string `json:"keyType"`
PublicKey string `json:"publicKey"`
ValidUntil *time.Time `json:"validUntil,omitempty"`
}
ServiceAccountKeyResponse is the API response when creating a new SA key
type TokenFlow ¶
type TokenFlow struct {
// contains filtered or unexported fields
}
TokenFlow handles auth with SA static token
func (*TokenFlow) GetConfig ¶
func (c *TokenFlow) GetConfig() TokenFlowConfig
GetConfig returns the flow configuration
func (*TokenFlow) Init ¶
func (c *TokenFlow) Init(cfg *TokenFlowConfig) error
type TokenFlowConfig ¶
type TokenFlowConfig struct {
// Deprecated: ServiceAccountEmail is not required and will be removed after 12th June 2025.
ServiceAccountEmail string
ServiceAccountToken string
// Deprecated: retry options were removed to reduce complexity of the client. If this functionality is needed, you can provide your own custom HTTP client.
ClientRetry *RetryConfig
HTTPTransport http.RoundTripper
}
TokenFlowConfig is the flow config
type TokenResponseBody ¶
type TokenResponseBody struct {
AccessToken string `json:"access_token"`
ExpiresIn int `json:"expires_in"`
RefreshToken string `json:"refresh_token"`
Scope string `json:"scope"`
TokenType string `json:"token_type"`
}
TokenResponseBody is the API response when requesting a new token