Documentation
¶
Index ¶
- type AddMemberToProjectRequest
- type DeleteUserAccessRequest
- type Namespace
- type NamespaceAdminCreateRequest
- type NamespaceAdminResizeRequest
- type NamespaceCreateRequest
- type NamespaceRenameRequest
- type NamespaceResizeRequest
- type NamespaceWithPermissions
- type Permission
- type Project
- type ProjectAddGroupRequest
- type ProjectCreateRequest
- type Resource
- type ResourceType
- type SetGroupMemberAccessRequest
- type SetUserAccessRequest
- type SetUserAccessesRequest
- type Storage
- type UpdateStorageRequest
- type Volume
- type VolumeCreateRequest
- type VolumeRenameRequest
- type VolumeResizeRequest
- type VolumeWithPermissions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AddMemberToProjectRequest ¶ added in v1.0.2
type AddMemberToProjectRequest struct {
//swagger:strfmt email
Username string `json:"username" binding:"required,email"`
AccessLevel model.AccessLevel `json:"access" binding:"required"`
}
AddMemberToProjectRequest contains parameters for adding user to project
swagger:model
type DeleteUserAccessRequest ¶
type DeleteUserAccessRequest struct {
// swagger:strfmt email
UserName string `json:"username"`
}
DeleteUserAccessRequest is a request object for deleting access to resource for user
swagger:model DeleteResourceAccessRequest
type Namespace ¶
type Namespace struct {
Resource
// swagger:strfmt uuid
TariffID *string `sql:"tariff_id,type:uuid" json:"tariff_id,omitempty"`
RAM int `sql:"ram,notnull" json:"ram"`
CPU int `sql:"cpu,notnull" json:"cpu"`
MaxExtServices int `sql:"max_ext_services,notnull" json:"max_external_services"`
MaxIntServices int `sql:"max_int_services,notnull" json:"max_internal_services"`
MaxTraffic int `sql:"max_traffic,notnull" json:"max_traffic"`
// swagger:strfmt uuid
ProjectID *string `sql:"project_id,type:uuid" json:"project_id,omitempty"`
// contains filtered or unexported fields
}
Namespace describes namespace
swagger:model
type NamespaceAdminCreateRequest ¶
type NamespaceAdminCreateRequest struct {
Label string `json:"label" binding:"required"`
CPU int `json:"cpu" binding:"required"`
Memory int `json:"memory" binding:"required"`
MaxExtServices int `json:"max_ext_services" binding:"required"`
MaxIntServices int `json:"max_int_services" binding:"required"`
MaxTraffic int `json:"max_traffic" binding:"required"`
}
NamespaceAdminCreateRequest contains parameters for creating namespace without billing
swagger:model
type NamespaceAdminResizeRequest ¶
type NamespaceAdminResizeRequest struct {
CPU *int `json:"cpu"`
Memory *int `json:"memory"`
MaxExtServices *int `json:"max_ext_services"`
MaxIntServices *int `json:"max_int_services"`
MaxTraffic *int `json:"max_traffic"`
}
NamespaceAdminResizeRequest contains parameter for resizing namespace without billing
swagger:model
type NamespaceCreateRequest ¶
type NamespaceCreateRequest struct {
// swagger:strfmt uuid
TariffID string `json:"tariff_id" binding:"required,uuid"`
Label string `json:"label" binding:"required"`
}
NamespaceCreateRequest contains parameters for creating namespace
swagger:model
type NamespaceRenameRequest ¶
type NamespaceRenameRequest = model.ResourceUpdateName
NamespaceRenameRequest contains parameters for renaming namespace
swagger:model
type NamespaceResizeRequest ¶
type NamespaceResizeRequest struct {
// swagger:strfmt uuid
TariffID string `json:"tariff_id" binding:"required,uuid"`
}
NamespaceResizeRequest contains parameters for changing namespace quota
swagger:model
type NamespaceWithPermissions ¶
type NamespaceWithPermissions struct {
Namespace `pg:",override"`
Permission Permission `pg:"fk:resource_id" sql:"-" json:",inline"`
Permissions []Permission `pg:"polymorphic:resource_" sql:"-" json:"users"`
}
NamespaceWithPermissions is a response object for get requests
swagger:model NamespaceWithPermissions
func (*NamespaceWithPermissions) ToKube ¶
func (np *NamespaceWithPermissions) ToKube() model.Namespace
type Permission ¶
type Permission struct {
// swagger:strfmt uuid
ID string `sql:"perm_id,pk,type:uuid,default:uuid_generate_v4()" json:"perm_id,omitempty"`
ResourceType ResourceType `sql:"resource_type,notnull,unique:unique_user_access" json:"kind,omitempty"` // WARN: custom type here, do not forget create it
// swagger:strfmt uuid
ResourceID string `sql:"resource_id,type:uuid,notnull,unique:unique_user_access" json:"resource_id,omitempty"`
CreateTime *time.Time `sql:"create_time,default:now(),notnull" json:"create_time,omitempty"`
// swagger:strfmt uuid
UserID string `sql:"user_id,type:uuid,notnull,unique:unique_user_access" json:"user_id,omitempty"`
// swagger:strfmt email
UserLogin string `sql:"-" json:"user_login,omitempty"`
InitialAccessLevel model.AccessLevel `sql:"initial_access_level,type:ACCESS_LEVEL,notnull" json:"access,omitempty"` // WARN: custom type here, do not forget create it
CurrentAccessLevel model.AccessLevel `sql:"current_access_level,type:ACCESS_LEVEL,notnull" json:"new_access_level,omitempty"` // WARN: custom type here, do not forget create it
AccessLevelChangeTime *time.Time `sql:"access_level_change_time,default:now(),notnull" json:"access_level_change_time,omitempty"`
GroupID *string `sql:"group_id,type:uuid" json:"group_id,omitempty"`
// contains filtered or unexported fields
}
Permission represents information about user permission to resource
swagger:model
func (*Permission) BeforeInsert ¶
func (p *Permission) BeforeInsert(db orm.DB) error
func (*Permission) BeforeUpdate ¶
func (p *Permission) BeforeUpdate(db orm.DB) error
func (*Permission) Mask ¶
func (p *Permission) Mask()
type Project ¶ added in v1.0.2
type ProjectAddGroupRequest ¶ added in v1.0.2
type ProjectAddGroupRequest struct {
GroupID string `json:"group" binding:"required"`
}
ProjectAddGroupRequest contains parameters for adding permissions for group
swagger:model
type ProjectCreateRequest ¶ added in v1.0.2
type ProjectCreateRequest struct {
Label string `json:"label" binding:"required"`
}
ProjectCreateRequest contains parameters for creating project
swagger:model
type Resource ¶
type Resource struct {
// swagger:strfmt uuid
ID string `sql:"id,pk,type:uuid,default:uuid_generate_v4()" json:"id,omitempty"`
CreateTime *time.Time `sql:"create_time,default:now(),notnull" json:"create_time,omitempty"`
Deleted bool `sql:"deleted,notnull" json:"deleted,omitempty"`
DeleteTime *time.Time `sql:"delete_time" json:"delete_time,omitempty"`
// swagger:strfmt uuid
OwnerUserID string `sql:"owner_user_id,type:uuid,notnull" json:"owner_user_id,omitempty"`
// swagger:strfmt email
OwnerUserLogin string `sql:"-" json:"owner_user_login,omitempty"`
Label string `sql:"label,notnull" json:"label"`
}
Resource represents common resource information.
swagger:ignore
type ResourceType ¶
type ResourceType string
const ( ResourceNamespace ResourceType = "Namespace" ResourceVolume ResourceType = "Volume" )
type SetGroupMemberAccessRequest ¶ added in v1.0.2
type SetGroupMemberAccessRequest struct {
//swagger:strfmt email
Username string `json:"username" binding:"required,email"`
AccessLevel model.AccessLevel `json:"access" binding:"required"`
}
SetGroupMemberAccessRequest contains parameters for setting access to member of group
swagger:model
type SetUserAccessRequest ¶
type SetUserAccessRequest = model.ResourceUpdateUserAccess
SetUserAccessRequest is a request object for setting access to resource for user
swagger:model SetResourceAccessRequest
type SetUserAccessesRequest ¶
type SetUserAccessesRequest struct {
Access model.AccessLevel `json:"access"`
}
SetUserAccessRequest is a request object for setting user accesses
swagger:model SetResourcesAccessesRequest
type Storage ¶
type Storage struct {
// swagger:strfmt uuid
ID string `sql:"id,pk,type:uuid,default:uuid_generate_v4()" json:"id,omitempty"`
Name string `sql:"name,notnull,unique" json:"name"`
Size int `sql:"size,notnull" json:"size"`
Used int `sql:"used,notnull" json:"used"`
Replicas int `sql:"replicas,notnull" json:"replicas"`
IPs []string `sql:"ips,notnull,type:inet[],array" json:"ips"`
Volumes []*Volume `pg:"fk:storage_id" sql:"-" json:"volumes"`
// contains filtered or unexported fields
}
Storage describes volumes storage
swagger:ignore
type UpdateStorageRequest ¶
type UpdateStorageRequest struct {
Name *string `json:"name,omitempty"`
Size *int `json:"size,omitempty"`
Replicas *int `json:"replicas,omitempty"`
IPs []string `json:"ips,omitempty"`
}
UpdateStorageRequest represents request object for updating storage
swagger:ignore
type Volume ¶
type Volume struct {
Resource
Capacity int `sql:"capacity,notnull" json:"capacity"`
// swagger:strfmt uuid
NamespaceID string `sql:"ns_id,type:uuid" json:"namespace_id,omitempty"`
GlusterName string `sql:"gluster_name,notnull" json:"gluster_name,omitempty"`
// swagger:strfmt uuid
StorageID string `sql:"storage_id,type:uuid,notnull" json:"storage_id,omitempty"`
StorageName string `sql:"-" json:"storage_name,omitempty"`
AccessMode model.PersistentVolumeAccessMode `sql:"access_mode,notnull" json:"access_mode,omitempty"`
// contains filtered or unexported fields
}
Volume describes volume
swagger:ignore
type VolumeCreateRequest ¶
type VolumeCreateRequest = model.CreateVolume
VolumeCreateRequest is a request object for creating volume
swagger:ignore
type VolumeRenameRequest ¶
type VolumeRenameRequest = model.ResourceUpdateName
VolumeRenameRequest is a request object for renaming volume
swagger:ignore
type VolumeResizeRequest ¶
type VolumeResizeRequest struct {
// swagger:strfmt uuid
TariffID string `json:"tariff_id" binding:"required,uuid"`
}
VolumeResizeRequest contains parameters for changing volume size
swagger:ignore
type VolumeWithPermissions ¶
type VolumeWithPermissions struct {
Volume `pg:",override"`
Permission Permission `pg:"fk:resource_id" sql:"-" json:",inline"`
Permissions []Permission `pg:"polymorphic:resource_" sql:"-" json:"users"`
}
VolumeWithPermissions is a response object for get requests
swagger:ignore
func (*VolumeWithPermissions) Mask ¶
func (vp *VolumeWithPermissions) Mask()
func (*VolumeWithPermissions) ToKube ¶
func (vp *VolumeWithPermissions) ToKube() model.Volume