Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Commitment ¶
type Commitment struct {
// SPM internal Commitment ID
Id string `json:"id"`
// SPM internal Subscribed Service ID
SubscribedServiceId string `json:"subscribedServiceId"`
// Commitment start date
TimeStart time.Time `json:"timeStart"`
// Commitment end date
TimeEnd time.Time `json:"timeEnd"`
// Commitment quantity
Quantity string `json:"quantity"`
// Commitment used amount
UsedAmount string `json:"usedAmount"`
// Commitment available amount
AvailableAmount string `json:"availableAmount"`
// Funded Allocation line value
// example: 12000.00
FundedAllocationValue string `json:"fundedAllocationValue"`
}
type ComputedUsage ¶
type ComputedUsage struct {
// SPM Internal computed usage Id , 32 character string
Id string `json:"id"`
// Computed Usage created time, expressed in RFC 3339 timestamp format.
TimeCreated time.Time `json:"timeCreated"`
// Computed Usage updated time, expressed in RFC 3339 timestamp format.
TimeUpdated time.Time `json:"timeUpdated"`
// Subscribed service line parent id
ParentSubscribedServiceId string `json:"parentSubscribedServiceId"`
ParentProduct ComputedUsageProduct `json:"parentProduct"`
// Subscription plan number
PlanNumber string `json:"planNumber"`
// Currency code
CurrencyCode string `json:"currencyCode"`
// References the tier in the ratecard for that usage (OCI will be using the same reference to cross-reference for correctness on the usage csv report), comes from Entity OBSCNTR_IPT_PRODUCTTIER.
RateCardTierdId string `json:"rateCardTierdId"`
// Ratecard Id at subscribed service level
RateCardId string `json:"rateCardId"`
// SPM Internal compute records source .
ComputeSource string `json:"computeSource"`
// Data Center Attribute as sent by MQS to SPM.
DataCenter string `json:"dataCenter"`
// MQS Identifier send to SPM , SPM does not transform this attribute and is received as is.
MqsMessageId string `json:"mqsMessageId"`
// Total Quantity that was used for computation
Quantity string `json:"quantity"`
// SPM Internal usage Line number identifier in SPM coming from Metered Services entity.
UsageNumber string `json:"usageNumber"`
// SPM Internal Original usage Line number identifier in SPM coming from Metered Services entity.
OriginalUsageNumber string `json:"originalUsageNumber"`
// Subscribed service commitmentId.
CommitmentServiceId string `json:"commitmentServiceId"`
// Invoicing status for the aggregated compute usage
IsInvoiced bool `json:"isInvoiced"`
// Usage compute type in SPM.
Type string `json:"type"`
// Usae computation date, expressed in RFC 3339 timestamp format.
TimeOfArrival time.Time `json:"timeOfArrival"`
// Metered Service date, expressed in RFC 3339 timestamp format.
TimeMeteredOn time.Time `json:"timeMeteredOn"`
// Net Unit Price for the product in consideration, price actual.
NetUnitPrice string `json:"netUnitPrice"`
// Computed Line Amount rounded.
CostRounded string `json:"costRounded"`
// Computed Line Amount not rounded
Cost string `json:"cost"`
Product ComputedUsageProduct `json:"product"`
// Unit of Measure
UnitOfMeasure string `json:"unitOfMeasure"`
}
ComputedUsage Computed Usage Summary object
type ComputedUsageProduct ¶
type ComputedUsageProduct struct {
// Product part number
PartNumber string `json:"partNumber"`
// Product name
Name string `json:"name"`
// Unit of Measure
UnitOfMeasure string `json:"unitOfMeasure"`
// Product provisioning group
ProvisioningGroup string `json:"provisioningGroup"`
// Metered service billing category
BillingCategory string `json:"billingCategory"`
// Product category
ProductCategory string `json:"productCategory"`
// Rate card part type of Product
UcmRateCardPartType string `json:"ucmRateCardPartType"`
}
ComputedUsageProduct Product description
type Config ¶
type Config struct {
Publisher Publisher `json:"publisher"`
PublisherSummary PublisherSummary `json:"publisherSummary"`
Publication Publication `json:"publication"`
Market Market `json:"market"`
Listing Listing `json:"listing"`
ListingRevision ListingRevision `json:"listingRevision"`
ListingSummary ListingSummary `json:"listingSummary"`
Commitment Commitment `json:"commitment"`
ComputedUsage ComputedUsage `json:"computedUsage"`
ComputedUsageProduct ComputedUsageProduct `json:"computedUsageProduct"`
}
type Listing ¶
type Listing struct {
// The unique identifier for the listing in Marketplace.
Id string `json:"id"`
// The name of the listing.
Name string `json:"name"`
// The version of the listing.
Version string `json:"version"`
// The tagline of the listing.
Tagline string `json:"tagline"`
// Keywords associated with the listing.
Keywords string `json:"keywords"`
// A short description of the listing.
ShortDescription string `json:"shortDescription"`
// Usage information for the listing.
UsageInformation string `json:"usageInformation"`
// A long description of the listing.
LongDescription string `json:"longDescription"`
// A description of the publisher's licensing model for the listing.
LicenseModelDescription string `json:"licenseModelDescription"`
// System requirements for the listing.
SystemRequirements string `json:"systemRequirements"`
// The release date of the listing.
TimeReleased time.Time `json:"timeReleased"`
// Release notes for the listing.
ReleaseNotes string `json:"releaseNotes"`
// Categories that the listing belongs to.
Categories []string `json:"categories"`
Publisher Publisher `json:"publisher"`
// Languages supported by the listing.
Languages []string `json:"languages"`
// Screenshots of the listing.
Screenshots []string `json:"screenshots"`
// Videos of the listing.
Videos []string `json:"videos"`
// Contact information to use to get support from the publisher for the listing.
SupportContacts SupportContact `json:"supportContacts"`
// Links to support resources for the listing.
SupportLinks []string `json:"supportLinks"`
// Links to additional documentation provided by the publisher specifically for the listing.
DocumentationLinks []string `json:"documentationLinks"`
Icon string `json:"icon"`
Banner string `json:"banner"`
// The list of compatible architectures supported by the listing
CompatibleArchitectures []string `json:"compatibleArchitectures"`
// The regions where you can deploy the listing. (Some listings have restrictions that limit their deployment to United States regions only.)
Regions []string `json:"regions"`
// The default package version.
DefaultPackageVersion string `json:"defaultPackageVersion"`
// Indicates whether the listing is included in Featured Listings.
IsFeatured bool `json:"isFeatured"`
// The publisher category to which the listing belongs. The publisher category informs where the listing appears for use.
ListingType ListingTypeEnum `json:"listingType"`
// List of operating systems supported by the listing.
SupportedOperatingSystems []string `json:"supportedOperatingSystems"`
}
Listing The model for an Oracle Cloud Infrastructure Marketplace listing.
type ListingRevision ¶
type ListingRevision struct {
// Unique OCID identifier for the listing revision in Marketplace Publisher.
Id string `json:"id"`
// The unique identifier for the listing this revision belongs to.
ListingId string `json:"listingId"`
// The name for the listing revision.
DisplayName string `json:"displayName"`
// Single line introduction for the listing revision.
Headline string `json:"headline"`
// The time the listing revision was created. An RFC3339 formatted datetime string.
TimeCreated time.Time `json:"timeCreated"`
// The time the listing revision was updated. An RFC3339 formatted datetime string.
TimeUpdated time.Time `json:"timeUpdated"`
// The categories for the listing revision.
Categories []string `json:"categories"`
// The current status for the Listing revision.
Status string `json:"status"`
// The current state of the listing revision.
LifecycleState string `json:"lifecycleState"`
// The listing's package type. Populated from the listing.
PackageType string `json:"packageType"`
// The pricing model for the listing revision.
PricingType string `json:"pricingType"`
// The unique identifier for the compartment.
CompartmentId string `json:"compartmentId"`
// The revision number for the listing revision. This is an internal attribute
RevisionNumber string `json:"revisionNumber"`
VersionDetails string `json:"versionDetails"`
// The tagline of the listing revision.
Tagline string `json:"tagline"`
// Keywords associated with the listing revision.
Keywords string `json:"keywords"`
// A short description for the listing revision.
ShortDescription string `json:"shortDescription"`
// Usage information for the listing revision.
UsageInformation string `json:"usageInformation"`
// A long description for the listing revision.
LongDescription string `json:"longDescription"`
// System requirements for the listing revision.
SystemRequirements string `json:"systemRequirements"`
// The markets supported by the listing revision.
Markets []string `json:"markets"`
ContentLanguage string `json:"contentLanguage"`
// Languages supported by the publisher for the listing revision.
Supportedlanguages []string `json:"supportedlanguages"`
// Contact information to use to get support from the publisher for the listing revision.
SupportContacts SupportContact `json:"supportContacts"`
// Links to support resources for the listing revision.
SupportLinks []string `json:"supportLinks"`
Icon string `json:"icon"`
// Status notes for the listing revision.
StatusNotes string `json:"statusNotes"`
// Allowed tenancies provided when a listing revision is published as private.
AllowedTenancies []string `json:"allowedTenancies"`
// Identifies whether publisher allows internal tenancy launches for the listing revision.
AreInternalTenancyLaunchAllowed bool `json:"areInternalTenancyLaunchAllowed"`
// Additional metadata key/value pairs for the listing revision summary.
ExtendedMetadata map[string]string `json:"extendedMetadata"`
// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
// Example: `{"bar-key": "value"}`
FreeformTags map[string]string `json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"foo-namespace": {"bar-key": "value"}}`
DefinedTags map[string]map[string]interface{} `json:"definedTags"`
// System tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`
SystemTags map[string]map[string]interface{} `json:"systemTags"`
}
ListingRevision The model for an Oracle Cloud Infrastructure Marketplace Publisher listing revision.
type ListingSummary ¶
type ListingSummary struct {
// The unique OCID of the listing.
Id string `json:"id"`
// The unique identifier of the compartment.
CompartmentId string `json:"compartmentId"`
// The listing type of the Listing.
ListingType ListingTypeEnum `json:"listingType"`
// The name of the listing.
Name string `json:"name"`
// The current state for the Listing.
LifecycleState string `json:"lifecycleState"`
// The package type for the listing.
PackageType string `json:"packageType"`
// The date and time the listing was created, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
// Example: `2023-03-27T21:10:29.600Z`
TimeCreated time.Time `json:"timeCreated"`
// The date and time the listing was updated, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
// Example: `2023-03-27T21:10:29.600Z`
TimeUpdated time.Time `json:"timeUpdated"`
// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
// Example: `{"bar-key": "value"}`
FreeformTags map[string]string `json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"foo-namespace": {"bar-key": "value"}}`
DefinedTags map[string]map[string]interface{} `json:"definedTags"`
// System tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`
SystemTags map[string]map[string]interface{} `json:"systemTags"`
}
ListingSummary The model for a summary of the publisher listing.
type ListingTypeEnum ¶
type ListingTypeEnum string
ListingTypeEnum Enum with underlying type: string
const ( ListingTypeCommunity ListingTypeEnum = "COMMUNITY" ListingTypePartner ListingTypeEnum = "PARTNER" ListingTypePrivate ListingTypeEnum = "PRIVATE" )
Set of constants representing the allowable values for ListingTypeEnum
type Market ¶
type Market struct {
// The name of the market.
Name string `json:"name"`
// The code of the market.
Code string `json:"code"`
// The category code of the market.
CategoryCode string `json:"categoryCode"`
// bill to countries for the market.
BillToCountries []string `json:"billToCountries"`
// The current state for the market.
LifecycleState string `json:"lifecycleState"`
// The date and time the market was created, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
// Example: `2022-09-15T21:10:29.600Z`
TimeCreated time.Time `json:"timeCreated"`
// The date and time the market was updated, in the format defined by RFC3339 (https://tools.ietf.org/html/rfc3339).
// Example: `2022-09-15T21:10:29.600Z`
TimeUpdated time.Time `json:"timeUpdated"`
// The realm code of the market.
RealmCode string `json:"realmCode"`
}
Market The model for the market details.
type Publication ¶
type Publication struct {
// The OCID (https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the compartment where the publication exists.
CompartmentId string `json:"compartmentId"`
// The unique identifier for the publication in Marketplace.
Id string `json:"id"`
// The name of the publication, which is also used in the listing.
Name string `json:"name"`
// The publisher category to which the publication belongs. The publisher category informs where the listing appears for use.
ListingType ListingTypeEnum `json:"listingType"`
// The lifecycle state of the publication.
LifecycleState PublicationLifecycleStateEnum `json:"lifecycleState"`
// A short description of the publication to use in the listing.
ShortDescription string `json:"shortDescription"`
// A long description of the publication to use in the listing.
LongDescription string `json:"longDescription"`
// Contact information for getting support from the publisher for the listing.
SupportContacts SupportContact `json:"supportContacts"`
Icon string `json:"icon"`
// The list of operating systems supported by the listing.
SupportedOperatingSystems []string `json:"supportedOperatingSystems"`
// The date and time the publication was created, expressed in RFC 3339 (https://tools.ietf.org/html/rfc3339)
// timestamp format.
// Example: `2016-08-25T21:10:29.600Z`
TimeCreated time.Time `json:"timeCreated"`
// The defined tags associated with this resource, if any. Each key is predefined and scoped to namespaces.
// For more information, see Resource Tags (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
// Example: `{"Operations": {"CostCenter": "42"}}`
DefinedTags map[string]map[string]interface{} `json:"definedTags"`
// The freeform tags associated with this resource, if any. Each tag is a simple key-value pair with no
// predefined name, type, or namespace. For more information, see Resource Tags (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
// Example: `{"Department": "Finance"}`
FreeformTags map[string]string `json:"freeformTags"`
// The system tags associated with this resource, if any. The system tags are set by Oracle Cloud Infrastructure services. Each key is predefined and scoped to namespaces.
// For more information, see Resource Tags (https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
// Example: `{orcl-cloud: {free-tier-retain: true}}`
SystemTags map[string]map[string]interface{} `json:"systemTags"`
}
Publication The model for an Oracle Cloud Infrastructure Marketplace publication.
type PublicationLifecycleStateEnum ¶
type PublicationLifecycleStateEnum string
PublicationLifecycleStateEnum Enum with underlying type: string
const ( PublicationLifecycleStateCreating PublicationLifecycleStateEnum = "CREATING" PublicationLifecycleStateActive PublicationLifecycleStateEnum = "ACTIVE" PublicationLifecycleStateDeleting PublicationLifecycleStateEnum = "DELETING" PublicationLifecycleStateDeleted PublicationLifecycleStateEnum = "DELETED" PublicationLifecycleStateFailed PublicationLifecycleStateEnum = "FAILED" )
Set of constants representing the allowable values for PublicationLifecycleStateEnum
type Publisher ¶
type Publisher struct {
// Unique OCID identifier for the publisher.
Id string `json:"id"`
// The root compartment of the Publisher.
CompartmentId string `json:"compartmentId"`
// The namespace for the publisher registry to persist artifacts.
RegistryNamespace string `json:"registryNamespace"`
// The name of the publisher.
DisplayName string `json:"displayName"`
// The public email address of the publisher for customers.
ContactEmail string `json:"contactEmail"`
// The phone number of the publisher in E.164 format.
ContactPhone string `json:"contactPhone"`
// publisher type.
PublisherType string `json:"publisherType"`
// The time the publisher was created. An RFC3339 formatted datetime string.
TimeCreated time.Time `json:"timeCreated"`
// The time the publisher was updated. An RFC3339 formatted datetime string.
TimeUpdated time.Time `json:"timeUpdated"`
// publisher status.
PublisherStatus string `json:"publisherStatus"`
// Unique legacy service identifier for the publisher.
LegacyId string `json:"legacyId"`
// A description of the publisher.
Description string `json:"description"`
// The year the publisher's company or organization was founded.
YearFounded int64 `json:"yearFounded"`
// The publisher's website.
WebsiteUrl string `json:"websiteUrl"`
// The address of the publisher's headquarters.
HqAddress string `json:"hqAddress"`
Logo string `json:"logo"`
// Publisher's Facebook URL
FacebookUrl string `json:"facebookUrl"`
// Publisher's Twitter URL
TwitterUrl string `json:"twitterUrl"`
// Publisher's LinkedIn URL
LinkedinUrl string `json:"linkedinUrl"`
// Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only.
// Example: `{"bar-key": "value"}`
FreeformTags map[string]string `json:"freeformTags"`
// Defined tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"foo-namespace": {"bar-key": "value"}}`
DefinedTags map[string]map[string]interface{} `json:"definedTags"`
// System tags for this resource. Each key is predefined and scoped to a namespace.
// Example: `{"orcl-cloud": {"free-tier-retained": "true"}}`
SystemTags map[string]map[string]interface{} `json:"systemTags"`
// The private email address of the publisher product team.
NotificationEmail string `json:"notificationEmail"`
}
Publisher The model for a publisher details.
type PublisherSummary ¶
type PublisherSummary struct {
// The unique identifier for the publisher.
Id string `json:"id"`
// The name of the publisher.
Name string `json:"name"`
// A description of the publisher.
Description string `json:"description"`
}
PublisherSummary Summary details about the publisher of the listing.
type SupportContact ¶
type SupportContact struct {
// The name of the contact.
Name string `json:"name"`
// The phone number of the contact.
Phone string `json:"phone"`
// The email of the contact.
Email string `json:"email"`
// The email subject line to use when contacting support.
Subject string `json:"subject"`
}
SupportContact Contact information to use to get support.