github.com/muxinc/mux-go@v1.1.1/api_metrics.go (about) 1 // Mux Go - Copyright 2019 Mux Inc. 2 // NOTE: This file is auto generated. Do not edit this file manually. 3 4 package muxgo 5 6 import ( 7 "fmt" 8 "io/ioutil" 9 "net/url" 10 "strings" 11 ) 12 13 type MetricsApiService service 14 15 type GetMetricTimeseriesDataParams struct { 16 Timeframe []string 17 Filters []string 18 Measurement string 19 OrderDirection string 20 GroupBy string 21 } 22 23 // GetMetricTimeseriesData optionally accepts the APIOption of WithParams(*GetMetricTimeseriesDataParams). 24 func (a *MetricsApiService) GetMetricTimeseriesData(mETRICID string, opts ...APIOption) (GetMetricTimeseriesDataResponse, error) { 25 var ( 26 localVarAPIOptions = new(APIOptions) 27 localVarHttpMethod = strings.ToUpper("Get") 28 localVarPostBody interface{} 29 localVarFormFileName string 30 localVarFileName string 31 localVarFileBytes []byte 32 localVarReturnValue GetMetricTimeseriesDataResponse 33 ) 34 35 for _, opt := range opts { 36 opt(localVarAPIOptions) 37 } 38 39 localVarOptionals, ok := localVarAPIOptions.params.(*GetMetricTimeseriesDataParams) 40 if localVarAPIOptions.params != nil && !ok { 41 return localVarReturnValue, reportError("provided params were not of type *GetMetricTimeseriesDataParams") 42 } 43 44 // create path and map variables 45 localVarPath := a.client.cfg.basePath + "/data/v1/metrics/{METRIC_ID}/timeseries" 46 localVarPath = strings.Replace(localVarPath, "{"+"METRIC_ID"+"}", fmt.Sprintf("%v", mETRICID), -1) 47 48 localVarHeaderParams := make(map[string]string) 49 localVarQueryParams := url.Values{} 50 localVarFormParams := url.Values{} 51 52 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 53 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 54 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 55 for _, v := range localVarOptionals.Timeframe { 56 localVarQueryParams.Add("timeframe[]", v) 57 } 58 } 59 if localVarOptionals != nil && isSet(localVarOptionals.Filters) { 60 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 61 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 62 for _, v := range localVarOptionals.Filters { 63 localVarQueryParams.Add("filters[]", v) 64 } 65 } 66 if localVarOptionals != nil && isSet(localVarOptionals.Measurement) { 67 localVarQueryParams.Add("measurement", parameterToString(localVarOptionals.Measurement, "")) 68 } 69 if localVarOptionals != nil && isSet(localVarOptionals.OrderDirection) { 70 localVarQueryParams.Add("order_direction", parameterToString(localVarOptionals.OrderDirection, "")) 71 } 72 if localVarOptionals != nil && isSet(localVarOptionals.GroupBy) { 73 localVarQueryParams.Add("group_by", parameterToString(localVarOptionals.GroupBy, "")) 74 } 75 // to determine the Content-Type header 76 localVarHttpContentTypes := []string{} 77 78 // set Content-Type header 79 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 80 if localVarHttpContentType != "" { 81 localVarHeaderParams["Content-Type"] = localVarHttpContentType 82 } 83 84 // to determine the Accept header 85 localVarHttpHeaderAccepts := []string{"application/json"} 86 87 // set Accept header 88 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 89 if localVarHttpHeaderAccept != "" { 90 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 91 } 92 93 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 94 if err != nil { 95 return localVarReturnValue, err 96 } 97 98 localVarHttpResponse, err := a.client.callAPI(r) 99 if err != nil || localVarHttpResponse == nil { 100 return localVarReturnValue, err 101 } 102 103 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 104 localVarHttpResponse.Body.Close() 105 if err != nil { 106 return localVarReturnValue, err 107 } 108 109 // Check for common HTTP error status codes 110 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 111 if err != nil { 112 return localVarReturnValue, err 113 } 114 115 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 116 if err != nil { 117 newErr := GenericOpenAPIError{ 118 body: localVarBody, 119 error: err.Error(), 120 } 121 return localVarReturnValue, newErr 122 } 123 124 return localVarReturnValue, nil 125 } 126 127 type GetOverallValuesParams struct { 128 Timeframe []string 129 Filters []string 130 Measurement string 131 } 132 133 // GetOverallValues optionally accepts the APIOption of WithParams(*GetOverallValuesParams). 134 func (a *MetricsApiService) GetOverallValues(mETRICID string, opts ...APIOption) (GetOverallValuesResponse, error) { 135 var ( 136 localVarAPIOptions = new(APIOptions) 137 localVarHttpMethod = strings.ToUpper("Get") 138 localVarPostBody interface{} 139 localVarFormFileName string 140 localVarFileName string 141 localVarFileBytes []byte 142 localVarReturnValue GetOverallValuesResponse 143 ) 144 145 for _, opt := range opts { 146 opt(localVarAPIOptions) 147 } 148 149 localVarOptionals, ok := localVarAPIOptions.params.(*GetOverallValuesParams) 150 if localVarAPIOptions.params != nil && !ok { 151 return localVarReturnValue, reportError("provided params were not of type *GetOverallValuesParams") 152 } 153 154 // create path and map variables 155 localVarPath := a.client.cfg.basePath + "/data/v1/metrics/{METRIC_ID}/overall" 156 localVarPath = strings.Replace(localVarPath, "{"+"METRIC_ID"+"}", fmt.Sprintf("%v", mETRICID), -1) 157 158 localVarHeaderParams := make(map[string]string) 159 localVarQueryParams := url.Values{} 160 localVarFormParams := url.Values{} 161 162 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 163 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 164 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 165 for _, v := range localVarOptionals.Timeframe { 166 localVarQueryParams.Add("timeframe[]", v) 167 } 168 } 169 if localVarOptionals != nil && isSet(localVarOptionals.Filters) { 170 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 171 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 172 for _, v := range localVarOptionals.Filters { 173 localVarQueryParams.Add("filters[]", v) 174 } 175 } 176 if localVarOptionals != nil && isSet(localVarOptionals.Measurement) { 177 localVarQueryParams.Add("measurement", parameterToString(localVarOptionals.Measurement, "")) 178 } 179 // to determine the Content-Type header 180 localVarHttpContentTypes := []string{} 181 182 // set Content-Type header 183 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 184 if localVarHttpContentType != "" { 185 localVarHeaderParams["Content-Type"] = localVarHttpContentType 186 } 187 188 // to determine the Accept header 189 localVarHttpHeaderAccepts := []string{"application/json"} 190 191 // set Accept header 192 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 193 if localVarHttpHeaderAccept != "" { 194 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 195 } 196 197 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 198 if err != nil { 199 return localVarReturnValue, err 200 } 201 202 localVarHttpResponse, err := a.client.callAPI(r) 203 if err != nil || localVarHttpResponse == nil { 204 return localVarReturnValue, err 205 } 206 207 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 208 localVarHttpResponse.Body.Close() 209 if err != nil { 210 return localVarReturnValue, err 211 } 212 213 // Check for common HTTP error status codes 214 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 215 if err != nil { 216 return localVarReturnValue, err 217 } 218 219 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 220 if err != nil { 221 newErr := GenericOpenAPIError{ 222 body: localVarBody, 223 error: err.Error(), 224 } 225 return localVarReturnValue, newErr 226 } 227 228 return localVarReturnValue, nil 229 } 230 231 type ListAllMetricValuesParams struct { 232 Timeframe []string 233 Filters []string 234 Dimension string 235 Value string 236 } 237 238 // ListAllMetricValues optionally accepts the APIOption of WithParams(*ListAllMetricValuesParams). 239 func (a *MetricsApiService) ListAllMetricValues(opts ...APIOption) (ListAllMetricValuesResponse, error) { 240 var ( 241 localVarAPIOptions = new(APIOptions) 242 localVarHttpMethod = strings.ToUpper("Get") 243 localVarPostBody interface{} 244 localVarFormFileName string 245 localVarFileName string 246 localVarFileBytes []byte 247 localVarReturnValue ListAllMetricValuesResponse 248 ) 249 250 for _, opt := range opts { 251 opt(localVarAPIOptions) 252 } 253 254 localVarOptionals, ok := localVarAPIOptions.params.(*ListAllMetricValuesParams) 255 if localVarAPIOptions.params != nil && !ok { 256 return localVarReturnValue, reportError("provided params were not of type *ListAllMetricValuesParams") 257 } 258 259 // create path and map variables 260 localVarPath := a.client.cfg.basePath + "/data/v1/metrics/comparison" 261 262 localVarHeaderParams := make(map[string]string) 263 localVarQueryParams := url.Values{} 264 localVarFormParams := url.Values{} 265 266 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 267 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 268 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 269 for _, v := range localVarOptionals.Timeframe { 270 localVarQueryParams.Add("timeframe[]", v) 271 } 272 } 273 if localVarOptionals != nil && isSet(localVarOptionals.Filters) { 274 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 275 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 276 for _, v := range localVarOptionals.Filters { 277 localVarQueryParams.Add("filters[]", v) 278 } 279 } 280 if localVarOptionals != nil && isSet(localVarOptionals.Dimension) { 281 localVarQueryParams.Add("dimension", parameterToString(localVarOptionals.Dimension, "")) 282 } 283 if localVarOptionals != nil && isSet(localVarOptionals.Value) { 284 localVarQueryParams.Add("value", parameterToString(localVarOptionals.Value, "")) 285 } 286 // to determine the Content-Type header 287 localVarHttpContentTypes := []string{} 288 289 // set Content-Type header 290 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 291 if localVarHttpContentType != "" { 292 localVarHeaderParams["Content-Type"] = localVarHttpContentType 293 } 294 295 // to determine the Accept header 296 localVarHttpHeaderAccepts := []string{"application/json"} 297 298 // set Accept header 299 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 300 if localVarHttpHeaderAccept != "" { 301 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 302 } 303 304 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 305 if err != nil { 306 return localVarReturnValue, err 307 } 308 309 localVarHttpResponse, err := a.client.callAPI(r) 310 if err != nil || localVarHttpResponse == nil { 311 return localVarReturnValue, err 312 } 313 314 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 315 localVarHttpResponse.Body.Close() 316 if err != nil { 317 return localVarReturnValue, err 318 } 319 320 // Check for common HTTP error status codes 321 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 322 if err != nil { 323 return localVarReturnValue, err 324 } 325 326 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 327 if err != nil { 328 newErr := GenericOpenAPIError{ 329 body: localVarBody, 330 error: err.Error(), 331 } 332 return localVarReturnValue, newErr 333 } 334 335 return localVarReturnValue, nil 336 } 337 338 type ListBreakdownValuesParams struct { 339 GroupBy string 340 Measurement string 341 Filters []string 342 Limit int32 343 Page int32 344 OrderBy string 345 OrderDirection string 346 Timeframe []string 347 } 348 349 // ListBreakdownValues optionally accepts the APIOption of WithParams(*ListBreakdownValuesParams). 350 func (a *MetricsApiService) ListBreakdownValues(mETRICID string, opts ...APIOption) (ListBreakdownValuesResponse, error) { 351 var ( 352 localVarAPIOptions = new(APIOptions) 353 localVarHttpMethod = strings.ToUpper("Get") 354 localVarPostBody interface{} 355 localVarFormFileName string 356 localVarFileName string 357 localVarFileBytes []byte 358 localVarReturnValue ListBreakdownValuesResponse 359 ) 360 361 for _, opt := range opts { 362 opt(localVarAPIOptions) 363 } 364 365 localVarOptionals, ok := localVarAPIOptions.params.(*ListBreakdownValuesParams) 366 if localVarAPIOptions.params != nil && !ok { 367 return localVarReturnValue, reportError("provided params were not of type *ListBreakdownValuesParams") 368 } 369 370 // create path and map variables 371 localVarPath := a.client.cfg.basePath + "/data/v1/metrics/{METRIC_ID}/breakdown" 372 localVarPath = strings.Replace(localVarPath, "{"+"METRIC_ID"+"}", fmt.Sprintf("%v", mETRICID), -1) 373 374 localVarHeaderParams := make(map[string]string) 375 localVarQueryParams := url.Values{} 376 localVarFormParams := url.Values{} 377 378 if localVarOptionals != nil && isSet(localVarOptionals.GroupBy) { 379 localVarQueryParams.Add("group_by", parameterToString(localVarOptionals.GroupBy, "")) 380 } 381 if localVarOptionals != nil && isSet(localVarOptionals.Measurement) { 382 localVarQueryParams.Add("measurement", parameterToString(localVarOptionals.Measurement, "")) 383 } 384 if localVarOptionals != nil && isSet(localVarOptionals.Filters) { 385 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 386 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 387 for _, v := range localVarOptionals.Filters { 388 localVarQueryParams.Add("filters[]", v) 389 } 390 } 391 if localVarOptionals != nil && isSet(localVarOptionals.Limit) { 392 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit, "")) 393 } 394 if localVarOptionals != nil && isSet(localVarOptionals.Page) { 395 localVarQueryParams.Add("page", parameterToString(localVarOptionals.Page, "")) 396 } 397 if localVarOptionals != nil && isSet(localVarOptionals.OrderBy) { 398 localVarQueryParams.Add("order_by", parameterToString(localVarOptionals.OrderBy, "")) 399 } 400 if localVarOptionals != nil && isSet(localVarOptionals.OrderDirection) { 401 localVarQueryParams.Add("order_direction", parameterToString(localVarOptionals.OrderDirection, "")) 402 } 403 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 404 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 405 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 406 for _, v := range localVarOptionals.Timeframe { 407 localVarQueryParams.Add("timeframe[]", v) 408 } 409 } 410 // to determine the Content-Type header 411 localVarHttpContentTypes := []string{} 412 413 // set Content-Type header 414 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 415 if localVarHttpContentType != "" { 416 localVarHeaderParams["Content-Type"] = localVarHttpContentType 417 } 418 419 // to determine the Accept header 420 localVarHttpHeaderAccepts := []string{"application/json"} 421 422 // set Accept header 423 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 424 if localVarHttpHeaderAccept != "" { 425 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 426 } 427 428 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 429 if err != nil { 430 return localVarReturnValue, err 431 } 432 433 localVarHttpResponse, err := a.client.callAPI(r) 434 if err != nil || localVarHttpResponse == nil { 435 return localVarReturnValue, err 436 } 437 438 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 439 localVarHttpResponse.Body.Close() 440 if err != nil { 441 return localVarReturnValue, err 442 } 443 444 // Check for common HTTP error status codes 445 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 446 if err != nil { 447 return localVarReturnValue, err 448 } 449 450 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 451 if err != nil { 452 newErr := GenericOpenAPIError{ 453 body: localVarBody, 454 error: err.Error(), 455 } 456 return localVarReturnValue, newErr 457 } 458 459 return localVarReturnValue, nil 460 } 461 462 type ListInsightsParams struct { 463 Measurement string 464 OrderDirection string 465 Timeframe []string 466 } 467 468 // ListInsights optionally accepts the APIOption of WithParams(*ListInsightsParams). 469 func (a *MetricsApiService) ListInsights(mETRICID string, opts ...APIOption) (ListInsightsResponse, error) { 470 var ( 471 localVarAPIOptions = new(APIOptions) 472 localVarHttpMethod = strings.ToUpper("Get") 473 localVarPostBody interface{} 474 localVarFormFileName string 475 localVarFileName string 476 localVarFileBytes []byte 477 localVarReturnValue ListInsightsResponse 478 ) 479 480 for _, opt := range opts { 481 opt(localVarAPIOptions) 482 } 483 484 localVarOptionals, ok := localVarAPIOptions.params.(*ListInsightsParams) 485 if localVarAPIOptions.params != nil && !ok { 486 return localVarReturnValue, reportError("provided params were not of type *ListInsightsParams") 487 } 488 489 // create path and map variables 490 localVarPath := a.client.cfg.basePath + "/data/v1/metrics/{METRIC_ID}/insights" 491 localVarPath = strings.Replace(localVarPath, "{"+"METRIC_ID"+"}", fmt.Sprintf("%v", mETRICID), -1) 492 493 localVarHeaderParams := make(map[string]string) 494 localVarQueryParams := url.Values{} 495 localVarFormParams := url.Values{} 496 497 if localVarOptionals != nil && isSet(localVarOptionals.Measurement) { 498 localVarQueryParams.Add("measurement", parameterToString(localVarOptionals.Measurement, "")) 499 } 500 if localVarOptionals != nil && isSet(localVarOptionals.OrderDirection) { 501 localVarQueryParams.Add("order_direction", parameterToString(localVarOptionals.OrderDirection, "")) 502 } 503 if localVarOptionals != nil && isSet(localVarOptionals.Timeframe) { 504 // This will "always work" for Mux's use case, since we always treat collections in query params as "multi" types. 505 // The first version of this code checked the collectionFormat, but that's just wasted CPU cycles right now. 506 for _, v := range localVarOptionals.Timeframe { 507 localVarQueryParams.Add("timeframe[]", v) 508 } 509 } 510 // to determine the Content-Type header 511 localVarHttpContentTypes := []string{} 512 513 // set Content-Type header 514 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 515 if localVarHttpContentType != "" { 516 localVarHeaderParams["Content-Type"] = localVarHttpContentType 517 } 518 519 // to determine the Accept header 520 localVarHttpHeaderAccepts := []string{"application/json"} 521 522 // set Accept header 523 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 524 if localVarHttpHeaderAccept != "" { 525 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 526 } 527 528 r, err := a.client.prepareRequest(localVarAPIOptions, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes) 529 if err != nil { 530 return localVarReturnValue, err 531 } 532 533 localVarHttpResponse, err := a.client.callAPI(r) 534 if err != nil || localVarHttpResponse == nil { 535 return localVarReturnValue, err 536 } 537 538 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 539 localVarHttpResponse.Body.Close() 540 if err != nil { 541 return localVarReturnValue, err 542 } 543 544 // Check for common HTTP error status codes 545 err = CheckForHttpError(localVarHttpResponse.StatusCode, localVarBody) 546 if err != nil { 547 return localVarReturnValue, err 548 } 549 550 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")) 551 if err != nil { 552 newErr := GenericOpenAPIError{ 553 body: localVarBody, 554 error: err.Error(), 555 } 556 return localVarReturnValue, newErr 557 } 558 559 return localVarReturnValue, nil 560 }