models

package
v2.0.0-...-eccd1d4 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: BSD-2-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ImageTagTypeFixed    = "FIXED"
	ImageTagTypeFloating = "FLOATING"
)
View Source
const (
	DockerTypeRegistry = "registry"
	DockerTypeUpload   = "upload"
)
View Source
const (
	MetaFileTypeInvalid = "INVALID_FILE_TYPE"
	MetaFileTypeCLI     = "CLI"
	MetaFileTypeConfig  = "CONFIG"
	MetaFileTypeMisc    = "MISC"
)
View Source
const (
	DeploymentStatusActive          = "ACTIVE"
	DeploymentStatusInactive        = "INACTIVE"
	DeploymentStatusApprovalPending = "APPROVAL_PENDING"
	DeploymentStatusNotProcessed    = "NOT_PROCESSED"
)
View Source
const (
	DeploymentTypesDocker = "DOCKERLINK"
	DeploymentTypeHelm    = "HELM"
)
View Source
const (
	HashAlgoSHA1   = "SHA1"
	HashAlgoSHA256 = "SHA256"
)
View Source
const (
	ImageTypeJPG  = "JPG"
	ImageTypePNG  = "PNG"
	ImageTypeJPEG = "JPEG"
)
View Source
const (
	SolutionTypeChart  = "HELMCHARTS"
	SolutionTypeImage  = "CONTAINER"
	SolutionTypeISO    = "ISO"
	SolutionTypeOthers = "OTHERS"
	SolutionTypeOVA    = "OVA"
)

Variables

This section is empty.

Functions

func Sort

func Sort(versions []*Version)

Types

type AddOnFile

type AddOnFile struct {
	ID               string `json:"id"`
	Name             string `json:"name"`
	URL              string `json:"url"`
	ImageType        string `json:"imagetype"`
	Status           string `json:"status"`
	DeploymentStatus string `json:"deploymentstatus"`
	UploadedOn       int32  `json:"uploadedon"`
	UploadedBy       string `json:"uploadedby"`
	UpdatedOn        int32  `json:"updatedon"`
	UpdatedBy        string `json:"updatedby"`
	FileID           string `json:"fileid"`
	AppVersion       string `json:"appversion"`
	HashDigest       string `json:"hashdigest"`
	HashAlgorithm    string `json:"hashalgo"`
	DownloadCount    int64  `json:"downloadcount"`
	IsRedirectURL    bool   `json:"isredirecturl"`
	IsThirdPartyURL  bool   `json:"isthirdpartyurl"`
	Size             int64  `json:"size"`
}

type AppProductMetaDetails

type AppProductMetaDetails struct {
	OfficialEmail       string `json:"officialemail"`
	OfficialPhoneNumber string `json:"officialphonenumber"`
	WebsiteURL          string `json:"websiteurl"`
	AppID               string `json:"appid"`
}

type AppProductResources

type AppProductResources struct {
	Type           string `json:"type"`
	Name           string `json:"name"`
	URL            string `json:"url"`
	IsDownloadable bool   `json:"isdownloadable"`
}

type BlueprintFile

type BlueprintFile struct {
	ID                     string  `json:"id"`
	FileID                 string  `json:"fileid"`
	Title                  string  `json:"string"`
	URL                    string  `json:"url"`
	Status                 string  `json:"status"`
	Metadata               string  `json:"metadata"`
	Images                 []Image `json:"imagesList"`
	Files                  []File  `json:"filesList"`
	VRAVersion             string  `json:"vraversion"`
	DeploymentInstructions string  `json:"deploymentinstructions"`
}

type Category

type Category struct {
	ID       int64        `json:"id"`
	Category *VSXCategory `json:"category"`
}

type Certification

type Certification struct {
	ID             string `json:"certificationid"`
	DisplayName    string `json:"displayname"`
	URL            string `json:"url"`
	Description    string `json:"description"`
	IsEnabled      bool   `json:"isenabled"`
	PartnerProgram string `json:"partnerprogram"`
}

type ChartVersion

type ChartVersion struct {
	Id                             string `json:"id,omitempty"`
	Version                        string `json:"version,omitempty"`
	AppVersion                     string `json:"appversion"`
	Details                        string `json:"details,omitempty"`
	Readme                         string `json:"readme,omitempty"`
	Repo                           *Repo  `json:"repo,omitempty"`
	Values                         string `json:"values,omitempty"`
	Digest                         string `json:"digest,omitempty"`
	Status                         string `json:"status,omitempty"`
	TarUrl                         string `json:"tarurl"` // to use during imgprocessor update & download from UI/API
	IsExternalUrl                  bool   `json:"isexternalurl"`
	HelmTarUrl                     string `json:"helmtarurl"` // to use during UI/API create & update product
	IsUpdatedInMarketplaceRegistry bool   `json:"isupdatedinmarketplaceregistry"`
	ProcessingError                string `json:"processingerror"`
	DownloadCount                  int64  `json:"downloadcount"`
	ValidationStatus               string `json:"validationstatus"`
	InstallOptions                 string `json:"installoptions"`
	HashDigest                     string `json:"hashdigest,omitempty"`
	HashAlgorithm                  string `json:"hashalgo,omitempty"`
	Size                           int64  `json:"size,omitempty"`
	Comment                        string `json:"comment"`
	MarketplaceRegistryURL         string `json:"marketplaceregistryurl"`
}

type CompatibilityMatrix

type CompatibilityMatrix struct {
	ProductId                    string         `json:"productid"`
	VmwareProductId              int32          `json:"vmwareproductid"` // will be deprecated
	VmwareProductName            string         `json:"vmwareproductname"`
	IsPrimary                    bool           `json:"isprimary"`
	PartnerProd                  string         `json:"partnerprod"`
	PartnerProdVer               string         `json:"partnerprodver"`
	ThirdPartyCompany            string         `json:"thirdpartycompany"`
	ThirdPartyProd               string         `json:"thirdpartyprod"`
	ThirdPartyVer                string         `json:"thirdpartyver"`
	SupportStatement             string         `json:"supportstatement"`
	SupportStatementExternalLink string         `json:"supportstatementexternallink"`
	IsVmwareReady                bool           `json:"isvmwareready"`
	CompId                       string         `json:"compid"`
	VmwareProductDetails         *VmwareProduct `json:"vmwareproductdetails"`
	VsxProductId                 string         `json:"vsxproductid"`
	VersionNumber                string         `json:"versionnumber"`
	IsPartnerReady               bool           `json:"ispartnerready"`
	IsNone                       bool           `json:"isnone"`
	CertificationName            string         `json:"certificationname"`
	CertificationDetail          *Certification `json:"certificationdetail"`
}

type DeploymentMediaImage

type DeploymentMediaImage struct {
	Status    string `json:"status,omitempty"`
	ImageUrl  string `json:"imageurl"`
	ImageType string `json:"imagetype"`
	CreatedOn int32  `json:"createdon"`
	UpdatedOn int32  `json:"updatedon"`
}

type Description

type Description struct {
	Summary     string   `json:"summary,omitempty"`
	ImageUrls   []string `json:"imageurlsList"`
	VideoUrls   []string `json:"videourlsList"`
	YoutubeUrl  string   `json:"youtubeurl"`
	Description string   `json:"description,omitempty"`
}

type DockerImageTag

type DockerImageTag struct {
	ID                             string `json:"id,omitempty"`
	Tag                            string `json:"tag"`
	Type                           string `json:"type"`
	IsUpdatedInMarketplaceRegistry bool   `json:"isupdatedinmarketplaceregistry"`
	MarketplaceS3Link              string `json:"marketplaces3link,omitempty"`
	AppCheckReportLink             string `json:"appcheckreportlink,omitempty"`
	AppCheckSummaryPdfLink         string `json:"appchecksummarypdflink,omitempty"`
	S3TarBackupUrl                 string `json:"s3tarbackupurl,omitempty"`
	ProcessingError                string `json:"processingerror,omitempty"`
	DownloadCount                  int64  `json:"downloadcount,omitempty"`
	DownloadURL                    string `json:"downloadurl,omitempty"`
	HashAlgo                       string `json:"hashalgo,omitempty"`
	HashDigest                     string `json:"hashdigest,omitempty"`
	Size                           int64  `json:"size,omitempty"`
}

type DockerURLDetails

type DockerURLDetails struct {
	Key                   string            `json:"key,omitempty"`
	Url                   string            `json:"url,omitempty"`
	MarketplaceUpdatedUrl string            `json:"marketplaceupdatedurl,omitempty"`
	ImageTags             []*DockerImageTag `json:"imagetagsList"`
	ImageTagsAsJson       string            `json:"imagetagsasjson"`
	DockerType            string            `json:"dockertype,omitempty"`
	ID                    string            `json:"id,omitempty"`
	DeploymentInstruction string            `json:"deploymentinstruction"`
	Name                  string            `json:"name"`
	IsMultiArch           bool              `json:"ismultiarch"`
}

func (*DockerURLDetails) GetTag

func (d *DockerURLDetails) GetTag(tagName string) *DockerImageTag

func (*DockerURLDetails) HasTag

func (d *DockerURLDetails) HasTag(tagName string) bool

type DockerVersionList

type DockerVersionList struct {
	ID                    string              `json:"id,omitempty"`
	AppVersion            string              `json:"appversion"`
	DeploymentInstruction string              `json:"deploymentinstruction"`
	DockerURLs            []*DockerURLDetails `json:"dockerurlsList"`
	Status                string              `json:"status,omitempty"`
	ImageTags             []*DockerImageTag   `json:"imagetagsList"`
}

type EULADetails

type EULADetails struct {
	Url       string `json:"url,omitempty"`
	Text      string `json:"text,omitempty"` // mandatory
	Signed    bool   `json:"signed,omitempty"`
	SignedOn  int32  `json:"signedon"`
	Version   string `json:"version,omitempty"`
	CreatedOn int32  `json:"createdon"`
	UpdatedOn int32  `json:"updatedon"`
}

type File

type File struct {
	ID          string `json:"id"`
	Title       string `json:"title"`
	URL         string `json:"url"`
	DownloadURL string `json:"downloadurl"`
	HashType    string `json:"hashtype"`
	HashValue   string `json:"hashvalue"`
}

type Image

type Image struct {
	URL         string `json:"url"`
	DownloadURL string `json:"downloadurl"`
	HashType    string `json:"hashtype"`
	HashValue   string `json:"hashvalue"`
}

type License

type License struct {
	LicenseName    string `json:"licensename"`
	LicenseDetails string `json:"licensedetails"`
	LicenseUrl     string `json:"licenseurl"`
}
type Logo struct {
	URL          string `json:"url"`
	CreationDate int    `json:"createdon"`
}

type MetaFile

type MetaFile struct {
	ID         string            `json:"metafileid"`
	GroupId    string            `json:"groupid"`
	GroupName  string            `json:"groupname"`
	FileType   string            `json:"filetype"`
	Version    string            `json:"version"`    // Note: This is the version of this particular file...
	AppVersion string            `json:"appversion"` // Note: and this is the associated Marketplace product version
	Status     string            `json:"status"`
	Objects    []*MetaFileObject `json:"metafileobjectsList"`
	CreatedBy  string            `json:"createdby"`
	CreatedOn  int32             `json:"createdon"`
}

type MetaFileObject

type MetaFileObject struct {
	FileID          string `json:"fileid"`
	FileName        string `json:"filename"`
	TempURL         string `json:"tempurl"`
	URL             string `json:"url"`
	IsFileBackedUp  bool   `json:"isfilebackedup"`
	ProcessingError string `json:"processingerror"`
	HashDigest      string `json:"hashdigest"`
	HashAlgorithm   string `json:"hashalgo"`
	Size            int64  `json:"size"`
	UploadedBy      string `json:"uploadedby"`
	UploadedOn      int32  `json:"uploadedon"`
	DownloadCount   int64  `json:"downloadcount"`
}

type OpenSourceDisclosureURLS

type OpenSourceDisclosureURLS struct {
	LicenseDisclosureURL string `json:"licensedisclosureurl"`
	SourceCodePackageURL string `json:"sourcecodepackageurl"`
}

type OperatingSystem

type OperatingSystem struct {
	ID       int64        `json:"id"`
	Category *VSXCategory `json:"category"`
}

type PCADetail

type PCADetail struct {
	URL          string `json:"url"`
	Version      string `json:"version"`
	CreatedOn    int32  `json:"createdon"`
	UpdatedOn    int32  `json:"updatedon"`
	PresignedURL string `json:"presignedurl"`
}

type Product

type Product struct {
	ProductId                    string                       `json:"productid"`
	PublishedProductId           string                       `json:"publishedproductid"`
	IsParent                     bool                         `json:"isparent"`
	Slug                         string                       `json:"slug,omitempty"`
	DisplayName                  string                       `json:"displayname"`
	IsPublished                  bool                         `json:"ispublished,omitempty"` // Set on product list requests
	Published                    bool                         `json:"published,omitempty"`   // Set on product get requests
	TechSpecs                    *TechSpecs                   `json:"techspecs"`
	Description                  *Description                 `json:"description,omitempty"`
	License                      *License                     `json:"license,omitempty"`
	Categories                   []string                     `json:"categoriesList"`
	SupportAvailable             bool                         `json:"supportavailable"`
	SupportDetails               *SupportDetails              `json:"supportdetails"`
	LoginRequired                bool                         `json:"loginrequired"`
	PublisherDetails             *Publisher                   `json:"publisherdetails"` // Mandatory
	Type                         string                       `json:"type,omitempty"`
	ProductPricing               []*RateCard                  `json:"productpricingList"`
	Resources                    []*AppProductResources       `json:"resourcesList"`
	MetaDetails                  *AppProductMetaDetails       `json:"metadetails"`
	Status                       string                       `json:"status,omitempty"`
	ParentProductId              string                       `json:"parentproductid"`
	Byol                         bool                         `json:"byol,omitempty"`
	EulaDetails                  *EULADetails                 `json:"euladetails"`
	EulaURL                      string                       `json:"eulaurl"`
	EulaTempURL                  string                       `json:"eulatempurl"`
	Highlights                   []string                     `json:"highlightsList"`
	ProductDeploymentMediaImages []*DeploymentMediaImage      `json:"productdeploymentmediaimagesList"`
	ProductDeploymentFiles       []*ProductDeploymentFile     `json:"productdeploymentfilesList"`
	SaasURL                      string                       `json:"saasurl"`
	DeploymentPlatforms          []*ProductDeploymentPlatform `json:"deploymentplatformsList"`
	CreationDate                 int                          `json:"createdon"`
	UpdatedDate                  int                          `json:"updatedon"`
	UpdatedBy                    string                       `json:"updatedby"`
	PublishedDate                int                          `json:"publishedon"`
	PublisherOrgName             string                       `json:"publisherorgname"`
	EncryptionDetails            *ProductEncryptionDetails    `json:"encryptiondetails"`
	Encryption                   *ProductEncryption           `json:"encryption"`
	ExportCompliance             *ProductExportCompliance     `json:"exportcompliance"`
	OpenSourceDisclosure         *OpenSourceDisclosureURLS    `json:"opensourcedisclosure"`
	InLegalReview                bool                         `json:"inlegalreview"`
	IsVSX                        bool                         `json:"isvsx"`
	AllVersions                  []*Version                   `json:"allversiondetailsList"`
	LatestVersion                string                       `json:"latestversion"`
	Version                      *Version                     `json:"version,omitempty"`
	Versions                     []*Version                   `json:"versionsList"`
	CurrentVersion               string                       `json:"currentversion"`
	DeploymentTypes              []string                     `json:"deploymenttypesList"`
	SolutionType                 string                       `json:"solutiontype"`
	FormFactor                   string                       `json:"formfactor"`
	ChartVersions                []*ChartVersion              `json:"chartversionsList"`
	Blueprints                   []*ProductBlueprintDetails   `json:"blueprintsList"`
	DockerURLs                   []*DockerURLDetails          `json:"dockerurlsList"`
	DockerLinkVersions           []*DockerVersionList         `json:"dockerlinkversionsList"`
	RelatedSlugs                 []string                     `json:"relatedslugsList"`
	VSXDetails                   *VSXDetails                  `json:"vsxdetails"`
	IsFeatured                   bool                         `json:"isfeatured"`
	IsPopular                    bool                         `json:"isPopular,omitempty"`
	IsPrivate                    bool                         `json:"isprivate"`
	IsListingProduct             bool                         `json:"islistingproduct"`
	CompatibilityMatrix          []*CompatibilityMatrix       `json:"compatibilitymatrixList"` // compatibility-matrix-supported-features needed for vsx.
	CompatiblePlatformIDList     []string                     `json:"compatibleplatformidList"`
	CompatiblePlatformNameList   []string                     `json:"compatibleplatformnameList"`
	CertificationList            []*Certification             `json:"certificationList"`
	CertificationTypes           []string                     `json:"certificationtypeList"`
	SolutionAreaId               []string                     `json:"solutionareaidList"`
	SolutionAreaName             []string                     `json:"solutionareanameList"`
	SolutionAreaTypeId           []string                     `json:"solutionareatypeidList"`
	SolutionAreaTypeName         []string                     `json:"solutionareatypenameList"`
	Category                     []string                     `json:"categoryList"`
	SubCategories                []string                     `json:"subcategoriesList"`
	SubCategoryId                []string                     `json:"subcategoryidList"`
	DeploymentType               string                       `json:"deploymenttype"`
	DeploymentInstructions       string                       `json:"deploymentinstructions"`
	Unsubscribable               bool                         `json:"unsubscribable,omitempty"`
	CannotDownload               bool                         `json:"cannotdownload"`
	IsDraft                      bool                         `json:"isdraft"`
	IsAutoDraft                  bool                         `json:"isautodraft"`
	DraftId                      string                       `json:"draftid"`
	ChartId                      string                       `json:"chartid"`
	AddOnFiles                   []*AddOnFile                 `json:"addonfilesList"`
	ProductAddOnFiles            []*AddOnFile                 `json:"productaddonfilesList"`
	Tags                         []string                     `json:"tagsList"`
	SKUS                         []*SKUPublisherView          `json:"skusList"`
	MetaFiles                    []*MetaFile                  `json:"metafilesList"`
	PCADetails                   *PCADetail                   `json:"pcadetails"`
	RedirectURL                  string                       `json:"redirecturl"`
}

func (*Product) GetAddonFilesForVersion

func (product *Product) GetAddonFilesForVersion(version string) []*AddOnFile

func (*Product) GetChart

func (product *Product) GetChart(chartId string) *ChartVersion

func (*Product) GetChartsForVersion

func (product *Product) GetChartsForVersion(version string) []*ChartVersion

func (*Product) GetContainerImagesForVersion

func (product *Product) GetContainerImagesForVersion(version string) []*DockerVersionList

func (*Product) GetFile

func (product *Product) GetFile(fileId string) *ProductDeploymentFile

func (*Product) GetFilesForVersion

func (product *Product) GetFilesForVersion(version string) []*ProductDeploymentFile

func (*Product) GetLatestVersion

func (product *Product) GetLatestVersion() *Version

func (*Product) GetMetaFilesForVersion

func (product *Product) GetMetaFilesForVersion(version string) []*MetaFile

func (*Product) GetVersion

func (product *Product) GetVersion(version string) *Version

func (*Product) HasContainerImage

func (product *Product) HasContainerImage(version, imageURL, tag string) bool

func (*Product) HasVersion

func (product *Product) HasVersion(version string) bool

func (*Product) NewVersion

func (product *Product) NewVersion(number string) *Version

func (*Product) PrepForUpdate

func (product *Product) PrepForUpdate()

func (*Product) SetPCAFile

func (product *Product) SetPCAFile(version, pcaURL string)

func (*Product) UpdateWithVersionSpecificDetails

func (product *Product) UpdateWithVersionSpecificDetails(version string, details *VersionSpecificProductDetails)

type ProductBlueprintDetails

type ProductBlueprintDetails struct {
	Version        string          `json:"version"`
	Instructions   string          `json:"instructions"`
	BlueprintFiles []BlueprintFile `json:"blueprintfilesList"`
	Prerequisites  []string        `json:"prerequisitesList"`
}

type ProductDeploymentFile

type ProductDeploymentFile struct {
	Id              string   `json:"id,omitempty"` // uuid
	Name            string   `json:"name,omitempty"`
	Url             string   `json:"url,omitempty"`
	ImageType       string   `json:"imagetype,omitempty"`
	Status          string   `json:"status,omitempty"`
	UploadedOn      int32    `json:"uploadedon,omitempty"`
	UploadedBy      string   `json:"uploadedby,omitempty"`
	UpdatedOn       int32    `json:"updatedon,omitempty"`
	UpdatedBy       string   `json:"updatedby,omitempty"`
	ItemJson        string   `json:"itemjson,omitempty"`
	Itemkey         string   `json:"itemkey,omitempty"`
	FileID          string   `json:"fileid,omitempty"`
	IsSubscribed    bool     `json:"issubscribed,omitempty"`
	AppVersion      string   `json:"appversion"` // Mandatory
	HashDigest      string   `json:"hashdigest"`
	IsThirdPartyUrl bool     `json:"isthirdpartyurl,omitempty"`
	ThirdPartyUrl   string   `json:"thirdpartyurl,omitempty"`
	IsRedirectUrl   bool     `json:"isredirecturl,omitempty"`
	Comment         string   `json:"comment,omitempty"`
	HashAlgo        string   `json:"hashalgo"`
	DownloadCount   int64    `json:"downloadcount,omitempty"`
	UniqueFileID    string   `json:"uniqueFileId,omitempty"`
	VersionList     []string `json:"versionList"`
	Size            int64    `json:"size,omitempty"`
}

func (*ProductDeploymentFile) CalculateSize

func (f *ProductDeploymentFile) CalculateSize() int64

type ProductDeploymentPlatform

type ProductDeploymentPlatform struct {
	Id          string `json:"id,omitempty"`
	Type        string `json:"type,omitempty"`
	Status      string `json:"status,omitempty"`
	ReadyOn     int32  `json:"readyon"`
	DisplayName string `json:"displayname"`
}

type ProductEncryption

type ProductEncryption struct {
	List map[string]bool `json:"list"`
}

type ProductEncryptionDetails

type ProductEncryptionDetails struct {
	List                  []string `json:"listList"`
	NonstandardEncryption bool     `json:"nonstandardencryption"`
}

type ProductExportCompliance

type ProductExportCompliance struct {
	Eccn             string `json:"eccn,omitempty"`
	HtsNumber        string `json:"htsnumber"`
	LicenseException string `json:"licenseexception"`
	CcatsNumber      string `json:"ccatsnumber"`
	CcatsDocumentUrl string `json:"ccatsdocumenturl"`
}

type ProductItemDetails

type ProductItemDetails struct {
	Id    string             `json:"id,omitempty"`
	Name  string             `json:"name,omitempty"`
	Files []*ProductItemFile `json:"files,omitempty"`
	Type  string             `json:"type"`
}

type ProductItemFile

type ProductItemFile struct {
	Name string `json:"name,omitempty"`
	Size int    `json:"size"`
}

type Publisher

type Publisher struct {
	UserId         string `json:"userid"`
	OrgId          string `json:"orgid"`
	OrgName        string `json:"orgname"`
	OrgDisplayName string `json:"orgdisplayname"`
}

type RateCard

type RateCard struct {
	RateCardId        string               `json:"ratecardid"`
	SubscriptionType  string               `json:"subscriptiontype"`
	DimensionPricing  []*RateCardDimension `json:"dimensionpricingList"`
	SubscriptionPrice float32              `json:"subscriptionprice"`
}

type RateCardDimension

type RateCardDimension struct {
	DimensionName  string  `json:"dimensionname"`
	DimensionPrice float32 `json:"dimensionprice"`
	DimensionUnit  string  `json:"dimensionunit"`
}

type RelatedProduct

type RelatedProduct struct {
	ID                    int64  `json:"id"`
	ShortName             string `json:"shortname"`
	DisplayName           string `json:"displayname"`
	Version               string `json:"version"`
	EntitlementLevel      string `json:"entitlementlevel"`
	ContentTypes          string `json:"contenttypes"`
	Count                 int64  `json:"count"`
	ShortNameCount        int64  `json:"shortnamecount"`
	EntitlementLevelCount int64  `json:"entitlementlevelcount"`
	LastUpdated           int64  `json:"lastupdated"`
}

type Repo

type Repo struct {
	Name string `json:"name,omitempty"`
	Url  string `json:"url,omitempty"`
}

type SKUPublisherInfo

type SKUPublisherInfo struct {
	SKUNumber            string   `json:"skunumber"`
	Price                string   `json:"price"`
	Currency             string   `json:"currency"`
	BillFrequency        string   `json:"billfreq"`
	TermLength           int32    `json:"termlength"`
	UnitOfMeasurement    string   `json:"unitofmeasurement"`
	PriceMeasurementUnit []string `json:"pricemeasurementunitlist"`
	IsMonthlySKUEnabled  bool     `json:"ismonthlyskuenabled"`
	MonthlySKUNumber     string   `json:"monthlyskunumber"`
}

type SKUPublisherView

type SKUPublisherView struct {
	SKUPublisherInfo *SKUPublisherInfo `json:"skupublisherinfo"`
	SKUID            string            `json:"skuid"`
	Description      string            `json:"description"`
	Status           string            `json:"status"`
}

type SolutionArea

type SolutionArea struct {
	ID       int64        `json:"id"`
	Category *VSXCategory `json:"category"`
}

type Subscription

type Subscription struct {
	ID               int    `json:"id"`
	ConsumerID       string `json:"consumerid"`
	ProductID        string `json:"productid"`
	ProductName      string `json:"productname"`
	PublisherID      string `json:"publisherid"`
	PublisherName    string `json:"publishername"`
	DeploymentStatus string `json:"deploymentstatus"`
	DeployedOn       int    `json:"deployedon"`
	SDDCID           string `json:"sddcid"`
	FolderID         string `json:"folderid"`
	ResourcePoolID   string `json:"resourcepoolid"`
	DatastoreID      string `json:"datastoreid"`
	PowerStatus      string `json:"powerstatus"`
	PoweredOn        int    `json:"poweredon"`
	PowerOn          bool   `json:"poweron"`
	StartedOn        int    `json:"startedon"`
	VMName           string `json:"vmname"`
	SourceOrgID      string `json:"sourceorgid"`
	TargetOrgID      string `json:"targetorgid"`
	SDDCLocation     struct {
		Latitude  int `json:"latitude"`
		Longitude int `json:"longitude"`
	} `json:"sddclocation"`
	ProductVersion        string `json:"productversion"`
	EULAAccepted          bool   `json:"eulaaccepted"`
	DeploymentPlatform    string `json:"deploymentplatform"`
	SubscriptionUUID      string `json:"subscriptionuuid"`
	SubscriptionURL       string `json:"subscriptionurl"`
	PlatformRepoName      string `json:"platformreponame"`
	ContainerSubscription struct {
		AppVersion     string `json:"appversion"`
		ChartVersion   string `json:"chartversion"`
		DeploymentType string `json:"deploymenttype"`
	} `json:"containersubscription"`
	StatusText              string `json:"statustext"`
	SourceOrgName           string `json:"sourceorgname"`
	PublisherOrgDisplayName string `json:"publisherorgdisplayname"`
	UpdatesAvailable        bool   `json:"updatesavailable"`
	AutoUpdate              bool   `json:"autoupdate"`
	ContentCatalogID        string `json:"contentcatalogid"`
	PublisherOrgID          string `json:"publisherorgid"`
	SourceOrgDisplayName    string `json:"sourceorgdisplayname"`
	IsAlreadySubscribed     bool   `json:"isalreadysubscribed"`
}

type SupportDetails

type SupportDetails struct {
	Url         string   `json:"url,omitempty"`
	Summary     string   `json:"summary,omitempty"`
	Email       []string `json:"emailList"`
	PhoneNumber []string `json:"phonenumberList"`
}

type TechSpecs

type TechSpecs struct {
	OsDetails            []string `json:"osdetailsList"`
	ContentTypeDetails   []string `json:"contenttypedetailsList"`
	SolutionAreaDetails  []string `json:"solutionareadetailsList"`
	TechSpecsDescription string   `json:"techspecsdescription"`
}

type Technology

type Technology struct {
	ID       int64        `json:"id"`
	Category *VSXCategory `json:"category"`
}

type Tier

type Tier struct {
	Id            int64  `json:"id,omitempty"`
	DisplayName   string `json:"displayName,omitempty"`
	Description   string `json:"description,omitempty"`
	Icon          string `json:"icon,omitempty"`
	AssetPackURL  string `json:"assetPackURL,omitempty"`
	LearnMoreURL  string `json:"learnMoreURL,omitempty"`
	EnableTooltip bool   `json:"enableTooltip,omitempty"`
	Count         int64  `json:"count,omitempty"`
	VcgProducts   string `json:"vcgProducts,omitempty"`
}

type Tiers

type Tiers struct {
	Id   int64 `json:"id,omitempty"`
	Tier *Tier `json:"tier,omitempty"`
}

type VSXCategory

type VSXCategory struct {
	ID          int64  `json:"id"`
	Type        string `json:"type"`
	First       string `json:"first"`
	Second      string `json:"second"`
	Hidden      bool   `json:"hidden"`
	Description string `json:"description"`
	Icon        string `json:"icon"`
	Link        string `json:"link"`
	Count       int64  `json:"count"`
}

type VSXContentType

type VSXContentType struct {
	ID          int64  `json:"id"`
	DisplayName string `json:"displayname"`
	Count       int64  `json:"count"`
}

type VSXDetails

type VSXDetails struct {
	ID                int64                 `json:"id"`
	UUID              string                `json:"uuid"`
	ShortName         string                `json:"shortname"`
	Version           string                `json:"version"`
	Revision          int32                 `json:"revision"`
	Featured          bool                  `json:"featured"`
	Banner            bool                  `json:"banner"`
	SupportsInProduct bool                  `json:"supportsinproduct"`
	Restricted        bool                  `json:"restricted"`
	Developer         *VSXDeveloper         `json:"developer"`
	ContentType       *VSXContentType       `json:"contenttype"`
	VSGURL            string                `json:"vsgurl"`
	OtherMetadata     string                `json:"othermetadata"`
	NumViews          int64                 `json:"numviews"`
	NumInstalls       int64                 `json:"numinstalls"`
	NumReviews        int64                 `json:"numreviews"`
	AvgRating         float32               `json:"avgrating"`
	Categories        []*Category           `json:"categoriesList"`
	SolutionAreas     []*SolutionArea       `json:"solutionareasList"`
	Technologies      []*Technology         `json:"technologiesList"`
	OperatingSystems  []*OperatingSystem    `json:"operatingsystemsList"`
	Tiers             []*Tiers              `json:"tiersList"`
	Products          []*VSXRelatedProducts `json:"productsList"`
	ParentID          int64                 `json:"parentid"`
}

type VSXDeveloper

type VSXDeveloper struct {
	ID            int64  `json:"id"`
	VSXID         int64  `json:"vsxid"`
	Partner       bool   `json:"partner"`
	Slug          string `json:"slug"`
	DisplayName   string `json:"displayname"`
	Description   string `json:"description"`
	Icon          string `json:"icon"`
	URL           string `json:"url"`
	SupportEmail  string `json:"supportemail"`
	SupportURL    string `json:"supporturl"`
	SupportPhone  string `json:"supportphone"`
	TwitterUser   string `json:"twitteruser"`
	FacebookURL   string `json:"facebookurl"`
	LinkedInURL   string `json:"linkedinurl"`
	YouTubeURL    string `json:"youtubeurl"`
	State         string `json:"state"`
	ReviewComment string `json:"reviewcomment"`
	CreatedOn     int64  `json:"created"`
	UpdatedOn     int64  `json:"lastupdated"`
	Count         int64  `json:"count"`
}

type VSXRelatedProducts

type VSXRelatedProducts struct {
	ID                           int64           `json:"id"`
	Product                      *RelatedProduct `json:"product"`
	VMwareReady                  bool            `json:"vmwareready"`
	SupportStatement             string          `json:"supportstatement"`
	SupportStatementExternalLink bool            `json:"supportstatementexternallink"`
	PartnerProduct               string          `json:"partnerproduct"`
	PartnerProductVersion        string          `json:"partnerproductversion"`
	ThirdPartyCompany            string          `json:"thirdpartycompany"`
	ThirdPartyProduct            string          `json:"thirdpartyproduct"`
	ThirdPartyProductVersion     string          `json:"thirdpartyproductversion"`
	PrimaryProduct               bool            `json:"primaryproduct"`
}

type Version

type Version struct {
	Number           string `json:"versionnumber"`
	Details          string `json:"versiondetails"`
	Status           string `json:"status,omitempty"`
	Instructions     string `json:"versioninstruction"`
	CreatedOn        int32  `json:"createdon,omitempty"`
	HasLimitedAccess bool   `json:"haslimitedaccess,omitempty"`
	Tag              string `json:"tag,omitempty"`
	IsNewVersion     bool   `json:"-"` // This is only for the CLI when adding a version
}

func (Version) LessThan

func (a Version) LessThan(b Version) bool

type VersionSpecificProductDetails

type VersionSpecificProductDetails struct {
	EncryptionDetails      *ProductEncryptionDetails  `json:"encryptiondetails"`
	EulaDetails            *EULADetails               `json:"euladetails"`
	EulaURL                string                     `json:"eulaurl"`
	EulaTempURL            string                     `json:"eulatempurl"`
	ExportCompliance       *ProductExportCompliance   `json:"exportcompliance"`
	OpenSourceDisclosure   *OpenSourceDisclosureURLS  `json:"opensourcedisclosure"`
	CertificationList      []*Certification           `json:"certificationList"`
	CertificationTypes     []string                   `json:"certificationtypesList"`
	ProductDeploymentFiles []*ProductDeploymentFile   `json:"productdeploymentfilesList"`
	DockerLinkVersions     []*DockerVersionList       `json:"dockerlinkversionsList"`
	ChartVersions          []*ChartVersion            `json:"chartversionsList"`
	Blueprints             []*ProductBlueprintDetails `json:"blueprintsList"`
	AddOnFiles             []*AddOnFile               `json:"addonfilesList"`
	CreationDate           int                        `json:"createdon"`
	UpdatedDate            int                        `json:"updatedon"`
	UpdatedBy              string                     `json:"updatedby"`
	PublishedDate          int                        `json:"publishedon"`
	CompatibilityMatrix    []*CompatibilityMatrix     `json:"compatibilitymatrixList"` // compatibility-matrix-supported-features needed for vsx.
	HasLimitedAccess       bool                       `json:"haslimitedaccess"`
	Tag                    string                     `json:"tag"`
	MetaFiles              []*MetaFile                `json:"metafilesList"`
	PCADetails             *PCADetail                 `json:"pcadetails"`
}

type Versions

type Versions []*Version

func (Versions) Len

func (v Versions) Len() int

func (Versions) Less

func (v Versions) Less(i, j int) bool

func (Versions) Swap

func (v Versions) Swap(i, j int)

type VmwareProduct

type VmwareProduct struct {
	Id                  int64    `json:"id,omitempty"` // will be deprecated
	ShortName           string   `json:"shortname"`
	DisplayName         string   `json:"displayname"`
	Version             string   `json:"version,omitempty"`
	LastUpdated         int64    `json:"lastupdated"`
	EntitlementLevel    string   `json:"entitlementlevel"`
	Tiers               []*Tiers `json:"tiersList"`
	VsxId               string   `json:"vsxid"`
}

Jump to

Keyboard shortcuts

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