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) ([]*models.Instance, 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) ListTasksByInstanceID(ctx context.Context, ownerID uint, instanceID uint, actionFilter string, ...) ([]*models.Task, error)
- func (c *APIClient) SetAPIKey(apiKey string)
- 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 ¶
APIClient implements the Client interface
func (*APIClient) AdminGetInstances ¶
AdminGetInstances retrieves all instances
func (*APIClient) AdminGetInstancesMetadata ¶
AdminGetInstancesMetadata retrieves metadata for all instances
func (*APIClient) CreateInstance ¶
func (c *APIClient) CreateInstance(ctx context.Context, req []types.InstanceRequest) ([]*models.Instance, error)
CreateInstance creates new instances
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 specified instances for a project
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) ListTasksByInstanceID ¶ added in v0.0.8
func (c *APIClient) ListTasksByInstanceID(ctx context.Context, ownerID uint, instanceID uint, actionFilter string, opts *models.ListOptions) ([]*models.Task, error)
ListTasksByInstanceID retrieves tasks for a specific instance ID, with optional action and pagination.
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) ([]*models.Instance, 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) ListTasksByInstanceID(ctx context.Context, ownerID uint, instanceID uint, actionFilter string, opts *models.ListOptions) ([]*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 // APIKey is the API key for authentication APIKey string // Timeout is the request timeout Timeout time.Duration }
Options contains configuration options for the API client
func DefaultOptions ¶
func DefaultOptions() *Options
DefaultOptions returns the default client options