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