google-apis-cloudchannel_v1 0.28.0 → 0.29.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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