Documentation ¶
Index ¶
- type AuthConfig
- type AuthUser
- type Client
- func (c *Client) AddWorkspaceUser(workspaceId, email string) (*Workspace, error)
- func (c *Client) CreateBasicToken(email, password string) (*AuthUser, error)
- func (c *Client) CreateDeployment(label, wsId string) (*Deployment, error)
- func (c *Client) CreateUser(email string, password string) (*AuthUser, error)
- func (c *Client) CreateWorkspace(label, description string) (*Workspace, error)
- func (c *Client) DeleteDeployment(uuid string) (*Deployment, error)
- func (c *Client) DeleteWorkspace(uuid string) (*Workspace, error)
- func (c *Client) GetAuthConfig() (*AuthConfig, error)
- func (c *Client) GetDeployment(deploymentUuid string) (*Deployment, error)
- func (c *Client) GetDeployments(ws string) ([]Deployment, error)
- func (c *Client) GetUserAll() ([]User, error)
- func (c *Client) GetWorkspaceAll() ([]Workspace, error)
- func (c *Client) QueryHouston(query string) (*HoustonResponse, error)
- func (c *Client) RemoveWorkspaceUser(workspaceId, email string) (*Workspace, error)
- func (c *Client) UpdateDeployment(deploymentId, jsonPayload string) (*Deployment, error)
- func (c *Client) UpdateWorkspace(workspaceId, jsonPayload string) (*Workspace, error)
- type Decoded
- type Deployment
- type DeploymentInfo
- type Email
- type Error
- type GraphQLQuery
- type HoustonResponse
- type Status
- type Token
- type TokenPayload
- type User
- type Workspace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthConfig ¶ added in v0.2.0
type AuthConfig struct { LocalEnabled bool `json:"localEnabled"` GoogleEnabled bool `json:"googleEnabled"` GithubEnabled bool `json:"githubEnabled"` Auth0Enabled bool `json:"auth0Enabled"` }
AuthConfig holds data related to oAuth and basic authentication
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.
func (*Client) AddWorkspaceUser ¶ added in v0.2.0
AddWorkspaceUser sends request to Houston to add a user to a workspace Returns a Workspace object
func (*Client) CreateBasicToken ¶ added in v0.2.0
CreateBasicToken sends request to Houston in order to fetch a Basic user Token Returns an AuthUser object
func (*Client) CreateDeployment ¶
func (c *Client) CreateDeployment(label, wsId string) (*Deployment, error)
CreateDeployment sends request to Houston to create a new Airflow deployment cluster Returns a Deployment object
func (*Client) CreateUser ¶ added in v0.2.0
CreateUser sends request to request to Houston in order to create a new platform User Returns an AuthUser object containing an token
func (*Client) CreateWorkspace ¶ added in v0.2.0
CreateWorkspace will send a request to Houston to create a new workspace Returns an object representing created workspace
func (*Client) DeleteDeployment ¶ added in v0.2.0
func (c *Client) DeleteDeployment(uuid string) (*Deployment, error)
DeleteDeployment sends a request to Houston in order to delete a specified deployment Returns a Deployment object which represents the Deployment that was deleted
func (*Client) DeleteWorkspace ¶ added in v0.2.0
DeleteWorkspace will send a request to Houston to create a new workspace Returns an object representing deleted workspace
func (*Client) GetAuthConfig ¶ added in v0.2.0
func (c *Client) GetAuthConfig() (*AuthConfig, error)
GetAuthConfig will get authentication configuration from houston Returns the requested AuthConfig object
func (*Client) GetDeployment ¶ added in v0.2.0
func (c *Client) GetDeployment(deploymentUuid string) (*Deployment, error)
GetDeployment will request a specific airflow deployments from Houston by uuid Returns a Deployment structure with deployment details
func (*Client) GetDeployments ¶ added in v0.2.0
func (c *Client) GetDeployments(ws string) ([]Deployment, error)
GetDeployments will request all airflow deployments from Houston Returns a []Deployment structure with deployment details
func (*Client) GetUserAll ¶ added in v0.2.0
GetUserAll sends a request to Houston in order to fetch a slice of users Returns a slice of all users a user has permission to view
func (*Client) GetWorkspaceAll ¶ added in v0.2.0
GetWorkspaceAll returns all available workspaces from houston API Returns a slice of all Workspaces a user has access to
func (*Client) QueryHouston ¶
func (c *Client) QueryHouston(query string) (*HoustonResponse, error)
QueryHouston executes a query against the Houston API, logging out any errors contained in the response object
func (*Client) RemoveWorkspaceUser ¶ added in v0.2.0
RemoveWorkspaceUser sends a request to Houston in order to remove a user from a workspace Returns an object representing the Workspace from which the user was removed
func (*Client) UpdateDeployment ¶ added in v0.2.0
func (c *Client) UpdateDeployment(deploymentId, jsonPayload string) (*Deployment, error)
UpdateDeployment sends a request to Houston in order to update the attributes of deployment Returns the updated Deployment object
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:"uuid"` Type string `json:"type"` Label string `json:"label"` ReleaseName string `json:"releaseName"` Version string `json:"version"` DeploymentInfo DeploymentInfo `json:"deployInfo"` Workspace string `json:"workspace"` CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` }
Deployment defines structure of a houston response Deployment object
type DeploymentInfo ¶ added in v0.2.0
DeploymentInfo contains registry related information for a deployment
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 Error ¶ added in v0.2.0
type Error struct {
Message string `json:"message"`
}
Error defines struct of a houston response Error object
type GraphQLQuery ¶
type GraphQLQuery struct {
Query string `json:"query"`
}
GraphQLQuery wraps a graphql query string
type HoustonResponse ¶
type HoustonResponse struct { Data struct { AddWorkspaceUser *Workspace `json:"workspaceAddUser,omitempty"` RemoveWorkspaceUser *Workspace `json:"workspaceRemoveUser,omitempty"` CreateDeployment *Deployment `json:"createDeployment,omitempty"` CreateToken *AuthUser `json:"createToken,omitempty"` CreateUser *AuthUser `json:"createUser,omitempty"` CreateWorkspace *Workspace `json:"createWorkspace,omitempty"` DeleteDeployment *Deployment `json:"deleteDeployment,omitempty"` DeleteWorkspace *Workspace `json:"deleteWorkspace,omitempty"` GetDeployments []Deployment `json:"deployments,omitempty"` GetAuthConfig *AuthConfig `json:"authConfig,omitempty"` GetUsers []User `json:"users,omitempty"` GetWorkspace []Workspace `json:"workspaces,omitempty"` UpdateDeployment *Deployment `json:"updateDeployment,omitempty"` UpdateWorkspace *Workspace `json:"updateWorkspace,omitempty"` } `json:"data"` Errors []Error `json:"errors,omitempty"` }
HoustonResponse wraps all houston response structs used for json marashalling
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 { Uuid string `json:"uuid"` Emails []Email `json:"emails"` Username string `json:"username"` Status string `json:"status"` }
User contains all components of an Astronomer user
type Workspace ¶ added in v0.2.0
type Workspace struct { Uuid string `json:"uuid"` Label string `json:"label"` Description string `json:"description"` Active bool `json:"active"` Users []User `json:"users"` // groups CreatedAt string `json:"createdAt"` UpdatedAt string `json:"updatedAt"` }
Workspace contains all components of an Astronomer Workspace