v1

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Oct 28, 2022 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

*
*  MIT License
*
*  (C) Copyright 2022 Hewlett Packard Enterprise Development LP
*
*  Permission is hereby granted, free of charge, to any person obtaining a
*  copy of this software and associated documentation files (the "Software"),
*  to deal in the Software without restriction, including without limitation
*  the rights to use, copy, modify, merge, publish, distribute, sublicense,
*  and/or sell copies of the Software, and to permit persons to whom the
*  Software is furnished to do so, subject to the following conditions:
*
*  The above copyright notice and this permission notice shall be included
*  in all copies or substantial portions of the Software.
*
*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
*  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
*  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
*  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
*  OTHER DEALINGS IN THE SOFTWARE.
*

+groupName=iuf.hpe.com

*
*  MIT License
*
*  (C) Copyright 2022 Hewlett Packard Enterprise Development LP
*
*  Permission is hereby granted, free of charge, to any person obtaining a
*  copy of this software and associated documentation files (the "Software"),
*  to deal in the Software without restriction, including without limitation
*  the rights to use, copy, modify, merge, publish, distribute, sublicense,
*  and/or sell copies of the Software, and to permit persons to whom the
*  Software is furnished to do so, subject to the following conditions:
*
*  The above copyright notice and this permission notice shall be included
*  in all copies or substantial portions of the Software.
*
*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
*  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
*  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
*  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
*  OTHER DEALINGS IN THE SOFTWARE.
*

+groupName=iuf.hpe.com

*
*  MIT License
*
*  (C) Copyright 2022 Hewlett Packard Enterprise Development LP
*
*  Permission is hereby granted, free of charge, to any person obtaining a
*  copy of this software and associated documentation files (the "Software"),
*  to deal in the Software without restriction, including without limitation
*  the rights to use, copy, modify, merge, publish, distribute, sublicense,
*  and/or sell copies of the Software, and to permit persons to whom the
*  Software is furnished to do so, subject to the following conditions:
*
*  The above copyright notice and this permission notice shall be included
*  in all copies or substantial portions of the Software.
*
*  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
*  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
*  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
*  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
*  OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
*  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
*  OTHER DEALINGS IN THE SOFTWARE.
*

+groupName=iuf.hpe.com

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type IufActivitiesSpec

type IufActivitiesSpec struct {
	SharedInput    `json:",inline"`
	IsBlocked      bool   `json:"is_blocked"`
	IsCompleted    bool   `json:"is_completed"`
	CurrentComment string `json:"current_comment"`

} // @name IufActivity.Spec

An IUF session represents the intent of an Admin to initiate an install-upgrade workflow. It contains both input data, as well as any intermediary data that is needed to generate the final Argo workflow.

type IufActivitiesStatus

type IufActivitiesStatus struct {
	SharedInput `json:",inline"`
	Sessions    []IufSession `json:"sessions" validate:"optional"`
	Products    []IufProduct `json:"products" validate:"optional"`
}

type IufActivitiesSyncRequest

type IufActivitiesSyncRequest struct {
	Parent IufActivity `json:"parent"`
}

type IufActivitiesSyncResponse

type IufActivitiesSyncResponse struct {
	Status             IufActivitiesStatus `json:"status,omitempty"`
	ResyncAfterSeconds int                 `json:"resyncAfterSeconds,omitempty"`
}

type IufActivity

type IufActivity struct {
	metav1.TypeMeta   `json:",inline" swaggerignore:"true"`
	metav1.ObjectMeta `json:"metadata" swaggerignore:"true"`
	Spec              IufActivitiesSpec   `json:"spec"`
	Status            IufActivitiesStatus `json:"status,omitempty" swaggerignore:"true"`

} // @name IufActivity

IufActivity +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:path=iufactivities,scope=Namespaced +kubebuilder:storageversion

type IufActivityCurrentState

type IufActivityCurrentState struct {
	Type    string `json:"type" validate:"required"`
	Comment string `json:"comment"  validate:"optional"`

} // @name IufActivity.CurrentState

type IufProduct

type IufProduct struct {
	// The name of the product
	Name string `json:"name" validate:"required"`
	// The version of the product.
	Version string `json:"version" validate:"required"`
	// The original location of the extracted tar in on the physical storage.
	OriginalLocation string `json:"original_location"  validate:"required"`

} // @name Iuf.Product

type IufSession

type IufSession struct {
	metav1.TypeMeta   `json:",inline" swaggerignore:"true"`
	metav1.ObjectMeta `json:"metadata" swaggerignore:"true"`
	Spec              IufSessionSpec   `json:"spec"`
	Status            IufSessionStatus `json:"status,omitempty" swaggerignore:"true"`
}

IufSession +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:path=iufsessions,scope=Namespaced +kubebuilder:storageversion

type IufSessionCurrentState

type IufSessionCurrentState struct {
	Type    IufSessionStageState `json:"type" validate:"required"`
	Comment string               `json:"comment"  validate:"optional"`

} // @name IufSession.CurrentState

type IufSessionSpec

type IufSessionSpec struct {
	SharedInput `json:",inline"`
	// The stages that need to be executed.
	// This is either explicitly specified by the Admin, or it is computed from the workflow type.
	// An Stage is a group of Operations. Stages represent the overall workflow at a high-level, and executing a stage means executing a bunch of Operations in a predefined manner.  An Admin can specify the stages that must be executed for an install-upgrade workflow. And Product Developers can extend each stage with custom hook scripts that they would like to run before and after the stage's execution.  The high-level stages allow their configuration would revealing too many details to the consumers of IUF.
	// if not specified, we apply all stages
	Stages []string `json:"stages"`

	Products []IufProduct `json:"products" validate:"required"`

} // @name IufSession.Spec

An IUF session represents the intent of an Admin to initiate an install-upgrade workflow. It contains both input data, as well as any intermediary data that is needed to generate the final Argo workflow.

type IufSessionStage

type IufSessionStage struct {
	Name          string               `json:"products" validate:"required"`
	State         IufSessionStageState `json:"state" validate:"required"`
	WorkflowId    string               `json:"workflou_id" validate:"required"`
	WorkflowOuput map[string]string    `json:"workflou_output" validate:"optional"`

} // @name IufSession.Stage

type IufSessionStageState

type IufSessionStageState string

+kubebuilder:validation:Enum=not_started;in_progress;error;complete

const (
	IufSessionStageNotStarted IufSessionStageState = "not_started"
	IufSessionStageInProgress IufSessionStageState = "in_progres"
	IufSessionStageError      IufSessionStageState = "error"
	IufSessionStageComplete   IufSessionStageState = "complete"
)

Node types

type IufSessionStatus

type IufSessionStatus struct {
	CurrentState IufSessionCurrentState `json:"current_state"`
	Stages       []IufSessionStage      `json:"products" validate:"optional"`
}

type IufSyncRequest

type IufSyncRequest struct {
	Parent IufSession `json:"parent"`
}

type IufSyncResponse

type IufSyncResponse struct {
	Status             IufSessionStatus `json:"status,omitempty"`
	ResyncAfterSeconds int              `json:"resyncAfterSeconds,omitempty"`
}

type SharedInput

type SharedInput struct {
	// location of media
	MediaDir string `json:"media_dir" validate:"required"`
	// json string
	SiteParameters           string   `json:"site_parameters" validate:"required"`
	BootprepConfigManaged    []string `json:"bootprep_config_managed" validate:"required"`
	BootprepConfigManagement []string `json:"bootprep_config_management" validate:"required"`
	LimitNodes               []string `json:"limit_nodes" validate:"optional"`
}

Jump to

Keyboard shortcuts

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