Documentation
¶
Overview ¶
Package client provides the API client for interacting with the Talis API
Index ¶
- Constants
- type APIClient
- func (c *APIClient) AdminGetInstances(ctx context.Context) ([]models.Instance, error)
- func (c *APIClient) AdminGetInstancesMetadata(ctx context.Context) ([]models.Instance, error)
- func (c *APIClient) CreateInstance(ctx context.Context, req []types.InstanceRequest) error
- func (c *APIClient) CreateProject(ctx context.Context, params handlers.ProjectCreateParams) (models.Project, error)
- func (c *APIClient) CreateUser(ctx context.Context, params handlers.CreateUserParams) (types.CreateUserResponse, error)
- func (c *APIClient) DeleteInstances(ctx context.Context, req types.DeleteInstancesRequest) error
- func (c *APIClient) DeleteProject(ctx context.Context, params handlers.ProjectDeleteParams) error
- func (c *APIClient) DeleteUser(ctx context.Context, params handlers.DeleteUserParams) error
- func (c *APIClient) GetInstance(ctx context.Context, id string) (models.Instance, error)
- func (c *APIClient) GetInstances(ctx context.Context, opts *models.ListOptions) ([]models.Instance, error)
- func (c *APIClient) GetInstancesMetadata(ctx context.Context, opts *models.ListOptions) ([]models.Instance, error)
- func (c *APIClient) GetInstancesPublicIPs(ctx context.Context, opts *models.ListOptions) (types.PublicIPsResponse, error)
- func (c *APIClient) GetProject(ctx context.Context, params handlers.ProjectGetParams) (models.Project, error)
- func (c *APIClient) GetTask(ctx context.Context, params handlers.TaskGetParams) (models.Task, error)
- func (c *APIClient) GetUserByID(ctx context.Context, params handlers.UserGetByIDParams) (models.User, error)
- func (c *APIClient) GetUsers(ctx context.Context, params handlers.UserGetParams) (types.UserResponse, error)
- func (c *APIClient) HealthCheck(ctx context.Context) (map[string]string, error)
- func (c *APIClient) ListProjectInstances(ctx context.Context, params handlers.ProjectListInstancesParams) ([]models.Instance, error)
- func (c *APIClient) ListProjects(ctx context.Context, params handlers.ProjectListParams) ([]models.Project, error)
- func (c *APIClient) ListTasks(ctx context.Context, params handlers.TaskListParams) ([]models.Task, error)
- func (c *APIClient) TerminateTask(ctx context.Context, params handlers.TaskTerminateParams) error
- func (c *APIClient) UpdateTaskStatus(ctx context.Context, params handlers.TaskUpdateStatusParams) error
- type Client
- type Options
Constants ¶
const DefaultTimeout = 30 * time.Second
DefaultTimeout is the default timeout for API requests
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type APIClient ¶
type APIClient struct {
AuthToken string
// contains filtered or unexported fields
}
APIClient implements the Client interface
func (*APIClient) AdminGetInstances ¶
AdminGetInstances retrieves all instances
func (*APIClient) AdminGetInstancesMetadata ¶
AdminGetInstancesMetadata retrieves metadata for all instances
func (*APIClient) CreateInstance ¶
CreateInstance creates a new instance
func (*APIClient) CreateProject ¶
func (c *APIClient) CreateProject(ctx context.Context, params handlers.ProjectCreateParams) (models.Project, error)
CreateProject creates a new project
func (*APIClient) CreateUser ¶
func (c *APIClient) CreateUser(ctx context.Context, params handlers.CreateUserParams) (types.CreateUserResponse, error)
CreateUser creates a new user
func (*APIClient) DeleteInstances ¶ added in v0.0.6
DeleteInstances deletes instances by ID (renamed from DeleteInstance)
func (*APIClient) DeleteProject ¶
DeleteProject deletes a project by name
func (*APIClient) DeleteUser ¶
DeleteUser user deletes a user
func (*APIClient) GetInstance ¶
GetInstance retrieves an instance by ID
func (*APIClient) GetInstances ¶
func (c *APIClient) GetInstances(ctx context.Context, opts *models.ListOptions) ([]models.Instance, error)
GetInstances lists instances with optional filtering
func (*APIClient) GetInstancesMetadata ¶
func (c *APIClient) GetInstancesMetadata(ctx context.Context, opts *models.ListOptions) ([]models.Instance, error)
GetInstancesMetadata retrieves metadata for all instances
func (*APIClient) GetInstancesPublicIPs ¶
func (c *APIClient) GetInstancesPublicIPs(ctx context.Context, opts *models.ListOptions) (types.PublicIPsResponse, error)
GetInstancesPublicIPs retrieves public IPs for all instances
func (*APIClient) GetProject ¶
func (c *APIClient) GetProject(ctx context.Context, params handlers.ProjectGetParams) (models.Project, error)
GetProject retrieves a project by name
func (*APIClient) GetTask ¶
func (c *APIClient) GetTask(ctx context.Context, params handlers.TaskGetParams) (models.Task, error)
GetTask retrieves a task by name
func (*APIClient) GetUserByID ¶
func (c *APIClient) GetUserByID(ctx context.Context, params handlers.UserGetByIDParams) (models.User, error)
GetUserByID retrieves a user by id
func (*APIClient) GetUsers ¶
func (c *APIClient) GetUsers(ctx context.Context, params handlers.UserGetParams) (types.UserResponse, error)
GetUsers retrieves a user by username
func (*APIClient) HealthCheck ¶
HealthCheck checks the health of the API
func (*APIClient) ListProjectInstances ¶
func (c *APIClient) ListProjectInstances(ctx context.Context, params handlers.ProjectListInstancesParams) ([]models.Instance, error)
ListProjectInstances lists all instances for a project
func (*APIClient) ListProjects ¶
func (c *APIClient) ListProjects(ctx context.Context, params handlers.ProjectListParams) ([]models.Project, error)
ListProjects lists all projects
func (*APIClient) ListTasks ¶
func (c *APIClient) ListTasks(ctx context.Context, params handlers.TaskListParams) ([]models.Task, error)
ListTasks lists all tasks
func (*APIClient) TerminateTask ¶
TerminateTask terminates a task by name
func (*APIClient) UpdateTaskStatus ¶
func (c *APIClient) UpdateTaskStatus(ctx context.Context, params handlers.TaskUpdateStatusParams) error
UpdateTaskStatus updates the status of a task
type Client ¶
type Client interface {
// Admin Endpoints
AdminGetInstances(ctx context.Context) ([]models.Instance, error)
AdminGetInstancesMetadata(ctx context.Context) ([]models.Instance, error)
// Health Check
HealthCheck(ctx context.Context) (map[string]string, error)
// Instance Endpoints
GetInstances(ctx context.Context, opts *models.ListOptions) ([]models.Instance, error)
GetInstancesMetadata(ctx context.Context, opts *models.ListOptions) ([]models.Instance, error)
GetInstancesPublicIPs(ctx context.Context, opts *models.ListOptions) (types.PublicIPsResponse, error)
GetInstance(ctx context.Context, id string) (models.Instance, error)
CreateInstance(ctx context.Context, req []types.InstanceRequest) error
DeleteInstances(ctx context.Context, req types.DeleteInstancesRequest) error // Renamed method from DeleteInstance
//User Endpoints
GetUserByID(ctx context.Context, params handlers.UserGetByIDParams) (models.User, error)
GetUsers(ctx context.Context, params handlers.UserGetParams) (types.UserResponse, error)
CreateUser(ctx context.Context, params handlers.CreateUserParams) (types.CreateUserResponse, error)
DeleteUser(ctx context.Context, params handlers.DeleteUserParams) error
// Project methods
CreateProject(ctx context.Context, params handlers.ProjectCreateParams) (models.Project, error)
GetProject(ctx context.Context, params handlers.ProjectGetParams) (models.Project, error)
ListProjects(ctx context.Context, params handlers.ProjectListParams) ([]models.Project, error)
DeleteProject(ctx context.Context, params handlers.ProjectDeleteParams) error
ListProjectInstances(ctx context.Context, params handlers.ProjectListInstancesParams) ([]models.Instance, error)
// Task methods
GetTask(ctx context.Context, params handlers.TaskGetParams) (models.Task, error)
ListTasks(ctx context.Context, params handlers.TaskListParams) ([]models.Task, error)
TerminateTask(ctx context.Context, params handlers.TaskTerminateParams) error
UpdateTaskStatus(ctx context.Context, params handlers.TaskUpdateStatusParams) error
}
Client is the interface for API client
type Options ¶
type Options struct {
// BaseURL is the base URL of the API
BaseURL string
// Timeout is the request timeout
Timeout time.Duration
// APIKey is the API key for the API
APIKey string
}
Options contains configuration options for the API client
func DefaultOptions ¶
func DefaultOptions() *Options
DefaultOptions returns the default client options