google-api-client 0.37.1 → 0.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -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_v1beta1/service.rb'
16
+ require 'google/apis/managedidentities_v1beta1/classes.rb'
17
+ require 'google/apis/managedidentities_v1beta1/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 ManagedidentitiesV1beta1
28
+ VERSION = 'V1beta1'
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,1659 @@
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 ManagedidentitiesV1beta1
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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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
+ # Output only. 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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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::ManagedidentitiesV1beta1::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
1559
+ # connected.
1560
+ # Corresponds to the JSON property `lastTrustHeartbeatTime`
1561
+ # @return [String]
1562
+ attr_accessor :last_trust_heartbeat_time
1563
+
1564
+ # The trust authentication type, which decides whether the trusted 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
1578
+ # trust, if available.
1579
+ # Corresponds to the JSON property `stateDescription`
1580
+ # @return [String]
1581
+ attr_accessor :state_description
1582
+
1583
+ # The target DNS server IP addresses which can resolve the remote domain
1584
+ # involved in the trust.
1585
+ # Corresponds to the JSON property `targetDnsIpAddresses`
1586
+ # @return [Array<String>]
1587
+ attr_accessor :target_dns_ip_addresses
1588
+
1589
+ # The fully qualified target domain name which will be in trust with the
1590
+ # current domain.
1591
+ # Corresponds to the JSON property `targetDomainName`
1592
+ # @return [String]
1593
+ attr_accessor :target_domain_name
1594
+
1595
+ # The trust direction, which decides if the current domain is trusted,
1596
+ # trusting, or both.
1597
+ # Corresponds to the JSON property `trustDirection`
1598
+ # @return [String]
1599
+ attr_accessor :trust_direction
1600
+
1601
+ # Input only, and will not be stored. The trust secret used for the handshake
1602
+ # with the target domain.
1603
+ # Corresponds to the JSON property `trustHandshakeSecret`
1604
+ # @return [String]
1605
+ attr_accessor :trust_handshake_secret
1606
+
1607
+ # The type of trust represented by the trust resource.
1608
+ # Corresponds to the JSON property `trustType`
1609
+ # @return [String]
1610
+ attr_accessor :trust_type
1611
+
1612
+ # Output only. The last update time.
1613
+ # Corresponds to the JSON property `updateTime`
1614
+ # @return [String]
1615
+ attr_accessor :update_time
1616
+
1617
+ def initialize(**args)
1618
+ update!(**args)
1619
+ end
1620
+
1621
+ # Update properties of this object
1622
+ def update!(**args)
1623
+ @create_time = args[:create_time] if args.key?(:create_time)
1624
+ @last_trust_heartbeat_time = args[:last_trust_heartbeat_time] if args.key?(:last_trust_heartbeat_time)
1625
+ @selective_authentication = args[:selective_authentication] if args.key?(:selective_authentication)
1626
+ @state = args[:state] if args.key?(:state)
1627
+ @state_description = args[:state_description] if args.key?(:state_description)
1628
+ @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses)
1629
+ @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name)
1630
+ @trust_direction = args[:trust_direction] if args.key?(:trust_direction)
1631
+ @trust_handshake_secret = args[:trust_handshake_secret] if args.key?(:trust_handshake_secret)
1632
+ @trust_type = args[:trust_type] if args.key?(:trust_type)
1633
+ @update_time = args[:update_time] if args.key?(:update_time)
1634
+ end
1635
+ end
1636
+
1637
+ # Request message for
1638
+ # ValidateTrust
1639
+ class ValidateTrustRequest
1640
+ include Google::Apis::Core::Hashable
1641
+
1642
+ # Represents a relationship between two domains. This allows a controller in
1643
+ # one domain to authenticate a user in another domain.
1644
+ # Corresponds to the JSON property `trust`
1645
+ # @return [Google::Apis::ManagedidentitiesV1beta1::TrustProp]
1646
+ attr_accessor :trust_prop
1647
+
1648
+ def initialize(**args)
1649
+ update!(**args)
1650
+ end
1651
+
1652
+ # Update properties of this object
1653
+ def update!(**args)
1654
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
1655
+ end
1656
+ end
1657
+ end
1658
+ end
1659
+ end