/**
 * Usage API
 * Use the Usage API to view your Oracle Cloud usage and costs. The API allows you to request data that meets the specified filter criteria, and to group that data by the dimension of your choosing. The Usage API is used by the Cost Analysis tool in the Console. Also see [Using the Usage API](/Content/Billing/Concepts/costanalysisoverview.htm#cost_analysis_using_the_api) for more information.
 * OpenAPI spec version: 20200107
 *
 *
 * NOTE: This class is auto generated by OracleSDKGenerator.
 * Do not edit the class manually.
 *
 * Copyright (c) 2020, 2022, Oracle and/or its affiliates.  All rights reserved.
 * This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
 */ import common = require ( "oci-common" ) ; import * as requests from "./request" ; import * as model from "./model" ; import * as responses from "./response" ; import { composeResponse , composeRequest , GenericRetrier } from "oci-common" ; export enum UsageapiApiKeys { } /**
 * This service client uses  common . CircuitBreaker . DefaultConfiguration for all the operations by default if no circuit breaker configuration is defined by the user.
  export class UsageapiClient { protected static serviceEndpointTemplate = "https://usageapi.{region}.oci.{secondLevelDomain}" ; protected "_endpoint" : string = "" ; protected "_defaultHeaders" : any = { } ; protected "_clientConfiguration" : common . ClientConfiguration ; protected _circuitBreaker = null ; protected _httpClient : common . HttpClient ; constructor ( params , clientConfiguration ? ) { const requestSigner = params . authenticationDetailsProvider ? new common . DefaultRequestSigner ( params . authenticationDetailsProvider ) : null ; if ( clientConfiguration ) { this . _clientConfiguration = clientConfiguration ; this . _circuitBreaker = clientConfiguration . circuitBreaker ? clientConfiguration . circuitBreaker ! . circuit : null ; } const specCircuitBreakerEnabled = true ; if ( ! this . _circuitBreaker && common . utils . isCircuitBreakerSystemEnabled ( clientConfiguration ! ) && ( specCircuitBreakerEnabled || common . CircuitBreaker . DefaultCircuitBreakerOverriden ) ) { this . _circuitBreaker = new common . CircuitBreaker ( ) . circuit ; } this . _httpClient = params . httpClient || new common . FetchHttpClient ( requestSigner , this . _circuitBreaker ) ; if ( params . authenticationDetailsProvider && common . isRegionProvider ( params . authenticationDetailsProvider ) ) { const provider = params . authenticationDetailsProvider ; if ( provider . getRegion ( ) ) { this . region = provider . getRegion ( ) ; } } } /**
     * Get the endpoint that is being used to call (ex, https://www.example.com).
     */ public get endpoint ( ) { return this . _endpoint ; } param endpoint public set endpoint ( endpoint ) { this . _endpoint = endpoint ; this . _endpoint = this . _endpoint + "/20200107" ; if ( this . logger ) this . logger . info ( `UsageapiClient endpoint set to ${ this . _endpoint }` ) ; } public get logger ( ) { return common . LOG . logger ; } /**
     * Sets the region to call (ex, Region.US_PHOENIX_1).
     * Note, this will call  {@link #endpoint(String) endpoint} after resolving the endpoint.
     *  param region public set region ( region ) { this . endpoint = common . EndpointBuilder . createEndpointFromRegion ( UsageapiClient . serviceEndpointTemplate , region ) ; } /**
     * Sets the regionId to call (ex, 'us-phoenix-1').
     *
     * Note, this will first try to map the region ID to a known Region and call  {@link #region(Region) region} .
     * If no known Region could be determined, it will create an endpoint assuming its in default Realm OC1
     * and then call  {@link #endpoint(String) endpoint} .
     *  param regionId public set regionId ( regionId ) { this . endpoint = common . EndpointBuilder . createEndpointFromRegionId ( UsageapiClient . serviceEndpointTemplate , regionId ) ; } param CreateCustomTableRequest return throws example Click  https to see how to use CreateCustomTable API.
      public async createCustomTable ( createCustomTableRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#createCustomTable." ) ; const pathParams = { } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : createCustomTableRequest . opcRequestId , "opc-retry-token" : createCustomTableRequest . opcRetryToken } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , createCustomTableRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/customTables" , method : "POST" , bodyContent : common . ObjectSerializer . serialize ( createCustomTableRequest . createCustomTableDetails , "CreateCustomTableDetails" , model . CreateCustomTableDetails . getJsonObj ) , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . CreateCustomTableResponse > { } , body : await response . json ( ) , bodyKey : "customTable" , bodyModel : model . CustomTable , type : "model.CustomTable" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "etag" ) , key : "etag" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param CreateQueryRequest return throws example Click  https to see how to use CreateQuery API.
      public async createQuery ( createQueryRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#createQuery." ) ; const pathParams = { } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : createQueryRequest . opcRequestId , "opc-retry-token" : createQueryRequest . opcRetryToken } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , createQueryRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/queries" , method : "POST" , bodyContent : common . ObjectSerializer . serialize ( createQueryRequest . createQueryDetails , "CreateQueryDetails" , model . CreateQueryDetails . getJsonObj ) , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . CreateQueryResponse > { } , body : await response . json ( ) , bodyKey : "query" , bodyModel : model . Query , type : "model.Query" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "etag" ) , key : "etag" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param DeleteCustomTableRequest return throws example Click  https to see how to use DeleteCustomTable API.
      public async deleteCustomTable ( deleteCustomTableRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#deleteCustomTable." ) ; const pathParams = { "{customTableId}" : deleteCustomTableRequest . customTableId } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : deleteCustomTableRequest . opcRequestId , "if-match" : deleteCustomTableRequest . ifMatch } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , deleteCustomTableRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/customTables/{customTableId}" , method : "DELETE" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . DeleteCustomTableResponse > { } , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param DeleteQueryRequest return throws example Click  https to see how to use DeleteQuery API.
      public async deleteQuery ( deleteQueryRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#deleteQuery." ) ; const pathParams = { "{queryId}" : deleteQueryRequest . queryId } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : deleteQueryRequest . opcRequestId , "if-match" : deleteQueryRequest . ifMatch } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , deleteQueryRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/queries/{queryId}" , method : "DELETE" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . DeleteQueryResponse > { } , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param GetCustomTableRequest return throws example Click  https to see how to use GetCustomTable API.
      public async getCustomTable ( getCustomTableRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#getCustomTable." ) ; const pathParams = { "{customTableId}" : getCustomTableRequest . customTableId } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : getCustomTableRequest . opcRequestId } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , getCustomTableRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/customTables/{customTableId}" , method : "GET" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . GetCustomTableResponse > { } , body : await response . json ( ) , bodyKey : "customTable" , bodyModel : model . CustomTable , type : "model.CustomTable" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "etag" ) , key : "etag" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param GetQueryRequest return throws example Click  https to see how to use GetQuery API.
      public async getQuery ( getQueryRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#getQuery." ) ; const pathParams = { "{queryId}" : getQueryRequest . queryId } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : getQueryRequest . opcRequestId } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , getQueryRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/queries/{queryId}" , method : "GET" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . GetQueryResponse > { } , body : await response . json ( ) , bodyKey : "query" , bodyModel : model . Query , type : "model.Query" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "etag" ) , key : "etag" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param ListCustomTablesRequest return throws example Click  https to see how to use ListCustomTables API.
      public async listCustomTables ( listCustomTablesRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#listCustomTables." ) ; const pathParams = { } ; const queryParams = { "limit" : listCustomTablesRequest . limit , "page" : listCustomTablesRequest . page , "compartmentId" : listCustomTablesRequest . compartmentId , "savedReportId" : listCustomTablesRequest . savedReportId , "sortBy" : listCustomTablesRequest . sortBy , "sortOrder" : listCustomTablesRequest . sortOrder } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : listCustomTablesRequest . opcRequestId } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , listCustomTablesRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/customTables" , method : "GET" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . ListCustomTablesResponse > { } , body : await response . json ( ) , bodyKey : "customTableCollection" , bodyModel : model . CustomTableCollection , type : "model.CustomTableCollection" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "opc-next-page" ) , key : "opcNextPage" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param ListQueriesRequest return throws example Click  https to see how to use ListQueries API.
      public async listQueries ( listQueriesRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#listQueries." ) ; const pathParams = { } ; const queryParams = { "limit" : listQueriesRequest . limit , "page" : listQueriesRequest . page , "compartmentId" : listQueriesRequest . compartmentId , "sortBy" : listQueriesRequest . sortBy , "sortOrder" : listQueriesRequest . sortOrder } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : listQueriesRequest . opcRequestId } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , listQueriesRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/queries" , method : "GET" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . ListQueriesResponse > { } , body : await response . json ( ) , bodyKey : "queryCollection" , bodyModel : model . QueryCollection , type : "model.QueryCollection" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "opc-next-page" ) , key : "opcNextPage" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param RequestSummarizedConfigurationsRequest return throws example Click  https to see how to use RequestSummarizedConfigurations API.
      public async requestSummarizedConfigurations ( requestSummarizedConfigurationsRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#requestSummarizedConfigurations." ) ; const pathParams = { } ; const queryParams = { "tenantId" : requestSummarizedConfigurationsRequest . tenantId } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : requestSummarizedConfigurationsRequest . opcRequestId } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , requestSummarizedConfigurationsRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/configuration" , method : "GET" , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . RequestSummarizedConfigurationsResponse > { } , body : await response . json ( ) , bodyKey : "configurationAggregation" , bodyModel : model . ConfigurationAggregation , type : "model.ConfigurationAggregation" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param RequestSummarizedUsagesRequest return throws example Click  https to see how to use RequestSummarizedUsages API.
      public async requestSummarizedUsages ( requestSummarizedUsagesRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#requestSummarizedUsages." ) ; const pathParams = { } ; const queryParams = { "page" : requestSummarizedUsagesRequest . page , "limit" : requestSummarizedUsagesRequest . limit } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : requestSummarizedUsagesRequest . opcRequestId } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , requestSummarizedUsagesRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/usage" , method : "POST" , bodyContent : common . ObjectSerializer . serialize ( requestSummarizedUsagesRequest . requestSummarizedUsagesDetails , "RequestSummarizedUsagesDetails" , model . RequestSummarizedUsagesDetails . getJsonObj ) , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . RequestSummarizedUsagesResponse > { } , body : await response . json ( ) , bodyKey : "usageAggregation" , bodyModel : model . UsageAggregation , type : "model.UsageAggregation" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "opc-next-page" ) , key : "opcNextPage" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param UpdateCustomTableRequest return throws example Click  https to see how to use UpdateCustomTable API.
      public async updateCustomTable ( updateCustomTableRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#updateCustomTable." ) ; const pathParams = { "{customTableId}" : updateCustomTableRequest . customTableId } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : updateCustomTableRequest . opcRequestId , "if-match" : updateCustomTableRequest . ifMatch } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , updateCustomTableRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/customTables/{customTableId}" , method : "PUT" , bodyContent : common . ObjectSerializer . serialize ( updateCustomTableRequest . updateCustomTableDetails , "UpdateCustomTableDetails" , model . UpdateCustomTableDetails . getJsonObj ) , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . UpdateCustomTableResponse > { } , body : await response . json ( ) , bodyKey : "customTable" , bodyModel : model . CustomTable , type : "model.CustomTable" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "etag" ) , key : "etag" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } param UpdateQueryRequest return throws example Click  https to see how to use UpdateQuery API.
      public async updateQuery ( updateQueryRequest ) { if ( this . logger ) this . logger . debug ( "Calling operation UsageapiClient#updateQuery." ) ; const pathParams = { "{queryId}" : updateQueryRequest . queryId } ; const queryParams = { } ; let headerParams = { "Content-Type" : common . Constants . APPLICATION_JSON , "opc-request-id" : updateQueryRequest . opcRequestId , "if-match" : updateQueryRequest . ifMatch } ; const specRetryConfiguration = common . NoRetryConfigurationDetails ; const retrier = GenericRetrier . createPreferredRetrier ( this . _clientConfiguration ? this . _clientConfiguration . retryConfiguration : undefined , updateQueryRequest . retryConfiguration , specRetryConfiguration ) ; if ( this . logger ) retrier . logger = this . logger ; const request = await composeRequest ( { baseEndpoint : this . _endpoint , defaultHeaders : this . _defaultHeaders , path : "/queries/{queryId}" , method : "PUT" , bodyContent : common . ObjectSerializer . serialize ( updateQueryRequest . updateQueryDetails , "UpdateQueryDetails" , model . UpdateQueryDetails . getJsonObj ) , pathParams : pathParams , headerParams : headerParams , queryParams : queryParams } ) ; try { const response = await retrier . makeServiceCall ( this . _httpClient , request ) ; const sdkResponse = composeResponse ( { responseObject : < responses . UpdateQueryResponse > { } , body : await response . json ( ) , bodyKey : "query" , bodyModel : model . Query , type : "model.Query" , responseHeaders : [ { value : response . headers . get ( "opc-request-id" ) , key : "opcRequestId" , dataType : "string" } , { value : response . headers . get ( "etag" ) , key : "etag" , dataType : "string" } ] } ) ; return sdkResponse ; } catch ( err ) { throw err ; } } }