Documentation
¶
Index ¶
- Constants
- type AccessToken
- type AccessTokenCreateParams
- type AccessTokenPage
- type AccessTokenUpdateParams
- type Client
- func (c *Client) AddOrgTeamMember(ctx context.Context, orgName string, teamName string, userName string) error
- func (c *Client) CreateAccessToken(ctx context.Context, accessToken AccessTokenCreateParams) (AccessToken, error)
- func (c *Client) CreateOrgTeam(ctx context.Context, orgName string, createOrgTeam OrgTeam) (OrgTeam, error)
- func (c *Client) CreatePermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64, permission string) (TeamRepoPermission, error)
- func (c *Client) CreateRepository(ctx context.Context, namespace string, req CreateRepositoryRequest) (Repository, error)
- func (c *Client) DeleteAccessToken(ctx context.Context, accessTokenID string) error
- func (c *Client) DeleteOrgInvite(ctx context.Context, inviteID string) error
- func (c *Client) DeleteOrgMember(ctx context.Context, orgName string, userName string) error
- func (c *Client) DeleteOrgTeam(ctx context.Context, orgName string, teamName string) error
- func (c *Client) DeleteOrgTeamMember(ctx context.Context, orgName string, teamName string, userName string) error
- func (c *Client) DeletePermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64) error
- func (c *Client) DeleteRepository(ctx context.Context, id string) error
- func (c *Client) GetAccessToken(ctx context.Context, accessTokenID string) (AccessToken, error)
- func (c *Client) GetAccessTokens(ctx context.Context) (AccessTokenPage, error)
- func (c *Client) GetOrg(ctx context.Context, orgName string) (Org, error)
- func (c *Client) GetOrgSettingImageAccessManagement(ctx context.Context, orgName string) (OrgSettingImageAccessManagement, error)
- func (c *Client) GetOrgSettingRegistryAccessManagement(ctx context.Context, orgName string) (OrgSettingRegistryAccessManagement, error)
- func (c *Client) GetOrgSettings(ctx context.Context, orgName string) (Org, error)
- func (c *Client) GetOrgTeam(ctx context.Context, orgName string, teamName string) (OrgTeam, error)
- func (c *Client) GetPermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64) (TeamRepoPermission, error)
- func (c *Client) GetRepositories(ctx context.Context, namespace string) (Repositories, error)
- func (c *Client) GetRepository(ctx context.Context, id string) (Repository, error)
- func (c *Client) GetRepositoryTag(ctx context.Context, namespace string, repository string, tag string) (Tag, error)
- func (c *Client) GetRepositoryTags(ctx context.Context, namespace, name string) (*Tags, error)
- func (c *Client) InviteOrgMember(ctx context.Context, orgName, role string, invitees []string, dryRun bool) (OrgInviteResponse, error)
- func (c *Client) ListOrgInvites(ctx context.Context, orgName string) ([]OrgInvite, error)
- func (c *Client) ListOrgMembers(ctx context.Context, orgName string) ([]OrgMember, error)
- func (c *Client) ListOrgTeamMembers(ctx context.Context, orgName string, teamName string) ([]OrgTeamMember, error)
- func (c *Client) MaxPageResults() int64
- func (c *Client) SetOrgSettingImageAccessManagement(ctx context.Context, orgName string, ...) (OrgSettingImageAccessManagement, error)
- func (c *Client) SetOrgSettingRegistryAccessManagement(ctx context.Context, orgName string, ...) (OrgSettingRegistryAccessManagement, error)
- func (c *Client) SetRepositoryPrivacy(ctx context.Context, id string, isPrivate bool) error
- func (c *Client) UpdateAccessToken(ctx context.Context, accessTokenID string, ...) (AccessToken, error)
- func (c *Client) UpdateOrgMember(ctx context.Context, orgName string, userName string, role OrgRoleParam) error
- func (c *Client) UpdateOrgTeam(ctx context.Context, orgName string, teamName string, updateOrgTeam OrgTeam) (OrgTeam, error)
- func (c *Client) UpdatePermissionForTeamAndRepo(ctx context.Context, repository string, teamID int64, permission string) (TeamRepoPermission, error)
- func (c *Client) UpdateRepository(ctx context.Context, id string, req UpdateRepositoryRequest) (Repository, error)
- func (c *Client) Username() string
- type Config
- type CreateRepositoryRequest
- type ImageAccessManagementRestrictedImages
- type ImmutableTagsSettings
- type Org
- type OrgInvite
- type OrgInviteResponse
- type OrgInvitee
- type OrgInvitesListResponse
- type OrgMember
- type OrgMemberListResponse
- type OrgMemberRequest
- type OrgRoleParam
- type OrgSettingImageAccessManagement
- type OrgSettingRegistryAccessManagement
- type OrgSettings
- type OrgTeam
- type OrgTeamMember
- type OrgTeamMemberRequest
- type OrgTeamMembersResponse
- type Permissions
- type RegistryAccessManagementCustomRegistry
- type RegistryAccessManagementStandardRegistry
- type Repositories
- type Repository
- type SetRepositoryPrivacyRequest
- type Tag
- type TagImage
- type Tags
- type TeamRepoPermission
- type TeamRepoPermissionLevel
- type TokenProvider
- type UpdateRepositoryRequest
Constants ¶
View Source
const ( TeamRepoPermissionLevelRead = "read" TeamRepoPermissionLevelWrite = "write" TeamRepoPermissionLevelAdmin = "admin" )
View Source
const ImmutableTagRulesSeparator = ","
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"`
ExpiresAt string `json:"expires_at,omitempty"`
}
type AccessTokenCreateParams ¶
type AccessTokenPage ¶
type AccessTokenPage struct {
Count int `json:"count"`
Next interface{} `json:"next,omitempty"`
Previous interface{} `json:"previous,omitempty"`
Results []AccessToken `json:"results"`
}
type AccessTokenUpdateParams ¶
type Client ¶
type Client struct {
BaseURL string
HTTPClient *http.Client
// contains filtered or unexported fields
}
func (*Client) AddOrgTeamMember ¶
func (*Client) CreateAccessToken ¶
func (c *Client) CreateAccessToken(ctx context.Context, accessToken AccessTokenCreateParams) (AccessToken, error)
func (*Client) CreateOrgTeam ¶
func (*Client) CreatePermissionForTeamAndRepo ¶
func (*Client) CreateRepository ¶
func (c *Client) CreateRepository(ctx context.Context, namespace string, req CreateRepositoryRequest) (Repository, error)
func (*Client) DeleteAccessToken ¶
func (*Client) DeleteOrgInvite ¶
func (*Client) DeleteOrgMember ¶
func (*Client) DeleteOrgTeam ¶
func (*Client) DeleteOrgTeamMember ¶
func (*Client) DeletePermissionForTeamAndRepo ¶
func (*Client) DeleteRepository ¶
func (*Client) GetAccessToken ¶
func (*Client) GetAccessTokens ¶
func (c *Client) GetAccessTokens(ctx context.Context) (AccessTokenPage, error)
func (*Client) GetOrgSettingImageAccessManagement ¶
func (*Client) GetOrgSettingRegistryAccessManagement ¶
func (*Client) GetOrgSettings ¶
func (*Client) GetOrgTeam ¶
func (*Client) GetPermissionForTeamAndRepo ¶
func (*Client) GetRepositories ¶
func (*Client) GetRepository ¶
func (*Client) GetRepositoryTag ¶ added in v0.5.0
func (*Client) GetRepositoryTags ¶ added in v0.5.0
func (*Client) InviteOrgMember ¶
func (*Client) ListOrgInvites ¶ added in v0.4.0
func (*Client) ListOrgMembers ¶ added in v0.4.0
func (*Client) ListOrgTeamMembers ¶
func (*Client) MaxPageResults ¶ added in v0.5.0
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 (*Client) UpdateAccessToken ¶
func (c *Client) UpdateAccessToken(ctx context.Context, accessTokenID string, accessTokenUpdate AccessTokenUpdateParams) (AccessToken, error)
func (*Client) UpdateOrgMember ¶ added in v0.5.3
func (*Client) UpdateOrgTeam ¶
func (*Client) UpdatePermissionForTeamAndRepo ¶
func (*Client) UpdateRepository ¶
func (c *Client) UpdateRepository(ctx context.Context, id string, req UpdateRepositoryRequest) (Repository, error)
type Config ¶
type Config struct {
BaseURL string
TokenProvider TokenProvider
Transport http.RoundTripper
MaxPageResults int64
}
type CreateRepositoryRequest ¶ added in v0.5.0
type ImmutableTagsSettings ¶ added in v0.5.0
type OrgInviteResponse ¶
type OrgInviteResponse struct {
OrgInvitees []OrgInvitee `json:"invitees"`
}
type OrgInvitee ¶
type OrgInvitesListResponse ¶ added in v0.4.0
type OrgInvitesListResponse struct {
Data []OrgInvite `json:"data"`
}
type OrgMember ¶ added in v0.4.0
type OrgMember struct {
Email string `json:"email"` // User's email address
Role string `json:"role"` // Enum: "Owner", "Member", "Invitee" - User's role in the Organization
Groups []string `json:"groups"` // Groups (Teams) that the user is member of
IsGuest bool `json:"is_guest"` // If the organization has verified domains
ID string `json:"id"` // The UUID trimmed
Company string `json:"company"` // Company name
DateJoined string `json:"date_joined"` // Date joined
FullName string `json:"full_name"` // Full name
GravatarEmail string `json:"gravatar_email"` // Gravatar email
GravatarURL string `json:"gravatar_url"` // Gravatar URL
Location string `json:"location"` // Location
ProfileURL string `json:"profile_url"` // Profile URL
Type string `json:"type"` // Enum: "User", "Org"
Username string `json:"username"` // Username
}
OrgMember represents each organization member
type OrgMemberListResponse ¶ added in v0.4.0
type OrgMemberListResponse struct {
Count int `json:"count"` // The total number of items that match with the search.
Previous string `json:"previous"` // The URL or link for the previous page of items.
Next string `json:"next"` // The URL or link for the next page of items.
Results []OrgMember `json:"results"` // List of accounts.
}
OrgMemberList response
type OrgMemberRequest ¶
type OrgRoleParam ¶ added in v0.5.3
type OrgRoleParam string
Weirdly, org role params are lowercase even though org role return values are uppercase.
const ( OrgRoleParamOwner OrgRoleParam = "owner" OrgRoleParamEditor OrgRoleParam = "editor" OrgRoleParamMember OrgRoleParam = "member" )
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 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 OrgTeamMembersResponse ¶ added in v0.4.0
type OrgTeamMembersResponse struct {
Count int `json:"count"`
Next string `json:"next"`
Previous string `json:"previous"`
Results []OrgTeamMember `json:"results"`
}
type Permissions ¶
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"`
ImmutableTagsSettings ImmutableTagsSettings `json:"immutable_tags_settings"`
}
type SetRepositoryPrivacyRequest ¶
type SetRepositoryPrivacyRequest struct {
IsPrivate bool `json:"is_private"`
}
type Tag ¶ added in v0.5.0
type Tag struct {
Name string `json:"name"`
FullSize int64 `json:"full_size"`
ID int64 `json:"id"`
Repository int64 `json:"repository"`
Creator int64 `json:"creator"`
LastUpdated string `json:"last_updated"`
LastUpdater int64 `json:"last_updater"`
LastUpdaterName string `json:"last_updater_username"`
ImageID string `json:"image_id"`
V2 bool `json:"v2"`
TagStatus string `json:"tag_status"`
TagLastPulled string `json:"tag_last_pulled"`
TagLastPushed string `json:"tag_last_pushed"`
MediaType string `json:"media_type"`
ContentType string `json:"content_type"`
Digest string `json:"digest"`
Images []TagImage `json:"images"`
}
type TagImage ¶ added in v0.5.0
type TagImage struct {
Architecture string `json:"architecture"`
Features string `json:"features"`
Variant string `json:"variant"`
Digest string `json:"digest"`
OS string `json:"os"`
OSFeatures string `json:"os_features"`
OSVersion string `json:"os_version"`
Size int64 `json:"size"`
Status string `json:"status"`
LastPulled string `json:"last_pulled"`
LastPushed string `json:"last_pushed"`
}
type TeamRepoPermission ¶
type TeamRepoPermissionLevel ¶
type TeamRepoPermissionLevel string
type TokenProvider ¶ added in v0.5.0
type TokenProvider interface {
// EnsureToken returns a valid token, refreshing if necessary
EnsureToken(ctx context.Context) (token string, err error)
// Username returns the username associated with this provider (for display purposes)
Username() string
}
TokenProvider provides a valid authentication token for API requests
Click to show internal directories.
Click to hide internal directories.