google-api-client 0.51.0 → 0.52.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (218) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/release-please.yml +23 -45
  3. data/CHANGELOG.md +100 -0
  4. data/README.md +2 -2
  5. data/generated/google/apis/admin_datatransfer_v1.rb +2 -2
  6. data/generated/google/apis/admin_datatransfer_v1/classes.rb +6 -16
  7. data/generated/google/apis/admin_datatransfer_v1/service.rb +3 -3
  8. data/generated/google/apis/admin_directory_v1.rb +2 -2
  9. data/generated/google/apis/admin_directory_v1/classes.rb +453 -321
  10. data/generated/google/apis/admin_directory_v1/representations.rb +15 -15
  11. data/generated/google/apis/admin_directory_v1/service.rb +323 -183
  12. data/generated/google/apis/admin_reports_v1.rb +2 -2
  13. data/generated/google/apis/admin_reports_v1/classes.rb +48 -43
  14. data/generated/google/apis/admin_reports_v1/service.rb +198 -179
  15. data/generated/google/apis/alertcenter_v1beta1.rb +1 -1
  16. data/generated/google/apis/analytics_v3/service.rb +1 -1
  17. data/generated/google/apis/analyticsadmin_v1alpha.rb +1 -1
  18. data/generated/google/apis/analyticsadmin_v1alpha/classes.rb +2 -2
  19. data/generated/google/apis/analyticsadmin_v1alpha/service.rb +5 -12
  20. data/generated/google/apis/analyticsdata_v1alpha.rb +1 -1
  21. data/generated/google/apis/analyticsdata_v1alpha/classes.rb +11 -11
  22. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  23. data/generated/google/apis/apigateway_v1beta.rb +1 -1
  24. data/generated/google/apis/apigateway_v1beta/classes.rb +3 -9
  25. data/generated/google/apis/apigateway_v1beta/representations.rb +0 -1
  26. data/generated/google/apis/apigee_v1.rb +1 -1
  27. data/generated/google/apis/apigee_v1/classes.rb +71 -0
  28. data/generated/google/apis/apigee_v1/representations.rb +42 -0
  29. data/generated/google/apis/apigee_v1/service.rb +206 -0
  30. data/generated/google/apis/appengine_v1.rb +1 -1
  31. data/generated/google/apis/appengine_v1/classes.rb +7 -0
  32. data/generated/google/apis/appengine_v1/representations.rb +1 -0
  33. data/generated/google/apis/artifactregistry_v1beta1.rb +1 -1
  34. data/generated/google/apis/artifactregistry_v1beta1/classes.rb +2 -2
  35. data/generated/google/apis/artifactregistry_v1beta1/service.rb +4 -1
  36. data/generated/google/apis/artifactregistry_v1beta2.rb +1 -1
  37. data/generated/google/apis/artifactregistry_v1beta2/classes.rb +2 -2
  38. data/generated/google/apis/artifactregistry_v1beta2/service.rb +4 -1
  39. data/generated/google/apis/cloudasset_v1.rb +1 -1
  40. data/generated/google/apis/cloudbuild_v1.rb +1 -1
  41. data/generated/google/apis/cloudbuild_v1alpha1.rb +1 -1
  42. data/generated/google/apis/cloudbuild_v1alpha2.rb +1 -1
  43. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  44. data/generated/google/apis/cloudfunctions_v1/classes.rb +6 -0
  45. data/generated/google/apis/cloudfunctions_v1/representations.rb +1 -0
  46. data/generated/google/apis/cloudidentity_v1.rb +1 -1
  47. data/generated/google/apis/cloudidentity_v1/classes.rb +240 -0
  48. data/generated/google/apis/cloudidentity_v1/representations.rb +125 -0
  49. data/generated/google/apis/cloudidentity_v1/service.rb +202 -2
  50. data/generated/google/apis/cloudidentity_v1beta1.rb +1 -1
  51. data/generated/google/apis/cloudidentity_v1beta1/service.rb +8 -2
  52. data/generated/google/apis/cloudkms_v1.rb +1 -1
  53. data/generated/google/apis/cloudkms_v1/classes.rb +0 -6
  54. data/generated/google/apis/cloudkms_v1/representations.rb +0 -1
  55. data/generated/google/apis/cloudscheduler_v1beta1.rb +1 -1
  56. data/generated/google/apis/cloudscheduler_v1beta1/classes.rb +19 -0
  57. data/generated/google/apis/cloudscheduler_v1beta1/representations.rb +2 -0
  58. data/generated/google/apis/cloudscheduler_v1beta1/service.rb +12 -2
  59. data/generated/google/apis/cloudtasks_v2beta2.rb +1 -1
  60. data/generated/google/apis/cloudtasks_v2beta2/classes.rb +59 -0
  61. data/generated/google/apis/cloudtasks_v2beta2/representations.rb +19 -0
  62. data/generated/google/apis/cloudtasks_v2beta3.rb +1 -1
  63. data/generated/google/apis/cloudtasks_v2beta3/classes.rb +102 -0
  64. data/generated/google/apis/cloudtasks_v2beta3/representations.rb +35 -0
  65. data/generated/google/apis/cloudtasks_v2beta3/service.rb +16 -2
  66. data/generated/google/apis/composer_v1beta1.rb +1 -1
  67. data/generated/google/apis/composer_v1beta1/classes.rb +64 -0
  68. data/generated/google/apis/composer_v1beta1/representations.rb +18 -0
  69. data/generated/google/apis/compute_alpha.rb +1 -1
  70. data/generated/google/apis/compute_alpha/classes.rb +1071 -341
  71. data/generated/google/apis/compute_alpha/representations.rb +248 -19
  72. data/generated/google/apis/compute_alpha/service.rb +291 -15
  73. data/generated/google/apis/compute_beta.rb +1 -1
  74. data/generated/google/apis/compute_beta/classes.rb +926 -283
  75. data/generated/google/apis/compute_beta/representations.rb +221 -18
  76. data/generated/google/apis/compute_beta/service.rb +24 -15
  77. data/generated/google/apis/compute_v1.rb +1 -1
  78. data/generated/google/apis/compute_v1/classes.rb +419 -158
  79. data/generated/google/apis/compute_v1/representations.rb +55 -0
  80. data/generated/google/apis/compute_v1/service.rb +9 -7
  81. data/generated/google/apis/container_v1.rb +1 -1
  82. data/generated/google/apis/container_v1/classes.rb +48 -9
  83. data/generated/google/apis/container_v1/representations.rb +17 -0
  84. data/generated/google/apis/container_v1/service.rb +4 -2
  85. data/generated/google/apis/container_v1beta1.rb +1 -1
  86. data/generated/google/apis/container_v1beta1/classes.rb +24 -13
  87. data/generated/google/apis/container_v1beta1/representations.rb +2 -0
  88. data/generated/google/apis/container_v1beta1/service.rb +6 -2
  89. data/generated/google/apis/content_v2_1.rb +1 -1
  90. data/generated/google/apis/content_v2_1/classes.rb +16 -7
  91. data/generated/google/apis/content_v2_1/representations.rb +1 -0
  92. data/generated/google/apis/datamigration_v1beta1.rb +1 -1
  93. data/generated/google/apis/datamigration_v1beta1/classes.rb +0 -6
  94. data/generated/google/apis/datamigration_v1beta1/representations.rb +0 -1
  95. data/generated/google/apis/deploymentmanager_alpha.rb +6 -5
  96. data/generated/google/apis/deploymentmanager_alpha/classes.rb +276 -644
  97. data/generated/google/apis/deploymentmanager_alpha/representations.rb +10 -143
  98. data/generated/google/apis/deploymentmanager_alpha/service.rb +247 -398
  99. data/generated/google/apis/deploymentmanager_v2.rb +1 -1
  100. data/generated/google/apis/deploymentmanager_v2/service.rb +5 -25
  101. data/generated/google/apis/deploymentmanager_v2beta.rb +1 -1
  102. data/generated/google/apis/deploymentmanager_v2beta/service.rb +8 -40
  103. data/generated/google/apis/dialogflow_v2.rb +1 -1
  104. data/generated/google/apis/dialogflow_v2/classes.rb +692 -0
  105. data/generated/google/apis/dialogflow_v2/representations.rb +326 -0
  106. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  107. data/generated/google/apis/dialogflow_v2beta1/classes.rb +692 -0
  108. data/generated/google/apis/dialogflow_v2beta1/representations.rb +326 -0
  109. data/generated/google/apis/{bigqueryreservation_v1alpha2.rb → dialogflow_v3.rb} +13 -12
  110. data/generated/google/apis/dialogflow_v3/classes.rb +8943 -0
  111. data/generated/google/apis/dialogflow_v3/representations.rb +3773 -0
  112. data/generated/google/apis/dialogflow_v3/service.rb +3006 -0
  113. data/generated/google/apis/dialogflow_v3beta1.rb +1 -1
  114. data/generated/google/apis/dialogflow_v3beta1/classes.rb +784 -0
  115. data/generated/google/apis/dialogflow_v3beta1/representations.rb +360 -0
  116. data/generated/google/apis/dialogflow_v3beta1/service.rb +173 -0
  117. data/generated/google/apis/dlp_v2.rb +1 -1
  118. data/generated/google/apis/dlp_v2/service.rb +294 -1
  119. data/generated/google/apis/dns_v1.rb +1 -1
  120. data/generated/google/apis/dns_v1/classes.rb +65 -0
  121. data/generated/google/apis/dns_v1/representations.rb +32 -0
  122. data/generated/google/apis/documentai_v1beta2.rb +1 -1
  123. data/generated/google/apis/documentai_v1beta2/classes.rb +220 -102
  124. data/generated/google/apis/documentai_v1beta2/representations.rb +105 -9
  125. data/generated/google/apis/documentai_v1beta3.rb +1 -1
  126. data/generated/google/apis/documentai_v1beta3/classes.rb +241 -117
  127. data/generated/google/apis/documentai_v1beta3/representations.rb +105 -9
  128. data/generated/google/apis/documentai_v1beta3/service.rb +81 -2
  129. data/generated/google/apis/eventarc_v1beta1.rb +1 -1
  130. data/generated/google/apis/eventarc_v1beta1/classes.rb +8 -9
  131. data/generated/google/apis/eventarc_v1beta1/service.rb +25 -5
  132. data/generated/google/apis/file_v1.rb +1 -1
  133. data/generated/google/apis/file_v1/classes.rb +61 -0
  134. data/generated/google/apis/file_v1/representations.rb +19 -0
  135. data/generated/google/apis/genomics_v2alpha1.rb +1 -1
  136. data/generated/google/apis/genomics_v2alpha1/classes.rb +11 -7
  137. data/generated/google/apis/healthcare_v1.rb +1 -1
  138. data/generated/google/apis/healthcare_v1/classes.rb +0 -6
  139. data/generated/google/apis/healthcare_v1/representations.rb +0 -1
  140. data/generated/google/apis/healthcare_v1/service.rb +13 -12
  141. data/generated/google/apis/healthcare_v1beta1.rb +1 -1
  142. data/generated/google/apis/healthcare_v1beta1/classes.rb +45 -19
  143. data/generated/google/apis/healthcare_v1beta1/representations.rb +3 -1
  144. data/generated/google/apis/healthcare_v1beta1/service.rb +37 -37
  145. data/generated/google/apis/iap_v1.rb +1 -1
  146. data/generated/google/apis/iap_v1/classes.rb +0 -6
  147. data/generated/google/apis/iap_v1/representations.rb +0 -1
  148. data/generated/google/apis/iap_v1beta1.rb +1 -1
  149. data/generated/google/apis/iap_v1beta1/classes.rb +0 -6
  150. data/generated/google/apis/iap_v1beta1/representations.rb +0 -1
  151. data/generated/google/apis/metastore_v1beta.rb +35 -0
  152. data/generated/google/apis/metastore_v1beta/classes.rb +1151 -0
  153. data/generated/google/apis/metastore_v1beta/representations.rb +479 -0
  154. data/generated/google/apis/metastore_v1beta/service.rb +800 -0
  155. data/generated/google/apis/ml_v1.rb +1 -1
  156. data/generated/google/apis/ml_v1/classes.rb +51 -18
  157. data/generated/google/apis/ml_v1/representations.rb +16 -0
  158. data/generated/google/apis/monitoring_v3.rb +1 -1
  159. data/generated/google/apis/monitoring_v3/classes.rb +8 -4
  160. data/generated/google/apis/privateca_v1beta1.rb +1 -1
  161. data/generated/google/apis/privateca_v1beta1/classes.rb +2 -1
  162. data/generated/google/apis/prod_tt_sasportal_v1alpha1.rb +1 -1
  163. data/generated/google/apis/prod_tt_sasportal_v1alpha1/classes.rb +37 -0
  164. data/generated/google/apis/prod_tt_sasportal_v1alpha1/representations.rb +18 -0
  165. data/generated/google/apis/recommender_v1beta1.rb +1 -1
  166. data/generated/google/apis/recommender_v1beta1/service.rb +317 -0
  167. data/generated/google/apis/redis_v1.rb +1 -1
  168. data/generated/google/apis/redis_v1/classes.rb +2 -2
  169. data/generated/google/apis/redis_v1beta1.rb +1 -1
  170. data/generated/google/apis/redis_v1beta1/classes.rb +2 -2
  171. data/generated/google/apis/safebrowsing_v4.rb +1 -1
  172. data/generated/google/apis/safebrowsing_v4/classes.rb +277 -277
  173. data/generated/google/apis/safebrowsing_v4/representations.rb +128 -128
  174. data/generated/google/apis/safebrowsing_v4/service.rb +44 -44
  175. data/generated/google/apis/searchconsole_v1.rb +1 -1
  176. data/generated/google/apis/searchconsole_v1/classes.rb +7 -0
  177. data/generated/google/apis/searchconsole_v1/representations.rb +1 -0
  178. data/generated/google/apis/serviceconsumermanagement_v1beta1.rb +1 -1
  179. data/generated/google/apis/serviceconsumermanagement_v1beta1/classes.rb +11 -10
  180. data/generated/google/apis/servicecontrol_v1.rb +3 -3
  181. data/generated/google/apis/servicecontrol_v1/service.rb +2 -2
  182. data/generated/google/apis/servicecontrol_v2.rb +3 -3
  183. data/generated/google/apis/servicecontrol_v2/service.rb +2 -2
  184. data/generated/google/apis/servicedirectory_v1.rb +35 -0
  185. data/generated/google/apis/servicedirectory_v1/classes.rb +721 -0
  186. data/generated/google/apis/servicedirectory_v1/representations.rb +304 -0
  187. data/generated/google/apis/servicedirectory_v1/service.rb +957 -0
  188. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  189. data/generated/google/apis/servicenetworking_v1/classes.rb +1 -1
  190. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  191. data/generated/google/apis/servicenetworking_v1beta/classes.rb +1 -1
  192. data/generated/google/apis/serviceusage_v1.rb +1 -1
  193. data/generated/google/apis/serviceusage_v1/classes.rb +11 -10
  194. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  195. data/generated/google/apis/serviceusage_v1beta1/classes.rb +11 -10
  196. data/generated/google/apis/slides_v1.rb +1 -1
  197. data/generated/google/apis/slides_v1/classes.rb +9 -3
  198. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  199. data/generated/google/apis/speech_v1p1beta1/classes.rb +0 -22
  200. data/generated/google/apis/speech_v1p1beta1/representations.rb +0 -2
  201. data/generated/google/apis/testing_v1.rb +1 -1
  202. data/generated/google/apis/testing_v1/classes.rb +1 -1
  203. data/generated/google/apis/trafficdirector_v2.rb +2 -2
  204. data/generated/google/apis/trafficdirector_v2/service.rb +1 -1
  205. data/generated/google/apis/transcoder_v1beta1.rb +1 -1
  206. data/generated/google/apis/transcoder_v1beta1/classes.rb +12 -2
  207. data/generated/google/apis/transcoder_v1beta1/representations.rb +1 -0
  208. data/generated/google/apis/translate_v3.rb +1 -1
  209. data/generated/google/apis/translate_v3/classes.rb +1 -1
  210. data/generated/google/apis/translate_v3beta1.rb +1 -1
  211. data/generated/google/apis/translate_v3beta1/classes.rb +1 -1
  212. data/generated/google/apis/workflows_v1beta.rb +1 -1
  213. data/generated/google/apis/workflows_v1beta/classes.rb +4 -4
  214. data/lib/google/apis/version.rb +1 -1
  215. metadata +15 -7
  216. data/generated/google/apis/bigqueryreservation_v1alpha2/classes.rb +0 -426
  217. data/generated/google/apis/bigqueryreservation_v1alpha2/representations.rb +0 -195
  218. data/generated/google/apis/bigqueryreservation_v1alpha2/service.rb +0 -622
@@ -68,18 +68,18 @@ module Google
68
68
  # Request-specific options
69
69
  #
70
70
  # @yield [result, err] Result & error if block supplied
71
- # @yieldparam result [Google::Apis::SafebrowsingV4::FindFullHashesResponse] parsed result object
71
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse] parsed result object
72
72
  # @yieldparam err [StandardError] error object if request failed
73
73
  #
74
- # @return [Google::Apis::SafebrowsingV4::FindFullHashesResponse]
74
+ # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse]
75
75
  #
76
76
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
77
77
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
78
78
  # @raise [Google::Apis::AuthorizationError] Authorization is required
79
79
  def get_encoded_full_hash(encoded_request, client_id: nil, client_version: nil, fields: nil, quota_user: nil, options: nil, &block)
80
80
  command = make_simple_command(:get, 'v4/encodedFullHashes/{encodedRequest}', options)
81
- command.response_representation = Google::Apis::SafebrowsingV4::FindFullHashesResponse::Representation
82
- command.response_class = Google::Apis::SafebrowsingV4::FindFullHashesResponse
81
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse::Representation
82
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse
83
83
  command.params['encodedRequest'] = encoded_request unless encoded_request.nil?
84
84
  command.query['clientId'] = client_id unless client_id.nil?
85
85
  command.query['clientVersion'] = client_version unless client_version.nil?
@@ -105,18 +105,18 @@ module Google
105
105
  # Request-specific options
106
106
  #
107
107
  # @yield [result, err] Result & error if block supplied
108
- # @yieldparam result [Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse] parsed result object
108
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse] parsed result object
109
109
  # @yieldparam err [StandardError] error object if request failed
110
110
  #
111
- # @return [Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse]
111
+ # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse]
112
112
  #
113
113
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
114
114
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
115
115
  # @raise [Google::Apis::AuthorizationError] Authorization is required
116
116
  def get_encoded_update(encoded_request, client_id: nil, client_version: nil, fields: nil, quota_user: nil, options: nil, &block)
117
117
  command = make_simple_command(:get, 'v4/encodedUpdates/{encodedRequest}', options)
118
- command.response_representation = Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse::Representation
119
- command.response_class = Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse
118
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse::Representation
119
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse
120
120
  command.params['encodedRequest'] = encoded_request unless encoded_request.nil?
121
121
  command.query['clientId'] = client_id unless client_id.nil?
122
122
  command.query['clientVersion'] = client_version unless client_version.nil?
@@ -126,7 +126,7 @@ module Google
126
126
  end
127
127
 
128
128
  # Finds the full hashes that match the requested hash prefixes.
129
- # @param [Google::Apis::SafebrowsingV4::FindFullHashesRequest] find_full_hashes_request_object
129
+ # @param [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesRequest] google_security_safebrowsing_v4_find_full_hashes_request_object
130
130
  # @param [String] fields
131
131
  # Selector specifying which fields to include in a partial response.
132
132
  # @param [String] quota_user
@@ -136,20 +136,20 @@ module Google
136
136
  # Request-specific options
137
137
  #
138
138
  # @yield [result, err] Result & error if block supplied
139
- # @yieldparam result [Google::Apis::SafebrowsingV4::FindFullHashesResponse] parsed result object
139
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse] parsed result object
140
140
  # @yieldparam err [StandardError] error object if request failed
141
141
  #
142
- # @return [Google::Apis::SafebrowsingV4::FindFullHashesResponse]
142
+ # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse]
143
143
  #
144
144
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
145
145
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
146
146
  # @raise [Google::Apis::AuthorizationError] Authorization is required
147
- def find_full_hashes(find_full_hashes_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
147
+ def find_full_hashes(google_security_safebrowsing_v4_find_full_hashes_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
148
148
  command = make_simple_command(:post, 'v4/fullHashes:find', options)
149
- command.request_representation = Google::Apis::SafebrowsingV4::FindFullHashesRequest::Representation
150
- command.request_object = find_full_hashes_request_object
151
- command.response_representation = Google::Apis::SafebrowsingV4::FindFullHashesResponse::Representation
152
- command.response_class = Google::Apis::SafebrowsingV4::FindFullHashesResponse
149
+ command.request_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesRequest::Representation
150
+ command.request_object = google_security_safebrowsing_v4_find_full_hashes_request_object
151
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse::Representation
152
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindFullHashesResponse
153
153
  command.query['fields'] = fields unless fields.nil?
154
154
  command.query['quotaUser'] = quota_user unless quota_user.nil?
155
155
  execute_or_queue_command(command, &block)
@@ -157,7 +157,7 @@ module Google
157
157
 
158
158
  # Reports a Safe Browsing threat list hit to Google. Only projects with
159
159
  # TRUSTED_REPORTER visibility can use this method.
160
- # @param [Google::Apis::SafebrowsingV4::ThreatHit] threat_hit_object
160
+ # @param [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatHit] google_security_safebrowsing_v4_threat_hit_object
161
161
  # @param [String] fields
162
162
  # Selector specifying which fields to include in a partial response.
163
163
  # @param [String] quota_user
@@ -167,20 +167,20 @@ module Google
167
167
  # Request-specific options
168
168
  #
169
169
  # @yield [result, err] Result & error if block supplied
170
- # @yieldparam result [Google::Apis::SafebrowsingV4::Empty] parsed result object
170
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleProtobufEmpty] parsed result object
171
171
  # @yieldparam err [StandardError] error object if request failed
172
172
  #
173
- # @return [Google::Apis::SafebrowsingV4::Empty]
173
+ # @return [Google::Apis::SafebrowsingV4::GoogleProtobufEmpty]
174
174
  #
175
175
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
176
176
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
177
177
  # @raise [Google::Apis::AuthorizationError] Authorization is required
178
- def create_threat_hit(threat_hit_object = nil, fields: nil, quota_user: nil, options: nil, &block)
178
+ def create_threat_hit(google_security_safebrowsing_v4_threat_hit_object = nil, fields: nil, quota_user: nil, options: nil, &block)
179
179
  command = make_simple_command(:post, 'v4/threatHits', options)
180
- command.request_representation = Google::Apis::SafebrowsingV4::ThreatHit::Representation
181
- command.request_object = threat_hit_object
182
- command.response_representation = Google::Apis::SafebrowsingV4::Empty::Representation
183
- command.response_class = Google::Apis::SafebrowsingV4::Empty
180
+ command.request_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ThreatHit::Representation
181
+ command.request_object = google_security_safebrowsing_v4_threat_hit_object
182
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleProtobufEmpty::Representation
183
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleProtobufEmpty
184
184
  command.query['fields'] = fields unless fields.nil?
185
185
  command.query['quotaUser'] = quota_user unless quota_user.nil?
186
186
  execute_or_queue_command(command, &block)
@@ -188,7 +188,7 @@ module Google
188
188
 
189
189
  # Fetches the most recent threat list updates. A client can request updates for
190
190
  # multiple lists at once.
191
- # @param [Google::Apis::SafebrowsingV4::FetchThreatListUpdatesRequest] fetch_threat_list_updates_request_object
191
+ # @param [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest] google_security_safebrowsing_v4_fetch_threat_list_updates_request_object
192
192
  # @param [String] fields
193
193
  # Selector specifying which fields to include in a partial response.
194
194
  # @param [String] quota_user
@@ -198,20 +198,20 @@ module Google
198
198
  # Request-specific options
199
199
  #
200
200
  # @yield [result, err] Result & error if block supplied
201
- # @yieldparam result [Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse] parsed result object
201
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse] parsed result object
202
202
  # @yieldparam err [StandardError] error object if request failed
203
203
  #
204
- # @return [Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse]
204
+ # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse]
205
205
  #
206
206
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
207
207
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
208
208
  # @raise [Google::Apis::AuthorizationError] Authorization is required
209
- def fetch_threat_list_updates(fetch_threat_list_updates_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
209
+ def fetch_threat_list_updates(google_security_safebrowsing_v4_fetch_threat_list_updates_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
210
210
  command = make_simple_command(:post, 'v4/threatListUpdates:fetch', options)
211
- command.request_representation = Google::Apis::SafebrowsingV4::FetchThreatListUpdatesRequest::Representation
212
- command.request_object = fetch_threat_list_updates_request_object
213
- command.response_representation = Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse::Representation
214
- command.response_class = Google::Apis::SafebrowsingV4::FetchThreatListUpdatesResponse
211
+ command.request_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesRequest::Representation
212
+ command.request_object = google_security_safebrowsing_v4_fetch_threat_list_updates_request_object
213
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse::Representation
214
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FetchThreatListUpdatesResponse
215
215
  command.query['fields'] = fields unless fields.nil?
216
216
  command.query['quotaUser'] = quota_user unless quota_user.nil?
217
217
  execute_or_queue_command(command, &block)
@@ -227,25 +227,25 @@ module Google
227
227
  # Request-specific options
228
228
  #
229
229
  # @yield [result, err] Result & error if block supplied
230
- # @yieldparam result [Google::Apis::SafebrowsingV4::ListThreatListsResponse] parsed result object
230
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ListThreatListsResponse] parsed result object
231
231
  # @yieldparam err [StandardError] error object if request failed
232
232
  #
233
- # @return [Google::Apis::SafebrowsingV4::ListThreatListsResponse]
233
+ # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ListThreatListsResponse]
234
234
  #
235
235
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
236
236
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
237
237
  # @raise [Google::Apis::AuthorizationError] Authorization is required
238
238
  def list_threat_lists(fields: nil, quota_user: nil, options: nil, &block)
239
239
  command = make_simple_command(:get, 'v4/threatLists', options)
240
- command.response_representation = Google::Apis::SafebrowsingV4::ListThreatListsResponse::Representation
241
- command.response_class = Google::Apis::SafebrowsingV4::ListThreatListsResponse
240
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ListThreatListsResponse::Representation
241
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4ListThreatListsResponse
242
242
  command.query['fields'] = fields unless fields.nil?
243
243
  command.query['quotaUser'] = quota_user unless quota_user.nil?
244
244
  execute_or_queue_command(command, &block)
245
245
  end
246
246
 
247
247
  # Finds the threat entries that match the Safe Browsing lists.
248
- # @param [Google::Apis::SafebrowsingV4::FindThreatMatchesRequest] find_threat_matches_request_object
248
+ # @param [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindThreatMatchesRequest] google_security_safebrowsing_v4_find_threat_matches_request_object
249
249
  # @param [String] fields
250
250
  # Selector specifying which fields to include in a partial response.
251
251
  # @param [String] quota_user
@@ -255,20 +255,20 @@ module Google
255
255
  # Request-specific options
256
256
  #
257
257
  # @yield [result, err] Result & error if block supplied
258
- # @yieldparam result [Google::Apis::SafebrowsingV4::FindThreatMatchesResponse] parsed result object
258
+ # @yieldparam result [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindThreatMatchesResponse] parsed result object
259
259
  # @yieldparam err [StandardError] error object if request failed
260
260
  #
261
- # @return [Google::Apis::SafebrowsingV4::FindThreatMatchesResponse]
261
+ # @return [Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindThreatMatchesResponse]
262
262
  #
263
263
  # @raise [Google::Apis::ServerError] An error occurred on the server and the request can be retried
264
264
  # @raise [Google::Apis::ClientError] The request is invalid and should not be retried without modification
265
265
  # @raise [Google::Apis::AuthorizationError] Authorization is required
266
- def find_threat_matches(find_threat_matches_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
266
+ def find_threat_matches(google_security_safebrowsing_v4_find_threat_matches_request_object = nil, fields: nil, quota_user: nil, options: nil, &block)
267
267
  command = make_simple_command(:post, 'v4/threatMatches:find', options)
268
- command.request_representation = Google::Apis::SafebrowsingV4::FindThreatMatchesRequest::Representation
269
- command.request_object = find_threat_matches_request_object
270
- command.response_representation = Google::Apis::SafebrowsingV4::FindThreatMatchesResponse::Representation
271
- command.response_class = Google::Apis::SafebrowsingV4::FindThreatMatchesResponse
268
+ command.request_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindThreatMatchesRequest::Representation
269
+ command.request_object = google_security_safebrowsing_v4_find_threat_matches_request_object
270
+ command.response_representation = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindThreatMatchesResponse::Representation
271
+ command.response_class = Google::Apis::SafebrowsingV4::GoogleSecuritySafebrowsingV4FindThreatMatchesResponse
272
272
  command.query['fields'] = fields unless fields.nil?
273
273
  command.query['quotaUser'] = quota_user unless quota_user.nil?
274
274
  execute_or_queue_command(command, &block)
@@ -26,7 +26,7 @@ module Google
26
26
  # @see https://developers.google.com/webmaster-tools/search-console-api/
27
27
  module SearchconsoleV1
28
28
  VERSION = 'V1'
29
- REVISION = '20200919'
29
+ REVISION = '20201209'
30
30
 
31
31
  # View and manage Search Console data for your verified sites
32
32
  AUTH_WEBMASTERS = 'https://www.googleapis.com/auth/webmasters'
@@ -300,6 +300,12 @@ module Google
300
300
  # @return [String]
301
301
  attr_accessor :aggregation_type
302
302
 
303
+ # The data state to be fetched, can be full or all, the latter including full
304
+ # and partial data.
305
+ # Corresponds to the JSON property `dataState`
306
+ # @return [String]
307
+ attr_accessor :data_state
308
+
303
309
  # [Optional] Zero or more filters to apply to the dimension grouping values; for
304
310
  # example, 'query contains \"buy\"' to see only data where the query string
305
311
  # contains the substring \"buy\" (not case-sensitive). You can filter by a
@@ -354,6 +360,7 @@ module Google
354
360
  # Update properties of this object
355
361
  def update!(**args)
356
362
  @aggregation_type = args[:aggregation_type] if args.key?(:aggregation_type)
363
+ @data_state = args[:data_state] if args.key?(:data_state)
357
364
  @dimension_filter_groups = args[:dimension_filter_groups] if args.key?(:dimension_filter_groups)
358
365
  @dimensions = args[:dimensions] if args.key?(:dimensions)
359
366
  @end_date = args[:end_date] if args.key?(:end_date)
@@ -210,6 +210,7 @@ module Google
210
210
  # @private
211
211
  class Representation < Google::Apis::Core::JsonRepresentation
212
212
  property :aggregation_type, as: 'aggregationType'
213
+ property :data_state, as: 'dataState'
213
214
  collection :dimension_filter_groups, as: 'dimensionFilterGroups', class: Google::Apis::SearchconsoleV1::ApiDimensionFilterGroup, decorator: Google::Apis::SearchconsoleV1::ApiDimensionFilterGroup::Representation
214
215
 
215
216
  collection :dimensions, as: 'dimensions'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/service-consumer-management/docs/overview
26
26
  module ServiceconsumermanagementV1beta1
27
27
  VERSION = 'V1beta1'
28
- REVISION = '20201104'
28
+ REVISION = '20201208'
29
29
 
30
30
  # View and manage your data across Google Cloud Platform services
31
31
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -787,15 +787,16 @@ module Google
787
787
  end
788
788
  end
789
789
 
790
- # `Endpoint` describes a network endpoint that serves a set of APIs. A service
791
- # may expose any number of endpoints, and all endpoints share the same service
792
- # configuration, such as quota configuration and monitoring configuration.
793
- # Example service configuration: name: library-example.googleapis.com endpoints:
794
- # # Below entry makes 'google.example.library.v1.Library' # API be served from
795
- # endpoint address library-example.googleapis.com. # It also allows HTTP OPTIONS
796
- # calls to be passed to the backend, for # it to decide whether the subsequent
797
- # cross-origin request is # allowed to proceed. - name: library-example.
798
- # googleapis.com allow_cors: true
790
+ # `Endpoint` describes a network endpoint of a service that serves a set of APIs.
791
+ # It is commonly known as a service endpoint. A service may expose any number
792
+ # of service endpoints, and all service endpoints share the same service
793
+ # definition, such as quota limits and monitoring metrics. Example service
794
+ # configuration: name: library-example.googleapis.com endpoints: # Below entry
795
+ # makes 'google.example.library.v1.Library' # API be served from endpoint
796
+ # address library-example.googleapis.com. # It also allows HTTP OPTIONS calls to
797
+ # be passed to the backend, for # it to decide whether the subsequent cross-
798
+ # origin request is # allowed to proceed. - name: library-example.googleapis.com
799
+ # allow_cors: true
799
800
  class Endpoint
800
801
  include Google::Apis::Core::Hashable
801
802
 
@@ -2259,7 +2260,7 @@ module Google
2259
2260
  # @return [Google::Apis::ServiceconsumermanagementV1beta1::Billing]
2260
2261
  attr_accessor :billing
2261
2262
 
2262
- # This field is obsolete. Its value must be set to `3`.
2263
+ # Deprecated. The service config compiler always sets this field to `3`.
2263
2264
  # Corresponds to the JSON property `configVersion`
2264
2265
  # @return [Fixnum]
2265
2266
  attr_accessor :config_version
@@ -20,13 +20,13 @@ module Google
20
20
  module Apis
21
21
  # Service Control API
22
22
  #
23
- # Provides control plane functionality to managed services, such as logging,
24
- # monitoring, and status checks.
23
+ # Provides admission control and telemetry reporting for services integrated
24
+ # with Service Infrastructure.
25
25
  #
26
26
  # @see https://cloud.google.com/service-control/
27
27
  module ServicecontrolV1
28
28
  VERSION = 'V1'
29
- REVISION = '20201025'
29
+ REVISION = '20201207'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,8 +22,8 @@ module Google
22
22
  module ServicecontrolV1
23
23
  # Service Control API
24
24
  #
25
- # Provides control plane functionality to managed services, such as logging,
26
- # monitoring, and status checks.
25
+ # Provides admission control and telemetry reporting for services integrated
26
+ # with Service Infrastructure.
27
27
  #
28
28
  # @example
29
29
  # require 'google/apis/servicecontrol_v1'
@@ -20,13 +20,13 @@ module Google
20
20
  module Apis
21
21
  # Service Control API
22
22
  #
23
- # Provides control plane functionality to managed services, such as logging,
24
- # monitoring, and status checks.
23
+ # Provides admission control and telemetry reporting for services integrated
24
+ # with Service Infrastructure.
25
25
  #
26
26
  # @see https://cloud.google.com/service-control/
27
27
  module ServicecontrolV2
28
28
  VERSION = 'V2'
29
- REVISION = '20201025'
29
+ REVISION = '20201207'
30
30
 
31
31
  # View and manage your data across Google Cloud Platform services
32
32
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -22,8 +22,8 @@ module Google
22
22
  module ServicecontrolV2
23
23
  # Service Control API
24
24
  #
25
- # Provides control plane functionality to managed services, such as logging,
26
- # monitoring, and status checks.
25
+ # Provides admission control and telemetry reporting for services integrated
26
+ # with Service Infrastructure.
27
27
  #
28
28
  # @example
29
29
  # require 'google/apis/servicecontrol_v2'
@@ -0,0 +1,35 @@
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/servicedirectory_v1/service.rb'
16
+ require 'google/apis/servicedirectory_v1/classes.rb'
17
+ require 'google/apis/servicedirectory_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Service Directory API
22
+ #
23
+ # Service Directory is a platform for discovering, publishing, and connecting
24
+ # services.
25
+ #
26
+ # @see https://cloud.google.com/service-directory
27
+ module ServicedirectoryV1
28
+ VERSION = 'V1'
29
+ REVISION = '20201112'
30
+
31
+ # View and manage your data across Google Cloud Platform services
32
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,721 @@
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 ServicedirectoryV1
24
+
25
+ # Associates `members` with a `role`.
26
+ class Binding
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
30
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
31
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
32
+ # "Summary size limit" description: "Determines if a summary is less than 100
33
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
34
+ # Requestor is owner" description: "Determines if requestor is the document
35
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
36
+ # Logic): title: "Public documents" description: "Determine whether the document
37
+ # should be publicly visible" expression: "document.type != 'private' &&
38
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
39
+ # string" description: "Create a notification string with a timestamp."
40
+ # expression: "'New message received at ' + string(document.create_time)" The
41
+ # exact variables and functions that may be referenced within an expression are
42
+ # determined by the service that evaluates it. See the service documentation for
43
+ # additional information.
44
+ # Corresponds to the JSON property `condition`
45
+ # @return [Google::Apis::ServicedirectoryV1::Expr]
46
+ attr_accessor :condition
47
+
48
+ # Specifies the identities requesting access for a Cloud Platform resource. `
49
+ # members` can have the following values: * `allUsers`: A special identifier
50
+ # that represents anyone who is on the internet; with or without a Google
51
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
52
+ # anyone who is authenticated with a Google account or a service account. * `
53
+ # user:`emailid``: An email address that represents a specific Google account.
54
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
55
+ # address that represents a service account. For example, `my-other-app@appspot.
56
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
57
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
58
+ # `uniqueid``: An email address (plus unique identifier) representing a user
59
+ # that has been recently deleted. For example, `alice@example.com?uid=
60
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
61
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
62
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
63
+ # identifier) representing a service account that has been recently deleted. For
64
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
65
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
66
+ # emailid`` and the undeleted service account retains the role in the binding. *
67
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
68
+ # identifier) representing a Google group that has been recently deleted. For
69
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
70
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
71
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
72
+ # primary) that represents all the users of that domain. For example, `google.
73
+ # com` or `example.com`.
74
+ # Corresponds to the JSON property `members`
75
+ # @return [Array<String>]
76
+ attr_accessor :members
77
+
78
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
79
+ # , or `roles/owner`.
80
+ # Corresponds to the JSON property `role`
81
+ # @return [String]
82
+ attr_accessor :role
83
+
84
+ def initialize(**args)
85
+ update!(**args)
86
+ end
87
+
88
+ # Update properties of this object
89
+ def update!(**args)
90
+ @condition = args[:condition] if args.key?(:condition)
91
+ @members = args[:members] if args.key?(:members)
92
+ @role = args[:role] if args.key?(:role)
93
+ end
94
+ end
95
+
96
+ # A generic empty message that you can re-use to avoid defining duplicated empty
97
+ # messages in your APIs. A typical example is to use it as the request or the
98
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
99
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
100
+ # `Empty` is empty JSON object ````.
101
+ class Empty
102
+ include Google::Apis::Core::Hashable
103
+
104
+ def initialize(**args)
105
+ update!(**args)
106
+ end
107
+
108
+ # Update properties of this object
109
+ def update!(**args)
110
+ end
111
+ end
112
+
113
+ # An individual endpoint that provides a service. The service must already exist
114
+ # to create an endpoint.
115
+ class Endpoint
116
+ include Google::Apis::Core::Hashable
117
+
118
+ # Optional. An IPv4 or IPv6 address. Service Directory will reject bad addresses
119
+ # like: "8.8.8" "8.8.8.8:53" "test:bad:address" "[::1]" "[::1]:8080" Limited to
120
+ # 45 characters.
121
+ # Corresponds to the JSON property `address`
122
+ # @return [String]
123
+ attr_accessor :address
124
+
125
+ # Optional. Annotations for the endpoint. This data can be consumed by service
126
+ # clients. Restrictions: - The entire annotations dictionary may contain up to
127
+ # 512 characters, spread accoss all key-value pairs. Annotations that goes
128
+ # beyond any these limits will be rejected. - Valid annotation keys have two
129
+ # segments: an optional prefix and name, separated by a slash (/). The name
130
+ # segment is required and must be 63 characters or less, beginning and ending
131
+ # with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
132
+ # dots (.), and alphanumerics between. The prefix is optional. If specified, the
133
+ # prefix must be a DNS subdomain: a series of DNS labels separated by dots (.),
134
+ # not longer than 253 characters in total, followed by a slash (/). Annotations
135
+ # that fails to meet these requirements will be rejected. - The '(*.)google.com/'
136
+ # and '(*.)googleapis.com/' prefixes are reserved for system annotations
137
+ # managed by Service Directory. If the user tries to write to these keyspaces,
138
+ # those entries will be silently ignored by the system. Note: This field is
139
+ # equivalent to the 'metadata' field in the v1beta1 API. They have the same
140
+ # syntax and read/write to the same location in Service Directory.
141
+ # Corresponds to the JSON property `annotations`
142
+ # @return [Hash<String,String>]
143
+ attr_accessor :annotations
144
+
145
+ # Immutable. The resource name for the endpoint in the format 'projects/*/
146
+ # locations/*/namespaces/*/services/*/endpoints/*'.
147
+ # Corresponds to the JSON property `name`
148
+ # @return [String]
149
+ attr_accessor :name
150
+
151
+ # Optional. Service Directory will reject values outside of [0, 65535].
152
+ # Corresponds to the JSON property `port`
153
+ # @return [Fixnum]
154
+ attr_accessor :port
155
+
156
+ def initialize(**args)
157
+ update!(**args)
158
+ end
159
+
160
+ # Update properties of this object
161
+ def update!(**args)
162
+ @address = args[:address] if args.key?(:address)
163
+ @annotations = args[:annotations] if args.key?(:annotations)
164
+ @name = args[:name] if args.key?(:name)
165
+ @port = args[:port] if args.key?(:port)
166
+ end
167
+ end
168
+
169
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
170
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
171
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
172
+ # "Summary size limit" description: "Determines if a summary is less than 100
173
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
174
+ # Requestor is owner" description: "Determines if requestor is the document
175
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
176
+ # Logic): title: "Public documents" description: "Determine whether the document
177
+ # should be publicly visible" expression: "document.type != 'private' &&
178
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
179
+ # string" description: "Create a notification string with a timestamp."
180
+ # expression: "'New message received at ' + string(document.create_time)" The
181
+ # exact variables and functions that may be referenced within an expression are
182
+ # determined by the service that evaluates it. See the service documentation for
183
+ # additional information.
184
+ class Expr
185
+ include Google::Apis::Core::Hashable
186
+
187
+ # Optional. Description of the expression. This is a longer text which describes
188
+ # the expression, e.g. when hovered over it in a UI.
189
+ # Corresponds to the JSON property `description`
190
+ # @return [String]
191
+ attr_accessor :description
192
+
193
+ # Textual representation of an expression in Common Expression Language syntax.
194
+ # Corresponds to the JSON property `expression`
195
+ # @return [String]
196
+ attr_accessor :expression
197
+
198
+ # Optional. String indicating the location of the expression for error reporting,
199
+ # e.g. a file name and a position in the file.
200
+ # Corresponds to the JSON property `location`
201
+ # @return [String]
202
+ attr_accessor :location
203
+
204
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
205
+ # This can be used e.g. in UIs which allow to enter the expression.
206
+ # Corresponds to the JSON property `title`
207
+ # @return [String]
208
+ attr_accessor :title
209
+
210
+ def initialize(**args)
211
+ update!(**args)
212
+ end
213
+
214
+ # Update properties of this object
215
+ def update!(**args)
216
+ @description = args[:description] if args.key?(:description)
217
+ @expression = args[:expression] if args.key?(:expression)
218
+ @location = args[:location] if args.key?(:location)
219
+ @title = args[:title] if args.key?(:title)
220
+ end
221
+ end
222
+
223
+ # Request message for `GetIamPolicy` method.
224
+ class GetIamPolicyRequest
225
+ include Google::Apis::Core::Hashable
226
+
227
+ # Encapsulates settings provided to GetIamPolicy.
228
+ # Corresponds to the JSON property `options`
229
+ # @return [Google::Apis::ServicedirectoryV1::GetPolicyOptions]
230
+ attr_accessor :options
231
+
232
+ def initialize(**args)
233
+ update!(**args)
234
+ end
235
+
236
+ # Update properties of this object
237
+ def update!(**args)
238
+ @options = args[:options] if args.key?(:options)
239
+ end
240
+ end
241
+
242
+ # Encapsulates settings provided to GetIamPolicy.
243
+ class GetPolicyOptions
244
+ include Google::Apis::Core::Hashable
245
+
246
+ # Optional. The policy format version to be returned. Valid values are 0, 1, and
247
+ # 3. Requests specifying an invalid value will be rejected. Requests for
248
+ # policies with any conditional bindings must specify version 3. Policies
249
+ # without any conditional bindings may specify any valid value or leave the
250
+ # field unset. To learn which resources support conditions in their IAM policies,
251
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
252
+ # resource-policies).
253
+ # Corresponds to the JSON property `requestedPolicyVersion`
254
+ # @return [Fixnum]
255
+ attr_accessor :requested_policy_version
256
+
257
+ def initialize(**args)
258
+ update!(**args)
259
+ end
260
+
261
+ # Update properties of this object
262
+ def update!(**args)
263
+ @requested_policy_version = args[:requested_policy_version] if args.key?(:requested_policy_version)
264
+ end
265
+ end
266
+
267
+ # The response message for RegistrationService.ListEndpoints.
268
+ class ListEndpointsResponse
269
+ include Google::Apis::Core::Hashable
270
+
271
+ # The list of endpoints.
272
+ # Corresponds to the JSON property `endpoints`
273
+ # @return [Array<Google::Apis::ServicedirectoryV1::Endpoint>]
274
+ attr_accessor :endpoints
275
+
276
+ # Token to retrieve the next page of results, or empty if there are no more
277
+ # results in the list.
278
+ # Corresponds to the JSON property `nextPageToken`
279
+ # @return [String]
280
+ attr_accessor :next_page_token
281
+
282
+ def initialize(**args)
283
+ update!(**args)
284
+ end
285
+
286
+ # Update properties of this object
287
+ def update!(**args)
288
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
289
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
290
+ end
291
+ end
292
+
293
+ # The response message for Locations.ListLocations.
294
+ class ListLocationsResponse
295
+ include Google::Apis::Core::Hashable
296
+
297
+ # A list of locations that matches the specified filter in the request.
298
+ # Corresponds to the JSON property `locations`
299
+ # @return [Array<Google::Apis::ServicedirectoryV1::Location>]
300
+ attr_accessor :locations
301
+
302
+ # The standard List next-page token.
303
+ # Corresponds to the JSON property `nextPageToken`
304
+ # @return [String]
305
+ attr_accessor :next_page_token
306
+
307
+ def initialize(**args)
308
+ update!(**args)
309
+ end
310
+
311
+ # Update properties of this object
312
+ def update!(**args)
313
+ @locations = args[:locations] if args.key?(:locations)
314
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
315
+ end
316
+ end
317
+
318
+ # The response message for RegistrationService.ListNamespaces.
319
+ class ListNamespacesResponse
320
+ include Google::Apis::Core::Hashable
321
+
322
+ # The list of namespaces.
323
+ # Corresponds to the JSON property `namespaces`
324
+ # @return [Array<Google::Apis::ServicedirectoryV1::Namespace>]
325
+ attr_accessor :namespaces
326
+
327
+ # Token to retrieve the next page of results, or empty if there are no more
328
+ # results in the list.
329
+ # Corresponds to the JSON property `nextPageToken`
330
+ # @return [String]
331
+ attr_accessor :next_page_token
332
+
333
+ def initialize(**args)
334
+ update!(**args)
335
+ end
336
+
337
+ # Update properties of this object
338
+ def update!(**args)
339
+ @namespaces = args[:namespaces] if args.key?(:namespaces)
340
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
341
+ end
342
+ end
343
+
344
+ # The response message for RegistrationService.ListServices.
345
+ class ListServicesResponse
346
+ include Google::Apis::Core::Hashable
347
+
348
+ # Token to retrieve the next page of results, or empty if there are no more
349
+ # results in the list.
350
+ # Corresponds to the JSON property `nextPageToken`
351
+ # @return [String]
352
+ attr_accessor :next_page_token
353
+
354
+ # The list of services.
355
+ # Corresponds to the JSON property `services`
356
+ # @return [Array<Google::Apis::ServicedirectoryV1::Service>]
357
+ attr_accessor :services
358
+
359
+ def initialize(**args)
360
+ update!(**args)
361
+ end
362
+
363
+ # Update properties of this object
364
+ def update!(**args)
365
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
366
+ @services = args[:services] if args.key?(:services)
367
+ end
368
+ end
369
+
370
+ # A resource that represents Google Cloud Platform location.
371
+ class Location
372
+ include Google::Apis::Core::Hashable
373
+
374
+ # The friendly name for this location, typically a nearby city name. For example,
375
+ # "Tokyo".
376
+ # Corresponds to the JSON property `displayName`
377
+ # @return [String]
378
+ attr_accessor :display_name
379
+
380
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
381
+ # region": "us-east1"`
382
+ # Corresponds to the JSON property `labels`
383
+ # @return [Hash<String,String>]
384
+ attr_accessor :labels
385
+
386
+ # The canonical id for this location. For example: `"us-east1"`.
387
+ # Corresponds to the JSON property `locationId`
388
+ # @return [String]
389
+ attr_accessor :location_id
390
+
391
+ # Service-specific metadata. For example the available capacity at the given
392
+ # location.
393
+ # Corresponds to the JSON property `metadata`
394
+ # @return [Hash<String,Object>]
395
+ attr_accessor :metadata
396
+
397
+ # Resource name for the location, which may vary between implementations. For
398
+ # example: `"projects/example-project/locations/us-east1"`
399
+ # Corresponds to the JSON property `name`
400
+ # @return [String]
401
+ attr_accessor :name
402
+
403
+ def initialize(**args)
404
+ update!(**args)
405
+ end
406
+
407
+ # Update properties of this object
408
+ def update!(**args)
409
+ @display_name = args[:display_name] if args.key?(:display_name)
410
+ @labels = args[:labels] if args.key?(:labels)
411
+ @location_id = args[:location_id] if args.key?(:location_id)
412
+ @metadata = args[:metadata] if args.key?(:metadata)
413
+ @name = args[:name] if args.key?(:name)
414
+ end
415
+ end
416
+
417
+ # A container for services. Namespaces allow administrators to group services
418
+ # together and define permissions for a collection of services.
419
+ class Namespace
420
+ include Google::Apis::Core::Hashable
421
+
422
+ # Optional. Resource labels associated with this Namespace. No more than 64 user
423
+ # labels can be associated with a given resource. Label keys and values can be
424
+ # no longer than 63 characters.
425
+ # Corresponds to the JSON property `labels`
426
+ # @return [Hash<String,String>]
427
+ attr_accessor :labels
428
+
429
+ # Immutable. The resource name for the namespace in the format 'projects/*/
430
+ # locations/*/namespaces/*'.
431
+ # Corresponds to the JSON property `name`
432
+ # @return [String]
433
+ attr_accessor :name
434
+
435
+ def initialize(**args)
436
+ update!(**args)
437
+ end
438
+
439
+ # Update properties of this object
440
+ def update!(**args)
441
+ @labels = args[:labels] if args.key?(:labels)
442
+ @name = args[:name] if args.key?(:name)
443
+ end
444
+ end
445
+
446
+ # An Identity and Access Management (IAM) policy, which specifies access
447
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
448
+ # A `binding` binds one or more `members` to a single `role`. Members can be
449
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
450
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
451
+ # role or a user-created custom role. For some types of Google Cloud resources,
452
+ # a `binding` can also specify a `condition`, which is a logical expression that
453
+ # allows access to a resource only if the expression evaluates to `true`. A
454
+ # condition can add constraints based on attributes of the request, the resource,
455
+ # or both. To learn which resources support conditions in their IAM policies,
456
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
457
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
458
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
459
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
460
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
461
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
462
+ # title": "expirable access", "description": "Does not grant access after Sep
463
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
464
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
465
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
466
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
467
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
468
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
469
+ # description: Does not grant access after Sep 2020 expression: request.time <
470
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
471
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
472
+ # google.com/iam/docs/).
473
+ class Policy
474
+ include Google::Apis::Core::Hashable
475
+
476
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
477
+ # condition` that determines how and when the `bindings` are applied. Each of
478
+ # the `bindings` must contain at least one member.
479
+ # Corresponds to the JSON property `bindings`
480
+ # @return [Array<Google::Apis::ServicedirectoryV1::Binding>]
481
+ attr_accessor :bindings
482
+
483
+ # `etag` is used for optimistic concurrency control as a way to help prevent
484
+ # simultaneous updates of a policy from overwriting each other. It is strongly
485
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
486
+ # to perform policy updates in order to avoid race conditions: An `etag` is
487
+ # returned in the response to `getIamPolicy`, and systems are expected to put
488
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
489
+ # applied to the same version of the policy. **Important:** If you use IAM
490
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
491
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
492
+ # with a version `1` policy, and all of the conditions in the version `3` policy
493
+ # are lost.
494
+ # Corresponds to the JSON property `etag`
495
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
496
+ # @return [String]
497
+ attr_accessor :etag
498
+
499
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
500
+ # Requests that specify an invalid value are rejected. Any operation that
501
+ # affects conditional role bindings must specify version `3`. This requirement
502
+ # applies to the following operations: * Getting a policy that includes a
503
+ # conditional role binding * Adding a conditional role binding to a policy *
504
+ # Changing a conditional role binding in a policy * Removing any role binding,
505
+ # with or without a condition, from a policy that includes conditions **
506
+ # Important:** If you use IAM Conditions, you must include the `etag` field
507
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
508
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
509
+ # conditions in the version `3` policy are lost. If a policy does not include
510
+ # any conditions, operations on that policy may specify any valid version or
511
+ # leave the field unset. To learn which resources support conditions in their
512
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
513
+ # conditions/resource-policies).
514
+ # Corresponds to the JSON property `version`
515
+ # @return [Fixnum]
516
+ attr_accessor :version
517
+
518
+ def initialize(**args)
519
+ update!(**args)
520
+ end
521
+
522
+ # Update properties of this object
523
+ def update!(**args)
524
+ @bindings = args[:bindings] if args.key?(:bindings)
525
+ @etag = args[:etag] if args.key?(:etag)
526
+ @version = args[:version] if args.key?(:version)
527
+ end
528
+ end
529
+
530
+ # The request message for LookupService.ResolveService. Looks up a service by
531
+ # its name, returns the service and its endpoints.
532
+ class ResolveServiceRequest
533
+ include Google::Apis::Core::Hashable
534
+
535
+ # Optional. The filter applied to the endpoints of the resolved service. General
536
+ # filter string syntax: () can be "name" or "metadata." for map field. can be "<,
537
+ # >, <=, >=, !=, =, :". Of which ":" means HAS and is roughly the same as "=".
538
+ # must be the same data type as the field. can be "AND, OR, NOT". Examples of
539
+ # valid filters: * "metadata.owner" returns Endpoints that have a label with the
540
+ # key "owner", this is the same as "metadata:owner" * "metadata.protocol=gRPC"
541
+ # returns Endpoints that have key/value "protocol=gRPC" * "metadata.owner!=sd
542
+ # AND metadata.foo=bar" returns Endpoints that have "owner" field in metadata
543
+ # with a value that is not "sd" AND have the key/value foo=bar.
544
+ # Corresponds to the JSON property `endpointFilter`
545
+ # @return [String]
546
+ attr_accessor :endpoint_filter
547
+
548
+ # Optional. The maximum number of endpoints to return. Defaults to 25. Maximum
549
+ # is 100. If a value less than one is specified, the Default is used. If a value
550
+ # greater than the Maximum is specified, the Maximum is used.
551
+ # Corresponds to the JSON property `maxEndpoints`
552
+ # @return [Fixnum]
553
+ attr_accessor :max_endpoints
554
+
555
+ def initialize(**args)
556
+ update!(**args)
557
+ end
558
+
559
+ # Update properties of this object
560
+ def update!(**args)
561
+ @endpoint_filter = args[:endpoint_filter] if args.key?(:endpoint_filter)
562
+ @max_endpoints = args[:max_endpoints] if args.key?(:max_endpoints)
563
+ end
564
+ end
565
+
566
+ # The response message for LookupService.ResolveService.
567
+ class ResolveServiceResponse
568
+ include Google::Apis::Core::Hashable
569
+
570
+ # An individual service. A service contains a name and optional metadata. A
571
+ # service must exist before endpoints can be added to it.
572
+ # Corresponds to the JSON property `service`
573
+ # @return [Google::Apis::ServicedirectoryV1::Service]
574
+ attr_accessor :service
575
+
576
+ def initialize(**args)
577
+ update!(**args)
578
+ end
579
+
580
+ # Update properties of this object
581
+ def update!(**args)
582
+ @service = args[:service] if args.key?(:service)
583
+ end
584
+ end
585
+
586
+ # An individual service. A service contains a name and optional metadata. A
587
+ # service must exist before endpoints can be added to it.
588
+ class Service
589
+ include Google::Apis::Core::Hashable
590
+
591
+ # Optional. Annotations for the service. This data can be consumed by service
592
+ # clients. Restrictions: - The entire annotations dictionary may contain up to
593
+ # 2000 characters, spread accoss all key-value pairs. Annotations that goes
594
+ # beyond any these limits will be rejected. - Valid annotation keys have two
595
+ # segments: an optional prefix and name, separated by a slash (/). The name
596
+ # segment is required and must be 63 characters or less, beginning and ending
597
+ # with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_),
598
+ # dots (.), and alphanumerics between. The prefix is optional. If specified, the
599
+ # prefix must be a DNS subdomain: a series of DNS labels separated by dots (.),
600
+ # not longer than 253 characters in total, followed by a slash (/). Annotations
601
+ # that fails to meet these requirements will be rejected. - The '(*.)google.com/'
602
+ # and '(*.)googleapis.com/' prefixes are reserved for system annotations
603
+ # managed by Service Directory. If the user tries to write to these keyspaces,
604
+ # those entries will be silently ignored by the system. Note: This field is
605
+ # equivalent to the 'metadata' field in the v1beta1 API. They have the same
606
+ # syntax and read/write to the same location in Service Directory.
607
+ # Corresponds to the JSON property `annotations`
608
+ # @return [Hash<String,String>]
609
+ attr_accessor :annotations
610
+
611
+ # Output only. Endpoints associated with this service. Returned on LookupService.
612
+ # Resolve. Control plane clients should use RegistrationService.ListEndpoints.
613
+ # Corresponds to the JSON property `endpoints`
614
+ # @return [Array<Google::Apis::ServicedirectoryV1::Endpoint>]
615
+ attr_accessor :endpoints
616
+
617
+ # Immutable. The resource name for the service in the format 'projects/*/
618
+ # locations/*/namespaces/*/services/*'.
619
+ # Corresponds to the JSON property `name`
620
+ # @return [String]
621
+ attr_accessor :name
622
+
623
+ def initialize(**args)
624
+ update!(**args)
625
+ end
626
+
627
+ # Update properties of this object
628
+ def update!(**args)
629
+ @annotations = args[:annotations] if args.key?(:annotations)
630
+ @endpoints = args[:endpoints] if args.key?(:endpoints)
631
+ @name = args[:name] if args.key?(:name)
632
+ end
633
+ end
634
+
635
+ # Request message for `SetIamPolicy` method.
636
+ class SetIamPolicyRequest
637
+ include Google::Apis::Core::Hashable
638
+
639
+ # An Identity and Access Management (IAM) policy, which specifies access
640
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
641
+ # A `binding` binds one or more `members` to a single `role`. Members can be
642
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
643
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
644
+ # role or a user-created custom role. For some types of Google Cloud resources,
645
+ # a `binding` can also specify a `condition`, which is a logical expression that
646
+ # allows access to a resource only if the expression evaluates to `true`. A
647
+ # condition can add constraints based on attributes of the request, the resource,
648
+ # or both. To learn which resources support conditions in their IAM policies,
649
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
650
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
651
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
652
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
653
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
654
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
655
+ # title": "expirable access", "description": "Does not grant access after Sep
656
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
657
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
658
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
659
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
660
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
661
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
662
+ # description: Does not grant access after Sep 2020 expression: request.time <
663
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
664
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
665
+ # google.com/iam/docs/).
666
+ # Corresponds to the JSON property `policy`
667
+ # @return [Google::Apis::ServicedirectoryV1::Policy]
668
+ attr_accessor :policy
669
+
670
+ def initialize(**args)
671
+ update!(**args)
672
+ end
673
+
674
+ # Update properties of this object
675
+ def update!(**args)
676
+ @policy = args[:policy] if args.key?(:policy)
677
+ end
678
+ end
679
+
680
+ # Request message for `TestIamPermissions` method.
681
+ class TestIamPermissionsRequest
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # The set of permissions to check for the `resource`. Permissions with wildcards
685
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
686
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
687
+ # Corresponds to the JSON property `permissions`
688
+ # @return [Array<String>]
689
+ attr_accessor :permissions
690
+
691
+ def initialize(**args)
692
+ update!(**args)
693
+ end
694
+
695
+ # Update properties of this object
696
+ def update!(**args)
697
+ @permissions = args[:permissions] if args.key?(:permissions)
698
+ end
699
+ end
700
+
701
+ # Response message for `TestIamPermissions` method.
702
+ class TestIamPermissionsResponse
703
+ include Google::Apis::Core::Hashable
704
+
705
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
706
+ # Corresponds to the JSON property `permissions`
707
+ # @return [Array<String>]
708
+ attr_accessor :permissions
709
+
710
+ def initialize(**args)
711
+ update!(**args)
712
+ end
713
+
714
+ # Update properties of this object
715
+ def update!(**args)
716
+ @permissions = args[:permissions] if args.key?(:permissions)
717
+ end
718
+ end
719
+ end
720
+ end
721
+ end