Documentation ¶
Index ¶
- Constants
- func AddonImpl2AddonRes(impl *types.Addon) (*apis.DetailAddonResponse, error)
- func ConvertAddonRegistryModel2AddonRegistryMeta(r pkgaddon.Registry) apis.AddonRegistryMeta
- func SourceOf(meta apis.AddonRegistryMeta) pkgaddon.Source
- type AddonUsecase
- type ApplicationUsecase
- type ClusterUsecase
- type DefinitionUsecase
- type DeliveryTargetUsecase
- type EnvBindingUsecase
- type OAMApplicationUsecase
- type PolicyType
- type ProjectUsecase
- type VelaQLUsecase
- type WorkflowUsecase
Constants ¶
const ( // EnvBindingPolicy Multiple environment distribution policy EnvBindingPolicy PolicyType = "env-binding" // EnvBindingPolicyDefaultName default policy name EnvBindingPolicyDefaultName string = "env-bindings" )
const ( // Deploy2Env deploy app to target cluster, suitable for common applications Deploy2Env string = "deploy2env" // DeployCloudResource deploy app to local and copy secret to target cluster, suitable for cloud application. DeployCloudResource string = "deploy-cloud-resource" // TerraformWorkfloadType cloud application TerraformWorkfloadType string = "configurations.terraform.core.oam.dev" // TerraformWorkfloadKind terraform workload kind TerraformWorkfloadKind string = "Configuration" )
Variables ¶
This section is empty.
Functions ¶
func AddonImpl2AddonRes ¶ added in v1.2.0
func AddonImpl2AddonRes(impl *types.Addon) (*apis.DetailAddonResponse, error)
AddonImpl2AddonRes convert types.Addon to the type apiserver need
func ConvertAddonRegistryModel2AddonRegistryMeta ¶ added in v1.2.0
func ConvertAddonRegistryModel2AddonRegistryMeta(r pkgaddon.Registry) apis.AddonRegistryMeta
ConvertAddonRegistryModel2AddonRegistryMeta will convert from model to AddonRegistryMeta
Types ¶
type AddonUsecase ¶
type AddonUsecase interface { GetAddonRegistry(ctx context.Context, name string) (*apis.AddonRegistryMeta, error) CreateAddonRegistry(ctx context.Context, req apis.CreateAddonRegistryRequest) (*apis.AddonRegistryMeta, error) DeleteAddonRegistry(ctx context.Context, name string) error UpdateAddonRegistry(ctx context.Context, name string, req apis.UpdateAddonRegistryRequest) (*apis.AddonRegistryMeta, error) ListAddonRegistries(ctx context.Context) ([]*apis.AddonRegistryMeta, error) ListAddons(ctx context.Context, registry, query string) ([]*apis.DetailAddonResponse, error) StatusAddon(ctx context.Context, name string) (*apis.AddonStatusResponse, error) GetAddon(ctx context.Context, name string, registry string) (*apis.DetailAddonResponse, error) EnableAddon(ctx context.Context, name string, args apis.EnableAddonRequest) error DisableAddon(ctx context.Context, name string) error ListEnabledAddon(ctx context.Context) ([]*apis.AddonStatusResponse, error) UpdateAddon(ctx context.Context, name string, args apis.EnableAddonRequest) error }
AddonUsecase addon usecase
func NewAddonUsecase ¶ added in v1.2.0
func NewAddonUsecase() AddonUsecase
NewAddonUsecase returns an addon usecase
type ApplicationUsecase ¶ added in v1.2.0
type ApplicationUsecase interface { ListApplications(ctx context.Context, listOptions apisv1.ListApplicatioOptions) ([]*apisv1.ApplicationBase, error) GetApplication(ctx context.Context, appName string) (*model.Application, error) GetApplicationStatus(ctx context.Context, app *model.Application, envName string) (*common.AppStatus, error) DetailApplication(ctx context.Context, app *model.Application) (*apisv1.DetailApplicationResponse, error) PublishApplicationTemplate(ctx context.Context, app *model.Application) (*apisv1.ApplicationTemplateBase, error) CreateApplication(context.Context, apisv1.CreateApplicationRequest) (*apisv1.ApplicationBase, error) UpdateApplication(context.Context, *model.Application, apisv1.UpdateApplicationRequest) (*apisv1.ApplicationBase, error) DeleteApplication(ctx context.Context, app *model.Application) error Deploy(ctx context.Context, app *model.Application, req apisv1.ApplicationDeployRequest) (*apisv1.ApplicationDeployResponse, error) GetApplicationComponent(ctx context.Context, app *model.Application, componentName string) (*model.ApplicationComponent, error) ListComponents(ctx context.Context, app *model.Application, op apisv1.ListApplicationComponentOptions) ([]*apisv1.ComponentBase, error) AddComponent(ctx context.Context, app *model.Application, com apisv1.CreateComponentRequest) (*apisv1.ComponentBase, error) DetailComponent(ctx context.Context, app *model.Application, componentName string) (*apisv1.DetailComponentResponse, error) DeleteComponent(ctx context.Context, app *model.Application, componentName string) error UpdateComponent(ctx context.Context, app *model.Application, component *model.ApplicationComponent, req apisv1.UpdateApplicationComponentRequest) (*apisv1.ComponentBase, error) ListPolicies(ctx context.Context, app *model.Application) ([]*apisv1.PolicyBase, error) AddPolicy(ctx context.Context, app *model.Application, policy apisv1.CreatePolicyRequest) (*apisv1.PolicyBase, error) DetailPolicy(ctx context.Context, app *model.Application, policyName string) (*apisv1.DetailPolicyResponse, error) DeletePolicy(ctx context.Context, app *model.Application, policyName string) error UpdatePolicy(ctx context.Context, app *model.Application, policyName string, policy apisv1.UpdatePolicyRequest) (*apisv1.DetailPolicyResponse, error) CreateApplicationTrait(ctx context.Context, app *model.Application, component *model.ApplicationComponent, req apisv1.CreateApplicationTraitRequest) (*apisv1.ApplicationTrait, error) DeleteApplicationTrait(ctx context.Context, app *model.Application, component *model.ApplicationComponent, traitType string) error UpdateApplicationTrait(ctx context.Context, app *model.Application, component *model.ApplicationComponent, traitType string, req apisv1.UpdateApplicationTraitRequest) (*apisv1.ApplicationTrait, error) ListRevisions(ctx context.Context, appName, envName, status string, page, pageSize int) (*apisv1.ListRevisionsResponse, error) DetailRevision(ctx context.Context, appName, revisionName string) (*apisv1.DetailRevisionResponse, error) Statistics(ctx context.Context, app *model.Application) (*apisv1.ApplicationStatisticsResponse, error) ListRecords(ctx context.Context, appName string) (*apisv1.ListWorkflowRecordsResponse, error) }
ApplicationUsecase application usecase
func NewApplicationUsecase ¶ added in v1.2.0
func NewApplicationUsecase(ds datastore.DataStore, workflowUsecase WorkflowUsecase, envBindingUsecase EnvBindingUsecase, deliveryTargetUsecase DeliveryTargetUsecase, definitionUsecase DefinitionUsecase, projectUsecase ProjectUsecase, ) ApplicationUsecase
NewApplicationUsecase new application usecase
type ClusterUsecase ¶
type ClusterUsecase interface { ListKubeClusters(context.Context, string, int, int) (*apis.ListClusterResponse, error) CreateKubeCluster(context.Context, apis.CreateClusterRequest) (*apis.ClusterBase, error) GetKubeCluster(context.Context, string) (*apis.DetailClusterResponse, error) ModifyKubeCluster(context.Context, apis.CreateClusterRequest, string) (*apis.ClusterBase, error) DeleteKubeCluster(context.Context, string) (*apis.ClusterBase, error) CreateClusterNamespace(context.Context, string, apis.CreateClusterNamespaceRequest) (*apis.CreateClusterNamespaceResponse, error) ListCloudClusters(context.Context, string, apis.AccessKeyRequest, int, int) (*apis.ListCloudClusterResponse, error) ConnectCloudCluster(context.Context, string, apis.ConnectCloudClusterRequest) (*apis.ClusterBase, error) CreateCloudCluster(context.Context, string, apis.CreateCloudClusterRequest) (*apis.CreateCloudClusterResponse, error) GetCloudClusterCreationStatus(context.Context, string, string) (*apis.CreateCloudClusterResponse, error) ListCloudClusterCreation(context.Context, string) (*apis.ListCloudClusterCreationResponse, error) DeleteCloudClusterCreation(context.Context, string, string) (*apis.CreateCloudClusterResponse, error) }
ClusterUsecase cluster manage
func NewClusterUsecase ¶
func NewClusterUsecase(ds datastore.DataStore) ClusterUsecase
NewClusterUsecase new cluster usecase
type DefinitionUsecase ¶ added in v1.2.0
type DefinitionUsecase interface { // ListDefinitions list definition base info ListDefinitions(ctx context.Context, envName, defType, appliedWorkloads string) ([]*apisv1.DefinitionBase, error) // DetailDefinition get definition detail DetailDefinition(ctx context.Context, name, defType string) (*apisv1.DetailDefinitionResponse, error) // AddDefinitionUISchema add or update custom definition ui schema AddDefinitionUISchema(ctx context.Context, name, defType, configRaw string) ([]*utils.UIParameter, error) // GetComponentDefinition get component definition GetComponentDefinition(ctx context.Context, name string) (*v1alpha2.ComponentDefinition, error) }
DefinitionUsecase definition usecase, Implement the management of ComponentDefinition、TraitDefinition and WorkflowStepDefinition.
func NewDefinitionUsecase ¶ added in v1.2.0
func NewDefinitionUsecase() DefinitionUsecase
NewDefinitionUsecase new definition usecase
type DeliveryTargetUsecase ¶
type DeliveryTargetUsecase interface { GetDeliveryTarget(ctx context.Context, deliveryTargetName string) (*model.DeliveryTarget, error) DetailDeliveryTarget(ctx context.Context, deliveryTarget *model.DeliveryTarget) (*apisv1.DetailDeliveryTargetResponse, error) DeleteDeliveryTarget(ctx context.Context, deliveryTargetName string) error CreateDeliveryTarget(ctx context.Context, req apisv1.CreateDeliveryTargetRequest) (*apisv1.DetailDeliveryTargetResponse, error) UpdateDeliveryTarget(ctx context.Context, deliveryTarget *model.DeliveryTarget, req apisv1.UpdateDeliveryTargetRequest) (*apisv1.DetailDeliveryTargetResponse, error) ListDeliveryTargets(ctx context.Context, page, pageSize int, project string) (*apisv1.ListTargetResponse, error) }
DeliveryTargetUsecase deliveryTarget manage api
func NewDeliveryTargetUsecase ¶
func NewDeliveryTargetUsecase(ds datastore.DataStore, projectUsecase ProjectUsecase) DeliveryTargetUsecase
NewDeliveryTargetUsecase new DeliveryTarget usecase
type EnvBindingUsecase ¶ added in v1.2.0
type EnvBindingUsecase interface { GetEnvBindings(ctx context.Context, app *model.Application) ([]*apisv1.EnvBindingBase, error) GetEnvBinding(ctx context.Context, app *model.Application, envName string) (*model.EnvBinding, error) CheckAppEnvBindingsContainTarget(ctx context.Context, app *model.Application, targetName string) (bool, error) CreateEnvBinding(ctx context.Context, app *model.Application, env apisv1.CreateApplicationEnvRequest) (*apisv1.EnvBinding, error) BatchCreateEnvBinding(ctx context.Context, app *model.Application, env apisv1.EnvBindingList) error UpdateEnvBinding(ctx context.Context, app *model.Application, envName string, diff apisv1.PutApplicationEnvRequest) (*apisv1.DetailEnvBindingResponse, error) DeleteEnvBinding(ctx context.Context, app *model.Application, envName string) error BatchDeleteEnvBinding(ctx context.Context, app *model.Application) error DetailEnvBinding(ctx context.Context, app *model.Application, envBinding *model.EnvBinding) (*apisv1.DetailEnvBindingResponse, error) ApplicationEnvRecycle(ctx context.Context, appModel *model.Application, envBinding *model.EnvBinding) error GetSuitableType(ctx context.Context, app *model.Application) string }
EnvBindingUsecase envbinding usecase
func NewEnvBindingUsecase ¶ added in v1.2.0
func NewEnvBindingUsecase(ds datastore.DataStore, workflowUsecase WorkflowUsecase, definitionUsecase DefinitionUsecase) EnvBindingUsecase
NewEnvBindingUsecase new envBinding usecase
type OAMApplicationUsecase ¶ added in v1.2.0
type OAMApplicationUsecase interface { CreateOrUpdateOAMApplication(context.Context, apisv1.ApplicationRequest, string, string) error GetOAMApplication(context.Context, string, string) (*apisv1.ApplicationResponse, error) DeleteOAMApplication(context.Context, string, string) error }
OAMApplicationUsecase oam_application usecase
func NewOAMApplicationUsecase ¶ added in v1.2.0
func NewOAMApplicationUsecase() OAMApplicationUsecase
NewOAMApplicationUsecase new oam_application usecase
type ProjectUsecase ¶ added in v1.2.0
type ProjectUsecase interface { GetProject(ctx context.Context, projectName string) (*model.Project, error) ListProjects(ctx context.Context) ([]*apisv1.ProjectBase, error) CreateProject(ctx context.Context, req apisv1.CreateProjectRequest) (*apisv1.ProjectBase, error) }
ProjectUsecase project manage usecase.
func NewProjectUsecase ¶ added in v1.2.0
func NewProjectUsecase(ds datastore.DataStore) ProjectUsecase
NewProjectUsecase new project usecase
type VelaQLUsecase ¶ added in v1.2.0
type VelaQLUsecase interface {
QueryView(context.Context, string) (*apis.VelaQLViewResponse, error)
}
VelaQLUsecase velaQL usecase
func NewVelaQLUsecase ¶ added in v1.2.0
func NewVelaQLUsecase() VelaQLUsecase
NewVelaQLUsecase new velaQL usecase
type WorkflowUsecase ¶ added in v1.2.0
type WorkflowUsecase interface { ListApplicationWorkflow(ctx context.Context, app *model.Application) ([]*apisv1.WorkflowBase, error) GetWorkflow(ctx context.Context, app *model.Application, workflowName string) (*model.Workflow, error) DetailWorkflow(ctx context.Context, workflow *model.Workflow) (*apisv1.DetailWorkflowResponse, error) GetApplicationDefaultWorkflow(ctx context.Context, app *model.Application) (*model.Workflow, error) DeleteWorkflow(ctx context.Context, app *model.Application, workflowName string) error DeleteWorkflowByApp(ctx context.Context, app *model.Application) error CreateOrUpdateWorkflow(ctx context.Context, app *model.Application, req apisv1.CreateWorkflowRequest) (*apisv1.DetailWorkflowResponse, error) UpdateWorkflow(ctx context.Context, workflow *model.Workflow, req apisv1.UpdateWorkflowRequest) (*apisv1.DetailWorkflowResponse, error) CreateWorkflowRecord(ctx context.Context, appModel *model.Application, app *v1beta1.Application, workflow *model.Workflow) error ListWorkflowRecords(ctx context.Context, workflow *model.Workflow, page, pageSize int) (*apisv1.ListWorkflowRecordsResponse, error) DetailWorkflowRecord(ctx context.Context, workflow *model.Workflow, recordName string) (*apisv1.DetailWorkflowRecordResponse, error) SyncWorkflowRecord(ctx context.Context) error ResumeRecord(ctx context.Context, appModel *model.Application, workflow *model.Workflow, recordName string) error TerminateRecord(ctx context.Context, appModel *model.Application, workflow *model.Workflow, recordName string) error RollbackRecord(ctx context.Context, appModel *model.Application, workflow *model.Workflow, recordName, revisionName string) error CountWorkflow(ctx context.Context, app *model.Application) int64 }
WorkflowUsecase workflow manage api
func NewWorkflowUsecase ¶ added in v1.2.0
func NewWorkflowUsecase(ds datastore.DataStore) WorkflowUsecase
NewWorkflowUsecase new workflow usecase