@@ -87,6 +87,57 @@ func (enum *PublicCatalogProductPropertiesHardwareCPUArch) UnmarshalJSON(data []
8787 return nil
8888}
8989
90+ type PublicCatalogProductStatus string
91+
92+ const (
93+ // Unknown status.
94+ PublicCatalogProductStatusUnknownStatus = PublicCatalogProductStatus ("unknown_status" )
95+ // The product is available in Public Beta.
96+ PublicCatalogProductStatusPublicBeta = PublicCatalogProductStatus ("public_beta" )
97+ // The product is available in Preview mode.
98+ PublicCatalogProductStatusPreview = PublicCatalogProductStatus ("preview" )
99+ // The product is generally available.
100+ PublicCatalogProductStatusGeneralAvailability = PublicCatalogProductStatus ("general_availability" )
101+ // The product must not be used for new deployments.
102+ PublicCatalogProductStatusEndOfDeployment = PublicCatalogProductStatus ("end_of_deployment" )
103+ // There is no longer any commercial support for this product.
104+ PublicCatalogProductStatusEndOfSupport = PublicCatalogProductStatus ("end_of_support" )
105+ )
106+
107+ func (enum PublicCatalogProductStatus ) String () string {
108+ if enum == "" {
109+ // return default value if empty
110+ return string (PublicCatalogProductStatusUnknownStatus )
111+ }
112+ return string (enum )
113+ }
114+
115+ func (enum PublicCatalogProductStatus ) Values () []PublicCatalogProductStatus {
116+ return []PublicCatalogProductStatus {
117+ "unknown_status" ,
118+ "public_beta" ,
119+ "preview" ,
120+ "general_availability" ,
121+ "end_of_deployment" ,
122+ "end_of_support" ,
123+ }
124+ }
125+
126+ func (enum PublicCatalogProductStatus ) MarshalJSON () ([]byte , error ) {
127+ return []byte (fmt .Sprintf (`"%s"` , enum )), nil
128+ }
129+
130+ func (enum * PublicCatalogProductStatus ) UnmarshalJSON (data []byte ) error {
131+ tmp := ""
132+
133+ if err := json .Unmarshal (data , & tmp ); err != nil {
134+ return err
135+ }
136+
137+ * enum = PublicCatalogProductStatus (PublicCatalogProductStatus (tmp ).String ())
138+ return nil
139+ }
140+
90141type PublicCatalogProductUnitOfMeasureCountableUnit string
91142
92143const (
@@ -334,6 +385,12 @@ type PublicCatalogProductPropertiesHardware struct {
334385type PublicCatalogProductPropertiesInstance struct {
335386 // Range: the range of the Instance server.
336387 Range string `json:"range"`
388+
389+ // OfferID: the offer ID of the Instance server.
390+ OfferID string `json:"offer_id"`
391+
392+ // RecommendedReplacementOfferIDs: the recommended replacement offer IDs of the Instance server.
393+ RecommendedReplacementOfferIDs []string `json:"recommended_replacement_offer_ids"`
337394}
338395
339396// PublicCatalogProductEnvironmentalImpactEstimation: public catalog product environmental impact estimation.
@@ -429,6 +486,13 @@ type PublicCatalogProduct struct {
429486
430487 // UnitOfMeasure: the unit of measure of the product.
431488 UnitOfMeasure * PublicCatalogProductUnitOfMeasure `json:"unit_of_measure"`
489+
490+ // Status: the status of the product.
491+ // Default value: unknown_status
492+ Status PublicCatalogProductStatus `json:"status"`
493+
494+ // EndOfLifeAt: the end of life date of the product.
495+ EndOfLifeAt * time.Time `json:"end_of_life_at"`
432496}
433497
434498// ListPublicCatalogProductsResponse: list public catalog products response.
0 commit comments