Skip to content

Commit 035cd24

Browse files
committed
feat: update generated APIs
1 parent 6c779aa commit 035cd24

File tree

1 file changed

+67
-7
lines changed

1 file changed

+67
-7
lines changed

api/product_catalog/v2alpha1/product_catalog_sdk.go

Lines changed: 67 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ const (
5858
ListPublicCatalogProductsRequestProductTypeObjectStorage = ListPublicCatalogProductsRequestProductType("object_storage")
5959
// Include the Managed Inference information in the response.
6060
ListPublicCatalogProductsRequestProductTypeManagedInference = ListPublicCatalogProductsRequestProductType("managed_inference")
61+
// Include the Generative APIs information in the response.
62+
ListPublicCatalogProductsRequestProductTypeGenerativeAPIs = ListPublicCatalogProductsRequestProductType("generative_apis")
6163
)
6264

6365
func (enum ListPublicCatalogProductsRequestProductType) String() string {
@@ -78,6 +80,7 @@ func (enum ListPublicCatalogProductsRequestProductType) Values() []ListPublicCat
7880
"block_storage",
7981
"object_storage",
8082
"managed_inference",
83+
"generative_apis",
8184
}
8285
}
8386

@@ -156,6 +159,49 @@ func (enum *ListPublicCatalogProductsRequestStatus) UnmarshalJSON(data []byte) e
156159
return nil
157160
}
158161

162+
type PublicCatalogProductProductBadge string
163+
164+
const (
165+
PublicCatalogProductProductBadgeUnknownProductBadge = PublicCatalogProductProductBadge("unknown_product_badge")
166+
PublicCatalogProductProductBadgeNewProduct = PublicCatalogProductProductBadge("new_product")
167+
PublicCatalogProductProductBadgeBestSeller = PublicCatalogProductProductBadge("best_seller")
168+
PublicCatalogProductProductBadgeBestValue = PublicCatalogProductProductBadge("best_value")
169+
PublicCatalogProductProductBadgePopular = PublicCatalogProductProductBadge("popular")
170+
)
171+
172+
func (enum PublicCatalogProductProductBadge) String() string {
173+
if enum == "" {
174+
// return default value if empty
175+
return string(PublicCatalogProductProductBadgeUnknownProductBadge)
176+
}
177+
return string(enum)
178+
}
179+
180+
func (enum PublicCatalogProductProductBadge) Values() []PublicCatalogProductProductBadge {
181+
return []PublicCatalogProductProductBadge{
182+
"unknown_product_badge",
183+
"new_product",
184+
"best_seller",
185+
"best_value",
186+
"popular",
187+
}
188+
}
189+
190+
func (enum PublicCatalogProductProductBadge) MarshalJSON() ([]byte, error) {
191+
return []byte(fmt.Sprintf(`"%s"`, enum)), nil
192+
}
193+
194+
func (enum *PublicCatalogProductProductBadge) UnmarshalJSON(data []byte) error {
195+
tmp := ""
196+
197+
if err := json.Unmarshal(data, &tmp); err != nil {
198+
return err
199+
}
200+
201+
*enum = PublicCatalogProductProductBadge(PublicCatalogProductProductBadge(tmp).String())
202+
return nil
203+
}
204+
159205
type PublicCatalogProductPropertiesHardwareCPUArch string
160206

161207
const (
@@ -518,6 +564,13 @@ type PublicCatalogProductPropertiesElasticMetal struct {
518564
OfferID string `json:"offer_id"`
519565
}
520566

567+
// PublicCatalogProductPropertiesGenerativeAPIs: public catalog product properties generative ap is.
568+
type PublicCatalogProductPropertiesGenerativeAPIs struct {
569+
Reasoning bool `json:"reasoning"`
570+
571+
SupportedAPIs []string `json:"supported_apis"`
572+
}
573+
521574
// PublicCatalogProductPropertiesHardware: public catalog product properties hardware.
522575
type PublicCatalogProductPropertiesHardware struct {
523576
// CPU: the CPU hardware properties.
@@ -595,32 +648,36 @@ type PublicCatalogProductProperties struct {
595648
Hardware *PublicCatalogProductPropertiesHardware `json:"hardware"`
596649

597650
// Dedibox: the properties of Dedibox products.
598-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
651+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
599652
Dedibox *PublicCatalogProductPropertiesDedibox `json:"dedibox,omitempty"`
600653

601654
// ElasticMetal: the properties of Elastic Metal products.
602-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
655+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
603656
ElasticMetal *PublicCatalogProductPropertiesElasticMetal `json:"elastic_metal,omitempty"`
604657

605658
// AppleSilicon: the properties of Apple Silicon products.
606-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
659+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
607660
AppleSilicon *PublicCatalogProductPropertiesAppleSilicon `json:"apple_silicon,omitempty"`
608661

609662
// Instance: the properties of Instance products.
610-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
663+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
611664
Instance *PublicCatalogProductPropertiesInstance `json:"instance,omitempty"`
612665

613666
// BlockStorage: the properties of Block Storage products.
614-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
667+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
615668
BlockStorage *PublicCatalogProductPropertiesBlockStorage `json:"block_storage,omitempty"`
616669

617670
// ObjectStorage: the properties of Object Storage products.
618-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
671+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
619672
ObjectStorage *PublicCatalogProductPropertiesObjectStorage `json:"object_storage,omitempty"`
620673

621674
// ManagedInference: the properties of Managed Inference products.
622-
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference must be set.
675+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
623676
ManagedInference *PublicCatalogProductPropertiesManagedInference `json:"managed_inference,omitempty"`
677+
678+
// GenerativeAPIs: the properties of Generative APIs products.
679+
// Precisely one of Dedibox, ElasticMetal, AppleSilicon, Instance, BlockStorage, ObjectStorage, ManagedInference, GenerativeAPIs must be set.
680+
GenerativeAPIs *PublicCatalogProductPropertiesGenerativeAPIs `json:"generative_apis,omitempty"`
624681
}
625682

626683
// PublicCatalogProductUnitOfMeasure: public catalog product unit of measure.
@@ -672,6 +729,9 @@ type PublicCatalogProduct struct {
672729

673730
// EndOfLifeAt: the end of life date of the product.
674731
EndOfLifeAt *time.Time `json:"end_of_life_at"`
732+
733+
// Badges: different badges that can be associated with the product.
734+
Badges []PublicCatalogProductProductBadge `json:"badges"`
675735
}
676736

677737
// ListPublicCatalogProductsResponse: list public catalog products response.

0 commit comments

Comments
 (0)