From 84c1694f6bd220aea8ed0d3e4185c204b32c20f7 Mon Sep 17 00:00:00 2001 From: Oleksandr Anosov Date: Fri, 13 Mar 2026 16:52:42 +0200 Subject: [PATCH 1/3] CO-4344: Bump max drain timeout to 180min --- castai/resource_node_configuration.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/castai/resource_node_configuration.go b/castai/resource_node_configuration.go index 98e95be57..5a921ea37 100644 --- a/castai/resource_node_configuration.go +++ b/castai/resource_node_configuration.go @@ -113,7 +113,7 @@ func resourceNodeConfiguration() *schema.Resource { Type: schema.TypeInt, Optional: true, Default: 0, - ValidateDiagFunc: validation.ToDiagFunc(validation.IntBetween(0, 3600)), + ValidateDiagFunc: validation.ToDiagFunc(validation.IntBetween(0, 10800)), Description: "Timeout in seconds for draining the node. Defaults to 0", }, FieldNodeConfigurationMinDiskSize: { From f1edd4a983e8c53377337fb563000ca61d04808b Mon Sep 17 00:00:00 2001 From: Oleksandr Anosov Date: Fri, 13 Mar 2026 16:56:36 +0200 Subject: [PATCH 2/3] regenerate omni sdk --- castai/resource_omni_cluster.go | 2 +- castai/resource_omni_cluster_test.go | 2 +- castai/sdk/api.gen.go | 35 +++++++++++++------ castai/sdk/omni/api.gen.go | 12 +++++++ castai/sdk/omni/client.gen.go | 52 ++++++++++++++++++++++++---- castai/sdk/omni/mock/client.go | 24 ++++++------- 6 files changed, 96 insertions(+), 31 deletions(-) diff --git a/castai/resource_omni_cluster.go b/castai/resource_omni_cluster.go index 8ccaef735..2ba525e00 100644 --- a/castai/resource_omni_cluster.go +++ b/castai/resource_omni_cluster.go @@ -124,7 +124,7 @@ func (r *omniClusterResource) Read(ctx context.Context, req resource.ReadRequest organizationID := state.OrganizationID.ValueString() clusterID := state.ID.ValueString() - apiResp, err := client.ClustersAPIGetClusterWithResponse(ctx, organizationID, clusterID) + apiResp, err := client.ClustersAPIGetClusterWithResponse(ctx, organizationID, clusterID, nil) if err != nil { resp.Diagnostics.AddError("Failed to read omni cluster", err.Error()) return diff --git a/castai/resource_omni_cluster_test.go b/castai/resource_omni_cluster_test.go index 0652c45a3..bf42788ca 100644 --- a/castai/resource_omni_cluster_test.go +++ b/castai/resource_omni_cluster_test.go @@ -45,7 +45,7 @@ func testAccCheckOmniClusterDestroy(s *terraform.State) error { organizationID := rs.Primary.Attributes["organization_id"] clusterID := rs.Primary.ID - response, err := client.ClustersAPIGetClusterWithResponse(ctx, organizationID, clusterID) + response, err := client.ClustersAPIGetClusterWithResponse(ctx, organizationID, clusterID, nil) if err != nil { return err } diff --git a/castai/sdk/api.gen.go b/castai/sdk/api.gen.go index c4d44ef72..2e74e1c4a 100644 --- a/castai/sdk/api.gen.go +++ b/castai/sdk/api.gen.go @@ -1857,16 +1857,17 @@ type CastaiInventoryV1beta1AzureReservationImport struct { // CastaiInventoryV1beta1AzureSavingsPlanContext defines model for castai.inventory.v1beta1.AzureSavingsPlanContext. type CastaiInventoryV1beta1AzureSavingsPlanContext struct { - CommitmentAmount *float64 `json:"commitmentAmount,omitempty"` - Id *string `json:"id,omitempty"` - InstanceTypesUsage *CastaiInventoryV1beta1InstanceTypeBasedUsage `json:"instanceTypesUsage,omitempty"` - ProvisioningState *string `json:"provisioningState,omitempty"` - Scope *CastaiInventoryV1beta1AzureSavingsPlanContextAzureSavingsPlanScope `json:"scope,omitempty"` - ScopeManagementGroup *string `json:"scopeManagementGroup,omitempty"` - ScopeResourceGroup *string `json:"scopeResourceGroup,omitempty"` - ScopeSubscription *string `json:"scopeSubscription,omitempty"` - ScopeTenant *string `json:"scopeTenant,omitempty"` - Term *CastaiInventoryV1beta1AzureSavingsPlanContextAzureSavingsPlanTerm `json:"term,omitempty"` + CommitmentAmount *float64 `json:"commitmentAmount,omitempty"` + EffectiveCommitmentAmount *float64 `json:"effectiveCommitmentAmount,omitempty"` + Id *string `json:"id,omitempty"` + InstanceTypesUsage *CastaiInventoryV1beta1InstanceTypeBasedUsage `json:"instanceTypesUsage,omitempty"` + ProvisioningState *string `json:"provisioningState,omitempty"` + Scope *CastaiInventoryV1beta1AzureSavingsPlanContextAzureSavingsPlanScope `json:"scope,omitempty"` + ScopeManagementGroup *string `json:"scopeManagementGroup,omitempty"` + ScopeResourceGroup *string `json:"scopeResourceGroup,omitempty"` + ScopeSubscription *string `json:"scopeSubscription,omitempty"` + ScopeTenant *string `json:"scopeTenant,omitempty"` + Term *CastaiInventoryV1beta1AzureSavingsPlanContextAzureSavingsPlanTerm `json:"term,omitempty"` } // CastaiInventoryV1beta1AzureSavingsPlanContextAzureSavingsPlanScope defines model for castai.inventory.v1beta1.AzureSavingsPlanContext.AzureSavingsPlanScope. @@ -2488,6 +2489,9 @@ type CastaiInventoryV1beta1ListZonesResponse struct { // CastaiInventoryV1beta1NetworkInfo Describes the network settings for the instance type. type CastaiInventoryV1beta1NetworkInfo struct { + // AcceleratedNetworkingSupported Indicates whether the Azure instance type supports Accelerated Networking. Azure only. + AcceleratedNetworkingSupported *bool `json:"acceleratedNetworkingSupported"` + // BaseBandwidthMbps Base bandwidth in Mbps. BaseBandwidthMbps *int32 `json:"baseBandwidthMbps,omitempty"` @@ -3817,6 +3821,9 @@ type CastaiUsersV1beta1UserOrganization struct { // Name name of the organization. Name string `json:"name"` + // OrganizationMember Whether the user is member of the organization. + OrganizationMember *bool `json:"organizationMember,omitempty"` + // ParentId ID of the parent organization. This is beta feature not available for all organizations. ParentId *string `json:"parentId"` // Deprecated: @@ -9197,6 +9204,13 @@ type WorkloadoptimizationV1InitiatedBy struct { Name *string `json:"name"` } +// WorkloadoptimizationV1JVMContainerMetrics defines model for workloadoptimization.v1.JVMContainerMetrics. +type WorkloadoptimizationV1JVMContainerMetrics struct { + HeapCommittedBytes *[]WorkloadoptimizationV1TimeSeriesMetric `json:"heapCommittedBytes,omitempty"` + HeapUsedBytes *[]WorkloadoptimizationV1TimeSeriesMetric `json:"heapUsedBytes,omitempty"` + RecommendedHeapBytes *[]WorkloadoptimizationV1TimeSeriesMetric `json:"recommendedHeapBytes,omitempty"` +} + // WorkloadoptimizationV1JVMMemorySettings defines model for workloadoptimization.v1.JVMMemorySettings. type WorkloadoptimizationV1JVMMemorySettings struct { // Optimization Defines whether JVM memory optimization is enabled. @@ -10360,6 +10374,7 @@ type WorkloadoptimizationV1WorkloadMetricContainer struct { CpuCoresPredictionsAggregated *WorkloadoptimizationV1AggregatedPredictionMetrics `json:"cpuCoresPredictionsAggregated,omitempty"` CpuStallPct *[]WorkloadoptimizationV1ResourceMetrics `json:"cpuStallPct,omitempty"` CpuStallPctAggregated *WorkloadoptimizationV1AggregatedCPUStallMetrics `json:"cpuStallPctAggregated,omitempty"` + Jvm *WorkloadoptimizationV1JVMContainerMetrics `json:"jvm,omitempty"` MemoryGib []WorkloadoptimizationV1ResourceMetrics `json:"memoryGib"` MemoryGibAggregated WorkloadoptimizationV1AggregatedMetrics `json:"memoryGibAggregated"` Name string `json:"name"` diff --git a/castai/sdk/omni/api.gen.go b/castai/sdk/omni/api.gen.go index ffc6058a9..a9e653fdf 100644 --- a/castai/sdk/omni/api.gen.go +++ b/castai/sdk/omni/api.gen.go @@ -125,6 +125,9 @@ type Cluster struct { // DeleteTime The delete timestamp. DeleteTime *time.Time `json:"deleteTime,omitempty"` + // EdgeLocations List of edge locations for this cluster. + EdgeLocations *[]EdgeLocation `json:"edgeLocations,omitempty"` + // Id The ID of the cluster. Id *string `json:"id,omitempty"` @@ -471,6 +474,9 @@ type ClustersAPIListClustersParams struct { // PageCursor Cursor that defines token indicating where to start the next page. // Empty value indicates to start from beginning of the dataset. PageCursor *string `form:"page.cursor,omitempty" json:"page.cursor,omitempty"` + + // IncludeEdgeLocations Whether edge locations should be included in the response. + IncludeEdgeLocations *bool `form:"includeEdgeLocations,omitempty" json:"includeEdgeLocations,omitempty"` } // EdgeLocationsAPIListEdgeLocationsParams defines parameters for EdgeLocationsAPIListEdgeLocations. @@ -489,6 +495,12 @@ type EdgeLocationsAPIUpdateEdgeLocationParams struct { UpdateMask *string `form:"updateMask,omitempty" json:"updateMask,omitempty"` } +// ClustersAPIGetClusterParams defines parameters for ClustersAPIGetCluster. +type ClustersAPIGetClusterParams struct { + // IncludeEdgeLocations Whether edge locations should be included in the response. + IncludeEdgeLocations *bool `form:"includeEdgeLocations,omitempty" json:"includeEdgeLocations,omitempty"` +} + // EdgeLocationsAPICreateEdgeLocationJSONRequestBody defines body for EdgeLocationsAPICreateEdgeLocation for application/json ContentType. type EdgeLocationsAPICreateEdgeLocationJSONRequestBody = EdgeLocation diff --git a/castai/sdk/omni/client.gen.go b/castai/sdk/omni/client.gen.go index 7d38a7d00..a253f44ca 100644 --- a/castai/sdk/omni/client.gen.go +++ b/castai/sdk/omni/client.gen.go @@ -128,7 +128,7 @@ type ClientInterface interface { ClustersAPIDeleteCluster(ctx context.Context, organizationId string, id string, reqEditors ...RequestEditorFn) (*http.Response, error) // ClustersAPIGetCluster request - ClustersAPIGetCluster(ctx context.Context, organizationId string, id string, reqEditors ...RequestEditorFn) (*http.Response, error) + ClustersAPIGetCluster(ctx context.Context, organizationId string, id string, params *ClustersAPIGetClusterParams, reqEditors ...RequestEditorFn) (*http.Response, error) // ClustersAPIOnboardCluster request ClustersAPIOnboardCluster(ctx context.Context, organizationId string, id string, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -301,8 +301,8 @@ func (c *Client) ClustersAPIDeleteCluster(ctx context.Context, organizationId st return c.Client.Do(req) } -func (c *Client) ClustersAPIGetCluster(ctx context.Context, organizationId string, id string, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewClustersAPIGetClusterRequest(c.Server, organizationId, id) +func (c *Client) ClustersAPIGetCluster(ctx context.Context, organizationId string, id string, params *ClustersAPIGetClusterParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewClustersAPIGetClusterRequest(c.Server, organizationId, id, params) if err != nil { return nil, err } @@ -434,6 +434,22 @@ func NewClustersAPIListClustersRequest(server string, organizationId string, par } + if params.IncludeEdgeLocations != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "includeEdgeLocations", runtime.ParamLocationQuery, *params.IncludeEdgeLocations); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + queryURL.RawQuery = queryValues.Encode() } @@ -991,7 +1007,7 @@ func NewClustersAPIDeleteClusterRequest(server string, organizationId string, id } // NewClustersAPIGetClusterRequest generates requests for ClustersAPIGetCluster -func NewClustersAPIGetClusterRequest(server string, organizationId string, id string) (*http.Request, error) { +func NewClustersAPIGetClusterRequest(server string, organizationId string, id string, params *ClustersAPIGetClusterParams) (*http.Request, error) { var err error var pathParam0 string @@ -1023,6 +1039,28 @@ func NewClustersAPIGetClusterRequest(server string, organizationId string, id st return nil, err } + if params != nil { + queryValues := queryURL.Query() + + if params.IncludeEdgeLocations != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "includeEdgeLocations", runtime.ParamLocationQuery, *params.IncludeEdgeLocations); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + queryURL.RawQuery = queryValues.Encode() + } + req, err := http.NewRequest("GET", queryURL.String(), nil) if err != nil { return nil, err @@ -1290,7 +1328,7 @@ type ClientWithResponsesInterface interface { ClustersAPIDeleteClusterWithResponse(ctx context.Context, organizationId string, id string) (*ClustersAPIDeleteClusterResponse, error) // ClustersAPIGetCluster request - ClustersAPIGetClusterWithResponse(ctx context.Context, organizationId string, id string) (*ClustersAPIGetClusterResponse, error) + ClustersAPIGetClusterWithResponse(ctx context.Context, organizationId string, id string, params *ClustersAPIGetClusterParams) (*ClustersAPIGetClusterResponse, error) // ClustersAPIOnboardCluster request ClustersAPIOnboardClusterWithResponse(ctx context.Context, organizationId string, id string) (*ClustersAPIOnboardClusterResponse, error) @@ -1923,8 +1961,8 @@ func (c *ClientWithResponses) ClustersAPIDeleteClusterWithResponse(ctx context.C } // ClustersAPIGetClusterWithResponse request returning *ClustersAPIGetClusterResponse -func (c *ClientWithResponses) ClustersAPIGetClusterWithResponse(ctx context.Context, organizationId string, id string) (*ClustersAPIGetClusterResponse, error) { - rsp, err := c.ClustersAPIGetCluster(ctx, organizationId, id) +func (c *ClientWithResponses) ClustersAPIGetClusterWithResponse(ctx context.Context, organizationId string, id string, params *ClustersAPIGetClusterParams) (*ClustersAPIGetClusterResponse, error) { + rsp, err := c.ClustersAPIGetCluster(ctx, organizationId, id, params) if err != nil { return nil, err } diff --git a/castai/sdk/omni/mock/client.go b/castai/sdk/omni/mock/client.go index f9daef62f..704f57067 100644 --- a/castai/sdk/omni/mock/client.go +++ b/castai/sdk/omni/mock/client.go @@ -96,9 +96,9 @@ func (mr *MockClientInterfaceMockRecorder) ClustersAPIDeleteCluster(ctx, organiz } // ClustersAPIGetCluster mocks base method. -func (m *MockClientInterface) ClustersAPIGetCluster(ctx context.Context, organizationId, id string, reqEditors ...omni.RequestEditorFn) (*http.Response, error) { +func (m *MockClientInterface) ClustersAPIGetCluster(ctx context.Context, organizationId, id string, params *omni.ClustersAPIGetClusterParams, reqEditors ...omni.RequestEditorFn) (*http.Response, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, organizationId, id} + varargs := []interface{}{ctx, organizationId, id, params} for _, a := range reqEditors { varargs = append(varargs, a) } @@ -109,9 +109,9 @@ func (m *MockClientInterface) ClustersAPIGetCluster(ctx context.Context, organiz } // ClustersAPIGetCluster indicates an expected call of ClustersAPIGetCluster. -func (mr *MockClientInterfaceMockRecorder) ClustersAPIGetCluster(ctx, organizationId, id interface{}, reqEditors ...interface{}) *gomock.Call { +func (mr *MockClientInterfaceMockRecorder) ClustersAPIGetCluster(ctx, organizationId, id, params interface{}, reqEditors ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, organizationId, id}, reqEditors...) + varargs := append([]interface{}{ctx, organizationId, id, params}, reqEditors...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClustersAPIGetCluster", reflect.TypeOf((*MockClientInterface)(nil).ClustersAPIGetCluster), varargs...) } @@ -514,9 +514,9 @@ func (mr *MockClientWithResponsesInterfaceMockRecorder) ClustersAPIDeleteCluster } // ClustersAPIGetCluster mocks base method. -func (m *MockClientWithResponsesInterface) ClustersAPIGetCluster(ctx context.Context, organizationId, id string, reqEditors ...omni.RequestEditorFn) (*http.Response, error) { +func (m *MockClientWithResponsesInterface) ClustersAPIGetCluster(ctx context.Context, organizationId, id string, params *omni.ClustersAPIGetClusterParams, reqEditors ...omni.RequestEditorFn) (*http.Response, error) { m.ctrl.T.Helper() - varargs := []interface{}{ctx, organizationId, id} + varargs := []interface{}{ctx, organizationId, id, params} for _, a := range reqEditors { varargs = append(varargs, a) } @@ -527,25 +527,25 @@ func (m *MockClientWithResponsesInterface) ClustersAPIGetCluster(ctx context.Con } // ClustersAPIGetCluster indicates an expected call of ClustersAPIGetCluster. -func (mr *MockClientWithResponsesInterfaceMockRecorder) ClustersAPIGetCluster(ctx, organizationId, id interface{}, reqEditors ...interface{}) *gomock.Call { +func (mr *MockClientWithResponsesInterfaceMockRecorder) ClustersAPIGetCluster(ctx, organizationId, id, params interface{}, reqEditors ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - varargs := append([]interface{}{ctx, organizationId, id}, reqEditors...) + varargs := append([]interface{}{ctx, organizationId, id, params}, reqEditors...) return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClustersAPIGetCluster", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).ClustersAPIGetCluster), varargs...) } // ClustersAPIGetClusterWithResponse mocks base method. -func (m *MockClientWithResponsesInterface) ClustersAPIGetClusterWithResponse(ctx context.Context, organizationId, id string) (*omni.ClustersAPIGetClusterResponse, error) { +func (m *MockClientWithResponsesInterface) ClustersAPIGetClusterWithResponse(ctx context.Context, organizationId, id string, params *omni.ClustersAPIGetClusterParams) (*omni.ClustersAPIGetClusterResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "ClustersAPIGetClusterWithResponse", ctx, organizationId, id) + ret := m.ctrl.Call(m, "ClustersAPIGetClusterWithResponse", ctx, organizationId, id, params) ret0, _ := ret[0].(*omni.ClustersAPIGetClusterResponse) ret1, _ := ret[1].(error) return ret0, ret1 } // ClustersAPIGetClusterWithResponse indicates an expected call of ClustersAPIGetClusterWithResponse. -func (mr *MockClientWithResponsesInterfaceMockRecorder) ClustersAPIGetClusterWithResponse(ctx, organizationId, id interface{}) *gomock.Call { +func (mr *MockClientWithResponsesInterfaceMockRecorder) ClustersAPIGetClusterWithResponse(ctx, organizationId, id, params interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClustersAPIGetClusterWithResponse", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).ClustersAPIGetClusterWithResponse), ctx, organizationId, id) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ClustersAPIGetClusterWithResponse", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).ClustersAPIGetClusterWithResponse), ctx, organizationId, id, params) } // ClustersAPIListClusters mocks base method. From 407b7c17dc568b4b08e87a15971117e3bcecb38c Mon Sep 17 00:00:00 2001 From: Oleksandr Anosov Date: Wed, 25 Mar 2026 13:33:35 +0200 Subject: [PATCH 3/3] regenerate sdk --- castai/sdk/api.gen.go | 149 ++++++++++++++++++-- castai/sdk/client.gen.go | 280 ++++++++++++++++++++++++++++++++++--- castai/sdk/mock/client.go | 93 +++++++++--- castai/sdk/omni/api.gen.go | 17 +++ 4 files changed, 488 insertions(+), 51 deletions(-) diff --git a/castai/sdk/api.gen.go b/castai/sdk/api.gen.go index d154b8c99..91f5839c4 100644 --- a/castai/sdk/api.gen.go +++ b/castai/sdk/api.gen.go @@ -900,6 +900,14 @@ const ( WorkloadoptimizationV1RecommendationStatusTypeSTATUSWAITING WorkloadoptimizationV1RecommendationStatusType = "STATUS_WAITING" ) +// Defines values for WorkloadoptimizationV1RecommendationStepLabelUnit. +const ( + BYTE WorkloadoptimizationV1RecommendationStepLabelUnit = "BYTE" + MILLICORE WorkloadoptimizationV1RecommendationStepLabelUnit = "MILLICORE" + PERCENT WorkloadoptimizationV1RecommendationStepLabelUnit = "PERCENT" + UNITUNSPECIFIED WorkloadoptimizationV1RecommendationStepLabelUnit = "UNIT_UNSPECIFIED" +) + // Defines values for WorkloadoptimizationV1RecommendationStopReasonType. const ( STOPREASONOOMKILL WorkloadoptimizationV1RecommendationStopReasonType = "STOP_REASON_OOMKILL" @@ -948,8 +956,8 @@ const ( // Defines values for WorkloadoptimizationV1ResourcePoliciesFunction. const ( - MAX WorkloadoptimizationV1ResourcePoliciesFunction = "MAX" - QUANTILE WorkloadoptimizationV1ResourcePoliciesFunction = "QUANTILE" + WorkloadoptimizationV1ResourcePoliciesFunctionMAX WorkloadoptimizationV1ResourcePoliciesFunction = "MAX" + WorkloadoptimizationV1ResourcePoliciesFunctionQUANTILE WorkloadoptimizationV1ResourcePoliciesFunction = "QUANTILE" ) // Defines values for WorkloadoptimizationV1RolloutBehaviorType. @@ -1333,6 +1341,15 @@ const ( WorkloadOptimizationAPIGetInstallScriptParamsCmePresetsSDKPROMETHEUS WorkloadOptimizationAPIGetInstallScriptParamsCmePresets = "SDK_PROMETHEUS" ) +// Defines values for WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType. +const ( + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationTypeAVERAGE WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType = "AVERAGE" + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationTypeCUSTOMMETRICAGGREGATIONTYPEUNSPECIFIED WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType = "CUSTOM_METRIC_AGGREGATION_TYPE_UNSPECIFIED" + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationTypeMAX WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType = "MAX" + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationTypeMIN WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType = "MIN" + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationTypePERCENTILE WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType = "PERCENTILE" +) + // CommitmentsAPIBatchDeleteCommitmentsRequest defines model for CommitmentsAPI_BatchDeleteCommitments_request. type CommitmentsAPIBatchDeleteCommitmentsRequest struct { // CommitmentIds IDs of commitments to delete. A maximum of 1000 commitments can be deleted in a batch. @@ -8328,6 +8345,15 @@ type WorkloadoptimizationV1AggregatedCPUStallMetrics struct { Avg float64 `json:"avg"` } +// WorkloadoptimizationV1AggregatedCustomMetricGroup AggregatedCustomMetricGroup contains aggregated data points for a single metric name. +type WorkloadoptimizationV1AggregatedCustomMetricGroup struct { + DataPoints []WorkloadoptimizationV1CustomMetricDataPoint `json:"dataPoints"` + MetricName string `json:"metricName"` + + // Unit CustomMetricUnit identifies the unit of a custom metric, inferred from naming conventions. + Unit WorkloadoptimizationV1CustomMetricUnit `json:"unit"` +} + // WorkloadoptimizationV1AggregatedMetrics defines model for workloadoptimization.v1.AggregatedMetrics. type WorkloadoptimizationV1AggregatedMetrics struct { Avg float64 `json:"avg"` @@ -8791,6 +8817,16 @@ type WorkloadoptimizationV1GetAgentStatusResponse struct { // WorkloadoptimizationV1GetAgentStatusResponseAgentStatus AgentStatus defines the status of workload-autoscaler. type WorkloadoptimizationV1GetAgentStatusResponseAgentStatus string +// WorkloadoptimizationV1GetAggregatedWorkloadCustomMetricsV1BetaResponse defines model for workloadoptimization.v1.GetAggregatedWorkloadCustomMetricsV1BetaResponse. +type WorkloadoptimizationV1GetAggregatedWorkloadCustomMetricsV1BetaResponse struct { + // MetricGroups Aggregated custom metrics time-series data grouped by metric name. + MetricGroups []WorkloadoptimizationV1AggregatedCustomMetricGroup `json:"metricGroups"` + + // Step Step used to calculate metrics. May differ from the requested value if the server determines + // the query would be too expensive. When the request does not provide a step, the server calculates one internally. + Step string `json:"step"` +} + // WorkloadoptimizationV1GetHPAV2MigrationEligibilityResponse defines model for workloadoptimization.v1.GetHPAV2MigrationEligibilityResponse. type WorkloadoptimizationV1GetHPAV2MigrationEligibilityResponse struct { EligibleCount int32 `json:"eligibleCount"` @@ -8818,8 +8854,8 @@ type WorkloadoptimizationV1GetOrganizationAgentStatusesResponse struct { ClusterAgentStatuses []WorkloadoptimizationV1GetAgentStatusResponse `json:"clusterAgentStatuses"` } -// WorkloadoptimizationV1GetWorkloadCustomMetricsResponse defines model for workloadoptimization.v1.GetWorkloadCustomMetricsResponse. -type WorkloadoptimizationV1GetWorkloadCustomMetricsResponse struct { +// WorkloadoptimizationV1GetWorkloadCustomMetricsV1BetaResponse defines model for workloadoptimization.v1.GetWorkloadCustomMetricsV1BetaResponse. +type WorkloadoptimizationV1GetWorkloadCustomMetricsV1BetaResponse struct { // MetricGroups Custom metrics time-series data grouped by metric name. MetricGroups []WorkloadoptimizationV1CustomMetricGroup `json:"metricGroups"` @@ -9181,6 +9217,57 @@ type WorkloadoptimizationV1HPAV2Config struct { TakeOwnership bool `json:"takeOwnership"` } +// WorkloadoptimizationV1HeapCommited defines model for workloadoptimization.v1.HeapCommited. +type WorkloadoptimizationV1HeapCommited struct { + AggregatedGib WorkloadoptimizationV1HeapCommitedAggregatedMetrics `json:"aggregatedGib"` + MetricsGib []WorkloadoptimizationV1HeapCommitedMetrics `json:"metricsGib"` +} + +// WorkloadoptimizationV1HeapCommitedAggregatedMetrics defines model for workloadoptimization.v1.HeapCommitedAggregatedMetrics. +type WorkloadoptimizationV1HeapCommitedAggregatedMetrics struct { + Avg float64 `json:"avg"` +} + +// WorkloadoptimizationV1HeapCommitedMetrics defines model for workloadoptimization.v1.HeapCommitedMetrics. +type WorkloadoptimizationV1HeapCommitedMetrics struct { + Avg float64 `json:"avg"` + Timestamp time.Time `json:"timestamp"` +} + +// WorkloadoptimizationV1HeapRecommended defines model for workloadoptimization.v1.HeapRecommended. +type WorkloadoptimizationV1HeapRecommended struct { + AggregatedGib WorkloadoptimizationV1HeapRecommendedAggregatedMetrics `json:"aggregatedGib"` + MetricsGib []WorkloadoptimizationV1HeapRecommendedMetrics `json:"metricsGib"` +} + +// WorkloadoptimizationV1HeapRecommendedAggregatedMetrics defines model for workloadoptimization.v1.HeapRecommendedAggregatedMetrics. +type WorkloadoptimizationV1HeapRecommendedAggregatedMetrics struct { + Avg float64 `json:"avg"` +} + +// WorkloadoptimizationV1HeapRecommendedMetrics defines model for workloadoptimization.v1.HeapRecommendedMetrics. +type WorkloadoptimizationV1HeapRecommendedMetrics struct { + Avg float64 `json:"avg"` + Timestamp time.Time `json:"timestamp"` +} + +// WorkloadoptimizationV1HeapUsed defines model for workloadoptimization.v1.HeapUsed. +type WorkloadoptimizationV1HeapUsed struct { + AggregatedGib WorkloadoptimizationV1HeapUsedAggregatedMetrics `json:"aggregatedGib"` + MetricsGib []WorkloadoptimizationV1HeapUsedMetrics `json:"metricsGib"` +} + +// WorkloadoptimizationV1HeapUsedAggregatedMetrics defines model for workloadoptimization.v1.HeapUsedAggregatedMetrics. +type WorkloadoptimizationV1HeapUsedAggregatedMetrics struct { + P95 float64 `json:"p95"` +} + +// WorkloadoptimizationV1HeapUsedMetrics defines model for workloadoptimization.v1.HeapUsedMetrics. +type WorkloadoptimizationV1HeapUsedMetrics struct { + P95 float64 `json:"p95"` + Timestamp time.Time `json:"timestamp"` +} + // WorkloadoptimizationV1HorizontalOverrides defines model for workloadoptimization.v1.HorizontalOverrides. type WorkloadoptimizationV1HorizontalOverrides struct { // Behavior HorizontalPodAutoscalerBehavior configures the scaling behavior of the target @@ -9234,9 +9321,9 @@ type WorkloadoptimizationV1InitiatedBy struct { // WorkloadoptimizationV1JVMContainerMetrics defines model for workloadoptimization.v1.JVMContainerMetrics. type WorkloadoptimizationV1JVMContainerMetrics struct { - HeapCommittedBytes *[]WorkloadoptimizationV1TimeSeriesMetric `json:"heapCommittedBytes,omitempty"` - HeapUsedBytes *[]WorkloadoptimizationV1TimeSeriesMetric `json:"heapUsedBytes,omitempty"` - RecommendedHeapBytes *[]WorkloadoptimizationV1TimeSeriesMetric `json:"recommendedHeapBytes,omitempty"` + HeapCommitted *WorkloadoptimizationV1HeapCommited `json:"heapCommitted,omitempty"` + HeapUsed *WorkloadoptimizationV1HeapUsed `json:"heapUsed,omitempty"` + RecommendedHeap *WorkloadoptimizationV1HeapRecommended `json:"recommendedHeap,omitempty"` } // WorkloadoptimizationV1JVMMemorySettings defines model for workloadoptimization.v1.JVMMemorySettings. @@ -9683,10 +9770,26 @@ type WorkloadoptimizationV1RecommendationStep struct { // WorkloadoptimizationV1RecommendationStepLabel defines model for workloadoptimization.v1.RecommendationStepLabel. type WorkloadoptimizationV1RecommendationStepLabel struct { - Key *string `json:"key,omitempty"` - Value *string `json:"value,omitempty"` + Key *string `json:"key,omitempty"` + + // Unit The optional unit of the label. + // PERCENT - for percentages sent as floats. + // MILLICORE - CPU millicores. + // BYTE - Memory bytes. + Unit *WorkloadoptimizationV1RecommendationStepLabelUnit `json:"unit,omitempty"` + + // Value This field contains a map with one key in the format {"data": value}. + // The "data" key holds the actual value of the label. + // E.g. if the label value is 3.14 then value = {"data": 3.14}. + Value *map[string]interface{} `json:"value,omitempty"` } +// WorkloadoptimizationV1RecommendationStepLabelUnit The optional unit of the label. +// PERCENT - for percentages sent as floats. +// MILLICORE - CPU millicores. +// BYTE - Memory bytes. +type WorkloadoptimizationV1RecommendationStepLabelUnit string + // WorkloadoptimizationV1RecommendationStopReason defines model for workloadoptimization.v1.RecommendationStopReason. type WorkloadoptimizationV1RecommendationStopReason struct { // Message Human-readable reason. @@ -11151,6 +11254,9 @@ type ExternalClusterAPIGetCredentialsScriptParams struct { // InstallOperator Whether to install the Operator. InstallOperator *bool `form:"installOperator,omitempty" json:"installOperator,omitempty"` + + // InstallUmbrella Whether to install with umbrella helm chart. + InstallUmbrella *bool `form:"installUmbrella,omitempty" json:"installUmbrella,omitempty"` } // ExternalClusterAPIGetCredentialsScriptParamsKentParams defines parameters for ExternalClusterAPIGetCredentialsScript. @@ -11826,8 +11932,8 @@ type InventoryAPIListZonesParams struct { PageToken *string `form:"pageToken,omitempty" json:"pageToken,omitempty"` } -// WorkloadOptimizationAPIGetWorkloadCustomMetricsParams defines parameters for WorkloadOptimizationAPIGetWorkloadCustomMetrics. -type WorkloadOptimizationAPIGetWorkloadCustomMetricsParams struct { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams defines parameters for WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta. +type WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams struct { ContainerName string `form:"containerName" json:"containerName"` // Step Sampling interval for metrics. For long time ranges, the server may enforce a step even if one is @@ -11837,6 +11943,27 @@ type WorkloadOptimizationAPIGetWorkloadCustomMetricsParams struct { ToTime time.Time `form:"toTime" json:"toTime"` } +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams defines parameters for WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta. +type WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams struct { + ContainerName string `form:"containerName" json:"containerName"` + FromTime time.Time `form:"fromTime" json:"fromTime"` + ToTime time.Time `form:"toTime" json:"toTime"` + + // Step Sampling interval for metrics. The server may enforce a step even when one is not provided, or change it + // if it's too short. The actual step used is returned in the response. + Step *string `form:"step,omitempty" json:"step,omitempty"` + + // AggregationSlidingWindow Sliding window duration for aggregation (e.g. 30 minutes). + AggregationSlidingWindow string `form:"aggregationSlidingWindow" json:"aggregationSlidingWindow"` + AggregationType WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType `form:"aggregation.type" json:"aggregation.type"` + + // AggregationPercentile Only used when type is PERCENTILE (e.g. 95 for p95). + AggregationPercentile *float64 `form:"aggregation.percentile,omitempty" json:"aggregation.percentile,omitempty"` +} + +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType defines parameters for WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta. +type WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParamsAggregationType string + // CommitmentsAPIBatchDeleteCommitmentsJSONRequestBody defines body for CommitmentsAPIBatchDeleteCommitments for application/json ContentType. type CommitmentsAPIBatchDeleteCommitmentsJSONRequestBody = CommitmentsAPIBatchDeleteCommitmentsRequest diff --git a/castai/sdk/client.gen.go b/castai/sdk/client.gen.go index a25bc18f5..6fce484cf 100644 --- a/castai/sdk/client.gen.go +++ b/castai/sdk/client.gen.go @@ -1037,8 +1037,11 @@ type ClientInterface interface { // InventoryAPIListZones request InventoryAPIListZones(ctx context.Context, params *InventoryAPIListZonesParams, reqEditors ...RequestEditorFn) (*http.Response, error) - // WorkloadOptimizationAPIGetWorkloadCustomMetrics request - WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsParams, reqEditors ...RequestEditorFn) (*http.Response, error) + // WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta request + WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams, reqEditors ...RequestEditorFn) (*http.Response, error) + + // WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta request + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams, reqEditors ...RequestEditorFn) (*http.Response, error) // WorkloadOptimizationAPIPatchWorkloadV2WithBody request with any body WorkloadOptimizationAPIPatchWorkloadV2WithBody(ctx context.Context, clusterId string, workloadId string, contentType string, body io.Reader, reqEditors ...RequestEditorFn) (*http.Response, error) @@ -5179,8 +5182,20 @@ func (c *Client) InventoryAPIListZones(ctx context.Context, params *InventoryAPI return c.Client.Do(req) } -func (c *Client) WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsParams, reqEditors ...RequestEditorFn) (*http.Response, error) { - req, err := NewWorkloadOptimizationAPIGetWorkloadCustomMetricsRequest(c.Server, clusterId, workloadId, params) +func (c *Client) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaRequest(c.Server, clusterId, workloadId, params) + if err != nil { + return nil, err + } + req = req.WithContext(ctx) + if err := c.applyEditors(ctx, req, reqEditors); err != nil { + return nil, err + } + return c.Client.Do(req) +} + +func (c *Client) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams, reqEditors ...RequestEditorFn) (*http.Response, error) { + req, err := NewWorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaRequest(c.Server, clusterId, workloadId, params) if err != nil { return nil, err } @@ -11996,6 +12011,22 @@ func NewExternalClusterAPIGetCredentialsScriptRequest(server string, clusterId s } + if params.InstallUmbrella != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "installUmbrella", runtime.ParamLocationQuery, *params.InstallUmbrella); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + queryURL.RawQuery = queryValues.Encode() } @@ -20988,8 +21019,8 @@ func NewInventoryAPIListZonesRequest(server string, params *InventoryAPIListZone return req, nil } -// NewWorkloadOptimizationAPIGetWorkloadCustomMetricsRequest generates requests for WorkloadOptimizationAPIGetWorkloadCustomMetrics -func NewWorkloadOptimizationAPIGetWorkloadCustomMetricsRequest(server string, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsParams) (*http.Request, error) { +// NewWorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaRequest generates requests for WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta +func NewWorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaRequest(server string, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams) (*http.Request, error) { var err error var pathParam0 string @@ -21087,6 +21118,145 @@ func NewWorkloadOptimizationAPIGetWorkloadCustomMetricsRequest(server string, cl return req, nil } +// NewWorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaRequest generates requests for WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta +func NewWorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaRequest(server string, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams) (*http.Request, error) { + var err error + + var pathParam0 string + + pathParam0, err = runtime.StyleParamWithLocation("simple", false, "clusterId", runtime.ParamLocationPath, clusterId) + if err != nil { + return nil, err + } + + var pathParam1 string + + pathParam1, err = runtime.StyleParamWithLocation("simple", false, "workloadId", runtime.ParamLocationPath, workloadId) + if err != nil { + return nil, err + } + + serverURL, err := url.Parse(server) + if err != nil { + return nil, err + } + + operationPath := fmt.Sprintf("/v1beta/workload-autoscaling/clusters/%s/workloads/%s/custom-metrics:aggregate", pathParam0, pathParam1) + if operationPath[0] == '/' { + operationPath = "." + operationPath + } + + queryURL, err := serverURL.Parse(operationPath) + if err != nil { + return nil, err + } + + if params != nil { + queryValues := queryURL.Query() + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "containerName", runtime.ParamLocationQuery, params.ContainerName); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "fromTime", runtime.ParamLocationQuery, params.FromTime); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "toTime", runtime.ParamLocationQuery, params.ToTime); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + if params.Step != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "step", runtime.ParamLocationQuery, *params.Step); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "aggregationSlidingWindow", runtime.ParamLocationQuery, params.AggregationSlidingWindow); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "aggregation.type", runtime.ParamLocationQuery, params.AggregationType); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + if params.AggregationPercentile != nil { + + if queryFrag, err := runtime.StyleParamWithLocation("form", true, "aggregation.percentile", runtime.ParamLocationQuery, *params.AggregationPercentile); err != nil { + return nil, err + } else if parsed, err := url.ParseQuery(queryFrag); err != nil { + return nil, err + } else { + for k, v := range parsed { + for _, v2 := range v { + queryValues.Add(k, v2) + } + } + } + + } + + queryURL.RawQuery = queryValues.Encode() + } + + req, err := http.NewRequest("GET", queryURL.String(), nil) + if err != nil { + return nil, err + } + + return req, nil +} + // NewWorkloadOptimizationAPIPatchWorkloadV2Request calls the generic WorkloadOptimizationAPIPatchWorkloadV2 builder with application/json body func NewWorkloadOptimizationAPIPatchWorkloadV2Request(server string, clusterId string, workloadId string, body WorkloadOptimizationAPIPatchWorkloadV2JSONRequestBody) (*http.Request, error) { var bodyReader io.Reader @@ -22186,8 +22356,11 @@ type ClientWithResponsesInterface interface { // InventoryAPIListZones request InventoryAPIListZonesWithResponse(ctx context.Context, params *InventoryAPIListZonesParams) (*InventoryAPIListZonesResponse, error) - // WorkloadOptimizationAPIGetWorkloadCustomMetrics request - WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsParams) (*WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse, error) + // WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta request + WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams) (*WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse, error) + + // WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta request + WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams) (*WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse, error) // WorkloadOptimizationAPIPatchWorkloadV2 request with any body WorkloadOptimizationAPIPatchWorkloadV2WithBodyWithResponse(ctx context.Context, clusterId string, workloadId string, contentType string, body io.Reader) (*WorkloadOptimizationAPIPatchWorkloadV2Response, error) @@ -29976,14 +30149,14 @@ func (r InventoryAPIListZonesResponse) GetBody() []byte { // TODO: to have common interface. https://github.com/deepmap/oapi-codegen/issues/240 -type WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse struct { +type WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse struct { Body []byte HTTPResponse *http.Response - JSON200 *WorkloadoptimizationV1GetWorkloadCustomMetricsResponse + JSON200 *WorkloadoptimizationV1GetWorkloadCustomMetricsV1BetaResponse } // Status returns HTTPResponse.Status -func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse) Status() string { +func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse) Status() string { if r.HTTPResponse != nil { return r.HTTPResponse.Status } @@ -29991,7 +30164,7 @@ func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse) Status() string } // StatusCode returns HTTPResponse.StatusCode -func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse) StatusCode() int { +func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse) StatusCode() int { if r.HTTPResponse != nil { return r.HTTPResponse.StatusCode } @@ -30000,7 +30173,37 @@ func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse) StatusCode() in // TODO: to have common interface. https://github.com/deepmap/oapi-codegen/issues/240 // Body returns body of byte array -func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse) GetBody() []byte { +func (r WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse) GetBody() []byte { + return r.Body +} + +// TODO: to have common interface. https://github.com/deepmap/oapi-codegen/issues/240 + +type WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse struct { + Body []byte + HTTPResponse *http.Response + JSON200 *WorkloadoptimizationV1GetAggregatedWorkloadCustomMetricsV1BetaResponse +} + +// Status returns HTTPResponse.Status +func (r WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse) Status() string { + if r.HTTPResponse != nil { + return r.HTTPResponse.Status + } + return http.StatusText(0) +} + +// StatusCode returns HTTPResponse.StatusCode +func (r WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse) StatusCode() int { + if r.HTTPResponse != nil { + return r.HTTPResponse.StatusCode + } + return 0 +} + +// TODO: to have common interface. https://github.com/deepmap/oapi-codegen/issues/240 +// Body returns body of byte array +func (r WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse) GetBody() []byte { return r.Body } @@ -33077,13 +33280,22 @@ func (c *ClientWithResponses) InventoryAPIListZonesWithResponse(ctx context.Cont return ParseInventoryAPIListZonesResponse(rsp) } -// WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse request returning *WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse -func (c *ClientWithResponses) WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsParams) (*WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse, error) { - rsp, err := c.WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx, clusterId, workloadId, params) +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse request returning *WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse +func (c *ClientWithResponses) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams) (*WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse, error) { + rsp, err := c.WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx, clusterId, workloadId, params) + if err != nil { + return nil, err + } + return ParseWorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse(rsp) +} + +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse request returning *WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse +func (c *ClientWithResponses) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse(ctx context.Context, clusterId string, workloadId string, params *WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams) (*WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse, error) { + rsp, err := c.WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx, clusterId, workloadId, params) if err != nil { return nil, err } - return ParseWorkloadOptimizationAPIGetWorkloadCustomMetricsResponse(rsp) + return ParseWorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse(rsp) } // WorkloadOptimizationAPIPatchWorkloadV2WithBodyWithResponse request with arbitrary body returning *WorkloadOptimizationAPIPatchWorkloadV2Response @@ -39815,22 +40027,48 @@ func ParseInventoryAPIListZonesResponse(rsp *http.Response) (*InventoryAPIListZo return response, nil } -// ParseWorkloadOptimizationAPIGetWorkloadCustomMetricsResponse parses an HTTP response from a WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse call -func ParseWorkloadOptimizationAPIGetWorkloadCustomMetricsResponse(rsp *http.Response) (*WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse, error) { +// ParseWorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse parses an HTTP response from a WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse call +func ParseWorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse(rsp *http.Response) (*WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse, error) { + bodyBytes, err := ioutil.ReadAll(rsp.Body) + defer rsp.Body.Close() + if err != nil { + return nil, err + } + + response := &WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse{ + Body: bodyBytes, + HTTPResponse: rsp, + } + + switch { + case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: + var dest WorkloadoptimizationV1GetWorkloadCustomMetricsV1BetaResponse + if err := json.Unmarshal(bodyBytes, &dest); err != nil { + return nil, err + } + response.JSON200 = &dest + + } + + return response, nil +} + +// ParseWorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse parses an HTTP response from a WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse call +func ParseWorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse(rsp *http.Response) (*WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse, error) { bodyBytes, err := ioutil.ReadAll(rsp.Body) defer rsp.Body.Close() if err != nil { return nil, err } - response := &WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse{ + response := &WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse{ Body: bodyBytes, HTTPResponse: rsp, } switch { case strings.Contains(rsp.Header.Get("Content-Type"), "json") && rsp.StatusCode == 200: - var dest WorkloadoptimizationV1GetWorkloadCustomMetricsResponse + var dest WorkloadoptimizationV1GetAggregatedWorkloadCustomMetricsV1BetaResponse if err := json.Unmarshal(bodyBytes, &dest); err != nil { return nil, err } diff --git a/castai/sdk/mock/client.go b/castai/sdk/mock/client.go index 65ebfade9..c1b99bbef 100644 --- a/castai/sdk/mock/client.go +++ b/castai/sdk/mock/client.go @@ -6395,6 +6395,26 @@ func (mr *MockClientInterfaceMockRecorder) WorkloadOptimizationAPIGetAgentStatus return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetAgentStatus", reflect.TypeOf((*MockClientInterface)(nil).WorkloadOptimizationAPIGetAgentStatus), varargs...) } +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta mocks base method. +func (m *MockClientInterface) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, clusterId, workloadId, params} + for _, a := range reqEditors { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta", varargs...) + ret0, _ := ret[0].(*http.Response) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta indicates an expected call of WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta. +func (mr *MockClientInterfaceMockRecorder) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx, clusterId, workloadId, params interface{}, reqEditors ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, clusterId, workloadId, params}, reqEditors...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta", reflect.TypeOf((*MockClientInterface)(nil).WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta), varargs...) +} + // WorkloadOptimizationAPIGetHPAV2MigrationEligibility mocks base method. func (m *MockClientInterface) WorkloadOptimizationAPIGetHPAV2MigrationEligibility(ctx context.Context, clusterId string, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { m.ctrl.T.Helper() @@ -6495,24 +6515,24 @@ func (mr *MockClientInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkload(ct return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkload", reflect.TypeOf((*MockClientInterface)(nil).WorkloadOptimizationAPIGetWorkload), varargs...) } -// WorkloadOptimizationAPIGetWorkloadCustomMetrics mocks base method. -func (m *MockClientInterface) WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsParams, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta mocks base method. +func (m *MockClientInterface) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { m.ctrl.T.Helper() varargs := []interface{}{ctx, clusterId, workloadId, params} for _, a := range reqEditors { varargs = append(varargs, a) } - ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetWorkloadCustomMetrics", varargs...) + ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta", varargs...) ret0, _ := ret[0].(*http.Response) ret1, _ := ret[1].(error) return ret0, ret1 } -// WorkloadOptimizationAPIGetWorkloadCustomMetrics indicates an expected call of WorkloadOptimizationAPIGetWorkloadCustomMetrics. -func (mr *MockClientInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx, clusterId, workloadId, params interface{}, reqEditors ...interface{}) *gomock.Call { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta indicates an expected call of WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta. +func (mr *MockClientInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx, clusterId, workloadId, params interface{}, reqEditors ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{ctx, clusterId, workloadId, params}, reqEditors...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkloadCustomMetrics", reflect.TypeOf((*MockClientInterface)(nil).WorkloadOptimizationAPIGetWorkloadCustomMetrics), varargs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta", reflect.TypeOf((*MockClientInterface)(nil).WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta), varargs...) } // WorkloadOptimizationAPIGetWorkloadEvent mocks base method. @@ -18138,6 +18158,41 @@ func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIG return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetAgentStatusWithResponse", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetAgentStatusWithResponse), ctx, clusterId) } +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta mocks base method. +func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, clusterId, workloadId, params} + for _, a := range reqEditors { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta", varargs...) + ret0, _ := ret[0].(*http.Response) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta indicates an expected call of WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta. +func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta(ctx, clusterId, workloadId, params interface{}, reqEditors ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, clusterId, workloadId, params}, reqEditors...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1Beta), varargs...) +} + +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse mocks base method. +func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaParams) (*sdk.WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse", ctx, clusterId, workloadId, params) + ret0, _ := ret[0].(*sdk.WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse indicates an expected call of WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse. +func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse(ctx, clusterId, workloadId, params interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetAggregatedWorkloadCustomMetricsV1BetaWithResponse), ctx, clusterId, workloadId, params) +} + // WorkloadOptimizationAPIGetHPAV2MigrationEligibility mocks base method. func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetHPAV2MigrationEligibility(ctx context.Context, clusterId string, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { m.ctrl.T.Helper() @@ -18298,39 +18353,39 @@ func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIG return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkload", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetWorkload), varargs...) } -// WorkloadOptimizationAPIGetWorkloadCustomMetrics mocks base method. -func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsParams, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta mocks base method. +func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams, reqEditors ...sdk.RequestEditorFn) (*http.Response, error) { m.ctrl.T.Helper() varargs := []interface{}{ctx, clusterId, workloadId, params} for _, a := range reqEditors { varargs = append(varargs, a) } - ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetWorkloadCustomMetrics", varargs...) + ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta", varargs...) ret0, _ := ret[0].(*http.Response) ret1, _ := ret[1].(error) return ret0, ret1 } -// WorkloadOptimizationAPIGetWorkloadCustomMetrics indicates an expected call of WorkloadOptimizationAPIGetWorkloadCustomMetrics. -func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkloadCustomMetrics(ctx, clusterId, workloadId, params interface{}, reqEditors ...interface{}) *gomock.Call { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta indicates an expected call of WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta. +func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta(ctx, clusterId, workloadId, params interface{}, reqEditors ...interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() varargs := append([]interface{}{ctx, clusterId, workloadId, params}, reqEditors...) - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkloadCustomMetrics", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetWorkloadCustomMetrics), varargs...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetWorkloadCustomMetricsV1Beta), varargs...) } -// WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse mocks base method. -func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsParams) (*sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse, error) { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse mocks base method. +func (m *MockClientWithResponsesInterface) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse(ctx context.Context, clusterId, workloadId string, params *sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaParams) (*sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse, error) { m.ctrl.T.Helper() - ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse", ctx, clusterId, workloadId, params) - ret0, _ := ret[0].(*sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsResponse) + ret := m.ctrl.Call(m, "WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse", ctx, clusterId, workloadId, params) + ret0, _ := ret[0].(*sdk.WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaResponse) ret1, _ := ret[1].(error) return ret0, ret1 } -// WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse indicates an expected call of WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse. -func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse(ctx, clusterId, workloadId, params interface{}) *gomock.Call { +// WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse indicates an expected call of WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse. +func (mr *MockClientWithResponsesInterfaceMockRecorder) WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse(ctx, clusterId, workloadId, params interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() - return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetWorkloadCustomMetricsWithResponse), ctx, clusterId, workloadId, params) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse", reflect.TypeOf((*MockClientWithResponsesInterface)(nil).WorkloadOptimizationAPIGetWorkloadCustomMetricsV1BetaWithResponse), ctx, clusterId, workloadId, params) } // WorkloadOptimizationAPIGetWorkloadEvent mocks base method. diff --git a/castai/sdk/omni/api.gen.go b/castai/sdk/omni/api.gen.go index b0023d4ea..a7dfc310e 100644 --- a/castai/sdk/omni/api.gen.go +++ b/castai/sdk/omni/api.gen.go @@ -180,6 +180,20 @@ type Condition struct { // CustomProviderParam Custom cloud provider params. type CustomProviderParam = map[string]interface{} +// EdgeClusterControlPlane EdgeClusterControlPlane contains control plane configuration overrides for the edge cluster. +type EdgeClusterControlPlane struct { + // Ha Switch from HA mode to single control plane and etcd replica. If not set default is HA. + Ha *bool `json:"ha,omitempty"` +} + +// EdgeClusterSpec EdgeClusterSpec contains configuration overrides for the edge cluster. +// +// Fields left unset will use system defaults. +type EdgeClusterSpec struct { + // ControlPlane Control plane configuration overrides. + ControlPlane *EdgeClusterControlPlane `json:"controlPlane,omitempty"` +} + // EdgeLocation Message to represent edge location. type EdgeLocation struct { // Aws AWS specific parameters. @@ -200,6 +214,9 @@ type EdgeLocation struct { // Description The description of the edge location. Description *string `json:"description,omitempty"` + // EdgeClusterSpec Optional edge cluster spec overrides. Ignored during edge location update. + EdgeClusterSpec *EdgeClusterSpec `json:"edgeClusterSpec,omitempty"` + // Error If state if failed, this field will contain the error message. Error *string `json:"error,omitempty"`