blob: ac90b3a7ba360eac24f9d4a35eb4334ae9d79bfe [file] [log] [blame]
library googleapis.doubleclickbidmanager.v1;
import "dart:core" as core;
import "dart:collection" as collection;
import "dart:async" as async;
import "dart:convert" as convert;
import "package:crypto/crypto.dart" as crypto;
import 'package:http/http.dart' as http;
import '../src/common_internal.dart' as common_internal;
import '../common/common.dart' as common;
export '../common/common.dart' show ApiRequestError;
export '../common/common.dart' show DetailedApiRequestError;
/** API for viewing and managing your reports in DoubleClick Bid Manager. */
class DoubleclickbidmanagerApi {
final common_internal.ApiRequester _requester;
LineitemsResourceApi get lineitems => new LineitemsResourceApi(_requester);
QueriesResourceApi get queries => new QueriesResourceApi(_requester);
ReportsResourceApi get reports => new ReportsResourceApi(_requester);
DoubleclickbidmanagerApi(http.Client client) :
_requester = new common_internal.ApiRequester(client, "https://www.googleapis.com/", "/doubleclickbidmanager/v1/");
}
/** Not documented yet. */
class LineitemsResourceApi {
final common_internal.ApiRequester _requester;
LineitemsResourceApi(common_internal.ApiRequester client) :
_requester = client;
/**
* Retrieves line items in CSV format.
*
* [request] - The metadata request object.
*
* Request parameters:
*
* Completes with a [DownloadLineItemsResponse].
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future<DownloadLineItemsResponse> downloadlineitems(DownloadLineItemsRequest request) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
_url = 'lineitems/downloadlineitems';
var _response = _requester.request(_url,
"POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => new DownloadLineItemsResponse.fromJson(data));
}
/**
* Uploads line items in CSV format.
*
* [request] - The metadata request object.
*
* Request parameters:
*
* Completes with a [UploadLineItemsResponse].
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future<UploadLineItemsResponse> uploadlineitems(UploadLineItemsRequest request) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
_url = 'lineitems/uploadlineitems';
var _response = _requester.request(_url,
"POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => new UploadLineItemsResponse.fromJson(data));
}
}
/** Not documented yet. */
class QueriesResourceApi {
final common_internal.ApiRequester _requester;
QueriesResourceApi(common_internal.ApiRequester client) :
_requester = client;
/**
* Creates a query.
*
* [request] - The metadata request object.
*
* Request parameters:
*
* Completes with a [Query].
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future<Query> createquery(Query request) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
_url = 'query';
var _response = _requester.request(_url,
"POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => new Query.fromJson(data));
}
/**
* Deletes a stored query as well as the associated stored reports.
*
* Request parameters:
*
* [queryId] - Query ID to delete.
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future deletequery(core.String queryId) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (queryId == null) {
throw new core.ArgumentError("Parameter queryId is required.");
}
_downloadOptions = null;
_url = 'query/' + common_internal.Escaper.ecapeVariable('$queryId');
var _response = _requester.request(_url,
"DELETE",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => null);
}
/**
* Retrieves a stored query.
*
* Request parameters:
*
* [queryId] - Query ID to retrieve.
*
* Completes with a [Query].
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future<Query> getquery(core.String queryId) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (queryId == null) {
throw new core.ArgumentError("Parameter queryId is required.");
}
_url = 'query/' + common_internal.Escaper.ecapeVariable('$queryId');
var _response = _requester.request(_url,
"GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => new Query.fromJson(data));
}
/**
* Retrieves stored queries.
*
* Request parameters:
*
* Completes with a [ListQueriesResponse].
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future<ListQueriesResponse> listqueries() {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
_url = 'queries';
var _response = _requester.request(_url,
"GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => new ListQueriesResponse.fromJson(data));
}
/**
* Runs a stored query to generate a report.
*
* [request] - The metadata request object.
*
* Request parameters:
*
* [queryId] - Query ID to run.
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future runquery(RunQueryRequest request, core.String queryId) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (request != null) {
_body = convert.JSON.encode((request).toJson());
}
if (queryId == null) {
throw new core.ArgumentError("Parameter queryId is required.");
}
_downloadOptions = null;
_url = 'query/' + common_internal.Escaper.ecapeVariable('$queryId');
var _response = _requester.request(_url,
"POST",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => null);
}
}
/** Not documented yet. */
class ReportsResourceApi {
final common_internal.ApiRequester _requester;
ReportsResourceApi(common_internal.ApiRequester client) :
_requester = client;
/**
* Retrieves stored reports.
*
* Request parameters:
*
* [queryId] - Query ID with which the reports are associated.
*
* Completes with a [ListReportsResponse].
*
* Completes with a [common.ApiRequestError] if the API endpoint returned an
* error.
*
* If the used [http.Client] completes with an error when making a REST call,
* this method will complete with the same error.
*/
async.Future<ListReportsResponse> listreports(core.String queryId) {
var _url = null;
var _queryParams = new core.Map();
var _uploadMedia = null;
var _uploadOptions = null;
var _downloadOptions = common.DownloadOptions.Metadata;
var _body = null;
if (queryId == null) {
throw new core.ArgumentError("Parameter queryId is required.");
}
_url = 'queries/' + common_internal.Escaper.ecapeVariable('$queryId') + '/reports';
var _response = _requester.request(_url,
"GET",
body: _body,
queryParams: _queryParams,
uploadOptions: _uploadOptions,
uploadMedia: _uploadMedia,
downloadOptions: _downloadOptions);
return _response.then((data) => new ListReportsResponse.fromJson(data));
}
}
/** Request to fetch stored line items. */
class DownloadLineItemsRequest {
/**
* Ids of the specified filter type used to filter line items to fetch. If
* omitted, all the line items will be returned.
*/
core.List<core.String> filterIds;
/**
* Filter type used to filter line items to fetch.
* Possible string values are:
* - "ADVERTISER_ID"
* - "INSERTION_ORDER_ID"
* - "LINE_ITEM_ID"
*/
core.String filterType;
/**
* Format in which the line items will be returned. Default to CSV.
* Possible string values are:
* - "CSV"
*/
core.String format;
DownloadLineItemsRequest();
DownloadLineItemsRequest.fromJson(core.Map _json) {
if (_json.containsKey("filterIds")) {
filterIds = _json["filterIds"];
}
if (_json.containsKey("filterType")) {
filterType = _json["filterType"];
}
if (_json.containsKey("format")) {
format = _json["format"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (filterIds != null) {
_json["filterIds"] = filterIds;
}
if (filterType != null) {
_json["filterType"] = filterType;
}
if (format != null) {
_json["format"] = format;
}
return _json;
}
}
/** Download line items response. */
class DownloadLineItemsResponse {
/**
* Retrieved line items in CSV format. Refer to Entity Write File Format for
* more information on file format.
*/
core.String lineItems;
DownloadLineItemsResponse();
DownloadLineItemsResponse.fromJson(core.Map _json) {
if (_json.containsKey("lineItems")) {
lineItems = _json["lineItems"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (lineItems != null) {
_json["lineItems"] = lineItems;
}
return _json;
}
}
/** Filter used to match traffic data in your report. */
class FilterPair {
/**
* Filter type.
* Possible string values are:
* - "FILTER_ACTIVITY_ID"
* - "FILTER_ADVERTISER"
* - "FILTER_ADVERTISER_CURRENCY"
* - "FILTER_ADVERTISER_TIMEZONE"
* - "FILTER_AD_POSITION"
* - "FILTER_BRANDSAFE_CHANNEL_ID"
* - "FILTER_BROWSER"
* - "FILTER_CAMPAIGN_DAILY_FREQUENCY"
* - "FILTER_CARRIER"
* - "FILTER_CHANNEL_ID"
* - "FILTER_CITY"
* - "FILTER_CONVERSION_DELAY"
* - "FILTER_COUNTRY"
* - "FILTER_CREATIVE_ID"
* - "FILTER_CREATIVE_SIZE"
* - "FILTER_CREATIVE_TYPE"
* - "FILTER_DATA_PROVIDER"
* - "FILTER_DATE"
* - "FILTER_DAY_OF_WEEK"
* - "FILTER_DMA"
* - "FILTER_EXCHANGE_ID"
* - "FILTER_FLOODLIGHT_PIXEL_ID"
* - "FILTER_INSERTION_ORDER"
* - "FILTER_INVENTORY_FORMAT"
* - "FILTER_INVENTORY_SOURCE"
* - "FILTER_KEYWORD"
* - "FILTER_LINE_ITEM"
* - "FILTER_LINE_ITEM_DAILY_FREQUENCY"
* - "FILTER_LINE_ITEM_LIFETIME_FREQUENCY"
* - "FILTER_LINE_ITEM_TYPE"
* - "FILTER_MOBILE_DEVICE_MAKE"
* - "FILTER_MOBILE_DEVICE_MAKE_MODEL"
* - "FILTER_MOBILE_DEVICE_TYPE"
* - "FILTER_MONTH"
* - "FILTER_ORDER_ID"
* - "FILTER_OS"
* - "FILTER_PAGE_CATEGORY"
* - "FILTER_PAGE_LAYOUT"
* - "FILTER_PARTNER"
* - "FILTER_PARTNER_CURRENCY"
* - "FILTER_PUBLIC_INVENTORY"
* - "FILTER_REGION"
* - "FILTER_REGULAR_CHANNEL_ID"
* - "FILTER_SITE_ID"
* - "FILTER_SITE_LANGUAGE"
* - "FILTER_TARGETED_USER_LIST"
* - "FILTER_TIME_OF_DAY"
* - "FILTER_UNKNOWN"
* - "FILTER_USER_LIST"
* - "FILTER_USER_LIST_FIRST_PARTY"
* - "FILTER_USER_LIST_THIRD_PARTY"
* - "FILTER_VIDEO_AD_POSITION_IN_STREAM"
* - "FILTER_VIDEO_CREATIVE_DURATION"
* - "FILTER_VIDEO_DURATION_SECONDS"
* - "FILTER_VIDEO_FORMAT_SUPPORT"
* - "FILTER_VIDEO_INVENTORY_TYPE"
* - "FILTER_VIDEO_PLAYER_SIZE"
* - "FILTER_VIDEO_RATING_TIER"
* - "FILTER_VIDEO_SKIPPABLE_SUPPORT"
* - "FILTER_VIDEO_VPAID_SUPPORT"
* - "FILTER_WEEK"
* - "FILTER_YEAR"
* - "FILTER_YOUTUBE_VERTICAL"
* - "FILTER_ZIP_CODE"
*/
core.String type;
/** Filter value. */
core.String value;
FilterPair();
FilterPair.fromJson(core.Map _json) {
if (_json.containsKey("type")) {
type = _json["type"];
}
if (_json.containsKey("value")) {
value = _json["value"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (type != null) {
_json["type"] = type;
}
if (value != null) {
_json["value"] = value;
}
return _json;
}
}
/** List queries response. */
class ListQueriesResponse {
/**
* Identifies what kind of resource this is. Value: the fixed string
* "doubleclickbidmanager#listQueriesResponse".
*/
core.String kind;
/** Retrieved queries. */
core.List<Query> queries;
ListQueriesResponse();
ListQueriesResponse.fromJson(core.Map _json) {
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
if (_json.containsKey("queries")) {
queries = _json["queries"].map((value) => new Query.fromJson(value)).toList();
}
}
core.Map toJson() {
var _json = new core.Map();
if (kind != null) {
_json["kind"] = kind;
}
if (queries != null) {
_json["queries"] = queries.map((value) => (value).toJson()).toList();
}
return _json;
}
}
/** List reports response. */
class ListReportsResponse {
/**
* Identifies what kind of resource this is. Value: the fixed string
* "doubleclickbidmanager#listReportsResponse".
*/
core.String kind;
/** Retrieved reports. */
core.List<Report> reports;
ListReportsResponse();
ListReportsResponse.fromJson(core.Map _json) {
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
if (_json.containsKey("reports")) {
reports = _json["reports"].map((value) => new Report.fromJson(value)).toList();
}
}
core.Map toJson() {
var _json = new core.Map();
if (kind != null) {
_json["kind"] = kind;
}
if (reports != null) {
_json["reports"] = reports.map((value) => (value).toJson()).toList();
}
return _json;
}
}
/** Parameters of a query or report. */
class Parameters {
/** Filters used to match traffic data in your report. */
core.List<FilterPair> filters;
/** Data is grouped by the filters listed in this field. */
core.List<core.String> groupBys;
/** Whether to include data from Invite Media. */
core.bool includeInviteData;
/** Metrics to include as columns in your report. */
core.List<core.String> metrics;
/**
* Report type.
* Possible string values are:
* - "TYPE_ACTIVE_GRP"
* - "TYPE_AUDIENCE_COMPOSITION"
* - "TYPE_AUDIENCE_PERFORMANCE"
* - "TYPE_CLIENT_SAFE"
* - "TYPE_CROSS_FEE"
* - "TYPE_CROSS_PARTNER"
* - "TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER"
* - "TYPE_FEE"
* - "TYPE_GENERAL"
* - "TYPE_INVENTORY_AVAILABILITY"
* - "TYPE_KEYWORD"
* - "TYPE_ORDER_ID"
* - "TYPE_PAGE_CATEGORY"
* - "TYPE_PIXEL_LOAD"
* - "TYPE_THIRD_PARTY_DATA_PROVIDER"
* - "TYPE_YOUTUBE_VERTICAL"
*/
core.String type;
Parameters();
Parameters.fromJson(core.Map _json) {
if (_json.containsKey("filters")) {
filters = _json["filters"].map((value) => new FilterPair.fromJson(value)).toList();
}
if (_json.containsKey("groupBys")) {
groupBys = _json["groupBys"];
}
if (_json.containsKey("includeInviteData")) {
includeInviteData = _json["includeInviteData"];
}
if (_json.containsKey("metrics")) {
metrics = _json["metrics"];
}
if (_json.containsKey("type")) {
type = _json["type"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (filters != null) {
_json["filters"] = filters.map((value) => (value).toJson()).toList();
}
if (groupBys != null) {
_json["groupBys"] = groupBys;
}
if (includeInviteData != null) {
_json["includeInviteData"] = includeInviteData;
}
if (metrics != null) {
_json["metrics"] = metrics;
}
if (type != null) {
_json["type"] = type;
}
return _json;
}
}
/** Represents a query. */
class Query {
/**
* Identifies what kind of resource this is. Value: the fixed string
* "doubleclickbidmanager#query".
*/
core.String kind;
/** Query metadata. */
QueryMetadata metadata;
/** Query parameters. */
Parameters params;
/** Query ID. */
core.String queryId;
/**
* The ending time for the data that is shown in the report. Note,
* reportDataEndTimeMs is required if metadata.dataRange is CUSTOM_DATES and
* ignored otherwise.
*/
core.String reportDataEndTimeMs;
/**
* The starting time for the data that is shown in the report. Note,
* reportDataStartTimeMs is required if metadata.dataRange is CUSTOM_DATES and
* ignored otherwise.
*/
core.String reportDataStartTimeMs;
/** Information on how often and when to run a query. */
QuerySchedule schedule;
/**
* Canonical timezone code for report data time. Defaults to America/New_York.
*/
core.String timezoneCode;
Query();
Query.fromJson(core.Map _json) {
if (_json.containsKey("kind")) {
kind = _json["kind"];
}
if (_json.containsKey("metadata")) {
metadata = new QueryMetadata.fromJson(_json["metadata"]);
}
if (_json.containsKey("params")) {
params = new Parameters.fromJson(_json["params"]);
}
if (_json.containsKey("queryId")) {
queryId = _json["queryId"];
}
if (_json.containsKey("reportDataEndTimeMs")) {
reportDataEndTimeMs = _json["reportDataEndTimeMs"];
}
if (_json.containsKey("reportDataStartTimeMs")) {
reportDataStartTimeMs = _json["reportDataStartTimeMs"];
}
if (_json.containsKey("schedule")) {
schedule = new QuerySchedule.fromJson(_json["schedule"]);
}
if (_json.containsKey("timezoneCode")) {
timezoneCode = _json["timezoneCode"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (kind != null) {
_json["kind"] = kind;
}
if (metadata != null) {
_json["metadata"] = (metadata).toJson();
}
if (params != null) {
_json["params"] = (params).toJson();
}
if (queryId != null) {
_json["queryId"] = queryId;
}
if (reportDataEndTimeMs != null) {
_json["reportDataEndTimeMs"] = reportDataEndTimeMs;
}
if (reportDataStartTimeMs != null) {
_json["reportDataStartTimeMs"] = reportDataStartTimeMs;
}
if (schedule != null) {
_json["schedule"] = (schedule).toJson();
}
if (timezoneCode != null) {
_json["timezoneCode"] = timezoneCode;
}
return _json;
}
}
/** Query metadata. */
class QueryMetadata {
/**
* Range of report data.
* Possible string values are:
* - "ALL_TIME"
* - "CURRENT_DAY"
* - "CUSTOM_DATES"
* - "LAST_14_DAYS"
* - "LAST_30_DAYS"
* - "LAST_365_DAYS"
* - "LAST_7_DAYS"
* - "LAST_90_DAYS"
* - "MONTH_TO_DATE"
* - "PREVIOUS_DAY"
* - "PREVIOUS_HALF_MONTH"
* - "PREVIOUS_MONTH"
* - "PREVIOUS_QUARTER"
* - "PREVIOUS_WEEK"
* - "PREVIOUS_YEAR"
* - "QUARTER_TO_DATE"
* - "WEEK_TO_DATE"
* - "YEAR_TO_DATE"
*/
core.String dataRange;
/**
* Format of the generated report.
* Possible string values are:
* - "CSV"
* - "EXCEL_CSV"
* - "XLSX"
*/
core.String format;
/**
* The path to the location in Google Cloud Storage where the latest report is
* stored.
*/
core.String googleCloudStoragePathForLatestReport;
/** The path in Google Drive for the latest report. */
core.String googleDrivePathForLatestReport;
/** The time when the latest report started to run. */
core.String latestReportRunTimeMs;
/** Number of reports that have been generated for the query. */
core.int reportCount;
/** Whether the latest report is currently running. */
core.bool running;
/**
* Whether to send an email notification when a report is ready. Default to
* false.
*/
core.bool sendNotification;
/**
* List of email addresses which are sent email notifications when the report
* is finished. Separate from sendNotification.
*/
core.List<core.String> shareEmailAddress;
/** Query title. It is used to name the reports generated from this query. */
core.String title;
QueryMetadata();
QueryMetadata.fromJson(core.Map _json) {
if (_json.containsKey("dataRange")) {
dataRange = _json["dataRange"];
}
if (_json.containsKey("format")) {
format = _json["format"];
}
if (_json.containsKey("googleCloudStoragePathForLatestReport")) {
googleCloudStoragePathForLatestReport = _json["googleCloudStoragePathForLatestReport"];
}
if (_json.containsKey("googleDrivePathForLatestReport")) {
googleDrivePathForLatestReport = _json["googleDrivePathForLatestReport"];
}
if (_json.containsKey("latestReportRunTimeMs")) {
latestReportRunTimeMs = _json["latestReportRunTimeMs"];
}
if (_json.containsKey("reportCount")) {
reportCount = _json["reportCount"];
}
if (_json.containsKey("running")) {
running = _json["running"];
}
if (_json.containsKey("sendNotification")) {
sendNotification = _json["sendNotification"];
}
if (_json.containsKey("shareEmailAddress")) {
shareEmailAddress = _json["shareEmailAddress"];
}
if (_json.containsKey("title")) {
title = _json["title"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (dataRange != null) {
_json["dataRange"] = dataRange;
}
if (format != null) {
_json["format"] = format;
}
if (googleCloudStoragePathForLatestReport != null) {
_json["googleCloudStoragePathForLatestReport"] = googleCloudStoragePathForLatestReport;
}
if (googleDrivePathForLatestReport != null) {
_json["googleDrivePathForLatestReport"] = googleDrivePathForLatestReport;
}
if (latestReportRunTimeMs != null) {
_json["latestReportRunTimeMs"] = latestReportRunTimeMs;
}
if (reportCount != null) {
_json["reportCount"] = reportCount;
}
if (running != null) {
_json["running"] = running;
}
if (sendNotification != null) {
_json["sendNotification"] = sendNotification;
}
if (shareEmailAddress != null) {
_json["shareEmailAddress"] = shareEmailAddress;
}
if (title != null) {
_json["title"] = title;
}
return _json;
}
}
/** Information on how frequently and when to run a query. */
class QuerySchedule {
/** Datetime to periodically run the query until. */
core.String endTimeMs;
/**
* How often the query is run.
* Possible string values are:
* - "DAILY"
* - "MONTHLY"
* - "ONE_TIME"
* - "QUARTERLY"
* - "SEMI_MONTHLY"
* - "WEEKLY"
*/
core.String frequency;
/**
* Time of day at which a new report will be generated, represented as minutes
* past midnight Range is 0 to 1439. Only applies to scheduled reports.
*/
core.int nextRunMinuteOfDay;
/**
* Canonical timezone code for report generation time. Defaults to
* America/New_York.
*/
core.String nextRunTimezoneCode;
QuerySchedule();
QuerySchedule.fromJson(core.Map _json) {
if (_json.containsKey("endTimeMs")) {
endTimeMs = _json["endTimeMs"];
}
if (_json.containsKey("frequency")) {
frequency = _json["frequency"];
}
if (_json.containsKey("nextRunMinuteOfDay")) {
nextRunMinuteOfDay = _json["nextRunMinuteOfDay"];
}
if (_json.containsKey("nextRunTimezoneCode")) {
nextRunTimezoneCode = _json["nextRunTimezoneCode"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (endTimeMs != null) {
_json["endTimeMs"] = endTimeMs;
}
if (frequency != null) {
_json["frequency"] = frequency;
}
if (nextRunMinuteOfDay != null) {
_json["nextRunMinuteOfDay"] = nextRunMinuteOfDay;
}
if (nextRunTimezoneCode != null) {
_json["nextRunTimezoneCode"] = nextRunTimezoneCode;
}
return _json;
}
}
/** Represents a report. */
class Report {
/** Key used to identify a report. */
ReportKey key;
/** Report metadata. */
ReportMetadata metadata;
/** Report parameters. */
Parameters params;
Report();
Report.fromJson(core.Map _json) {
if (_json.containsKey("key")) {
key = new ReportKey.fromJson(_json["key"]);
}
if (_json.containsKey("metadata")) {
metadata = new ReportMetadata.fromJson(_json["metadata"]);
}
if (_json.containsKey("params")) {
params = new Parameters.fromJson(_json["params"]);
}
}
core.Map toJson() {
var _json = new core.Map();
if (key != null) {
_json["key"] = (key).toJson();
}
if (metadata != null) {
_json["metadata"] = (metadata).toJson();
}
if (params != null) {
_json["params"] = (params).toJson();
}
return _json;
}
}
/** An explanation of a report failure. */
class ReportFailure {
/**
* Error code that shows why the report was not created.
* Possible string values are:
* - "AUTHENTICATION_ERROR"
* - "DEPRECATED_REPORTING_INVALID_QUERY"
* - "REPORTING_BUCKET_NOT_FOUND"
* - "REPORTING_CREATE_BUCKET_FAILED"
* - "REPORTING_DELETE_BUCKET_FAILED"
* - "REPORTING_FATAL_ERROR"
* - "REPORTING_ILLEGAL_FILENAME"
* - "REPORTING_IMCOMPATIBLE_METRICS"
* - "REPORTING_INVALID_QUERY_MISSING_PARTNER_AND_ADVERTISER_FILTERS"
* - "REPORTING_INVALID_QUERY_TITLE_MISSING"
* - "REPORTING_INVALID_QUERY_TOO_MANY_UNFILTERED_LARGE_GROUP_BYS"
* - "REPORTING_QUERY_NOT_FOUND"
* - "REPORTING_TRANSIENT_ERROR"
* - "REPORTING_UPDATE_BUCKET_PERMISSION_FAILED"
* - "REPORTING_WRITE_BUCKET_OBJECT_FAILED"
* - "SERVER_ERROR"
* - "UNAUTHORIZED_API_ACCESS"
* - "VALIDATION_ERROR"
*/
core.String errorCode;
ReportFailure();
ReportFailure.fromJson(core.Map _json) {
if (_json.containsKey("errorCode")) {
errorCode = _json["errorCode"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (errorCode != null) {
_json["errorCode"] = errorCode;
}
return _json;
}
}
/** Key used to identify a report. */
class ReportKey {
/** Query ID. */
core.String queryId;
/** Report ID. */
core.String reportId;
ReportKey();
ReportKey.fromJson(core.Map _json) {
if (_json.containsKey("queryId")) {
queryId = _json["queryId"];
}
if (_json.containsKey("reportId")) {
reportId = _json["reportId"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (queryId != null) {
_json["queryId"] = queryId;
}
if (reportId != null) {
_json["reportId"] = reportId;
}
return _json;
}
}
/** Report metadata. */
class ReportMetadata {
/**
* The path to the location in Google Cloud Storage where the report is
* stored.
*/
core.String googleCloudStoragePath;
/** The ending time for the data that is shown in the report. */
core.String reportDataEndTimeMs;
/** The starting time for the data that is shown in the report. */
core.String reportDataStartTimeMs;
/** Report status. */
ReportStatus status;
ReportMetadata();
ReportMetadata.fromJson(core.Map _json) {
if (_json.containsKey("googleCloudStoragePath")) {
googleCloudStoragePath = _json["googleCloudStoragePath"];
}
if (_json.containsKey("reportDataEndTimeMs")) {
reportDataEndTimeMs = _json["reportDataEndTimeMs"];
}
if (_json.containsKey("reportDataStartTimeMs")) {
reportDataStartTimeMs = _json["reportDataStartTimeMs"];
}
if (_json.containsKey("status")) {
status = new ReportStatus.fromJson(_json["status"]);
}
}
core.Map toJson() {
var _json = new core.Map();
if (googleCloudStoragePath != null) {
_json["googleCloudStoragePath"] = googleCloudStoragePath;
}
if (reportDataEndTimeMs != null) {
_json["reportDataEndTimeMs"] = reportDataEndTimeMs;
}
if (reportDataStartTimeMs != null) {
_json["reportDataStartTimeMs"] = reportDataStartTimeMs;
}
if (status != null) {
_json["status"] = (status).toJson();
}
return _json;
}
}
/** Report status. */
class ReportStatus {
/** If the report failed, this records the cause. */
ReportFailure failure;
/** The time when this report either completed successfully or failed. */
core.String finishTimeMs;
/**
* The file type of the report.
* Possible string values are:
* - "CSV"
* - "EXCEL_CSV"
* - "XLSX"
*/
core.String format;
/**
* The state of the report.
* Possible string values are:
* - "DONE"
* - "FAILED"
* - "RUNNING"
*/
core.String state;
ReportStatus();
ReportStatus.fromJson(core.Map _json) {
if (_json.containsKey("failure")) {
failure = new ReportFailure.fromJson(_json["failure"]);
}
if (_json.containsKey("finishTimeMs")) {
finishTimeMs = _json["finishTimeMs"];
}
if (_json.containsKey("format")) {
format = _json["format"];
}
if (_json.containsKey("state")) {
state = _json["state"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (failure != null) {
_json["failure"] = (failure).toJson();
}
if (finishTimeMs != null) {
_json["finishTimeMs"] = finishTimeMs;
}
if (format != null) {
_json["format"] = format;
}
if (state != null) {
_json["state"] = state;
}
return _json;
}
}
/** Represents the upload status of a row in the request. */
class RowStatus {
/** Whether the stored entity is changed as a result of upload. */
core.bool changed;
/** Entity Id. */
core.String entityId;
/** Entity name. */
core.String entityName;
/** Reasons why the entity can't be uploaded. */
core.List<core.String> errors;
/** Whether the entity is persisted. */
core.bool persisted;
/** Row number. */
core.int rowNumber;
RowStatus();
RowStatus.fromJson(core.Map _json) {
if (_json.containsKey("changed")) {
changed = _json["changed"];
}
if (_json.containsKey("entityId")) {
entityId = _json["entityId"];
}
if (_json.containsKey("entityName")) {
entityName = _json["entityName"];
}
if (_json.containsKey("errors")) {
errors = _json["errors"];
}
if (_json.containsKey("persisted")) {
persisted = _json["persisted"];
}
if (_json.containsKey("rowNumber")) {
rowNumber = _json["rowNumber"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (changed != null) {
_json["changed"] = changed;
}
if (entityId != null) {
_json["entityId"] = entityId;
}
if (entityName != null) {
_json["entityName"] = entityName;
}
if (errors != null) {
_json["errors"] = errors;
}
if (persisted != null) {
_json["persisted"] = persisted;
}
if (rowNumber != null) {
_json["rowNumber"] = rowNumber;
}
return _json;
}
}
/** Request to run a stored query to generate a report. */
class RunQueryRequest {
/**
* Report data range used to generate the report.
* Possible string values are:
* - "ALL_TIME"
* - "CURRENT_DAY"
* - "CUSTOM_DATES"
* - "LAST_14_DAYS"
* - "LAST_30_DAYS"
* - "LAST_365_DAYS"
* - "LAST_7_DAYS"
* - "LAST_90_DAYS"
* - "MONTH_TO_DATE"
* - "PREVIOUS_DAY"
* - "PREVIOUS_HALF_MONTH"
* - "PREVIOUS_MONTH"
* - "PREVIOUS_QUARTER"
* - "PREVIOUS_WEEK"
* - "PREVIOUS_YEAR"
* - "QUARTER_TO_DATE"
* - "WEEK_TO_DATE"
* - "YEAR_TO_DATE"
*/
core.String dataRange;
/**
* The ending time for the data that is shown in the report. Note,
* reportDataEndTimeMs is required if dataRange is CUSTOM_DATES and ignored
* otherwise.
*/
core.String reportDataEndTimeMs;
/**
* The starting time for the data that is shown in the report. Note,
* reportDataStartTimeMs is required if dataRange is CUSTOM_DATES and ignored
* otherwise.
*/
core.String reportDataStartTimeMs;
/**
* Canonical timezone code for report data time. Defaults to America/New_York.
*/
core.String timezoneCode;
RunQueryRequest();
RunQueryRequest.fromJson(core.Map _json) {
if (_json.containsKey("dataRange")) {
dataRange = _json["dataRange"];
}
if (_json.containsKey("reportDataEndTimeMs")) {
reportDataEndTimeMs = _json["reportDataEndTimeMs"];
}
if (_json.containsKey("reportDataStartTimeMs")) {
reportDataStartTimeMs = _json["reportDataStartTimeMs"];
}
if (_json.containsKey("timezoneCode")) {
timezoneCode = _json["timezoneCode"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (dataRange != null) {
_json["dataRange"] = dataRange;
}
if (reportDataEndTimeMs != null) {
_json["reportDataEndTimeMs"] = reportDataEndTimeMs;
}
if (reportDataStartTimeMs != null) {
_json["reportDataStartTimeMs"] = reportDataStartTimeMs;
}
if (timezoneCode != null) {
_json["timezoneCode"] = timezoneCode;
}
return _json;
}
}
/** Request to upload line items. */
class UploadLineItemsRequest {
/**
* Set to true to get upload status without actually persisting the line
* items.
*/
core.bool dryRun;
/**
* Format the line items are in. Default to CSV.
* Possible string values are:
* - "CSV"
*/
core.String format;
/**
* Line items in CSV to upload. Refer to Entity Write File Format for more
* information on file format.
*/
core.String lineItems;
UploadLineItemsRequest();
UploadLineItemsRequest.fromJson(core.Map _json) {
if (_json.containsKey("dryRun")) {
dryRun = _json["dryRun"];
}
if (_json.containsKey("format")) {
format = _json["format"];
}
if (_json.containsKey("lineItems")) {
lineItems = _json["lineItems"];
}
}
core.Map toJson() {
var _json = new core.Map();
if (dryRun != null) {
_json["dryRun"] = dryRun;
}
if (format != null) {
_json["format"] = format;
}
if (lineItems != null) {
_json["lineItems"] = lineItems;
}
return _json;
}
}
/** Upload line items response. */
class UploadLineItemsResponse {
/** Status of upload. */
UploadStatus uploadStatus;
UploadLineItemsResponse();
UploadLineItemsResponse.fromJson(core.Map _json) {
if (_json.containsKey("uploadStatus")) {
uploadStatus = new UploadStatus.fromJson(_json["uploadStatus"]);
}
}
core.Map toJson() {
var _json = new core.Map();
if (uploadStatus != null) {
_json["uploadStatus"] = (uploadStatus).toJson();
}
return _json;
}
}
/** Represents the status of upload. */
class UploadStatus {
/** Reasons why upload can't be completed. */
core.List<core.String> errors;
/** Per-row upload status. */
core.List<RowStatus> rowStatus;
UploadStatus();
UploadStatus.fromJson(core.Map _json) {
if (_json.containsKey("errors")) {
errors = _json["errors"];
}
if (_json.containsKey("rowStatus")) {
rowStatus = _json["rowStatus"].map((value) => new RowStatus.fromJson(value)).toList();
}
}
core.Map toJson() {
var _json = new core.Map();
if (errors != null) {
_json["errors"] = errors;
}
if (rowStatus != null) {
_json["rowStatus"] = rowStatus.map((value) => (value).toJson()).toList();
}
return _json;
}
}