kotsclient

package
v0.69.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2024 License: MIT Imports: 18 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrForbidden = errors.New("the action is not allowed for the current user or team")
)

Functions

This section is empty.

Types

type AddKOTSRegistryRequest added in v0.40.4

type AddKOTSRegistryRequest struct {
	Provider       string `json:"provider"`
	Endpoint       string `json:"endpoint"`
	AuthType       string `json:"authType"`
	Username       string `json:"username"`
	Password       string `json:"password"`
	SkipValidation bool   `json:"skipValidation"`
}

type AddKOTSRegistryResponse added in v0.40.4

type AddKOTSRegistryResponse struct {
	Registry *types.Registry `json:"external_registry"`
}

type ClusterValidationError added in v0.58.0

type ClusterValidationError struct {
	Errors                 []string                `json:"errors"`
	SupportedDistributions []*types.ClusterVersion `json:"supported_distributions"`
}

type CreateClusterErrorError added in v0.59.1

type CreateClusterErrorError struct {
	Message         string                  `json:"message"`
	MaxDiskGiB      int64                   `json:"maxDiskGiB,omitempty"`
	MaxEKS          int64                   `json:"maxEKS,omitempty"`
	MaxGKE          int64                   `json:"maxGKE,omitempty"`
	MaxAKS          int64                   `json:"maxAKS,omitempty"`
	ValidationError *ClusterValidationError `json:"validationError,omitempty"`
}

type CreateClusterErrorResponse added in v0.59.1

type CreateClusterErrorResponse struct {
	Error CreateClusterErrorError `json:"Error"`
}

type CreateClusterIngressOpts added in v0.64.3

type CreateClusterIngressOpts struct {
	ClusterID string
	Target    string
	Port      int
	Namespace string
}

type CreateClusterIngressRequest added in v0.64.3

type CreateClusterIngressRequest struct {
	Target    string `json:"target"`
	Port      int    `json:"port"`
	Namespace string `json:"namespace"`
}

type CreateClusterIngressResponse added in v0.64.3

type CreateClusterIngressResponse struct {
	Ingress *types.ClusterAddOn `json:"ingress"`
}

type CreateClusterOpts added in v0.44.0

type CreateClusterOpts struct {
	Name                   string
	KubernetesDistribution string
	KubernetesVersion      string
	NodeCount              int
	MinNodeCount           *int
	MaxNodeCount           *int
	DiskGiB                int64
	TTL                    string
	InstanceType           string
	NodeGroups             []NodeGroup
	Tags                   []types.Tag
	DryRun                 bool
}

type CreateClusterRequest added in v0.44.0

type CreateClusterRequest struct {
	Name                   string      `json:"name"`
	KubernetesDistribution string      `json:"kubernetes_distribution"`
	KubernetesVersion      string      `json:"kubernetes_version"`
	NodeCount              int         `json:"node_count"`
	MinNodeCount           *int        `json:"min_node_count"`
	MaxNodeCount           *int        `json:"max_node_count"`
	DiskGiB                int64       `json:"disk_gib"`
	TTL                    string      `json:"ttl"`
	NodeGroups             []NodeGroup `json:"node_groups"`
	InstanceType           string      `json:"instance_type"`
	Tags                   []types.Tag `json:"tags"`
}

type CreateClusterResponse added in v0.44.0

type CreateClusterResponse struct {
	Cluster                *types.Cluster    `json:"cluster"`
	Errors                 []string          `json:"errors"`
	SupportedDistributions map[string]string `json:"supported_distributions"`
}

type CreateCustomerOpts added in v0.45.0

type CreateCustomerOpts struct {
	Name                string
	CustomID            string
	ChannelID           string
	AppID               string
	ExpiresAt           time.Duration
	IsAirgapEnabled     bool
	IsGitopsSupported   bool
	IsSnapshotSupported bool
	IsKotInstallEnabled bool
	LicenseType         string
	Email               string
	EntitlementValues   []EntitlementValue
}

type CreateCustomerRequest added in v0.29.0

type CreateCustomerRequest struct {
	Name                string             `json:"name"`
	ChannelID           string             `json:"channel_id"`
	CustomID            string             `json:"custom_id"`
	AppID               string             `json:"app_id"`
	Type                string             `json:"type"`
	ExpiresAt           string             `json:"expires_at"`
	IsAirgapEnabled     bool               `json:"is_airgap_enabled"`
	IsGitopsSupported   bool               `json:"is_gitops_supported"`
	IsSnapshotSupported bool               `json:"is_snapshot_supported"`
	IsKotInstallEnabled bool               `json:"is_kots_install_enabled"`
	Email               string             `json:"email,omitempty"`
	EntitlementValues   []EntitlementValue `json:"entitlementValues"`
}

type CreateCustomerResponse added in v0.29.0

type CreateCustomerResponse struct {
	Customer *types.Customer `json:"customer"`
}

type CreateKOTSAppRequest added in v0.31.0

type CreateKOTSAppRequest struct {
	Name string `json:"name"`
}

type CreateKOTSAppResponse added in v0.31.0

type CreateKOTSAppResponse struct {
	App *types.KotsAppWithChannels `json:"app"`
}

type CustomHostnamesListResponse added in v0.52.0

type CustomHostnamesListResponse struct {
	Body types.KotsAppCustomHostnames
}

type CustomerListResponse added in v0.29.0

type CustomerListResponse struct {
	Customers      []types.Customer `json:"customers"`
	TotalCustomers int              `json:"totalCustomers"`
}

type CustomerListWithInstancesResponse added in v0.51.0

type CustomerListWithInstancesResponse struct {
	// Response from /v3/app/{appID}/customers
	Customers      []types.Customer `json:"customers"`
	TotalCustomers int              `json:"totalCustomers"`
}

type DeleteClusterAddOnRequest added in v0.64.3

type DeleteClusterAddOnRequest struct {
	ID string `json:"id"`
}

type DeleteClusterAddOnResponse added in v0.64.3

type DeleteClusterAddOnResponse struct {
	Error string `json:"error"`
}

type EntitlementValue added in v0.56.0

type EntitlementValue struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

type ErrCustomerNotFound added in v0.29.0

type ErrCustomerNotFound struct {
	Name string
}

func (ErrCustomerNotFound) Error added in v0.29.0

func (e ErrCustomerNotFound) Error() string

type GetClusterKubeconfigResponse added in v0.44.0

type GetClusterKubeconfigResponse struct {
	Kubeconfig []byte `json:"kubeconfig"`
	Error      string `json:"error"`
}

type GetClusterResponse added in v0.56.0

type GetClusterResponse struct {
	Cluster *types.Cluster `json:"cluster"`
	Error   string         `json:"error"`
}

type GraphQLResponseListReleases

type GraphQLResponseListReleases struct {
	Data   *KotsReleasesData  `json:"data,omitempty"`
	Errors []graphql.GQLError `json:"errors,omitempty"`
}

type InstanceTags added in v0.64.0

type InstanceTags struct {
	Tags []types.Tag `json:"tags"`
}

type KOTSRegistryLogsResponse added in v0.40.4

type KOTSRegistryLogsResponse struct {
	RegistryLogs []types.RegistryLog `json:"logs"`
}

type KotsRelease

type KotsRelease struct {
	ID           string               `json:"id"`
	Sequence     int64                `json:"sequence"`
	CreatedAt    string               `json:"created"`
	ReleaseNotes string               `json:"releaseNotes"`
	Channels     []*types.KotsChannel `json:"channels"`
}

type KotsReleasesData

type KotsReleasesData struct {
	KotsReleases []*KotsRelease `json:"allKotsReleases"`
}

type ListChannelsResponse added in v0.31.0

type ListChannelsResponse struct {
	Channels []*types.KotsChannel `json:"channels"`
}

type ListClusterAddOnsResponse added in v0.64.3

type ListClusterAddOnsResponse struct {
	AddOns []*types.ClusterAddOn `json:"addons"`
}

type ListClusterVersionsResponse added in v0.50.0

type ListClusterVersionsResponse struct {
	Clusters []*types.ClusterVersion `json:"cluster-versions"`
}

type ListClustersResponse added in v0.44.0

type ListClustersResponse struct {
	Clusters      []*types.Cluster `json:"clusters"`
	TotalClusters int              `json:"totalClusters"`
}

type NodeGroup added in v0.65.0

type NodeGroup struct {
	Name         string `json:"name"`
	InstanceType string `json:"instance_type"`
	Nodes        int    `json:"node_count"`
	MinNodes     *int   `json:"min_node_count"`
	MaxNodes     *int   `json:"max_node_count"`
	Disk         int    `json:"disk_gib"`
}

type RemoveClusterRequest added in v0.44.0

type RemoveClusterRequest struct {
	ID string `json:"id"`
}

type RemoveClusterResponse added in v0.44.0

type RemoveClusterResponse struct {
	Error string `json:"error"`
}

type ReportReleaseCompatibilityErrorResponse added in v0.57.0

type ReportReleaseCompatibilityErrorResponse struct {
	Message         string                  `json:"message"`
	ValidationError *ClusterValidationError `json:"validationError,omitempty"`
}

type ReportReleaseCompatibilityErrorResponseBody added in v0.57.0

type ReportReleaseCompatibilityErrorResponseBody struct {
	Error ReportReleaseCompatibilityErrorResponse `json:"Error"`
}

type TestKOTSRegistryRequest added in v0.40.4

type TestKOTSRegistryRequest struct {
	Endpoint string `json:"endpoint"`
	Image    string `json:"image"`
}

type TestKOTSRegistryResponse added in v0.40.4

type TestKOTSRegistryResponse struct {
	Status int `json:"status"`
}

type UpdateClusterTTLOpts added in v0.60.0

type UpdateClusterTTLOpts struct {
	TTL string
}

type UpdateClusterTTLRequest added in v0.60.0

type UpdateClusterTTLRequest struct {
	TTL string `json:"ttl"`
}

type UpdateClusterTTLResponse added in v0.60.0

type UpdateClusterTTLResponse struct {
	Cluster *types.Cluster `json:"cluster"`
	Errors  []string       `json:"errors"`
}

type UpgradeClusterOpts added in v0.58.0

type UpgradeClusterOpts struct {
	KubernetesVersion string
	DryRun            bool
}

type UpgradeClusterRequest added in v0.58.0

type UpgradeClusterRequest struct {
	KubernetesVersion string `json:"kubernetes_version"`
}

type UpgradeClusterResponse added in v0.58.0

type UpgradeClusterResponse struct {
	Cluster                *types.Cluster    `json:"cluster"`
	Errors                 []string          `json:"errors"`
	SupportedDistributions map[string]string `json:"supported_distributions"`
}

type VendorV3Client added in v0.31.0

type VendorV3Client struct {
	platformclient.HTTPClient
}

func (*VendorV3Client) AddKOTSRegistry added in v0.40.4

func (c *VendorV3Client) AddKOTSRegistry(reqBody AddKOTSRegistryRequest) (*types.Registry, error)

func (*VendorV3Client) ArchiveChannel added in v0.37.0

func (c *VendorV3Client) ArchiveChannel(appID, channelID string) error

func (*VendorV3Client) ArchiveCustomer added in v0.46.0

func (c *VendorV3Client) ArchiveCustomer(customerID string) error

func (*VendorV3Client) CreateChannel added in v0.37.0

func (c *VendorV3Client) CreateChannel(appID, name, description string) (*types.Channel, error)

func (*VendorV3Client) CreateCluster added in v0.44.0

func (*VendorV3Client) CreateClusterIngress added in v0.64.3

func (c *VendorV3Client) CreateClusterIngress(opts CreateClusterIngressOpts) (*types.ClusterAddOn, error)

func (*VendorV3Client) CreateCustomer added in v0.31.0

func (c *VendorV3Client) CreateCustomer(opts CreateCustomerOpts) (*types.Customer, error)

func (*VendorV3Client) CreateInstaller added in v0.37.0

func (c *VendorV3Client) CreateInstaller(appID string, yaml string) (*types.InstallerSpec, error)

func (*VendorV3Client) CreateKOTSApp added in v0.31.0

func (c *VendorV3Client) CreateKOTSApp(name string) (*types.KotsAppWithChannels, error)

func (*VendorV3Client) CreateRelease added in v0.36.1

func (c *VendorV3Client) CreateRelease(appID string, multiyaml string) (*types.ReleaseInfo, error)

func (*VendorV3Client) DeleteClusterAddOn added in v0.64.3

func (c *VendorV3Client) DeleteClusterAddOn(id string) error

func (*VendorV3Client) DeleteKOTSApp added in v0.37.0

func (c *VendorV3Client) DeleteKOTSApp(id string) error

func (*VendorV3Client) DownloadLicense added in v0.31.0

func (c *VendorV3Client) DownloadLicense(appID string, customerID string) ([]byte, error)

func (*VendorV3Client) Get added in v0.47.0

func (c *VendorV3Client) Get(path string) ([]byte, error)

func (*VendorV3Client) GetApp added in v0.37.0

func (c *VendorV3Client) GetApp(appID string) (*types.App, error)

func (*VendorV3Client) GetChannel added in v0.34.0

func (c *VendorV3Client) GetChannel(appID string, channelID string) (*types.Channel, error)

func (*VendorV3Client) GetCluster added in v0.53.1

func (c *VendorV3Client) GetCluster(id string) (*types.Cluster, error)

func (*VendorV3Client) GetClusterKubeconfig added in v0.44.0

func (c *VendorV3Client) GetClusterKubeconfig(id string) ([]byte, error)

func (*VendorV3Client) GetCustomerByNameOrId added in v0.58.0

func (c *VendorV3Client) GetCustomerByNameOrId(appID string, nameOrId string) (*types.Customer, error)

func (*VendorV3Client) GetRelease added in v0.37.0

func (c *VendorV3Client) GetRelease(appID string, sequence int64) (*types.AppRelease, error)

func (*VendorV3Client) LintRelease added in v0.37.0

func (c *VendorV3Client) LintRelease(data []byte, isBuildersRelease bool, contentType string) ([]types.LintMessage, error)

this is part of the gql client with plans to rename gql client to kotsclient and have endpoints for multiple release services included

func (*VendorV3Client) ListApps added in v0.37.0

func (c *VendorV3Client) ListApps() ([]types.AppAndChannels, error)

func (*VendorV3Client) ListChannels added in v0.31.0

func (c *VendorV3Client) ListChannels(appID string, channelName string) ([]*types.Channel, error)

func (*VendorV3Client) ListClusterAddOns added in v0.64.3

func (c *VendorV3Client) ListClusterAddOns() ([]*types.ClusterAddOn, error)

func (*VendorV3Client) ListClusterVersions added in v0.50.0

func (c *VendorV3Client) ListClusterVersions() ([]*types.ClusterVersion, error)

func (*VendorV3Client) ListClusters added in v0.44.0

func (c *VendorV3Client) ListClusters(includeTerminated bool, startTime *time.Time, endTime *time.Time) ([]*types.Cluster, error)

func (*VendorV3Client) ListCustomHostnames added in v0.52.0

func (c *VendorV3Client) ListCustomHostnames(appID string) (*types.KotsAppCustomHostnames, error)

func (*VendorV3Client) ListCustomers added in v0.31.0

func (c *VendorV3Client) ListCustomers(appID string, includeTest bool) ([]types.Customer, error)

func (*VendorV3Client) ListCustomersByAppAndVersion added in v0.51.0

func (c *VendorV3Client) ListCustomersByAppAndVersion(appID string, appVersion string, appType string) ([]types.Customer, error)

func (*VendorV3Client) ListInstallers added in v0.37.0

func (c *VendorV3Client) ListInstallers(appID string) ([]types.InstallerSpec, error)

func (*VendorV3Client) ListKotsChannels added in v0.52.0

func (c *VendorV3Client) ListKotsChannels(appID string, channelName string, excludeDetails bool) ([]*types.KotsChannel, error)

func (*VendorV3Client) ListRegistries added in v0.40.4

func (c *VendorV3Client) ListRegistries() ([]types.Registry, error)

func (*VendorV3Client) ListReleases added in v0.33.2

func (c *VendorV3Client) ListReleases(appID string) ([]types.ReleaseInfo, error)

func (*VendorV3Client) LogsRegistry added in v0.40.4

func (c *VendorV3Client) LogsRegistry(hostname string) ([]types.RegistryLog, error)

func (*VendorV3Client) Post added in v0.47.0

func (c *VendorV3Client) Post(path string, body string) ([]byte, error)

func (*VendorV3Client) PromoteInstaller added in v0.37.0

func (c *VendorV3Client) PromoteInstaller(appID string, sequence int64, channelID string, versionLabel string) error

func (*VendorV3Client) PromoteRelease added in v0.37.0

func (c *VendorV3Client) PromoteRelease(appID string, sequence int64, label string, notes string, required bool, channelIDs ...string) error

func (*VendorV3Client) Put added in v0.47.0

func (c *VendorV3Client) Put(path string, body string) ([]byte, error)

func (*VendorV3Client) RemoveCluster added in v0.44.0

func (c *VendorV3Client) RemoveCluster(id string) error

func (*VendorV3Client) RemoveKOTSRegistry added in v0.40.4

func (c *VendorV3Client) RemoveKOTSRegistry(endpoint string) error

func (*VendorV3Client) RemoveRegistry added in v0.40.4

func (c *VendorV3Client) RemoveRegistry(endpoint string) error

func (*VendorV3Client) ReportReleaseCompatibility added in v0.57.0

func (c *VendorV3Client) ReportReleaseCompatibility(appID string, sequence int64, distribution string, version string, success bool, notes string) (*ClusterValidationError, error)

func (*VendorV3Client) SetIntanceTags added in v0.64.0

func (c *VendorV3Client) SetIntanceTags(appID string, customerID string, instanceID string, tags []types.Tag) (*types.Instance, error)

func (*VendorV3Client) TestKOTSRegistry added in v0.40.4

func (c *VendorV3Client) TestKOTSRegistry(hostname string, image string) (int, error)

func (*VendorV3Client) TestRelease added in v0.44.0

func (c *VendorV3Client) TestRelease(appID string, sequence int64) (string, error)

func (*VendorV3Client) UpdateClusterTTL added in v0.60.0

func (c *VendorV3Client) UpdateClusterTTL(clusterID string, opts UpdateClusterTTLOpts) (*types.Cluster, error)

func (*VendorV3Client) UpdateRelease added in v0.36.1

func (c *VendorV3Client) UpdateRelease(appID string, sequence int64, multiyaml string) error

func (*VendorV3Client) UpdateSemanticVersioning added in v0.38.0

func (c *VendorV3Client) UpdateSemanticVersioning(appID string, channel *types.Channel, enableSemver bool) error

func (*VendorV3Client) UpgradeCluster added in v0.58.0

func (c *VendorV3Client) UpgradeCluster(clusterID string, opts UpgradeClusterOpts) (*types.Cluster, *ClusterValidationError, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL