google-api-client 0.37.1 → 0.37.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (192) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +105 -0
  3. data/generated/google/apis/accessapproval_v1.rb +1 -1
  4. data/generated/google/apis/accessapproval_v1beta1.rb +1 -1
  5. data/generated/google/apis/accesscontextmanager_v1.rb +1 -1
  6. data/generated/google/apis/accesscontextmanager_v1/classes.rb +2 -2
  7. data/generated/google/apis/accesscontextmanager_v1/service.rb +10 -8
  8. data/generated/google/apis/accesscontextmanager_v1beta.rb +1 -1
  9. data/generated/google/apis/accesscontextmanager_v1beta/classes.rb +0 -38
  10. data/generated/google/apis/accesscontextmanager_v1beta/representations.rb +0 -16
  11. data/generated/google/apis/androidmanagement_v1.rb +1 -1
  12. data/generated/google/apis/androidpublisher_v3.rb +1 -1
  13. data/generated/google/apis/androidpublisher_v3/classes.rb +193 -0
  14. data/generated/google/apis/androidpublisher_v3/representations.rb +89 -0
  15. data/generated/google/apis/appengine_v1.rb +1 -1
  16. data/generated/google/apis/appengine_v1alpha.rb +1 -1
  17. data/generated/google/apis/appengine_v1beta.rb +1 -1
  18. data/generated/google/apis/bigqueryreservation_v1.rb +1 -1
  19. data/generated/google/apis/bigqueryreservation_v1alpha2.rb +1 -1
  20. data/generated/google/apis/bigqueryreservation_v1beta1.rb +1 -1
  21. data/generated/google/apis/bigqueryreservation_v1beta1/service.rb +15 -14
  22. data/generated/google/apis/binaryauthorization_v1.rb +1 -1
  23. data/generated/google/apis/binaryauthorization_v1beta1.rb +1 -1
  24. data/generated/google/apis/books_v1.rb +1 -1
  25. data/generated/google/apis/books_v1/classes.rb +86 -0
  26. data/generated/google/apis/books_v1/representations.rb +37 -0
  27. data/generated/google/apis/classroom_v1.rb +1 -1
  28. data/generated/google/apis/cloudasset_v1.rb +1 -1
  29. data/generated/google/apis/cloudasset_v1beta1.rb +1 -1
  30. data/generated/google/apis/clouddebugger_v2.rb +1 -1
  31. data/generated/google/apis/cloudfunctions_v1.rb +1 -1
  32. data/generated/google/apis/cloudfunctions_v1beta2.rb +1 -1
  33. data/generated/google/apis/cloudiot_v1.rb +1 -1
  34. data/generated/google/apis/cloudkms_v1.rb +1 -1
  35. data/generated/google/apis/cloudsearch_v1.rb +1 -1
  36. data/generated/google/apis/cloudsearch_v1/classes.rb +0 -2
  37. data/generated/google/apis/cloudsearch_v1/service.rb +12 -0
  38. data/generated/google/apis/cloudshell_v1.rb +1 -1
  39. data/generated/google/apis/cloudshell_v1alpha1.rb +1 -1
  40. data/generated/google/apis/cloudtrace_v1.rb +1 -1
  41. data/generated/google/apis/cloudtrace_v2.rb +1 -1
  42. data/generated/google/apis/cloudtrace_v2beta1.rb +1 -1
  43. data/generated/google/apis/composer_v1beta1.rb +1 -1
  44. data/generated/google/apis/composer_v1beta1/classes.rb +1 -1
  45. data/generated/google/apis/containeranalysis_v1alpha1.rb +1 -1
  46. data/generated/google/apis/containeranalysis_v1beta1.rb +1 -1
  47. data/generated/google/apis/content_v2.rb +1 -1
  48. data/generated/google/apis/content_v2/classes.rb +30 -26
  49. data/generated/google/apis/content_v2_1.rb +1 -1
  50. data/generated/google/apis/content_v2_1/classes.rb +30 -26
  51. data/generated/google/apis/datacatalog_v1beta1.rb +1 -1
  52. data/generated/google/apis/datacatalog_v1beta1/classes.rb +25 -37
  53. data/generated/google/apis/datacatalog_v1beta1/representations.rb +2 -15
  54. data/generated/google/apis/datacatalog_v1beta1/service.rb +0 -43
  55. data/generated/google/apis/dataproc_v1beta2.rb +1 -1
  56. data/generated/google/apis/dataproc_v1beta2/classes.rb +15 -0
  57. data/generated/google/apis/dataproc_v1beta2/representations.rb +2 -0
  58. data/generated/google/apis/datastore_v1.rb +1 -1
  59. data/generated/google/apis/datastore_v1beta1.rb +1 -1
  60. data/generated/google/apis/datastore_v1beta3.rb +1 -1
  61. data/generated/google/apis/dfareporting_v3_4.rb +1 -1
  62. data/generated/google/apis/dfareporting_v3_4/classes.rb +0 -7
  63. data/generated/google/apis/dfareporting_v3_4/representations.rb +0 -1
  64. data/generated/google/apis/dialogflow_v2.rb +1 -1
  65. data/generated/google/apis/dialogflow_v2/classes.rb +20 -231
  66. data/generated/google/apis/dialogflow_v2/representations.rb +1 -95
  67. data/generated/google/apis/dialogflow_v2/service.rb +26 -390
  68. data/generated/google/apis/dialogflow_v2beta1.rb +1 -1
  69. data/generated/google/apis/dialogflow_v2beta1/classes.rb +23 -235
  70. data/generated/google/apis/dialogflow_v2beta1/representations.rb +1 -95
  71. data/generated/google/apis/dialogflow_v2beta1/service.rb +68 -804
  72. data/generated/google/apis/digitalassetlinks_v1.rb +1 -1
  73. data/generated/google/apis/displayvideo_v1.rb +38 -0
  74. data/generated/google/apis/displayvideo_v1/classes.rb +382 -0
  75. data/generated/google/apis/displayvideo_v1/representations.rb +167 -0
  76. data/generated/google/apis/displayvideo_v1/service.rb +176 -0
  77. data/generated/google/apis/dlp_v2.rb +1 -1
  78. data/generated/google/apis/dlp_v2/classes.rb +31 -0
  79. data/generated/google/apis/dlp_v2/representations.rb +5 -0
  80. data/generated/google/apis/docs_v1.rb +1 -1
  81. data/generated/google/apis/docs_v1/classes.rb +22 -0
  82. data/generated/google/apis/docs_v1/representations.rb +3 -0
  83. data/generated/google/apis/doubleclickbidmanager_v1.rb +1 -1
  84. data/generated/google/apis/doubleclickbidmanager_v1/classes.rb +1 -1
  85. data/generated/google/apis/doubleclickbidmanager_v1_1.rb +1 -1
  86. data/generated/google/apis/doubleclickbidmanager_v1_1/classes.rb +1 -1
  87. data/generated/google/apis/firebasehosting_v1beta1.rb +1 -1
  88. data/generated/google/apis/firestore_v1.rb +1 -1
  89. data/generated/google/apis/firestore_v1beta1.rb +1 -1
  90. data/generated/google/apis/firestore_v1beta2.rb +1 -1
  91. data/generated/google/apis/fitness_v1.rb +1 -1
  92. data/generated/google/apis/fitness_v1/service.rb +13 -9
  93. data/generated/google/apis/genomics_v1.rb +1 -1
  94. data/generated/google/apis/genomics_v1alpha2.rb +1 -1
  95. data/generated/google/apis/iam_v1.rb +1 -1
  96. data/generated/google/apis/language_v1.rb +1 -1
  97. data/generated/google/apis/language_v1beta1.rb +1 -1
  98. data/generated/google/apis/language_v1beta2.rb +1 -1
  99. data/generated/google/apis/logging_v2.rb +1 -1
  100. data/generated/google/apis/logging_v2/classes.rb +22 -35
  101. data/generated/google/apis/logging_v2/representations.rb +0 -2
  102. data/generated/google/apis/logging_v2/service.rb +14 -14
  103. data/generated/google/apis/managedidentities_v1.rb +35 -0
  104. data/generated/google/apis/managedidentities_v1/classes.rb +1662 -0
  105. data/generated/google/apis/managedidentities_v1/representations.rb +576 -0
  106. data/generated/google/apis/managedidentities_v1/service.rb +779 -0
  107. data/generated/google/apis/managedidentities_v1alpha1.rb +35 -0
  108. data/generated/google/apis/managedidentities_v1alpha1/classes.rb +1661 -0
  109. data/generated/google/apis/managedidentities_v1alpha1/representations.rb +576 -0
  110. data/generated/google/apis/managedidentities_v1alpha1/service.rb +782 -0
  111. data/generated/google/apis/managedidentities_v1beta1.rb +35 -0
  112. data/generated/google/apis/managedidentities_v1beta1/classes.rb +1659 -0
  113. data/generated/google/apis/managedidentities_v1beta1/representations.rb +576 -0
  114. data/generated/google/apis/managedidentities_v1beta1/service.rb +778 -0
  115. data/generated/google/apis/ml_v1.rb +1 -1
  116. data/generated/google/apis/ml_v1/classes.rb +23 -43
  117. data/generated/google/apis/oauth2_v2.rb +1 -1
  118. data/generated/google/apis/oauth2_v2/classes.rb +0 -68
  119. data/generated/google/apis/oauth2_v2/representations.rb +0 -32
  120. data/generated/google/apis/oauth2_v2/service.rb +0 -30
  121. data/generated/google/apis/pubsub_v1.rb +1 -1
  122. data/generated/google/apis/pubsub_v1/classes.rb +16 -12
  123. data/generated/google/apis/pubsub_v1/service.rb +22 -21
  124. data/generated/google/apis/pubsub_v1beta1a.rb +1 -1
  125. data/generated/google/apis/remotebuildexecution_v1.rb +1 -1
  126. data/generated/google/apis/remotebuildexecution_v1alpha.rb +1 -1
  127. data/generated/google/apis/remotebuildexecution_v2.rb +1 -1
  128. data/generated/google/apis/run_v1.rb +1 -1
  129. data/generated/google/apis/run_v1/classes.rb +48 -0
  130. data/generated/google/apis/run_v1/representations.rb +17 -0
  131. data/generated/google/apis/run_v1/service.rb +208 -0
  132. data/generated/google/apis/run_v1alpha1.rb +1 -1
  133. data/generated/google/apis/run_v1alpha1/classes.rb +431 -280
  134. data/generated/google/apis/run_v1alpha1/representations.rb +156 -105
  135. data/generated/google/apis/run_v1alpha1/service.rb +874 -448
  136. data/generated/google/apis/run_v1beta1.rb +1 -1
  137. data/generated/google/apis/runtimeconfig_v1.rb +1 -1
  138. data/generated/google/apis/runtimeconfig_v1beta1.rb +1 -1
  139. data/generated/google/apis/secretmanager_v1.rb +3 -3
  140. data/generated/google/apis/secretmanager_v1/service.rb +2 -2
  141. data/generated/google/apis/secretmanager_v1beta1.rb +3 -3
  142. data/generated/google/apis/secretmanager_v1beta1/service.rb +2 -2
  143. data/generated/google/apis/securitycenter_v1.rb +1 -1
  144. data/generated/google/apis/securitycenter_v1beta1.rb +1 -1
  145. data/generated/google/apis/securitycenter_v1beta1/classes.rb +98 -98
  146. data/generated/google/apis/securitycenter_v1beta1/representations.rb +37 -37
  147. data/generated/google/apis/securitycenter_v1beta1/service.rb +36 -36
  148. data/generated/google/apis/securitycenter_v1p1alpha1.rb +1 -1
  149. data/generated/google/apis/securitycenter_v1p1beta1.rb +1 -1
  150. data/generated/google/apis/serviceconsumermanagement_v1.rb +1 -1
  151. data/generated/google/apis/serviceconsumermanagement_v1/classes.rb +56 -0
  152. data/generated/google/apis/serviceconsumermanagement_v1/representations.rb +17 -0
  153. data/generated/google/apis/servicecontrol_v1.rb +1 -1
  154. data/generated/google/apis/servicemanagement_v1.rb +1 -1
  155. data/generated/google/apis/servicenetworking_v1.rb +1 -1
  156. data/generated/google/apis/servicenetworking_v1/classes.rb +56 -0
  157. data/generated/google/apis/servicenetworking_v1/representations.rb +17 -0
  158. data/generated/google/apis/servicenetworking_v1beta.rb +1 -1
  159. data/generated/google/apis/servicenetworking_v1beta/classes.rb +56 -0
  160. data/generated/google/apis/servicenetworking_v1beta/representations.rb +17 -0
  161. data/generated/google/apis/serviceusage_v1.rb +1 -1
  162. data/generated/google/apis/serviceusage_v1/classes.rb +56 -0
  163. data/generated/google/apis/serviceusage_v1/representations.rb +17 -0
  164. data/generated/google/apis/serviceusage_v1beta1.rb +1 -1
  165. data/generated/google/apis/serviceusage_v1beta1/classes.rb +56 -0
  166. data/generated/google/apis/serviceusage_v1beta1/representations.rb +17 -0
  167. data/generated/google/apis/spanner_v1.rb +1 -1
  168. data/generated/google/apis/spanner_v1/classes.rb +38 -11
  169. data/generated/google/apis/spanner_v1/representations.rb +15 -0
  170. data/generated/google/apis/speech_v1.rb +1 -1
  171. data/generated/google/apis/speech_v1p1beta1.rb +1 -1
  172. data/generated/google/apis/speech_v2beta1.rb +1 -1
  173. data/generated/google/apis/streetviewpublish_v1.rb +1 -1
  174. data/generated/google/apis/streetviewpublish_v1/service.rb +1 -1
  175. data/generated/google/apis/texttospeech_v1.rb +1 -1
  176. data/generated/google/apis/texttospeech_v1beta1.rb +1 -1
  177. data/generated/google/apis/toolresults_v1.rb +1 -1
  178. data/generated/google/apis/toolresults_v1/service.rb +1 -1
  179. data/generated/google/apis/translate_v3.rb +1 -1
  180. data/generated/google/apis/translate_v3beta1.rb +1 -1
  181. data/generated/google/apis/websecurityscanner_v1.rb +1 -1
  182. data/generated/google/apis/websecurityscanner_v1/classes.rb +6 -0
  183. data/generated/google/apis/websecurityscanner_v1/representations.rb +1 -0
  184. data/generated/google/apis/websecurityscanner_v1beta.rb +1 -1
  185. data/generated/google/apis/websecurityscanner_v1beta/classes.rb +6 -0
  186. data/generated/google/apis/websecurityscanner_v1beta/representations.rb +1 -0
  187. data/generated/google/apis/youtube_partner_v1.rb +1 -1
  188. data/generated/google/apis/youtube_v3.rb +1 -1
  189. data/generated/google/apis/youtube_v3/classes.rb +72 -33
  190. data/generated/google/apis/youtube_v3/representations.rb +32 -4
  191. data/lib/google/apis/version.rb +1 -1
  192. metadata +19 -3
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/genomics
26
26
  module GenomicsV1
27
27
  VERSION = 'V1'
28
- REVISION = '20200210'
28
+ REVISION = '20200226'
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'
@@ -25,7 +25,7 @@ module Google
25
25
  # @see https://cloud.google.com/genomics
26
26
  module GenomicsV1alpha2
27
27
  VERSION = 'V1alpha2'
28
- REVISION = '20200210'
28
+ REVISION = '20200226'
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'
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/iam/
28
28
  module IamV1
29
29
  VERSION = 'V1'
30
- REVISION = '20200131'
30
+ REVISION = '20200221'
31
31
 
32
32
  # View and manage your data across Google Cloud Platform services
33
33
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/natural-language/
28
28
  module LanguageV1
29
29
  VERSION = 'V1'
30
- REVISION = '20200215'
30
+ REVISION = '20200222'
31
31
 
32
32
  # Apply machine learning models to reveal the structure and meaning of text
33
33
  AUTH_CLOUD_LANGUAGE = 'https://www.googleapis.com/auth/cloud-language'
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/natural-language/
28
28
  module LanguageV1beta1
29
29
  VERSION = 'V1beta1'
30
- REVISION = '20200215'
30
+ REVISION = '20200222'
31
31
 
32
32
  # Apply machine learning models to reveal the structure and meaning of text
33
33
  AUTH_CLOUD_LANGUAGE = 'https://www.googleapis.com/auth/cloud-language'
@@ -27,7 +27,7 @@ module Google
27
27
  # @see https://cloud.google.com/natural-language/
28
28
  module LanguageV1beta2
29
29
  VERSION = 'V1beta2'
30
- REVISION = '20200215'
30
+ REVISION = '20200222'
31
31
 
32
32
  # Apply machine learning models to reveal the structure and meaning of text
33
33
  AUTH_CLOUD_LANGUAGE = 'https://www.googleapis.com/auth/cloud-language'
@@ -29,7 +29,7 @@ module Google
29
29
  # @see https://cloud.google.com/logging/docs/
30
30
  module LoggingV2
31
31
  VERSION = 'V2'
32
- REVISION = '20200221'
32
+ REVISION = '20200222'
33
33
 
34
34
  # View and manage your data across Google Cloud Platform services
35
35
  AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
@@ -140,12 +140,12 @@ module Google
140
140
  # @return [String]
141
141
  attr_accessor :kms_key_name
142
142
 
143
- # Output Only. The resource name of the CMEK settings.
143
+ # Output only. The resource name of the CMEK settings.
144
144
  # Corresponds to the JSON property `name`
145
145
  # @return [String]
146
146
  attr_accessor :name
147
147
 
148
- # Output Only. The service account that will be used by the Logs Router to
148
+ # Output only. The service account that will be used by the Logs Router to
149
149
  # access your Cloud KMS key.Before enabling CMEK for Logs Router, you must first
150
150
  # assign the role roles/cloudkms.cryptoKeyEncrypterDecrypter to the service
151
151
  # account that the Logs Router will use to access your Cloud KMS key. Use
@@ -524,8 +524,9 @@ module Google
524
524
  # @return [String]
525
525
  attr_accessor :page_token
526
526
 
527
- # Deprecated. Use resource_names instead. One or more project identifiers or
528
- # project numbers from which to retrieve log entries. Example: "my-project-1A".
527
+ # Optional. Deprecated. Use resource_names instead. One or more project
528
+ # identifiers or project numbers from which to retrieve log entries. Example: "
529
+ # my-project-1A".
529
530
  # Corresponds to the JSON property `projectIds`
530
531
  # @return [Array<String>]
531
532
  attr_accessor :project_ids
@@ -715,7 +716,7 @@ module Google
715
716
  # @return [String]
716
717
  attr_accessor :description
717
718
 
718
- # The bucket lifecycle state.Output only.
719
+ # Output only. The bucket lifecycle state.
719
720
  # Corresponds to the JSON property `lifecycleState`
720
721
  # @return [String]
721
722
  attr_accessor :lifecycle_state
@@ -797,17 +798,17 @@ module Google
797
798
  # "organizations/[ORGANIZATION_ID]/logs/[LOG_ID]"
798
799
  # "billingAccounts/[BILLING_ACCOUNT_ID]/logs/[LOG_ID]"
799
800
  # "folders/[FOLDER_ID]/logs/[LOG_ID]"
800
- # A project number may optionally be used in place of PROJECT_ID. The project
801
- # number is translated to its corresponding PROJECT_ID internally and the
802
- # log_name field will contain PROJECT_ID in queries and exports.[LOG_ID] must be
803
- # URL-encoded within log_name. Example: "organizations/1234567890/logs/
804
- # cloudresourcemanager.googleapis.com%2Factivity". [LOG_ID] must be less than
805
- # 512 characters long and can only include the following characters: upper and
806
- # lower case alphanumeric characters, forward-slash, underscore, hyphen, and
807
- # period.For backward compatibility, if log_name begins with a forward-slash,
808
- # such as /projects/..., then the log entry is ingested as usual but the forward-
809
- # slash is removed. Listing the log entry will not show the leading slash and
810
- # filtering for a log name with a leading slash will never return any results.
801
+ # A project number may be used in place of PROJECT_ID. The project number is
802
+ # translated to its corresponding PROJECT_ID internally and the log_name field
803
+ # will contain PROJECT_ID in queries and exports.[LOG_ID] must be URL-encoded
804
+ # within log_name. Example: "organizations/1234567890/logs/cloudresourcemanager.
805
+ # googleapis.com%2Factivity". [LOG_ID] must be less than 512 characters long and
806
+ # can only include the following characters: upper and lower case alphanumeric
807
+ # characters, forward-slash, underscore, hyphen, and period.For backward
808
+ # compatibility, if log_name begins with a forward-slash, such as /projects/...,
809
+ # then the log entry is ingested as usual but the forward-slash is removed.
810
+ # Listing the log entry will not show the leading slash and filtering for a log
811
+ # name with a leading slash will never return any results.
811
812
  # Corresponds to the JSON property `logName`
812
813
  # @return [String]
813
814
  attr_accessor :log_name
@@ -871,8 +872,7 @@ module Google
871
872
 
872
873
  # Optional. The span ID within the trace associated with the log entry.For Trace
873
874
  # spans, this is the same format that the Trace API v2 uses: a 16-character
874
- # hexadecimal encoding of an 8-byte array, such as <code>"000000000000004a"</
875
- # code>.
875
+ # hexadecimal encoding of an 8-byte array, such as 000000000000004a.
876
876
  # Corresponds to the JSON property `spanId`
877
877
  # @return [String]
878
878
  attr_accessor :span_id
@@ -1293,11 +1293,6 @@ module Google
1293
1293
  attr_accessor :disabled
1294
1294
  alias_method :disabled?, :disabled
1295
1295
 
1296
- # Do not use. This field is ignored.
1297
- # Corresponds to the JSON property `endTime`
1298
- # @return [String]
1299
- attr_accessor :end_time
1300
-
1301
1296
  # Optional. An advanced logs filter. The only exported log entries are those
1302
1297
  # that are in the resource owning the sink and that match the filter. For
1303
1298
  # example:
@@ -1338,11 +1333,6 @@ module Google
1338
1333
  # @return [String]
1339
1334
  attr_accessor :output_version_format
1340
1335
 
1341
- # Do not use. This field is ignored.
1342
- # Corresponds to the JSON property `startTime`
1343
- # @return [String]
1344
- attr_accessor :start_time
1345
-
1346
1336
  # Output only. The last update timestamp of the sink.This field may not be
1347
1337
  # present for older sinks.
1348
1338
  # Corresponds to the JSON property `updateTime`
@@ -1372,12 +1362,10 @@ module Google
1372
1362
  @description = args[:description] if args.key?(:description)
1373
1363
  @destination = args[:destination] if args.key?(:destination)
1374
1364
  @disabled = args[:disabled] if args.key?(:disabled)
1375
- @end_time = args[:end_time] if args.key?(:end_time)
1376
1365
  @filter = args[:filter] if args.key?(:filter)
1377
1366
  @include_children = args[:include_children] if args.key?(:include_children)
1378
1367
  @name = args[:name] if args.key?(:name)
1379
1368
  @output_version_format = args[:output_version_format] if args.key?(:output_version_format)
1380
- @start_time = args[:start_time] if args.key?(:start_time)
1381
1369
  @update_time = args[:update_time] if args.key?(:update_time)
1382
1370
  @writer_identity = args[:writer_identity] if args.key?(:writer_identity)
1383
1371
  end
@@ -2074,10 +2062,9 @@ module Google
2074
2062
  # [LOG_ID] must be URL-encoded. For example:
2075
2063
  # "projects/my-project-id/logs/syslog"
2076
2064
  # "organizations/1234567890/logs/cloudresourcemanager.googleapis.com%2Factivity"
2077
- # The permission <code>logging.logEntries.create</code> is needed on each
2078
- # project, organization, billing account, or folder that is receiving new log
2079
- # entries, whether the resource is specified in <code>logName</code> or in an
2080
- # individual log entry.
2065
+ # The permission logging.logEntries.create is needed on each project,
2066
+ # organization, billing account, or folder that is receiving new log entries,
2067
+ # whether the resource is specified in logName or in an individual log entry.
2081
2068
  # Corresponds to the JSON property `logName`
2082
2069
  # @return [String]
2083
2070
  attr_accessor :log_name
@@ -2123,7 +2110,7 @@ module Google
2123
2110
  end
2124
2111
  end
2125
2112
 
2126
- # Result returned from WriteLogEntries. empty
2113
+ # Result returned from WriteLogEntries.
2127
2114
  class WriteLogEntriesResponse
2128
2115
  include Google::Apis::Core::Hashable
2129
2116
 
@@ -505,12 +505,10 @@ module Google
505
505
  property :description, as: 'description'
506
506
  property :destination, as: 'destination'
507
507
  property :disabled, as: 'disabled'
508
- property :end_time, as: 'endTime'
509
508
  property :filter, as: 'filter'
510
509
  property :include_children, as: 'includeChildren'
511
510
  property :name, as: 'name'
512
511
  property :output_version_format, as: 'outputVersionFormat'
513
- property :start_time, as: 'startTime'
514
512
  property :update_time, as: 'updateTime'
515
513
  property :writer_identity, as: 'writerIdentity'
516
514
  end
@@ -295,8 +295,8 @@ module Google
295
295
  # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
296
296
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
297
297
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
298
- # Note: The locations portion of the resource is required, but supplying the
299
- # character - in place of LOCATION_ID will return all buckets.
298
+ # Note: The locations portion of the resource must be specified, but supplying
299
+ # the character - in place of LOCATION_ID will return all buckets.
300
300
  # @param [Fixnum] page_size
301
301
  # Optional. The maximum number of results to return from this request. Non-
302
302
  # positive values are ignored. The presence of nextPageToken in the response
@@ -1278,8 +1278,8 @@ module Google
1278
1278
  # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
1279
1279
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
1280
1280
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
1281
- # Note: The locations portion of the resource is required, but supplying the
1282
- # character - in place of LOCATION_ID will return all buckets.
1281
+ # Note: The locations portion of the resource must be specified, but supplying
1282
+ # the character - in place of LOCATION_ID will return all buckets.
1283
1283
  # @param [Fixnum] page_size
1284
1284
  # Optional. The maximum number of results to return from this request. Non-
1285
1285
  # positive values are ignored. The presence of nextPageToken in the response
@@ -1793,8 +1793,8 @@ module Google
1793
1793
  # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
1794
1794
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
1795
1795
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
1796
- # Note: The locations portion of the resource is required, but supplying the
1797
- # character - in place of LOCATION_ID will return all buckets.
1796
+ # Note: The locations portion of the resource must be specified, but supplying
1797
+ # the character - in place of LOCATION_ID will return all buckets.
1798
1798
  # @param [Fixnum] page_size
1799
1799
  # Optional. The maximum number of results to return from this request. Non-
1800
1800
  # positive values are ignored. The presence of nextPageToken in the response
@@ -2346,8 +2346,8 @@ module Google
2346
2346
  # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
2347
2347
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
2348
2348
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
2349
- # Note: The locations portion of the resource is required, but supplying the
2350
- # character - in place of LOCATION_ID will return all buckets.
2349
+ # Note: The locations portion of the resource must be specified, but supplying
2350
+ # the character - in place of LOCATION_ID will return all buckets.
2351
2351
  # @param [Fixnum] page_size
2352
2352
  # Optional. The maximum number of results to return from this request. Non-
2353
2353
  # positive values are ignored. The presence of nextPageToken in the response
@@ -3062,8 +3062,8 @@ module Google
3062
3062
  # "organizations/[ORGANIZATION_ID]/locations/[LOCATION_ID]"
3063
3063
  # "billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION_ID]"
3064
3064
  # "folders/[FOLDER_ID]/locations/[LOCATION_ID]"
3065
- # Note: The locations portion of the resource is required, but supplying the
3066
- # character - in place of LOCATION_ID will return all buckets.
3065
+ # Note: The locations portion of the resource must be specified, but supplying
3066
+ # the character - in place of LOCATION_ID will return all buckets.
3067
3067
  # @param [Fixnum] page_size
3068
3068
  # Optional. The maximum number of results to return from this request. Non-
3069
3069
  # positive values are ignored. The presence of nextPageToken in the response
@@ -3243,7 +3243,7 @@ module Google
3243
3243
 
3244
3244
  # Creates a logs-based metric.
3245
3245
  # @param [String] parent
3246
- # The resource name of the project in which to create the metric:
3246
+ # Required. The resource name of the project in which to create the metric:
3247
3247
  # "projects/[PROJECT_ID]"
3248
3248
  # The new metric must be provided in the request.
3249
3249
  # @param [Google::Apis::LoggingV2::LogMetric] log_metric_object
@@ -3278,7 +3278,7 @@ module Google
3278
3278
 
3279
3279
  # Deletes a logs-based metric.
3280
3280
  # @param [String] metric_name
3281
- # The resource name of the metric to delete:
3281
+ # Required. The resource name of the metric to delete:
3282
3282
  # "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
3283
3283
  # @param [String] fields
3284
3284
  # Selector specifying which fields to include in a partial response.
@@ -3309,7 +3309,7 @@ module Google
3309
3309
 
3310
3310
  # Gets a logs-based metric.
3311
3311
  # @param [String] metric_name
3312
- # The resource name of the desired metric:
3312
+ # Required. The resource name of the desired metric:
3313
3313
  # "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
3314
3314
  # @param [String] fields
3315
3315
  # Selector specifying which fields to include in a partial response.
@@ -3382,7 +3382,7 @@ module Google
3382
3382
 
3383
3383
  # Creates or updates a logs-based metric.
3384
3384
  # @param [String] metric_name
3385
- # The resource name of the metric to update:
3385
+ # Required. The resource name of the metric to update:
3386
3386
  # "projects/[PROJECT_ID]/metrics/[METRIC_ID]"
3387
3387
  # The updated metric must be provided in the request and it's name field must be
3388
3388
  # the same as [METRIC_ID] If the metric does not exist in [PROJECT_ID], then a
@@ -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/managedidentities_v1/service.rb'
16
+ require 'google/apis/managedidentities_v1/classes.rb'
17
+ require 'google/apis/managedidentities_v1/representations.rb'
18
+
19
+ module Google
20
+ module Apis
21
+ # Managed Service for Microsoft Active Directory API
22
+ #
23
+ # The Managed Service for Microsoft Active Directory API is used for managing a
24
+ # highly available, hardened service running Microsoft Active Directory (AD).
25
+ #
26
+ # @see https://cloud.google.com/managed-microsoft-ad/
27
+ module ManagedidentitiesV1
28
+ VERSION = 'V1'
29
+ REVISION = '20200219'
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,1662 @@
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 ManagedidentitiesV1
24
+
25
+ # Request message for
26
+ # AttachTrust
27
+ class AttachTrustRequest
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Represents a relationship between two domains. This allows a controller in
31
+ # one domain to authenticate a user in another domain.
32
+ # Corresponds to the JSON property `trust`
33
+ # @return [Google::Apis::ManagedidentitiesV1::TrustProp]
34
+ attr_accessor :trust_prop
35
+
36
+ def initialize(**args)
37
+ update!(**args)
38
+ end
39
+
40
+ # Update properties of this object
41
+ def update!(**args)
42
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
43
+ end
44
+ end
45
+
46
+ # Associates `members` with a `role`.
47
+ class Binding
48
+ include Google::Apis::Core::Hashable
49
+
50
+ # Represents a textual expression in the Common Expression Language (CEL)
51
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
52
+ # are documented at https://github.com/google/cel-spec.
53
+ # Example (Comparison):
54
+ # title: "Summary size limit"
55
+ # description: "Determines if a summary is less than 100 chars"
56
+ # expression: "document.summary.size() < 100"
57
+ # Example (Equality):
58
+ # title: "Requestor is owner"
59
+ # description: "Determines if requestor is the document owner"
60
+ # expression: "document.owner == request.auth.claims.email"
61
+ # Example (Logic):
62
+ # title: "Public documents"
63
+ # description: "Determine whether the document should be publicly visible"
64
+ # expression: "document.type != 'private' && document.type != 'internal'"
65
+ # Example (Data Manipulation):
66
+ # title: "Notification string"
67
+ # description: "Create a notification string with a timestamp."
68
+ # expression: "'New message received at ' + string(document.create_time)"
69
+ # The exact variables and functions that may be referenced within an expression
70
+ # are determined by the service that evaluates it. See the service
71
+ # documentation for additional information.
72
+ # Corresponds to the JSON property `condition`
73
+ # @return [Google::Apis::ManagedidentitiesV1::Expr]
74
+ attr_accessor :condition
75
+
76
+ # Specifies the identities requesting access for a Cloud Platform resource.
77
+ # `members` can have the following values:
78
+ # * `allUsers`: A special identifier that represents anyone who is
79
+ # on the internet; with or without a Google account.
80
+ # * `allAuthenticatedUsers`: A special identifier that represents anyone
81
+ # who is authenticated with a Google account or a service account.
82
+ # * `user:`emailid``: An email address that represents a specific Google
83
+ # account. For example, `alice@example.com` .
84
+ # * `serviceAccount:`emailid``: An email address that represents a service
85
+ # account. For example, `my-other-app@appspot.gserviceaccount.com`.
86
+ # * `group:`emailid``: An email address that represents a Google group.
87
+ # For example, `admins@example.com`.
88
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
89
+ # identifier) representing a user that has been recently deleted. For
90
+ # example, `alice@example.com?uid=123456789012345678901`. If the user is
91
+ # recovered, this value reverts to `user:`emailid`` and the recovered user
92
+ # retains the role in the binding.
93
+ # * `deleted:serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus
94
+ # unique identifier) representing a service account that has been recently
95
+ # deleted. For example,
96
+ # `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
97
+ # If the service account is undeleted, this value reverts to
98
+ # `serviceAccount:`emailid`` and the undeleted service account retains the
99
+ # role in the binding.
100
+ # * `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
101
+ # identifier) representing a Google group that has been recently
102
+ # deleted. For example, `admins@example.com?uid=123456789012345678901`. If
103
+ # the group is recovered, this value reverts to `group:`emailid`` and the
104
+ # recovered group retains the role in the binding.
105
+ # * `domain:`domain``: The G Suite domain (primary) that represents all the
106
+ # users of that domain. For example, `google.com` or `example.com`.
107
+ # Corresponds to the JSON property `members`
108
+ # @return [Array<String>]
109
+ attr_accessor :members
110
+
111
+ # Role that is assigned to `members`.
112
+ # For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
113
+ # Corresponds to the JSON property `role`
114
+ # @return [String]
115
+ attr_accessor :role
116
+
117
+ def initialize(**args)
118
+ update!(**args)
119
+ end
120
+
121
+ # Update properties of this object
122
+ def update!(**args)
123
+ @condition = args[:condition] if args.key?(:condition)
124
+ @members = args[:members] if args.key?(:members)
125
+ @role = args[:role] if args.key?(:role)
126
+ end
127
+ end
128
+
129
+ # The request message for Operations.CancelOperation.
130
+ class CancelOperationRequest
131
+ include Google::Apis::Core::Hashable
132
+
133
+ def initialize(**args)
134
+ update!(**args)
135
+ end
136
+
137
+ # Update properties of this object
138
+ def update!(**args)
139
+ end
140
+ end
141
+
142
+ # Request message for
143
+ # DetachTrust
144
+ class DetachTrustRequest
145
+ include Google::Apis::Core::Hashable
146
+
147
+ # Represents a relationship between two domains. This allows a controller in
148
+ # one domain to authenticate a user in another domain.
149
+ # Corresponds to the JSON property `trust`
150
+ # @return [Google::Apis::ManagedidentitiesV1::TrustProp]
151
+ attr_accessor :trust_prop
152
+
153
+ def initialize(**args)
154
+ update!(**args)
155
+ end
156
+
157
+ # Update properties of this object
158
+ def update!(**args)
159
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
160
+ end
161
+ end
162
+
163
+ # Represents a managed Microsoft Active Directory domain.
164
+ class Domain
165
+ include Google::Apis::Core::Hashable
166
+
167
+ # Optional. The name of delegated administrator account used to perform
168
+ # Active Directory operations. If not specified, `setupadmin` will be used.
169
+ # Corresponds to the JSON property `admin`
170
+ # @return [String]
171
+ attr_accessor :admin
172
+
173
+ # Optional. The full names of the Google Compute Engine
174
+ # [networks](/compute/docs/networks-and-firewalls#networks) the domain
175
+ # instance is connected to. Networks can be added using UpdateDomain.
176
+ # The domain is only available on networks listed in `authorized_networks`.
177
+ # If CIDR subnets overlap between networks, domain creation will fail.
178
+ # Corresponds to the JSON property `authorizedNetworks`
179
+ # @return [Array<String>]
180
+ attr_accessor :authorized_networks
181
+
182
+ # Output only. The time the instance was created.
183
+ # Corresponds to the JSON property `createTime`
184
+ # @return [String]
185
+ attr_accessor :create_time
186
+
187
+ # Output only. The fully-qualified domain name of the exposed domain used by
188
+ # clients to connect to the service. Similar to what would be chosen for an
189
+ # Active Directory set up on an internal network.
190
+ # Corresponds to the JSON property `fqdn`
191
+ # @return [String]
192
+ attr_accessor :fqdn
193
+
194
+ # Optional. Resource labels that can contain user-provided metadata.
195
+ # Corresponds to the JSON property `labels`
196
+ # @return [Hash<String,String>]
197
+ attr_accessor :labels
198
+
199
+ # Required. Locations where domain needs to be provisioned.
200
+ # regions
201
+ # e.g. us-west1 or us-east4
202
+ # Service supports up to 4 locations at once. Each location will use a /26
203
+ # block.
204
+ # Corresponds to the JSON property `locations`
205
+ # @return [Array<String>]
206
+ attr_accessor :locations
207
+
208
+ # Required. The unique name of the domain using the form:
209
+ # `projects/`project_id`/locations/global/domains/`domain_name``.
210
+ # Corresponds to the JSON property `name`
211
+ # @return [String]
212
+ attr_accessor :name
213
+
214
+ # Required. The CIDR range of internal addresses that are reserved for this
215
+ # domain. Reserved networks must be /24 or larger. Ranges must be
216
+ # unique and non-overlapping with existing subnets in
217
+ # [Domain].[authorized_networks].
218
+ # Corresponds to the JSON property `reservedIpRange`
219
+ # @return [String]
220
+ attr_accessor :reserved_ip_range
221
+
222
+ # Output only. The current state of this domain.
223
+ # Corresponds to the JSON property `state`
224
+ # @return [String]
225
+ attr_accessor :state
226
+
227
+ # Output only. Additional information about the current status of this
228
+ # domain, if available.
229
+ # Corresponds to the JSON property `statusMessage`
230
+ # @return [String]
231
+ attr_accessor :status_message
232
+
233
+ # Output only. The current trusts associated with the domain.
234
+ # Corresponds to the JSON property `trusts`
235
+ # @return [Array<Google::Apis::ManagedidentitiesV1::TrustProp>]
236
+ attr_accessor :trusts
237
+
238
+ # Output only. The last update time.
239
+ # Corresponds to the JSON property `updateTime`
240
+ # @return [String]
241
+ attr_accessor :update_time
242
+
243
+ def initialize(**args)
244
+ update!(**args)
245
+ end
246
+
247
+ # Update properties of this object
248
+ def update!(**args)
249
+ @admin = args[:admin] if args.key?(:admin)
250
+ @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
251
+ @create_time = args[:create_time] if args.key?(:create_time)
252
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
253
+ @labels = args[:labels] if args.key?(:labels)
254
+ @locations = args[:locations] if args.key?(:locations)
255
+ @name = args[:name] if args.key?(:name)
256
+ @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range)
257
+ @state = args[:state] if args.key?(:state)
258
+ @status_message = args[:status_message] if args.key?(:status_message)
259
+ @trusts = args[:trusts] if args.key?(:trusts)
260
+ @update_time = args[:update_time] if args.key?(:update_time)
261
+ end
262
+ end
263
+
264
+ # A generic empty message that you can re-use to avoid defining duplicated
265
+ # empty messages in your APIs. A typical example is to use it as the request
266
+ # or the response type of an API method. For instance:
267
+ # service Foo `
268
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
269
+ # `
270
+ # The JSON representation for `Empty` is empty JSON object ````.
271
+ class Empty
272
+ include Google::Apis::Core::Hashable
273
+
274
+ def initialize(**args)
275
+ update!(**args)
276
+ end
277
+
278
+ # Update properties of this object
279
+ def update!(**args)
280
+ end
281
+ end
282
+
283
+ # Represents a textual expression in the Common Expression Language (CEL)
284
+ # syntax. CEL is a C-like expression language. The syntax and semantics of CEL
285
+ # are documented at https://github.com/google/cel-spec.
286
+ # Example (Comparison):
287
+ # title: "Summary size limit"
288
+ # description: "Determines if a summary is less than 100 chars"
289
+ # expression: "document.summary.size() < 100"
290
+ # Example (Equality):
291
+ # title: "Requestor is owner"
292
+ # description: "Determines if requestor is the document owner"
293
+ # expression: "document.owner == request.auth.claims.email"
294
+ # Example (Logic):
295
+ # title: "Public documents"
296
+ # description: "Determine whether the document should be publicly visible"
297
+ # expression: "document.type != 'private' && document.type != 'internal'"
298
+ # Example (Data Manipulation):
299
+ # title: "Notification string"
300
+ # description: "Create a notification string with a timestamp."
301
+ # expression: "'New message received at ' + string(document.create_time)"
302
+ # The exact variables and functions that may be referenced within an expression
303
+ # are determined by the service that evaluates it. See the service
304
+ # documentation for additional information.
305
+ class Expr
306
+ include Google::Apis::Core::Hashable
307
+
308
+ # Optional. Description of the expression. This is a longer text which
309
+ # describes the expression, e.g. when hovered over it in a UI.
310
+ # Corresponds to the JSON property `description`
311
+ # @return [String]
312
+ attr_accessor :description
313
+
314
+ # Textual representation of an expression in Common Expression Language
315
+ # syntax.
316
+ # Corresponds to the JSON property `expression`
317
+ # @return [String]
318
+ attr_accessor :expression
319
+
320
+ # Optional. String indicating the location of the expression for error
321
+ # reporting, e.g. a file name and a position in the file.
322
+ # Corresponds to the JSON property `location`
323
+ # @return [String]
324
+ attr_accessor :location
325
+
326
+ # Optional. Title for the expression, i.e. a short string describing
327
+ # its purpose. This can be used e.g. in UIs which allow to enter the
328
+ # expression.
329
+ # Corresponds to the JSON property `title`
330
+ # @return [String]
331
+ attr_accessor :title
332
+
333
+ def initialize(**args)
334
+ update!(**args)
335
+ end
336
+
337
+ # Update properties of this object
338
+ def update!(**args)
339
+ @description = args[:description] if args.key?(:description)
340
+ @expression = args[:expression] if args.key?(:expression)
341
+ @location = args[:location] if args.key?(:location)
342
+ @title = args[:title] if args.key?(:title)
343
+ end
344
+ end
345
+
346
+ # Represents the metadata of the long-running operation.
347
+ class GoogleCloudManagedidentitiesV1OpMetadata
348
+ include Google::Apis::Core::Hashable
349
+
350
+ # Output only. API version used to start the operation.
351
+ # Corresponds to the JSON property `apiVersion`
352
+ # @return [String]
353
+ attr_accessor :api_version
354
+
355
+ # Output only. The time the operation was created.
356
+ # Corresponds to the JSON property `createTime`
357
+ # @return [String]
358
+ attr_accessor :create_time
359
+
360
+ # Output only. The time the operation finished running.
361
+ # Corresponds to the JSON property `endTime`
362
+ # @return [String]
363
+ attr_accessor :end_time
364
+
365
+ # Output only. Identifies whether the user has requested cancellation
366
+ # of the operation. Operations that have successfully been cancelled
367
+ # have Operation.error value with a google.rpc.Status.code of 1,
368
+ # corresponding to `Code.CANCELLED`.
369
+ # Corresponds to the JSON property `requestedCancellation`
370
+ # @return [Boolean]
371
+ attr_accessor :requested_cancellation
372
+ alias_method :requested_cancellation?, :requested_cancellation
373
+
374
+ # Output only. Server-defined resource path for the target of the operation.
375
+ # Corresponds to the JSON property `target`
376
+ # @return [String]
377
+ attr_accessor :target
378
+
379
+ # Output only. Name of the verb executed by the operation.
380
+ # Corresponds to the JSON property `verb`
381
+ # @return [String]
382
+ attr_accessor :verb
383
+
384
+ def initialize(**args)
385
+ update!(**args)
386
+ end
387
+
388
+ # Update properties of this object
389
+ def update!(**args)
390
+ @api_version = args[:api_version] if args.key?(:api_version)
391
+ @create_time = args[:create_time] if args.key?(:create_time)
392
+ @end_time = args[:end_time] if args.key?(:end_time)
393
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
394
+ @target = args[:target] if args.key?(:target)
395
+ @verb = args[:verb] if args.key?(:verb)
396
+ end
397
+ end
398
+
399
+ # Represents the metadata of the long-running operation.
400
+ class GoogleCloudManagedidentitiesV1beta1OpMetadata
401
+ include Google::Apis::Core::Hashable
402
+
403
+ # Output only. API version used to start the operation.
404
+ # Corresponds to the JSON property `apiVersion`
405
+ # @return [String]
406
+ attr_accessor :api_version
407
+
408
+ # Output only. The time the operation was created.
409
+ # Corresponds to the JSON property `createTime`
410
+ # @return [String]
411
+ attr_accessor :create_time
412
+
413
+ # Output only. The time the operation finished running.
414
+ # Corresponds to the JSON property `endTime`
415
+ # @return [String]
416
+ attr_accessor :end_time
417
+
418
+ # Output only. Identifies whether the user has requested cancellation
419
+ # of the operation. Operations that have successfully been cancelled
420
+ # have Operation.error value with a google.rpc.Status.code of 1,
421
+ # corresponding to `Code.CANCELLED`.
422
+ # Corresponds to the JSON property `requestedCancellation`
423
+ # @return [Boolean]
424
+ attr_accessor :requested_cancellation
425
+ alias_method :requested_cancellation?, :requested_cancellation
426
+
427
+ # Output only. Server-defined resource path for the target of the operation.
428
+ # Corresponds to the JSON property `target`
429
+ # @return [String]
430
+ attr_accessor :target
431
+
432
+ # Output only. Name of the verb executed by the operation.
433
+ # Corresponds to the JSON property `verb`
434
+ # @return [String]
435
+ attr_accessor :verb
436
+
437
+ def initialize(**args)
438
+ update!(**args)
439
+ end
440
+
441
+ # Update properties of this object
442
+ def update!(**args)
443
+ @api_version = args[:api_version] if args.key?(:api_version)
444
+ @create_time = args[:create_time] if args.key?(:create_time)
445
+ @end_time = args[:end_time] if args.key?(:end_time)
446
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
447
+ @target = args[:target] if args.key?(:target)
448
+ @verb = args[:verb] if args.key?(:verb)
449
+ end
450
+ end
451
+
452
+ # Instance represents the interface for SLM services to actuate the state
453
+ # of control plane resources.
454
+ # Example Instance in JSON, where
455
+ # consumer-project=snapchat,
456
+ # producer-project=cloud-sql:
457
+ # ```json
458
+ # Instance:
459
+ # `
460
+ # "name":
461
+ # "projects/snapchat/locations/us-east1/instances/prod-instance",
462
+ # "create_time": `
463
+ # "seconds": 1526406431,
464
+ # `,
465
+ # "labels": `
466
+ # "env": "prod",
467
+ # "foo": "bar"
468
+ # `,
469
+ # "state": READY,
470
+ # "software_versions": `
471
+ # "software_update": "cloud-sql-09-28-2018",
472
+ # `,
473
+ # "maintenance_policy_names": `
474
+ # "UpdatePolicy":
475
+ # "projects/snapchat/locations/us-east1/maintenancePolicies/prod-update-
476
+ # policy",
477
+ # `
478
+ # "tenant_project_id": "cloud-sql-test-tenant",
479
+ # "producer_metadata": `
480
+ # "cloud-sql-tier": "basic",
481
+ # "cloud-sql-instance-size": "1G",
482
+ # `,
483
+ # "provisioned_resources": [
484
+ # `
485
+ # "resource-type": "compute-instance",
486
+ # "resource-url":
487
+ # "https://www.googleapis.com/compute/v1/projects/cloud-sql/zones/us-east1-
488
+ # b/instances/vm-1",
489
+ # `
490
+ # ],
491
+ # "maintenance_schedules": `
492
+ # "csa_rollout": `
493
+ # "start_time": `
494
+ # "seconds": 1526406431,
495
+ # `,
496
+ # "end_time": `
497
+ # "seconds": 1535406431,
498
+ # `,
499
+ # `,
500
+ # "ncsa_rollout": `
501
+ # "start_time": `
502
+ # "seconds": 1526406431,
503
+ # `,
504
+ # "end_time": `
505
+ # "seconds": 1535406431,
506
+ # `,
507
+ # `
508
+ # `,
509
+ # "consumer_defined_name": "my-sql-instance1",
510
+ # `
511
+ # ```
512
+ class GoogleCloudSaasacceleratorManagementProvidersV1Instance
513
+ include Google::Apis::Core::Hashable
514
+
515
+ # consumer_defined_name is the name that is set by the consumer. On the other
516
+ # hand Name field represents system-assigned id of an instance so consumers
517
+ # are not necessarily aware of it.
518
+ # consumer_defined_name is used for notification/UI purposes for consumer to
519
+ # recognize their instances.
520
+ # Corresponds to the JSON property `consumerDefinedName`
521
+ # @return [String]
522
+ attr_accessor :consumer_defined_name
523
+
524
+ # Output only. Timestamp when the resource was created.
525
+ # Corresponds to the JSON property `createTime`
526
+ # @return [String]
527
+ attr_accessor :create_time
528
+
529
+ # Optional. Resource labels to represent user provided metadata. Each label
530
+ # is a key-value pair, where both the key and the value are arbitrary strings
531
+ # provided by the user.
532
+ # Corresponds to the JSON property `labels`
533
+ # @return [Hash<String,String>]
534
+ attr_accessor :labels
535
+
536
+ # The MaintenancePolicies that have been attached to the instance.
537
+ # The key must be of the type name of the oneof policy name defined in
538
+ # MaintenancePolicy, and the referenced policy must define the same policy
539
+ # type. For complete details of MaintenancePolicy, please refer to
540
+ # go/cloud-saas-mw-ug.
541
+ # Corresponds to the JSON property `maintenancePolicyNames`
542
+ # @return [Hash<String,String>]
543
+ attr_accessor :maintenance_policy_names
544
+
545
+ # The MaintenanceSchedule contains the scheduling information of published
546
+ # maintenance schedule.
547
+ # Corresponds to the JSON property `maintenanceSchedules`
548
+ # @return [Hash<String,Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>]
549
+ attr_accessor :maintenance_schedules
550
+
551
+ # Unique name of the resource. It uses the form:
552
+ # `projects/`project_id`/locations/`location_id`/instances/`instance_id``
553
+ # Corresponds to the JSON property `name`
554
+ # @return [String]
555
+ attr_accessor :name
556
+
557
+ # Output only. Custom string attributes used primarily to expose
558
+ # producer-specific information in monitoring dashboards.
559
+ # See go/get-instance-metadata.
560
+ # Corresponds to the JSON property `producerMetadata`
561
+ # @return [Hash<String,String>]
562
+ attr_accessor :producer_metadata
563
+
564
+ # Output only. The list of data plane resources provisioned for this
565
+ # instance, e.g. compute VMs. See go/get-instance-metadata.
566
+ # Corresponds to the JSON property `provisionedResources`
567
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource>]
568
+ attr_accessor :provisioned_resources
569
+
570
+ # The map between RolloutType and the corresponding RolloutMetadata.
571
+ # This is only mutated by rollout service. For actuation implementation,
572
+ # this information is pass-through for Rollout management. Producer shall
573
+ # not modify by itself.
574
+ # For update of a single entry in this map, the update field mask shall
575
+ # follow this sementics: go/advanced-field-masks
576
+ # Corresponds to the JSON property `rolloutMetadata`
577
+ # @return [Hash<String,Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata>]
578
+ attr_accessor :rollout_metadata
579
+
580
+ # Link to the SLM instance template. Only populated when updating SLM
581
+ # instances via SSA's Actuation service adaptor.
582
+ # Service producers with custom control plane (e.g. Cloud SQL) doesn't
583
+ # need to populate this field. Instead they should use software_versions.
584
+ # Corresponds to the JSON property `slmInstanceTemplate`
585
+ # @return [String]
586
+ attr_accessor :slm_instance_template
587
+
588
+ # SloMetadata contains resources required for proper SLO classification of the
589
+ # instance.
590
+ # Corresponds to the JSON property `sloMetadata`
591
+ # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata]
592
+ attr_accessor :slo_metadata
593
+
594
+ # Software versions that are used to deploy this instance. This can be
595
+ # mutated by rollout services.
596
+ # Corresponds to the JSON property `softwareVersions`
597
+ # @return [Hash<String,String>]
598
+ attr_accessor :software_versions
599
+
600
+ # Output only. Current lifecycle state of the resource (e.g. if it's being
601
+ # created or ready to use).
602
+ # Corresponds to the JSON property `state`
603
+ # @return [String]
604
+ attr_accessor :state
605
+
606
+ # Output only. ID of the associated GCP tenant project.
607
+ # See go/get-instance-metadata.
608
+ # Corresponds to the JSON property `tenantProjectId`
609
+ # @return [String]
610
+ attr_accessor :tenant_project_id
611
+
612
+ # Output only. Timestamp when the resource was last modified.
613
+ # Corresponds to the JSON property `updateTime`
614
+ # @return [String]
615
+ attr_accessor :update_time
616
+
617
+ def initialize(**args)
618
+ update!(**args)
619
+ end
620
+
621
+ # Update properties of this object
622
+ def update!(**args)
623
+ @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name)
624
+ @create_time = args[:create_time] if args.key?(:create_time)
625
+ @labels = args[:labels] if args.key?(:labels)
626
+ @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names)
627
+ @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules)
628
+ @name = args[:name] if args.key?(:name)
629
+ @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata)
630
+ @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources)
631
+ @rollout_metadata = args[:rollout_metadata] if args.key?(:rollout_metadata)
632
+ @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template)
633
+ @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata)
634
+ @software_versions = args[:software_versions] if args.key?(:software_versions)
635
+ @state = args[:state] if args.key?(:state)
636
+ @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id)
637
+ @update_time = args[:update_time] if args.key?(:update_time)
638
+ end
639
+ end
640
+
641
+ # Maintenance schedule which is exposed to customer and potentially end user,
642
+ # indicating published upcoming future maintenance schedule
643
+ class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule
644
+ include Google::Apis::Core::Hashable
645
+
646
+ # Can this scheduled update be rescheduled?
647
+ # By default, it's true and API needs to do explicitly check whether it's
648
+ # set, if it's set as false explicitly, it's false
649
+ # Corresponds to the JSON property `canReschedule`
650
+ # @return [Boolean]
651
+ attr_accessor :can_reschedule
652
+ alias_method :can_reschedule?, :can_reschedule
653
+
654
+ # The scheduled end time for the maintenance.
655
+ # Corresponds to the JSON property `endTime`
656
+ # @return [String]
657
+ attr_accessor :end_time
658
+
659
+ # The rollout management policy this maintenance schedule is associated
660
+ # with. When doing reschedule update request, the reschedule should be
661
+ # against this given policy.
662
+ # Corresponds to the JSON property `rolloutManagementPolicy`
663
+ # @return [String]
664
+ attr_accessor :rollout_management_policy
665
+
666
+ # The scheduled start time for the maintenance.
667
+ # Corresponds to the JSON property `startTime`
668
+ # @return [String]
669
+ attr_accessor :start_time
670
+
671
+ def initialize(**args)
672
+ update!(**args)
673
+ end
674
+
675
+ # Update properties of this object
676
+ def update!(**args)
677
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
678
+ @end_time = args[:end_time] if args.key?(:end_time)
679
+ @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy)
680
+ @start_time = args[:start_time] if args.key?(:start_time)
681
+ end
682
+ end
683
+
684
+ # Node information for custom per-node SLO implementations.
685
+ # SSA does not support per-node SLO, but producers can populate per-node
686
+ # information in SloMetadata for custom precomputations.
687
+ # SSA Eligibility Exporter will emit per-node metric based on this information.
688
+ class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata
689
+ include Google::Apis::Core::Hashable
690
+
691
+ # By default node is eligible if instance is eligible.
692
+ # But individual node might be excluded from SLO by adding entry here.
693
+ # For semantic see SloMetadata.exclusions.
694
+ # If both instance and node level exclusions are present for time period,
695
+ # the node level's reason will be reported by Eligibility Exporter.
696
+ # Corresponds to the JSON property `exclusions`
697
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion>]
698
+ attr_accessor :exclusions
699
+
700
+ # The location of the node, if different from instance location.
701
+ # Corresponds to the JSON property `location`
702
+ # @return [String]
703
+ attr_accessor :location
704
+
705
+ # The id of the node.
706
+ # This should be equal to SaasInstanceNode.node_id.
707
+ # Corresponds to the JSON property `nodeId`
708
+ # @return [String]
709
+ attr_accessor :node_id
710
+
711
+ def initialize(**args)
712
+ update!(**args)
713
+ end
714
+
715
+ # Update properties of this object
716
+ def update!(**args)
717
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
718
+ @location = args[:location] if args.key?(:location)
719
+ @node_id = args[:node_id] if args.key?(:node_id)
720
+ end
721
+ end
722
+
723
+ # This message has been deprecated.
724
+ # NotificationMetadata is the notification state for an instance.
725
+ class GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # Whether the instance update has been rescheduled.
729
+ # Corresponds to the JSON property `rescheduled`
730
+ # @return [Boolean]
731
+ attr_accessor :rescheduled
732
+ alias_method :rescheduled?, :rescheduled
733
+
734
+ # The scheduled end time for the maintenance window during which update
735
+ # can be performed on the instance.
736
+ # Corresponds to the JSON property `scheduledEndTime`
737
+ # @return [String]
738
+ attr_accessor :scheduled_end_time
739
+
740
+ # The scheduled start time for the maintenance window during which
741
+ # update can be performed on the instance.
742
+ # Corresponds to the JSON property `scheduledStartTime`
743
+ # @return [String]
744
+ attr_accessor :scheduled_start_time
745
+
746
+ # The target release to be applied to the instance.
747
+ # Corresponds to the JSON property `targetRelease`
748
+ # @return [String]
749
+ attr_accessor :target_release
750
+
751
+ def initialize(**args)
752
+ update!(**args)
753
+ end
754
+
755
+ # Update properties of this object
756
+ def update!(**args)
757
+ @rescheduled = args[:rescheduled] if args.key?(:rescheduled)
758
+ @scheduled_end_time = args[:scheduled_end_time] if args.key?(:scheduled_end_time)
759
+ @scheduled_start_time = args[:scheduled_start_time] if args.key?(:scheduled_start_time)
760
+ @target_release = args[:target_release] if args.key?(:target_release)
761
+ end
762
+ end
763
+
764
+ # Describes provisioned dataplane resources.
765
+ class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource
766
+ include Google::Apis::Core::Hashable
767
+
768
+ # Type of the resource. This can be either a GCP resource or a custom one
769
+ # (e.g. another cloud provider's VM). For GCP compute resources use singular
770
+ # form of the names listed in GCP compute API documentation
771
+ # (https://cloud.google.com/compute/docs/reference/rest/v1/), prefixed with
772
+ # 'compute-', for example: 'compute-instance', 'compute-disk',
773
+ # 'compute-autoscaler'.
774
+ # Corresponds to the JSON property `resourceType`
775
+ # @return [String]
776
+ attr_accessor :resource_type
777
+
778
+ # URL identifying the resource, e.g.
779
+ # "https://www.googleapis.com/compute/v1/projects/...)".
780
+ # Corresponds to the JSON property `resourceUrl`
781
+ # @return [String]
782
+ attr_accessor :resource_url
783
+
784
+ def initialize(**args)
785
+ update!(**args)
786
+ end
787
+
788
+ # Update properties of this object
789
+ def update!(**args)
790
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
791
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
792
+ end
793
+ end
794
+
795
+ # This message has been deprecated.
796
+ # RolloutMetadata for an actuation instance. It maps to a single RolloutType.
797
+ class GoogleCloudSaasacceleratorManagementProvidersV1RolloutMetadata
798
+ include Google::Apis::Core::Hashable
799
+
800
+ # This message has been deprecated.
801
+ # NotificationMetadata is the notification state for an instance.
802
+ # Corresponds to the JSON property `notification`
803
+ # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NotificationMetadata]
804
+ attr_accessor :notification
805
+
806
+ # The last Release that has been applied to the instance.
807
+ # Corresponds to the JSON property `releaseName`
808
+ # @return [String]
809
+ attr_accessor :release_name
810
+
811
+ # The last rollout that has been applied to the instance.
812
+ # Corresponds to the JSON property `rolloutName`
813
+ # @return [String]
814
+ attr_accessor :rollout_name
815
+
816
+ def initialize(**args)
817
+ update!(**args)
818
+ end
819
+
820
+ # Update properties of this object
821
+ def update!(**args)
822
+ @notification = args[:notification] if args.key?(:notification)
823
+ @release_name = args[:release_name] if args.key?(:release_name)
824
+ @rollout_name = args[:rollout_name] if args.key?(:rollout_name)
825
+ end
826
+ end
827
+
828
+ # SloEligibility is a tuple containing eligibility value: true if an instance
829
+ # is eligible for SLO calculation or false if it should be excluded from all
830
+ # SLO-related calculations along with a user-defined reason.
831
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility
832
+ include Google::Apis::Core::Hashable
833
+
834
+ # Whether an instance is eligible or ineligible.
835
+ # Corresponds to the JSON property `eligible`
836
+ # @return [Boolean]
837
+ attr_accessor :eligible
838
+ alias_method :eligible?, :eligible
839
+
840
+ # User-defined reason for the current value of instance eligibility. Usually,
841
+ # this can be directly mapped to the internal state. An empty reason is
842
+ # allowed.
843
+ # Corresponds to the JSON property `reason`
844
+ # @return [String]
845
+ attr_accessor :reason
846
+
847
+ def initialize(**args)
848
+ update!(**args)
849
+ end
850
+
851
+ # Update properties of this object
852
+ def update!(**args)
853
+ @eligible = args[:eligible] if args.key?(:eligible)
854
+ @reason = args[:reason] if args.key?(:reason)
855
+ end
856
+ end
857
+
858
+ # SloExclusion represents an exclusion in SLI calculation applies to all SLOs.
859
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion
860
+ include Google::Apis::Core::Hashable
861
+
862
+ # Exclusion duration. No restrictions on the possible values.
863
+ # When an ongoing operation is taking longer than initially expected,
864
+ # an existing entry in the exclusion list can be updated by extending the
865
+ # duration. This is supported by the subsystem exporting eligibility data
866
+ # as long as such extension is committed at least 10 minutes before the
867
+ # original exclusion expiration - otherwise it is possible that there will
868
+ # be "gaps" in the exclusion application in the exported timeseries.
869
+ # Corresponds to the JSON property `duration`
870
+ # @return [String]
871
+ attr_accessor :duration
872
+
873
+ # Human-readable reason for the exclusion.
874
+ # This should be a static string (e.g. "Disruptive update in progress")
875
+ # and should not contain dynamically generated data (e.g. instance name).
876
+ # Can be left empty.
877
+ # Corresponds to the JSON property `reason`
878
+ # @return [String]
879
+ attr_accessor :reason
880
+
881
+ # Name of an SLI that this exclusion applies to. Can be left empty,
882
+ # signaling that the instance should be excluded from all SLIs defined
883
+ # in the service SLO configuration.
884
+ # Corresponds to the JSON property `sliName`
885
+ # @return [String]
886
+ attr_accessor :sli_name
887
+
888
+ # Start time of the exclusion. No alignment (e.g. to a full minute) needed.
889
+ # Corresponds to the JSON property `startTime`
890
+ # @return [String]
891
+ attr_accessor :start_time
892
+
893
+ def initialize(**args)
894
+ update!(**args)
895
+ end
896
+
897
+ # Update properties of this object
898
+ def update!(**args)
899
+ @duration = args[:duration] if args.key?(:duration)
900
+ @reason = args[:reason] if args.key?(:reason)
901
+ @sli_name = args[:sli_name] if args.key?(:sli_name)
902
+ @start_time = args[:start_time] if args.key?(:start_time)
903
+ end
904
+ end
905
+
906
+ # SloMetadata contains resources required for proper SLO classification of the
907
+ # instance.
908
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
909
+ include Google::Apis::Core::Hashable
910
+
911
+ # SloEligibility is a tuple containing eligibility value: true if an instance
912
+ # is eligible for SLO calculation or false if it should be excluded from all
913
+ # SLO-related calculations along with a user-defined reason.
914
+ # Corresponds to the JSON property `eligibility`
915
+ # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility]
916
+ attr_accessor :eligibility
917
+
918
+ # List of SLO exclusion windows. When multiple entries in the list match
919
+ # (matching the exclusion time-window against current time point)
920
+ # the exclusion reason used in the first matching entry will be published.
921
+ # It is not needed to include expired exclusion in this list, as only the
922
+ # currently applicable exclusions are taken into account by the eligibility
923
+ # exporting subsystem (the historical state of exclusions will be reflected
924
+ # in the historically produced timeseries regardless of the current state).
925
+ # This field can be used to mark the instance as temporary ineligible
926
+ # for the purpose of SLO calculation. For permanent instance SLO exclusion,
927
+ # use of custom instance eligibility is recommended. See 'eligibility' field
928
+ # below.
929
+ # Corresponds to the JSON property `exclusions`
930
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion>]
931
+ attr_accessor :exclusions
932
+
933
+ # Optional. List of nodes.
934
+ # Some producers need to use per-node metadata to calculate SLO.
935
+ # This field allows such producers to publish per-node SLO meta data,
936
+ # which will be consumed by SSA Eligibility Exporter and published in the
937
+ # form of per node metric to Monarch.
938
+ # Corresponds to the JSON property `nodes`
939
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata>]
940
+ attr_accessor :nodes
941
+
942
+ # Name of the SLO tier the Instance belongs to. This name will be expected to
943
+ # match the tiers specified in the service SLO configuration.
944
+ # Field is mandatory and must not be empty.
945
+ # Corresponds to the JSON property `tier`
946
+ # @return [String]
947
+ attr_accessor :tier
948
+
949
+ def initialize(**args)
950
+ update!(**args)
951
+ end
952
+
953
+ # Update properties of this object
954
+ def update!(**args)
955
+ @eligibility = args[:eligibility] if args.key?(:eligibility)
956
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
957
+ @nodes = args[:nodes] if args.key?(:nodes)
958
+ @tier = args[:tier] if args.key?(:tier)
959
+ end
960
+ end
961
+
962
+ # Response message for
963
+ # ListDomains
964
+ class ListDomainsResponse
965
+ include Google::Apis::Core::Hashable
966
+
967
+ # A list of Managed Identities Service domains in the project.
968
+ # Corresponds to the JSON property `domains`
969
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Domain>]
970
+ attr_accessor :domains
971
+
972
+ # A token to retrieve the next page of results, or empty if there are no more
973
+ # results in the list.
974
+ # Corresponds to the JSON property `nextPageToken`
975
+ # @return [String]
976
+ attr_accessor :next_page_token
977
+
978
+ # A list of locations that could not be reached.
979
+ # Corresponds to the JSON property `unreachable`
980
+ # @return [Array<String>]
981
+ attr_accessor :unreachable
982
+
983
+ def initialize(**args)
984
+ update!(**args)
985
+ end
986
+
987
+ # Update properties of this object
988
+ def update!(**args)
989
+ @domains = args[:domains] if args.key?(:domains)
990
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
991
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
992
+ end
993
+ end
994
+
995
+ # The response message for Locations.ListLocations.
996
+ class ListLocationsResponse
997
+ include Google::Apis::Core::Hashable
998
+
999
+ # A list of locations that matches the specified filter in the request.
1000
+ # Corresponds to the JSON property `locations`
1001
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Location>]
1002
+ attr_accessor :locations
1003
+
1004
+ # The standard List next-page token.
1005
+ # Corresponds to the JSON property `nextPageToken`
1006
+ # @return [String]
1007
+ attr_accessor :next_page_token
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ @locations = args[:locations] if args.key?(:locations)
1016
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1017
+ end
1018
+ end
1019
+
1020
+ # The response message for Operations.ListOperations.
1021
+ class ListOperationsResponse
1022
+ include Google::Apis::Core::Hashable
1023
+
1024
+ # The standard List next-page token.
1025
+ # Corresponds to the JSON property `nextPageToken`
1026
+ # @return [String]
1027
+ attr_accessor :next_page_token
1028
+
1029
+ # A list of operations that matches the specified filter in the request.
1030
+ # Corresponds to the JSON property `operations`
1031
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Operation>]
1032
+ attr_accessor :operations
1033
+
1034
+ def initialize(**args)
1035
+ update!(**args)
1036
+ end
1037
+
1038
+ # Update properties of this object
1039
+ def update!(**args)
1040
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1041
+ @operations = args[:operations] if args.key?(:operations)
1042
+ end
1043
+ end
1044
+
1045
+ # A resource that represents Google Cloud Platform location.
1046
+ class Location
1047
+ include Google::Apis::Core::Hashable
1048
+
1049
+ # The friendly name for this location, typically a nearby city name.
1050
+ # For example, "Tokyo".
1051
+ # Corresponds to the JSON property `displayName`
1052
+ # @return [String]
1053
+ attr_accessor :display_name
1054
+
1055
+ # Cross-service attributes for the location. For example
1056
+ # `"cloud.googleapis.com/region": "us-east1"`
1057
+ # Corresponds to the JSON property `labels`
1058
+ # @return [Hash<String,String>]
1059
+ attr_accessor :labels
1060
+
1061
+ # The canonical id for this location. For example: `"us-east1"`.
1062
+ # Corresponds to the JSON property `locationId`
1063
+ # @return [String]
1064
+ attr_accessor :location_id
1065
+
1066
+ # Service-specific metadata. For example the available capacity at the given
1067
+ # location.
1068
+ # Corresponds to the JSON property `metadata`
1069
+ # @return [Hash<String,Object>]
1070
+ attr_accessor :metadata
1071
+
1072
+ # Resource name for the location, which may vary between implementations.
1073
+ # For example: `"projects/example-project/locations/us-east1"`
1074
+ # Corresponds to the JSON property `name`
1075
+ # @return [String]
1076
+ attr_accessor :name
1077
+
1078
+ def initialize(**args)
1079
+ update!(**args)
1080
+ end
1081
+
1082
+ # Update properties of this object
1083
+ def update!(**args)
1084
+ @display_name = args[:display_name] if args.key?(:display_name)
1085
+ @labels = args[:labels] if args.key?(:labels)
1086
+ @location_id = args[:location_id] if args.key?(:location_id)
1087
+ @metadata = args[:metadata] if args.key?(:metadata)
1088
+ @name = args[:name] if args.key?(:name)
1089
+ end
1090
+ end
1091
+
1092
+ # This resource represents a long-running operation that is the result of a
1093
+ # network API call.
1094
+ class Operation
1095
+ include Google::Apis::Core::Hashable
1096
+
1097
+ # If the value is `false`, it means the operation is still in progress.
1098
+ # If `true`, the operation is completed, and either `error` or `response` is
1099
+ # available.
1100
+ # Corresponds to the JSON property `done`
1101
+ # @return [Boolean]
1102
+ attr_accessor :done
1103
+ alias_method :done?, :done
1104
+
1105
+ # The `Status` type defines a logical error model that is suitable for
1106
+ # different programming environments, including REST APIs and RPC APIs. It is
1107
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1108
+ # three pieces of data: error code, error message, and error details.
1109
+ # You can find out more about this error model and how to work with it in the
1110
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1111
+ # Corresponds to the JSON property `error`
1112
+ # @return [Google::Apis::ManagedidentitiesV1::Status]
1113
+ attr_accessor :error
1114
+
1115
+ # Service-specific metadata associated with the operation. It typically
1116
+ # contains progress information and common metadata such as create time.
1117
+ # Some services might not provide such metadata. Any method that returns a
1118
+ # long-running operation should document the metadata type, if any.
1119
+ # Corresponds to the JSON property `metadata`
1120
+ # @return [Hash<String,Object>]
1121
+ attr_accessor :metadata
1122
+
1123
+ # The server-assigned name, which is only unique within the same service that
1124
+ # originally returns it. If you use the default HTTP mapping, the
1125
+ # `name` should be a resource name ending with `operations/`unique_id``.
1126
+ # Corresponds to the JSON property `name`
1127
+ # @return [String]
1128
+ attr_accessor :name
1129
+
1130
+ # The normal response of the operation in case of success. If the original
1131
+ # method returns no data on success, such as `Delete`, the response is
1132
+ # `google.protobuf.Empty`. If the original method is standard
1133
+ # `Get`/`Create`/`Update`, the response should be the resource. For other
1134
+ # methods, the response should have the type `XxxResponse`, where `Xxx`
1135
+ # is the original method name. For example, if the original method name
1136
+ # is `TakeSnapshot()`, the inferred response type is
1137
+ # `TakeSnapshotResponse`.
1138
+ # Corresponds to the JSON property `response`
1139
+ # @return [Hash<String,Object>]
1140
+ attr_accessor :response
1141
+
1142
+ def initialize(**args)
1143
+ update!(**args)
1144
+ end
1145
+
1146
+ # Update properties of this object
1147
+ def update!(**args)
1148
+ @done = args[:done] if args.key?(:done)
1149
+ @error = args[:error] if args.key?(:error)
1150
+ @metadata = args[:metadata] if args.key?(:metadata)
1151
+ @name = args[:name] if args.key?(:name)
1152
+ @response = args[:response] if args.key?(:response)
1153
+ end
1154
+ end
1155
+
1156
+ # Represents the metadata of the long-running operation.
1157
+ class OperationMetadata
1158
+ include Google::Apis::Core::Hashable
1159
+
1160
+ # [Output only] API version used to start the operation.
1161
+ # Corresponds to the JSON property `apiVersion`
1162
+ # @return [String]
1163
+ attr_accessor :api_version
1164
+
1165
+ # [Output only] Identifies whether the user has requested cancellation
1166
+ # of the operation. Operations that have successfully been cancelled
1167
+ # have Operation.error value with a google.rpc.Status.code of 1,
1168
+ # corresponding to `Code.CANCELLED`.
1169
+ # Corresponds to the JSON property `cancelRequested`
1170
+ # @return [Boolean]
1171
+ attr_accessor :cancel_requested
1172
+ alias_method :cancel_requested?, :cancel_requested
1173
+
1174
+ # [Output only] The time the operation was created.
1175
+ # Corresponds to the JSON property `createTime`
1176
+ # @return [String]
1177
+ attr_accessor :create_time
1178
+
1179
+ # [Output only] The time the operation finished running.
1180
+ # Corresponds to the JSON property `endTime`
1181
+ # @return [String]
1182
+ attr_accessor :end_time
1183
+
1184
+ # [Output only] Human-readable status of the operation, if any.
1185
+ # Corresponds to the JSON property `statusDetail`
1186
+ # @return [String]
1187
+ attr_accessor :status_detail
1188
+
1189
+ # [Output only] Server-defined resource path for the target of the operation.
1190
+ # Corresponds to the JSON property `target`
1191
+ # @return [String]
1192
+ attr_accessor :target
1193
+
1194
+ # [Output only] Name of the verb executed by the operation.
1195
+ # Corresponds to the JSON property `verb`
1196
+ # @return [String]
1197
+ attr_accessor :verb
1198
+
1199
+ def initialize(**args)
1200
+ update!(**args)
1201
+ end
1202
+
1203
+ # Update properties of this object
1204
+ def update!(**args)
1205
+ @api_version = args[:api_version] if args.key?(:api_version)
1206
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
1207
+ @create_time = args[:create_time] if args.key?(:create_time)
1208
+ @end_time = args[:end_time] if args.key?(:end_time)
1209
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1210
+ @target = args[:target] if args.key?(:target)
1211
+ @verb = args[:verb] if args.key?(:verb)
1212
+ end
1213
+ end
1214
+
1215
+ # An Identity and Access Management (IAM) policy, which specifies access
1216
+ # controls for Google Cloud resources.
1217
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1218
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1219
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1220
+ # permissions; each `role` can be an IAM predefined role or a user-created
1221
+ # custom role.
1222
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1223
+ # expression that allows access to a resource only if the expression evaluates
1224
+ # to `true`. A condition can add constraints based on attributes of the
1225
+ # request, the resource, or both.
1226
+ # **JSON example:**
1227
+ # `
1228
+ # "bindings": [
1229
+ # `
1230
+ # "role": "roles/resourcemanager.organizationAdmin",
1231
+ # "members": [
1232
+ # "user:mike@example.com",
1233
+ # "group:admins@example.com",
1234
+ # "domain:google.com",
1235
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1236
+ # ]
1237
+ # `,
1238
+ # `
1239
+ # "role": "roles/resourcemanager.organizationViewer",
1240
+ # "members": ["user:eve@example.com"],
1241
+ # "condition": `
1242
+ # "title": "expirable access",
1243
+ # "description": "Does not grant access after Sep 2020",
1244
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1245
+ # ",
1246
+ # `
1247
+ # `
1248
+ # ],
1249
+ # "etag": "BwWWja0YfJA=",
1250
+ # "version": 3
1251
+ # `
1252
+ # **YAML example:**
1253
+ # bindings:
1254
+ # - members:
1255
+ # - user:mike@example.com
1256
+ # - group:admins@example.com
1257
+ # - domain:google.com
1258
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1259
+ # role: roles/resourcemanager.organizationAdmin
1260
+ # - members:
1261
+ # - user:eve@example.com
1262
+ # role: roles/resourcemanager.organizationViewer
1263
+ # condition:
1264
+ # title: expirable access
1265
+ # description: Does not grant access after Sep 2020
1266
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1267
+ # - etag: BwWWja0YfJA=
1268
+ # - version: 3
1269
+ # For a description of IAM and its features, see the
1270
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1271
+ class Policy
1272
+ include Google::Apis::Core::Hashable
1273
+
1274
+ # Associates a list of `members` to a `role`. Optionally, may specify a
1275
+ # `condition` that determines how and when the `bindings` are applied. Each
1276
+ # of the `bindings` must contain at least one member.
1277
+ # Corresponds to the JSON property `bindings`
1278
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Binding>]
1279
+ attr_accessor :bindings
1280
+
1281
+ # `etag` is used for optimistic concurrency control as a way to help
1282
+ # prevent simultaneous updates of a policy from overwriting each other.
1283
+ # It is strongly suggested that systems make use of the `etag` in the
1284
+ # read-modify-write cycle to perform policy updates in order to avoid race
1285
+ # conditions: An `etag` is returned in the response to `getIamPolicy`, and
1286
+ # systems are expected to put that etag in the request to `setIamPolicy` to
1287
+ # ensure that their change will be applied to the same version of the policy.
1288
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1289
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1290
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1291
+ # the conditions in the version `3` policy are lost.
1292
+ # Corresponds to the JSON property `etag`
1293
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1294
+ # @return [String]
1295
+ attr_accessor :etag
1296
+
1297
+ # Specifies the format of the policy.
1298
+ # Valid values are `0`, `1`, and `3`. Requests that specify an invalid value
1299
+ # are rejected.
1300
+ # Any operation that affects conditional role bindings must specify version
1301
+ # `3`. This requirement applies to the following operations:
1302
+ # * Getting a policy that includes a conditional role binding
1303
+ # * Adding a conditional role binding to a policy
1304
+ # * Changing a conditional role binding in a policy
1305
+ # * Removing any role binding, with or without a condition, from a policy
1306
+ # that includes conditions
1307
+ # **Important:** If you use IAM Conditions, you must include the `etag` field
1308
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows
1309
+ # you to overwrite a version `3` policy with a version `1` policy, and all of
1310
+ # the conditions in the version `3` policy are lost.
1311
+ # If a policy does not include any conditions, operations on that policy may
1312
+ # specify any valid version or leave the field unset.
1313
+ # Corresponds to the JSON property `version`
1314
+ # @return [Fixnum]
1315
+ attr_accessor :version
1316
+
1317
+ def initialize(**args)
1318
+ update!(**args)
1319
+ end
1320
+
1321
+ # Update properties of this object
1322
+ def update!(**args)
1323
+ @bindings = args[:bindings] if args.key?(:bindings)
1324
+ @etag = args[:etag] if args.key?(:etag)
1325
+ @version = args[:version] if args.key?(:version)
1326
+ end
1327
+ end
1328
+
1329
+ # Request message for
1330
+ # ReconfigureTrust
1331
+ class ReconfigureTrustRequest
1332
+ include Google::Apis::Core::Hashable
1333
+
1334
+ # Required. The target DNS server IP addresses to resolve the remote domain
1335
+ # involved
1336
+ # in the trust.
1337
+ # Corresponds to the JSON property `targetDnsIpAddresses`
1338
+ # @return [Array<String>]
1339
+ attr_accessor :target_dns_ip_addresses
1340
+
1341
+ # Required. The fully-qualified target domain name which will be in trust with
1342
+ # current
1343
+ # domain.
1344
+ # Corresponds to the JSON property `targetDomainName`
1345
+ # @return [String]
1346
+ attr_accessor :target_domain_name
1347
+
1348
+ def initialize(**args)
1349
+ update!(**args)
1350
+ end
1351
+
1352
+ # Update properties of this object
1353
+ def update!(**args)
1354
+ @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses)
1355
+ @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name)
1356
+ end
1357
+ end
1358
+
1359
+ # Request message for
1360
+ # ResetAdminPassword
1361
+ class ResetAdminPasswordRequest
1362
+ include Google::Apis::Core::Hashable
1363
+
1364
+ def initialize(**args)
1365
+ update!(**args)
1366
+ end
1367
+
1368
+ # Update properties of this object
1369
+ def update!(**args)
1370
+ end
1371
+ end
1372
+
1373
+ # Response message for
1374
+ # ResetAdminPassword
1375
+ class ResetAdminPasswordResponse
1376
+ include Google::Apis::Core::Hashable
1377
+
1378
+ # A random password. See admin for more information.
1379
+ # Corresponds to the JSON property `password`
1380
+ # @return [String]
1381
+ attr_accessor :password
1382
+
1383
+ def initialize(**args)
1384
+ update!(**args)
1385
+ end
1386
+
1387
+ # Update properties of this object
1388
+ def update!(**args)
1389
+ @password = args[:password] if args.key?(:password)
1390
+ end
1391
+ end
1392
+
1393
+ # Request message for `SetIamPolicy` method.
1394
+ class SetIamPolicyRequest
1395
+ include Google::Apis::Core::Hashable
1396
+
1397
+ # An Identity and Access Management (IAM) policy, which specifies access
1398
+ # controls for Google Cloud resources.
1399
+ # A `Policy` is a collection of `bindings`. A `binding` binds one or more
1400
+ # `members` to a single `role`. Members can be user accounts, service accounts,
1401
+ # Google groups, and domains (such as G Suite). A `role` is a named list of
1402
+ # permissions; each `role` can be an IAM predefined role or a user-created
1403
+ # custom role.
1404
+ # Optionally, a `binding` can specify a `condition`, which is a logical
1405
+ # expression that allows access to a resource only if the expression evaluates
1406
+ # to `true`. A condition can add constraints based on attributes of the
1407
+ # request, the resource, or both.
1408
+ # **JSON example:**
1409
+ # `
1410
+ # "bindings": [
1411
+ # `
1412
+ # "role": "roles/resourcemanager.organizationAdmin",
1413
+ # "members": [
1414
+ # "user:mike@example.com",
1415
+ # "group:admins@example.com",
1416
+ # "domain:google.com",
1417
+ # "serviceAccount:my-project-id@appspot.gserviceaccount.com"
1418
+ # ]
1419
+ # `,
1420
+ # `
1421
+ # "role": "roles/resourcemanager.organizationViewer",
1422
+ # "members": ["user:eve@example.com"],
1423
+ # "condition": `
1424
+ # "title": "expirable access",
1425
+ # "description": "Does not grant access after Sep 2020",
1426
+ # "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')
1427
+ # ",
1428
+ # `
1429
+ # `
1430
+ # ],
1431
+ # "etag": "BwWWja0YfJA=",
1432
+ # "version": 3
1433
+ # `
1434
+ # **YAML example:**
1435
+ # bindings:
1436
+ # - members:
1437
+ # - user:mike@example.com
1438
+ # - group:admins@example.com
1439
+ # - domain:google.com
1440
+ # - serviceAccount:my-project-id@appspot.gserviceaccount.com
1441
+ # role: roles/resourcemanager.organizationAdmin
1442
+ # - members:
1443
+ # - user:eve@example.com
1444
+ # role: roles/resourcemanager.organizationViewer
1445
+ # condition:
1446
+ # title: expirable access
1447
+ # description: Does not grant access after Sep 2020
1448
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
1449
+ # - etag: BwWWja0YfJA=
1450
+ # - version: 3
1451
+ # For a description of IAM and its features, see the
1452
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1453
+ # Corresponds to the JSON property `policy`
1454
+ # @return [Google::Apis::ManagedidentitiesV1::Policy]
1455
+ attr_accessor :policy
1456
+
1457
+ def initialize(**args)
1458
+ update!(**args)
1459
+ end
1460
+
1461
+ # Update properties of this object
1462
+ def update!(**args)
1463
+ @policy = args[:policy] if args.key?(:policy)
1464
+ end
1465
+ end
1466
+
1467
+ # The `Status` type defines a logical error model that is suitable for
1468
+ # different programming environments, including REST APIs and RPC APIs. It is
1469
+ # used by [gRPC](https://github.com/grpc). Each `Status` message contains
1470
+ # three pieces of data: error code, error message, and error details.
1471
+ # You can find out more about this error model and how to work with it in the
1472
+ # [API Design Guide](https://cloud.google.com/apis/design/errors).
1473
+ class Status
1474
+ include Google::Apis::Core::Hashable
1475
+
1476
+ # The status code, which should be an enum value of google.rpc.Code.
1477
+ # Corresponds to the JSON property `code`
1478
+ # @return [Fixnum]
1479
+ attr_accessor :code
1480
+
1481
+ # A list of messages that carry the error details. There is a common set of
1482
+ # message types for APIs to use.
1483
+ # Corresponds to the JSON property `details`
1484
+ # @return [Array<Hash<String,Object>>]
1485
+ attr_accessor :details
1486
+
1487
+ # A developer-facing error message, which should be in English. Any
1488
+ # user-facing error message should be localized and sent in the
1489
+ # google.rpc.Status.details field, or localized by the client.
1490
+ # Corresponds to the JSON property `message`
1491
+ # @return [String]
1492
+ attr_accessor :message
1493
+
1494
+ def initialize(**args)
1495
+ update!(**args)
1496
+ end
1497
+
1498
+ # Update properties of this object
1499
+ def update!(**args)
1500
+ @code = args[:code] if args.key?(:code)
1501
+ @details = args[:details] if args.key?(:details)
1502
+ @message = args[:message] if args.key?(:message)
1503
+ end
1504
+ end
1505
+
1506
+ # Request message for `TestIamPermissions` method.
1507
+ class TestIamPermissionsRequest
1508
+ include Google::Apis::Core::Hashable
1509
+
1510
+ # The set of permissions to check for the `resource`. Permissions with
1511
+ # wildcards (such as '*' or 'storage.*') are not allowed. For more
1512
+ # information see
1513
+ # [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
1514
+ # Corresponds to the JSON property `permissions`
1515
+ # @return [Array<String>]
1516
+ attr_accessor :permissions
1517
+
1518
+ def initialize(**args)
1519
+ update!(**args)
1520
+ end
1521
+
1522
+ # Update properties of this object
1523
+ def update!(**args)
1524
+ @permissions = args[:permissions] if args.key?(:permissions)
1525
+ end
1526
+ end
1527
+
1528
+ # Response message for `TestIamPermissions` method.
1529
+ class TestIamPermissionsResponse
1530
+ include Google::Apis::Core::Hashable
1531
+
1532
+ # A subset of `TestPermissionsRequest.permissions` that the caller is
1533
+ # allowed.
1534
+ # Corresponds to the JSON property `permissions`
1535
+ # @return [Array<String>]
1536
+ attr_accessor :permissions
1537
+
1538
+ def initialize(**args)
1539
+ update!(**args)
1540
+ end
1541
+
1542
+ # Update properties of this object
1543
+ def update!(**args)
1544
+ @permissions = args[:permissions] if args.key?(:permissions)
1545
+ end
1546
+ end
1547
+
1548
+ # Represents a relationship between two domains. This allows a controller in
1549
+ # one domain to authenticate a user in another domain.
1550
+ class TrustProp
1551
+ include Google::Apis::Core::Hashable
1552
+
1553
+ # Output only. The time the instance was created.
1554
+ # Corresponds to the JSON property `createTime`
1555
+ # @return [String]
1556
+ attr_accessor :create_time
1557
+
1558
+ # Output only. The last heartbeat time when the trust was known to be connected.
1559
+ # Corresponds to the JSON property `lastTrustHeartbeatTime`
1560
+ # @return [String]
1561
+ attr_accessor :last_trust_heartbeat_time
1562
+
1563
+ # Optional. The trust authentication type, which decides whether the trusted
1564
+ # side has
1565
+ # forest/domain wide access or selective access to an approved set of
1566
+ # resources.
1567
+ # Corresponds to the JSON property `selectiveAuthentication`
1568
+ # @return [Boolean]
1569
+ attr_accessor :selective_authentication
1570
+ alias_method :selective_authentication?, :selective_authentication
1571
+
1572
+ # Output only. The current state of the trust.
1573
+ # Corresponds to the JSON property `state`
1574
+ # @return [String]
1575
+ attr_accessor :state
1576
+
1577
+ # Output only. Additional information about the current state of the trust, if
1578
+ # available.
1579
+ # Corresponds to the JSON property `stateDescription`
1580
+ # @return [String]
1581
+ attr_accessor :state_description
1582
+
1583
+ # Required. The target DNS server IP addresses which can resolve the remote
1584
+ # domain
1585
+ # involved in the trust.
1586
+ # Corresponds to the JSON property `targetDnsIpAddresses`
1587
+ # @return [Array<String>]
1588
+ attr_accessor :target_dns_ip_addresses
1589
+
1590
+ # Required. The fully qualified target domain name which will be in trust with
1591
+ # the
1592
+ # current domain.
1593
+ # Corresponds to the JSON property `targetDomainName`
1594
+ # @return [String]
1595
+ attr_accessor :target_domain_name
1596
+
1597
+ # Required. The trust direction, which decides if the current domain is trusted,
1598
+ # trusting, or both.
1599
+ # Corresponds to the JSON property `trustDirection`
1600
+ # @return [String]
1601
+ attr_accessor :trust_direction
1602
+
1603
+ # Required. The trust secret used for the handshake with the target domain. This
1604
+ # will
1605
+ # not be stored.
1606
+ # Corresponds to the JSON property `trustHandshakeSecret`
1607
+ # @return [String]
1608
+ attr_accessor :trust_handshake_secret
1609
+
1610
+ # Required. The type of trust represented by the trust resource.
1611
+ # Corresponds to the JSON property `trustType`
1612
+ # @return [String]
1613
+ attr_accessor :trust_type
1614
+
1615
+ # Output only. The last update time.
1616
+ # Corresponds to the JSON property `updateTime`
1617
+ # @return [String]
1618
+ attr_accessor :update_time
1619
+
1620
+ def initialize(**args)
1621
+ update!(**args)
1622
+ end
1623
+
1624
+ # Update properties of this object
1625
+ def update!(**args)
1626
+ @create_time = args[:create_time] if args.key?(:create_time)
1627
+ @last_trust_heartbeat_time = args[:last_trust_heartbeat_time] if args.key?(:last_trust_heartbeat_time)
1628
+ @selective_authentication = args[:selective_authentication] if args.key?(:selective_authentication)
1629
+ @state = args[:state] if args.key?(:state)
1630
+ @state_description = args[:state_description] if args.key?(:state_description)
1631
+ @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses)
1632
+ @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name)
1633
+ @trust_direction = args[:trust_direction] if args.key?(:trust_direction)
1634
+ @trust_handshake_secret = args[:trust_handshake_secret] if args.key?(:trust_handshake_secret)
1635
+ @trust_type = args[:trust_type] if args.key?(:trust_type)
1636
+ @update_time = args[:update_time] if args.key?(:update_time)
1637
+ end
1638
+ end
1639
+
1640
+ # Request message for
1641
+ # ValidateTrust
1642
+ class ValidateTrustRequest
1643
+ include Google::Apis::Core::Hashable
1644
+
1645
+ # Represents a relationship between two domains. This allows a controller in
1646
+ # one domain to authenticate a user in another domain.
1647
+ # Corresponds to the JSON property `trust`
1648
+ # @return [Google::Apis::ManagedidentitiesV1::TrustProp]
1649
+ attr_accessor :trust_prop
1650
+
1651
+ def initialize(**args)
1652
+ update!(**args)
1653
+ end
1654
+
1655
+ # Update properties of this object
1656
+ def update!(**args)
1657
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
1658
+ end
1659
+ end
1660
+ end
1661
+ end
1662
+ end