Documentation
¶
Index ¶
- Constants
- Variables
- func GeneratePass() string
- type AccountFilter
- type AuthStruct
- type Client
- func (c *Client) AddUserToTeam(ctx context.Context, orgID string, teamID string, user ResponseAccount) error
- func (c *Client) CreateAccount(ctx context.Context, acc CreateAccount) (ResponseAccount, error)
- func (c *Client) CreatePruningPolicy(ctx context.Context, orgName string, repoName string, ...) (ResponsePruningPolicy, error)
- func (c *Client) CreateRepo(ctx context.Context, orgName string, repo CreateRepo) (ResponseRepo, error)
- func (c *Client) CreateTeam(ctx context.Context, orgID string, team Team) (Team, error)
- func (c *Client) DeleteAccount(ctx context.Context, id string) error
- func (c *Client) DeletePruningPolicy(ctx context.Context, orgName string, repoName string, policyId string) error
- func (c *Client) DeleteRepo(ctx context.Context, orgName string, repoName string) error
- func (c *Client) DeleteTeam(ctx context.Context, orgID string, teamID string) error
- func (c *Client) DeleteUserFromTeam(ctx context.Context, orgID string, teamID string, userID string) error
- func (c *Client) GetMSRVersion(ctx context.Context) (string, error)
- func (c *Client) GetTeamUsers(ctx context.Context, orgID string, teamID string) (teamUsers, error)
- func (c *Client) IsHealthy(ctx context.Context) (bool, error)
- func (c *Client) PruningPolicyExists(ctx context.Context, newPolicy CreatePruningPolicy, ...) ResponsePruningPolicy
- func (c *Client) ReadAccount(ctx context.Context, id string) (ResponseAccount, error)
- func (c *Client) ReadAccounts(ctx context.Context, accFilter AccountFilter) ([]ResponseAccount, error)
- func (c *Client) ReadPruningPolicies(ctx context.Context, orgName string, repoName string) ([]ResponsePruningPolicy, error)
- func (c *Client) ReadPruningPolicy(ctx context.Context, orgName string, repoName string, policyId string) (ResponsePruningPolicy, error)
- func (c *Client) ReadRepo(ctx context.Context, orgName string, repoName string) (ResponseRepo, error)
- func (c *Client) ReadTeam(ctx context.Context, orgID string, teamID string) (Team, error)
- func (c *Client) UpdateAccount(ctx context.Context, id string, acc UpdateAccount) (ResponseAccount, error)
- func (c *Client) UpdatePruningPolicy(ctx context.Context, orgName string, repoName string, ...) (ResponsePruningPolicy, error)
- func (c *Client) UpdateRepo(ctx context.Context, orgName string, repoName string, repo UpdateRepo) (ResponseRepo, error)
- func (c *Client) UpdateTeam(ctx context.Context, orgID string, team Team) (Team, error)
- func (c *Client) UpdateTeamUsers(ctx context.Context, orgID string, teamID string, newUsers []string) error
- type CreateAccount
- type CreatePruningPolicy
- type CreateRepo
- type Errors
- type HealthResponse
- type MSRVersion
- type PruningPolicyRuleAPI
- type PruningPolicyRuleTFSDK
- type ResponseAccount
- type ResponseError
- type ResponsePruningPolicy
- type ResponseRepo
- type Team
- type UpdateAccount
- type UpdateRepo
Constants ¶
const ( // MSRAPIVERSION the. MSRAPIVERSION = "api/v0" ENZIENDPOINT = "enzi/v0" // MsrURL - Default MSR URL. DEFAULTMSRURL = "http://localhost:80" )
Variables ¶
var ( ErrEmptyClientArgs = errors.New("MSR client did not receive host, username and/or password") ErrRequestCreation = errors.New("creating request failed in MSR client") ErrMarshaling = errors.New("marshalling struct failed in MSR client") ErrUnmarshaling = errors.New("unmarshalling struc failed in MSR client") ErrEmptyResError = errors.New("request returned empty ResponseError struct in MSR client") ErrResponseError = errors.New("request returned ResponseError in MSR client") ErrEmptyStruct = errors.New("empty struct passed in MSR client") ErrInvalidFilter = errors.New("passing invalid account retrieval filter in MSR client") ErrIDHasNoRepoName = errors.New("ID doesn't contain repository name in MSR client") ErrInvalidResourceIDFormat = errors.New("resource ID is invalid format") )
Functions ¶
Types ¶
type AccountFilter ¶
type AccountFilter string
Account filters enum.
const ( Users AccountFilter = "user" Orgs AccountFilter = "orgs" Admins AccountFilter = "admins" NonAdmins AccountFilter = "non-admins" ActiveUsers AccountFilter = "active-users" InactiveUsers AccountFilter = "inactive-users" )
func (AccountFilter) APIFormOfFilter ¶
func (accF AccountFilter) APIFormOfFilter() string
APIFormOfFilter is a string readable form of the AccountFilters enum.
type AuthStruct ¶
AuthStruct basicauth struct.
type Client ¶
type Client struct { MsrURL string HTTPClient *http.Client Creds AuthStruct TestMode bool }
Client MSR client.
func NewClient ¶
func NewClient(username, password, MsrURL string, testMode bool, HTTPClient *http.Client) (Client, error)
NewClient creates a new MSR API Client from raw components.
func NewDefaultClient ¶
NewDefaultClient creates a new MSR SSL safe Client.
func NewUnsafeSSLClient ¶
NewUnsafeSSLClient creates a new unsafe MSR HTTP Client.
func (*Client) AddUserToTeam ¶
func (c *Client) AddUserToTeam(ctx context.Context, orgID string, teamID string, user ResponseAccount) error
AddUserToTeam adds user to a team.
func (*Client) CreateAccount ¶
func (c *Client) CreateAccount(ctx context.Context, acc CreateAccount) (ResponseAccount, error)
CreateAccount method - checking the MSR health endpoint.
func (*Client) CreatePruningPolicy ¶ added in v0.9.4
func (c *Client) CreatePruningPolicy(ctx context.Context, orgName string, repoName string, policy CreatePruningPolicy) (ResponsePruningPolicy, error)
CreatePruningPolicy creates a pruning policy in MSR.
func (*Client) CreateRepo ¶
func (c *Client) CreateRepo(ctx context.Context, orgName string, repo CreateRepo) (ResponseRepo, error)
CreateRepo creates a repo in MSR.
func (*Client) CreateTeam ¶
CreateTeam creates a team in Enzin.
func (*Client) DeleteAccount ¶
DeleteAccount deletes a user from in Enzi.
func (*Client) DeletePruningPolicy ¶ added in v0.9.4
func (c *Client) DeletePruningPolicy(ctx context.Context, orgName string, repoName string, policyId string) error
DeletePruningPolicy deletes a pruning policy in MSR.
func (*Client) DeleteRepo ¶
DeleteRepo deletes a repo from MSR.
func (*Client) DeleteTeam ¶
DeleteTeam deletes a team from Enzi.
func (*Client) DeleteUserFromTeam ¶
func (c *Client) DeleteUserFromTeam(ctx context.Context, orgID string, teamID string, userID string) error
DeleteUserFromTeam deletes a user from a given team.
func (*Client) GetMSRVersion ¶
VerifGetMSRVersion returns the MSR instance version given the credentials are valid.
func (*Client) GetTeamUsers ¶
GetTeamUsers retrieves the users of a given team.
func (*Client) PruningPolicyExists ¶ added in v0.9.5
func (c *Client) PruningPolicyExists(ctx context.Context, newPolicy CreatePruningPolicy, existingPolicies []ResponsePruningPolicy) ResponsePruningPolicy
PruningPolicyExists compares if a pruning policy exists within a existing pruning policies.
func (*Client) ReadAccount ¶
ReadAccount method retrieves a user from the enzi endpoint.
func (*Client) ReadAccounts ¶
func (c *Client) ReadAccounts(ctx context.Context, accFilter AccountFilter) ([]ResponseAccount, error)
ReadAccounts method retrieves all accounts depending on the filter passed from the enzi endpoint.
func (*Client) ReadPruningPolicies ¶ added in v0.9.5
func (c *Client) ReadPruningPolicies(ctx context.Context, orgName string, repoName string) ([]ResponsePruningPolicy, error)
ReadPruningPolicy reads the pruning policies of a repo in MSR.
func (*Client) ReadPruningPolicy ¶ added in v0.9.4
func (c *Client) ReadPruningPolicy(ctx context.Context, orgName string, repoName string, policyId string) (ResponsePruningPolicy, error)
ReadPruningPolicy reads specific pruning policy of a repo in MSR.
func (*Client) ReadRepo ¶
func (c *Client) ReadRepo(ctx context.Context, orgName string, repoName string) (ResponseRepo, error)
ReadRepo method retrieves a repo from the MSR endpoint.
func (*Client) UpdateAccount ¶
func (c *Client) UpdateAccount(ctx context.Context, id string, acc UpdateAccount) (ResponseAccount, error)
UpdateAccount updates a user in the enzi endpoint.
func (*Client) UpdatePruningPolicy ¶ added in v0.9.4
func (c *Client) UpdatePruningPolicy(ctx context.Context, orgName string, repoName string, policy CreatePruningPolicy, policyId string) (ResponsePruningPolicy, error)
UpdatePruningPolicy updates a pruning policy in MSR.
func (*Client) UpdateRepo ¶
func (c *Client) UpdateRepo(ctx context.Context, orgName string, repoName string, repo UpdateRepo) (ResponseRepo, error)
UpdateRepo updates a repo in the MSR endpoint.
func (*Client) UpdateTeam ¶
UpdateTeam updates a team in the enzi endpoint.
type CreateAccount ¶
type CreateAccount struct { Name string `json:"name"` ID string `json:"id"` Password string `json:"password"` FullName string `json:"fullName,omitempty"` IsActive bool `json:"isActive,omitempty"` IsAdmin bool `json:"isAdmin,omitempty"` IsOrg bool `json:"isOrg,omitempty"` SearchLDAP bool `json:"searchLDAP,omitempty"` }
CreateAccount struct.
type CreatePruningPolicy ¶ added in v0.9.4
type CreatePruningPolicy struct { Enabled bool `json:"enabled"` Rules []PruningPolicyRuleAPI `json:"rules"` }
type CreateRepo ¶
type CreateRepo struct { ImmutableTags bool `json:"immutableTags"` LongDescription string `json:"longDescription"` Name string `json:"name"` ScanOnPush bool `json:"scanOnPush"` ShortDescription string `json:"shortDescription"` TagLimit int `json:"tagLimit"` Visibility string `json:"visibility" enum:"public|private"` }
type HealthResponse ¶
HealthResponse structure from MSR.
type MSRVersion ¶
type MSRVersion struct {
Version string `json:"version"`
}
type PruningPolicyRuleAPI ¶ added in v0.9.4
type PruningPolicyRuleAPI struct { Field string `tfsdk:"field" json:"field"` Operator string `tfsdk:"operator" json:"operator"` Values []string `tfsdk:"values" json:"values"` }
func PruningPolicyRulesToAPI ¶ added in v0.9.4
func PruningPolicyRulesToAPI(ctx context.Context, rules []PruningPolicyRuleTFSDK) []PruningPolicyRuleAPI
PruningPolicyRulesToAPI converts slice of PruningPolicyRuleTFSDK rules to PruningPolicyRuleAPI.
func (*PruningPolicyRuleAPI) PruningPolicyRuleToTFSDK ¶ added in v0.9.4
func (r *PruningPolicyRuleAPI) PruningPolicyRuleToTFSDK(ctx context.Context) PruningPolicyRuleTFSDK
PruningPolicyRuleToTFSDK converts a single PruningPolicyRuleAPI rule to PruningPolicyRuleToTFSDK.
type PruningPolicyRuleTFSDK ¶ added in v0.9.4
type PruningPolicyRuleTFSDK struct { Field types.String `tfsdk:"field" json:"field"` Operator types.String `tfsdk:"operator" json:"operator"` Values []types.String `tfsdk:"values" json:"values"` }
func PruningPolicyRulesToTFSDK ¶ added in v0.9.4
func PruningPolicyRulesToTFSDK(ctx context.Context, rules []PruningPolicyRuleAPI) []PruningPolicyRuleTFSDK
PruningPolicyRulesToTFSDK converts slice of PruningPolicyRuleAPI rules to PruningPolicyRuleTFSDK.
func (*PruningPolicyRuleTFSDK) PruningPolicyRuleToAPI ¶ added in v0.9.4
func (r *PruningPolicyRuleTFSDK) PruningPolicyRuleToAPI(ctx context.Context) PruningPolicyRuleAPI
PruningPolicyRuleToAPI converts a single PruningPolicyRuleTFSDK rule to PruningPolicyRuleAPI.
type ResponseAccount ¶
type ResponseAccount struct { Name string `json:"name"` ID string `json:"id"` FullName string `json:"fullName,omitempty"` IsActive bool `json:"isActive"` IsAdmin bool `json:"isAdmin"` IsOrg bool `json:"isOrg"` IsImported bool `json:"isImported"` OnDemand bool `json:"onDemand"` OtpEnabled bool `json:"otpEnabled"` MembersCount int `json:"membersCount"` TeamsCount int `json:"teamsCount"` }
ResponseAccount struct.
type ResponseError ¶
type ResponseError struct {
Errors []Errors `json:"errors"`
}
ResponseError structure from MSR.
type ResponsePruningPolicy ¶ added in v0.9.4
type ResponsePruningPolicy struct { ID string `json:"id"` Enabled bool `json:"enabled"` Rules []PruningPolicyRuleAPI `json:"rules"` }
type ResponseRepo ¶
type ResponseRepo struct { ID string `json:"id"` ImmutableTags bool `json:"immutableTags"` LongDescription string `json:"longDescription"` Name string `json:"name"` Namespace string `json:"namespace"` NamespaceType string `json:"namespaceType"` Pulls int `json:"pulls"` Pushes int `json:"pushes"` ScanOnPush bool `json:"scanOnPush"` ShortDescription string `json:"shortDescription"` TagLimit int `json:"tagLimit"` Visibility string `json:"visibility" enum:"public|private"` }
type UpdateAccount ¶
type UpdateAccount struct { FullName string `json:"fullName,omitempty"` IsActive bool `json:"isActive,omitempty"` IsAdmin bool `json:"isAdmin,omitempty"` }
UpdateAccount struct.