google-cloud-channel-v1 0.10.0 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Channel
23
+ module V1
24
+ # Configuration for how a reseller will reprice a Customer.
25
+ # @!attribute [r] name
26
+ # @return [::String]
27
+ # Output only. Resource name of the CustomerRepricingConfig.
28
+ # Format:
29
+ # accounts/\\{account_id}/customers/\\{customer_id}/customerRepricingConfigs/\\{id}.
30
+ # @!attribute [rw] repricing_config
31
+ # @return [::Google::Cloud::Channel::V1::RepricingConfig]
32
+ # Required. The configuration for bill modifications made by a reseller before
33
+ # sending it to customers.
34
+ # @!attribute [r] update_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # Output only. Timestamp of an update to the repricing rule. If `update_time` is after
37
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} then it indicates this was set
38
+ # mid-month.
39
+ class CustomerRepricingConfig
40
+ include ::Google::Protobuf::MessageExts
41
+ extend ::Google::Protobuf::MessageExts::ClassMethods
42
+ end
43
+
44
+ # Configuration for how a distributor will rebill a channel partner
45
+ # (also known as a distributor-authorized reseller).
46
+ # @!attribute [r] name
47
+ # @return [::String]
48
+ # Output only. Resource name of the ChannelPartnerRepricingConfig.
49
+ # Format:
50
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}/channelPartnerRepricingConfigs/\\{id}.
51
+ # @!attribute [rw] repricing_config
52
+ # @return [::Google::Cloud::Channel::V1::RepricingConfig]
53
+ # Required. The configuration for bill modifications made by a reseller before
54
+ # sending it to ChannelPartner.
55
+ # @!attribute [r] update_time
56
+ # @return [::Google::Protobuf::Timestamp]
57
+ # Output only. Timestamp of an update to the repricing rule. If `update_time` is after
58
+ # {::Google::Cloud::Channel::V1::RepricingConfig#effective_invoice_month RepricingConfig.effective_invoice_month} then it indicates this was set
59
+ # mid-month.
60
+ class ChannelPartnerRepricingConfig
61
+ include ::Google::Protobuf::MessageExts
62
+ extend ::Google::Protobuf::MessageExts::ClassMethods
63
+ end
64
+
65
+ # Configuration for repricing a Google bill over a period of time.
66
+ # @!attribute [rw] entitlement_granularity
67
+ # @return [::Google::Cloud::Channel::V1::RepricingConfig::EntitlementGranularity]
68
+ # Applies the repricing configuration at the entitlement level. This is
69
+ # the only supported value for CustomerRepricingConfig.
70
+ # @!attribute [rw] channel_partner_granularity
71
+ # @return [::Google::Cloud::Channel::V1::RepricingConfig::ChannelPartnerGranularity]
72
+ # Applies the repricing configuration at the channel partner level.
73
+ # This is the only supported value for ChannelPartnerRepricingConfig.
74
+ # @!attribute [rw] effective_invoice_month
75
+ # @return [::Google::Type::Date]
76
+ # Required. The YearMonth when these adjustments activate. The Day field needs to be
77
+ # "0" since we only accept YearMonth repricing boundaries.
78
+ # @!attribute [rw] adjustment
79
+ # @return [::Google::Cloud::Channel::V1::RepricingAdjustment]
80
+ # Required. Information about the adjustment.
81
+ # @!attribute [rw] rebilling_basis
82
+ # @return [::Google::Cloud::Channel::V1::RebillingBasis]
83
+ # Required. The {::Google::Cloud::Channel::V1::RebillingBasis RebillingBasis} to use for this bill. Specifies the relative cost
84
+ # based on repricing costs you will apply.
85
+ class RepricingConfig
86
+ include ::Google::Protobuf::MessageExts
87
+ extend ::Google::Protobuf::MessageExts::ClassMethods
88
+
89
+ # Applies the repricing configuration at the entitlement level.
90
+ # @!attribute [rw] entitlement
91
+ # @return [::String]
92
+ # Resource name of the entitlement.
93
+ # Format:
94
+ # accounts/\\{account_id}/customers/\\{customer_id}/entitlements/\\{entitlement_id}
95
+ class EntitlementGranularity
96
+ include ::Google::Protobuf::MessageExts
97
+ extend ::Google::Protobuf::MessageExts::ClassMethods
98
+ end
99
+
100
+ # Applies the repricing configuration at the channel partner level.
101
+ # The channel partner value is derived from the resource name. Takes an
102
+ # empty json object.
103
+ class ChannelPartnerGranularity
104
+ include ::Google::Protobuf::MessageExts
105
+ extend ::Google::Protobuf::MessageExts::ClassMethods
106
+ end
107
+ end
108
+
109
+ # A type that represents the various adjustments you can apply to a bill.
110
+ # @!attribute [rw] percentage_adjustment
111
+ # @return [::Google::Cloud::Channel::V1::PercentageAdjustment]
112
+ # Flat markup or markdown on an entire bill.
113
+ class RepricingAdjustment
114
+ include ::Google::Protobuf::MessageExts
115
+ extend ::Google::Protobuf::MessageExts::ClassMethods
116
+ end
117
+
118
+ # An adjustment that applies a flat markup or markdown to an entire bill.
119
+ # @!attribute [rw] percentage
120
+ # @return [::Google::Type::Decimal]
121
+ # The percentage of the bill to adjust.
122
+ # For example:
123
+ # Mark down by 1% => "-1.00"
124
+ # Mark up by 1% => "1.00"
125
+ # Pass-Through => "0.00"
126
+ class PercentageAdjustment
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # Specifies the different costs that the modified bill can be based on.
132
+ module RebillingBasis
133
+ # Not used.
134
+ REBILLING_BASIS_UNSPECIFIED = 0
135
+
136
+ # Use the list cost, also known as the MSRP.
137
+ COST_AT_LIST = 1
138
+
139
+ # Pass through all discounts except the Reseller Program Discount. If this is
140
+ # the default cost base and no adjustments are specified, the output cost
141
+ # will be exactly what the customer would see if they viewed the bill in the
142
+ # Google Cloud Console.
143
+ DIRECT_CUSTOMER_COST = 2
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -460,6 +460,192 @@ module Google
460
460
  extend ::Google::Protobuf::MessageExts::ClassMethods
461
461
  end
462
462
 
463
+ # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#get_customer_repricing_config CloudChannelService.GetCustomerRepricingConfig}.
464
+ # @!attribute [rw] name
465
+ # @return [::String]
466
+ # Required. The resource name of the CustomerRepricingConfig.
467
+ # Format:
468
+ # accounts/\\{account_id}/customers/\\{customer_id}/customerRepricingConfigs/\\{id}.
469
+ class GetCustomerRepricingConfigRequest
470
+ include ::Google::Protobuf::MessageExts
471
+ extend ::Google::Protobuf::MessageExts::ClassMethods
472
+ end
473
+
474
+ # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_customer_repricing_configs CloudChannelService.ListCustomerRepricingConfigs}.
475
+ # @!attribute [rw] parent
476
+ # @return [::String]
477
+ # Required. The resource name of the customer.
478
+ # Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}.
479
+ # Supports accounts/\\{account_id}/customers/- to retrieve configs for all
480
+ # customers.
481
+ # @!attribute [rw] page_size
482
+ # @return [::Integer]
483
+ # Optional. The maximum number of repricing configs to return. The service may return
484
+ # fewer than this value. If unspecified, returns a maximum of 50 rules. The
485
+ # maximum value is 100; values above 100 will be coerced to 100.
486
+ # @!attribute [rw] page_token
487
+ # @return [::String]
488
+ # Optional. A token identifying a page of results beyond the first page.
489
+ # Obtained through
490
+ # {::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsResponse#next_page_token ListCustomerRepricingConfigsResponse.next_page_token} of the previous
491
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_customer_repricing_configs CloudChannelService.ListCustomerRepricingConfigs} call.
492
+ # @!attribute [rw] filter
493
+ # @return [::String]
494
+ # Optional. A filter for [CloudChannelService.ListCustomerRepricingConfigs]
495
+ # results (customer only). You can use this filter when you support
496
+ # a BatchGet-like query.
497
+ # To use the filter, you must set `parent=accounts/{account_id}/customers/-`.
498
+ #
499
+ # Example: customer = accounts/account_id/customers/c1 OR
500
+ # customer = accounts/account_id/customers/c2.
501
+ class ListCustomerRepricingConfigsRequest
502
+ include ::Google::Protobuf::MessageExts
503
+ extend ::Google::Protobuf::MessageExts::ClassMethods
504
+ end
505
+
506
+ # Response message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_customer_repricing_configs CloudChannelService.ListCustomerRepricingConfigs}.
507
+ # @!attribute [rw] customer_repricing_configs
508
+ # @return [::Array<::Google::Cloud::Channel::V1::CustomerRepricingConfig>]
509
+ # The repricing configs for this channel partner.
510
+ # @!attribute [rw] next_page_token
511
+ # @return [::String]
512
+ # A token to retrieve the next page of results.
513
+ # Pass to {::Google::Cloud::Channel::V1::ListCustomerRepricingConfigsRequest#page_token ListCustomerRepricingConfigsRequest.page_token} to obtain that
514
+ # page.
515
+ class ListCustomerRepricingConfigsResponse
516
+ include ::Google::Protobuf::MessageExts
517
+ extend ::Google::Protobuf::MessageExts::ClassMethods
518
+ end
519
+
520
+ # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#create_customer_repricing_config CloudChannelService.CreateCustomerRepricingConfig}.
521
+ # @!attribute [rw] parent
522
+ # @return [::String]
523
+ # Required. The resource name of the customer that will receive this repricing config.
524
+ # Parent uses the format: accounts/\\{account_id}/customers/\\{customer_id}
525
+ # @!attribute [rw] customer_repricing_config
526
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
527
+ # Required. The CustomerRepricingConfig object to update.
528
+ class CreateCustomerRepricingConfigRequest
529
+ include ::Google::Protobuf::MessageExts
530
+ extend ::Google::Protobuf::MessageExts::ClassMethods
531
+ end
532
+
533
+ # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#update_customer_repricing_config CloudChannelService.UpdateCustomerRepricingConfig}.
534
+ # @!attribute [rw] customer_repricing_config
535
+ # @return [::Google::Cloud::Channel::V1::CustomerRepricingConfig]
536
+ # Required. The CustomerRepricingConfig object to update.
537
+ class UpdateCustomerRepricingConfigRequest
538
+ include ::Google::Protobuf::MessageExts
539
+ extend ::Google::Protobuf::MessageExts::ClassMethods
540
+ end
541
+
542
+ # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#delete_customer_repricing_config CloudChannelService.DeleteCustomerRepricingConfig}.
543
+ # @!attribute [rw] name
544
+ # @return [::String]
545
+ # Required. The resource name of the customer repricing config rule to delete.
546
+ # Format:
547
+ # accounts/\\{account_id}/customers/\\{customer_id}/customerRepricingConfigs/\\{id}.
548
+ class DeleteCustomerRepricingConfigRequest
549
+ include ::Google::Protobuf::MessageExts
550
+ extend ::Google::Protobuf::MessageExts::ClassMethods
551
+ end
552
+
553
+ # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#get_channel_partner_repricing_config CloudChannelService.GetChannelPartnerRepricingConfig}
554
+ # @!attribute [rw] name
555
+ # @return [::String]
556
+ # Required. The resource name of the ChannelPartnerRepricingConfig
557
+ # Format:
558
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}/channelPartnerRepricingConfigs/\\{id}.
559
+ class GetChannelPartnerRepricingConfigRequest
560
+ include ::Google::Protobuf::MessageExts
561
+ extend ::Google::Protobuf::MessageExts::ClassMethods
562
+ end
563
+
564
+ # Request message for
565
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_channel_partner_repricing_configs CloudChannelService.ListChannelPartnerRepricingConfigs}.
566
+ # @!attribute [rw] parent
567
+ # @return [::String]
568
+ # Required. The resource name of the account's {::Google::Cloud::Channel::V1::ChannelPartnerLink ChannelPartnerLink}.
569
+ # Parent uses the format:
570
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}.
571
+ # Supports accounts/\\{account_id}/channelPartnerLinks/- to retrieve configs
572
+ # for all channel partners.
573
+ # @!attribute [rw] page_size
574
+ # @return [::Integer]
575
+ # Optional. The maximum number of repricing configs to return. The service may return
576
+ # fewer than this value. If unspecified, returns a maximum of 50 rules. The
577
+ # maximum value is 100; values above 100 will be coerced to 100.
578
+ # @!attribute [rw] page_token
579
+ # @return [::String]
580
+ # Optional. A token identifying a page of results beyond the first page.
581
+ # Obtained through
582
+ # {::Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsResponse#next_page_token ListChannelPartnerRepricingConfigsResponse.next_page_token} of the
583
+ # previous {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_channel_partner_repricing_configs CloudChannelService.ListChannelPartnerRepricingConfigs} call.
584
+ # @!attribute [rw] filter
585
+ # @return [::String]
586
+ # Optional. A filter for [CloudChannelService.ListChannelPartnerRepricingConfigs]
587
+ # results (channel_partner_link only). You can use this filter when you
588
+ # support a BatchGet-like query.
589
+ # To use the filter, you must set
590
+ # `parent=accounts/{account_id}/channelPartnerLinks/-`.
591
+ #
592
+ # Example: `channel_partner_link =
593
+ # accounts/account_id/channelPartnerLinks/c1` OR `channel_partner_link =
594
+ # accounts/account_id/channelPartnerLinks/c2`.
595
+ class ListChannelPartnerRepricingConfigsRequest
596
+ include ::Google::Protobuf::MessageExts
597
+ extend ::Google::Protobuf::MessageExts::ClassMethods
598
+ end
599
+
600
+ # Response message for
601
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#list_channel_partner_repricing_configs CloudChannelService.ListChannelPartnerRepricingConfigs}.
602
+ # @!attribute [rw] channel_partner_repricing_configs
603
+ # @return [::Array<::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig>]
604
+ # The repricing configs for this channel partner.
605
+ # @!attribute [rw] next_page_token
606
+ # @return [::String]
607
+ # A token to retrieve the next page of results.
608
+ # Pass to {::Google::Cloud::Channel::V1::ListChannelPartnerRepricingConfigsRequest#page_token ListChannelPartnerRepricingConfigsRequest.page_token} to obtain
609
+ # that page.
610
+ class ListChannelPartnerRepricingConfigsResponse
611
+ include ::Google::Protobuf::MessageExts
612
+ extend ::Google::Protobuf::MessageExts::ClassMethods
613
+ end
614
+
615
+ # Request message for
616
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#create_channel_partner_repricing_config CloudChannelService.CreateChannelPartnerRepricingConfig}.
617
+ # @!attribute [rw] parent
618
+ # @return [::String]
619
+ # Required. The resource name of the ChannelPartner that will receive the repricing
620
+ # config. Parent uses the format:
621
+ # accounts/\\{account_id}/channelPartnerLinks/\\{channel_partner_id}
622
+ # @!attribute [rw] channel_partner_repricing_config
623
+ # @return [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
624
+ # Required. The ChannelPartnerRepricingConfig object to update.
625
+ class CreateChannelPartnerRepricingConfigRequest
626
+ include ::Google::Protobuf::MessageExts
627
+ extend ::Google::Protobuf::MessageExts::ClassMethods
628
+ end
629
+
630
+ # Request message for
631
+ # {::Google::Cloud::Channel::V1::CloudChannelService::Client#update_channel_partner_repricing_config CloudChannelService.UpdateChannelPartnerRepricingConfig}.
632
+ # @!attribute [rw] channel_partner_repricing_config
633
+ # @return [::Google::Cloud::Channel::V1::ChannelPartnerRepricingConfig]
634
+ # Required. The ChannelPartnerRepricingConfig object to update.
635
+ class UpdateChannelPartnerRepricingConfigRequest
636
+ include ::Google::Protobuf::MessageExts
637
+ extend ::Google::Protobuf::MessageExts::ClassMethods
638
+ end
639
+
640
+ # Request message for DeleteChannelPartnerRepricingConfig.
641
+ # @!attribute [rw] name
642
+ # @return [::String]
643
+ # Required. The resource name of the channel partner repricing config rule to delete.
644
+ class DeleteChannelPartnerRepricingConfigRequest
645
+ include ::Google::Protobuf::MessageExts
646
+ extend ::Google::Protobuf::MessageExts::ClassMethods
647
+ end
648
+
463
649
  # Request message for {::Google::Cloud::Channel::V1::CloudChannelService::Client#create_entitlement CloudChannelService.CreateEntitlement}
464
650
  # @!attribute [rw] parent
465
651
  # @return [::String]
@@ -44,7 +44,7 @@ module Google
44
44
  # foo = any.unpack(Foo.class);
45
45
  # }
46
46
  #
47
- # Example 3: Pack and unpack a message in Python.
47
+ # Example 3: Pack and unpack a message in Python.
48
48
  #
49
49
  # foo = Foo(...)
50
50
  # any = Any()
@@ -54,7 +54,7 @@ module Google
54
54
  # any.Unpack(foo)
55
55
  # ...
56
56
  #
57
- # Example 4: Pack and unpack a message in Go
57
+ # Example 4: Pack and unpack a message in Go
58
58
  #
59
59
  # foo := &pb.Foo{...}
60
60
  # any, err := anypb.New(foo)
@@ -75,7 +75,7 @@ module Google
75
75
  #
76
76
  #
77
77
  # JSON
78
- # ====
78
+ #
79
79
  # The JSON representation of an `Any` value uses the regular
80
80
  # representation of the deserialized, embedded message, with an
81
81
  # additional field `@type` which contains the type URL. Example:
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Type
22
+ # Represents a whole or partial calendar date, such as a birthday. The time of
23
+ # day and time zone are either specified elsewhere or are insignificant. The
24
+ # date is relative to the Gregorian Calendar. This can represent one of the
25
+ # following:
26
+ #
27
+ # * A full date, with non-zero year, month, and day values
28
+ # * A month and day value, with a zero year, such as an anniversary
29
+ # * A year on its own, with zero month and day values
30
+ # * A year and month value, with a zero day, such as a credit card expiration
31
+ # date
32
+ #
33
+ # Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and
34
+ # `google.protobuf.Timestamp`.
35
+ # @!attribute [rw] year
36
+ # @return [::Integer]
37
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without
38
+ # a year.
39
+ # @!attribute [rw] month
40
+ # @return [::Integer]
41
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a
42
+ # month and day.
43
+ # @!attribute [rw] day
44
+ # @return [::Integer]
45
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0
46
+ # to specify a year by itself or a year and month where the day isn't
47
+ # significant.
48
+ class Date
49
+ include ::Google::Protobuf::MessageExts
50
+ extend ::Google::Protobuf::MessageExts::ClassMethods
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,96 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2022 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Type
22
+ # A representation of a decimal value, such as 2.5. Clients may convert values
23
+ # into language-native decimal formats, such as Java's [BigDecimal][] or
24
+ # Python's [decimal.Decimal][].
25
+ #
26
+ # [BigDecimal]:
27
+ # https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigDecimal.html
28
+ # [decimal.Decimal]: https://docs.python.org/3/library/decimal.html
29
+ # @!attribute [rw] value
30
+ # @return [::String]
31
+ # The decimal value, as a string.
32
+ #
33
+ # The string representation consists of an optional sign, `+` (`U+002B`)
34
+ # or `-` (`U+002D`), followed by a sequence of zero or more decimal digits
35
+ # ("the integer"), optionally followed by a fraction, optionally followed
36
+ # by an exponent.
37
+ #
38
+ # The fraction consists of a decimal point followed by zero or more decimal
39
+ # digits. The string must contain at least one digit in either the integer
40
+ # or the fraction. The number formed by the sign, the integer and the
41
+ # fraction is referred to as the significand.
42
+ #
43
+ # The exponent consists of the character `e` (`U+0065`) or `E` (`U+0045`)
44
+ # followed by one or more decimal digits.
45
+ #
46
+ # Services **should** normalize decimal values before storing them by:
47
+ #
48
+ # - Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`).
49
+ # - Replacing a zero-length integer value with `0` (`.5` -> `0.5`).
50
+ # - Coercing the exponent character to lower-case (`2.5E8` -> `2.5e8`).
51
+ # - Removing an explicitly-provided zero exponent (`2.5e0` -> `2.5`).
52
+ #
53
+ # Services **may** perform additional normalization based on its own needs
54
+ # and the internal decimal implementation selected, such as shifting the
55
+ # decimal point and exponent value together (example: `2.5e-1` <-> `0.25`).
56
+ # Additionally, services **may** preserve trailing zeroes in the fraction
57
+ # to indicate increased precision, but are not required to do so.
58
+ #
59
+ # Note that only the `.` character is supported to divide the integer
60
+ # and the fraction; `,` **should not** be supported regardless of locale.
61
+ # Additionally, thousand separators **should not** be supported. If a
62
+ # service does support them, values **must** be normalized.
63
+ #
64
+ # The ENBF grammar is:
65
+ #
66
+ # DecimalString =
67
+ # [Sign] Significand [Exponent];
68
+ #
69
+ # Sign = '+' | '-';
70
+ #
71
+ # Significand =
72
+ # Digits ['.'] [Digits] | [Digits] '.' Digits;
73
+ #
74
+ # Exponent = ('e' | 'E') [Sign] Digits;
75
+ #
76
+ # Digits = { '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' };
77
+ #
78
+ # Services **should** clearly document the range of supported values, the
79
+ # maximum supported precision (total number of digits), and, if applicable,
80
+ # the scale (number of digits after the decimal point), as well as how it
81
+ # behaves when receiving out-of-bounds values.
82
+ #
83
+ # Services **may** choose to accept values passed as input even when the
84
+ # value has a higher precision or scale than the service supports, and
85
+ # **should** round the value to fit the supported scale. Alternatively, the
86
+ # service **may** error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC)
87
+ # if precision would be lost.
88
+ #
89
+ # Services **should** error with `400 Bad Request` (`INVALID_ARGUMENT` in
90
+ # gRPC) if the service receives a value outside of the supported range.
91
+ class Decimal
92
+ include ::Google::Protobuf::MessageExts
93
+ extend ::Google::Protobuf::MessageExts::ClassMethods
94
+ end
95
+ end
96
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-channel-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-22 00:00:00.000000000 Z
11
+ date: 2022-04-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gapic-common
@@ -185,6 +185,7 @@ files:
185
185
  - lib/google/cloud/channel/v1/offers_pb.rb
186
186
  - lib/google/cloud/channel/v1/operations_pb.rb
187
187
  - lib/google/cloud/channel/v1/products_pb.rb
188
+ - lib/google/cloud/channel/v1/repricing_pb.rb
188
189
  - lib/google/cloud/channel/v1/service_pb.rb
189
190
  - lib/google/cloud/channel/v1/service_services_pb.rb
190
191
  - lib/google/cloud/channel/v1/subscriber_event_pb.rb
@@ -199,6 +200,7 @@ files:
199
200
  - proto_docs/google/cloud/channel/v1/offers.rb
200
201
  - proto_docs/google/cloud/channel/v1/operations.rb
201
202
  - proto_docs/google/cloud/channel/v1/products.rb
203
+ - proto_docs/google/cloud/channel/v1/repricing.rb
202
204
  - proto_docs/google/cloud/channel/v1/service.rb
203
205
  - proto_docs/google/cloud/channel/v1/subscriber_event.rb
204
206
  - proto_docs/google/longrunning/operations.rb
@@ -208,6 +210,8 @@ files:
208
210
  - proto_docs/google/protobuf/field_mask.rb
209
211
  - proto_docs/google/protobuf/timestamp.rb
210
212
  - proto_docs/google/rpc/status.rb
213
+ - proto_docs/google/type/date.rb
214
+ - proto_docs/google/type/decimal.rb
211
215
  - proto_docs/google/type/money.rb
212
216
  - proto_docs/google/type/postal_address.rb
213
217
  homepage: https://github.com/googleapis/google-cloud-ruby