Documentation ¶
Index ¶
- Constants
- Variables
- type AnonymousConfig
- type Asset
- type AssetList
- type Blobstore
- type BlobstoreS3AdvancedBucketConnection
- type BlobstoreS3Bucket
- type BlobstoreS3BucketConfiguration
- type BlobstoreS3BucketSecurity
- type BlobstoreS3Encryption
- type BlobstoreSoftQuota
- type Certificate
- type CertificateRequest
- type Client
- type Component
- type ComponentList
- type Config
- type ContentSelector
- type LDAP
- type Privilege
- type Realm
- type Repository
- type RepositoryApt
- type RepositoryAptSigning
- type RepositoryBower
- type RepositoryCleanup
- type RepositoryComponent
- type RepositoryDocker
- type RepositoryDockerProxy
- type RepositoryGroup
- type RepositoryHTTPClient
- type RepositoryHTTPClientAuthentication
- type RepositoryHTTPClientConnection
- type RepositoryMaven
- type RepositoryNegativeCache
- type RepositoryNugetProxy
- type RepositoryProxy
- type RepositoryStorage
- type RepositoryYum
- type Role
- type RoutingRule
- type RoutingRuleMode
- type SAML
- type Script
- type User
- type UserTokenConfiguration
Constants ¶
const ( BlobstoreTypeFile = "File" BlobstoreTypeS3 = "S3" )
const ( // ContentTypeApplicationJSON ... ContentTypeApplicationJSON = "application/json" // ContentTypeTextPlain ... ContentTypeTextPlain = "text/plain" )
const ( // PrivilegeDomains PrivilegeDomainAll = "*" PrivilegeDomainAPIKey = "apikey" PrivilegeDomainAnalytics = "analytics" PrivilegeDomainAtlas = "atlas" PrivilegeDomainBlobstores = "blobstores" PrivilegeDomainBundles = "bundles" PrivilegeDomainCapabilities = "capabilities" PrivilegeDomainComponent = "component" PrivilegeDomainDatastores = "datastores" PrivilegeDomainHealthcheck = "healthcheck" PrivilegeDomainHealthcheckSummary = "healthchecksummary" PrivilegeDomainIQViolationSummery = "iq-violation-summary" PrivilegeDomainLDAP = "ldap" PrivilegeDomainLicensing = "licensing" PrivilegeDomainLogging = "logging" PrivilegeDomainMetrics = "metrics" PrivilegeDomainPrivileges = "privileges" PrivilegeDomainRoles = "roles" PrivilegeDomainSearch = "search" PrivilegeDomainSelectors = "selectors" PrivilegeDomainSettings = "settings" PrivilegeDomainSSLTruststore = "ssl-truststore" PrivilegeDomainTasks = "tasks" PrivilegeDomainUsers = "users" PrivilegeDomainUsersChangePW = "userschangepw" PrivilegeDomainWonderland = "wonderland" // PrivilegeTypes PrivilegeTypeApplication = "application" PrivilegeTypeContentSelector = "repository-content-selector" PrivilegeTypeRepositoryAdmin = "repository-admin" PrivilegeTypeRepositoryView = "repository-view" PrivilegeTypeScript = "script" PrivilegeTypeWildcard = "wildcard" )
const ( RepositoryFormatApt = "apt" RepositoryFormatBower = "bower" RepositoryFormatConan = "conan" RepositoryFormatDocker = "docker" RepositoryFormatGitLFS = "gitlfs" RepositoryFormatGo = "go" RepositoryFormatHelm = "helm" RepositoryFormatMaven2 = "maven2" RepositoryFormatNPM = "npm" RepositoryFormatNuget = "nuget" RepositoryFormatP2 = "p2" RepositoryFormatPyPi = "pypi" RepositoryFormatRAW = "raw" RepositoryFormatRuby = "rubygems" RepositoryFormatYum = "yum" RepositoryTypeGroup = "group" RepositoryTypeHosted = "hosted" RepositoryTypeProxy = "proxy" )
Variables ¶
var ( // PrivilegeDomains represents a string slice of supported privilege domains PrivilegeDomains []string = []string{ PrivilegeDomainAll, PrivilegeDomainAPIKey, PrivilegeDomainAnalytics, PrivilegeDomainAtlas, PrivilegeDomainBlobstores, PrivilegeDomainBundles, PrivilegeDomainCapabilities, PrivilegeDomainComponent, PrivilegeDomainDatastores, PrivilegeDomainHealthcheck, PrivilegeDomainHealthcheckSummary, PrivilegeDomainIQViolationSummery, PrivilegeDomainLDAP, PrivilegeDomainLicensing, PrivilegeDomainLogging, PrivilegeDomainMetrics, PrivilegeDomainPrivileges, PrivilegeDomainRoles, PrivilegeDomainSearch, PrivilegeDomainSelectors, PrivilegeDomainSettings, PrivilegeDomainSSLTruststore, PrivilegeDomainTasks, PrivilegeDomainUsers, PrivilegeDomainUsersChangePW, PrivilegeDomainWonderland, } // PrivilegeTypes represents a string slice of possible privilege types PrivilegeTypes []string = []string{ PrivilegeTypeApplication, PrivilegeTypeContentSelector, PrivilegeTypeRepositoryAdmin, PrivilegeTypeRepositoryView, PrivilegeTypeScript, PrivilegeTypeWildcard, } )
var ( // RepositoryFormats contains a list of all supported repository formats RepositoryFormats = []string{ RepositoryFormatApt, RepositoryFormatBower, RepositoryFormatConan, RepositoryFormatDocker, RepositoryFormatGitLFS, RepositoryFormatGo, RepositoryFormatHelm, RepositoryFormatMaven2, RepositoryFormatNPM, RepositoryFormatNuget, RepositoryFormatP2, RepositoryFormatPyPi, RepositoryFormatRAW, RepositoryFormatRuby, RepositoryFormatYum, } // RepositoryTypes contains a list of all supported repository types RepositoryTypes = []string{ RepositoryTypeGroup, RepositoryTypeHosted, RepositoryTypeProxy, } )
Functions ¶
This section is empty.
Types ¶
type AnonymousConfig ¶ added in v0.20.1
type AnonymousConfig struct { Enabled bool `json:"enabled"` UserID string `json:"userId"` RealmName string `json:"realmName"` }
Anonymous config
type Blobstore ¶ added in v0.20.1
type Blobstore struct { AvailableSpaceInBytes int `json:"availableSpaceInBytes"` BlobCount int `json:"blobCount"` Name string `json:"name"` Path string `json:"path,omitempty"` // only if type File TotalSizeInBytes int `json:"totalSizeInBytes"` Type string `json:"type"` *BlobstoreS3BucketConfiguration `json:"bucketConfiguration,omitempty"` *BlobstoreSoftQuota `json:"softQuota,omitempty"` }
Blobstore data
type BlobstoreS3AdvancedBucketConnection ¶ added in v0.20.1
type BlobstoreS3AdvancedBucketConnection struct { Endpoint string `json:"endpoint"` SignerType string `json:"signerType"` ForcePathStyle bool `json:"forcePathStyle"` }
BlobstoreS3AdvancedBucketConnection data
type BlobstoreS3Bucket ¶ added in v0.20.1
type BlobstoreS3Bucket struct { Expiration int `json:"expiration"` Name string `json:"name"` Prefix string `json:"prefix"` Region string `json:"region"` }
BlobstoreS3Bucket data
type BlobstoreS3BucketConfiguration ¶ added in v0.20.1
type BlobstoreS3BucketConfiguration struct { *BlobstoreS3Bucket `json:"bucket,omitempty"` *BlobstoreS3Encryption `json:"encryption,omitempty"` *BlobstoreS3BucketSecurity `json:"bucketSecurity,omitempty"` *BlobstoreS3AdvancedBucketConnection `json:"advancedBucketConnection,omitempty"` }
BlobstoreS3BucketConfiguration data
type BlobstoreS3BucketSecurity ¶ added in v0.20.1
type BlobstoreS3BucketSecurity struct { AccessKeyID string `json:"accessKeyId"` Role string `json:"role"` SecretAccessKey string `json:"secretAccessKey"` SessionToken string `json:"sessionToken"` }
BlobstoreS3BucketSecurity data
type BlobstoreS3Encryption ¶ added in v0.20.1
type BlobstoreS3Encryption struct { Key string `json:"encryptionKey"` Type string `json:"encryptionType"` }
BlobstoreS3Encryption data
type BlobstoreSoftQuota ¶ added in v0.20.1
BlobstoreSoftQuota data
type Certificate ¶ added in v0.20.1
type Certificate struct { Id string `json:"id"` Fingerprint string `json:"fingerprint"` SerialNumber string `json:"serialNumber"` IssuerCommonName string `json:"issuerCommonName"` IssuerOrganization string `json:"issuerOrganization"` IssuerOrganizationUnit string `json:"issuerOrganizationalUnit"` SubjectCommonName string `json:"subjectCommonName"` SubjectOrganization string `json:"subjectOrganization"` SubjectOrganizationUnit string `json:"subjectOrganizationalUnit"` Pem string `json:"pem"` IssuedOn int64 `json:"issuedOn"` ExpiresOn int64 `json:"expiresOn"` }
type CertificateRequest ¶ added in v0.20.1
func NewCertificateRequest ¶ added in v0.20.1
func NewCertificateRequest(proxyUrl string) (*CertificateRequest, error)
type Client ¶
type Client interface { AnonymousRead() (*AnonymousConfig, error) AnonymousUpdate(AnonymousConfig) error AssetRead(string) (*Asset, error) AssetDelete(string) error AssetList(string) ([]Asset, error) BlobstoreCreate(Blobstore) error BlobstoreDelete(string) error BlobstoreRead(string) (*Blobstore, error) BlobstoreUpdate(string, Blobstore) error CertificateCreate(*Certificate) error CertificateDelete(string) error CertificateGet(*CertificateRequest) (*Certificate, error) CertificateList() (*[]Certificate, error) ContentSelectorCreate(ContentSelector) error ContentSelectorDelete(string) error ContentSelectorRead(string) (*ContentSelector, error) ContentSelectorUpdate(string, ContentSelector) error ContentType() string ContentTypeJSON() ContentTypeTextPlain() LDAPChangeOrder([]string) error LDAPCreate(LDAP) error LDAPDelete(string) error LDAPList() ([]LDAP, error) LDAPRead(string) (*LDAP, error) LDAPUpdate(string, LDAP) error PrivilegeCreate(Privilege) error PrivilegeDelete(string) error PrivilegeRead(string) (*Privilege, error) PrivilegeUpdate(string, Privilege) error Privileges() ([]Privilege, error) RealmsActivate([]string) error RealmsActive() ([]string, error) RealmsAvailable() ([]Realm, error) RepositoryCreate(Repository) error RepositoryDelete(string) error RepositoryRead(string) (*Repository, error) RepositoryUpdate(string, Repository) error RepositoryList() ([]Repository, error) ComponentRead(string) (*Component, error) ComponentUpload(string, Component) error ComponentDelete(string) error ComponentList(string) ([]Component, error) RoleCreate(Role) error RoleDelete(string) error RoleRead(string) (*Role, error) RoleUpdate(string, Role) error RoutingRuleCreate(*RoutingRule) error RoutingRuleDelete(string) error RoutingRuleRead(string) (*RoutingRule, error) RoutingRuleUpdate(*RoutingRule) error RoutingRulesLists() ([]RoutingRule, error) SAMLApply(SAML) error SAMLRead() (*SAML, error) SAMLDelete() error ScriptCreate(*Script) error ScriptDelete(string) error ScriptLists() ([]Script, error) ScriptRead(string) (*Script, error) ScriptRun(string) error ScriptUpdate(*Script) error UserChangePassword(string, string) error UserCreate(User) error UserDelete(string) error UserRead(string) (*User, error) UserUpdate(string, User) error UserTokensApply(UserTokenConfiguration) error UserTokensRead() (*UserTokenConfiguration, error) }
Client represents the Nexus API Client interface
type Component ¶ added in v0.20.1
type Component struct { ID string `json:"id,omitempty"` Repository string `json:"repository,omitempty"` Format string `json:"format,omitempty"` Group string `json:"group,omitempty"` Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` }
Component is the base structure for Nexus Component
type ComponentList ¶ added in v0.20.1
type Config ¶
type Config struct { URL string `json:"url"` Username string `json:"username"` Password string `json:"password"` Insecure bool `json:"insecure"` }
Config is the configuration structure used to instantiate the Nexus client
type ContentSelector ¶ added in v0.20.1
type ContentSelector struct { Description string `json:"description"` Expression string `json:"expression"` Name string `json:"name"` }
ContentSelector data
type LDAP ¶ added in v0.20.1
type LDAP struct { AuthPassword string `json:"authPassword"` AuthRealm string `json:"authRealm,omitempty"` AuthSchema string `json:"authScheme"` AuthUserName string `json:"authUsername,omitempty"` ConnectionRetryDelaySeconds uint `json:"connectionRetryDelaySeconds"` ConnectionTimeoutSeconds uint `json:"connectionTimeoutSeconds"` GroupBaseDn string `json:"groupBaseDn,omitempty"` GroupIDAttribute string `json:"groupIdAttribute,omitempty"` GroupMemberAttribute string `json:"groupMemberAttribute,omitempty"` GroupMemberFormat string `json:"groupMemberFormat,omitempty"` GroupObjectClass string `json:"groupObjectClass,omitempty"` GroupSubtree bool `json:"groupSubtree,omitempty"` GroupType string `json:"groupType"` Host string `json:"host"` ID string `json:"id"` LDAPGroupsAsRoles bool `json:"ldapGroupsAsRoles,omitempty"` MaxIncidentCount uint `json:"maxIncidentsCount"` Name string `json:"name"` Port uint `json:"port"` Protocol string `json:"protocol"` SearchBase string `json:"searchBase"` UseTrustStore bool `json:"useTrustStore,omitempty"` UserBaseDN string `json:"userBaseDn,omitempty"` UserEmailAddressAttribute string `json:"userEmailAddressAttribute,omitempty"` UserIDAttribute string `json:"userIdAttribute,omitempty"` UserLDAPFilter string `json:"userLdapFilter,omitempty"` UserMemberOfAttribute string `json:"userMemberOfAttribute,omitempty"` UserObjectClass string `json:"userObjectClass,omitempty"` UserPasswordAttribute string `json:"userPasswordAttribute,omitempty"` UserRealNameAttribute string `json:"userRealNameAttribute,omitempty"` UserSubtree bool `json:"userSubtree,omitempty"` }
LDAP data structure
type Privilege ¶ added in v0.20.1
type Privilege struct { Actions []string `json:"actions,omitempty"` ContentSelector string `json:"contentSelector,omitempty"` Description string `json:"description"` Domain string `json:"domain,omitempty"` Format string `json:"format,omitempty"` Name string `json:"name"` Pattern string `json:"pattern,omitempty"` ScriptName string `json:"scriptName,omitempty"` ReadOnly bool `json:"readOnly"` Repository string `json:"repository,omitempty"` Type string `json:"type"` }
Privilege data
type Repository ¶
type Repository struct { Format string `json:"format"` Name string `json:"name"` Online bool `json:"online"` RoutingRuleName *string `json:"routingRuleName,omitempty"` Type string `json:"type"` Url string `json:"url"` // Apt Repository data *RepositoryApt `json:"apt,omitempty"` *RepositoryAptSigning `json:"aptSigning,omitempty"` // RepositoryBower data *RepositoryBower `json:"bower,omitempty"` // RepositoryCleanup data *RepositoryCleanup `json:"cleanup,omitempty"` // Docker Repository data *RepositoryDocker `json:"docker,omitempty"` *RepositoryDockerProxy `json:"dockerProxy,omitempty"` // Group data *RepositoryGroup `json:"group,omitempty"` // HTTPClient *RepositoryHTTPClient `json:"httpClient,omitempty"` // Maven Reporitoy data *RepositoryMaven `json:"maven,omitempty"` // Cache data for proxy Repository *RepositoryNegativeCache `json:"negativeCache,omitempty"` // Nuget Proxy Repository data *RepositoryNugetProxy `json:"nugetProxy,omitempty"` // Proxy Repository data *RepositoryProxy `json:"proxy,omitempty"` // Repository storage data *RepositoryStorage `json:"storage,omitempty"` // Yum Repository data *RepositoryYum `json:"yum,omitempty"` // Components *RepositoryComponent `json:"component,omitempty"` }
Repository ...
type RepositoryApt ¶ added in v0.2.0
type RepositoryApt struct { Distribution string `json:"distribution,omitempty"` Flat bool `json:"flat"` }
RepositoryApt contains data of hosted repositories of format Apt
type RepositoryAptSigning ¶ added in v0.2.0
type RepositoryAptSigning struct { Keypair string `json:"keypair"` Passphrase string `json:"passphrase"` }
RepositoryAptSigning contains signing data of hosted repositores of format Apt
type RepositoryBower ¶ added in v0.3.0
type RepositoryBower struct {
RewritePackageUrls bool `json:"rewritePackageUrls"`
}
RepositoryBower contains data of bower repositories
type RepositoryCleanup ¶
type RepositoryCleanup struct {
PolicyNames []string `json:"policyNames"`
}
RepositoryCleanup ...
type RepositoryComponent ¶ added in v0.20.1
type RepositoryComponent struct {
ProprietaryComponents bool `json:"proprietaryComponents"`
}
RepositoryComponent ...
type RepositoryDocker ¶ added in v0.2.0
type RepositoryDocker struct { ForceBasicAuth bool `json:"forceBasicAuth"` HTTPPort *int `json:"httpPort,omitempty"` HTTPSPort *int `json:"httpsPort,omitempty"` V1Enabled bool `json:"v1Enabled"` }
RepositoryDocker contains data of a Docker Repositoriy
type RepositoryDockerProxy ¶ added in v0.2.0
type RepositoryDockerProxy struct { IndexType string `json:"indexType"` IndexURL *string `json:"indexUrl,omitempty"` }
RepositoryDockerProxy contains data of a Docker Proxy Repository
type RepositoryGroup ¶ added in v0.3.0
type RepositoryGroup struct {
MemberNames []string `json:"memberNames,omitempty"`
}
RepositoryGroup contains repository group configuration data
type RepositoryHTTPClient ¶ added in v0.2.0
type RepositoryHTTPClient struct { Authentication *RepositoryHTTPClientAuthentication `json:"authentication,omitempty"` AutoBlock bool `json:"autoBlock"` Blocked bool `json:"blocked"` Connection *RepositoryHTTPClientConnection `json:"connection,omitempty"` }
RepositoryHTTPClient ...
type RepositoryHTTPClientAuthentication ¶ added in v0.2.0
type RepositoryHTTPClientAuthentication struct { NTLMDomain string `json:"ntlmDomain,omitempty"` NTLMHost string `json:"ntlmHost,omitempty"` Password string `json:"password,omitempty"` Type string `json:"type,omitempty"` Username string `json:"username,omitempty"` }
RepositoryHTTPClientAuthentication ...
type RepositoryHTTPClientConnection ¶ added in v0.2.0
type RepositoryHTTPClientConnection struct { EnableCircularRedirects *bool `json:"enableCircularRedirects,omitempty"` EnableCookies *bool `json:"enableCookies,omitempty"` Retries *int `json:"retries,omitempty"` Timeout *int `json:"timeout,omitempty"` UserAgentSuffix string `json:"userAgentSuffix,omitempty"` }
RepositoryHTTPClientConnection ...
type RepositoryMaven ¶ added in v0.3.0
type RepositoryMaven struct { VersionPolicy string `json:"versionPolicy"` LayoutPolicy string `json:"layoutPolicy"` }
RepositoryMaven contains additional data of maven repository
type RepositoryNegativeCache ¶ added in v0.2.0
RepositoryNegativeCache ...
type RepositoryNugetProxy ¶ added in v0.20.1
type RepositoryNugetProxy struct {
QueryCacheItemMaxAge int `json:"queryCacheItemMaxAge"`
}
RepositoryNugetProxy contains data specific to proxy repositories of format Nuget
type RepositoryProxy ¶ added in v0.2.0
type RepositoryProxy struct { ContentMaxAge int `json:"contentMaxAge"` MetadataMaxAge int `json:"metadataMaxAge"` RemoteURL string `json:"remoteUrl,omitempty"` }
RepositoryProxy contains Proxy Repository data
type RepositoryStorage ¶
type RepositoryStorage struct { BlobStoreName string `json:"blobStoreName,omitempty"` StrictContentTypeValidation bool `json:"strictContentTypeValidation"` WritePolicy *string `json:"writePolicy,omitempty"` }
RepositoryStorage contains repository storage
type RepositoryYum ¶ added in v0.20.1
type RepositoryYum struct { RepodataDepth int `json:"repodataDepth"` DeployPolicy string `json:"deployPolicy"` }
RepositoryYum contains data of hosted repositories of format Yum
type Role ¶
type Role struct { ID string `json:"id"` Name string `json:"name"` Description string `json:"description"` Privileges []string `json:"privileges"` Roles []string `json:"roles"` }
Role ...
type RoutingRule ¶ added in v0.20.1
type RoutingRule struct { // Name of the routing rule Name string `json:"name"` //Description of the routing rule Description string `json:"description,omitempty"` // The mode describe how to hande with mathing requests // Possible values: "BLOCK" or "ALLOW" Mode RoutingRuleMode `json:"mode"` // Regular expressions used to identify request paths that are allowed or blocked (depending on above mode) Matchers []string `json:"matchers"` }
RoutingRule is like a filter you can apply to groups in terms of security access and general component retrieval, and can reduce the number of repositories within a group accessed in order to retrieve an component.
type RoutingRuleMode ¶ added in v0.20.1
type RoutingRuleMode string
const ( RoutingRuleModeAllow RoutingRuleMode = "ALLOW" RoutingRuleModeBlock RoutingRuleMode = "BLOCK" )
func (RoutingRuleMode) IsValid ¶ added in v0.20.1
func (m RoutingRuleMode) IsValid() error
IsValid checks the values of the enum RoutingRuleMode
type SAML ¶ added in v0.20.1
type SAML struct { EntityId string `json:"entityId,omitempty"` IdpMetadata string `json:"idpMetadata"` UsernameAttribute string `json:"usernameAttribute"` FirstNameAttribute string `json:"firstNameAttribute,omitempty"` LastNameAttribute string `json:"lastNameAttribute,omitempty"` EmailAttribute string `json:"emailAttribute,omitempty"` GroupsAttribute string `json:"groupsAttribute,omitempty"` ValidateResponseSignature bool `json:"validateResponseSignature,omitempty"` ValidateAssertionSignature bool `json:"validateAssertionSignature,omitempty"` }
SAML data structure
type Script ¶ added in v0.20.1
type Script struct { Name string `json:"name"` Content string `json:"content"` Type string `json:"type"` }
Script describe a groovy script object that can be run on the nexus server
type User ¶
type User struct { UserID string `json:"userId"` FirstName string `json:"firstName"` LastName string `json:"lastName"` EmailAddress string `json:"emailAddress"` Password string `json:"password"` Status string `json:"status"` Source string `json:"source"` Roles []string `json:"roles"` }
User ..
type UserTokenConfiguration ¶ added in v0.20.1
type UserTokenConfiguration struct { Enabled bool `json:"enabled"` ProtectContent bool `json:"protectContent"` }
UserTokenConfiguration data structure
Source Files ¶
- anonymous.go
- asset.go
- blobstore.go
- certificate.go
- client.go
- component.go
- config.go
- content_selector.go
- ldap.go
- privilege.go
- realm.go
- repository.go
- repository_apt.go
- repository_bower.go
- repository_docker.go
- repository_maven.go
- repository_nuget.go
- repository_pypi.go
- repository_yum.go
- role.go
- routing_rule.go
- saml.go
- script.go
- tools.go
- user.go
- user_token.go