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_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