package resources import ( "cloud.o-forge.io/core/oc-lib/models/booking" "cloud.o-forge.io/core/oc-lib/models/common/pricing" "cloud.o-forge.io/core/oc-lib/models/utils" "cloud.o-forge.io/core/oc-lib/tools" ) type ResourceInterface interface { utils.DBObject Trim() GetBookingModes() map[booking.BookingMode]*pricing.PricingVariation ConvertToPricedResource(t tools.DataType, a *int, selectedPartnership *int, selectedBuyingStrategy *int, selectedStrategy *int, b *int, request *tools.APIRequest) (pricing.PricedItemITF, error) GetType() string GetSelectedInstance(selected *int) ResourceInstanceITF ClearEnv() utils.DBObject SetAllowedInstances(request *tools.APIRequest) AddInstances(instance ResourceInstanceITF) } type ResourceInstanceITF interface { utils.DBObject GetID() string GetName() string StoreDraftDefault() ClearEnv() GetProfile(peerID string, partnershipIndex *int, buying *int, strategy *int) pricing.PricingProfileITF GetPricingsProfiles(peerID string, groups []string) []pricing.PricingProfileITF GetPeerGroups() ([]ResourcePartnerITF, []map[string][]string) ClearPeerGroups() } type ResourcePartnerITF interface { GetPricingsProfiles(peerID string, groups []string) []pricing.PricingProfileITF GetPeerGroups() map[string][]string ClearPeerGroups() GetProfile(buying *int, strategy *int) pricing.PricingProfileITF }