google-apis-cloudchannel_v1 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -487,6 +487,40 @@ module Google
487
487
  end
488
488
  end
489
489
 
490
+ # The definition of a report column. Specifies the data properties in the
491
+ # corresponding position of the report rows.
492
+ class GoogleCloudChannelV1Column
493
+ include Google::Apis::Core::Hashable
494
+
495
+ # The unique name of the column (for example, customer_domain, channel_partner,
496
+ # customer_cost). You can use column IDs in RunReportJobRequest.filter. To see
497
+ # all reports and their columns, call CloudChannelReportsService.ListReports.
498
+ # Corresponds to the JSON property `columnId`
499
+ # @return [String]
500
+ attr_accessor :column_id
501
+
502
+ # The type of the values for this column.
503
+ # Corresponds to the JSON property `dataType`
504
+ # @return [String]
505
+ attr_accessor :data_type
506
+
507
+ # The column's display name.
508
+ # Corresponds to the JSON property `displayName`
509
+ # @return [String]
510
+ attr_accessor :display_name
511
+
512
+ def initialize(**args)
513
+ update!(**args)
514
+ end
515
+
516
+ # Update properties of this object
517
+ def update!(**args)
518
+ @column_id = args[:column_id] if args.key?(:column_id)
519
+ @data_type = args[:data_type] if args.key?(:data_type)
520
+ @display_name = args[:display_name] if args.key?(:display_name)
521
+ end
522
+ end
523
+
490
524
  # Commitment settings for commitment-based offers.
491
525
  class GoogleCloudChannelV1CommitmentSettings
492
526
  include Google::Apis::Core::Hashable
@@ -518,6 +552,39 @@ module Google
518
552
  end
519
553
  end
520
554
 
555
+ # Specifies the override to conditionally apply.
556
+ class GoogleCloudChannelV1ConditionalOverride
557
+ include Google::Apis::Core::Hashable
558
+
559
+ # A type that represents the various adjustments you can apply to a bill.
560
+ # Corresponds to the JSON property `adjustment`
561
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingAdjustment]
562
+ attr_accessor :adjustment
563
+
564
+ # Required. The RebillingBasis to use for the applied override. Shows the
565
+ # relative cost based on your repricing costs.
566
+ # Corresponds to the JSON property `rebillingBasis`
567
+ # @return [String]
568
+ attr_accessor :rebilling_basis
569
+
570
+ # Represents the various repricing conditions you can use for a conditional
571
+ # override.
572
+ # Corresponds to the JSON property `repricingCondition`
573
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingCondition]
574
+ attr_accessor :repricing_condition
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @adjustment = args[:adjustment] if args.key?(:adjustment)
583
+ @rebilling_basis = args[:rebilling_basis] if args.key?(:rebilling_basis)
584
+ @repricing_condition = args[:repricing_condition] if args.key?(:repricing_condition)
585
+ end
586
+ end
587
+
521
588
  # Represents the constraints for buying the Offer.
522
589
  class GoogleCloudChannelV1Constraints
523
590
  include Google::Apis::Core::Hashable
@@ -816,6 +883,83 @@ module Google
816
883
  end
817
884
  end
818
885
 
886
+ # A representation of usage or invoice date ranges.
887
+ class GoogleCloudChannelV1DateRange
888
+ include Google::Apis::Core::Hashable
889
+
890
+ # Represents a whole or partial calendar date, such as a birthday. The time of
891
+ # day and time zone are either specified elsewhere or are insignificant. The
892
+ # date is relative to the Gregorian Calendar. This can represent one of the
893
+ # following: * A full date, with non-zero year, month, and day values. * A month
894
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
895
+ # with a zero month and a zero day. * A year and month, with a zero day (for
896
+ # example, a credit card expiration date). Related types: * google.type.
897
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
898
+ # Corresponds to the JSON property `invoiceEndDate`
899
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
900
+ attr_accessor :invoice_end_date
901
+
902
+ # Represents a whole or partial calendar date, such as a birthday. The time of
903
+ # day and time zone are either specified elsewhere or are insignificant. The
904
+ # date is relative to the Gregorian Calendar. This can represent one of the
905
+ # following: * A full date, with non-zero year, month, and day values. * A month
906
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
907
+ # with a zero month and a zero day. * A year and month, with a zero day (for
908
+ # example, a credit card expiration date). Related types: * google.type.
909
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
910
+ # Corresponds to the JSON property `invoiceStartDate`
911
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
912
+ attr_accessor :invoice_start_date
913
+
914
+ # Represents civil time (or occasionally physical time). This type can represent
915
+ # a civil time in one of a few possible ways: * When utc_offset is set and
916
+ # time_zone is unset: a civil time on a calendar day with a particular offset
917
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
918
+ # calendar day in a particular time zone. * When neither time_zone nor
919
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
920
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
921
+ # the DateTime is considered not to have a specific year, month, or day
922
+ # respectively. This type may also be used to represent a physical time if all
923
+ # the date and time fields are set and either case of the `time_offset` oneof is
924
+ # set. Consider using `Timestamp` message for physical time instead. If your use
925
+ # case also would like to store the user's timezone, that can be done in another
926
+ # field. This type is more flexible than some applications may want. Make sure
927
+ # to document and validate your application's limitations.
928
+ # Corresponds to the JSON property `usageEndDateTime`
929
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
930
+ attr_accessor :usage_end_date_time
931
+
932
+ # Represents civil time (or occasionally physical time). This type can represent
933
+ # a civil time in one of a few possible ways: * When utc_offset is set and
934
+ # time_zone is unset: a civil time on a calendar day with a particular offset
935
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
936
+ # calendar day in a particular time zone. * When neither time_zone nor
937
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
938
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
939
+ # the DateTime is considered not to have a specific year, month, or day
940
+ # respectively. This type may also be used to represent a physical time if all
941
+ # the date and time fields are set and either case of the `time_offset` oneof is
942
+ # set. Consider using `Timestamp` message for physical time instead. If your use
943
+ # case also would like to store the user's timezone, that can be done in another
944
+ # field. This type is more flexible than some applications may want. Make sure
945
+ # to document and validate your application's limitations.
946
+ # Corresponds to the JSON property `usageStartDateTime`
947
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
948
+ attr_accessor :usage_start_date_time
949
+
950
+ def initialize(**args)
951
+ update!(**args)
952
+ end
953
+
954
+ # Update properties of this object
955
+ def update!(**args)
956
+ @invoice_end_date = args[:invoice_end_date] if args.key?(:invoice_end_date)
957
+ @invoice_start_date = args[:invoice_start_date] if args.key?(:invoice_start_date)
958
+ @usage_end_date_time = args[:usage_end_date_time] if args.key?(:usage_end_date_time)
959
+ @usage_start_date_time = args[:usage_start_date_time] if args.key?(:usage_start_date_time)
960
+ end
961
+ end
962
+
819
963
  # Required Edu Attributes
820
964
  class GoogleCloudChannelV1EduData
821
965
  include Google::Apis::Core::Hashable
@@ -968,6 +1112,71 @@ module Google
968
1112
  end
969
1113
  end
970
1114
 
1115
+ # Request message for CloudChannelReportsService.FetchReportResults.
1116
+ class GoogleCloudChannelV1FetchReportResultsRequest
1117
+ include Google::Apis::Core::Hashable
1118
+
1119
+ # Optional. Requested page size of the report. The server may return fewer
1120
+ # results than requested. If you don't specify a page size, the server uses a
1121
+ # sensible default (may change over time). The maximum value is 30,000; the
1122
+ # server will change larger values to 30,000.
1123
+ # Corresponds to the JSON property `pageSize`
1124
+ # @return [Fixnum]
1125
+ attr_accessor :page_size
1126
+
1127
+ # Optional. A token that specifies a page of results beyond the first page.
1128
+ # Obtained through FetchReportResultsResponse.next_page_token of the previous
1129
+ # CloudChannelReportsService.FetchReportResults call.
1130
+ # Corresponds to the JSON property `pageToken`
1131
+ # @return [String]
1132
+ attr_accessor :page_token
1133
+
1134
+ def initialize(**args)
1135
+ update!(**args)
1136
+ end
1137
+
1138
+ # Update properties of this object
1139
+ def update!(**args)
1140
+ @page_size = args[:page_size] if args.key?(:page_size)
1141
+ @page_token = args[:page_token] if args.key?(:page_token)
1142
+ end
1143
+ end
1144
+
1145
+ # Response message for CloudChannelReportsService.FetchReportResults. Contains a
1146
+ # tabular representation of the report results.
1147
+ class GoogleCloudChannelV1FetchReportResultsResponse
1148
+ include Google::Apis::Core::Hashable
1149
+
1150
+ # Pass this token to FetchReportResultsRequest.page_token to retrieve the next
1151
+ # page of results.
1152
+ # Corresponds to the JSON property `nextPageToken`
1153
+ # @return [String]
1154
+ attr_accessor :next_page_token
1155
+
1156
+ # The features describing the data. Returned by CloudChannelReportsService.
1157
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
1158
+ # Corresponds to the JSON property `reportMetadata`
1159
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportResultsMetadata]
1160
+ attr_accessor :report_metadata
1161
+
1162
+ # The report's lists of values. Each row follows the settings and ordering of
1163
+ # the columns from `report_metadata`.
1164
+ # Corresponds to the JSON property `rows`
1165
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1Row>]
1166
+ attr_accessor :rows
1167
+
1168
+ def initialize(**args)
1169
+ update!(**args)
1170
+ end
1171
+
1172
+ # Update properties of this object
1173
+ def update!(**args)
1174
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1175
+ @report_metadata = args[:report_metadata] if args.key?(:report_metadata)
1176
+ @rows = args[:rows] if args.key?(:rows)
1177
+ end
1178
+ end
1179
+
971
1180
  # Request message for CloudChannelService.ImportCustomer
972
1181
  class GoogleCloudChannelV1ImportCustomerRequest
973
1182
  include Google::Apis::Core::Hashable
@@ -1256,6 +1465,32 @@ module Google
1256
1465
  end
1257
1466
  end
1258
1467
 
1468
+ # Response message for CloudChannelReportsService.ListReports.
1469
+ class GoogleCloudChannelV1ListReportsResponse
1470
+ include Google::Apis::Core::Hashable
1471
+
1472
+ # Pass this token to FetchReportResultsRequest.page_token to retrieve the next
1473
+ # page of results.
1474
+ # Corresponds to the JSON property `nextPageToken`
1475
+ # @return [String]
1476
+ attr_accessor :next_page_token
1477
+
1478
+ # The reports available to the partner.
1479
+ # Corresponds to the JSON property `reports`
1480
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1Report>]
1481
+ attr_accessor :reports
1482
+
1483
+ def initialize(**args)
1484
+ update!(**args)
1485
+ end
1486
+
1487
+ # Update properties of this object
1488
+ def update!(**args)
1489
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1490
+ @reports = args[:reports] if args.key?(:reports)
1491
+ end
1492
+ end
1493
+
1259
1494
  # Response message for ListSkus.
1260
1495
  class GoogleCloudChannelV1ListSkusResponse
1261
1496
  include Google::Apis::Core::Hashable
@@ -1554,6 +1789,11 @@ module Google
1554
1789
  # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1Constraints]
1555
1790
  attr_accessor :constraints
1556
1791
 
1792
+ # The deal code of the offer to get a special promotion or discount.
1793
+ # Corresponds to the JSON property `dealCode`
1794
+ # @return [String]
1795
+ attr_accessor :deal_code
1796
+
1557
1797
  # Output only. End of the Offer validity time.
1558
1798
  # Corresponds to the JSON property `endTime`
1559
1799
  # @return [String]
@@ -1604,6 +1844,7 @@ module Google
1604
1844
  # Update properties of this object
1605
1845
  def update!(**args)
1606
1846
  @constraints = args[:constraints] if args.key?(:constraints)
1847
+ @deal_code = args[:deal_code] if args.key?(:deal_code)
1607
1848
  @end_time = args[:end_time] if args.key?(:end_time)
1608
1849
  @marketing_info = args[:marketing_info] if args.key?(:marketing_info)
1609
1850
  @name = args[:name] if args.key?(:name)
@@ -2177,14 +2418,33 @@ module Google
2177
2418
  end
2178
2419
  end
2179
2420
 
2180
- # A type that represents the various adjustments you can apply to a bill.
2181
- class GoogleCloudChannelV1RepricingAdjustment
2421
+ # The ID and description of a report that was used to generate report data. For
2422
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
2423
+ class GoogleCloudChannelV1Report
2182
2424
  include Google::Apis::Core::Hashable
2183
2425
 
2184
- # An adjustment that applies a flat markup or markdown to an entire bill.
2185
- # Corresponds to the JSON property `percentageAdjustment`
2186
- # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1PercentageAdjustment]
2187
- attr_accessor :percentage_adjustment
2426
+ # The list of columns included in the report. This defines the schema of the
2427
+ # report results.
2428
+ # Corresponds to the JSON property `columns`
2429
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1Column>]
2430
+ attr_accessor :columns
2431
+
2432
+ # A description of other aspects of the report, such as the products it supports.
2433
+ # Corresponds to the JSON property `description`
2434
+ # @return [String]
2435
+ attr_accessor :description
2436
+
2437
+ # A human-readable name for this report.
2438
+ # Corresponds to the JSON property `displayName`
2439
+ # @return [String]
2440
+ attr_accessor :display_name
2441
+
2442
+ # Required. The report's resource name. Specifies the account and report used to
2443
+ # generate report data. The report_id identifier is a UID (for example, `
2444
+ # 613bf59q`). Name uses the format: accounts/`account_id`/reports/`report_id`
2445
+ # Corresponds to the JSON property `name`
2446
+ # @return [String]
2447
+ attr_accessor :name
2188
2448
 
2189
2449
  def initialize(**args)
2190
2450
  update!(**args)
@@ -2192,47 +2452,28 @@ module Google
2192
2452
 
2193
2453
  # Update properties of this object
2194
2454
  def update!(**args)
2195
- @percentage_adjustment = args[:percentage_adjustment] if args.key?(:percentage_adjustment)
2455
+ @columns = args[:columns] if args.key?(:columns)
2456
+ @description = args[:description] if args.key?(:description)
2457
+ @display_name = args[:display_name] if args.key?(:display_name)
2458
+ @name = args[:name] if args.key?(:name)
2196
2459
  end
2197
2460
  end
2198
2461
 
2199
- # Configuration for repricing a Google bill over a period of time.
2200
- class GoogleCloudChannelV1RepricingConfig
2462
+ # The result of a RunReportJob operation. Contains the name to use in
2463
+ # FetchReportResultsRequest.report_job and the status of the operation.
2464
+ class GoogleCloudChannelV1ReportJob
2201
2465
  include Google::Apis::Core::Hashable
2202
2466
 
2203
- # A type that represents the various adjustments you can apply to a bill.
2204
- # Corresponds to the JSON property `adjustment`
2205
- # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingAdjustment]
2206
- attr_accessor :adjustment
2207
-
2208
- # Applies the repricing configuration at the channel partner level. The channel
2209
- # partner value is derived from the resource name. Takes an empty json object.
2210
- # Corresponds to the JSON property `channelPartnerGranularity`
2211
- # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity]
2212
- attr_accessor :channel_partner_granularity
2213
-
2214
- # Represents a whole or partial calendar date, such as a birthday. The time of
2215
- # day and time zone are either specified elsewhere or are insignificant. The
2216
- # date is relative to the Gregorian Calendar. This can represent one of the
2217
- # following: * A full date, with non-zero year, month, and day values. * A month
2218
- # and day, with a zero year (for example, an anniversary). * A year on its own,
2219
- # with a zero month and a zero day. * A year and month, with a zero day (for
2220
- # example, a credit card expiration date). Related types: * google.type.
2221
- # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
2222
- # Corresponds to the JSON property `effectiveInvoiceMonth`
2223
- # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
2224
- attr_accessor :effective_invoice_month
2225
-
2226
- # Applies the repricing configuration at the entitlement level.
2227
- # Corresponds to the JSON property `entitlementGranularity`
2228
- # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingConfigEntitlementGranularity]
2229
- attr_accessor :entitlement_granularity
2230
-
2231
- # Required. The RebillingBasis to use for this bill. Specifies the relative cost
2232
- # based on repricing costs you will apply.
2233
- # Corresponds to the JSON property `rebillingBasis`
2467
+ # Required. The resource name of a report job. Name uses the format: `accounts/`
2468
+ # account_id`/reportJobs/`report_job_id``
2469
+ # Corresponds to the JSON property `name`
2234
2470
  # @return [String]
2235
- attr_accessor :rebilling_basis
2471
+ attr_accessor :name
2472
+
2473
+ # Status of a report generation process.
2474
+ # Corresponds to the JSON property `reportStatus`
2475
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportStatus]
2476
+ attr_accessor :report_status
2236
2477
 
2237
2478
  def initialize(**args)
2238
2479
  update!(**args)
@@ -2240,37 +2481,36 @@ module Google
2240
2481
 
2241
2482
  # Update properties of this object
2242
2483
  def update!(**args)
2243
- @adjustment = args[:adjustment] if args.key?(:adjustment)
2244
- @channel_partner_granularity = args[:channel_partner_granularity] if args.key?(:channel_partner_granularity)
2245
- @effective_invoice_month = args[:effective_invoice_month] if args.key?(:effective_invoice_month)
2246
- @entitlement_granularity = args[:entitlement_granularity] if args.key?(:entitlement_granularity)
2247
- @rebilling_basis = args[:rebilling_basis] if args.key?(:rebilling_basis)
2484
+ @name = args[:name] if args.key?(:name)
2485
+ @report_status = args[:report_status] if args.key?(:report_status)
2248
2486
  end
2249
2487
  end
2250
2488
 
2251
- # Applies the repricing configuration at the channel partner level. The channel
2252
- # partner value is derived from the resource name. Takes an empty json object.
2253
- class GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity
2489
+ # The features describing the data. Returned by CloudChannelReportsService.
2490
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
2491
+ class GoogleCloudChannelV1ReportResultsMetadata
2254
2492
  include Google::Apis::Core::Hashable
2255
2493
 
2256
- def initialize(**args)
2257
- update!(**args)
2258
- end
2494
+ # A representation of usage or invoice date ranges.
2495
+ # Corresponds to the JSON property `dateRange`
2496
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1DateRange]
2497
+ attr_accessor :date_range
2259
2498
 
2260
- # Update properties of this object
2261
- def update!(**args)
2262
- end
2263
- end
2499
+ # A representation of usage or invoice date ranges.
2500
+ # Corresponds to the JSON property `precedingDateRange`
2501
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1DateRange]
2502
+ attr_accessor :preceding_date_range
2264
2503
 
2265
- # Applies the repricing configuration at the entitlement level.
2266
- class GoogleCloudChannelV1RepricingConfigEntitlementGranularity
2267
- include Google::Apis::Core::Hashable
2504
+ # The ID and description of a report that was used to generate report data. For
2505
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
2506
+ # Corresponds to the JSON property `report`
2507
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1Report]
2508
+ attr_accessor :report
2268
2509
 
2269
- # Resource name of the entitlement. Format: accounts/`account_id`/customers/`
2270
- # customer_id`/entitlements/`entitlement_id`
2271
- # Corresponds to the JSON property `entitlement`
2272
- # @return [String]
2273
- attr_accessor :entitlement
2510
+ # The total number of rows of data in the final report.
2511
+ # Corresponds to the JSON property `rowCount`
2512
+ # @return [Fixnum]
2513
+ attr_accessor :row_count
2274
2514
 
2275
2515
  def initialize(**args)
2276
2516
  update!(**args)
@@ -2278,32 +2518,31 @@ module Google
2278
2518
 
2279
2519
  # Update properties of this object
2280
2520
  def update!(**args)
2281
- @entitlement = args[:entitlement] if args.key?(:entitlement)
2521
+ @date_range = args[:date_range] if args.key?(:date_range)
2522
+ @preceding_date_range = args[:preceding_date_range] if args.key?(:preceding_date_range)
2523
+ @report = args[:report] if args.key?(:report)
2524
+ @row_count = args[:row_count] if args.key?(:row_count)
2282
2525
  end
2283
2526
  end
2284
2527
 
2285
- # Represents a product's purchasable Stock Keeping Unit (SKU). SKUs represent
2286
- # the different variations of the product. For example, Google Workspace
2287
- # Business Standard and Google Workspace Business Plus are Google Workspace
2288
- # product SKUs.
2289
- class GoogleCloudChannelV1Sku
2528
+ # Status of a report generation process.
2529
+ class GoogleCloudChannelV1ReportStatus
2290
2530
  include Google::Apis::Core::Hashable
2291
2531
 
2292
- # Represents the marketing information for a Product, SKU or Offer.
2293
- # Corresponds to the JSON property `marketingInfo`
2294
- # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1MarketingInfo]
2295
- attr_accessor :marketing_info
2532
+ # The report generation's completion time.
2533
+ # Corresponds to the JSON property `endTime`
2534
+ # @return [String]
2535
+ attr_accessor :end_time
2296
2536
 
2297
- # Resource Name of the SKU. Format: products/`product_id`/skus/`sku_id`
2298
- # Corresponds to the JSON property `name`
2537
+ # The report generation's start time.
2538
+ # Corresponds to the JSON property `startTime`
2299
2539
  # @return [String]
2300
- attr_accessor :name
2540
+ attr_accessor :start_time
2301
2541
 
2302
- # A Product is the entity a customer uses when placing an order. For example,
2303
- # Google Workspace, Google Voice, etc.
2304
- # Corresponds to the JSON property `product`
2305
- # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1Product]
2306
- attr_accessor :product
2542
+ # The current state of the report generation process.
2543
+ # Corresponds to the JSON property `state`
2544
+ # @return [String]
2545
+ attr_accessor :state
2307
2546
 
2308
2547
  def initialize(**args)
2309
2548
  update!(**args)
@@ -2311,25 +2550,372 @@ module Google
2311
2550
 
2312
2551
  # Update properties of this object
2313
2552
  def update!(**args)
2314
- @marketing_info = args[:marketing_info] if args.key?(:marketing_info)
2315
- @name = args[:name] if args.key?(:name)
2316
- @product = args[:product] if args.key?(:product)
2553
+ @end_time = args[:end_time] if args.key?(:end_time)
2554
+ @start_time = args[:start_time] if args.key?(:start_time)
2555
+ @state = args[:state] if args.key?(:state)
2317
2556
  end
2318
2557
  end
2319
2558
 
2320
- # Request message for CloudChannelService.StartPaidService.
2321
- class GoogleCloudChannelV1StartPaidServiceRequest
2559
+ # A single report value.
2560
+ class GoogleCloudChannelV1ReportValue
2322
2561
  include Google::Apis::Core::Hashable
2323
2562
 
2324
- # Optional. You can specify an optional unique request ID, and if you need to
2325
- # retry your request, the server will know to ignore the request if it's
2326
- # complete. For example, you make an initial request and the request times out.
2327
- # If you make the request again with the same request ID, the server can check
2328
- # if it received the original operation with the same request ID. If it did, it
2329
- # will ignore the second request. The request ID must be a valid [UUID](https://
2330
- # tools.ietf.org/html/rfc4122) with the exception that zero UUID is not
2331
- # supported (`00000000-0000-0000-0000-000000000000`).
2332
- # Corresponds to the JSON property `requestId`
2563
+ # Represents civil time (or occasionally physical time). This type can represent
2564
+ # a civil time in one of a few possible ways: * When utc_offset is set and
2565
+ # time_zone is unset: a civil time on a calendar day with a particular offset
2566
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
2567
+ # calendar day in a particular time zone. * When neither time_zone nor
2568
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
2569
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
2570
+ # the DateTime is considered not to have a specific year, month, or day
2571
+ # respectively. This type may also be used to represent a physical time if all
2572
+ # the date and time fields are set and either case of the `time_offset` oneof is
2573
+ # set. Consider using `Timestamp` message for physical time instead. If your use
2574
+ # case also would like to store the user's timezone, that can be done in another
2575
+ # field. This type is more flexible than some applications may want. Make sure
2576
+ # to document and validate your application's limitations.
2577
+ # Corresponds to the JSON property `dateTimeValue`
2578
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
2579
+ attr_accessor :date_time_value
2580
+
2581
+ # Represents a whole or partial calendar date, such as a birthday. The time of
2582
+ # day and time zone are either specified elsewhere or are insignificant. The
2583
+ # date is relative to the Gregorian Calendar. This can represent one of the
2584
+ # following: * A full date, with non-zero year, month, and day values. * A month
2585
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
2586
+ # with a zero month and a zero day. * A year and month, with a zero day (for
2587
+ # example, a credit card expiration date). Related types: * google.type.
2588
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
2589
+ # Corresponds to the JSON property `dateValue`
2590
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
2591
+ attr_accessor :date_value
2592
+
2593
+ # A representation of a decimal value, such as 2.5. Clients may convert values
2594
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
2595
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
2596
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
2597
+ # org/3/library/decimal.html
2598
+ # Corresponds to the JSON property `decimalValue`
2599
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDecimal]
2600
+ attr_accessor :decimal_value
2601
+
2602
+ # A value of type `int`.
2603
+ # Corresponds to the JSON property `intValue`
2604
+ # @return [Fixnum]
2605
+ attr_accessor :int_value
2606
+
2607
+ # Represents an amount of money with its currency type.
2608
+ # Corresponds to the JSON property `moneyValue`
2609
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeMoney]
2610
+ attr_accessor :money_value
2611
+
2612
+ # A value of type `string`.
2613
+ # Corresponds to the JSON property `stringValue`
2614
+ # @return [String]
2615
+ attr_accessor :string_value
2616
+
2617
+ def initialize(**args)
2618
+ update!(**args)
2619
+ end
2620
+
2621
+ # Update properties of this object
2622
+ def update!(**args)
2623
+ @date_time_value = args[:date_time_value] if args.key?(:date_time_value)
2624
+ @date_value = args[:date_value] if args.key?(:date_value)
2625
+ @decimal_value = args[:decimal_value] if args.key?(:decimal_value)
2626
+ @int_value = args[:int_value] if args.key?(:int_value)
2627
+ @money_value = args[:money_value] if args.key?(:money_value)
2628
+ @string_value = args[:string_value] if args.key?(:string_value)
2629
+ end
2630
+ end
2631
+
2632
+ # A type that represents the various adjustments you can apply to a bill.
2633
+ class GoogleCloudChannelV1RepricingAdjustment
2634
+ include Google::Apis::Core::Hashable
2635
+
2636
+ # An adjustment that applies a flat markup or markdown to an entire bill.
2637
+ # Corresponds to the JSON property `percentageAdjustment`
2638
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1PercentageAdjustment]
2639
+ attr_accessor :percentage_adjustment
2640
+
2641
+ def initialize(**args)
2642
+ update!(**args)
2643
+ end
2644
+
2645
+ # Update properties of this object
2646
+ def update!(**args)
2647
+ @percentage_adjustment = args[:percentage_adjustment] if args.key?(:percentage_adjustment)
2648
+ end
2649
+ end
2650
+
2651
+ # Represents the various repricing conditions you can use for a conditional
2652
+ # override.
2653
+ class GoogleCloudChannelV1RepricingCondition
2654
+ include Google::Apis::Core::Hashable
2655
+
2656
+ # A condition that applies the override if a line item SKU is found in the SKU
2657
+ # group.
2658
+ # Corresponds to the JSON property `skuGroupCondition`
2659
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1SkuGroupCondition]
2660
+ attr_accessor :sku_group_condition
2661
+
2662
+ def initialize(**args)
2663
+ update!(**args)
2664
+ end
2665
+
2666
+ # Update properties of this object
2667
+ def update!(**args)
2668
+ @sku_group_condition = args[:sku_group_condition] if args.key?(:sku_group_condition)
2669
+ end
2670
+ end
2671
+
2672
+ # Configuration for repricing a Google bill over a period of time.
2673
+ class GoogleCloudChannelV1RepricingConfig
2674
+ include Google::Apis::Core::Hashable
2675
+
2676
+ # A type that represents the various adjustments you can apply to a bill.
2677
+ # Corresponds to the JSON property `adjustment`
2678
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingAdjustment]
2679
+ attr_accessor :adjustment
2680
+
2681
+ # Applies the repricing configuration at the channel partner level. The channel
2682
+ # partner value is derived from the resource name. Takes an empty json object.
2683
+ # Corresponds to the JSON property `channelPartnerGranularity`
2684
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity]
2685
+ attr_accessor :channel_partner_granularity
2686
+
2687
+ # The conditional overrides to apply for this configuration. If you list
2688
+ # multiple overrides, only the first valid override is used. If you don't list
2689
+ # any overrides, the API uses the normal adjustment and rebilling basis.
2690
+ # Corresponds to the JSON property `conditionalOverrides`
2691
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1ConditionalOverride>]
2692
+ attr_accessor :conditional_overrides
2693
+
2694
+ # Represents a whole or partial calendar date, such as a birthday. The time of
2695
+ # day and time zone are either specified elsewhere or are insignificant. The
2696
+ # date is relative to the Gregorian Calendar. This can represent one of the
2697
+ # following: * A full date, with non-zero year, month, and day values. * A month
2698
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
2699
+ # with a zero month and a zero day. * A year and month, with a zero day (for
2700
+ # example, a credit card expiration date). Related types: * google.type.
2701
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
2702
+ # Corresponds to the JSON property `effectiveInvoiceMonth`
2703
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
2704
+ attr_accessor :effective_invoice_month
2705
+
2706
+ # Applies the repricing configuration at the entitlement level.
2707
+ # Corresponds to the JSON property `entitlementGranularity`
2708
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1RepricingConfigEntitlementGranularity]
2709
+ attr_accessor :entitlement_granularity
2710
+
2711
+ # Required. The RebillingBasis to use for this bill. Specifies the relative cost
2712
+ # based on repricing costs you will apply.
2713
+ # Corresponds to the JSON property `rebillingBasis`
2714
+ # @return [String]
2715
+ attr_accessor :rebilling_basis
2716
+
2717
+ def initialize(**args)
2718
+ update!(**args)
2719
+ end
2720
+
2721
+ # Update properties of this object
2722
+ def update!(**args)
2723
+ @adjustment = args[:adjustment] if args.key?(:adjustment)
2724
+ @channel_partner_granularity = args[:channel_partner_granularity] if args.key?(:channel_partner_granularity)
2725
+ @conditional_overrides = args[:conditional_overrides] if args.key?(:conditional_overrides)
2726
+ @effective_invoice_month = args[:effective_invoice_month] if args.key?(:effective_invoice_month)
2727
+ @entitlement_granularity = args[:entitlement_granularity] if args.key?(:entitlement_granularity)
2728
+ @rebilling_basis = args[:rebilling_basis] if args.key?(:rebilling_basis)
2729
+ end
2730
+ end
2731
+
2732
+ # Applies the repricing configuration at the channel partner level. The channel
2733
+ # partner value is derived from the resource name. Takes an empty json object.
2734
+ class GoogleCloudChannelV1RepricingConfigChannelPartnerGranularity
2735
+ include Google::Apis::Core::Hashable
2736
+
2737
+ def initialize(**args)
2738
+ update!(**args)
2739
+ end
2740
+
2741
+ # Update properties of this object
2742
+ def update!(**args)
2743
+ end
2744
+ end
2745
+
2746
+ # Applies the repricing configuration at the entitlement level.
2747
+ class GoogleCloudChannelV1RepricingConfigEntitlementGranularity
2748
+ include Google::Apis::Core::Hashable
2749
+
2750
+ # Resource name of the entitlement. Format: accounts/`account_id`/customers/`
2751
+ # customer_id`/entitlements/`entitlement_id`
2752
+ # Corresponds to the JSON property `entitlement`
2753
+ # @return [String]
2754
+ attr_accessor :entitlement
2755
+
2756
+ def initialize(**args)
2757
+ update!(**args)
2758
+ end
2759
+
2760
+ # Update properties of this object
2761
+ def update!(**args)
2762
+ @entitlement = args[:entitlement] if args.key?(:entitlement)
2763
+ end
2764
+ end
2765
+
2766
+ # A row of report values.
2767
+ class GoogleCloudChannelV1Row
2768
+ include Google::Apis::Core::Hashable
2769
+
2770
+ # The list of values in the row.
2771
+ # Corresponds to the JSON property `values`
2772
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportValue>]
2773
+ attr_accessor :values
2774
+
2775
+ def initialize(**args)
2776
+ update!(**args)
2777
+ end
2778
+
2779
+ # Update properties of this object
2780
+ def update!(**args)
2781
+ @values = args[:values] if args.key?(:values)
2782
+ end
2783
+ end
2784
+
2785
+ # Request message for CloudChannelReportsService.RunReportJob.
2786
+ class GoogleCloudChannelV1RunReportJobRequest
2787
+ include Google::Apis::Core::Hashable
2788
+
2789
+ # A representation of usage or invoice date ranges.
2790
+ # Corresponds to the JSON property `dateRange`
2791
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1DateRange]
2792
+ attr_accessor :date_range
2793
+
2794
+ # Optional. A structured string that defines conditions on dimension columns to
2795
+ # restrict the report output. Filters support logical operators (AND, OR, NOT)
2796
+ # and conditional operators (=, !=, <, >, <=, and >=) using `column_id` as keys.
2797
+ # For example: `(customer:"accounts/C123abc/customers/S456def" OR customer:"
2798
+ # accounts/C123abc/customers/S789ghi") AND invoice_start_date.year >= 2022`
2799
+ # Corresponds to the JSON property `filter`
2800
+ # @return [String]
2801
+ attr_accessor :filter
2802
+
2803
+ # Optional. The BCP-47 language code, such as "en-US". If specified, the
2804
+ # response is localized to the corresponding language code if the original data
2805
+ # sources support it. Default is "en-US".
2806
+ # Corresponds to the JSON property `languageCode`
2807
+ # @return [String]
2808
+ attr_accessor :language_code
2809
+
2810
+ def initialize(**args)
2811
+ update!(**args)
2812
+ end
2813
+
2814
+ # Update properties of this object
2815
+ def update!(**args)
2816
+ @date_range = args[:date_range] if args.key?(:date_range)
2817
+ @filter = args[:filter] if args.key?(:filter)
2818
+ @language_code = args[:language_code] if args.key?(:language_code)
2819
+ end
2820
+ end
2821
+
2822
+ # Response message for CloudChannelReportsService.RunReportJob.
2823
+ class GoogleCloudChannelV1RunReportJobResponse
2824
+ include Google::Apis::Core::Hashable
2825
+
2826
+ # The result of a RunReportJob operation. Contains the name to use in
2827
+ # FetchReportResultsRequest.report_job and the status of the operation.
2828
+ # Corresponds to the JSON property `reportJob`
2829
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportJob]
2830
+ attr_accessor :report_job
2831
+
2832
+ # The features describing the data. Returned by CloudChannelReportsService.
2833
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
2834
+ # Corresponds to the JSON property `reportMetadata`
2835
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportResultsMetadata]
2836
+ attr_accessor :report_metadata
2837
+
2838
+ def initialize(**args)
2839
+ update!(**args)
2840
+ end
2841
+
2842
+ # Update properties of this object
2843
+ def update!(**args)
2844
+ @report_job = args[:report_job] if args.key?(:report_job)
2845
+ @report_metadata = args[:report_metadata] if args.key?(:report_metadata)
2846
+ end
2847
+ end
2848
+
2849
+ # Represents a product's purchasable Stock Keeping Unit (SKU). SKUs represent
2850
+ # the different variations of the product. For example, Google Workspace
2851
+ # Business Standard and Google Workspace Business Plus are Google Workspace
2852
+ # product SKUs.
2853
+ class GoogleCloudChannelV1Sku
2854
+ include Google::Apis::Core::Hashable
2855
+
2856
+ # Represents the marketing information for a Product, SKU or Offer.
2857
+ # Corresponds to the JSON property `marketingInfo`
2858
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1MarketingInfo]
2859
+ attr_accessor :marketing_info
2860
+
2861
+ # Resource Name of the SKU. Format: products/`product_id`/skus/`sku_id`
2862
+ # Corresponds to the JSON property `name`
2863
+ # @return [String]
2864
+ attr_accessor :name
2865
+
2866
+ # A Product is the entity a customer uses when placing an order. For example,
2867
+ # Google Workspace, Google Voice, etc.
2868
+ # Corresponds to the JSON property `product`
2869
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1Product]
2870
+ attr_accessor :product
2871
+
2872
+ def initialize(**args)
2873
+ update!(**args)
2874
+ end
2875
+
2876
+ # Update properties of this object
2877
+ def update!(**args)
2878
+ @marketing_info = args[:marketing_info] if args.key?(:marketing_info)
2879
+ @name = args[:name] if args.key?(:name)
2880
+ @product = args[:product] if args.key?(:product)
2881
+ end
2882
+ end
2883
+
2884
+ # A condition that applies the override if a line item SKU is found in the SKU
2885
+ # group.
2886
+ class GoogleCloudChannelV1SkuGroupCondition
2887
+ include Google::Apis::Core::Hashable
2888
+
2889
+ # Specifies a SKU group (https://cloud.google.com/skus/sku-groups). Resource
2890
+ # name of SKU group. Format: accounts/`account`/skuGroups/`sku_group`. Example: "
2891
+ # accounts/C01234/skuGroups/3d50fd57-3157-4577-a5a9-a219b8490041".
2892
+ # Corresponds to the JSON property `skuGroup`
2893
+ # @return [String]
2894
+ attr_accessor :sku_group
2895
+
2896
+ def initialize(**args)
2897
+ update!(**args)
2898
+ end
2899
+
2900
+ # Update properties of this object
2901
+ def update!(**args)
2902
+ @sku_group = args[:sku_group] if args.key?(:sku_group)
2903
+ end
2904
+ end
2905
+
2906
+ # Request message for CloudChannelService.StartPaidService.
2907
+ class GoogleCloudChannelV1StartPaidServiceRequest
2908
+ include Google::Apis::Core::Hashable
2909
+
2910
+ # Optional. You can specify an optional unique request ID, and if you need to
2911
+ # retry your request, the server will know to ignore the request if it's
2912
+ # complete. For example, you make an initial request and the request times out.
2913
+ # If you make the request again with the same request ID, the server can check
2914
+ # if it received the original operation with the same request ID. If it did, it
2915
+ # will ignore the second request. The request ID must be a valid [UUID](https://
2916
+ # tools.ietf.org/html/rfc4122) with the exception that zero UUID is not
2917
+ # supported (`00000000-0000-0000-0000-000000000000`).
2918
+ # Corresponds to the JSON property `requestId`
2333
2919
  # @return [String]
2334
2920
  attr_accessor :request_id
2335
2921
 
@@ -2762,6 +3348,40 @@ module Google
2762
3348
  end
2763
3349
  end
2764
3350
 
3351
+ # The definition of a report column. Specifies the data properties in the
3352
+ # corresponding position of the report rows.
3353
+ class GoogleCloudChannelV1alpha1Column
3354
+ include Google::Apis::Core::Hashable
3355
+
3356
+ # The unique name of the column (for example, customer_domain, channel_partner,
3357
+ # customer_cost). You can use column IDs in RunReportJobRequest.filter. To see
3358
+ # all reports and their columns, call CloudChannelReportsService.ListReports.
3359
+ # Corresponds to the JSON property `columnId`
3360
+ # @return [String]
3361
+ attr_accessor :column_id
3362
+
3363
+ # The type of the values for this column.
3364
+ # Corresponds to the JSON property `dataType`
3365
+ # @return [String]
3366
+ attr_accessor :data_type
3367
+
3368
+ # The column's display name.
3369
+ # Corresponds to the JSON property `displayName`
3370
+ # @return [String]
3371
+ attr_accessor :display_name
3372
+
3373
+ def initialize(**args)
3374
+ update!(**args)
3375
+ end
3376
+
3377
+ # Update properties of this object
3378
+ def update!(**args)
3379
+ @column_id = args[:column_id] if args.key?(:column_id)
3380
+ @data_type = args[:data_type] if args.key?(:data_type)
3381
+ @display_name = args[:display_name] if args.key?(:display_name)
3382
+ end
3383
+ end
3384
+
2765
3385
  # Commitment settings for commitment-based offers.
2766
3386
  class GoogleCloudChannelV1alpha1CommitmentSettings
2767
3387
  include Google::Apis::Core::Hashable
@@ -2819,6 +3439,83 @@ module Google
2819
3439
  end
2820
3440
  end
2821
3441
 
3442
+ # A representation of usage or invoice date ranges.
3443
+ class GoogleCloudChannelV1alpha1DateRange
3444
+ include Google::Apis::Core::Hashable
3445
+
3446
+ # Represents a whole or partial calendar date, such as a birthday. The time of
3447
+ # day and time zone are either specified elsewhere or are insignificant. The
3448
+ # date is relative to the Gregorian Calendar. This can represent one of the
3449
+ # following: * A full date, with non-zero year, month, and day values. * A month
3450
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
3451
+ # with a zero month and a zero day. * A year and month, with a zero day (for
3452
+ # example, a credit card expiration date). Related types: * google.type.
3453
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
3454
+ # Corresponds to the JSON property `invoiceEndDate`
3455
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
3456
+ attr_accessor :invoice_end_date
3457
+
3458
+ # Represents a whole or partial calendar date, such as a birthday. The time of
3459
+ # day and time zone are either specified elsewhere or are insignificant. The
3460
+ # date is relative to the Gregorian Calendar. This can represent one of the
3461
+ # following: * A full date, with non-zero year, month, and day values. * A month
3462
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
3463
+ # with a zero month and a zero day. * A year and month, with a zero day (for
3464
+ # example, a credit card expiration date). Related types: * google.type.
3465
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
3466
+ # Corresponds to the JSON property `invoiceStartDate`
3467
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
3468
+ attr_accessor :invoice_start_date
3469
+
3470
+ # Represents civil time (or occasionally physical time). This type can represent
3471
+ # a civil time in one of a few possible ways: * When utc_offset is set and
3472
+ # time_zone is unset: a civil time on a calendar day with a particular offset
3473
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
3474
+ # calendar day in a particular time zone. * When neither time_zone nor
3475
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
3476
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
3477
+ # the DateTime is considered not to have a specific year, month, or day
3478
+ # respectively. This type may also be used to represent a physical time if all
3479
+ # the date and time fields are set and either case of the `time_offset` oneof is
3480
+ # set. Consider using `Timestamp` message for physical time instead. If your use
3481
+ # case also would like to store the user's timezone, that can be done in another
3482
+ # field. This type is more flexible than some applications may want. Make sure
3483
+ # to document and validate your application's limitations.
3484
+ # Corresponds to the JSON property `usageEndDateTime`
3485
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
3486
+ attr_accessor :usage_end_date_time
3487
+
3488
+ # Represents civil time (or occasionally physical time). This type can represent
3489
+ # a civil time in one of a few possible ways: * When utc_offset is set and
3490
+ # time_zone is unset: a civil time on a calendar day with a particular offset
3491
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
3492
+ # calendar day in a particular time zone. * When neither time_zone nor
3493
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
3494
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
3495
+ # the DateTime is considered not to have a specific year, month, or day
3496
+ # respectively. This type may also be used to represent a physical time if all
3497
+ # the date and time fields are set and either case of the `time_offset` oneof is
3498
+ # set. Consider using `Timestamp` message for physical time instead. If your use
3499
+ # case also would like to store the user's timezone, that can be done in another
3500
+ # field. This type is more flexible than some applications may want. Make sure
3501
+ # to document and validate your application's limitations.
3502
+ # Corresponds to the JSON property `usageStartDateTime`
3503
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
3504
+ attr_accessor :usage_start_date_time
3505
+
3506
+ def initialize(**args)
3507
+ update!(**args)
3508
+ end
3509
+
3510
+ # Update properties of this object
3511
+ def update!(**args)
3512
+ @invoice_end_date = args[:invoice_end_date] if args.key?(:invoice_end_date)
3513
+ @invoice_start_date = args[:invoice_start_date] if args.key?(:invoice_start_date)
3514
+ @usage_end_date_time = args[:usage_end_date_time] if args.key?(:usage_end_date_time)
3515
+ @usage_start_date_time = args[:usage_start_date_time] if args.key?(:usage_start_date_time)
3516
+ end
3517
+ end
3518
+
2822
3519
  # An entitlement is a representation of a customer's ability to use a service.
2823
3520
  class GoogleCloudChannelV1alpha1Entitlement
2824
3521
  include Google::Apis::Core::Hashable
@@ -3143,6 +3840,171 @@ module Google
3143
3840
  end
3144
3841
  end
3145
3842
 
3843
+ # The ID and description of a report that was used to generate report data. For
3844
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
3845
+ class GoogleCloudChannelV1alpha1Report
3846
+ include Google::Apis::Core::Hashable
3847
+
3848
+ # The list of columns included in the report. This defines the schema of the
3849
+ # report results.
3850
+ # Corresponds to the JSON property `columns`
3851
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1Column>]
3852
+ attr_accessor :columns
3853
+
3854
+ # A description of other aspects of the report, such as the products it supports.
3855
+ # Corresponds to the JSON property `description`
3856
+ # @return [String]
3857
+ attr_accessor :description
3858
+
3859
+ # A human-readable name for this report.
3860
+ # Corresponds to the JSON property `displayName`
3861
+ # @return [String]
3862
+ attr_accessor :display_name
3863
+
3864
+ # Required. The report's resource name. Specifies the account and report used to
3865
+ # generate report data. The report_id identifier is a UID (for example, `
3866
+ # 613bf59q`). Name uses the format: accounts/`account_id`/reports/`report_id`
3867
+ # Corresponds to the JSON property `name`
3868
+ # @return [String]
3869
+ attr_accessor :name
3870
+
3871
+ def initialize(**args)
3872
+ update!(**args)
3873
+ end
3874
+
3875
+ # Update properties of this object
3876
+ def update!(**args)
3877
+ @columns = args[:columns] if args.key?(:columns)
3878
+ @description = args[:description] if args.key?(:description)
3879
+ @display_name = args[:display_name] if args.key?(:display_name)
3880
+ @name = args[:name] if args.key?(:name)
3881
+ end
3882
+ end
3883
+
3884
+ # The result of a RunReportJob operation. Contains the name to use in
3885
+ # FetchReportResultsRequest.report_job and the status of the operation.
3886
+ class GoogleCloudChannelV1alpha1ReportJob
3887
+ include Google::Apis::Core::Hashable
3888
+
3889
+ # Required. The resource name of a report job. Name uses the format: `accounts/`
3890
+ # account_id`/reportJobs/`report_job_id``
3891
+ # Corresponds to the JSON property `name`
3892
+ # @return [String]
3893
+ attr_accessor :name
3894
+
3895
+ # Status of a report generation process.
3896
+ # Corresponds to the JSON property `reportStatus`
3897
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1ReportStatus]
3898
+ attr_accessor :report_status
3899
+
3900
+ def initialize(**args)
3901
+ update!(**args)
3902
+ end
3903
+
3904
+ # Update properties of this object
3905
+ def update!(**args)
3906
+ @name = args[:name] if args.key?(:name)
3907
+ @report_status = args[:report_status] if args.key?(:report_status)
3908
+ end
3909
+ end
3910
+
3911
+ # The features describing the data. Returned by CloudChannelReportsService.
3912
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
3913
+ class GoogleCloudChannelV1alpha1ReportResultsMetadata
3914
+ include Google::Apis::Core::Hashable
3915
+
3916
+ # A representation of usage or invoice date ranges.
3917
+ # Corresponds to the JSON property `dateRange`
3918
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1DateRange]
3919
+ attr_accessor :date_range
3920
+
3921
+ # A representation of usage or invoice date ranges.
3922
+ # Corresponds to the JSON property `precedingDateRange`
3923
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1DateRange]
3924
+ attr_accessor :preceding_date_range
3925
+
3926
+ # The ID and description of a report that was used to generate report data. For
3927
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
3928
+ # Corresponds to the JSON property `report`
3929
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1Report]
3930
+ attr_accessor :report
3931
+
3932
+ # The total number of rows of data in the final report.
3933
+ # Corresponds to the JSON property `rowCount`
3934
+ # @return [Fixnum]
3935
+ attr_accessor :row_count
3936
+
3937
+ def initialize(**args)
3938
+ update!(**args)
3939
+ end
3940
+
3941
+ # Update properties of this object
3942
+ def update!(**args)
3943
+ @date_range = args[:date_range] if args.key?(:date_range)
3944
+ @preceding_date_range = args[:preceding_date_range] if args.key?(:preceding_date_range)
3945
+ @report = args[:report] if args.key?(:report)
3946
+ @row_count = args[:row_count] if args.key?(:row_count)
3947
+ end
3948
+ end
3949
+
3950
+ # Status of a report generation process.
3951
+ class GoogleCloudChannelV1alpha1ReportStatus
3952
+ include Google::Apis::Core::Hashable
3953
+
3954
+ # The report generation's completion time.
3955
+ # Corresponds to the JSON property `endTime`
3956
+ # @return [String]
3957
+ attr_accessor :end_time
3958
+
3959
+ # The report generation's start time.
3960
+ # Corresponds to the JSON property `startTime`
3961
+ # @return [String]
3962
+ attr_accessor :start_time
3963
+
3964
+ # The current state of the report generation process.
3965
+ # Corresponds to the JSON property `state`
3966
+ # @return [String]
3967
+ attr_accessor :state
3968
+
3969
+ def initialize(**args)
3970
+ update!(**args)
3971
+ end
3972
+
3973
+ # Update properties of this object
3974
+ def update!(**args)
3975
+ @end_time = args[:end_time] if args.key?(:end_time)
3976
+ @start_time = args[:start_time] if args.key?(:start_time)
3977
+ @state = args[:state] if args.key?(:state)
3978
+ end
3979
+ end
3980
+
3981
+ # Response message for CloudChannelReportsService.RunReportJob.
3982
+ class GoogleCloudChannelV1alpha1RunReportJobResponse
3983
+ include Google::Apis::Core::Hashable
3984
+
3985
+ # The result of a RunReportJob operation. Contains the name to use in
3986
+ # FetchReportResultsRequest.report_job and the status of the operation.
3987
+ # Corresponds to the JSON property `reportJob`
3988
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1ReportJob]
3989
+ attr_accessor :report_job
3990
+
3991
+ # The features describing the data. Returned by CloudChannelReportsService.
3992
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
3993
+ # Corresponds to the JSON property `reportMetadata`
3994
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1ReportResultsMetadata]
3995
+ attr_accessor :report_metadata
3996
+
3997
+ def initialize(**args)
3998
+ update!(**args)
3999
+ end
4000
+
4001
+ # Update properties of this object
4002
+ def update!(**args)
4003
+ @report_job = args[:report_job] if args.key?(:report_job)
4004
+ @report_metadata = args[:report_metadata] if args.key?(:report_metadata)
4005
+ end
4006
+ end
4007
+
3146
4008
  # Represents information which resellers will get as part of notification from
3147
4009
  # Pub/Sub.
3148
4010
  class GoogleCloudChannelV1alpha1SubscriberEvent
@@ -3464,6 +4326,95 @@ module Google
3464
4326
  end
3465
4327
  end
3466
4328
 
4329
+ # Represents civil time (or occasionally physical time). This type can represent
4330
+ # a civil time in one of a few possible ways: * When utc_offset is set and
4331
+ # time_zone is unset: a civil time on a calendar day with a particular offset
4332
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
4333
+ # calendar day in a particular time zone. * When neither time_zone nor
4334
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
4335
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
4336
+ # the DateTime is considered not to have a specific year, month, or day
4337
+ # respectively. This type may also be used to represent a physical time if all
4338
+ # the date and time fields are set and either case of the `time_offset` oneof is
4339
+ # set. Consider using `Timestamp` message for physical time instead. If your use
4340
+ # case also would like to store the user's timezone, that can be done in another
4341
+ # field. This type is more flexible than some applications may want. Make sure
4342
+ # to document and validate your application's limitations.
4343
+ class GoogleTypeDateTime
4344
+ include Google::Apis::Core::Hashable
4345
+
4346
+ # Optional. Day of month. Must be from 1 to 31 and valid for the year and month,
4347
+ # or 0 if specifying a datetime without a day.
4348
+ # Corresponds to the JSON property `day`
4349
+ # @return [Fixnum]
4350
+ attr_accessor :day
4351
+
4352
+ # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to
4353
+ # 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios
4354
+ # like business closing time.
4355
+ # Corresponds to the JSON property `hours`
4356
+ # @return [Fixnum]
4357
+ attr_accessor :hours
4358
+
4359
+ # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
4360
+ # Corresponds to the JSON property `minutes`
4361
+ # @return [Fixnum]
4362
+ attr_accessor :minutes
4363
+
4364
+ # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime
4365
+ # without a month.
4366
+ # Corresponds to the JSON property `month`
4367
+ # @return [Fixnum]
4368
+ attr_accessor :month
4369
+
4370
+ # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999,
4371
+ # defaults to 0.
4372
+ # Corresponds to the JSON property `nanos`
4373
+ # @return [Fixnum]
4374
+ attr_accessor :nanos
4375
+
4376
+ # Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
4377
+ # defaults to 0. An API may allow the value 60 if it allows leap-seconds.
4378
+ # Corresponds to the JSON property `seconds`
4379
+ # @return [Fixnum]
4380
+ attr_accessor :seconds
4381
+
4382
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
4383
+ # time-zones).
4384
+ # Corresponds to the JSON property `timeZone`
4385
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeTimeZone]
4386
+ attr_accessor :time_zone
4387
+
4388
+ # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For
4389
+ # example, a UTC offset of -4:00 would be represented as ` seconds: -14400 `.
4390
+ # Corresponds to the JSON property `utcOffset`
4391
+ # @return [String]
4392
+ attr_accessor :utc_offset
4393
+
4394
+ # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime
4395
+ # without a year.
4396
+ # Corresponds to the JSON property `year`
4397
+ # @return [Fixnum]
4398
+ attr_accessor :year
4399
+
4400
+ def initialize(**args)
4401
+ update!(**args)
4402
+ end
4403
+
4404
+ # Update properties of this object
4405
+ def update!(**args)
4406
+ @day = args[:day] if args.key?(:day)
4407
+ @hours = args[:hours] if args.key?(:hours)
4408
+ @minutes = args[:minutes] if args.key?(:minutes)
4409
+ @month = args[:month] if args.key?(:month)
4410
+ @nanos = args[:nanos] if args.key?(:nanos)
4411
+ @seconds = args[:seconds] if args.key?(:seconds)
4412
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
4413
+ @utc_offset = args[:utc_offset] if args.key?(:utc_offset)
4414
+ @year = args[:year] if args.key?(:year)
4415
+ end
4416
+ end
4417
+
3467
4418
  # A representation of a decimal value, such as 2.5. Clients may convert values
3468
4419
  # into language-native decimal formats, such as Java's BigDecimal or Python's
3469
4420
  # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
@@ -3689,6 +4640,32 @@ module Google
3689
4640
  @sublocality = args[:sublocality] if args.key?(:sublocality)
3690
4641
  end
3691
4642
  end
4643
+
4644
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
4645
+ # time-zones).
4646
+ class GoogleTypeTimeZone
4647
+ include Google::Apis::Core::Hashable
4648
+
4649
+ # IANA Time Zone Database time zone, e.g. "America/New_York".
4650
+ # Corresponds to the JSON property `id`
4651
+ # @return [String]
4652
+ attr_accessor :id
4653
+
4654
+ # Optional. IANA Time Zone Database version number, e.g. "2019a".
4655
+ # Corresponds to the JSON property `version`
4656
+ # @return [String]
4657
+ attr_accessor :version
4658
+
4659
+ def initialize(**args)
4660
+ update!(**args)
4661
+ end
4662
+
4663
+ # Update properties of this object
4664
+ def update!(**args)
4665
+ @id = args[:id] if args.key?(:id)
4666
+ @version = args[:version] if args.key?(:version)
4667
+ end
4668
+ end
3692
4669
  end
3693
4670
  end
3694
4671
  end