hubclient

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Oct 24, 2024 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TeamRepoPermissionLevelRead  = "read"
	TeamRepoPermissionLevelWrite = "write"
	TeamRepoPermissionLevelAdmin = "admin"
)
View Source
const (
	StandardRegistryDocker = "DockerHub"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AccessToken

type AccessToken struct {
	UUID        string   `json:"uuid"`
	ClientID    string   `json:"client_id"`
	CreatorIP   string   `json:"creator_ip"`
	CreatorUA   string   `json:"creator_ua"`
	CreatedAt   string   `json:"created_at"`
	LastUsed    string   `json:"last_used"`
	GeneratedBy string   `json:"generated_by"`
	IsActive    bool     `json:"is_active"`
	Token       string   `json:"token"`
	TokenLabel  string   `json:"token_label"`
	Scopes      []string `json:"scopes"`
}

type AccessTokenCreateParams

type AccessTokenCreateParams struct {
	TokenLabel string   `json:"token_label"`
	Scopes     []string `json:"scopes"`
}

type AccessTokenListParams

type AccessTokenListParams struct {
	Page     int `json:"page"`
	PageSize int `json:"page_size"`
}

type AccessTokenPage

type AccessTokenPage struct {
	Count   int           `json:"count"`
	Results []AccessToken `json:"results"`
}

type AccessTokenUpdateParams

type AccessTokenUpdateParams struct {
	TokenLabel string `json:"token_label"`
	IsActive   bool   `json:"is_active"`
}

type Auth

type Auth struct {
	Username string `json:"username"`
	Password string `json:"password"`
}

type Client

type Client struct {
	BaseURL string

	HTTPClient *http.Client
	// contains filtered or unexported fields
}

func NewClient

func NewClient(config Config) *Client

func (*Client) AddOrgTeamMember

func (c *Client) AddOrgTeamMember(ctx context.Context, orgName string, teamName string, userName string) error

func (*Client) CreateAccessToken

func (c *Client) CreateAccessToken(ctx context.Context, accessToken AccessTokenCreateParams) (AccessToken, error)

func (*Client) CreateOrgTeam

func (c *Client) CreateOrgTeam(ctx context.Context, orgName string, createOrgTeam OrgTeam) (OrgTeam, error)

func (*Client) CreatePermissionForTeamAndRepo

func (c *Client) CreatePermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64, permission string) (TeamRepoPermission, error)

func (*Client) CreateRepository

func (c *Client) CreateRepository(ctx context.Context, namespace string, req CreateRepostoryRequest) (Repository, error)

func (*Client) DeleteAccessToken

func (c *Client) DeleteAccessToken(ctx context.Context, accessTokenID string) error

func (*Client) DeleteOrgInvite

func (c *Client) DeleteOrgInvite(ctx context.Context, inviteID string) error

func (*Client) DeleteOrgMember

func (c *Client) DeleteOrgMember(ctx context.Context, orgName string, userName string) error

func (*Client) DeleteOrgTeam

func (c *Client) DeleteOrgTeam(ctx context.Context, orgName string, teamName string) error

func (*Client) DeleteOrgTeamMember

func (c *Client) DeleteOrgTeamMember(ctx context.Context, orgName string, teamName string, userName string) error

func (*Client) DeletePermissionForTeamAndRepo

func (c *Client) DeletePermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64) error

func (*Client) DeleteRepository

func (c *Client) DeleteRepository(ctx context.Context, id string) error

func (*Client) GetAccessToken

func (c *Client) GetAccessToken(ctx context.Context, accessTokenID string) (AccessToken, error)

func (*Client) GetAccessTokens

func (c *Client) GetAccessTokens(ctx context.Context, params AccessTokenListParams) (AccessTokenPage, error)

func (*Client) GetOrg

func (c *Client) GetOrg(ctx context.Context, orgName string) (Org, error)

func (*Client) GetOrgSettingImageAccessManagement

func (c *Client) GetOrgSettingImageAccessManagement(ctx context.Context, orgName string) (OrgSettingImageAccessManagement, error)

func (*Client) GetOrgSettingRegistryAccessManagement

func (c *Client) GetOrgSettingRegistryAccessManagement(ctx context.Context, orgName string) (OrgSettingRegistryAccessManagement, error)

func (*Client) GetOrgSettings

func (c *Client) GetOrgSettings(ctx context.Context, orgName string) (Org, error)

func (*Client) GetOrgTeam

func (c *Client) GetOrgTeam(ctx context.Context, orgName string, teamName string) (OrgTeam, error)

func (*Client) GetPermissionForTeamAndRepo

func (c *Client) GetPermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64) (TeamRepoPermission, error)

func (*Client) GetRepositories

func (c *Client) GetRepositories(ctx context.Context, namespace string, maxResults int) (Repositories, error)

func (*Client) GetRepository

func (c *Client) GetRepository(ctx context.Context, id string) (Repository, error)

func (*Client) InviteOrgMember

func (c *Client) InviteOrgMember(ctx context.Context, orgName, teamName, role string, invitees []string, dryRun bool) (OrgInviteResponse, error)

func (*Client) ListOrgTeamMembers

func (c *Client) ListOrgTeamMembers(ctx context.Context, orgName string, teamName string) (OrgMembersResponse, error)

func (*Client) SetOrgSettingImageAccessManagement

func (c *Client) SetOrgSettingImageAccessManagement(ctx context.Context, orgName string, iamSettings OrgSettingImageAccessManagement) (OrgSettingImageAccessManagement, error)

func (*Client) SetOrgSettingRegistryAccessManagement

func (c *Client) SetOrgSettingRegistryAccessManagement(ctx context.Context, orgName string, reamSettings OrgSettingRegistryAccessManagement) (OrgSettingRegistryAccessManagement, error)

func (*Client) SetRepositoryPrivacy

func (c *Client) SetRepositoryPrivacy(ctx context.Context, id string, isPrivate bool) error

func (*Client) UpdateAccessToken

func (c *Client) UpdateAccessToken(ctx context.Context, accessTokenID string, accessTokenUpdate AccessTokenUpdateParams) (AccessToken, error)

func (*Client) UpdateOrgTeam

func (c *Client) UpdateOrgTeam(ctx context.Context, orgName string, teamName string, updateOrgTeam OrgTeam) (OrgTeam, error)

func (*Client) UpdatePermissionForTeamAndRepo

func (c *Client) UpdatePermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64, permission string) (TeamRepoPermission, error)

func (*Client) UpdateRepository

func (c *Client) UpdateRepository(ctx context.Context, id string, req UpdateRepositoryRequest) (Repository, error)

func (*Client) Username added in v0.3.1

func (c *Client) Username() string

type Config

type Config struct {
	BaseURL          string
	Username         string
	Password         string
	UserAgentVersion string
}

type CreateRepostoryRequest

type CreateRepostoryRequest struct {
	Name            string `json:"name"`
	Description     string `json:"description"`
	FullDescription string `json:"full_description"`
	Registry        string `json:"registry"`
	IsPrivate       bool   `json:"is_private"`
}

type ImageAccessManagementRestrictedImages

type ImageAccessManagementRestrictedImages struct {
	Enabled                 bool `json:"enabled"`
	AllowOfficialImages     bool `json:"allow_official_images"`
	AllowVerifiedPublishers bool `json:"allow_verified_publishers"`
}

type Org

type Org struct {
	ID         string `json:"id,omitempty"`
	OrgName    string `json:"orgname"`
	FullName   string `json:"full_name"`
	Location   string `json:"location"`
	Company    string `json:"company"`
	DateJoined string `json:"date_joined"`
}

type OrgInvite

type OrgInvite struct {
	ID              string `json:"id"`
	InviterUsername string `json:"inviter_username"`
	Invitee         string `json:"invitee"`
	Team            string `json:"team"`
	Org             string `json:"org"`
	Role            string `json:"role"`
	CreatedAt       string `json:"created_at"`
}

type OrgInviteResponse

type OrgInviteResponse struct {
	OrgInvitees []OrgInvitee `json:"invitees"`
}

type OrgInvitee

type OrgInvitee struct {
	Invitee string    `json:"invitee"`
	Status  string    `json:"status"`
	Invite  OrgInvite `json:"invite"`
}

type OrgMemberRequest

type OrgMemberRequest struct {
	Org      string   `json:"org"`
	Team     string   `json:"team"`
	Invitees []string `json:"invitees"`
	Role     string   `json:"role"`
	DryRun   bool     `json:"dry_run"`
}

type OrgMembersResponse

type OrgMembersResponse struct {
	Count    int             `json:"count"`
	Next     interface{}     `json:"next"`
	Previous interface{}     `json:"previous"`
	Results  []OrgTeamMember `json:"results"`
}

type OrgSettingImageAccessManagement

type OrgSettingImageAccessManagement struct {
	RestrictedImages ImageAccessManagementRestrictedImages `json:"restricted_images"`
}

type OrgSettingRegistryAccessManagement

type OrgSettingRegistryAccessManagement struct {
	Enabled            bool                                       `json:"enabled"`
	StandardRegistries []RegistryAccessManagementStandardRegistry `json:"standard_registries"`
	CustomRegistries   []RegistryAccessManagementCustomRegistry   `json:"custom_registries"`
}

type OrgSettings

type OrgSettings struct {
	OrgName     string `json:"id,omitempty"`
	TeamName    string `json:"team_name,omitempty"`
	Permissions string `json:"restricted_images"`
}

type OrgTeam

type OrgTeam struct {
	ID          int64  `json:"id"`
	UUID        string `json:"uuid"`
	Name        string `json:"name"`
	Description string `json:"description"`
	MemberCount int    `json:"member_count"`
}

type OrgTeamMember

type OrgTeamMember struct {
	ID              string   `json:"id,omitempty"`
	OrgName         string   `json:"org_name,omitempty"`
	TeamName        string   `json:"name"`
	TeamDescription string   `json:"description"`
	UUID            string   `json:"uuid"`
	Username        string   `json:"username"`
	FullName        string   `json:"full_name"`
	Location        string   `json:"location"`
	Company         string   `json:"company"`
	ProfileURL      string   `json:"profile_url"`
	DateJoined      string   `json:"date_joined"`
	GravatarURL     string   `json:"gravatar_url"`
	GravatarEmail   string   `json:"gravatar_email"`
	Type            string   `json:"type"`
	Email           string   `json:"email"`
	Role            string   `json:"role"`
	Groups          []string `json:"groups"`
	IsGuest         bool     `json:"is_guest"`
	PrimaryEmail    string   `json:"primary_email"`
}

type OrgTeamMemberRequest

type OrgTeamMemberRequest struct {
	Member string `json:"member"`
}

type Permissions

type Permissions struct {
	Read  bool `json:"read"`
	Write bool `json:"write"`
	Admin bool `json:"admin"`
}

type RegistryAccessManagementCustomRegistry

type RegistryAccessManagementCustomRegistry struct {
	Address      string `json:"address"`
	FriendlyName string `json:"friendly_name"`
	Allowed      bool   `json:"allowed"`
}

type RegistryAccessManagementStandardRegistry

type RegistryAccessManagementStandardRegistry struct {
	ID      string `json:"id"`
	Allowed bool   `json:"allowed"`
}

type Repositories

type Repositories struct {
	Count    int          `json:"count"`
	Next     interface{}  `json:"next,omitempty"`
	Previous interface{}  `json:"previous,omitempty"`
	Results  []Repository `json:"results"`
}

type Repository

type Repository struct {
	Name              string      `json:"name"`
	Namespace         string      `json:"namespace"`
	RepositoryType    string      `json:"repository_type,omitempty"`
	IsPrivate         bool        `json:"is_private"`
	Status            int         `json:"status"`
	StatusDescription string      `json:"status_description"`
	Description       string      `json:"description"`
	StarCount         int64       `json:"star_count"`
	PullCount         int64       `json:"pull_count"`
	LastUpdated       string      `json:"last_updated"`
	DateRegistered    string      `json:"date_registered"`
	Affiliation       string      `json:"affiliation"`
	MediaTypes        []string    `json:"media_types,omitempty"`
	ContentTypes      []string    `json:"content_types,omitempty"`
	User              string      `json:"use"`
	IsAutomated       bool        `json:"is_automated"`
	CollaboratorCount int64       `json:"collaborator_count"`
	HubUser           string      `json:"hub_user"`
	HasStarred        bool        `json:"has_starred"`
	FullDescription   string      `json:"full_description"`
	Permissions       Permissions `json:"permissions"`
}

type SetRepositoryPrivacyRequest

type SetRepositoryPrivacyRequest struct {
	IsPrivate bool `json:"is_private"`
}

type TeamRepoPermission

type TeamRepoPermission struct {
	TeamID     int64  `json:"group_id"`
	TeamName   string `json:"group_name"`
	Permission string `json:"permission"`
}

type TeamRepoPermissionLevel

type TeamRepoPermissionLevel string

type Token

type Token struct {
	Token string `json:"token"`
}

type UpdateRepositoryRequest

type UpdateRepositoryRequest struct {
	Description     string `json:"description"`
	FullDescription string `json:"full_description"`
}

Jump to

Keyboard shortcuts

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