Documentation ¶
Index ¶
- Variables
- func BuildDeploymentLogsSubscribeRequest(deploymentId, component, search string, timestamp time.Time) (string, error)
- func Subscribe(jwtToken, url, queryMessage string) error
- type AirflowImage
- type AppConfig
- type AuthConfig
- type AuthPayload
- type AuthProvider
- type AuthUser
- type Client
- type Decoded
- type Deployment
- type DeploymentConfig
- type DeploymentInfo
- type DeploymentLog
- type DeploymentServiceAccount
- type DeploymentUrl
- type Email
- type Error
- type GraphQLQuery
- type InitSubscription
- type Request
- type Response
- type RoleBinding
- type ServiceAccount
- type StartSubscription
- type Status
- type Token
- type TokenPayload
- type User
- type WSResponse
- type Workspace
- type WorkspaceServiceAccount
Constants ¶
This section is empty.
Variables ¶
var ( AuthConfigGetRequest = `` /* 198-byte string literal not displayed */ DeploymentCreateRequest = `` /* 438-byte string literal not displayed */ DeploymentDeleteRequest = `` /* 227-byte string literal not displayed */ DeploymentsGetRequest = `` /* 316-byte string literal not displayed */ DeploymentUpdateRequest = `` /* 335-byte string literal not displayed */ ServiceAccountCreateRequest = `` /* 421-byte string literal not displayed */ CreateDeploymentServiceAccountRequest = `` /* 431-byte string literal not displayed */ CreateWorkspaceServiceAccountRequest = `` /* 388-byte string literal not displayed */ DeploymentServiceAccountDeleteRequest = `` /* 376-byte string literal not displayed */ WorkspaceServiceAccountDeleteRequest = `` /* 400-byte string literal not displayed */ ServiceAccountsGetRequest = `` /* 342-byte string literal not displayed */ TokenBasicCreateRequest = `` /* 246-byte string literal not displayed */ UserCreateRequest = `` /* 328-byte string literal not displayed */ WorkspacesGetRequest = `` /* 217-byte string literal not displayed */ WorkspaceCreateRequest = `` /* 200-byte string literal not displayed */ WorkspaceDeleteRequest = `` /* 135-byte string literal not displayed */ WorkspaceUpdateRequest = `` /* 197-byte string literal not displayed */ WorkspaceUserAddRequest = `` /* 307-byte string literal not displayed */ WorkspaceUserUpdateRequest = `` /* 219-byte string literal not displayed */ WorkspaceUserRemoveRequest = `` /* 266-byte string literal not displayed */ DeploymentLogsGetRequest = `` /* 275-byte string literal not displayed */ DeploymentLogsSubscribeRequest = `` /* 317-byte string literal not displayed */ DeploymentInfoRequest = ` query DeploymentInfo { deploymentConfig { airflowImages { version tag } defaultAirflowImageTag } }` AppConfigRequest = ` query AppConfig { appConfig { version baseDomain smtpConfigured manualReleaseNames } }` )
var PermissionsError = errors.New("You do not have the appropriate permissions for that")
Functions ¶
func BuildDeploymentLogsSubscribeRequest ¶ added in v0.9.0
Types ¶
type AirflowImage ¶ added in v0.11.0
AirflowImage contains all airflow image attributes
type AppConfig ¶ added in v0.15.0
type AppConfig struct { Version string `json:"version"` BaseDomain string `json:"baseDomain"` SmtpConfigured bool `json:"smtpConfigured"` ManualReleaseNames bool `json:"manualReleaseNames"` }
AppConfig contains current houston config
type AuthConfig ¶ added in v0.2.0
type AuthConfig struct { LocalEnabled bool `json:"localEnabled"` PublicSignup bool `json:"publicSignup"` InitialSignup bool `json:"initialSignup"` AuthProviders []AuthProvider `json:"providers"` }
AuthConfig holds data related to oAuth and basic authentication
type AuthPayload ¶ added in v0.9.0
type AuthPayload struct {
Authorization string `json:"authorization"`
}
type AuthProvider ¶ added in v0.9.5
type Client ¶
type Client struct {
HTTPClient *httputil.HTTPClient
}
Client containers the logger and HTTPClient used to communicate with the HoustonAPI
func NewHoustonClient ¶
func NewHoustonClient(c *httputil.HTTPClient) *Client
NewHoustonClient returns a new Client with the logger and HTTP client setup.
type Decoded ¶
type Decoded struct { ID string `json:"id"` SU bool `json:"sU"` Iat int `json:"iat"` Exp int `json:"exp"` }
Decoded defines structure of a houston response Decoded object
type Deployment ¶
type Deployment struct { Id string `json:"id"` Type string `json:"type"` Label string `json:"label"` ReleaseName string `json:"releaseName"` Version string `json:"version"` DeploymentInfo DeploymentInfo `json:"deployInfo"` Workspace Workspace `json:"workspace"` Urls []DeploymentUrl `json:"urls"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` }
Deployment defines structure of a houston response Deployment object
type DeploymentConfig ¶ added in v0.11.0
type DeploymentConfig struct { AirflowImages []AirflowImage `json:"airflowImages"` DefaultAirflowImageTag string `json:"defaultAirflowImageTag"` }
DeploymentConfig contains current airflow image tag
func (*DeploymentConfig) GetValidTags ¶ added in v0.11.0
func (config *DeploymentConfig) GetValidTags(tag string) (tags []string)
func (*DeploymentConfig) IsValidTag ¶ added in v0.11.0
func (config *DeploymentConfig) IsValidTag(tag string) bool
type DeploymentInfo ¶ added in v0.2.0
DeploymentInfo contains registry related information for a deployment
type DeploymentLog ¶ added in v0.9.0
type DeploymentLog struct { Id string `json:"id"` Component string `json:"component"` CreatedAt string `json:"createdAt"` Log string `json:"log"` }
DeploymentLog contains all log related to deployment components
type DeploymentServiceAccount ¶ added in v0.10.3
type DeploymentServiceAccount struct { Id string `json:"id"` ApiKey string `json:"apiKey"` Label string `json:"label"` Category string `json:"category"` EntityType string `json:"entityType"` DeploymentUuid string `json:"deploymentUuid"` LastUsedAt string `json:"lastUsedAt"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` Active bool `json:"active"` }
DeploymentServiceAccount defines a structure of a DeploymentServiceAccountResponse object
type DeploymentUrl ¶ added in v0.12.0
DeploymentUrl defines structure of a houston response DeploymentUrl object
type Email ¶ added in v0.2.0
type Email struct { Address string `json:"address"` Verified bool `json:"verified"` Primary bool `json:"primary"` }
Email contains various pieces of a users email
type GraphQLQuery ¶
type GraphQLQuery struct {
Query string `json:"query"`
}
GraphQLQuery wraps a graphql query string
type InitSubscription ¶ added in v0.9.0
type InitSubscription struct { Type string `json:"type"` Payload AuthPayload `json:"payload"` }
type Request ¶ added in v0.7.0
type Request struct { Query string `json:"query"` Variables map[string]interface{} `json:"variables"` }
type Response ¶ added in v0.8.0
type Response struct { Data struct { AddWorkspaceUser *Workspace `json:"workspaceAddUser,omitempty"` RemoveWorkspaceUser *Workspace `json:"workspaceRemoveUser,omitempty"` CreateDeployment *Deployment `json:"createDeployment,omitempty"` CreateToken *AuthUser `json:"createToken,omitempty"` CreateWorkspaceServiceAccount *WorkspaceServiceAccount `json:"createWorkspaceServiceAccount,omitempty"` CreateDeploymentServiceAccount *DeploymentServiceAccount `json:"createDeploymentServiceAccount,omitempty"` CreateUser *AuthUser `json:"createUser,omitempty"` CreateWorkspace *Workspace `json:"createWorkspace,omitempty"` DeleteDeployment *Deployment `json:"deleteDeployment,omitempty"` DeleteWorkspaceServiceAccount *ServiceAccount `json:"deleteWorkspaceServiceAccount,omitempty"` DeleteDeploymentServiceAccount *ServiceAccount `json:"deleteDeploymentServiceAccount,omitempty"` DeleteWorkspace *Workspace `json:"deleteWorkspace,omitempty"` GetDeployments []Deployment `json:"workspaceDeployments,omitempty"` GetAuthConfig *AuthConfig `json:"authConfig,omitempty"` GetAppConfig *AppConfig `json:"appConfig,omitempty"` GetServiceAccounts []ServiceAccount `json:"serviceAccounts,omitempty"` GetUsers []User `json:"users,omitempty"` GetWorkspaces []Workspace `json:"workspaces,omitempty"` UpdateDeployment *Deployment `json:"updateDeployment,omitempty"` UpdateWorkspace *Workspace `json:"updateWorkspace,omitempty"` DeploymentLog []DeploymentLog `json:"logs,omitempty"` WorkspaceUpdateUserRole string `json:"workspaceUpdateUserRole,omitempty"` DeploymentConfig DeploymentConfig `json:"deploymentConfig,omitempty"` } `json:"data"` Errors []Error `json:"errors,omitempty"` }
Response wraps all houston response structs used for json marashalling
type RoleBinding ¶ added in v0.9.0
type ServiceAccount ¶ added in v0.6.0
type ServiceAccount struct { Id string `json:"id"` ApiKey string `json:"apiKey"` Label string `json:"label"` Category string `json:"category"` EntityType string `json:"entityType"` EntityId string `json:"entityUuid"` LastUsedAt string `json:"lastUsedAt"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` Active bool `json:"active"` }
ServiceAccount defines a structure of a ServiceAccountResponse object
type StartSubscription ¶ added in v0.9.0
type StartSubscription struct { Type string `json:"type"` Payload interface{} `json:"payload"` }
type Status ¶ added in v0.2.0
type Status struct { Success bool `json:"success"` Message string `json:"message"` Code string `json:"code"` Id string `json:"id"` }
Status defines structure of a houston response StatusResponse object
type Token ¶
type Token struct { Value string `json:"value"` Payload TokenPayload `json:"payload"` }
Token contains a houston auth token as well as it's payload of components
type TokenPayload ¶ added in v0.2.0
TokenPayload contains components of a houston auth token
type User ¶ added in v0.2.0
type User struct { Id string `json:"id"` Emails []Email `json:"emails"` Username string `json:"username"` Status string `json:"status"` }
User contains all components of an Astronomer user
type WSResponse ¶ added in v0.9.0
type Workspace ¶ added in v0.2.0
type Workspace struct { Id string `json:"id"` Label string `json:"label"` Description string `json:"description"` Users []User `json:"users"` // groups CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` RoleBindings []RoleBinding `json:"roleBindings"` }
Workspace contains all components of an Astronomer Workspace
type WorkspaceServiceAccount ¶ added in v0.10.3
type WorkspaceServiceAccount struct { Id string `json:"id"` ApiKey string `json:"apiKey"` Label string `json:"label"` Category string `json:"category"` EntityType string `json:"entityType"` WorkspaceUuid string `json:"workspaceUuid"` LastUsedAt string `json:"lastUsedAt"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` Active bool `json:"active"` }
WorkspaceServiceAccount defines a structure of a WorkspaceServiceAccountResponse object