google-apis-cloudbilling_v1beta 0.7.0 → 0.8.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.
@@ -563,6 +563,63 @@ module Google
563
563
  end
564
564
  end
565
565
 
566
+ # A representation of a decimal value, such as 2.5. Clients may convert values
567
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
568
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
569
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
570
+ # org/3/library/decimal.html
571
+ class Decimal
572
+ include Google::Apis::Core::Hashable
573
+
574
+ # The decimal value, as a string. The string representation consists of an
575
+ # optional sign, `+` (`U+002B`) or `-` (`U+002D`), followed by a sequence of
576
+ # zero or more decimal digits ("the integer"), optionally followed by a fraction,
577
+ # optionally followed by an exponent. An empty string **should** be interpreted
578
+ # as `0`. The fraction consists of a decimal point followed by zero or more
579
+ # decimal digits. The string must contain at least one digit in either the
580
+ # integer or the fraction. The number formed by the sign, the integer and the
581
+ # fraction is referred to as the significand. The exponent consists of the
582
+ # character `e` (`U+0065`) or `E` (`U+0045`) followed by one or more decimal
583
+ # digits. Services **should** normalize decimal values before storing them by: -
584
+ # Removing an explicitly-provided `+` sign (`+2.5` -> `2.5`). - Replacing a zero-
585
+ # length integer value with `0` (`.5` -> `0.5`). - Coercing the exponent
586
+ # character to upper-case, with explicit sign (`2.5e8` -> `2.5E+8`). - Removing
587
+ # an explicitly-provided zero exponent (`2.5E0` -> `2.5`). Services **may**
588
+ # perform additional normalization based on its own needs and the internal
589
+ # decimal implementation selected, such as shifting the decimal point and
590
+ # exponent value together (example: `2.5E-1` <-> `0.25`). Additionally, services
591
+ # **may** preserve trailing zeroes in the fraction to indicate increased
592
+ # precision, but are not required to do so. Note that only the `.` character is
593
+ # supported to divide the integer and the fraction; `,` **should not** be
594
+ # supported regardless of locale. Additionally, thousand separators **should not*
595
+ # * be supported. If a service does support them, values **must** be normalized.
596
+ # The ENBF grammar is: DecimalString = '' | [Sign] Significand [Exponent]; Sign =
597
+ # '+' | '-'; Significand = Digits '.' | [Digits] '.' Digits; Exponent = ('e' | '
598
+ # E') [Sign] Digits; Digits = ` '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '
599
+ # 8' | '9' `; Services **should** clearly document the range of supported values,
600
+ # the maximum supported precision (total number of digits), and, if applicable,
601
+ # the scale (number of digits after the decimal point), as well as how it
602
+ # behaves when receiving out-of-bounds values. Services **may** choose to accept
603
+ # values passed as input even when the value has a higher precision or scale
604
+ # than the service supports, and **should** round the value to fit the supported
605
+ # scale. Alternatively, the service **may** error with `400 Bad Request` (`
606
+ # INVALID_ARGUMENT` in gRPC) if precision would be lost. Services **should**
607
+ # error with `400 Bad Request` (`INVALID_ARGUMENT` in gRPC) if the service
608
+ # receives a value outside of the supported range.
609
+ # Corresponds to the JSON property `value`
610
+ # @return [String]
611
+ attr_accessor :value
612
+
613
+ def initialize(**args)
614
+ update!(**args)
615
+ end
616
+
617
+ # Update properties of this object
618
+ def update!(**args)
619
+ @value = args[:value] if args.key?(:value)
620
+ end
621
+ end
622
+
566
623
  # Area contains dual locations.
567
624
  class DualRegional
568
625
  include Google::Apis::Core::Hashable
@@ -683,6 +740,1482 @@ module Google
683
740
  end
684
741
  end
685
742
 
743
+ # Encapsulates the aggregation information such as aggregation level and
744
+ # interval for a billing account price.
745
+ class GoogleCloudBillingBillingaccountpricesV1betaAggregationInfo
746
+ include Google::Apis::Core::Hashable
747
+
748
+ # Interval at which usage is aggregated to compute cost. Example: "MONTHLY"
749
+ # interval indicates that usage is aggregated every month.
750
+ # Corresponds to the JSON property `interval`
751
+ # @return [String]
752
+ attr_accessor :interval
753
+
754
+ # Level at which usage is aggregated to compute cost. Example: "ACCOUNT" level
755
+ # indicates that usage is aggregated across all projects in a single account.
756
+ # Corresponds to the JSON property `level`
757
+ # @return [String]
758
+ attr_accessor :level
759
+
760
+ def initialize(**args)
761
+ update!(**args)
762
+ end
763
+
764
+ # Update properties of this object
765
+ def update!(**args)
766
+ @interval = args[:interval] if args.key?(:interval)
767
+ @level = args[:level] if args.key?(:level)
768
+ end
769
+ end
770
+
771
+ # Encapsulates the latest price for the given billing account SKU.
772
+ class GoogleCloudBillingBillingaccountpricesV1betaBillingAccountPrice
773
+ include Google::Apis::Core::Hashable
774
+
775
+ # ISO-4217 currency code for the price.
776
+ # Corresponds to the JSON property `currencyCode`
777
+ # @return [String]
778
+ attr_accessor :currency_code
779
+
780
+ # Resource name for the latest billing account price.
781
+ # Corresponds to the JSON property `name`
782
+ # @return [String]
783
+ attr_accessor :name
784
+
785
+ # Encapsulates a price reason which contains background information about the
786
+ # origin of the price.
787
+ # Corresponds to the JSON property `priceReason`
788
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaPriceReason]
789
+ attr_accessor :price_reason
790
+
791
+ # Encapsulates a `Rate` price. Billing account SKUs with `Rate` price are
792
+ # offered by pricing tiers. The price have 1 or more rate pricing tiers.
793
+ # Corresponds to the JSON property `rate`
794
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaRate]
795
+ attr_accessor :rate
796
+
797
+ # Type of the price. It can have values: ["unspecified", "rate"].
798
+ # Corresponds to the JSON property `valueType`
799
+ # @return [String]
800
+ attr_accessor :value_type
801
+
802
+ def initialize(**args)
803
+ update!(**args)
804
+ end
805
+
806
+ # Update properties of this object
807
+ def update!(**args)
808
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
809
+ @name = args[:name] if args.key?(:name)
810
+ @price_reason = args[:price_reason] if args.key?(:price_reason)
811
+ @rate = args[:rate] if args.key?(:rate)
812
+ @value_type = args[:value_type] if args.key?(:value_type)
813
+ end
814
+ end
815
+
816
+ # Encapsulates a default price which is the current list price.
817
+ class GoogleCloudBillingBillingaccountpricesV1betaDefaultPrice
818
+ include Google::Apis::Core::Hashable
819
+
820
+ def initialize(**args)
821
+ update!(**args)
822
+ end
823
+
824
+ # Update properties of this object
825
+ def update!(**args)
826
+ end
827
+ end
828
+
829
+ # Encapsulates a discount off the list price, anchored to the list price as of a
830
+ # fixed time.
831
+ class GoogleCloudBillingBillingaccountpricesV1betaFixedDiscount
832
+ include Google::Apis::Core::Hashable
833
+
834
+ # A representation of a decimal value, such as 2.5. Clients may convert values
835
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
836
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
837
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
838
+ # org/3/library/decimal.html
839
+ # Corresponds to the JSON property `discountPercent`
840
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
841
+ attr_accessor :discount_percent
842
+
843
+ # Type of the fixed discount scope which indicates the source of the discount.
844
+ # It can have values such as 'sku-group'.
845
+ # Corresponds to the JSON property `discountScopeType`
846
+ # @return [String]
847
+ attr_accessor :discount_scope_type
848
+
849
+ # Time that the fixed discount is anchored to.
850
+ # Corresponds to the JSON property `fixTime`
851
+ # @return [String]
852
+ attr_accessor :fix_time
853
+
854
+ # SKU group where the fixed discount comes from.
855
+ # Corresponds to the JSON property `skuGroup`
856
+ # @return [String]
857
+ attr_accessor :sku_group
858
+
859
+ def initialize(**args)
860
+ update!(**args)
861
+ end
862
+
863
+ # Update properties of this object
864
+ def update!(**args)
865
+ @discount_percent = args[:discount_percent] if args.key?(:discount_percent)
866
+ @discount_scope_type = args[:discount_scope_type] if args.key?(:discount_scope_type)
867
+ @fix_time = args[:fix_time] if args.key?(:fix_time)
868
+ @sku_group = args[:sku_group] if args.key?(:sku_group)
869
+ end
870
+ end
871
+
872
+ # Encapsulates a set fixed price applicable during the terms of a contract
873
+ # agreement.
874
+ class GoogleCloudBillingBillingaccountpricesV1betaFixedPrice
875
+ include Google::Apis::Core::Hashable
876
+
877
+ def initialize(**args)
878
+ update!(**args)
879
+ end
880
+
881
+ # Update properties of this object
882
+ def update!(**args)
883
+ end
884
+ end
885
+
886
+ # Encapsulates a discount off the current list price, not anchored to any list
887
+ # price as of a fixed time.
888
+ class GoogleCloudBillingBillingaccountpricesV1betaFloatingDiscount
889
+ include Google::Apis::Core::Hashable
890
+
891
+ # A representation of a decimal value, such as 2.5. Clients may convert values
892
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
893
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
894
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
895
+ # org/3/library/decimal.html
896
+ # Corresponds to the JSON property `discountPercent`
897
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
898
+ attr_accessor :discount_percent
899
+
900
+ # Type of the floating discount scope which indicates the source of the discount.
901
+ # It can have values such as 'sku-group'.
902
+ # Corresponds to the JSON property `discountScopeType`
903
+ # @return [String]
904
+ attr_accessor :discount_scope_type
905
+
906
+ # SKU group where the floating discount comes from.
907
+ # Corresponds to the JSON property `skuGroup`
908
+ # @return [String]
909
+ attr_accessor :sku_group
910
+
911
+ def initialize(**args)
912
+ update!(**args)
913
+ end
914
+
915
+ # Update properties of this object
916
+ def update!(**args)
917
+ @discount_percent = args[:discount_percent] if args.key?(:discount_percent)
918
+ @discount_scope_type = args[:discount_scope_type] if args.key?(:discount_scope_type)
919
+ @sku_group = args[:sku_group] if args.key?(:sku_group)
920
+ end
921
+ end
922
+
923
+ # Encapsulates a contract feature that the list price (DefaultPrice) will be
924
+ # used for the price if the current list price drops lower than the custom fixed
925
+ # price. Available to new contracts after March 21, 2022. Applies to all fixed
926
+ # price SKUs in the contract, including FixedPrice, FixedDiscount, MigratedPrice,
927
+ # and MergedPrice.
928
+ class GoogleCloudBillingBillingaccountpricesV1betaListPriceAsCeiling
929
+ include Google::Apis::Core::Hashable
930
+
931
+ def initialize(**args)
932
+ update!(**args)
933
+ end
934
+
935
+ # Update properties of this object
936
+ def update!(**args)
937
+ end
938
+ end
939
+
940
+ # Encapsulates a price after merging from multiple sources. With merged tiers,
941
+ # each individual tier can be from a different source with different discount
942
+ # types.
943
+ class GoogleCloudBillingBillingaccountpricesV1betaMergedPrice
944
+ include Google::Apis::Core::Hashable
945
+
946
+ def initialize(**args)
947
+ update!(**args)
948
+ end
949
+
950
+ # Update properties of this object
951
+ def update!(**args)
952
+ end
953
+ end
954
+
955
+ # Encapsulates a price migrated from other SKUs.
956
+ class GoogleCloudBillingBillingaccountpricesV1betaMigratedPrice
957
+ include Google::Apis::Core::Hashable
958
+
959
+ # Encapsulates a type of MigratedPrice where the source SKU floating discount is
960
+ # applied on the target SKU's default price.
961
+ # Corresponds to the JSON property `sourceDiscountOnTargetPrice`
962
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaSourceDiscountOnTargetPrice]
963
+ attr_accessor :source_discount_on_target_price
964
+
965
+ # Source SKU where the discount is migrated from.
966
+ # Corresponds to the JSON property `sourceSku`
967
+ # @return [String]
968
+ attr_accessor :source_sku
969
+
970
+ # Type of the migrated price. It can have values such as 'source-discount-on-
971
+ # target-price'.
972
+ # Corresponds to the JSON property `type`
973
+ # @return [String]
974
+ attr_accessor :type
975
+
976
+ def initialize(**args)
977
+ update!(**args)
978
+ end
979
+
980
+ # Update properties of this object
981
+ def update!(**args)
982
+ @source_discount_on_target_price = args[:source_discount_on_target_price] if args.key?(:source_discount_on_target_price)
983
+ @source_sku = args[:source_sku] if args.key?(:source_sku)
984
+ @type = args[:type] if args.key?(:type)
985
+ end
986
+ end
987
+
988
+ # Encapsulates a price reason which contains background information about the
989
+ # origin of the price.
990
+ class GoogleCloudBillingBillingaccountpricesV1betaPriceReason
991
+ include Google::Apis::Core::Hashable
992
+
993
+ # Encapsulates a default price which is the current list price.
994
+ # Corresponds to the JSON property `defaultPrice`
995
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaDefaultPrice]
996
+ attr_accessor :default_price
997
+
998
+ # Encapsulates a discount off the list price, anchored to the list price as of a
999
+ # fixed time.
1000
+ # Corresponds to the JSON property `fixedDiscount`
1001
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaFixedDiscount]
1002
+ attr_accessor :fixed_discount
1003
+
1004
+ # Encapsulates a set fixed price applicable during the terms of a contract
1005
+ # agreement.
1006
+ # Corresponds to the JSON property `fixedPrice`
1007
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaFixedPrice]
1008
+ attr_accessor :fixed_price
1009
+
1010
+ # Encapsulates a discount off the current list price, not anchored to any list
1011
+ # price as of a fixed time.
1012
+ # Corresponds to the JSON property `floatingDiscount`
1013
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaFloatingDiscount]
1014
+ attr_accessor :floating_discount
1015
+
1016
+ # Encapsulates a contract feature that the list price (DefaultPrice) will be
1017
+ # used for the price if the current list price drops lower than the custom fixed
1018
+ # price. Available to new contracts after March 21, 2022. Applies to all fixed
1019
+ # price SKUs in the contract, including FixedPrice, FixedDiscount, MigratedPrice,
1020
+ # and MergedPrice.
1021
+ # Corresponds to the JSON property `listPriceAsCeiling`
1022
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaListPriceAsCeiling]
1023
+ attr_accessor :list_price_as_ceiling
1024
+
1025
+ # Encapsulates a price after merging from multiple sources. With merged tiers,
1026
+ # each individual tier can be from a different source with different discount
1027
+ # types.
1028
+ # Corresponds to the JSON property `mergedPrice`
1029
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaMergedPrice]
1030
+ attr_accessor :merged_price
1031
+
1032
+ # Encapsulates a price migrated from other SKUs.
1033
+ # Corresponds to the JSON property `migratedPrice`
1034
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaMigratedPrice]
1035
+ attr_accessor :migrated_price
1036
+
1037
+ # Type of the price reason. It can values such as 'default-price', 'fixed-price',
1038
+ # 'fixed-discount', 'floating-discount', 'migrated-price', 'merged-price', '
1039
+ # list-price-as-ceiling'.
1040
+ # Corresponds to the JSON property `type`
1041
+ # @return [String]
1042
+ attr_accessor :type
1043
+
1044
+ def initialize(**args)
1045
+ update!(**args)
1046
+ end
1047
+
1048
+ # Update properties of this object
1049
+ def update!(**args)
1050
+ @default_price = args[:default_price] if args.key?(:default_price)
1051
+ @fixed_discount = args[:fixed_discount] if args.key?(:fixed_discount)
1052
+ @fixed_price = args[:fixed_price] if args.key?(:fixed_price)
1053
+ @floating_discount = args[:floating_discount] if args.key?(:floating_discount)
1054
+ @list_price_as_ceiling = args[:list_price_as_ceiling] if args.key?(:list_price_as_ceiling)
1055
+ @merged_price = args[:merged_price] if args.key?(:merged_price)
1056
+ @migrated_price = args[:migrated_price] if args.key?(:migrated_price)
1057
+ @type = args[:type] if args.key?(:type)
1058
+ end
1059
+ end
1060
+
1061
+ # Encapsulates a `Rate` price. Billing account SKUs with `Rate` price are
1062
+ # offered by pricing tiers. The price have 1 or more rate pricing tiers.
1063
+ class GoogleCloudBillingBillingaccountpricesV1betaRate
1064
+ include Google::Apis::Core::Hashable
1065
+
1066
+ # Encapsulates the aggregation information such as aggregation level and
1067
+ # interval for a billing account price.
1068
+ # Corresponds to the JSON property `aggregationInfo`
1069
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaAggregationInfo]
1070
+ attr_accessor :aggregation_info
1071
+
1072
+ # All tiers associated with the `Rate` price.
1073
+ # Corresponds to the JSON property `tiers`
1074
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaRateTier>]
1075
+ attr_accessor :tiers
1076
+
1077
+ # Encapsulates the unit information for a Rate
1078
+ # Corresponds to the JSON property `unitInfo`
1079
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountpricesV1betaUnitInfo]
1080
+ attr_accessor :unit_info
1081
+
1082
+ def initialize(**args)
1083
+ update!(**args)
1084
+ end
1085
+
1086
+ # Update properties of this object
1087
+ def update!(**args)
1088
+ @aggregation_info = args[:aggregation_info] if args.key?(:aggregation_info)
1089
+ @tiers = args[:tiers] if args.key?(:tiers)
1090
+ @unit_info = args[:unit_info] if args.key?(:unit_info)
1091
+ end
1092
+ end
1093
+
1094
+ # Encapsulates a rate price tier.
1095
+ class GoogleCloudBillingBillingaccountpricesV1betaRateTier
1096
+ include Google::Apis::Core::Hashable
1097
+
1098
+ # Represents an amount of money with its currency type.
1099
+ # Corresponds to the JSON property `contractPrice`
1100
+ # @return [Google::Apis::CloudbillingV1beta::Money]
1101
+ attr_accessor :contract_price
1102
+
1103
+ # A representation of a decimal value, such as 2.5. Clients may convert values
1104
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
1105
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
1106
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
1107
+ # org/3/library/decimal.html
1108
+ # Corresponds to the JSON property `effectiveDiscountPercent`
1109
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
1110
+ attr_accessor :effective_discount_percent
1111
+
1112
+ # Represents an amount of money with its currency type.
1113
+ # Corresponds to the JSON property `listPrice`
1114
+ # @return [Google::Apis::CloudbillingV1beta::Money]
1115
+ attr_accessor :list_price
1116
+
1117
+ # A representation of a decimal value, such as 2.5. Clients may convert values
1118
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
1119
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
1120
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
1121
+ # org/3/library/decimal.html
1122
+ # Corresponds to the JSON property `startAmount`
1123
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
1124
+ attr_accessor :start_amount
1125
+
1126
+ def initialize(**args)
1127
+ update!(**args)
1128
+ end
1129
+
1130
+ # Update properties of this object
1131
+ def update!(**args)
1132
+ @contract_price = args[:contract_price] if args.key?(:contract_price)
1133
+ @effective_discount_percent = args[:effective_discount_percent] if args.key?(:effective_discount_percent)
1134
+ @list_price = args[:list_price] if args.key?(:list_price)
1135
+ @start_amount = args[:start_amount] if args.key?(:start_amount)
1136
+ end
1137
+ end
1138
+
1139
+ # Encapsulates a type of MigratedPrice where the source SKU floating discount is
1140
+ # applied on the target SKU's default price.
1141
+ class GoogleCloudBillingBillingaccountpricesV1betaSourceDiscountOnTargetPrice
1142
+ include Google::Apis::Core::Hashable
1143
+
1144
+ # A representation of a decimal value, such as 2.5. Clients may convert values
1145
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
1146
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
1147
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
1148
+ # org/3/library/decimal.html
1149
+ # Corresponds to the JSON property `migratedDiscountPercent`
1150
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
1151
+ attr_accessor :migrated_discount_percent
1152
+
1153
+ def initialize(**args)
1154
+ update!(**args)
1155
+ end
1156
+
1157
+ # Update properties of this object
1158
+ def update!(**args)
1159
+ @migrated_discount_percent = args[:migrated_discount_percent] if args.key?(:migrated_discount_percent)
1160
+ end
1161
+ end
1162
+
1163
+ # Encapsulates the unit information for a Rate
1164
+ class GoogleCloudBillingBillingaccountpricesV1betaUnitInfo
1165
+ include Google::Apis::Core::Hashable
1166
+
1167
+ # Shorthand for the unit. Example: GiBy.mo.
1168
+ # Corresponds to the JSON property `unit`
1169
+ # @return [String]
1170
+ attr_accessor :unit
1171
+
1172
+ # Human-readable description of the unit. Example: gibibyte month.
1173
+ # Corresponds to the JSON property `unitDescription`
1174
+ # @return [String]
1175
+ attr_accessor :unit_description
1176
+
1177
+ # A representation of a decimal value, such as 2.5. Clients may convert values
1178
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
1179
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
1180
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
1181
+ # org/3/library/decimal.html
1182
+ # Corresponds to the JSON property `unitQuantity`
1183
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
1184
+ attr_accessor :unit_quantity
1185
+
1186
+ def initialize(**args)
1187
+ update!(**args)
1188
+ end
1189
+
1190
+ # Update properties of this object
1191
+ def update!(**args)
1192
+ @unit = args[:unit] if args.key?(:unit)
1193
+ @unit_description = args[:unit_description] if args.key?(:unit_description)
1194
+ @unit_quantity = args[:unit_quantity] if args.key?(:unit_quantity)
1195
+ end
1196
+ end
1197
+
1198
+ # Encapsulates a Google Cloud service visible to a billing account.
1199
+ class GoogleCloudBillingBillingaccountservicesV1betaBillingAccountService
1200
+ include Google::Apis::Core::Hashable
1201
+
1202
+ # Description of the BillingAccountService. Example: "BigQuery", "Compute Engine"
1203
+ # .
1204
+ # Corresponds to the JSON property `displayName`
1205
+ # @return [String]
1206
+ attr_accessor :display_name
1207
+
1208
+ # Resource name for the BillingAccountService. Example: "billingAccounts/012345-
1209
+ # 567890-ABCDEF/services/DA34-426B-A397".
1210
+ # Corresponds to the JSON property `name`
1211
+ # @return [String]
1212
+ attr_accessor :name
1213
+
1214
+ # Identifier for the service. It is the string after the collection identifier "
1215
+ # services/". Example: "DA34-426B-A397".
1216
+ # Corresponds to the JSON property `serviceId`
1217
+ # @return [String]
1218
+ attr_accessor :service_id
1219
+
1220
+ def initialize(**args)
1221
+ update!(**args)
1222
+ end
1223
+
1224
+ # Update properties of this object
1225
+ def update!(**args)
1226
+ @display_name = args[:display_name] if args.key?(:display_name)
1227
+ @name = args[:name] if args.key?(:name)
1228
+ @service_id = args[:service_id] if args.key?(:service_id)
1229
+ end
1230
+ end
1231
+
1232
+ # Response message for ListBillingAccountServices.
1233
+ class GoogleCloudBillingBillingaccountservicesV1betaListBillingAccountServicesResponse
1234
+ include Google::Apis::Core::Hashable
1235
+
1236
+ # The returned billing account services.
1237
+ # Corresponds to the JSON property `billingAccountServices`
1238
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountservicesV1betaBillingAccountService>]
1239
+ attr_accessor :billing_account_services
1240
+
1241
+ # Token that can be sent as `page_token` in the subsequent request to retrieve
1242
+ # the next page. If this field is empty, there are no subsequent pages.
1243
+ # Corresponds to the JSON property `nextPageToken`
1244
+ # @return [String]
1245
+ attr_accessor :next_page_token
1246
+
1247
+ def initialize(**args)
1248
+ update!(**args)
1249
+ end
1250
+
1251
+ # Update properties of this object
1252
+ def update!(**args)
1253
+ @billing_account_services = args[:billing_account_services] if args.key?(:billing_account_services)
1254
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1255
+ end
1256
+ end
1257
+
1258
+ # Encapsulates a stock keeping (SKU) group visible to a billing account. A SKU
1259
+ # group represents a collection of SKUs that are related to each other. For
1260
+ # example, the `AI Platform APIs` SKU group includes SKUs from the Cloud
1261
+ # Dialogflow API, the Cloud Text-to-Speech API, and additional related APIs.
1262
+ class GoogleCloudBillingBillingaccountskugroupsV1betaBillingAccountSkuGroup
1263
+ include Google::Apis::Core::Hashable
1264
+
1265
+ # Description of the BillingAccountSkuGroup. Example: "A2 VMs (1 Year CUD)".
1266
+ # Corresponds to the JSON property `displayName`
1267
+ # @return [String]
1268
+ attr_accessor :display_name
1269
+
1270
+ # Resource name for the BillingAccountSkuGroup. Example: "billingAccounts/012345-
1271
+ # 567890-ABCDEF/skuGroups/0e6403d1-4694-44d2-a696-7a78b1a69301".
1272
+ # Corresponds to the JSON property `name`
1273
+ # @return [String]
1274
+ attr_accessor :name
1275
+
1276
+ def initialize(**args)
1277
+ update!(**args)
1278
+ end
1279
+
1280
+ # Update properties of this object
1281
+ def update!(**args)
1282
+ @display_name = args[:display_name] if args.key?(:display_name)
1283
+ @name = args[:name] if args.key?(:name)
1284
+ end
1285
+ end
1286
+
1287
+ # Response message for ListBillingAccountSkuGroups.
1288
+ class GoogleCloudBillingBillingaccountskugroupsV1betaListBillingAccountSkuGroupsResponse
1289
+ include Google::Apis::Core::Hashable
1290
+
1291
+ # The returned publicly listed billing account SKU groups.
1292
+ # Corresponds to the JSON property `billingAccountSkuGroups`
1293
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupsV1betaBillingAccountSkuGroup>]
1294
+ attr_accessor :billing_account_sku_groups
1295
+
1296
+ # Token that can be sent as `page_token` in the subsequent request to retrieve
1297
+ # the next page. If this field is empty, there are no subsequent pages.
1298
+ # Corresponds to the JSON property `nextPageToken`
1299
+ # @return [String]
1300
+ attr_accessor :next_page_token
1301
+
1302
+ def initialize(**args)
1303
+ update!(**args)
1304
+ end
1305
+
1306
+ # Update properties of this object
1307
+ def update!(**args)
1308
+ @billing_account_sku_groups = args[:billing_account_sku_groups] if args.key?(:billing_account_sku_groups)
1309
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1310
+ end
1311
+ end
1312
+
1313
+ # Encapsulates a SKU that is part of a billing account SKU group.
1314
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaBillingAccountSkuGroupSku
1315
+ include Google::Apis::Core::Hashable
1316
+
1317
+ # BillingAccountService that the BillingAccountSkuGroupSku belongs to.
1318
+ # Corresponds to the JSON property `billingAccountService`
1319
+ # @return [String]
1320
+ attr_accessor :billing_account_service
1321
+
1322
+ # Description of the BillingAccountSkuGroupSku. Example: "A2 Instance Core
1323
+ # running in Hong Kong".
1324
+ # Corresponds to the JSON property `displayName`
1325
+ # @return [String]
1326
+ attr_accessor :display_name
1327
+
1328
+ # Encapsulates geographic metadata, such as regions and multi-regions like `us-
1329
+ # east4` or `European Union`.
1330
+ # Corresponds to the JSON property `geoTaxonomy`
1331
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomy]
1332
+ attr_accessor :geo_taxonomy
1333
+
1334
+ # Resource name for the BillingAccountSkuGroupSku. Example: "billingAccounts/
1335
+ # 012345-567890-ABCDEF/skuGroups/0e6403d1-4694-44d2-a696-7a78b1a69301/skus/AA95-
1336
+ # CD31-42FE".
1337
+ # Corresponds to the JSON property `name`
1338
+ # @return [String]
1339
+ attr_accessor :name
1340
+
1341
+ # Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`
1342
+ # , and others.
1343
+ # Corresponds to the JSON property `productTaxonomy`
1344
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaProductTaxonomy]
1345
+ attr_accessor :product_taxonomy
1346
+
1347
+ # Unique identifier for the SKU. It is the string after the collection
1348
+ # identifier "skus/" Example: "AA95-CD31-42FE".
1349
+ # Corresponds to the JSON property `skuId`
1350
+ # @return [String]
1351
+ attr_accessor :sku_id
1352
+
1353
+ def initialize(**args)
1354
+ update!(**args)
1355
+ end
1356
+
1357
+ # Update properties of this object
1358
+ def update!(**args)
1359
+ @billing_account_service = args[:billing_account_service] if args.key?(:billing_account_service)
1360
+ @display_name = args[:display_name] if args.key?(:display_name)
1361
+ @geo_taxonomy = args[:geo_taxonomy] if args.key?(:geo_taxonomy)
1362
+ @name = args[:name] if args.key?(:name)
1363
+ @product_taxonomy = args[:product_taxonomy] if args.key?(:product_taxonomy)
1364
+ @sku_id = args[:sku_id] if args.key?(:sku_id)
1365
+ end
1366
+ end
1367
+
1368
+ # Encapsulates geographic metadata, such as regions and multi-regions like `us-
1369
+ # east4` or `European Union`.
1370
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomy
1371
+ include Google::Apis::Core::Hashable
1372
+
1373
+ # Encapsulates a global geographic taxonomy.
1374
+ # Corresponds to the JSON property `globalMetadata`
1375
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyGlobal]
1376
+ attr_accessor :global_metadata
1377
+
1378
+ # Encapsulates a multi-regional geographic taxonomy.
1379
+ # Corresponds to the JSON property `multiRegionalMetadata`
1380
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyMultiRegional]
1381
+ attr_accessor :multi_regional_metadata
1382
+
1383
+ # Encapsulates a regional geographic taxonomy.
1384
+ # Corresponds to the JSON property `regionalMetadata`
1385
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegional]
1386
+ attr_accessor :regional_metadata
1387
+
1388
+ # Type of geographic taxonomy associated with the billing account SKU group SKU.
1389
+ # Corresponds to the JSON property `type`
1390
+ # @return [String]
1391
+ attr_accessor :type
1392
+
1393
+ def initialize(**args)
1394
+ update!(**args)
1395
+ end
1396
+
1397
+ # Update properties of this object
1398
+ def update!(**args)
1399
+ @global_metadata = args[:global_metadata] if args.key?(:global_metadata)
1400
+ @multi_regional_metadata = args[:multi_regional_metadata] if args.key?(:multi_regional_metadata)
1401
+ @regional_metadata = args[:regional_metadata] if args.key?(:regional_metadata)
1402
+ @type = args[:type] if args.key?(:type)
1403
+ end
1404
+ end
1405
+
1406
+ # Encapsulates a global geographic taxonomy.
1407
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyGlobal
1408
+ include Google::Apis::Core::Hashable
1409
+
1410
+ def initialize(**args)
1411
+ update!(**args)
1412
+ end
1413
+
1414
+ # Update properties of this object
1415
+ def update!(**args)
1416
+ end
1417
+ end
1418
+
1419
+ # Encapsulates a multi-regional geographic taxonomy.
1420
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyMultiRegional
1421
+ include Google::Apis::Core::Hashable
1422
+
1423
+ # Google Cloud regions associated with the multi-regional geographic taxonomy.
1424
+ # Corresponds to the JSON property `regions`
1425
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion>]
1426
+ attr_accessor :regions
1427
+
1428
+ def initialize(**args)
1429
+ update!(**args)
1430
+ end
1431
+
1432
+ # Update properties of this object
1433
+ def update!(**args)
1434
+ @regions = args[:regions] if args.key?(:regions)
1435
+ end
1436
+ end
1437
+
1438
+ # Encapsulates a Google Cloud region.
1439
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion
1440
+ include Google::Apis::Core::Hashable
1441
+
1442
+ # Description of a Google Cloud region. Example: "us-west2".
1443
+ # Corresponds to the JSON property `region`
1444
+ # @return [String]
1445
+ attr_accessor :region
1446
+
1447
+ def initialize(**args)
1448
+ update!(**args)
1449
+ end
1450
+
1451
+ # Update properties of this object
1452
+ def update!(**args)
1453
+ @region = args[:region] if args.key?(:region)
1454
+ end
1455
+ end
1456
+
1457
+ # Encapsulates a regional geographic taxonomy.
1458
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegional
1459
+ include Google::Apis::Core::Hashable
1460
+
1461
+ # Encapsulates a Google Cloud region.
1462
+ # Corresponds to the JSON property `region`
1463
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaGeoTaxonomyRegion]
1464
+ attr_accessor :region
1465
+
1466
+ def initialize(**args)
1467
+ update!(**args)
1468
+ end
1469
+
1470
+ # Update properties of this object
1471
+ def update!(**args)
1472
+ @region = args[:region] if args.key?(:region)
1473
+ end
1474
+ end
1475
+
1476
+ # Response message for ListBillingAccountSkuGroupSkus.
1477
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaListBillingAccountSkuGroupSkusResponse
1478
+ include Google::Apis::Core::Hashable
1479
+
1480
+ # The returned billing account SKU group SKUs.
1481
+ # Corresponds to the JSON property `billingAccountSkuGroupSkus`
1482
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaBillingAccountSkuGroupSku>]
1483
+ attr_accessor :billing_account_sku_group_skus
1484
+
1485
+ # Token that can be sent as `page_token` in the subsequent request to retrieve
1486
+ # the next page. If this field is empty, there are no subsequent pages.
1487
+ # Corresponds to the JSON property `nextPageToken`
1488
+ # @return [String]
1489
+ attr_accessor :next_page_token
1490
+
1491
+ def initialize(**args)
1492
+ update!(**args)
1493
+ end
1494
+
1495
+ # Update properties of this object
1496
+ def update!(**args)
1497
+ @billing_account_sku_group_skus = args[:billing_account_sku_group_skus] if args.key?(:billing_account_sku_group_skus)
1498
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1499
+ end
1500
+ end
1501
+
1502
+ # Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`
1503
+ # , and others.
1504
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaProductTaxonomy
1505
+ include Google::Apis::Core::Hashable
1506
+
1507
+ # All product categories that the billing account SKU group SKU belong to.
1508
+ # Corresponds to the JSON property `taxonomyCategories`
1509
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskugroupskusV1betaTaxonomyCategory>]
1510
+ attr_accessor :taxonomy_categories
1511
+
1512
+ def initialize(**args)
1513
+ update!(**args)
1514
+ end
1515
+
1516
+ # Update properties of this object
1517
+ def update!(**args)
1518
+ @taxonomy_categories = args[:taxonomy_categories] if args.key?(:taxonomy_categories)
1519
+ end
1520
+ end
1521
+
1522
+ # Encapsulates a product category.
1523
+ class GoogleCloudBillingBillingaccountskugroupskusV1betaTaxonomyCategory
1524
+ include Google::Apis::Core::Hashable
1525
+
1526
+ # Name of the product category.
1527
+ # Corresponds to the JSON property `category`
1528
+ # @return [String]
1529
+ attr_accessor :category
1530
+
1531
+ def initialize(**args)
1532
+ update!(**args)
1533
+ end
1534
+
1535
+ # Update properties of this object
1536
+ def update!(**args)
1537
+ @category = args[:category] if args.key?(:category)
1538
+ end
1539
+ end
1540
+
1541
+ # Encapsulates a stock keeping unit (SKU) visible to a billing account. A SKU
1542
+ # distinctly identifies a resource that you can purchase, such as `Nvidia Tesla
1543
+ # K80 GPU attached to Spot Preemptible VMs running in Warsaw`.
1544
+ class GoogleCloudBillingBillingaccountskusV1betaBillingAccountSku
1545
+ include Google::Apis::Core::Hashable
1546
+
1547
+ # BillingAccountService that the BillingAccountSku belongs to.
1548
+ # Corresponds to the JSON property `billingAccountService`
1549
+ # @return [String]
1550
+ attr_accessor :billing_account_service
1551
+
1552
+ # Description of the BillingAccountSku. Example: "A2 Instance Core running in
1553
+ # Hong Kong".
1554
+ # Corresponds to the JSON property `displayName`
1555
+ # @return [String]
1556
+ attr_accessor :display_name
1557
+
1558
+ # Encapsulates geographic metadata, such as regions and multi-regions like `us-
1559
+ # east4` or `European Union`.
1560
+ # Corresponds to the JSON property `geoTaxonomy`
1561
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomy]
1562
+ attr_accessor :geo_taxonomy
1563
+
1564
+ # Resource name for the BillingAccountSku. Example: "billingAccounts/012345-
1565
+ # 567890-ABCDEF/skus/AA95-CD31-42FE".
1566
+ # Corresponds to the JSON property `name`
1567
+ # @return [String]
1568
+ attr_accessor :name
1569
+
1570
+ # Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`
1571
+ # , and others.
1572
+ # Corresponds to the JSON property `productTaxonomy`
1573
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaProductTaxonomy]
1574
+ attr_accessor :product_taxonomy
1575
+
1576
+ # Unique identifier for the SKU. It is the string after the collection
1577
+ # identifier "skus/" Example: "AA95-CD31-42FE".
1578
+ # Corresponds to the JSON property `skuId`
1579
+ # @return [String]
1580
+ attr_accessor :sku_id
1581
+
1582
+ def initialize(**args)
1583
+ update!(**args)
1584
+ end
1585
+
1586
+ # Update properties of this object
1587
+ def update!(**args)
1588
+ @billing_account_service = args[:billing_account_service] if args.key?(:billing_account_service)
1589
+ @display_name = args[:display_name] if args.key?(:display_name)
1590
+ @geo_taxonomy = args[:geo_taxonomy] if args.key?(:geo_taxonomy)
1591
+ @name = args[:name] if args.key?(:name)
1592
+ @product_taxonomy = args[:product_taxonomy] if args.key?(:product_taxonomy)
1593
+ @sku_id = args[:sku_id] if args.key?(:sku_id)
1594
+ end
1595
+ end
1596
+
1597
+ # Encapsulates geographic metadata, such as regions and multi-regions like `us-
1598
+ # east4` or `European Union`.
1599
+ class GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomy
1600
+ include Google::Apis::Core::Hashable
1601
+
1602
+ # Encapsulates a global geographic taxonomy.
1603
+ # Corresponds to the JSON property `globalMetadata`
1604
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyGlobal]
1605
+ attr_accessor :global_metadata
1606
+
1607
+ # Encapsulates a multi-regional geographic taxonomy.
1608
+ # Corresponds to the JSON property `multiRegionalMetadata`
1609
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyMultiRegional]
1610
+ attr_accessor :multi_regional_metadata
1611
+
1612
+ # Encapsulates a regional geographic taxonomy.
1613
+ # Corresponds to the JSON property `regionalMetadata`
1614
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegional]
1615
+ attr_accessor :regional_metadata
1616
+
1617
+ # Type of geographic taxonomy associated with the billing account SKU.
1618
+ # Corresponds to the JSON property `type`
1619
+ # @return [String]
1620
+ attr_accessor :type
1621
+
1622
+ def initialize(**args)
1623
+ update!(**args)
1624
+ end
1625
+
1626
+ # Update properties of this object
1627
+ def update!(**args)
1628
+ @global_metadata = args[:global_metadata] if args.key?(:global_metadata)
1629
+ @multi_regional_metadata = args[:multi_regional_metadata] if args.key?(:multi_regional_metadata)
1630
+ @regional_metadata = args[:regional_metadata] if args.key?(:regional_metadata)
1631
+ @type = args[:type] if args.key?(:type)
1632
+ end
1633
+ end
1634
+
1635
+ # Encapsulates a global geographic taxonomy.
1636
+ class GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyGlobal
1637
+ include Google::Apis::Core::Hashable
1638
+
1639
+ def initialize(**args)
1640
+ update!(**args)
1641
+ end
1642
+
1643
+ # Update properties of this object
1644
+ def update!(**args)
1645
+ end
1646
+ end
1647
+
1648
+ # Encapsulates a multi-regional geographic taxonomy.
1649
+ class GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyMultiRegional
1650
+ include Google::Apis::Core::Hashable
1651
+
1652
+ # Google Cloud regions associated with the multi-regional geographic taxonomy.
1653
+ # Corresponds to the JSON property `regions`
1654
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion>]
1655
+ attr_accessor :regions
1656
+
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @regions = args[:regions] if args.key?(:regions)
1664
+ end
1665
+ end
1666
+
1667
+ # Encapsulates a Google Cloud region.
1668
+ class GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion
1669
+ include Google::Apis::Core::Hashable
1670
+
1671
+ # Description of a Google Cloud region. Example: "us-west2".
1672
+ # Corresponds to the JSON property `region`
1673
+ # @return [String]
1674
+ attr_accessor :region
1675
+
1676
+ def initialize(**args)
1677
+ update!(**args)
1678
+ end
1679
+
1680
+ # Update properties of this object
1681
+ def update!(**args)
1682
+ @region = args[:region] if args.key?(:region)
1683
+ end
1684
+ end
1685
+
1686
+ # Encapsulates a regional geographic taxonomy.
1687
+ class GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegional
1688
+ include Google::Apis::Core::Hashable
1689
+
1690
+ # Encapsulates a Google Cloud region.
1691
+ # Corresponds to the JSON property `region`
1692
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaGeoTaxonomyRegion]
1693
+ attr_accessor :region
1694
+
1695
+ def initialize(**args)
1696
+ update!(**args)
1697
+ end
1698
+
1699
+ # Update properties of this object
1700
+ def update!(**args)
1701
+ @region = args[:region] if args.key?(:region)
1702
+ end
1703
+ end
1704
+
1705
+ # Response message for ListBillingAccountSkus.
1706
+ class GoogleCloudBillingBillingaccountskusV1betaListBillingAccountSkusResponse
1707
+ include Google::Apis::Core::Hashable
1708
+
1709
+ # The returned billing account SKUs.
1710
+ # Corresponds to the JSON property `billingAccountSkus`
1711
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaBillingAccountSku>]
1712
+ attr_accessor :billing_account_skus
1713
+
1714
+ # Token that can be sent as `page_token` in the subsequent request to retrieve
1715
+ # the next page. If this field is empty, there are no subsequent pages.
1716
+ # Corresponds to the JSON property `nextPageToken`
1717
+ # @return [String]
1718
+ attr_accessor :next_page_token
1719
+
1720
+ def initialize(**args)
1721
+ update!(**args)
1722
+ end
1723
+
1724
+ # Update properties of this object
1725
+ def update!(**args)
1726
+ @billing_account_skus = args[:billing_account_skus] if args.key?(:billing_account_skus)
1727
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1728
+ end
1729
+ end
1730
+
1731
+ # Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`
1732
+ # , and others.
1733
+ class GoogleCloudBillingBillingaccountskusV1betaProductTaxonomy
1734
+ include Google::Apis::Core::Hashable
1735
+
1736
+ # All product categories that the billing account SKU belong to.
1737
+ # Corresponds to the JSON property `taxonomyCategories`
1738
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingBillingaccountskusV1betaTaxonomyCategory>]
1739
+ attr_accessor :taxonomy_categories
1740
+
1741
+ def initialize(**args)
1742
+ update!(**args)
1743
+ end
1744
+
1745
+ # Update properties of this object
1746
+ def update!(**args)
1747
+ @taxonomy_categories = args[:taxonomy_categories] if args.key?(:taxonomy_categories)
1748
+ end
1749
+ end
1750
+
1751
+ # Encapsulates a product category.
1752
+ class GoogleCloudBillingBillingaccountskusV1betaTaxonomyCategory
1753
+ include Google::Apis::Core::Hashable
1754
+
1755
+ # Name of the product category.
1756
+ # Corresponds to the JSON property `category`
1757
+ # @return [String]
1758
+ attr_accessor :category
1759
+
1760
+ def initialize(**args)
1761
+ update!(**args)
1762
+ end
1763
+
1764
+ # Update properties of this object
1765
+ def update!(**args)
1766
+ @category = args[:category] if args.key?(:category)
1767
+ end
1768
+ end
1769
+
1770
+ # Encapsulates the aggregation information such as aggregation level and
1771
+ # interval for a price.
1772
+ class GoogleCloudBillingPricesV1betaAggregationInfo
1773
+ include Google::Apis::Core::Hashable
1774
+
1775
+ # Interval at which usage is aggregated to compute cost. Example: "MONTHLY"
1776
+ # interval indicates that usage is aggregated every month.
1777
+ # Corresponds to the JSON property `interval`
1778
+ # @return [String]
1779
+ attr_accessor :interval
1780
+
1781
+ # Level at which usage is aggregated to compute cost. Example: "ACCOUNT" level
1782
+ # indicates that usage is aggregated across all projects in a single account.
1783
+ # Corresponds to the JSON property `level`
1784
+ # @return [String]
1785
+ attr_accessor :level
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @interval = args[:interval] if args.key?(:interval)
1794
+ @level = args[:level] if args.key?(:level)
1795
+ end
1796
+ end
1797
+
1798
+ # Encapsulates the latest price for the given SKU.
1799
+ class GoogleCloudBillingPricesV1betaPrice
1800
+ include Google::Apis::Core::Hashable
1801
+
1802
+ # ISO-4217 currency code for the price.
1803
+ # Corresponds to the JSON property `currencyCode`
1804
+ # @return [String]
1805
+ attr_accessor :currency_code
1806
+
1807
+ # Resource name for the latest price.
1808
+ # Corresponds to the JSON property `name`
1809
+ # @return [String]
1810
+ attr_accessor :name
1811
+
1812
+ # Encapsulates a `Rate` price. SKUs with `Rate` price are offered by pricing
1813
+ # tiers. The price have 1 or more rate pricing tiers.
1814
+ # Corresponds to the JSON property `rate`
1815
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingPricesV1betaRate]
1816
+ attr_accessor :rate
1817
+
1818
+ # Type of the price. It can have values: ["unspecified", "rate"].
1819
+ # Corresponds to the JSON property `valueType`
1820
+ # @return [String]
1821
+ attr_accessor :value_type
1822
+
1823
+ def initialize(**args)
1824
+ update!(**args)
1825
+ end
1826
+
1827
+ # Update properties of this object
1828
+ def update!(**args)
1829
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
1830
+ @name = args[:name] if args.key?(:name)
1831
+ @rate = args[:rate] if args.key?(:rate)
1832
+ @value_type = args[:value_type] if args.key?(:value_type)
1833
+ end
1834
+ end
1835
+
1836
+ # Encapsulates a `Rate` price. SKUs with `Rate` price are offered by pricing
1837
+ # tiers. The price have 1 or more rate pricing tiers.
1838
+ class GoogleCloudBillingPricesV1betaRate
1839
+ include Google::Apis::Core::Hashable
1840
+
1841
+ # Encapsulates the aggregation information such as aggregation level and
1842
+ # interval for a price.
1843
+ # Corresponds to the JSON property `aggregationInfo`
1844
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingPricesV1betaAggregationInfo]
1845
+ attr_accessor :aggregation_info
1846
+
1847
+ # All tiers associated with the `Rate` price.
1848
+ # Corresponds to the JSON property `tiers`
1849
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingPricesV1betaRateTier>]
1850
+ attr_accessor :tiers
1851
+
1852
+ # Encapsulates the unit information for a Rate
1853
+ # Corresponds to the JSON property `unitInfo`
1854
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingPricesV1betaUnitInfo]
1855
+ attr_accessor :unit_info
1856
+
1857
+ def initialize(**args)
1858
+ update!(**args)
1859
+ end
1860
+
1861
+ # Update properties of this object
1862
+ def update!(**args)
1863
+ @aggregation_info = args[:aggregation_info] if args.key?(:aggregation_info)
1864
+ @tiers = args[:tiers] if args.key?(:tiers)
1865
+ @unit_info = args[:unit_info] if args.key?(:unit_info)
1866
+ end
1867
+ end
1868
+
1869
+ # Encapsulates a rate price tier.
1870
+ class GoogleCloudBillingPricesV1betaRateTier
1871
+ include Google::Apis::Core::Hashable
1872
+
1873
+ # Represents an amount of money with its currency type.
1874
+ # Corresponds to the JSON property `listPrice`
1875
+ # @return [Google::Apis::CloudbillingV1beta::Money]
1876
+ attr_accessor :list_price
1877
+
1878
+ # A representation of a decimal value, such as 2.5. Clients may convert values
1879
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
1880
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
1881
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
1882
+ # org/3/library/decimal.html
1883
+ # Corresponds to the JSON property `startAmount`
1884
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
1885
+ attr_accessor :start_amount
1886
+
1887
+ def initialize(**args)
1888
+ update!(**args)
1889
+ end
1890
+
1891
+ # Update properties of this object
1892
+ def update!(**args)
1893
+ @list_price = args[:list_price] if args.key?(:list_price)
1894
+ @start_amount = args[:start_amount] if args.key?(:start_amount)
1895
+ end
1896
+ end
1897
+
1898
+ # Encapsulates the unit information for a Rate
1899
+ class GoogleCloudBillingPricesV1betaUnitInfo
1900
+ include Google::Apis::Core::Hashable
1901
+
1902
+ # Shorthand for the unit. Example: GiBy.mo.
1903
+ # Corresponds to the JSON property `unit`
1904
+ # @return [String]
1905
+ attr_accessor :unit
1906
+
1907
+ # Human-readable description of the unit. Example: gibibyte month.
1908
+ # Corresponds to the JSON property `unitDescription`
1909
+ # @return [String]
1910
+ attr_accessor :unit_description
1911
+
1912
+ # A representation of a decimal value, such as 2.5. Clients may convert values
1913
+ # into language-native decimal formats, such as Java's BigDecimal or Python's
1914
+ # decimal.Decimal. [BigDecimal]: https://docs.oracle.com/en/java/javase/11/docs/
1915
+ # api/java.base/java/math/BigDecimal.html [decimal.Decimal]: https://docs.python.
1916
+ # org/3/library/decimal.html
1917
+ # Corresponds to the JSON property `unitQuantity`
1918
+ # @return [Google::Apis::CloudbillingV1beta::Decimal]
1919
+ attr_accessor :unit_quantity
1920
+
1921
+ def initialize(**args)
1922
+ update!(**args)
1923
+ end
1924
+
1925
+ # Update properties of this object
1926
+ def update!(**args)
1927
+ @unit = args[:unit] if args.key?(:unit)
1928
+ @unit_description = args[:unit_description] if args.key?(:unit_description)
1929
+ @unit_quantity = args[:unit_quantity] if args.key?(:unit_quantity)
1930
+ end
1931
+ end
1932
+
1933
+ # Response message for ListSkuGroups.
1934
+ class GoogleCloudBillingSkugroupsV1betaListSkuGroupsResponse
1935
+ include Google::Apis::Core::Hashable
1936
+
1937
+ # Token that can be sent as `page_token` in the subsequent request to retrieve
1938
+ # the next page. If this field is empty, there are no subsequent pages.
1939
+ # Corresponds to the JSON property `nextPageToken`
1940
+ # @return [String]
1941
+ attr_accessor :next_page_token
1942
+
1943
+ # The returned publicly listed SKU groups.
1944
+ # Corresponds to the JSON property `skuGroups`
1945
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupsV1betaSkuGroup>]
1946
+ attr_accessor :sku_groups
1947
+
1948
+ def initialize(**args)
1949
+ update!(**args)
1950
+ end
1951
+
1952
+ # Update properties of this object
1953
+ def update!(**args)
1954
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1955
+ @sku_groups = args[:sku_groups] if args.key?(:sku_groups)
1956
+ end
1957
+ end
1958
+
1959
+ # Encapsulates a publicly listed stock keeping unit (SKU) group. A SKU group
1960
+ # represents a collection of SKUs that are related to each other. For example,
1961
+ # the `AI Platform APIs` SKU group includes SKUs from the Cloud Dialogflow API,
1962
+ # the Cloud Text-to-Speech API, and additional related APIs.
1963
+ class GoogleCloudBillingSkugroupsV1betaSkuGroup
1964
+ include Google::Apis::Core::Hashable
1965
+
1966
+ # Description of the SKU group. Example: "A2 VMs (1 Year CUD)".
1967
+ # Corresponds to the JSON property `displayName`
1968
+ # @return [String]
1969
+ attr_accessor :display_name
1970
+
1971
+ # Resource name for the SKU group. Example: "skuGroups/0e6403d1-4694-44d2-a696-
1972
+ # 7a78b1a69301".
1973
+ # Corresponds to the JSON property `name`
1974
+ # @return [String]
1975
+ attr_accessor :name
1976
+
1977
+ def initialize(**args)
1978
+ update!(**args)
1979
+ end
1980
+
1981
+ # Update properties of this object
1982
+ def update!(**args)
1983
+ @display_name = args[:display_name] if args.key?(:display_name)
1984
+ @name = args[:name] if args.key?(:name)
1985
+ end
1986
+ end
1987
+
1988
+ # Encapsulates geographic metadata, such as regions and multi-regions like `us-
1989
+ # east4` or `European Union`.
1990
+ class GoogleCloudBillingSkugroupskusV1betaGeoTaxonomy
1991
+ include Google::Apis::Core::Hashable
1992
+
1993
+ # Encapsulates a global geographic taxonomy.
1994
+ # Corresponds to the JSON property `globalMetadata`
1995
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyGlobal]
1996
+ attr_accessor :global_metadata
1997
+
1998
+ # Encapsulates a multi-regional geographic taxonomy.
1999
+ # Corresponds to the JSON property `multiRegionalMetadata`
2000
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyMultiRegional]
2001
+ attr_accessor :multi_regional_metadata
2002
+
2003
+ # Encapsulates a regional geographic taxonomy.
2004
+ # Corresponds to the JSON property `regionalMetadata`
2005
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegional]
2006
+ attr_accessor :regional_metadata
2007
+
2008
+ # Type of geographic taxonomy associated with the SKU group SKU.
2009
+ # Corresponds to the JSON property `type`
2010
+ # @return [String]
2011
+ attr_accessor :type
2012
+
2013
+ def initialize(**args)
2014
+ update!(**args)
2015
+ end
2016
+
2017
+ # Update properties of this object
2018
+ def update!(**args)
2019
+ @global_metadata = args[:global_metadata] if args.key?(:global_metadata)
2020
+ @multi_regional_metadata = args[:multi_regional_metadata] if args.key?(:multi_regional_metadata)
2021
+ @regional_metadata = args[:regional_metadata] if args.key?(:regional_metadata)
2022
+ @type = args[:type] if args.key?(:type)
2023
+ end
2024
+ end
2025
+
2026
+ # Encapsulates a global geographic taxonomy.
2027
+ class GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyGlobal
2028
+ include Google::Apis::Core::Hashable
2029
+
2030
+ def initialize(**args)
2031
+ update!(**args)
2032
+ end
2033
+
2034
+ # Update properties of this object
2035
+ def update!(**args)
2036
+ end
2037
+ end
2038
+
2039
+ # Encapsulates a multi-regional geographic taxonomy.
2040
+ class GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyMultiRegional
2041
+ include Google::Apis::Core::Hashable
2042
+
2043
+ # Google Cloud regions associated with the multi-regional geographic taxonomy.
2044
+ # Corresponds to the JSON property `regions`
2045
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion>]
2046
+ attr_accessor :regions
2047
+
2048
+ def initialize(**args)
2049
+ update!(**args)
2050
+ end
2051
+
2052
+ # Update properties of this object
2053
+ def update!(**args)
2054
+ @regions = args[:regions] if args.key?(:regions)
2055
+ end
2056
+ end
2057
+
2058
+ # Encapsulates a Google Cloud region.
2059
+ class GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion
2060
+ include Google::Apis::Core::Hashable
2061
+
2062
+ # Description of a Google Cloud region. Example: "us-west2".
2063
+ # Corresponds to the JSON property `region`
2064
+ # @return [String]
2065
+ attr_accessor :region
2066
+
2067
+ def initialize(**args)
2068
+ update!(**args)
2069
+ end
2070
+
2071
+ # Update properties of this object
2072
+ def update!(**args)
2073
+ @region = args[:region] if args.key?(:region)
2074
+ end
2075
+ end
2076
+
2077
+ # Encapsulates a regional geographic taxonomy.
2078
+ class GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegional
2079
+ include Google::Apis::Core::Hashable
2080
+
2081
+ # Encapsulates a Google Cloud region.
2082
+ # Corresponds to the JSON property `region`
2083
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaGeoTaxonomyRegion]
2084
+ attr_accessor :region
2085
+
2086
+ def initialize(**args)
2087
+ update!(**args)
2088
+ end
2089
+
2090
+ # Update properties of this object
2091
+ def update!(**args)
2092
+ @region = args[:region] if args.key?(:region)
2093
+ end
2094
+ end
2095
+
2096
+ # Response message for ListSkuGroupSkus.
2097
+ class GoogleCloudBillingSkugroupskusV1betaListSkuGroupSkusResponse
2098
+ include Google::Apis::Core::Hashable
2099
+
2100
+ # Token that can be sent as `page_token` in the subsequent request to retrieve
2101
+ # the next page. If this field is empty, there are no subsequent pages.
2102
+ # Corresponds to the JSON property `nextPageToken`
2103
+ # @return [String]
2104
+ attr_accessor :next_page_token
2105
+
2106
+ # The returned SKU group SKUs.
2107
+ # Corresponds to the JSON property `skuGroupSkus`
2108
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaSkuGroupSku>]
2109
+ attr_accessor :sku_group_skus
2110
+
2111
+ def initialize(**args)
2112
+ update!(**args)
2113
+ end
2114
+
2115
+ # Update properties of this object
2116
+ def update!(**args)
2117
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2118
+ @sku_group_skus = args[:sku_group_skus] if args.key?(:sku_group_skus)
2119
+ end
2120
+ end
2121
+
2122
+ # Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`
2123
+ # , and others.
2124
+ class GoogleCloudBillingSkugroupskusV1betaProductTaxonomy
2125
+ include Google::Apis::Core::Hashable
2126
+
2127
+ # All product categories that the SKU group SKU belongs to.
2128
+ # Corresponds to the JSON property `taxonomyCategories`
2129
+ # @return [Array<Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaTaxonomyCategory>]
2130
+ attr_accessor :taxonomy_categories
2131
+
2132
+ def initialize(**args)
2133
+ update!(**args)
2134
+ end
2135
+
2136
+ # Update properties of this object
2137
+ def update!(**args)
2138
+ @taxonomy_categories = args[:taxonomy_categories] if args.key?(:taxonomy_categories)
2139
+ end
2140
+ end
2141
+
2142
+ # Encapsulates a publicly listed stock keeping unit (SKU) that is part of a
2143
+ # publicly listed SKU group. A SKU group represents a collection of SKUs that
2144
+ # are related to each other. For example, the `AI Platform APIs` SKU group
2145
+ # includes SKUs from the Cloud Dialogflow API, the Cloud Text-to-Speech API, and
2146
+ # additional related APIs.
2147
+ class GoogleCloudBillingSkugroupskusV1betaSkuGroupSku
2148
+ include Google::Apis::Core::Hashable
2149
+
2150
+ # Description of the SkuGroupSku. Example: "A2 Instance Core running in Hong
2151
+ # Kong".
2152
+ # Corresponds to the JSON property `displayName`
2153
+ # @return [String]
2154
+ attr_accessor :display_name
2155
+
2156
+ # Encapsulates geographic metadata, such as regions and multi-regions like `us-
2157
+ # east4` or `European Union`.
2158
+ # Corresponds to the JSON property `geoTaxonomy`
2159
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaGeoTaxonomy]
2160
+ attr_accessor :geo_taxonomy
2161
+
2162
+ # Resource name for the SkuGroupSku. Example: "skuGroups/0e6403d1-4694-44d2-a696-
2163
+ # 7a78b1a69301/skus/AA95-CD31-42FE".
2164
+ # Corresponds to the JSON property `name`
2165
+ # @return [String]
2166
+ attr_accessor :name
2167
+
2168
+ # Encapsulates product categories, such as `Serverless`, `Cloud Run`, `TaskQueue`
2169
+ # , and others.
2170
+ # Corresponds to the JSON property `productTaxonomy`
2171
+ # @return [Google::Apis::CloudbillingV1beta::GoogleCloudBillingSkugroupskusV1betaProductTaxonomy]
2172
+ attr_accessor :product_taxonomy
2173
+
2174
+ # Service that the SkuGroupSku belongs to.
2175
+ # Corresponds to the JSON property `service`
2176
+ # @return [String]
2177
+ attr_accessor :service
2178
+
2179
+ # Unique identifier for the SKU. It is the string after the collection
2180
+ # identifier "skus/" Example: "AA95-CD31-42FE".
2181
+ # Corresponds to the JSON property `skuId`
2182
+ # @return [String]
2183
+ attr_accessor :sku_id
2184
+
2185
+ def initialize(**args)
2186
+ update!(**args)
2187
+ end
2188
+
2189
+ # Update properties of this object
2190
+ def update!(**args)
2191
+ @display_name = args[:display_name] if args.key?(:display_name)
2192
+ @geo_taxonomy = args[:geo_taxonomy] if args.key?(:geo_taxonomy)
2193
+ @name = args[:name] if args.key?(:name)
2194
+ @product_taxonomy = args[:product_taxonomy] if args.key?(:product_taxonomy)
2195
+ @service = args[:service] if args.key?(:service)
2196
+ @sku_id = args[:sku_id] if args.key?(:sku_id)
2197
+ end
2198
+ end
2199
+
2200
+ # Encapsulates a product category.
2201
+ class GoogleCloudBillingSkugroupskusV1betaTaxonomyCategory
2202
+ include Google::Apis::Core::Hashable
2203
+
2204
+ # Name of the product category.
2205
+ # Corresponds to the JSON property `category`
2206
+ # @return [String]
2207
+ attr_accessor :category
2208
+
2209
+ def initialize(**args)
2210
+ update!(**args)
2211
+ end
2212
+
2213
+ # Update properties of this object
2214
+ def update!(**args)
2215
+ @category = args[:category] if args.key?(:category)
2216
+ end
2217
+ end
2218
+
686
2219
  # Specification of a set of guest accelerators attached to a machine.
687
2220
  class GuestAccelerator
688
2221
  include Google::Apis::Core::Hashable