google-apis-cloudchannel_v1 0.28.0 → 0.29.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
@@ -816,6 +850,83 @@ module Google
816
850
  end
817
851
  end
818
852
 
853
+ # A representation of usage or invoice date ranges.
854
+ class GoogleCloudChannelV1DateRange
855
+ include Google::Apis::Core::Hashable
856
+
857
+ # Represents a whole or partial calendar date, such as a birthday. The time of
858
+ # day and time zone are either specified elsewhere or are insignificant. The
859
+ # date is relative to the Gregorian Calendar. This can represent one of the
860
+ # following: * A full date, with non-zero year, month, and day values. * A month
861
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
862
+ # with a zero month and a zero day. * A year and month, with a zero day (for
863
+ # example, a credit card expiration date). Related types: * google.type.
864
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
865
+ # Corresponds to the JSON property `invoiceEndDate`
866
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
867
+ attr_accessor :invoice_end_date
868
+
869
+ # Represents a whole or partial calendar date, such as a birthday. The time of
870
+ # day and time zone are either specified elsewhere or are insignificant. The
871
+ # date is relative to the Gregorian Calendar. This can represent one of the
872
+ # following: * A full date, with non-zero year, month, and day values. * A month
873
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
874
+ # with a zero month and a zero day. * A year and month, with a zero day (for
875
+ # example, a credit card expiration date). Related types: * google.type.
876
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
877
+ # Corresponds to the JSON property `invoiceStartDate`
878
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
879
+ attr_accessor :invoice_start_date
880
+
881
+ # Represents civil time (or occasionally physical time). This type can represent
882
+ # a civil time in one of a few possible ways: * When utc_offset is set and
883
+ # time_zone is unset: a civil time on a calendar day with a particular offset
884
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
885
+ # calendar day in a particular time zone. * When neither time_zone nor
886
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
887
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
888
+ # the DateTime is considered not to have a specific year, month, or day
889
+ # respectively. This type may also be used to represent a physical time if all
890
+ # the date and time fields are set and either case of the `time_offset` oneof is
891
+ # set. Consider using `Timestamp` message for physical time instead. If your use
892
+ # case also would like to store the user's timezone, that can be done in another
893
+ # field. This type is more flexible than some applications may want. Make sure
894
+ # to document and validate your application's limitations.
895
+ # Corresponds to the JSON property `usageEndDateTime`
896
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
897
+ attr_accessor :usage_end_date_time
898
+
899
+ # Represents civil time (or occasionally physical time). This type can represent
900
+ # a civil time in one of a few possible ways: * When utc_offset is set and
901
+ # time_zone is unset: a civil time on a calendar day with a particular offset
902
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
903
+ # calendar day in a particular time zone. * When neither time_zone nor
904
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
905
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
906
+ # the DateTime is considered not to have a specific year, month, or day
907
+ # respectively. This type may also be used to represent a physical time if all
908
+ # the date and time fields are set and either case of the `time_offset` oneof is
909
+ # set. Consider using `Timestamp` message for physical time instead. If your use
910
+ # case also would like to store the user's timezone, that can be done in another
911
+ # field. This type is more flexible than some applications may want. Make sure
912
+ # to document and validate your application's limitations.
913
+ # Corresponds to the JSON property `usageStartDateTime`
914
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
915
+ attr_accessor :usage_start_date_time
916
+
917
+ def initialize(**args)
918
+ update!(**args)
919
+ end
920
+
921
+ # Update properties of this object
922
+ def update!(**args)
923
+ @invoice_end_date = args[:invoice_end_date] if args.key?(:invoice_end_date)
924
+ @invoice_start_date = args[:invoice_start_date] if args.key?(:invoice_start_date)
925
+ @usage_end_date_time = args[:usage_end_date_time] if args.key?(:usage_end_date_time)
926
+ @usage_start_date_time = args[:usage_start_date_time] if args.key?(:usage_start_date_time)
927
+ end
928
+ end
929
+
819
930
  # Required Edu Attributes
820
931
  class GoogleCloudChannelV1EduData
821
932
  include Google::Apis::Core::Hashable
@@ -968,6 +1079,71 @@ module Google
968
1079
  end
969
1080
  end
970
1081
 
1082
+ # Request message for CloudChannelReportsService.FetchReportResults.
1083
+ class GoogleCloudChannelV1FetchReportResultsRequest
1084
+ include Google::Apis::Core::Hashable
1085
+
1086
+ # Optional. Requested page size of the report. The server may return fewer
1087
+ # results than requested. If you don't specify a page size, the server uses a
1088
+ # sensible default (may change over time). The maximum value is 30,000; the
1089
+ # server will change larger values to 30,000.
1090
+ # Corresponds to the JSON property `pageSize`
1091
+ # @return [Fixnum]
1092
+ attr_accessor :page_size
1093
+
1094
+ # Optional. A token that specifies a page of results beyond the first page.
1095
+ # Obtained through FetchReportResultsResponse.next_page_token of the previous
1096
+ # CloudChannelReportsService.FetchReportResults call.
1097
+ # Corresponds to the JSON property `pageToken`
1098
+ # @return [String]
1099
+ attr_accessor :page_token
1100
+
1101
+ def initialize(**args)
1102
+ update!(**args)
1103
+ end
1104
+
1105
+ # Update properties of this object
1106
+ def update!(**args)
1107
+ @page_size = args[:page_size] if args.key?(:page_size)
1108
+ @page_token = args[:page_token] if args.key?(:page_token)
1109
+ end
1110
+ end
1111
+
1112
+ # Response message for CloudChannelReportsService.FetchReportResults. Contains a
1113
+ # tabular representation of the report results.
1114
+ class GoogleCloudChannelV1FetchReportResultsResponse
1115
+ include Google::Apis::Core::Hashable
1116
+
1117
+ # Pass this token to FetchReportResultsRequest.page_token to retrieve the next
1118
+ # page of results.
1119
+ # Corresponds to the JSON property `nextPageToken`
1120
+ # @return [String]
1121
+ attr_accessor :next_page_token
1122
+
1123
+ # The features describing the data. Returned by CloudChannelReportsService.
1124
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
1125
+ # Corresponds to the JSON property `reportMetadata`
1126
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportResultsMetadata]
1127
+ attr_accessor :report_metadata
1128
+
1129
+ # The report's lists of values. Each row follows the settings and ordering of
1130
+ # the columns from `report_metadata`.
1131
+ # Corresponds to the JSON property `rows`
1132
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1Row>]
1133
+ attr_accessor :rows
1134
+
1135
+ def initialize(**args)
1136
+ update!(**args)
1137
+ end
1138
+
1139
+ # Update properties of this object
1140
+ def update!(**args)
1141
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1142
+ @report_metadata = args[:report_metadata] if args.key?(:report_metadata)
1143
+ @rows = args[:rows] if args.key?(:rows)
1144
+ end
1145
+ end
1146
+
971
1147
  # Request message for CloudChannelService.ImportCustomer
972
1148
  class GoogleCloudChannelV1ImportCustomerRequest
973
1149
  include Google::Apis::Core::Hashable
@@ -1256,6 +1432,32 @@ module Google
1256
1432
  end
1257
1433
  end
1258
1434
 
1435
+ # Response message for CloudChannelReportsService.ListReports.
1436
+ class GoogleCloudChannelV1ListReportsResponse
1437
+ include Google::Apis::Core::Hashable
1438
+
1439
+ # Pass this token to FetchReportResultsRequest.page_token to retrieve the next
1440
+ # page of results.
1441
+ # Corresponds to the JSON property `nextPageToken`
1442
+ # @return [String]
1443
+ attr_accessor :next_page_token
1444
+
1445
+ # The reports available to the partner.
1446
+ # Corresponds to the JSON property `reports`
1447
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1Report>]
1448
+ attr_accessor :reports
1449
+
1450
+ def initialize(**args)
1451
+ update!(**args)
1452
+ end
1453
+
1454
+ # Update properties of this object
1455
+ def update!(**args)
1456
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1457
+ @reports = args[:reports] if args.key?(:reports)
1458
+ end
1459
+ end
1460
+
1259
1461
  # Response message for ListSkus.
1260
1462
  class GoogleCloudChannelV1ListSkusResponse
1261
1463
  include Google::Apis::Core::Hashable
@@ -1554,6 +1756,11 @@ module Google
1554
1756
  # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1Constraints]
1555
1757
  attr_accessor :constraints
1556
1758
 
1759
+ # The deal code of the offer to get a special promotion or discount.
1760
+ # Corresponds to the JSON property `dealCode`
1761
+ # @return [String]
1762
+ attr_accessor :deal_code
1763
+
1557
1764
  # Output only. End of the Offer validity time.
1558
1765
  # Corresponds to the JSON property `endTime`
1559
1766
  # @return [String]
@@ -1604,6 +1811,7 @@ module Google
1604
1811
  # Update properties of this object
1605
1812
  def update!(**args)
1606
1813
  @constraints = args[:constraints] if args.key?(:constraints)
1814
+ @deal_code = args[:deal_code] if args.key?(:deal_code)
1607
1815
  @end_time = args[:end_time] if args.key?(:end_time)
1608
1816
  @marketing_info = args[:marketing_info] if args.key?(:marketing_info)
1609
1817
  @name = args[:name] if args.key?(:name)
@@ -2177,6 +2385,217 @@ module Google
2177
2385
  end
2178
2386
  end
2179
2387
 
2388
+ # The ID and description of a report that was used to generate report data. For
2389
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
2390
+ class GoogleCloudChannelV1Report
2391
+ include Google::Apis::Core::Hashable
2392
+
2393
+ # The list of columns included in the report. This defines the schema of the
2394
+ # report results.
2395
+ # Corresponds to the JSON property `columns`
2396
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1Column>]
2397
+ attr_accessor :columns
2398
+
2399
+ # A description of other aspects of the report, such as the products it supports.
2400
+ # Corresponds to the JSON property `description`
2401
+ # @return [String]
2402
+ attr_accessor :description
2403
+
2404
+ # A human-readable name for this report.
2405
+ # Corresponds to the JSON property `displayName`
2406
+ # @return [String]
2407
+ attr_accessor :display_name
2408
+
2409
+ # Required. The report's resource name. Specifies the account and report used to
2410
+ # generate report data. The report_id identifier is a UID (for example, `
2411
+ # 613bf59q`). Name uses the format: accounts/`account_id`/reports/`report_id`
2412
+ # Corresponds to the JSON property `name`
2413
+ # @return [String]
2414
+ attr_accessor :name
2415
+
2416
+ def initialize(**args)
2417
+ update!(**args)
2418
+ end
2419
+
2420
+ # Update properties of this object
2421
+ def update!(**args)
2422
+ @columns = args[:columns] if args.key?(:columns)
2423
+ @description = args[:description] if args.key?(:description)
2424
+ @display_name = args[:display_name] if args.key?(:display_name)
2425
+ @name = args[:name] if args.key?(:name)
2426
+ end
2427
+ end
2428
+
2429
+ # The result of a RunReportJob operation. Contains the name to use in
2430
+ # FetchReportResultsRequest.report_job and the status of the operation.
2431
+ class GoogleCloudChannelV1ReportJob
2432
+ include Google::Apis::Core::Hashable
2433
+
2434
+ # Required. The resource name of a report job. Name uses the format: `accounts/`
2435
+ # account_id`/reportJobs/`report_job_id``
2436
+ # Corresponds to the JSON property `name`
2437
+ # @return [String]
2438
+ attr_accessor :name
2439
+
2440
+ # Status of a report generation process.
2441
+ # Corresponds to the JSON property `reportStatus`
2442
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportStatus]
2443
+ attr_accessor :report_status
2444
+
2445
+ def initialize(**args)
2446
+ update!(**args)
2447
+ end
2448
+
2449
+ # Update properties of this object
2450
+ def update!(**args)
2451
+ @name = args[:name] if args.key?(:name)
2452
+ @report_status = args[:report_status] if args.key?(:report_status)
2453
+ end
2454
+ end
2455
+
2456
+ # The features describing the data. Returned by CloudChannelReportsService.
2457
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
2458
+ class GoogleCloudChannelV1ReportResultsMetadata
2459
+ include Google::Apis::Core::Hashable
2460
+
2461
+ # A representation of usage or invoice date ranges.
2462
+ # Corresponds to the JSON property `dateRange`
2463
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1DateRange]
2464
+ attr_accessor :date_range
2465
+
2466
+ # A representation of usage or invoice date ranges.
2467
+ # Corresponds to the JSON property `precedingDateRange`
2468
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1DateRange]
2469
+ attr_accessor :preceding_date_range
2470
+
2471
+ # The ID and description of a report that was used to generate report data. For
2472
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
2473
+ # Corresponds to the JSON property `report`
2474
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1Report]
2475
+ attr_accessor :report
2476
+
2477
+ # The total number of rows of data in the final report.
2478
+ # Corresponds to the JSON property `rowCount`
2479
+ # @return [Fixnum]
2480
+ attr_accessor :row_count
2481
+
2482
+ def initialize(**args)
2483
+ update!(**args)
2484
+ end
2485
+
2486
+ # Update properties of this object
2487
+ def update!(**args)
2488
+ @date_range = args[:date_range] if args.key?(:date_range)
2489
+ @preceding_date_range = args[:preceding_date_range] if args.key?(:preceding_date_range)
2490
+ @report = args[:report] if args.key?(:report)
2491
+ @row_count = args[:row_count] if args.key?(:row_count)
2492
+ end
2493
+ end
2494
+
2495
+ # Status of a report generation process.
2496
+ class GoogleCloudChannelV1ReportStatus
2497
+ include Google::Apis::Core::Hashable
2498
+
2499
+ # The report generation's completion time.
2500
+ # Corresponds to the JSON property `endTime`
2501
+ # @return [String]
2502
+ attr_accessor :end_time
2503
+
2504
+ # The report generation's start time.
2505
+ # Corresponds to the JSON property `startTime`
2506
+ # @return [String]
2507
+ attr_accessor :start_time
2508
+
2509
+ # The current state of the report generation process.
2510
+ # Corresponds to the JSON property `state`
2511
+ # @return [String]
2512
+ attr_accessor :state
2513
+
2514
+ def initialize(**args)
2515
+ update!(**args)
2516
+ end
2517
+
2518
+ # Update properties of this object
2519
+ def update!(**args)
2520
+ @end_time = args[:end_time] if args.key?(:end_time)
2521
+ @start_time = args[:start_time] if args.key?(:start_time)
2522
+ @state = args[:state] if args.key?(:state)
2523
+ end
2524
+ end
2525
+
2526
+ # A single report value.
2527
+ class GoogleCloudChannelV1ReportValue
2528
+ include Google::Apis::Core::Hashable
2529
+
2530
+ # Represents civil time (or occasionally physical time). This type can represent
2531
+ # a civil time in one of a few possible ways: * When utc_offset is set and
2532
+ # time_zone is unset: a civil time on a calendar day with a particular offset
2533
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
2534
+ # calendar day in a particular time zone. * When neither time_zone nor
2535
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
2536
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
2537
+ # the DateTime is considered not to have a specific year, month, or day
2538
+ # respectively. This type may also be used to represent a physical time if all
2539
+ # the date and time fields are set and either case of the `time_offset` oneof is
2540
+ # set. Consider using `Timestamp` message for physical time instead. If your use
2541
+ # case also would like to store the user's timezone, that can be done in another
2542
+ # field. This type is more flexible than some applications may want. Make sure
2543
+ # to document and validate your application's limitations.
2544
+ # Corresponds to the JSON property `dateTimeValue`
2545
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
2546
+ attr_accessor :date_time_value
2547
+
2548
+ # Represents a whole or partial calendar date, such as a birthday. The time of
2549
+ # day and time zone are either specified elsewhere or are insignificant. The
2550
+ # date is relative to the Gregorian Calendar. This can represent one of the
2551
+ # following: * A full date, with non-zero year, month, and day values. * A month
2552
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
2553
+ # with a zero month and a zero day. * A year and month, with a zero day (for
2554
+ # example, a credit card expiration date). Related types: * google.type.
2555
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
2556
+ # Corresponds to the JSON property `dateValue`
2557
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
2558
+ attr_accessor :date_value
2559
+
2560
+ # A representation of a decimal value, such as 2.5. Clients may convert values
2561
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
2562
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
2563
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
2564
+ # org/3/library/decimal.html
2565
+ # Corresponds to the JSON property `decimalValue`
2566
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDecimal]
2567
+ attr_accessor :decimal_value
2568
+
2569
+ # A value of type `int`.
2570
+ # Corresponds to the JSON property `intValue`
2571
+ # @return [Fixnum]
2572
+ attr_accessor :int_value
2573
+
2574
+ # Represents an amount of money with its currency type.
2575
+ # Corresponds to the JSON property `moneyValue`
2576
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeMoney]
2577
+ attr_accessor :money_value
2578
+
2579
+ # A value of type `string`.
2580
+ # Corresponds to the JSON property `stringValue`
2581
+ # @return [String]
2582
+ attr_accessor :string_value
2583
+
2584
+ def initialize(**args)
2585
+ update!(**args)
2586
+ end
2587
+
2588
+ # Update properties of this object
2589
+ def update!(**args)
2590
+ @date_time_value = args[:date_time_value] if args.key?(:date_time_value)
2591
+ @date_value = args[:date_value] if args.key?(:date_value)
2592
+ @decimal_value = args[:decimal_value] if args.key?(:decimal_value)
2593
+ @int_value = args[:int_value] if args.key?(:int_value)
2594
+ @money_value = args[:money_value] if args.key?(:money_value)
2595
+ @string_value = args[:string_value] if args.key?(:string_value)
2596
+ end
2597
+ end
2598
+
2180
2599
  # A type that represents the various adjustments you can apply to a bill.
2181
2600
  class GoogleCloudChannelV1RepricingAdjustment
2182
2601
  include Google::Apis::Core::Hashable
@@ -2282,6 +2701,89 @@ module Google
2282
2701
  end
2283
2702
  end
2284
2703
 
2704
+ # A row of report values.
2705
+ class GoogleCloudChannelV1Row
2706
+ include Google::Apis::Core::Hashable
2707
+
2708
+ # The list of values in the row.
2709
+ # Corresponds to the JSON property `values`
2710
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportValue>]
2711
+ attr_accessor :values
2712
+
2713
+ def initialize(**args)
2714
+ update!(**args)
2715
+ end
2716
+
2717
+ # Update properties of this object
2718
+ def update!(**args)
2719
+ @values = args[:values] if args.key?(:values)
2720
+ end
2721
+ end
2722
+
2723
+ # Request message for CloudChannelReportsService.RunReportJob.
2724
+ class GoogleCloudChannelV1RunReportJobRequest
2725
+ include Google::Apis::Core::Hashable
2726
+
2727
+ # A representation of usage or invoice date ranges.
2728
+ # Corresponds to the JSON property `dateRange`
2729
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1DateRange]
2730
+ attr_accessor :date_range
2731
+
2732
+ # Optional. A structured string that defines conditions on dimension columns to
2733
+ # restrict the report output. Filters support logical operators (AND, OR, NOT)
2734
+ # and conditional operators (=, !=, <, >, <=, and >=) using `column_id` as keys.
2735
+ # For example: `(customer:"accounts/C123abc/customers/S456def" OR customer:"
2736
+ # accounts/C123abc/customers/S789ghi") AND invoice_start_date.year >= 2022`
2737
+ # Corresponds to the JSON property `filter`
2738
+ # @return [String]
2739
+ attr_accessor :filter
2740
+
2741
+ # Optional. The BCP-47 language code, such as "en-US". If specified, the
2742
+ # response is localized to the corresponding language code if the original data
2743
+ # sources support it. Default is "en-US".
2744
+ # Corresponds to the JSON property `languageCode`
2745
+ # @return [String]
2746
+ attr_accessor :language_code
2747
+
2748
+ def initialize(**args)
2749
+ update!(**args)
2750
+ end
2751
+
2752
+ # Update properties of this object
2753
+ def update!(**args)
2754
+ @date_range = args[:date_range] if args.key?(:date_range)
2755
+ @filter = args[:filter] if args.key?(:filter)
2756
+ @language_code = args[:language_code] if args.key?(:language_code)
2757
+ end
2758
+ end
2759
+
2760
+ # Response message for CloudChannelReportsService.RunReportJob.
2761
+ class GoogleCloudChannelV1RunReportJobResponse
2762
+ include Google::Apis::Core::Hashable
2763
+
2764
+ # The result of a RunReportJob operation. Contains the name to use in
2765
+ # FetchReportResultsRequest.report_job and the status of the operation.
2766
+ # Corresponds to the JSON property `reportJob`
2767
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportJob]
2768
+ attr_accessor :report_job
2769
+
2770
+ # The features describing the data. Returned by CloudChannelReportsService.
2771
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
2772
+ # Corresponds to the JSON property `reportMetadata`
2773
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1ReportResultsMetadata]
2774
+ attr_accessor :report_metadata
2775
+
2776
+ def initialize(**args)
2777
+ update!(**args)
2778
+ end
2779
+
2780
+ # Update properties of this object
2781
+ def update!(**args)
2782
+ @report_job = args[:report_job] if args.key?(:report_job)
2783
+ @report_metadata = args[:report_metadata] if args.key?(:report_metadata)
2784
+ end
2785
+ end
2786
+
2285
2787
  # Represents a product's purchasable Stock Keeping Unit (SKU). SKUs represent
2286
2788
  # the different variations of the product. For example, Google Workspace
2287
2789
  # Business Standard and Google Workspace Business Plus are Google Workspace
@@ -2762,6 +3264,40 @@ module Google
2762
3264
  end
2763
3265
  end
2764
3266
 
3267
+ # The definition of a report column. Specifies the data properties in the
3268
+ # corresponding position of the report rows.
3269
+ class GoogleCloudChannelV1alpha1Column
3270
+ include Google::Apis::Core::Hashable
3271
+
3272
+ # The unique name of the column (for example, customer_domain, channel_partner,
3273
+ # customer_cost). You can use column IDs in RunReportJobRequest.filter. To see
3274
+ # all reports and their columns, call CloudChannelReportsService.ListReports.
3275
+ # Corresponds to the JSON property `columnId`
3276
+ # @return [String]
3277
+ attr_accessor :column_id
3278
+
3279
+ # The type of the values for this column.
3280
+ # Corresponds to the JSON property `dataType`
3281
+ # @return [String]
3282
+ attr_accessor :data_type
3283
+
3284
+ # The column's display name.
3285
+ # Corresponds to the JSON property `displayName`
3286
+ # @return [String]
3287
+ attr_accessor :display_name
3288
+
3289
+ def initialize(**args)
3290
+ update!(**args)
3291
+ end
3292
+
3293
+ # Update properties of this object
3294
+ def update!(**args)
3295
+ @column_id = args[:column_id] if args.key?(:column_id)
3296
+ @data_type = args[:data_type] if args.key?(:data_type)
3297
+ @display_name = args[:display_name] if args.key?(:display_name)
3298
+ end
3299
+ end
3300
+
2765
3301
  # Commitment settings for commitment-based offers.
2766
3302
  class GoogleCloudChannelV1alpha1CommitmentSettings
2767
3303
  include Google::Apis::Core::Hashable
@@ -2819,6 +3355,83 @@ module Google
2819
3355
  end
2820
3356
  end
2821
3357
 
3358
+ # A representation of usage or invoice date ranges.
3359
+ class GoogleCloudChannelV1alpha1DateRange
3360
+ include Google::Apis::Core::Hashable
3361
+
3362
+ # Represents a whole or partial calendar date, such as a birthday. The time of
3363
+ # day and time zone are either specified elsewhere or are insignificant. The
3364
+ # date is relative to the Gregorian Calendar. This can represent one of the
3365
+ # following: * A full date, with non-zero year, month, and day values. * A month
3366
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
3367
+ # with a zero month and a zero day. * A year and month, with a zero day (for
3368
+ # example, a credit card expiration date). Related types: * google.type.
3369
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
3370
+ # Corresponds to the JSON property `invoiceEndDate`
3371
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
3372
+ attr_accessor :invoice_end_date
3373
+
3374
+ # Represents a whole or partial calendar date, such as a birthday. The time of
3375
+ # day and time zone are either specified elsewhere or are insignificant. The
3376
+ # date is relative to the Gregorian Calendar. This can represent one of the
3377
+ # following: * A full date, with non-zero year, month, and day values. * A month
3378
+ # and day, with a zero year (for example, an anniversary). * A year on its own,
3379
+ # with a zero month and a zero day. * A year and month, with a zero day (for
3380
+ # example, a credit card expiration date). Related types: * google.type.
3381
+ # TimeOfDay * google.type.DateTime * google.protobuf.Timestamp
3382
+ # Corresponds to the JSON property `invoiceStartDate`
3383
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDate]
3384
+ attr_accessor :invoice_start_date
3385
+
3386
+ # Represents civil time (or occasionally physical time). This type can represent
3387
+ # a civil time in one of a few possible ways: * When utc_offset is set and
3388
+ # time_zone is unset: a civil time on a calendar day with a particular offset
3389
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
3390
+ # calendar day in a particular time zone. * When neither time_zone nor
3391
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
3392
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
3393
+ # the DateTime is considered not to have a specific year, month, or day
3394
+ # respectively. This type may also be used to represent a physical time if all
3395
+ # the date and time fields are set and either case of the `time_offset` oneof is
3396
+ # set. Consider using `Timestamp` message for physical time instead. If your use
3397
+ # case also would like to store the user's timezone, that can be done in another
3398
+ # field. This type is more flexible than some applications may want. Make sure
3399
+ # to document and validate your application's limitations.
3400
+ # Corresponds to the JSON property `usageEndDateTime`
3401
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
3402
+ attr_accessor :usage_end_date_time
3403
+
3404
+ # Represents civil time (or occasionally physical time). This type can represent
3405
+ # a civil time in one of a few possible ways: * When utc_offset is set and
3406
+ # time_zone is unset: a civil time on a calendar day with a particular offset
3407
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
3408
+ # calendar day in a particular time zone. * When neither time_zone nor
3409
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
3410
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
3411
+ # the DateTime is considered not to have a specific year, month, or day
3412
+ # respectively. This type may also be used to represent a physical time if all
3413
+ # the date and time fields are set and either case of the `time_offset` oneof is
3414
+ # set. Consider using `Timestamp` message for physical time instead. If your use
3415
+ # case also would like to store the user's timezone, that can be done in another
3416
+ # field. This type is more flexible than some applications may want. Make sure
3417
+ # to document and validate your application's limitations.
3418
+ # Corresponds to the JSON property `usageStartDateTime`
3419
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeDateTime]
3420
+ attr_accessor :usage_start_date_time
3421
+
3422
+ def initialize(**args)
3423
+ update!(**args)
3424
+ end
3425
+
3426
+ # Update properties of this object
3427
+ def update!(**args)
3428
+ @invoice_end_date = args[:invoice_end_date] if args.key?(:invoice_end_date)
3429
+ @invoice_start_date = args[:invoice_start_date] if args.key?(:invoice_start_date)
3430
+ @usage_end_date_time = args[:usage_end_date_time] if args.key?(:usage_end_date_time)
3431
+ @usage_start_date_time = args[:usage_start_date_time] if args.key?(:usage_start_date_time)
3432
+ end
3433
+ end
3434
+
2822
3435
  # An entitlement is a representation of a customer's ability to use a service.
2823
3436
  class GoogleCloudChannelV1alpha1Entitlement
2824
3437
  include Google::Apis::Core::Hashable
@@ -3143,6 +3756,171 @@ module Google
3143
3756
  end
3144
3757
  end
3145
3758
 
3759
+ # The ID and description of a report that was used to generate report data. For
3760
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
3761
+ class GoogleCloudChannelV1alpha1Report
3762
+ include Google::Apis::Core::Hashable
3763
+
3764
+ # The list of columns included in the report. This defines the schema of the
3765
+ # report results.
3766
+ # Corresponds to the JSON property `columns`
3767
+ # @return [Array<Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1Column>]
3768
+ attr_accessor :columns
3769
+
3770
+ # A description of other aspects of the report, such as the products it supports.
3771
+ # Corresponds to the JSON property `description`
3772
+ # @return [String]
3773
+ attr_accessor :description
3774
+
3775
+ # A human-readable name for this report.
3776
+ # Corresponds to the JSON property `displayName`
3777
+ # @return [String]
3778
+ attr_accessor :display_name
3779
+
3780
+ # Required. The report's resource name. Specifies the account and report used to
3781
+ # generate report data. The report_id identifier is a UID (for example, `
3782
+ # 613bf59q`). Name uses the format: accounts/`account_id`/reports/`report_id`
3783
+ # Corresponds to the JSON property `name`
3784
+ # @return [String]
3785
+ attr_accessor :name
3786
+
3787
+ def initialize(**args)
3788
+ update!(**args)
3789
+ end
3790
+
3791
+ # Update properties of this object
3792
+ def update!(**args)
3793
+ @columns = args[:columns] if args.key?(:columns)
3794
+ @description = args[:description] if args.key?(:description)
3795
+ @display_name = args[:display_name] if args.key?(:display_name)
3796
+ @name = args[:name] if args.key?(:name)
3797
+ end
3798
+ end
3799
+
3800
+ # The result of a RunReportJob operation. Contains the name to use in
3801
+ # FetchReportResultsRequest.report_job and the status of the operation.
3802
+ class GoogleCloudChannelV1alpha1ReportJob
3803
+ include Google::Apis::Core::Hashable
3804
+
3805
+ # Required. The resource name of a report job. Name uses the format: `accounts/`
3806
+ # account_id`/reportJobs/`report_job_id``
3807
+ # Corresponds to the JSON property `name`
3808
+ # @return [String]
3809
+ attr_accessor :name
3810
+
3811
+ # Status of a report generation process.
3812
+ # Corresponds to the JSON property `reportStatus`
3813
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1ReportStatus]
3814
+ attr_accessor :report_status
3815
+
3816
+ def initialize(**args)
3817
+ update!(**args)
3818
+ end
3819
+
3820
+ # Update properties of this object
3821
+ def update!(**args)
3822
+ @name = args[:name] if args.key?(:name)
3823
+ @report_status = args[:report_status] if args.key?(:report_status)
3824
+ end
3825
+ end
3826
+
3827
+ # The features describing the data. Returned by CloudChannelReportsService.
3828
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
3829
+ class GoogleCloudChannelV1alpha1ReportResultsMetadata
3830
+ include Google::Apis::Core::Hashable
3831
+
3832
+ # A representation of usage or invoice date ranges.
3833
+ # Corresponds to the JSON property `dateRange`
3834
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1DateRange]
3835
+ attr_accessor :date_range
3836
+
3837
+ # A representation of usage or invoice date ranges.
3838
+ # Corresponds to the JSON property `precedingDateRange`
3839
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1DateRange]
3840
+ attr_accessor :preceding_date_range
3841
+
3842
+ # The ID and description of a report that was used to generate report data. For
3843
+ # example, "GCP Daily Spend", "Google Workspace License Activity", etc.
3844
+ # Corresponds to the JSON property `report`
3845
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1Report]
3846
+ attr_accessor :report
3847
+
3848
+ # The total number of rows of data in the final report.
3849
+ # Corresponds to the JSON property `rowCount`
3850
+ # @return [Fixnum]
3851
+ attr_accessor :row_count
3852
+
3853
+ def initialize(**args)
3854
+ update!(**args)
3855
+ end
3856
+
3857
+ # Update properties of this object
3858
+ def update!(**args)
3859
+ @date_range = args[:date_range] if args.key?(:date_range)
3860
+ @preceding_date_range = args[:preceding_date_range] if args.key?(:preceding_date_range)
3861
+ @report = args[:report] if args.key?(:report)
3862
+ @row_count = args[:row_count] if args.key?(:row_count)
3863
+ end
3864
+ end
3865
+
3866
+ # Status of a report generation process.
3867
+ class GoogleCloudChannelV1alpha1ReportStatus
3868
+ include Google::Apis::Core::Hashable
3869
+
3870
+ # The report generation's completion time.
3871
+ # Corresponds to the JSON property `endTime`
3872
+ # @return [String]
3873
+ attr_accessor :end_time
3874
+
3875
+ # The report generation's start time.
3876
+ # Corresponds to the JSON property `startTime`
3877
+ # @return [String]
3878
+ attr_accessor :start_time
3879
+
3880
+ # The current state of the report generation process.
3881
+ # Corresponds to the JSON property `state`
3882
+ # @return [String]
3883
+ attr_accessor :state
3884
+
3885
+ def initialize(**args)
3886
+ update!(**args)
3887
+ end
3888
+
3889
+ # Update properties of this object
3890
+ def update!(**args)
3891
+ @end_time = args[:end_time] if args.key?(:end_time)
3892
+ @start_time = args[:start_time] if args.key?(:start_time)
3893
+ @state = args[:state] if args.key?(:state)
3894
+ end
3895
+ end
3896
+
3897
+ # Response message for CloudChannelReportsService.RunReportJob.
3898
+ class GoogleCloudChannelV1alpha1RunReportJobResponse
3899
+ include Google::Apis::Core::Hashable
3900
+
3901
+ # The result of a RunReportJob operation. Contains the name to use in
3902
+ # FetchReportResultsRequest.report_job and the status of the operation.
3903
+ # Corresponds to the JSON property `reportJob`
3904
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1ReportJob]
3905
+ attr_accessor :report_job
3906
+
3907
+ # The features describing the data. Returned by CloudChannelReportsService.
3908
+ # RunReportJob and CloudChannelReportsService.FetchReportResults.
3909
+ # Corresponds to the JSON property `reportMetadata`
3910
+ # @return [Google::Apis::CloudchannelV1::GoogleCloudChannelV1alpha1ReportResultsMetadata]
3911
+ attr_accessor :report_metadata
3912
+
3913
+ def initialize(**args)
3914
+ update!(**args)
3915
+ end
3916
+
3917
+ # Update properties of this object
3918
+ def update!(**args)
3919
+ @report_job = args[:report_job] if args.key?(:report_job)
3920
+ @report_metadata = args[:report_metadata] if args.key?(:report_metadata)
3921
+ end
3922
+ end
3923
+
3146
3924
  # Represents information which resellers will get as part of notification from
3147
3925
  # Pub/Sub.
3148
3926
  class GoogleCloudChannelV1alpha1SubscriberEvent
@@ -3464,6 +4242,95 @@ module Google
3464
4242
  end
3465
4243
  end
3466
4244
 
4245
+ # Represents civil time (or occasionally physical time). This type can represent
4246
+ # a civil time in one of a few possible ways: * When utc_offset is set and
4247
+ # time_zone is unset: a civil time on a calendar day with a particular offset
4248
+ # from UTC. * When time_zone is set and utc_offset is unset: a civil time on a
4249
+ # calendar day in a particular time zone. * When neither time_zone nor
4250
+ # utc_offset is set: a civil time on a calendar day in local time. The date is
4251
+ # relative to the Proleptic Gregorian Calendar. If year, month, or day are 0,
4252
+ # the DateTime is considered not to have a specific year, month, or day
4253
+ # respectively. This type may also be used to represent a physical time if all
4254
+ # the date and time fields are set and either case of the `time_offset` oneof is
4255
+ # set. Consider using `Timestamp` message for physical time instead. If your use
4256
+ # case also would like to store the user's timezone, that can be done in another
4257
+ # field. This type is more flexible than some applications may want. Make sure
4258
+ # to document and validate your application's limitations.
4259
+ class GoogleTypeDateTime
4260
+ include Google::Apis::Core::Hashable
4261
+
4262
+ # Optional. Day of month. Must be from 1 to 31 and valid for the year and month,
4263
+ # or 0 if specifying a datetime without a day.
4264
+ # Corresponds to the JSON property `day`
4265
+ # @return [Fixnum]
4266
+ attr_accessor :day
4267
+
4268
+ # Optional. Hours of day in 24 hour format. Should be from 0 to 23, defaults to
4269
+ # 0 (midnight). An API may choose to allow the value "24:00:00" for scenarios
4270
+ # like business closing time.
4271
+ # Corresponds to the JSON property `hours`
4272
+ # @return [Fixnum]
4273
+ attr_accessor :hours
4274
+
4275
+ # Optional. Minutes of hour of day. Must be from 0 to 59, defaults to 0.
4276
+ # Corresponds to the JSON property `minutes`
4277
+ # @return [Fixnum]
4278
+ attr_accessor :minutes
4279
+
4280
+ # Optional. Month of year. Must be from 1 to 12, or 0 if specifying a datetime
4281
+ # without a month.
4282
+ # Corresponds to the JSON property `month`
4283
+ # @return [Fixnum]
4284
+ attr_accessor :month
4285
+
4286
+ # Optional. Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999,
4287
+ # defaults to 0.
4288
+ # Corresponds to the JSON property `nanos`
4289
+ # @return [Fixnum]
4290
+ attr_accessor :nanos
4291
+
4292
+ # Optional. Seconds of minutes of the time. Must normally be from 0 to 59,
4293
+ # defaults to 0. An API may allow the value 60 if it allows leap-seconds.
4294
+ # Corresponds to the JSON property `seconds`
4295
+ # @return [Fixnum]
4296
+ attr_accessor :seconds
4297
+
4298
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
4299
+ # time-zones).
4300
+ # Corresponds to the JSON property `timeZone`
4301
+ # @return [Google::Apis::CloudchannelV1::GoogleTypeTimeZone]
4302
+ attr_accessor :time_zone
4303
+
4304
+ # UTC offset. Must be whole seconds, between -18 hours and +18 hours. For
4305
+ # example, a UTC offset of -4:00 would be represented as ` seconds: -14400 `.
4306
+ # Corresponds to the JSON property `utcOffset`
4307
+ # @return [String]
4308
+ attr_accessor :utc_offset
4309
+
4310
+ # Optional. Year of date. Must be from 1 to 9999, or 0 if specifying a datetime
4311
+ # without a year.
4312
+ # Corresponds to the JSON property `year`
4313
+ # @return [Fixnum]
4314
+ attr_accessor :year
4315
+
4316
+ def initialize(**args)
4317
+ update!(**args)
4318
+ end
4319
+
4320
+ # Update properties of this object
4321
+ def update!(**args)
4322
+ @day = args[:day] if args.key?(:day)
4323
+ @hours = args[:hours] if args.key?(:hours)
4324
+ @minutes = args[:minutes] if args.key?(:minutes)
4325
+ @month = args[:month] if args.key?(:month)
4326
+ @nanos = args[:nanos] if args.key?(:nanos)
4327
+ @seconds = args[:seconds] if args.key?(:seconds)
4328
+ @time_zone = args[:time_zone] if args.key?(:time_zone)
4329
+ @utc_offset = args[:utc_offset] if args.key?(:utc_offset)
4330
+ @year = args[:year] if args.key?(:year)
4331
+ end
4332
+ end
4333
+
3467
4334
  # A representation of a decimal value, such as 2.5. Clients may convert values
3468
4335
  # into language-native decimal formats, such as Java's BigDecimal or Python's
3469
4336
  # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
@@ -3689,6 +4556,32 @@ module Google
3689
4556
  @sublocality = args[:sublocality] if args.key?(:sublocality)
3690
4557
  end
3691
4558
  end
4559
+
4560
+ # Represents a time zone from the [IANA Time Zone Database](https://www.iana.org/
4561
+ # time-zones).
4562
+ class GoogleTypeTimeZone
4563
+ include Google::Apis::Core::Hashable
4564
+
4565
+ # IANA Time Zone Database time zone, e.g. "America/New_York".
4566
+ # Corresponds to the JSON property `id`
4567
+ # @return [String]
4568
+ attr_accessor :id
4569
+
4570
+ # Optional. IANA Time Zone Database version number, e.g. "2019a".
4571
+ # Corresponds to the JSON property `version`
4572
+ # @return [String]
4573
+ attr_accessor :version
4574
+
4575
+ def initialize(**args)
4576
+ update!(**args)
4577
+ end
4578
+
4579
+ # Update properties of this object
4580
+ def update!(**args)
4581
+ @id = args[:id] if args.key?(:id)
4582
+ @version = args[:version] if args.key?(:version)
4583
+ end
4584
+ end
3692
4585
  end
3693
4586
  end
3694
4587
  end