google-api-client 0.46.0 → 0.46.1

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.
Files changed (160) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  4. data/generated/google/apis/accesscontextmanager_v1/classes.rb +68 -0
  5. data/generated/google/apis/accesscontextmanager_v1/representations.rb +30 -0
  6. data/generated/google/apis/accesscontextmanager_v1/service.rb +180 -0
  7. data/generated/google/apis/adexchangebuyer_v1_4.rb +1 -1
  8. data/generated/google/apis/adexchangebuyer_v1_4/classes.rb +25 -0
  9. data/generated/google/apis/adexchangebuyer_v1_4/representations.rb +15 -0
  10. data/generated/google/apis/admob_v1.rb +3 -2
  11. data/generated/google/apis/admob_v1/service.rb +2 -1
  12. data/generated/google/apis/adsense_v1_4.rb +1 -1
  13. data/generated/google/apis/adsense_v1_4/service.rb +4 -1
  14. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  15. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +31 -0
  16. data/generated/google/apis/analyticsdata_v1alpha/representations.rb +17 -0
  17. data/generated/google/apis/analyticsdata_v1alpha/service.rb +39 -0
  18. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  19. data/generated/google/apis/androidpublisher_v3/service.rb +2 -5
  20. data/generated/google/apis/apigee_v1.rb +1 -1
  21. data/generated/google/apis/apigee_v1/classes.rb +231 -1
  22. data/generated/google/apis/apigee_v1/representations.rb +87 -0
  23. data/generated/google/apis/apigee_v1/service.rb +201 -1
  24. data/generated/google/apis/appsmarket_v2.rb +1 -1
  25. data/generated/google/apis/billingbudgets_v1.rb +38 -0
  26. data/generated/google/apis/billingbudgets_v1/classes.rb +362 -0
  27. data/generated/google/apis/billingbudgets_v1/representations.rb +170 -0
  28. data/generated/google/apis/billingbudgets_v1/service.rb +249 -0
  29. data/generated/google/apis/cloudasset_v1p4beta1.rb +1 -1
  30. data/generated/google/apis/cloudasset_v1p4beta1/classes.rb +3 -3
  31. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  32. data/generated/google/apis/cloudsearch_v1/classes.rb +2 -1
  33. data/generated/google/apis/cloudshell_v1.rb +1 -1
  34. data/generated/google/apis/cloudshell_v1/classes.rb +342 -0
  35. data/generated/google/apis/cloudshell_v1/representations.rb +200 -0
  36. data/generated/google/apis/cloudshell_v1/service.rb +177 -0
  37. data/generated/google/apis/composer_v1.rb +1 -1
  38. data/generated/google/apis/composer_v1/classes.rb +2 -3
  39. data/generated/google/apis/composer_v1beta1.rb +1 -1
  40. data/generated/google/apis/composer_v1beta1/classes.rb +2 -3
  41. data/generated/google/apis/composer_v1beta1/service.rb +37 -35
  42. data/generated/google/apis/compute_alpha.rb +1 -1
  43. data/generated/google/apis/compute_alpha/classes.rb +126 -21
  44. data/generated/google/apis/compute_alpha/representations.rb +7 -0
  45. data/generated/google/apis/compute_alpha/service.rb +62 -3
  46. data/generated/google/apis/compute_beta.rb +1 -1
  47. data/generated/google/apis/compute_beta/classes.rb +83 -19
  48. data/generated/google/apis/compute_beta/representations.rb +4 -0
  49. data/generated/google/apis/compute_beta/service.rb +3 -3
  50. data/generated/google/apis/compute_v1.rb +1 -1
  51. data/generated/google/apis/compute_v1/classes.rb +28 -8
  52. data/generated/google/apis/compute_v1/representations.rb +3 -0
  53. data/generated/google/apis/compute_v1/service.rb +3 -3
  54. data/generated/google/apis/container_v1beta1.rb +1 -1
  55. data/generated/google/apis/content_v2.rb +1 -1
  56. data/generated/google/apis/content_v2_1.rb +1 -1
  57. data/generated/google/apis/content_v2_1/classes.rb +99 -0
  58. data/generated/google/apis/content_v2_1/representations.rb +47 -0
  59. data/generated/google/apis/content_v2_1/service.rb +37 -0
  60. data/generated/google/apis/dialogflow_v2.rb +1 -1
  61. data/generated/google/apis/dialogflow_v2/classes.rb +50 -32
  62. data/generated/google/apis/dialogflow_v2/representations.rb +28 -13
  63. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  64. data/generated/google/apis/dialogflow_v2beta1/classes.rb +50 -32
  65. data/generated/google/apis/dialogflow_v2beta1/representations.rb +28 -13
  66. data/generated/google/apis/dialogflow_v2beta1/service.rb +54 -4
  67. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  68. data/generated/google/apis/dialogflow_v3beta1/classes.rb +66 -35
  69. data/generated/google/apis/dialogflow_v3beta1/representations.rb +29 -13
  70. data/generated/google/apis/dialogflow_v3beta1/service.rb +22 -9
  71. data/generated/google/apis/displayvideo_v1.rb +1 -1
  72. data/generated/google/apis/displayvideo_v1/service.rb +13 -10
  73. data/generated/google/apis/dns_v1.rb +1 -1
  74. data/generated/google/apis/dns_v1/service.rb +10 -10
  75. data/generated/google/apis/dns_v1beta2.rb +1 -1
  76. data/generated/google/apis/dns_v1beta2/service.rb +10 -10
  77. data/generated/google/apis/documentai_v1beta3.rb +36 -0
  78. data/generated/google/apis/documentai_v1beta3/classes.rb +6149 -0
  79. data/generated/google/apis/documentai_v1beta3/representations.rb +2666 -0
  80. data/generated/google/apis/documentai_v1beta3/service.rb +263 -0
  81. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  82. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +2 -2
  83. data/generated/google/apis/drive_v2.rb +1 -1
  84. data/generated/google/apis/drive_v2/classes.rb +2 -1
  85. data/generated/google/apis/fitness_v1.rb +13 -1
  86. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  87. data/generated/google/apis/healthcare_v1beta1/classes.rb +116 -289
  88. data/generated/google/apis/healthcare_v1beta1/representations.rb +45 -81
  89. data/generated/google/apis/healthcare_v1beta1/service.rb +65 -61
  90. data/generated/google/apis/licensing_v1.rb +1 -1
  91. data/generated/google/apis/licensing_v1/service.rb +2 -2
  92. data/generated/google/apis/lifesciences_v2beta.rb +1 -1
  93. data/generated/google/apis/lifesciences_v2beta/classes.rb +104 -0
  94. data/generated/google/apis/lifesciences_v2beta/representations.rb +47 -0
  95. data/generated/google/apis/memcache_v1beta2.rb +1 -1
  96. data/generated/google/apis/memcache_v1beta2/classes.rb +1 -1
  97. data/generated/google/apis/monitoring_v3.rb +1 -1
  98. data/generated/google/apis/monitoring_v3/classes.rb +48 -0
  99. data/generated/google/apis/monitoring_v3/representations.rb +18 -0
  100. data/generated/google/apis/oauth2_v2.rb +40 -0
  101. data/generated/google/apis/oauth2_v2/classes.rb +165 -0
  102. data/generated/google/apis/oauth2_v2/representations.rb +68 -0
  103. data/generated/google/apis/oauth2_v2/service.rb +158 -0
  104. data/generated/google/apis/people_v1.rb +1 -1
  105. data/generated/google/apis/people_v1/classes.rb +3 -2
  106. data/generated/google/apis/people_v1/service.rb +4 -4
  107. data/generated/google/apis/realtimebidding_v1.rb +1 -1
  108. data/generated/google/apis/realtimebidding_v1/classes.rb +55 -94
  109. data/generated/google/apis/realtimebidding_v1/representations.rb +18 -32
  110. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  111. data/generated/google/apis/remotebuildexecution_v1/classes.rb +6 -0
  112. data/generated/google/apis/remotebuildexecution_v1/representations.rb +1 -0
  113. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  114. data/generated/google/apis/remotebuildexecution_v1alpha/classes.rb +6 -0
  115. data/generated/google/apis/remotebuildexecution_v1alpha/representations.rb +1 -0
  116. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  117. data/generated/google/apis/remotebuildexecution_v2/classes.rb +6 -0
  118. data/generated/google/apis/remotebuildexecution_v2/representations.rb +1 -0
  119. data/generated/google/apis/run_v1.rb +1 -1
  120. data/generated/google/apis/run_v1/classes.rb +5 -2
  121. data/generated/google/apis/smartdevicemanagement_v1.rb +1 -1
  122. data/generated/google/apis/smartdevicemanagement_v1/classes.rb +4 -10
  123. data/generated/google/apis/smartdevicemanagement_v1/representations.rb +0 -1
  124. data/generated/google/apis/smartdevicemanagement_v1/service.rb +1 -4
  125. data/generated/google/apis/sqladmin_v1beta4.rb +1 -1
  126. data/generated/google/apis/sqladmin_v1beta4/classes.rb +49 -5
  127. data/generated/google/apis/sqladmin_v1beta4/representations.rb +17 -0
  128. data/generated/google/apis/storagetransfer_v1.rb +1 -1
  129. data/generated/google/apis/storagetransfer_v1/classes.rb +13 -0
  130. data/generated/google/apis/storagetransfer_v1/representations.rb +12 -0
  131. data/generated/google/apis/storagetransfer_v1/service.rb +5 -2
  132. data/generated/google/apis/sts_v1.rb +1 -1
  133. data/generated/google/apis/sts_v1/classes.rb +10 -9
  134. data/generated/google/apis/sts_v1beta.rb +1 -1
  135. data/generated/google/apis/sts_v1beta/classes.rb +66 -70
  136. data/generated/google/apis/sts_v1beta/service.rb +2 -2
  137. data/generated/google/apis/testing_v1.rb +1 -1
  138. data/generated/google/apis/testing_v1/classes.rb +47 -0
  139. data/generated/google/apis/testing_v1/representations.rb +20 -0
  140. data/generated/google/apis/videointelligence_v1.rb +1 -1
  141. data/generated/google/apis/videointelligence_v1/classes.rb +430 -2
  142. data/generated/google/apis/videointelligence_v1/representations.rb +241 -0
  143. data/generated/google/apis/videointelligence_v1beta2.rb +1 -1
  144. data/generated/google/apis/videointelligence_v1beta2/classes.rb +430 -2
  145. data/generated/google/apis/videointelligence_v1beta2/representations.rb +241 -0
  146. data/generated/google/apis/videointelligence_v1p1beta1.rb +1 -1
  147. data/generated/google/apis/videointelligence_v1p1beta1/classes.rb +430 -2
  148. data/generated/google/apis/videointelligence_v1p1beta1/representations.rb +241 -0
  149. data/generated/google/apis/videointelligence_v1p2beta1.rb +1 -1
  150. data/generated/google/apis/videointelligence_v1p2beta1/classes.rb +430 -2
  151. data/generated/google/apis/videointelligence_v1p2beta1/representations.rb +241 -0
  152. data/generated/google/apis/videointelligence_v1p3beta1.rb +1 -1
  153. data/generated/google/apis/videointelligence_v1p3beta1/classes.rb +430 -2
  154. data/generated/google/apis/videointelligence_v1p3beta1/representations.rb +241 -0
  155. data/generated/google/apis/workflows_v1beta.rb +3 -2
  156. data/generated/google/apis/workflows_v1beta/service.rb +2 -1
  157. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  158. data/generated/google/apis/youtube_v3.rb +1 -1
  159. data/lib/google/apis/version.rb +1 -1
  160. metadata +15 -3
@@ -64,6 +64,18 @@ module Google
64
64
  include Google::Apis::Core::JsonObjectSupport
65
65
  end
66
66
 
67
+ class GoogleCloudApigeeV1ApiCategory
68
+ class Representation < Google::Apis::Core::JsonRepresentation; end
69
+
70
+ include Google::Apis::Core::JsonObjectSupport
71
+ end
72
+
73
+ class GoogleCloudApigeeV1ApiCategoryData
74
+ class Representation < Google::Apis::Core::JsonRepresentation; end
75
+
76
+ include Google::Apis::Core::JsonObjectSupport
77
+ end
78
+
67
79
  class GoogleCloudApigeeV1ApiProduct
68
80
  class Representation < Google::Apis::Core::JsonRepresentation; end
69
81
 
@@ -88,6 +100,12 @@ module Google
88
100
  include Google::Apis::Core::JsonObjectSupport
89
101
  end
90
102
 
103
+ class GoogleCloudApigeeV1ApiResponseWrapper
104
+ class Representation < Google::Apis::Core::JsonRepresentation; end
105
+
106
+ include Google::Apis::Core::JsonObjectSupport
107
+ end
108
+
91
109
  class GoogleCloudApigeeV1App
92
110
  class Representation < Google::Apis::Core::JsonRepresentation; end
93
111
 
@@ -394,6 +412,12 @@ module Google
394
412
  include Google::Apis::Core::JsonObjectSupport
395
413
  end
396
414
 
415
+ class GoogleCloudApigeeV1ListApiCategoriesResponse
416
+ class Representation < Google::Apis::Core::JsonRepresentation; end
417
+
418
+ include Google::Apis::Core::JsonObjectSupport
419
+ end
420
+
397
421
  class GoogleCloudApigeeV1ListApiProductsResponse
398
422
  class Representation < Google::Apis::Core::JsonRepresentation; end
399
423
 
@@ -598,6 +622,12 @@ module Google
598
622
  include Google::Apis::Core::JsonObjectSupport
599
623
  end
600
624
 
625
+ class GoogleCloudApigeeV1ProvisionOrganizationRequest
626
+ class Representation < Google::Apis::Core::JsonRepresentation; end
627
+
628
+ include Google::Apis::Core::JsonObjectSupport
629
+ end
630
+
601
631
  class GoogleCloudApigeeV1Query
602
632
  class Representation < Google::Apis::Core::JsonRepresentation; end
603
633
 
@@ -975,6 +1005,28 @@ module Google
975
1005
  end
976
1006
  end
977
1007
 
1008
+ class GoogleCloudApigeeV1ApiCategory
1009
+ # @private
1010
+ class Representation < Google::Apis::Core::JsonRepresentation
1011
+ property :data, as: 'data', class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData, decorator: Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData::Representation
1012
+
1013
+ property :error_code, as: 'errorCode'
1014
+ property :message, as: 'message'
1015
+ property :request_id, as: 'requestId'
1016
+ property :status, as: 'status'
1017
+ end
1018
+ end
1019
+
1020
+ class GoogleCloudApigeeV1ApiCategoryData
1021
+ # @private
1022
+ class Representation < Google::Apis::Core::JsonRepresentation
1023
+ property :id, as: 'id'
1024
+ property :name, as: 'name'
1025
+ property :site_id, as: 'siteId'
1026
+ property :update_time, :numeric_string => true, as: 'updateTime'
1027
+ end
1028
+ end
1029
+
978
1030
  class GoogleCloudApigeeV1ApiProduct
979
1031
  # @private
980
1032
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1047,6 +1099,16 @@ module Google
1047
1099
  end
1048
1100
  end
1049
1101
 
1102
+ class GoogleCloudApigeeV1ApiResponseWrapper
1103
+ # @private
1104
+ class Representation < Google::Apis::Core::JsonRepresentation
1105
+ property :error_code, as: 'errorCode'
1106
+ property :message, as: 'message'
1107
+ property :request_id, as: 'requestId'
1108
+ property :status, as: 'status'
1109
+ end
1110
+ end
1111
+
1050
1112
  class GoogleCloudApigeeV1App
1051
1113
  # @private
1052
1114
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1596,6 +1658,7 @@ module Google
1596
1658
  property :location, as: 'location'
1597
1659
  property :name, as: 'name'
1598
1660
  property :port, as: 'port'
1661
+ property :state, as: 'state'
1599
1662
  end
1600
1663
  end
1601
1664
 
@@ -1670,6 +1733,18 @@ module Google
1670
1733
  end
1671
1734
  end
1672
1735
 
1736
+ class GoogleCloudApigeeV1ListApiCategoriesResponse
1737
+ # @private
1738
+ class Representation < Google::Apis::Core::JsonRepresentation
1739
+ collection :data, as: 'data', class: Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData, decorator: Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData::Representation
1740
+
1741
+ property :error_code, as: 'errorCode'
1742
+ property :message, as: 'message'
1743
+ property :request_id, as: 'requestId'
1744
+ property :status, as: 'status'
1745
+ end
1746
+ end
1747
+
1673
1748
  class GoogleCloudApigeeV1ListApiProductsResponse
1674
1749
  # @private
1675
1750
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -1980,6 +2055,15 @@ module Google
1980
2055
  end
1981
2056
  end
1982
2057
 
2058
+ class GoogleCloudApigeeV1ProvisionOrganizationRequest
2059
+ # @private
2060
+ class Representation < Google::Apis::Core::JsonRepresentation
2061
+ property :analytics_region, as: 'analyticsRegion'
2062
+ property :authorized_network, as: 'authorizedNetwork'
2063
+ property :runtime_location, as: 'runtimeLocation'
2064
+ end
2065
+ end
2066
+
1983
2067
  class GoogleCloudApigeeV1Query
1984
2068
  # @private
1985
2069
  class Representation < Google::Apis::Core::JsonRepresentation
@@ -2141,7 +2225,10 @@ module Google
2141
2225
  # @private
2142
2226
  class Representation < Google::Apis::Core::JsonRepresentation
2143
2227
  property :basepath, as: 'basepath'
2228
+ property :env_group_revision, :numeric_string => true, as: 'envGroupRevision'
2144
2229
  property :environment, as: 'environment'
2230
+ property :receiver, as: 'receiver'
2231
+ property :update_time, as: 'updateTime'
2145
2232
  end
2146
2233
  end
2147
2234
 
@@ -156,6 +156,9 @@ module Google
156
156
  # @param [String] name
157
157
  # Required. Name of the deployed configuration for the organization in the
158
158
  # following format: 'organizations/`org`/deployedIngressConfig'.
159
+ # @param [String] view
160
+ # When set to FULL, additional details about the specific deployments receiving
161
+ # traffic will be included in the IngressConfig response's RoutingRules.
159
162
  # @param [String] fields
160
163
  # Selector specifying which fields to include in a partial response.
161
164
  # @param [String] quota_user
@@ -173,11 +176,12 @@ module Google
173
176
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
174
177
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
175
178
  # @raise [Google::Apis::AuthorizationError] Authorization is required
176
- def get_organization_deployed_ingress_config(name, fields: nil, quota_user: nil, options: nil, &block)
179
+ def get_organization_deployed_ingress_config(name, view: nil, fields: nil, quota_user: nil, options: nil, &block)
177
180
  command = make_simple_command(:get, 'v1/{+name}', options)
178
181
  command.response_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1IngressConfig::Representation
179
182
  command.response_class = Google::Apis::ApigeeV1::GoogleCloudApigeeV1IngressConfig
180
183
  command.params['name'] = name unless name.nil?
184
+ command.query['view'] = view unless view.nil?
181
185
  command.query['fields'] = fields unless fields.nil?
182
186
  command.query['quotaUser'] = quota_user unless quota_user.nil?
183
187
  execute_or_queue_command(command, &block)
@@ -6488,6 +6492,202 @@ module Google
6488
6492
  command.query['quotaUser'] = quota_user unless quota_user.nil?
6489
6493
  execute_or_queue_command(command, &block)
6490
6494
  end
6495
+
6496
+ # Creates a new category on the portal.
6497
+ # @param [String] parent
6498
+ # Required. Name of the portal. Use the following structure in your request: `
6499
+ # organizations/`org`/sites/`site``
6500
+ # @param [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData] google_cloud_apigee_v1_api_category_data_object
6501
+ # @param [String] fields
6502
+ # Selector specifying which fields to include in a partial response.
6503
+ # @param [String] quota_user
6504
+ # Available to use for quota purposes for server-side applications. Can be any
6505
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
6506
+ # @param [Google::Apis::RequestOptions] options
6507
+ # Request-specific options
6508
+ #
6509
+ # @yield [result, err] Result & error if block supplied
6510
+ # @yieldparam result [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory] parsed result object
6511
+ # @yieldparam err [StandardError] error object if request failed
6512
+ #
6513
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory]
6514
+ #
6515
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
6516
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
6517
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
6518
+ def create_organization_site_apicategory(parent, google_cloud_apigee_v1_api_category_data_object = nil, fields: nil, quota_user: nil, options: nil, &block)
6519
+ command = make_simple_command(:post, 'v1/{+parent}/apicategories', options)
6520
+ command.request_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData::Representation
6521
+ command.request_object = google_cloud_apigee_v1_api_category_data_object
6522
+ command.response_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory::Representation
6523
+ command.response_class = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory
6524
+ command.params['parent'] = parent unless parent.nil?
6525
+ command.query['fields'] = fields unless fields.nil?
6526
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
6527
+ execute_or_queue_command(command, &block)
6528
+ end
6529
+
6530
+ # Deletes a category from the portal.
6531
+ # @param [String] name
6532
+ # Required. Name of the category. Use the following structure in your request: `
6533
+ # organizations/`org`/sites/`site`/apicategories/`apicategory``
6534
+ # @param [String] fields
6535
+ # Selector specifying which fields to include in a partial response.
6536
+ # @param [String] quota_user
6537
+ # Available to use for quota purposes for server-side applications. Can be any
6538
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
6539
+ # @param [Google::Apis::RequestOptions] options
6540
+ # Request-specific options
6541
+ #
6542
+ # @yield [result, err] Result & error if block supplied
6543
+ # @yieldparam result [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiResponseWrapper] parsed result object
6544
+ # @yieldparam err [StandardError] error object if request failed
6545
+ #
6546
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiResponseWrapper]
6547
+ #
6548
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
6549
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
6550
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
6551
+ def delete_organization_site_apicategory(name, fields: nil, quota_user: nil, options: nil, &block)
6552
+ command = make_simple_command(:delete, 'v1/{+name}', options)
6553
+ command.response_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiResponseWrapper::Representation
6554
+ command.response_class = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiResponseWrapper
6555
+ command.params['name'] = name unless name.nil?
6556
+ command.query['fields'] = fields unless fields.nil?
6557
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
6558
+ execute_or_queue_command(command, &block)
6559
+ end
6560
+
6561
+ # Gets a category on the portal.
6562
+ # @param [String] name
6563
+ # Required. Name of the category. Use the following structure in your request: `
6564
+ # organizations/`org`/sites/`site`/apicategories/`apicategory``
6565
+ # @param [String] fields
6566
+ # Selector specifying which fields to include in a partial response.
6567
+ # @param [String] quota_user
6568
+ # Available to use for quota purposes for server-side applications. Can be any
6569
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
6570
+ # @param [Google::Apis::RequestOptions] options
6571
+ # Request-specific options
6572
+ #
6573
+ # @yield [result, err] Result & error if block supplied
6574
+ # @yieldparam result [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory] parsed result object
6575
+ # @yieldparam err [StandardError] error object if request failed
6576
+ #
6577
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory]
6578
+ #
6579
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
6580
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
6581
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
6582
+ def get_organization_site_apicategory(name, fields: nil, quota_user: nil, options: nil, &block)
6583
+ command = make_simple_command(:get, 'v1/{+name}', options)
6584
+ command.response_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory::Representation
6585
+ command.response_class = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory
6586
+ command.params['name'] = name unless name.nil?
6587
+ command.query['fields'] = fields unless fields.nil?
6588
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
6589
+ execute_or_queue_command(command, &block)
6590
+ end
6591
+
6592
+ # Lists the categories on the portal.
6593
+ # @param [String] parent
6594
+ # Required. Name of the portal. Use the following structure in your request: `
6595
+ # organizations/`org`/sites/`site``
6596
+ # @param [String] fields
6597
+ # Selector specifying which fields to include in a partial response.
6598
+ # @param [String] quota_user
6599
+ # Available to use for quota purposes for server-side applications. Can be any
6600
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
6601
+ # @param [Google::Apis::RequestOptions] options
6602
+ # Request-specific options
6603
+ #
6604
+ # @yield [result, err] Result & error if block supplied
6605
+ # @yieldparam result [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ListApiCategoriesResponse] parsed result object
6606
+ # @yieldparam err [StandardError] error object if request failed
6607
+ #
6608
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ListApiCategoriesResponse]
6609
+ #
6610
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
6611
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
6612
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
6613
+ def list_organization_site_apicategories(parent, fields: nil, quota_user: nil, options: nil, &block)
6614
+ command = make_simple_command(:get, 'v1/{+parent}/apicategories', options)
6615
+ command.response_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ListApiCategoriesResponse::Representation
6616
+ command.response_class = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ListApiCategoriesResponse
6617
+ command.params['parent'] = parent unless parent.nil?
6618
+ command.query['fields'] = fields unless fields.nil?
6619
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
6620
+ execute_or_queue_command(command, &block)
6621
+ end
6622
+
6623
+ # Updates a category on the portal.
6624
+ # @param [String] name
6625
+ # Required. Name of the category. Use the following structure in your request: `
6626
+ # organizations/`org`/sites/`site`/apicategories/`apicategory``
6627
+ # @param [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData] google_cloud_apigee_v1_api_category_data_object
6628
+ # @param [String] fields
6629
+ # Selector specifying which fields to include in a partial response.
6630
+ # @param [String] quota_user
6631
+ # Available to use for quota purposes for server-side applications. Can be any
6632
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
6633
+ # @param [Google::Apis::RequestOptions] options
6634
+ # Request-specific options
6635
+ #
6636
+ # @yield [result, err] Result & error if block supplied
6637
+ # @yieldparam result [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory] parsed result object
6638
+ # @yieldparam err [StandardError] error object if request failed
6639
+ #
6640
+ # @return [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory]
6641
+ #
6642
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
6643
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
6644
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
6645
+ def patch_organization_site_apicategory(name, google_cloud_apigee_v1_api_category_data_object = nil, fields: nil, quota_user: nil, options: nil, &block)
6646
+ command = make_simple_command(:patch, 'v1/{+name}', options)
6647
+ command.request_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategoryData::Representation
6648
+ command.request_object = google_cloud_apigee_v1_api_category_data_object
6649
+ command.response_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory::Representation
6650
+ command.response_class = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ApiCategory
6651
+ command.params['name'] = name unless name.nil?
6652
+ command.query['fields'] = fields unless fields.nil?
6653
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
6654
+ execute_or_queue_command(command, &block)
6655
+ end
6656
+
6657
+ # Provisions a new Apigee organization with a functioning runtime. This is the
6658
+ # standard way to create trial organizations for a free Apigee trial.
6659
+ # @param [String] project
6660
+ # Required. Name of the GCP project with which to associate the Apigee
6661
+ # organization.
6662
+ # @param [Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProvisionOrganizationRequest] google_cloud_apigee_v1_provision_organization_request_object
6663
+ # @param [String] fields
6664
+ # Selector specifying which fields to include in a partial response.
6665
+ # @param [String] quota_user
6666
+ # Available to use for quota purposes for server-side applications. Can be any
6667
+ # arbitrary string assigned to a user, but should not exceed 40 characters.
6668
+ # @param [Google::Apis::RequestOptions] options
6669
+ # Request-specific options
6670
+ #
6671
+ # @yield [result, err] Result & error if block supplied
6672
+ # @yieldparam result [Google::Apis::ApigeeV1::GoogleLongrunningOperation] parsed result object
6673
+ # @yieldparam err [StandardError] error object if request failed
6674
+ #
6675
+ # @return [Google::Apis::ApigeeV1::GoogleLongrunningOperation]
6676
+ #
6677
+ # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
6678
+ # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
6679
+ # @raise [Google::Apis::AuthorizationError] Authorization is required
6680
+ def provision_project_organization(project, google_cloud_apigee_v1_provision_organization_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
6681
+ command = make_simple_command(:post, 'v1/{+project}:provisionOrganization', options)
6682
+ command.request_representation = Google::Apis::ApigeeV1::GoogleCloudApigeeV1ProvisionOrganizationRequest::Representation
6683
+ command.request_object = google_cloud_apigee_v1_provision_organization_request_object
6684
+ command.response_representation = Google::Apis::ApigeeV1::GoogleLongrunningOperation::Representation
6685
+ command.response_class = Google::Apis::ApigeeV1::GoogleLongrunningOperation
6686
+ command.params['project'] = project unless project.nil?
6687
+ command.query['fields'] = fields unless fields.nil?
6688
+ command.query['quotaUser'] = quota_user unless quota_user.nil?
6689
+ execute_or_queue_command(command, &block)
6690
+ end
6491
6691
 
6492
6692
  protected
6493
6693
 
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/apps-marketplace
27
27
  module AppsmarketV2
28
28
  VERSION = 'V2'
29
- REVISION = '20200928'
29
+ REVISION = '20201005'
30
30
 
31
31
  # View your installed application's licensing information
32
32
  AUTH_APPSMARKETPLACE_LICENSE = 'https://www.googleapis.com/auth/appsmarketplace.license'
@@ -0,0 +1,38 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/billingbudgets_v1/service.rb'
16
+ require 'google/apis/billingbudgets_v1/classes.rb'
17
+ require 'google/apis/billingbudgets_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Cloud Billing Budget API
22
+ #
23
+ # The Cloud Billing Budget API stores Cloud Billing budgets, which define a
24
+ # budget plan and the rules to execute as spend is tracked against that plan.
25
+ #
26
+ # @see https://cloud.google.com/billing/docs/how-to/budget-api-overview
27
+ module BillingbudgetsV1
28
+ VERSION = 'V1'
29
+ REVISION = '20200919'
30
+
31
+ # View and manage your Google Cloud Platform billing accounts
32
+ AUTH_CLOUD_BILLING = 'https://www.googleapis.com/auth/cloud-billing'
33
+
34
+ # View and manage your data across Google Cloud Platform services
35
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,362 @@
1
+ # Copyright 2015 Google Inc.
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module BillingbudgetsV1
24
+
25
+ # A budget is a plan that describes what you expect to spend on Cloud projects,
26
+ # plus the rules to execute as spend is tracked against that plan, (for example,
27
+ # send an alert when 90% of the target spend is met). Currently all plans are
28
+ # monthly budgets so the usage period(s) tracked are implied (calendar months of
29
+ # usage back-to-back).
30
+ class GoogleCloudBillingBudgetsV1Budget
31
+ include Google::Apis::Core::Hashable
32
+
33
+ # The budgeted amount for each usage period.
34
+ # Corresponds to the JSON property `amount`
35
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1BudgetAmount]
36
+ attr_accessor :amount
37
+
38
+ # A filter for a budget, limiting the scope of the cost to calculate.
39
+ # Corresponds to the JSON property `budgetFilter`
40
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Filter]
41
+ attr_accessor :budget_filter
42
+
43
+ # User data for display name in UI. The name must be less than or equal to 60
44
+ # characters.
45
+ # Corresponds to the JSON property `displayName`
46
+ # @return [String]
47
+ attr_accessor :display_name
48
+
49
+ # Optional. Etag to validate that the object is unchanged for a read-modify-
50
+ # write operation. An empty etag will cause an update to overwrite other changes.
51
+ # Corresponds to the JSON property `etag`
52
+ # @return [String]
53
+ attr_accessor :etag
54
+
55
+ # Output only. Resource name of the budget. The resource name implies the scope
56
+ # of a budget. Values are of the form `billingAccounts/`billingAccountId`/
57
+ # budgets/`budgetId``.
58
+ # Corresponds to the JSON property `name`
59
+ # @return [String]
60
+ attr_accessor :name
61
+
62
+ # NotificationsRule defines notifications that are sent based on budget spend
63
+ # and thresholds.
64
+ # Corresponds to the JSON property `notificationsRule`
65
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1NotificationsRule]
66
+ attr_accessor :notifications_rule
67
+
68
+ # Optional. Rules that trigger alerts (notifications of thresholds being crossed)
69
+ # when spend exceeds the specified percentages of the budget.
70
+ # Corresponds to the JSON property `thresholdRules`
71
+ # @return [Array<Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1ThresholdRule>]
72
+ attr_accessor :threshold_rules
73
+
74
+ def initialize(**args)
75
+ update!(**args)
76
+ end
77
+
78
+ # Update properties of this object
79
+ def update!(**args)
80
+ @amount = args[:amount] if args.key?(:amount)
81
+ @budget_filter = args[:budget_filter] if args.key?(:budget_filter)
82
+ @display_name = args[:display_name] if args.key?(:display_name)
83
+ @etag = args[:etag] if args.key?(:etag)
84
+ @name = args[:name] if args.key?(:name)
85
+ @notifications_rule = args[:notifications_rule] if args.key?(:notifications_rule)
86
+ @threshold_rules = args[:threshold_rules] if args.key?(:threshold_rules)
87
+ end
88
+ end
89
+
90
+ # The budgeted amount for each usage period.
91
+ class GoogleCloudBillingBudgetsV1BudgetAmount
92
+ include Google::Apis::Core::Hashable
93
+
94
+ # Describes a budget amount targeted to last period's spend. At this time, the
95
+ # amount is automatically 100% of last period's spend; that is, there are no
96
+ # other options yet. Future configuration will be described here (for example,
97
+ # configuring a percentage of last period's spend).
98
+ # Corresponds to the JSON property `lastPeriodAmount`
99
+ # @return [Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1LastPeriodAmount]
100
+ attr_accessor :last_period_amount
101
+
102
+ # Represents an amount of money with its currency type.
103
+ # Corresponds to the JSON property `specifiedAmount`
104
+ # @return [Google::Apis::BillingbudgetsV1::GoogleTypeMoney]
105
+ attr_accessor :specified_amount
106
+
107
+ def initialize(**args)
108
+ update!(**args)
109
+ end
110
+
111
+ # Update properties of this object
112
+ def update!(**args)
113
+ @last_period_amount = args[:last_period_amount] if args.key?(:last_period_amount)
114
+ @specified_amount = args[:specified_amount] if args.key?(:specified_amount)
115
+ end
116
+ end
117
+
118
+ # A filter for a budget, limiting the scope of the cost to calculate.
119
+ class GoogleCloudBillingBudgetsV1Filter
120
+ include Google::Apis::Core::Hashable
121
+
122
+ # Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`.
123
+ # Corresponds to the JSON property `creditTypesTreatment`
124
+ # @return [String]
125
+ attr_accessor :credit_types_treatment
126
+
127
+ # Optional. A single label and value pair specifying that usage from only this
128
+ # set of labeled resources should be included in the budget. Currently, multiple
129
+ # entries or multiple values per entry are not allowed. If omitted, the report
130
+ # will include all labeled and unlabeled usage.
131
+ # Corresponds to the JSON property `labels`
132
+ # @return [Hash<String,Array<Object>>]
133
+ attr_accessor :labels
134
+
135
+ # Optional. A set of projects of the form `projects/`project``, specifying that
136
+ # usage from only this set of projects should be included in the budget. If
137
+ # omitted, the report will include all usage for the billing account, regardless
138
+ # of which project the usage occurred on. Only zero or one project can be
139
+ # specified currently.
140
+ # Corresponds to the JSON property `projects`
141
+ # @return [Array<String>]
142
+ attr_accessor :projects
143
+
144
+ # Optional. A set of services of the form `services/`service_id``, specifying
145
+ # that usage from only this set of services should be included in the budget. If
146
+ # omitted, the report will include usage for all the services. The service names
147
+ # are available through the Catalog API: https://cloud.google.com/billing/v1/how-
148
+ # tos/catalog-api.
149
+ # Corresponds to the JSON property `services`
150
+ # @return [Array<String>]
151
+ attr_accessor :services
152
+
153
+ # Optional. A set of subaccounts of the form `billingAccounts/`account_id``,
154
+ # specifying that usage from only this set of subaccounts should be included in
155
+ # the budget. If a subaccount is set to the name of the parent account, usage
156
+ # from the parent account will be included. If the field is omitted, the report
157
+ # will include usage from the parent account and all subaccounts, if they exist.
158
+ # Corresponds to the JSON property `subaccounts`
159
+ # @return [Array<String>]
160
+ attr_accessor :subaccounts
161
+
162
+ def initialize(**args)
163
+ update!(**args)
164
+ end
165
+
166
+ # Update properties of this object
167
+ def update!(**args)
168
+ @credit_types_treatment = args[:credit_types_treatment] if args.key?(:credit_types_treatment)
169
+ @labels = args[:labels] if args.key?(:labels)
170
+ @projects = args[:projects] if args.key?(:projects)
171
+ @services = args[:services] if args.key?(:services)
172
+ @subaccounts = args[:subaccounts] if args.key?(:subaccounts)
173
+ end
174
+ end
175
+
176
+ # Describes a budget amount targeted to last period's spend. At this time, the
177
+ # amount is automatically 100% of last period's spend; that is, there are no
178
+ # other options yet. Future configuration will be described here (for example,
179
+ # configuring a percentage of last period's spend).
180
+ class GoogleCloudBillingBudgetsV1LastPeriodAmount
181
+ include Google::Apis::Core::Hashable
182
+
183
+ def initialize(**args)
184
+ update!(**args)
185
+ end
186
+
187
+ # Update properties of this object
188
+ def update!(**args)
189
+ end
190
+ end
191
+
192
+ # Response for ListBudgets
193
+ class GoogleCloudBillingBudgetsV1ListBudgetsResponse
194
+ include Google::Apis::Core::Hashable
195
+
196
+ # List of the budgets owned by the requested billing account.
197
+ # Corresponds to the JSON property `budgets`
198
+ # @return [Array<Google::Apis::BillingbudgetsV1::GoogleCloudBillingBudgetsV1Budget>]
199
+ attr_accessor :budgets
200
+
201
+ # If not empty, indicates that there may be more budgets that match the request;
202
+ # this value should be passed in a new `ListBudgetsRequest`.
203
+ # Corresponds to the JSON property `nextPageToken`
204
+ # @return [String]
205
+ attr_accessor :next_page_token
206
+
207
+ def initialize(**args)
208
+ update!(**args)
209
+ end
210
+
211
+ # Update properties of this object
212
+ def update!(**args)
213
+ @budgets = args[:budgets] if args.key?(:budgets)
214
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
215
+ end
216
+ end
217
+
218
+ # NotificationsRule defines notifications that are sent based on budget spend
219
+ # and thresholds.
220
+ class GoogleCloudBillingBudgetsV1NotificationsRule
221
+ include Google::Apis::Core::Hashable
222
+
223
+ # Optional. When set to true, disables default notifications sent when a
224
+ # threshold is exceeded. Default notifications are sent to those with Billing
225
+ # Account Administrator and Billing Account User IAM roles for the target
226
+ # account.
227
+ # Corresponds to the JSON property `disableDefaultIamRecipients`
228
+ # @return [Boolean]
229
+ attr_accessor :disable_default_iam_recipients
230
+ alias_method :disable_default_iam_recipients?, :disable_default_iam_recipients
231
+
232
+ # Optional. Targets to send notifications to when a threshold is exceeded. This
233
+ # is in addition to default recipients who have billing account IAM roles. The
234
+ # value is the full REST resource name of a monitoring notification channel with
235
+ # the form `projects/`project_id`/notificationChannels/`channel_id``. A maximum
236
+ # of 5 channels are allowed. See https://cloud.google.com/billing/docs/how-to/
237
+ # budgets-notification-recipients for more details.
238
+ # Corresponds to the JSON property `monitoringNotificationChannels`
239
+ # @return [Array<String>]
240
+ attr_accessor :monitoring_notification_channels
241
+
242
+ # Optional. The name of the Pub/Sub topic where budget related messages will be
243
+ # published, in the form `projects/`project_id`/topics/`topic_id``. Updates are
244
+ # sent at regular intervals to the topic. The topic needs to be created before
245
+ # the budget is created; see https://cloud.google.com/billing/docs/how-to/
246
+ # budgets#manage-notifications for more details. Caller is expected to have `
247
+ # pubsub.topics.setIamPolicy` permission on the topic when it's set for a budget,
248
+ # otherwise, the API call will fail with PERMISSION_DENIED. See https://cloud.
249
+ # google.com/billing/docs/how-to/budgets-programmatic-notifications for more
250
+ # details on Pub/Sub roles and permissions.
251
+ # Corresponds to the JSON property `pubsubTopic`
252
+ # @return [String]
253
+ attr_accessor :pubsub_topic
254
+
255
+ # Optional. The schema version of the notification sent to `pubsub_topic`. Only "
256
+ # 1.0" is accepted. It represents the JSON schema as defined in https://cloud.
257
+ # google.com/billing/docs/how-to/budgets-programmatic-notifications#
258
+ # notification_format
259
+ # Corresponds to the JSON property `schemaVersion`
260
+ # @return [String]
261
+ attr_accessor :schema_version
262
+
263
+ def initialize(**args)
264
+ update!(**args)
265
+ end
266
+
267
+ # Update properties of this object
268
+ def update!(**args)
269
+ @disable_default_iam_recipients = args[:disable_default_iam_recipients] if args.key?(:disable_default_iam_recipients)
270
+ @monitoring_notification_channels = args[:monitoring_notification_channels] if args.key?(:monitoring_notification_channels)
271
+ @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic)
272
+ @schema_version = args[:schema_version] if args.key?(:schema_version)
273
+ end
274
+ end
275
+
276
+ # ThresholdRule contains a definition of a threshold which triggers an alert (a
277
+ # notification of a threshold being crossed) to be sent when spend goes above
278
+ # the specified amount. Alerts are automatically e-mailed to users with the
279
+ # Billing Account Administrator role or the Billing Account User role. The
280
+ # thresholds here have no effect on notifications sent to anything configured
281
+ # under `Budget.all_updates_rule`.
282
+ class GoogleCloudBillingBudgetsV1ThresholdRule
283
+ include Google::Apis::Core::Hashable
284
+
285
+ # Optional. The type of basis used to determine if spend has passed the
286
+ # threshold. Behavior defaults to CURRENT_SPEND if not set.
287
+ # Corresponds to the JSON property `spendBasis`
288
+ # @return [String]
289
+ attr_accessor :spend_basis
290
+
291
+ # Required. Send an alert when this threshold is exceeded. This is a 1.0-based
292
+ # percentage, so 0.5 = 50%. Validation: non-negative number.
293
+ # Corresponds to the JSON property `thresholdPercent`
294
+ # @return [Float]
295
+ attr_accessor :threshold_percent
296
+
297
+ def initialize(**args)
298
+ update!(**args)
299
+ end
300
+
301
+ # Update properties of this object
302
+ def update!(**args)
303
+ @spend_basis = args[:spend_basis] if args.key?(:spend_basis)
304
+ @threshold_percent = args[:threshold_percent] if args.key?(:threshold_percent)
305
+ end
306
+ end
307
+
308
+ # A generic empty message that you can re-use to avoid defining duplicated empty
309
+ # messages in your APIs. A typical example is to use it as the request or the
310
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
311
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
312
+ # `Empty` is empty JSON object ````.
313
+ class GoogleProtobufEmpty
314
+ include Google::Apis::Core::Hashable
315
+
316
+ def initialize(**args)
317
+ update!(**args)
318
+ end
319
+
320
+ # Update properties of this object
321
+ def update!(**args)
322
+ end
323
+ end
324
+
325
+ # Represents an amount of money with its currency type.
326
+ class GoogleTypeMoney
327
+ include Google::Apis::Core::Hashable
328
+
329
+ # The 3-letter currency code defined in ISO 4217.
330
+ # Corresponds to the JSON property `currencyCode`
331
+ # @return [String]
332
+ attr_accessor :currency_code
333
+
334
+ # Number of nano (10^-9) units of the amount. The value must be between -999,999,
335
+ # 999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be
336
+ # positive or zero. If `units` is zero, `nanos` can be positive, zero, or
337
+ # negative. If `units` is negative, `nanos` must be negative or zero. For
338
+ # example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.
339
+ # Corresponds to the JSON property `nanos`
340
+ # @return [Fixnum]
341
+ attr_accessor :nanos
342
+
343
+ # The whole units of the amount. For example if `currencyCode` is `"USD"`, then
344
+ # 1 unit is one US dollar.
345
+ # Corresponds to the JSON property `units`
346
+ # @return [Fixnum]
347
+ attr_accessor :units
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @currency_code = args[:currency_code] if args.key?(:currency_code)
356
+ @nanos = args[:nanos] if args.key?(:nanos)
357
+ @units = args[:units] if args.key?(:units)
358
+ end
359
+ end
360
+ end
361
+ end
362
+ end