 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- type CreateProjectRequest
- type MandatoryLabels
- type Parent
- type ProjectMember
- type ProjectResponse
- type ProjectsResponse
- type ProjectsService
- func (svc *ProjectsService) Create(ctx context.Context, parentContainerID, projectName string, ...) (res ProjectResponse, w *wait.Handler, err error)
- func (svc *ProjectsService) Delete(ctx context.Context, containerID string) (w *wait.Handler, err error)
- func (svc *ProjectsService) Get(ctx context.Context, containerID string) (res ProjectResponse, err error)
- func (svc *ProjectsService) GetLifecycleState(ctx context.Context, containerID string) (string, error)
- func (svc *ProjectsService) List(ctx context.Context, containerParentID string, filters map[string]string, ...) (res ProjectsResponse, err error)
- func (svc *ProjectsService) Update(ctx context.Context, containerParentID, containerID, name string, ...) (res ProjectResponse, err error)
- func (svc *ProjectsService) ValidateCreateData(name string, labels map[string]string, members []ProjectMember) error
- func (svc *ProjectsService) ValidateList(containerParentID string, containerIDs []string, ...) error
- func (svc *ProjectsService) ValidateUpdateData(containerID, containerParentID, name string, labels map[string]string) error
 
- type UpdateProjectRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateProjectRequest ¶
type CreateProjectRequest struct {
	Name     string            `json:"name"`
	ParentID string            `json:"containerParentId"`
	Members  []ProjectMember   `json:"members"`
	Labels   map[string]string `json:"labels"`
}
    CreateProjectRequest is the structure representing the request body for creating a project
type MandatoryLabels ¶
type MandatoryLabels struct {
	BillingReference string `json:"billingReference"`
	Scope            string `json:"scope"`
}
    MandatoryLabels represent the project's mandatory labels
func (*MandatoryLabels) ToMap ¶
func (m *MandatoryLabels) ToMap() map[string]string
type Parent ¶
type Parent struct {
	ID          string `json:"id"`
	ContainerID string `json:"containerId"` // User friendly container ID
	Type        string `json:"type"`        // ORGANIZATION or FOLDER
}
    Parent represents a project's parent details
type ProjectMember ¶
type ProjectMember struct {
	Role    string `json:"role"`
	Subject string `json:"subject"` // email address
}
    ProjectMember is the structure representing a member of a project role can be one of "project.owner" "project.member" "project.admin" "project.auditor" the subject is the email address
type ProjectResponse ¶
type ProjectResponse struct {
	Name           string            `json:"name"`
	Parent         Parent            `json:"parent"`
	ContainerID    string            `json:"containerId"` // Globally unique, user friendly identifier
	ProjectID      string            `json:"projectId"`   // Legacy identifier
	LifecycleState string            `json:"lifecycleState"`
	Labels         map[string]string `json:"labels"`
	UpdateTime     string            `json:"updateTime"`
	CreationTime   string            `json:"creationTime"`
}
    ProjectResponse is the structure representing the server response for a project
type ProjectsResponse ¶
type ProjectsResponse struct {
	Iteams []ProjectResponse `json:"items"`
	Offset int               `json:"offset"`
	Limit  int               `json:"limit"`
}
    ProjectsResponse is the List (get all) projects response from the API
type ProjectsService ¶
ProjectsService is the service that handles CRUD functionality for STACKIT projects
func (*ProjectsService) Create ¶
func (svc *ProjectsService) Create(ctx context.Context, parentContainerID, projectName string, labels map[string]string, members ...ProjectMember) (res ProjectResponse, w *wait.Handler, err error)
Create creates a new STACKIT project See also https://api.stackit.schwarz/resource-management/openapi.v2.html#operation/post-projects
func (*ProjectsService) Delete ¶
func (svc *ProjectsService) Delete(ctx context.Context, containerID string) (w *wait.Handler, err error)
Delete deletes a project by ID See also https://api.stackit.schwarz/resource-management/openapi.v2.html#operation/delete-projects-containerId
func (*ProjectsService) Get ¶
func (svc *ProjectsService) Get(ctx context.Context, containerID string) (res ProjectResponse, err error)
Get returns the project by id See also https://api.stackit.schwarz/resource-management/openapi.v2.html#operation/get-projects-containerId
func (*ProjectsService) GetLifecycleState ¶
func (svc *ProjectsService) GetLifecycleState(ctx context.Context, containerID string) (string, error)
GetLifecycleState returns the project state See also https://api.stackit.schwarz/resource-management/openapi.v2.html#operation/get-projects-containerId
func (*ProjectsService) List ¶
func (svc *ProjectsService) List(ctx context.Context, containerParentID string, filters map[string]string, containerIDs ...string) (res ProjectsResponse, err error)
List returns a list of projects if containerParentID == "" at least one containerID needs to be specified (and vice versa) See also https://api.stackit.schwarz/resource-management/openapi.v2.html#operation/get-all-projects
func (*ProjectsService) Update ¶
func (svc *ProjectsService) Update(ctx context.Context, containerParentID, containerID, name string, labels map[string]string) (res ProjectResponse, err error)
Update updates an existing STACKIT project See also https://api.stackit.schwarz/resource-management/openapi.v2.html#operation/patch-projects-containerId
func (*ProjectsService) ValidateCreateData ¶
func (svc *ProjectsService) ValidateCreateData(name string, labels map[string]string, members []ProjectMember) error
ValidateCreateData validates the data required for creating a project
func (*ProjectsService) ValidateList ¶
func (svc *ProjectsService) ValidateList(containerParentID string, containerIDs []string, offset, limit, creationTime string) error
ValidateList validates the filters & container information required for listing projects
func (*ProjectsService) ValidateUpdateData ¶
func (svc *ProjectsService) ValidateUpdateData(containerID, containerParentID, name string, labels map[string]string) error
ValidateUpdateData validates the data required for updating a project