google-apis-managedidentities_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: eb7c3e318158f4bcfaa592f5ff6014628c48d7027d99346d4d06b92e681198a1
4
+ data.tar.gz: 152af4ae5ab89c25eac9d7c42afe5f08253d511b38387be803a4cb72ab6806b5
5
+ SHA512:
6
+ metadata.gz: 04363da0fc4e3bdba6b33a9ce4fe552a6935f5e564b46f8e5dca2dfd416c6df899d42ed92e30aebd43fb4553927804ac6a4dff44aa8935637bb64b017e31d12c
7
+ data.tar.gz: bd59f6d5e39148b5d85c6d6a7070a64ac9382f8f36fe37136ada442a14809eedf0cc02b61c76345680c24d90b821e2987d37ecdc31aaf07df58dc68b58708c6b
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-managedidentities_v1
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/managedidentities_v1/*.rb
9
+ lib/google/apis/managedidentities_v1.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-managedidentities_v1
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20201113
7
+
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V1 of the Managed Service for Microsoft Active Directory API
2
+
3
+ This is a simple client library for version V1 of the Managed Service for Microsoft Active Directory API. It provides:
4
+
5
+ * A client object that connects to the HTTP/JSON REST endpoint for the service.
6
+ * Ruby objects for data structures related to the service.
7
+ * Integration with the googleauth gem for authentication using OAuth, API keys, and service accounts.
8
+ * Control of retry, pagination, and timeouts.
9
+
10
+ Note that although this client library is supported and will continue to be updated to track changes to the service, it is otherwise considered complete and not under active development. Many Google services, especially Google Cloud Platform services, may provide a more modern client that is under more active development and improvement. See the section below titled *Which client should I use?* for more information.
11
+
12
+ ## Getting started
13
+
14
+ ### Before you begin
15
+
16
+ There are a few setup steps you need to complete before you can use this library:
17
+
18
+ 1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).
19
+ 2. If you have never created a Google APIs Console project, read about [Managing Projects](https://cloud.google.com/resource-manager/docs/creating-managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).
20
+ 3. Most APIs need to be enabled for your project. [Enable it](https://console.cloud.google.com/apis/library/managedidentities.googleapis.com) in the console.
21
+
22
+ ### Installation
23
+
24
+ Add this line to your application's Gemfile:
25
+
26
+ ```ruby
27
+ gem 'google-apis-managedidentities_v1', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-managedidentities_v1
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/managedidentities_v1"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::ManagedidentitiesV1::ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService.new
52
+
53
+ # Authenticate calls
54
+ client.authentication = # ... use the googleauth gem to create credentials
55
+ ```
56
+
57
+ See the class reference docs for information on the methods you can call from a client.
58
+
59
+ ## Documentation
60
+
61
+ More detailed descriptions of the Google simple REST clients are available in two documents.
62
+
63
+ * The [Usage Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/usage-guide.md) discusses how to make API calls, how to use the provided data structures, and how to work the various features of the client library, including media upload and download, error handling, retries, pagination, and logging.
64
+ * The [Auth Guide](https://github.com/googleapis/google-api-ruby-client/blob/master/docs/auth-guide.md) discusses authentication in the client libraries, including API keys, OAuth 2.0, service accounts, and environment variables.
65
+
66
+ (Note: the above documents are written for the simple REST clients in general, and their examples may not reflect the Managedidentities service in particular.)
67
+
68
+ For reference information on specific calls in the Managed Service for Microsoft Active Directory API, see the {Google::Apis::ManagedidentitiesV1::ManagedServiceforMicrosoftActiveDirectoryConsumerAPIService class reference docs}.
69
+
70
+ ## Which client should I use?
71
+
72
+ Google provides two types of Ruby API client libraries: **simple REST clients** and **modern clients**.
73
+
74
+ This library, `google-apis-managedidentities_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://cloud.google.com/managed-microsoft-ad/) may provide guidance regarding the preferred client library to use.
83
+
84
+ ## Supported Ruby versions
85
+
86
+ This library is supported on Ruby 2.5+.
87
+
88
+ Google provides official support for Ruby versions that are actively supported by Ruby Core -- that is, Ruby versions that are either in normal maintenance or in security maintenance, and not end of life. Currently, this means Ruby 2.5 and later. Older versions of Ruby _may_ still work, but are unsupported and not recommended. See https://www.ruby-lang.org/en/downloads/branches/ for details about the Ruby support schedule.
89
+
90
+ ## License
91
+
92
+ This library is licensed under Apache 2.0. Full license text is available in the {file:LICENSE.md LICENSE}.
93
+
94
+ ## Support
95
+
96
+ Please [report bugs at the project on Github](https://github.com/google/google-api-ruby-client/issues). Don't hesitate to [ask questions](http://stackoverflow.com/questions/tagged/google-api-ruby-client) about the client or APIs on [StackOverflow](http://stackoverflow.com).
@@ -0,0 +1,15 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require "google/apis/managedidentities_v1"
@@ -0,0 +1,37 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'google/apis/managedidentities_v1/service.rb'
16
+ require 'google/apis/managedidentities_v1/classes.rb'
17
+ require 'google/apis/managedidentities_v1/representations.rb'
18
+ require 'google/apis/managedidentities_v1/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # Managed Service for Microsoft Active Directory API
23
+ #
24
+ # The Managed Service for Microsoft Active Directory API is used for managing a
25
+ # highly available, hardened service running Microsoft Active Directory (AD).
26
+ #
27
+ # @see https://cloud.google.com/managed-microsoft-ad/
28
+ module ManagedidentitiesV1
29
+ # Version of the Managed Service for Microsoft Active Directory API this client connects to.
30
+ # This is NOT the gem version.
31
+ VERSION = 'V1'
32
+
33
+ # View and manage your data across Google Cloud Platform services
34
+ AUTH_CLOUD_PLATFORM = 'https://www.googleapis.com/auth/cloud-platform'
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,1841 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module ManagedidentitiesV1
24
+
25
+ # Request message for AttachTrust
26
+ class AttachTrustRequest
27
+ include Google::Apis::Core::Hashable
28
+
29
+ # Represents a relationship between two domains. This allows a controller in one
30
+ # domain to authenticate a user in another domain. If the trust is being changed,
31
+ # it will be placed into the UPDATING state, which indicates that the resource
32
+ # is being reconciled. At this point, Get will reflect an intermediate state.
33
+ # Corresponds to the JSON property `trust`
34
+ # @return [Google::Apis::ManagedidentitiesV1::TrustProp]
35
+ attr_accessor :trust_prop
36
+
37
+ def initialize(**args)
38
+ update!(**args)
39
+ end
40
+
41
+ # Update properties of this object
42
+ def update!(**args)
43
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
44
+ end
45
+ end
46
+
47
+ # Associates `members` with a `role`.
48
+ class Binding
49
+ include Google::Apis::Core::Hashable
50
+
51
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
52
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
53
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
54
+ # "Summary size limit" description: "Determines if a summary is less than 100
55
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
56
+ # Requestor is owner" description: "Determines if requestor is the document
57
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
58
+ # Logic): title: "Public documents" description: "Determine whether the document
59
+ # should be publicly visible" expression: "document.type != 'private' &&
60
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
61
+ # string" description: "Create a notification string with a timestamp."
62
+ # expression: "'New message received at ' + string(document.create_time)" The
63
+ # exact variables and functions that may be referenced within an expression are
64
+ # determined by the service that evaluates it. See the service documentation for
65
+ # additional information.
66
+ # Corresponds to the JSON property `condition`
67
+ # @return [Google::Apis::ManagedidentitiesV1::Expr]
68
+ attr_accessor :condition
69
+
70
+ # Specifies the identities requesting access for a Cloud Platform resource. `
71
+ # members` can have the following values: * `allUsers`: A special identifier
72
+ # that represents anyone who is on the internet; with or without a Google
73
+ # account. * `allAuthenticatedUsers`: A special identifier that represents
74
+ # anyone who is authenticated with a Google account or a service account. * `
75
+ # user:`emailid``: An email address that represents a specific Google account.
76
+ # For example, `alice@example.com` . * `serviceAccount:`emailid``: An email
77
+ # address that represents a service account. For example, `my-other-app@appspot.
78
+ # gserviceaccount.com`. * `group:`emailid``: An email address that represents a
79
+ # Google group. For example, `admins@example.com`. * `deleted:user:`emailid`?uid=
80
+ # `uniqueid``: An email address (plus unique identifier) representing a user
81
+ # that has been recently deleted. For example, `alice@example.com?uid=
82
+ # 123456789012345678901`. If the user is recovered, this value reverts to `user:`
83
+ # emailid`` and the recovered user retains the role in the binding. * `deleted:
84
+ # serviceAccount:`emailid`?uid=`uniqueid``: An email address (plus unique
85
+ # identifier) representing a service account that has been recently deleted. For
86
+ # example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
87
+ # If the service account is undeleted, this value reverts to `serviceAccount:`
88
+ # emailid`` and the undeleted service account retains the role in the binding. *
89
+ # `deleted:group:`emailid`?uid=`uniqueid``: An email address (plus unique
90
+ # identifier) representing a Google group that has been recently deleted. For
91
+ # example, `admins@example.com?uid=123456789012345678901`. If the group is
92
+ # recovered, this value reverts to `group:`emailid`` and the recovered group
93
+ # retains the role in the binding. * `domain:`domain``: The G Suite domain (
94
+ # primary) that represents all the users of that domain. For example, `google.
95
+ # com` or `example.com`.
96
+ # Corresponds to the JSON property `members`
97
+ # @return [Array<String>]
98
+ attr_accessor :members
99
+
100
+ # Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`
101
+ # , or `roles/owner`.
102
+ # Corresponds to the JSON property `role`
103
+ # @return [String]
104
+ attr_accessor :role
105
+
106
+ def initialize(**args)
107
+ update!(**args)
108
+ end
109
+
110
+ # Update properties of this object
111
+ def update!(**args)
112
+ @condition = args[:condition] if args.key?(:condition)
113
+ @members = args[:members] if args.key?(:members)
114
+ @role = args[:role] if args.key?(:role)
115
+ end
116
+ end
117
+
118
+ # The request message for Operations.CancelOperation.
119
+ class CancelOperationRequest
120
+ include Google::Apis::Core::Hashable
121
+
122
+ def initialize(**args)
123
+ update!(**args)
124
+ end
125
+
126
+ # Update properties of this object
127
+ def update!(**args)
128
+ end
129
+ end
130
+
131
+ # Time window specified for daily operations.
132
+ class DailyCycle
133
+ include Google::Apis::Core::Hashable
134
+
135
+ # Output only. Duration of the time window, set by service producer.
136
+ # Corresponds to the JSON property `duration`
137
+ # @return [String]
138
+ attr_accessor :duration
139
+
140
+ # Represents a time of day. The date and time zone are either not significant or
141
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
142
+ # types are google.type.Date and `google.protobuf.Timestamp`.
143
+ # Corresponds to the JSON property `startTime`
144
+ # @return [Google::Apis::ManagedidentitiesV1::TimeOfDay]
145
+ attr_accessor :start_time
146
+
147
+ def initialize(**args)
148
+ update!(**args)
149
+ end
150
+
151
+ # Update properties of this object
152
+ def update!(**args)
153
+ @duration = args[:duration] if args.key?(:duration)
154
+ @start_time = args[:start_time] if args.key?(:start_time)
155
+ end
156
+ end
157
+
158
+ # Represents a whole or partial calendar date, such as a birthday. The time of
159
+ # day and time zone are either specified elsewhere or are insignificant. The
160
+ # date is relative to the Gregorian Calendar. This can represent one of the
161
+ # following: * A full date, with non-zero year, month, and day values * A month
162
+ # and day value, with a zero year, such as an anniversary * A year on its own,
163
+ # with zero month and day values * A year and month value, with a zero day, such
164
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
165
+ # google.protobuf.Timestamp`.
166
+ class Date
167
+ include Google::Apis::Core::Hashable
168
+
169
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
170
+ # specify a year by itself or a year and month where the day isn't significant.
171
+ # Corresponds to the JSON property `day`
172
+ # @return [Fixnum]
173
+ attr_accessor :day
174
+
175
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
176
+ # and day.
177
+ # Corresponds to the JSON property `month`
178
+ # @return [Fixnum]
179
+ attr_accessor :month
180
+
181
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
182
+ # year.
183
+ # Corresponds to the JSON property `year`
184
+ # @return [Fixnum]
185
+ attr_accessor :year
186
+
187
+ def initialize(**args)
188
+ update!(**args)
189
+ end
190
+
191
+ # Update properties of this object
192
+ def update!(**args)
193
+ @day = args[:day] if args.key?(:day)
194
+ @month = args[:month] if args.key?(:month)
195
+ @year = args[:year] if args.key?(:year)
196
+ end
197
+ end
198
+
199
+ # DenyMaintenancePeriod definition. Maintenance is forbidden within the deny
200
+ # period. The start_date must be less than the end_date.
201
+ class DenyMaintenancePeriod
202
+ include Google::Apis::Core::Hashable
203
+
204
+ # Represents a whole or partial calendar date, such as a birthday. The time of
205
+ # day and time zone are either specified elsewhere or are insignificant. The
206
+ # date is relative to the Gregorian Calendar. This can represent one of the
207
+ # following: * A full date, with non-zero year, month, and day values * A month
208
+ # and day value, with a zero year, such as an anniversary * A year on its own,
209
+ # with zero month and day values * A year and month value, with a zero day, such
210
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
211
+ # google.protobuf.Timestamp`.
212
+ # Corresponds to the JSON property `endDate`
213
+ # @return [Google::Apis::ManagedidentitiesV1::Date]
214
+ attr_accessor :end_date
215
+
216
+ # Represents a whole or partial calendar date, such as a birthday. The time of
217
+ # day and time zone are either specified elsewhere or are insignificant. The
218
+ # date is relative to the Gregorian Calendar. This can represent one of the
219
+ # following: * A full date, with non-zero year, month, and day values * A month
220
+ # and day value, with a zero year, such as an anniversary * A year on its own,
221
+ # with zero month and day values * A year and month value, with a zero day, such
222
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
223
+ # google.protobuf.Timestamp`.
224
+ # Corresponds to the JSON property `startDate`
225
+ # @return [Google::Apis::ManagedidentitiesV1::Date]
226
+ attr_accessor :start_date
227
+
228
+ # Represents a time of day. The date and time zone are either not significant or
229
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
230
+ # types are google.type.Date and `google.protobuf.Timestamp`.
231
+ # Corresponds to the JSON property `time`
232
+ # @return [Google::Apis::ManagedidentitiesV1::TimeOfDay]
233
+ attr_accessor :time
234
+
235
+ def initialize(**args)
236
+ update!(**args)
237
+ end
238
+
239
+ # Update properties of this object
240
+ def update!(**args)
241
+ @end_date = args[:end_date] if args.key?(:end_date)
242
+ @start_date = args[:start_date] if args.key?(:start_date)
243
+ @time = args[:time] if args.key?(:time)
244
+ end
245
+ end
246
+
247
+ # Request message for DetachTrust
248
+ class DetachTrustRequest
249
+ include Google::Apis::Core::Hashable
250
+
251
+ # Represents a relationship between two domains. This allows a controller in one
252
+ # domain to authenticate a user in another domain. If the trust is being changed,
253
+ # it will be placed into the UPDATING state, which indicates that the resource
254
+ # is being reconciled. At this point, Get will reflect an intermediate state.
255
+ # Corresponds to the JSON property `trust`
256
+ # @return [Google::Apis::ManagedidentitiesV1::TrustProp]
257
+ attr_accessor :trust_prop
258
+
259
+ def initialize(**args)
260
+ update!(**args)
261
+ end
262
+
263
+ # Update properties of this object
264
+ def update!(**args)
265
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
266
+ end
267
+ end
268
+
269
+ # Represents a managed Microsoft Active Directory domain. If the domain is being
270
+ # changed, it will be placed into the UPDATING state, which indicates that the
271
+ # resource is being reconciled. At this point, Get will reflect an intermediate
272
+ # state.
273
+ class Domain
274
+ include Google::Apis::Core::Hashable
275
+
276
+ # Optional. The name of delegated administrator account used to perform Active
277
+ # Directory operations. If not specified, `setupadmin` will be used.
278
+ # Corresponds to the JSON property `admin`
279
+ # @return [String]
280
+ attr_accessor :admin
281
+
282
+ # Optional. The full names of the Google Compute Engine [networks](/compute/docs/
283
+ # networks-and-firewalls#networks) the domain instance is connected to. Networks
284
+ # can be added using UpdateDomain. The domain is only available on networks
285
+ # listed in `authorized_networks`. If CIDR subnets overlap between networks,
286
+ # domain creation will fail.
287
+ # Corresponds to the JSON property `authorizedNetworks`
288
+ # @return [Array<String>]
289
+ attr_accessor :authorized_networks
290
+
291
+ # Output only. The time the instance was created.
292
+ # Corresponds to the JSON property `createTime`
293
+ # @return [String]
294
+ attr_accessor :create_time
295
+
296
+ # Output only. The fully-qualified domain name of the exposed domain used by
297
+ # clients to connect to the service. Similar to what would be chosen for an
298
+ # Active Directory set up on an internal network.
299
+ # Corresponds to the JSON property `fqdn`
300
+ # @return [String]
301
+ attr_accessor :fqdn
302
+
303
+ # Optional. Resource labels that can contain user-provided metadata.
304
+ # Corresponds to the JSON property `labels`
305
+ # @return [Hash<String,String>]
306
+ attr_accessor :labels
307
+
308
+ # Required. Locations where domain needs to be provisioned. regions e.g. us-
309
+ # west1 or us-east4 Service supports up to 4 locations at once. Each location
310
+ # will use a /26 block.
311
+ # Corresponds to the JSON property `locations`
312
+ # @return [Array<String>]
313
+ attr_accessor :locations
314
+
315
+ # Required. The unique name of the domain using the form: `projects/`project_id`/
316
+ # locations/global/domains/`domain_name``.
317
+ # Corresponds to the JSON property `name`
318
+ # @return [String]
319
+ attr_accessor :name
320
+
321
+ # Required. The CIDR range of internal addresses that are reserved for this
322
+ # domain. Reserved networks must be /24 or larger. Ranges must be unique and non-
323
+ # overlapping with existing subnets in [Domain].[authorized_networks].
324
+ # Corresponds to the JSON property `reservedIpRange`
325
+ # @return [String]
326
+ attr_accessor :reserved_ip_range
327
+
328
+ # Output only. The current state of this domain.
329
+ # Corresponds to the JSON property `state`
330
+ # @return [String]
331
+ attr_accessor :state
332
+
333
+ # Output only. Additional information about the current status of this domain,
334
+ # if available.
335
+ # Corresponds to the JSON property `statusMessage`
336
+ # @return [String]
337
+ attr_accessor :status_message
338
+
339
+ # Output only. The current trusts associated with the domain.
340
+ # Corresponds to the JSON property `trusts`
341
+ # @return [Array<Google::Apis::ManagedidentitiesV1::TrustProp>]
342
+ attr_accessor :trusts
343
+
344
+ # Output only. The last update time.
345
+ # Corresponds to the JSON property `updateTime`
346
+ # @return [String]
347
+ attr_accessor :update_time
348
+
349
+ def initialize(**args)
350
+ update!(**args)
351
+ end
352
+
353
+ # Update properties of this object
354
+ def update!(**args)
355
+ @admin = args[:admin] if args.key?(:admin)
356
+ @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
357
+ @create_time = args[:create_time] if args.key?(:create_time)
358
+ @fqdn = args[:fqdn] if args.key?(:fqdn)
359
+ @labels = args[:labels] if args.key?(:labels)
360
+ @locations = args[:locations] if args.key?(:locations)
361
+ @name = args[:name] if args.key?(:name)
362
+ @reserved_ip_range = args[:reserved_ip_range] if args.key?(:reserved_ip_range)
363
+ @state = args[:state] if args.key?(:state)
364
+ @status_message = args[:status_message] if args.key?(:status_message)
365
+ @trusts = args[:trusts] if args.key?(:trusts)
366
+ @update_time = args[:update_time] if args.key?(:update_time)
367
+ end
368
+ end
369
+
370
+ # A generic empty message that you can re-use to avoid defining duplicated empty
371
+ # messages in your APIs. A typical example is to use it as the request or the
372
+ # response type of an API method. For instance: service Foo ` rpc Bar(google.
373
+ # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
374
+ # `Empty` is empty JSON object ````.
375
+ class Empty
376
+ include Google::Apis::Core::Hashable
377
+
378
+ def initialize(**args)
379
+ update!(**args)
380
+ end
381
+
382
+ # Update properties of this object
383
+ def update!(**args)
384
+ end
385
+ end
386
+
387
+ # Represents a textual expression in the Common Expression Language (CEL) syntax.
388
+ # CEL is a C-like expression language. The syntax and semantics of CEL are
389
+ # documented at https://github.com/google/cel-spec. Example (Comparison): title:
390
+ # "Summary size limit" description: "Determines if a summary is less than 100
391
+ # chars" expression: "document.summary.size() < 100" Example (Equality): title: "
392
+ # Requestor is owner" description: "Determines if requestor is the document
393
+ # owner" expression: "document.owner == request.auth.claims.email" Example (
394
+ # Logic): title: "Public documents" description: "Determine whether the document
395
+ # should be publicly visible" expression: "document.type != 'private' &&
396
+ # document.type != 'internal'" Example (Data Manipulation): title: "Notification
397
+ # string" description: "Create a notification string with a timestamp."
398
+ # expression: "'New message received at ' + string(document.create_time)" The
399
+ # exact variables and functions that may be referenced within an expression are
400
+ # determined by the service that evaluates it. See the service documentation for
401
+ # additional information.
402
+ class Expr
403
+ include Google::Apis::Core::Hashable
404
+
405
+ # Optional. Description of the expression. This is a longer text which describes
406
+ # the expression, e.g. when hovered over it in a UI.
407
+ # Corresponds to the JSON property `description`
408
+ # @return [String]
409
+ attr_accessor :description
410
+
411
+ # Textual representation of an expression in Common Expression Language syntax.
412
+ # Corresponds to the JSON property `expression`
413
+ # @return [String]
414
+ attr_accessor :expression
415
+
416
+ # Optional. String indicating the location of the expression for error reporting,
417
+ # e.g. a file name and a position in the file.
418
+ # Corresponds to the JSON property `location`
419
+ # @return [String]
420
+ attr_accessor :location
421
+
422
+ # Optional. Title for the expression, i.e. a short string describing its purpose.
423
+ # This can be used e.g. in UIs which allow to enter the expression.
424
+ # Corresponds to the JSON property `title`
425
+ # @return [String]
426
+ attr_accessor :title
427
+
428
+ def initialize(**args)
429
+ update!(**args)
430
+ end
431
+
432
+ # Update properties of this object
433
+ def update!(**args)
434
+ @description = args[:description] if args.key?(:description)
435
+ @expression = args[:expression] if args.key?(:expression)
436
+ @location = args[:location] if args.key?(:location)
437
+ @title = args[:title] if args.key?(:title)
438
+ end
439
+ end
440
+
441
+ # Represents the metadata of the long-running operation.
442
+ class GoogleCloudManagedidentitiesV1OpMetadata
443
+ include Google::Apis::Core::Hashable
444
+
445
+ # Output only. API version used to start the operation.
446
+ # Corresponds to the JSON property `apiVersion`
447
+ # @return [String]
448
+ attr_accessor :api_version
449
+
450
+ # Output only. The time the operation was created.
451
+ # Corresponds to the JSON property `createTime`
452
+ # @return [String]
453
+ attr_accessor :create_time
454
+
455
+ # Output only. The time the operation finished running.
456
+ # Corresponds to the JSON property `endTime`
457
+ # @return [String]
458
+ attr_accessor :end_time
459
+
460
+ # Output only. Identifies whether the user has requested cancellation of the
461
+ # operation. Operations that have successfully been cancelled have Operation.
462
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
463
+ # CANCELLED`.
464
+ # Corresponds to the JSON property `requestedCancellation`
465
+ # @return [Boolean]
466
+ attr_accessor :requested_cancellation
467
+ alias_method :requested_cancellation?, :requested_cancellation
468
+
469
+ # Output only. Server-defined resource path for the target of the operation.
470
+ # Corresponds to the JSON property `target`
471
+ # @return [String]
472
+ attr_accessor :target
473
+
474
+ # Output only. Name of the verb executed by the operation.
475
+ # Corresponds to the JSON property `verb`
476
+ # @return [String]
477
+ attr_accessor :verb
478
+
479
+ def initialize(**args)
480
+ update!(**args)
481
+ end
482
+
483
+ # Update properties of this object
484
+ def update!(**args)
485
+ @api_version = args[:api_version] if args.key?(:api_version)
486
+ @create_time = args[:create_time] if args.key?(:create_time)
487
+ @end_time = args[:end_time] if args.key?(:end_time)
488
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
489
+ @target = args[:target] if args.key?(:target)
490
+ @verb = args[:verb] if args.key?(:verb)
491
+ end
492
+ end
493
+
494
+ # Represents the metadata of the long-running operation.
495
+ class GoogleCloudManagedidentitiesV1alpha1OpMetadata
496
+ include Google::Apis::Core::Hashable
497
+
498
+ # Output only. API version used to start the operation.
499
+ # Corresponds to the JSON property `apiVersion`
500
+ # @return [String]
501
+ attr_accessor :api_version
502
+
503
+ # Output only. The time the operation was created.
504
+ # Corresponds to the JSON property `createTime`
505
+ # @return [String]
506
+ attr_accessor :create_time
507
+
508
+ # Output only. The time the operation finished running.
509
+ # Corresponds to the JSON property `endTime`
510
+ # @return [String]
511
+ attr_accessor :end_time
512
+
513
+ # Output only. Identifies whether the user has requested cancellation of the
514
+ # operation. Operations that have successfully been cancelled have Operation.
515
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
516
+ # CANCELLED`.
517
+ # Corresponds to the JSON property `requestedCancellation`
518
+ # @return [Boolean]
519
+ attr_accessor :requested_cancellation
520
+ alias_method :requested_cancellation?, :requested_cancellation
521
+
522
+ # Output only. Server-defined resource path for the target of the operation.
523
+ # Corresponds to the JSON property `target`
524
+ # @return [String]
525
+ attr_accessor :target
526
+
527
+ # Output only. Name of the verb executed by the operation.
528
+ # Corresponds to the JSON property `verb`
529
+ # @return [String]
530
+ attr_accessor :verb
531
+
532
+ def initialize(**args)
533
+ update!(**args)
534
+ end
535
+
536
+ # Update properties of this object
537
+ def update!(**args)
538
+ @api_version = args[:api_version] if args.key?(:api_version)
539
+ @create_time = args[:create_time] if args.key?(:create_time)
540
+ @end_time = args[:end_time] if args.key?(:end_time)
541
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
542
+ @target = args[:target] if args.key?(:target)
543
+ @verb = args[:verb] if args.key?(:verb)
544
+ end
545
+ end
546
+
547
+ # Represents the metadata of the long-running operation.
548
+ class GoogleCloudManagedidentitiesV1beta1OpMetadata
549
+ include Google::Apis::Core::Hashable
550
+
551
+ # Output only. API version used to start the operation.
552
+ # Corresponds to the JSON property `apiVersion`
553
+ # @return [String]
554
+ attr_accessor :api_version
555
+
556
+ # Output only. The time the operation was created.
557
+ # Corresponds to the JSON property `createTime`
558
+ # @return [String]
559
+ attr_accessor :create_time
560
+
561
+ # Output only. The time the operation finished running.
562
+ # Corresponds to the JSON property `endTime`
563
+ # @return [String]
564
+ attr_accessor :end_time
565
+
566
+ # Output only. Identifies whether the user has requested cancellation of the
567
+ # operation. Operations that have successfully been cancelled have Operation.
568
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
569
+ # CANCELLED`.
570
+ # Corresponds to the JSON property `requestedCancellation`
571
+ # @return [Boolean]
572
+ attr_accessor :requested_cancellation
573
+ alias_method :requested_cancellation?, :requested_cancellation
574
+
575
+ # Output only. Server-defined resource path for the target of the operation.
576
+ # Corresponds to the JSON property `target`
577
+ # @return [String]
578
+ attr_accessor :target
579
+
580
+ # Output only. Name of the verb executed by the operation.
581
+ # Corresponds to the JSON property `verb`
582
+ # @return [String]
583
+ attr_accessor :verb
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ @api_version = args[:api_version] if args.key?(:api_version)
592
+ @create_time = args[:create_time] if args.key?(:create_time)
593
+ @end_time = args[:end_time] if args.key?(:end_time)
594
+ @requested_cancellation = args[:requested_cancellation] if args.key?(:requested_cancellation)
595
+ @target = args[:target] if args.key?(:target)
596
+ @verb = args[:verb] if args.key?(:verb)
597
+ end
598
+ end
599
+
600
+ #
601
+ class GoogleCloudSaasacceleratorManagementProvidersV1Instance
602
+ include Google::Apis::Core::Hashable
603
+
604
+ # consumer_defined_name is the name that is set by the consumer. On the other
605
+ # hand Name field represents system-assigned id of an instance so consumers are
606
+ # not necessarily aware of it. consumer_defined_name is used for notification/UI
607
+ # purposes for consumer to recognize their instances.
608
+ # Corresponds to the JSON property `consumerDefinedName`
609
+ # @return [String]
610
+ attr_accessor :consumer_defined_name
611
+
612
+ # Output only. Timestamp when the resource was created.
613
+ # Corresponds to the JSON property `createTime`
614
+ # @return [String]
615
+ attr_accessor :create_time
616
+
617
+ # Optional. Resource labels to represent user provided metadata. Each label is a
618
+ # key-value pair, where both the key and the value are arbitrary strings
619
+ # provided by the user.
620
+ # Corresponds to the JSON property `labels`
621
+ # @return [Hash<String,String>]
622
+ attr_accessor :labels
623
+
624
+ # Deprecated. The MaintenancePolicies that have been attached to the instance.
625
+ # The key must be of the type name of the oneof policy name defined in
626
+ # MaintenancePolicy, and the referenced policy must define the same policy type.
627
+ # For complete details of MaintenancePolicy, please refer to go/cloud-saas-mw-ug.
628
+ # Corresponds to the JSON property `maintenancePolicyNames`
629
+ # @return [Hash<String,String>]
630
+ attr_accessor :maintenance_policy_names
631
+
632
+ # The MaintenanceSchedule contains the scheduling information of published
633
+ # maintenance schedule with same key as software_versions.
634
+ # Corresponds to the JSON property `maintenanceSchedules`
635
+ # @return [Hash<String,Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule>]
636
+ attr_accessor :maintenance_schedules
637
+
638
+ # Maintenance settings associated with instance. Allows service producers and
639
+ # end users to assign settings that controls maintenance on this instance.
640
+ # Corresponds to the JSON property `maintenanceSettings`
641
+ # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings]
642
+ attr_accessor :maintenance_settings
643
+
644
+ # Unique name of the resource. It uses the form: `projects/`project_id`/
645
+ # locations/`location_id`/instances/`instance_id``
646
+ # Corresponds to the JSON property `name`
647
+ # @return [String]
648
+ attr_accessor :name
649
+
650
+ # Output only. Custom string attributes used primarily to expose producer-
651
+ # specific information in monitoring dashboards. See go/get-instance-metadata.
652
+ # Corresponds to the JSON property `producerMetadata`
653
+ # @return [Hash<String,String>]
654
+ attr_accessor :producer_metadata
655
+
656
+ # Output only. The list of data plane resources provisioned for this instance, e.
657
+ # g. compute VMs. See go/get-instance-metadata.
658
+ # Corresponds to the JSON property `provisionedResources`
659
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource>]
660
+ attr_accessor :provisioned_resources
661
+
662
+ # Link to the SLM instance template. Only populated when updating SLM instances
663
+ # via SSA's Actuation service adaptor. Service producers with custom control
664
+ # plane (e.g. Cloud SQL) doesn't need to populate this field. Instead they
665
+ # should use software_versions.
666
+ # Corresponds to the JSON property `slmInstanceTemplate`
667
+ # @return [String]
668
+ attr_accessor :slm_instance_template
669
+
670
+ # SloMetadata contains resources required for proper SLO classification of the
671
+ # instance.
672
+ # Corresponds to the JSON property `sloMetadata`
673
+ # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata]
674
+ attr_accessor :slo_metadata
675
+
676
+ # Software versions that are used to deploy this instance. This can be mutated
677
+ # by rollout services.
678
+ # Corresponds to the JSON property `softwareVersions`
679
+ # @return [Hash<String,String>]
680
+ attr_accessor :software_versions
681
+
682
+ # Output only. Current lifecycle state of the resource (e.g. if it's being
683
+ # created or ready to use).
684
+ # Corresponds to the JSON property `state`
685
+ # @return [String]
686
+ attr_accessor :state
687
+
688
+ # Output only. ID of the associated GCP tenant project. See go/get-instance-
689
+ # metadata.
690
+ # Corresponds to the JSON property `tenantProjectId`
691
+ # @return [String]
692
+ attr_accessor :tenant_project_id
693
+
694
+ # Output only. Timestamp when the resource was last modified.
695
+ # Corresponds to the JSON property `updateTime`
696
+ # @return [String]
697
+ attr_accessor :update_time
698
+
699
+ def initialize(**args)
700
+ update!(**args)
701
+ end
702
+
703
+ # Update properties of this object
704
+ def update!(**args)
705
+ @consumer_defined_name = args[:consumer_defined_name] if args.key?(:consumer_defined_name)
706
+ @create_time = args[:create_time] if args.key?(:create_time)
707
+ @labels = args[:labels] if args.key?(:labels)
708
+ @maintenance_policy_names = args[:maintenance_policy_names] if args.key?(:maintenance_policy_names)
709
+ @maintenance_schedules = args[:maintenance_schedules] if args.key?(:maintenance_schedules)
710
+ @maintenance_settings = args[:maintenance_settings] if args.key?(:maintenance_settings)
711
+ @name = args[:name] if args.key?(:name)
712
+ @producer_metadata = args[:producer_metadata] if args.key?(:producer_metadata)
713
+ @provisioned_resources = args[:provisioned_resources] if args.key?(:provisioned_resources)
714
+ @slm_instance_template = args[:slm_instance_template] if args.key?(:slm_instance_template)
715
+ @slo_metadata = args[:slo_metadata] if args.key?(:slo_metadata)
716
+ @software_versions = args[:software_versions] if args.key?(:software_versions)
717
+ @state = args[:state] if args.key?(:state)
718
+ @tenant_project_id = args[:tenant_project_id] if args.key?(:tenant_project_id)
719
+ @update_time = args[:update_time] if args.key?(:update_time)
720
+ end
721
+ end
722
+
723
+ # Maintenance schedule which is exposed to customer and potentially end user,
724
+ # indicating published upcoming future maintenance schedule
725
+ class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSchedule
726
+ include Google::Apis::Core::Hashable
727
+
728
+ # Can this scheduled update be rescheduled? By default, it's true and API needs
729
+ # to do explicitly check whether it's set, if it's set as false explicitly, it's
730
+ # false
731
+ # Corresponds to the JSON property `canReschedule`
732
+ # @return [Boolean]
733
+ attr_accessor :can_reschedule
734
+ alias_method :can_reschedule?, :can_reschedule
735
+
736
+ # The scheduled end time for the maintenance.
737
+ # Corresponds to the JSON property `endTime`
738
+ # @return [String]
739
+ attr_accessor :end_time
740
+
741
+ # The rollout management policy this maintenance schedule is associated with.
742
+ # When doing reschedule update request, the reschedule should be against this
743
+ # given policy.
744
+ # Corresponds to the JSON property `rolloutManagementPolicy`
745
+ # @return [String]
746
+ attr_accessor :rollout_management_policy
747
+
748
+ # The scheduled start time for the maintenance.
749
+ # Corresponds to the JSON property `startTime`
750
+ # @return [String]
751
+ attr_accessor :start_time
752
+
753
+ def initialize(**args)
754
+ update!(**args)
755
+ end
756
+
757
+ # Update properties of this object
758
+ def update!(**args)
759
+ @can_reschedule = args[:can_reschedule] if args.key?(:can_reschedule)
760
+ @end_time = args[:end_time] if args.key?(:end_time)
761
+ @rollout_management_policy = args[:rollout_management_policy] if args.key?(:rollout_management_policy)
762
+ @start_time = args[:start_time] if args.key?(:start_time)
763
+ end
764
+ end
765
+
766
+ # Maintenance settings associated with instance. Allows service producers and
767
+ # end users to assign settings that controls maintenance on this instance.
768
+ class GoogleCloudSaasacceleratorManagementProvidersV1MaintenanceSettings
769
+ include Google::Apis::Core::Hashable
770
+
771
+ # Optional. Exclude instance from maintenance. When true, rollout service will
772
+ # not attempt maintenance on the instance. Rollout service will include the
773
+ # instance in reported rollout progress as not attempted.
774
+ # Corresponds to the JSON property `exclude`
775
+ # @return [Boolean]
776
+ attr_accessor :exclude
777
+ alias_method :exclude?, :exclude
778
+
779
+ # Optional. The MaintenancePolicies that have been attached to the instance. The
780
+ # key must be of the type name of the oneof policy name defined in
781
+ # MaintenancePolicy, and the embedded policy must define the same policy type.
782
+ # For complete details of MaintenancePolicy, please refer to go/cloud-saas-mw-ug.
783
+ # If only the name is needed (like in the deprecated Instance.
784
+ # maintenance_policy_names field) then only populate MaintenancePolicy.name.
785
+ # Corresponds to the JSON property `maintenancePolicies`
786
+ # @return [Hash<String,Google::Apis::ManagedidentitiesV1::MaintenancePolicy>]
787
+ attr_accessor :maintenance_policies
788
+
789
+ def initialize(**args)
790
+ update!(**args)
791
+ end
792
+
793
+ # Update properties of this object
794
+ def update!(**args)
795
+ @exclude = args[:exclude] if args.key?(:exclude)
796
+ @maintenance_policies = args[:maintenance_policies] if args.key?(:maintenance_policies)
797
+ end
798
+ end
799
+
800
+ # Node information for custom per-node SLO implementations. SSA does not support
801
+ # per-node SLO, but producers can populate per-node information in SloMetadata
802
+ # for custom precomputations. SSA Eligibility Exporter will emit per-node metric
803
+ # based on this information.
804
+ class GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata
805
+ include Google::Apis::Core::Hashable
806
+
807
+ # By default node is eligible if instance is eligible. But individual node might
808
+ # be excluded from SLO by adding entry here. For semantic see SloMetadata.
809
+ # exclusions. If both instance and node level exclusions are present for time
810
+ # period, the node level's reason will be reported by Eligibility Exporter.
811
+ # Corresponds to the JSON property `exclusions`
812
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion>]
813
+ attr_accessor :exclusions
814
+
815
+ # The location of the node, if different from instance location.
816
+ # Corresponds to the JSON property `location`
817
+ # @return [String]
818
+ attr_accessor :location
819
+
820
+ # The id of the node. This should be equal to SaasInstanceNode.node_id.
821
+ # Corresponds to the JSON property `nodeId`
822
+ # @return [String]
823
+ attr_accessor :node_id
824
+
825
+ def initialize(**args)
826
+ update!(**args)
827
+ end
828
+
829
+ # Update properties of this object
830
+ def update!(**args)
831
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
832
+ @location = args[:location] if args.key?(:location)
833
+ @node_id = args[:node_id] if args.key?(:node_id)
834
+ end
835
+ end
836
+
837
+ # Describes provisioned dataplane resources.
838
+ class GoogleCloudSaasacceleratorManagementProvidersV1ProvisionedResource
839
+ include Google::Apis::Core::Hashable
840
+
841
+ # Type of the resource. This can be either a GCP resource or a custom one (e.g.
842
+ # another cloud provider's VM). For GCP compute resources use singular form of
843
+ # the names listed in GCP compute API documentation (https://cloud.google.com/
844
+ # compute/docs/reference/rest/v1/), prefixed with 'compute-', for example: '
845
+ # compute-instance', 'compute-disk', 'compute-autoscaler'.
846
+ # Corresponds to the JSON property `resourceType`
847
+ # @return [String]
848
+ attr_accessor :resource_type
849
+
850
+ # URL identifying the resource, e.g. "https://www.googleapis.com/compute/v1/
851
+ # projects/...)".
852
+ # Corresponds to the JSON property `resourceUrl`
853
+ # @return [String]
854
+ attr_accessor :resource_url
855
+
856
+ def initialize(**args)
857
+ update!(**args)
858
+ end
859
+
860
+ # Update properties of this object
861
+ def update!(**args)
862
+ @resource_type = args[:resource_type] if args.key?(:resource_type)
863
+ @resource_url = args[:resource_url] if args.key?(:resource_url)
864
+ end
865
+ end
866
+
867
+ # SloEligibility is a tuple containing eligibility value: true if an instance is
868
+ # eligible for SLO calculation or false if it should be excluded from all SLO-
869
+ # related calculations along with a user-defined reason.
870
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility
871
+ include Google::Apis::Core::Hashable
872
+
873
+ # Whether an instance is eligible or ineligible.
874
+ # Corresponds to the JSON property `eligible`
875
+ # @return [Boolean]
876
+ attr_accessor :eligible
877
+ alias_method :eligible?, :eligible
878
+
879
+ # User-defined reason for the current value of instance eligibility. Usually,
880
+ # this can be directly mapped to the internal state. An empty reason is allowed.
881
+ # Corresponds to the JSON property `reason`
882
+ # @return [String]
883
+ attr_accessor :reason
884
+
885
+ def initialize(**args)
886
+ update!(**args)
887
+ end
888
+
889
+ # Update properties of this object
890
+ def update!(**args)
891
+ @eligible = args[:eligible] if args.key?(:eligible)
892
+ @reason = args[:reason] if args.key?(:reason)
893
+ end
894
+ end
895
+
896
+ # SloExclusion represents an exclusion in SLI calculation applies to all SLOs.
897
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion
898
+ include Google::Apis::Core::Hashable
899
+
900
+ # Exclusion duration. No restrictions on the possible values. When an ongoing
901
+ # operation is taking longer than initially expected, an existing entry in the
902
+ # exclusion list can be updated by extending the duration. This is supported by
903
+ # the subsystem exporting eligibility data as long as such extension is
904
+ # committed at least 10 minutes before the original exclusion expiration -
905
+ # otherwise it is possible that there will be "gaps" in the exclusion
906
+ # application in the exported timeseries.
907
+ # Corresponds to the JSON property `duration`
908
+ # @return [String]
909
+ attr_accessor :duration
910
+
911
+ # Human-readable reason for the exclusion. This should be a static string (e.g. "
912
+ # Disruptive update in progress") and should not contain dynamically generated
913
+ # data (e.g. instance name). Can be left empty.
914
+ # Corresponds to the JSON property `reason`
915
+ # @return [String]
916
+ attr_accessor :reason
917
+
918
+ # Name of an SLI that this exclusion applies to. Can be left empty, signaling
919
+ # that the instance should be excluded from all SLIs defined in the service SLO
920
+ # configuration.
921
+ # Corresponds to the JSON property `sliName`
922
+ # @return [String]
923
+ attr_accessor :sli_name
924
+
925
+ # Start time of the exclusion. No alignment (e.g. to a full minute) needed.
926
+ # Corresponds to the JSON property `startTime`
927
+ # @return [String]
928
+ attr_accessor :start_time
929
+
930
+ def initialize(**args)
931
+ update!(**args)
932
+ end
933
+
934
+ # Update properties of this object
935
+ def update!(**args)
936
+ @duration = args[:duration] if args.key?(:duration)
937
+ @reason = args[:reason] if args.key?(:reason)
938
+ @sli_name = args[:sli_name] if args.key?(:sli_name)
939
+ @start_time = args[:start_time] if args.key?(:start_time)
940
+ end
941
+ end
942
+
943
+ # SloMetadata contains resources required for proper SLO classification of the
944
+ # instance.
945
+ class GoogleCloudSaasacceleratorManagementProvidersV1SloMetadata
946
+ include Google::Apis::Core::Hashable
947
+
948
+ # SloEligibility is a tuple containing eligibility value: true if an instance is
949
+ # eligible for SLO calculation or false if it should be excluded from all SLO-
950
+ # related calculations along with a user-defined reason.
951
+ # Corresponds to the JSON property `eligibility`
952
+ # @return [Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloEligibility]
953
+ attr_accessor :eligibility
954
+
955
+ # List of SLO exclusion windows. When multiple entries in the list match (
956
+ # matching the exclusion time-window against current time point) the exclusion
957
+ # reason used in the first matching entry will be published. It is not needed to
958
+ # include expired exclusion in this list, as only the currently applicable
959
+ # exclusions are taken into account by the eligibility exporting subsystem (the
960
+ # historical state of exclusions will be reflected in the historically produced
961
+ # timeseries regardless of the current state). This field can be used to mark
962
+ # the instance as temporary ineligible for the purpose of SLO calculation. For
963
+ # permanent instance SLO exclusion, use of custom instance eligibility is
964
+ # recommended. See 'eligibility' field below.
965
+ # Corresponds to the JSON property `exclusions`
966
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1SloExclusion>]
967
+ attr_accessor :exclusions
968
+
969
+ # Optional. List of nodes. Some producers need to use per-node metadata to
970
+ # calculate SLO. This field allows such producers to publish per-node SLO meta
971
+ # data, which will be consumed by SSA Eligibility Exporter and published in the
972
+ # form of per node metric to Monarch.
973
+ # Corresponds to the JSON property `nodes`
974
+ # @return [Array<Google::Apis::ManagedidentitiesV1::GoogleCloudSaasacceleratorManagementProvidersV1NodeSloMetadata>]
975
+ attr_accessor :nodes
976
+
977
+ # Name of the SLO tier the Instance belongs to. This name will be expected to
978
+ # match the tiers specified in the service SLO configuration. Field is mandatory
979
+ # and must not be empty.
980
+ # Corresponds to the JSON property `tier`
981
+ # @return [String]
982
+ attr_accessor :tier
983
+
984
+ def initialize(**args)
985
+ update!(**args)
986
+ end
987
+
988
+ # Update properties of this object
989
+ def update!(**args)
990
+ @eligibility = args[:eligibility] if args.key?(:eligibility)
991
+ @exclusions = args[:exclusions] if args.key?(:exclusions)
992
+ @nodes = args[:nodes] if args.key?(:nodes)
993
+ @tier = args[:tier] if args.key?(:tier)
994
+ end
995
+ end
996
+
997
+ # Response message for ListDomains
998
+ class ListDomainsResponse
999
+ include Google::Apis::Core::Hashable
1000
+
1001
+ # A list of Managed Identities Service domains in the project.
1002
+ # Corresponds to the JSON property `domains`
1003
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Domain>]
1004
+ attr_accessor :domains
1005
+
1006
+ # A token to retrieve the next page of results, or empty if there are no more
1007
+ # results in the list.
1008
+ # Corresponds to the JSON property `nextPageToken`
1009
+ # @return [String]
1010
+ attr_accessor :next_page_token
1011
+
1012
+ # A list of locations that could not be reached.
1013
+ # Corresponds to the JSON property `unreachable`
1014
+ # @return [Array<String>]
1015
+ attr_accessor :unreachable
1016
+
1017
+ def initialize(**args)
1018
+ update!(**args)
1019
+ end
1020
+
1021
+ # Update properties of this object
1022
+ def update!(**args)
1023
+ @domains = args[:domains] if args.key?(:domains)
1024
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1025
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1026
+ end
1027
+ end
1028
+
1029
+ # The response message for Locations.ListLocations.
1030
+ class ListLocationsResponse
1031
+ include Google::Apis::Core::Hashable
1032
+
1033
+ # A list of locations that matches the specified filter in the request.
1034
+ # Corresponds to the JSON property `locations`
1035
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Location>]
1036
+ attr_accessor :locations
1037
+
1038
+ # The standard List next-page token.
1039
+ # Corresponds to the JSON property `nextPageToken`
1040
+ # @return [String]
1041
+ attr_accessor :next_page_token
1042
+
1043
+ def initialize(**args)
1044
+ update!(**args)
1045
+ end
1046
+
1047
+ # Update properties of this object
1048
+ def update!(**args)
1049
+ @locations = args[:locations] if args.key?(:locations)
1050
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1051
+ end
1052
+ end
1053
+
1054
+ # The response message for Operations.ListOperations.
1055
+ class ListOperationsResponse
1056
+ include Google::Apis::Core::Hashable
1057
+
1058
+ # The standard List next-page token.
1059
+ # Corresponds to the JSON property `nextPageToken`
1060
+ # @return [String]
1061
+ attr_accessor :next_page_token
1062
+
1063
+ # A list of operations that matches the specified filter in the request.
1064
+ # Corresponds to the JSON property `operations`
1065
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Operation>]
1066
+ attr_accessor :operations
1067
+
1068
+ def initialize(**args)
1069
+ update!(**args)
1070
+ end
1071
+
1072
+ # Update properties of this object
1073
+ def update!(**args)
1074
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1075
+ @operations = args[:operations] if args.key?(:operations)
1076
+ end
1077
+ end
1078
+
1079
+ # A resource that represents Google Cloud Platform location.
1080
+ class Location
1081
+ include Google::Apis::Core::Hashable
1082
+
1083
+ # The friendly name for this location, typically a nearby city name. For example,
1084
+ # "Tokyo".
1085
+ # Corresponds to the JSON property `displayName`
1086
+ # @return [String]
1087
+ attr_accessor :display_name
1088
+
1089
+ # Cross-service attributes for the location. For example `"cloud.googleapis.com/
1090
+ # region": "us-east1"`
1091
+ # Corresponds to the JSON property `labels`
1092
+ # @return [Hash<String,String>]
1093
+ attr_accessor :labels
1094
+
1095
+ # The canonical id for this location. For example: `"us-east1"`.
1096
+ # Corresponds to the JSON property `locationId`
1097
+ # @return [String]
1098
+ attr_accessor :location_id
1099
+
1100
+ # Service-specific metadata. For example the available capacity at the given
1101
+ # location.
1102
+ # Corresponds to the JSON property `metadata`
1103
+ # @return [Hash<String,Object>]
1104
+ attr_accessor :metadata
1105
+
1106
+ # Resource name for the location, which may vary between implementations. For
1107
+ # example: `"projects/example-project/locations/us-east1"`
1108
+ # Corresponds to the JSON property `name`
1109
+ # @return [String]
1110
+ attr_accessor :name
1111
+
1112
+ def initialize(**args)
1113
+ update!(**args)
1114
+ end
1115
+
1116
+ # Update properties of this object
1117
+ def update!(**args)
1118
+ @display_name = args[:display_name] if args.key?(:display_name)
1119
+ @labels = args[:labels] if args.key?(:labels)
1120
+ @location_id = args[:location_id] if args.key?(:location_id)
1121
+ @metadata = args[:metadata] if args.key?(:metadata)
1122
+ @name = args[:name] if args.key?(:name)
1123
+ end
1124
+ end
1125
+
1126
+ # Defines policies to service maintenance events.
1127
+ class MaintenancePolicy
1128
+ include Google::Apis::Core::Hashable
1129
+
1130
+ # Output only. The time when the resource was created.
1131
+ # Corresponds to the JSON property `createTime`
1132
+ # @return [String]
1133
+ attr_accessor :create_time
1134
+
1135
+ # Optional. Description of what this policy is for. Create/Update methods return
1136
+ # INVALID_ARGUMENT if the length is greater than 512.
1137
+ # Corresponds to the JSON property `description`
1138
+ # @return [String]
1139
+ attr_accessor :description
1140
+
1141
+ # Optional. Resource labels to represent user provided metadata. Each label is a
1142
+ # key-value pair, where both the key and the value are arbitrary strings
1143
+ # provided by the user.
1144
+ # Corresponds to the JSON property `labels`
1145
+ # @return [Hash<String,String>]
1146
+ attr_accessor :labels
1147
+
1148
+ # Required. MaintenancePolicy name using the form: `projects/`project_id`/
1149
+ # locations/`location_id`/maintenancePolicies/`maintenance_policy_id`` where `
1150
+ # project_id` refers to a GCP consumer project ID, `location_id` refers to a GCP
1151
+ # region/zone, `maintenance_policy_id` must be 1-63 characters long and match
1152
+ # the regular expression `[a-z0-9]([-a-z0-9]*[a-z0-9])?`.
1153
+ # Corresponds to the JSON property `name`
1154
+ # @return [String]
1155
+ attr_accessor :name
1156
+
1157
+ # Optional. The state of the policy.
1158
+ # Corresponds to the JSON property `state`
1159
+ # @return [String]
1160
+ attr_accessor :state
1161
+
1162
+ # Maintenance policy applicable to instance updates.
1163
+ # Corresponds to the JSON property `updatePolicy`
1164
+ # @return [Google::Apis::ManagedidentitiesV1::UpdatePolicy]
1165
+ attr_accessor :update_policy
1166
+
1167
+ # Output only. The time when the resource was updated.
1168
+ # Corresponds to the JSON property `updateTime`
1169
+ # @return [String]
1170
+ attr_accessor :update_time
1171
+
1172
+ def initialize(**args)
1173
+ update!(**args)
1174
+ end
1175
+
1176
+ # Update properties of this object
1177
+ def update!(**args)
1178
+ @create_time = args[:create_time] if args.key?(:create_time)
1179
+ @description = args[:description] if args.key?(:description)
1180
+ @labels = args[:labels] if args.key?(:labels)
1181
+ @name = args[:name] if args.key?(:name)
1182
+ @state = args[:state] if args.key?(:state)
1183
+ @update_policy = args[:update_policy] if args.key?(:update_policy)
1184
+ @update_time = args[:update_time] if args.key?(:update_time)
1185
+ end
1186
+ end
1187
+
1188
+ # MaintenanceWindow definition.
1189
+ class MaintenanceWindow
1190
+ include Google::Apis::Core::Hashable
1191
+
1192
+ # Time window specified for daily operations.
1193
+ # Corresponds to the JSON property `dailyCycle`
1194
+ # @return [Google::Apis::ManagedidentitiesV1::DailyCycle]
1195
+ attr_accessor :daily_cycle
1196
+
1197
+ # Time window specified for weekly operations.
1198
+ # Corresponds to the JSON property `weeklyCycle`
1199
+ # @return [Google::Apis::ManagedidentitiesV1::WeeklyCycle]
1200
+ attr_accessor :weekly_cycle
1201
+
1202
+ def initialize(**args)
1203
+ update!(**args)
1204
+ end
1205
+
1206
+ # Update properties of this object
1207
+ def update!(**args)
1208
+ @daily_cycle = args[:daily_cycle] if args.key?(:daily_cycle)
1209
+ @weekly_cycle = args[:weekly_cycle] if args.key?(:weekly_cycle)
1210
+ end
1211
+ end
1212
+
1213
+ # This resource represents a long-running operation that is the result of a
1214
+ # network API call.
1215
+ class Operation
1216
+ include Google::Apis::Core::Hashable
1217
+
1218
+ # If the value is `false`, it means the operation is still in progress. If `true`
1219
+ # , the operation is completed, and either `error` or `response` is available.
1220
+ # Corresponds to the JSON property `done`
1221
+ # @return [Boolean]
1222
+ attr_accessor :done
1223
+ alias_method :done?, :done
1224
+
1225
+ # The `Status` type defines a logical error model that is suitable for different
1226
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1227
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1228
+ # data: error code, error message, and error details. You can find out more
1229
+ # about this error model and how to work with it in the [API Design Guide](https:
1230
+ # //cloud.google.com/apis/design/errors).
1231
+ # Corresponds to the JSON property `error`
1232
+ # @return [Google::Apis::ManagedidentitiesV1::Status]
1233
+ attr_accessor :error
1234
+
1235
+ # Service-specific metadata associated with the operation. It typically contains
1236
+ # progress information and common metadata such as create time. Some services
1237
+ # might not provide such metadata. Any method that returns a long-running
1238
+ # operation should document the metadata type, if any.
1239
+ # Corresponds to the JSON property `metadata`
1240
+ # @return [Hash<String,Object>]
1241
+ attr_accessor :metadata
1242
+
1243
+ # The server-assigned name, which is only unique within the same service that
1244
+ # originally returns it. If you use the default HTTP mapping, the `name` should
1245
+ # be a resource name ending with `operations/`unique_id``.
1246
+ # Corresponds to the JSON property `name`
1247
+ # @return [String]
1248
+ attr_accessor :name
1249
+
1250
+ # The normal response of the operation in case of success. If the original
1251
+ # method returns no data on success, such as `Delete`, the response is `google.
1252
+ # protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`,
1253
+ # the response should be the resource. For other methods, the response should
1254
+ # have the type `XxxResponse`, where `Xxx` is the original method name. For
1255
+ # example, if the original method name is `TakeSnapshot()`, the inferred
1256
+ # response type is `TakeSnapshotResponse`.
1257
+ # Corresponds to the JSON property `response`
1258
+ # @return [Hash<String,Object>]
1259
+ attr_accessor :response
1260
+
1261
+ def initialize(**args)
1262
+ update!(**args)
1263
+ end
1264
+
1265
+ # Update properties of this object
1266
+ def update!(**args)
1267
+ @done = args[:done] if args.key?(:done)
1268
+ @error = args[:error] if args.key?(:error)
1269
+ @metadata = args[:metadata] if args.key?(:metadata)
1270
+ @name = args[:name] if args.key?(:name)
1271
+ @response = args[:response] if args.key?(:response)
1272
+ end
1273
+ end
1274
+
1275
+ # Represents the metadata of the long-running operation.
1276
+ class OperationMetadata
1277
+ include Google::Apis::Core::Hashable
1278
+
1279
+ # [Output only] API version used to start the operation.
1280
+ # Corresponds to the JSON property `apiVersion`
1281
+ # @return [String]
1282
+ attr_accessor :api_version
1283
+
1284
+ # [Output only] Identifies whether the user has requested cancellation of the
1285
+ # operation. Operations that have successfully been cancelled have Operation.
1286
+ # error value with a google.rpc.Status.code of 1, corresponding to `Code.
1287
+ # CANCELLED`.
1288
+ # Corresponds to the JSON property `cancelRequested`
1289
+ # @return [Boolean]
1290
+ attr_accessor :cancel_requested
1291
+ alias_method :cancel_requested?, :cancel_requested
1292
+
1293
+ # [Output only] The time the operation was created.
1294
+ # Corresponds to the JSON property `createTime`
1295
+ # @return [String]
1296
+ attr_accessor :create_time
1297
+
1298
+ # [Output only] The time the operation finished running.
1299
+ # Corresponds to the JSON property `endTime`
1300
+ # @return [String]
1301
+ attr_accessor :end_time
1302
+
1303
+ # [Output only] Human-readable status of the operation, if any.
1304
+ # Corresponds to the JSON property `statusDetail`
1305
+ # @return [String]
1306
+ attr_accessor :status_detail
1307
+
1308
+ # [Output only] Server-defined resource path for the target of the operation.
1309
+ # Corresponds to the JSON property `target`
1310
+ # @return [String]
1311
+ attr_accessor :target
1312
+
1313
+ # [Output only] Name of the verb executed by the operation.
1314
+ # Corresponds to the JSON property `verb`
1315
+ # @return [String]
1316
+ attr_accessor :verb
1317
+
1318
+ def initialize(**args)
1319
+ update!(**args)
1320
+ end
1321
+
1322
+ # Update properties of this object
1323
+ def update!(**args)
1324
+ @api_version = args[:api_version] if args.key?(:api_version)
1325
+ @cancel_requested = args[:cancel_requested] if args.key?(:cancel_requested)
1326
+ @create_time = args[:create_time] if args.key?(:create_time)
1327
+ @end_time = args[:end_time] if args.key?(:end_time)
1328
+ @status_detail = args[:status_detail] if args.key?(:status_detail)
1329
+ @target = args[:target] if args.key?(:target)
1330
+ @verb = args[:verb] if args.key?(:verb)
1331
+ end
1332
+ end
1333
+
1334
+ # An Identity and Access Management (IAM) policy, which specifies access
1335
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1336
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1337
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1338
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1339
+ # role or a user-created custom role. For some types of Google Cloud resources,
1340
+ # a `binding` can also specify a `condition`, which is a logical expression that
1341
+ # allows access to a resource only if the expression evaluates to `true`. A
1342
+ # condition can add constraints based on attributes of the request, the resource,
1343
+ # or both. To learn which resources support conditions in their IAM policies,
1344
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1345
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1346
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1347
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1348
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1349
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1350
+ # title": "expirable access", "description": "Does not grant access after Sep
1351
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1352
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1353
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1354
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1355
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1356
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1357
+ # description: Does not grant access after Sep 2020 expression: request.time <
1358
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1359
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1360
+ # google.com/iam/docs/).
1361
+ class Policy
1362
+ include Google::Apis::Core::Hashable
1363
+
1364
+ # Associates a list of `members` to a `role`. Optionally, may specify a `
1365
+ # condition` that determines how and when the `bindings` are applied. Each of
1366
+ # the `bindings` must contain at least one member.
1367
+ # Corresponds to the JSON property `bindings`
1368
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Binding>]
1369
+ attr_accessor :bindings
1370
+
1371
+ # `etag` is used for optimistic concurrency control as a way to help prevent
1372
+ # simultaneous updates of a policy from overwriting each other. It is strongly
1373
+ # suggested that systems make use of the `etag` in the read-modify-write cycle
1374
+ # to perform policy updates in order to avoid race conditions: An `etag` is
1375
+ # returned in the response to `getIamPolicy`, and systems are expected to put
1376
+ # that etag in the request to `setIamPolicy` to ensure that their change will be
1377
+ # applied to the same version of the policy. **Important:** If you use IAM
1378
+ # Conditions, you must include the `etag` field whenever you call `setIamPolicy`.
1379
+ # If you omit this field, then IAM allows you to overwrite a version `3` policy
1380
+ # with a version `1` policy, and all of the conditions in the version `3` policy
1381
+ # are lost.
1382
+ # Corresponds to the JSON property `etag`
1383
+ # NOTE: Values are automatically base64 encoded/decoded in the client library.
1384
+ # @return [String]
1385
+ attr_accessor :etag
1386
+
1387
+ # Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
1388
+ # Requests that specify an invalid value are rejected. Any operation that
1389
+ # affects conditional role bindings must specify version `3`. This requirement
1390
+ # applies to the following operations: * Getting a policy that includes a
1391
+ # conditional role binding * Adding a conditional role binding to a policy *
1392
+ # Changing a conditional role binding in a policy * Removing any role binding,
1393
+ # with or without a condition, from a policy that includes conditions **
1394
+ # Important:** If you use IAM Conditions, you must include the `etag` field
1395
+ # whenever you call `setIamPolicy`. If you omit this field, then IAM allows you
1396
+ # to overwrite a version `3` policy with a version `1` policy, and all of the
1397
+ # conditions in the version `3` policy are lost. If a policy does not include
1398
+ # any conditions, operations on that policy may specify any valid version or
1399
+ # leave the field unset. To learn which resources support conditions in their
1400
+ # IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/
1401
+ # conditions/resource-policies).
1402
+ # Corresponds to the JSON property `version`
1403
+ # @return [Fixnum]
1404
+ attr_accessor :version
1405
+
1406
+ def initialize(**args)
1407
+ update!(**args)
1408
+ end
1409
+
1410
+ # Update properties of this object
1411
+ def update!(**args)
1412
+ @bindings = args[:bindings] if args.key?(:bindings)
1413
+ @etag = args[:etag] if args.key?(:etag)
1414
+ @version = args[:version] if args.key?(:version)
1415
+ end
1416
+ end
1417
+
1418
+ # Request message for ReconfigureTrust
1419
+ class ReconfigureTrustRequest
1420
+ include Google::Apis::Core::Hashable
1421
+
1422
+ # Required. The target DNS server IP addresses to resolve the remote domain
1423
+ # involved in the trust.
1424
+ # Corresponds to the JSON property `targetDnsIpAddresses`
1425
+ # @return [Array<String>]
1426
+ attr_accessor :target_dns_ip_addresses
1427
+
1428
+ # Required. The fully-qualified target domain name which will be in trust with
1429
+ # current domain.
1430
+ # Corresponds to the JSON property `targetDomainName`
1431
+ # @return [String]
1432
+ attr_accessor :target_domain_name
1433
+
1434
+ def initialize(**args)
1435
+ update!(**args)
1436
+ end
1437
+
1438
+ # Update properties of this object
1439
+ def update!(**args)
1440
+ @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses)
1441
+ @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name)
1442
+ end
1443
+ end
1444
+
1445
+ # Request message for ResetAdminPassword
1446
+ class ResetAdminPasswordRequest
1447
+ include Google::Apis::Core::Hashable
1448
+
1449
+ def initialize(**args)
1450
+ update!(**args)
1451
+ end
1452
+
1453
+ # Update properties of this object
1454
+ def update!(**args)
1455
+ end
1456
+ end
1457
+
1458
+ # Response message for ResetAdminPassword
1459
+ class ResetAdminPasswordResponse
1460
+ include Google::Apis::Core::Hashable
1461
+
1462
+ # A random password. See admin for more information.
1463
+ # Corresponds to the JSON property `password`
1464
+ # @return [String]
1465
+ attr_accessor :password
1466
+
1467
+ def initialize(**args)
1468
+ update!(**args)
1469
+ end
1470
+
1471
+ # Update properties of this object
1472
+ def update!(**args)
1473
+ @password = args[:password] if args.key?(:password)
1474
+ end
1475
+ end
1476
+
1477
+ # Configure the schedule.
1478
+ class Schedule
1479
+ include Google::Apis::Core::Hashable
1480
+
1481
+ # Allows to define schedule that runs specified day of the week.
1482
+ # Corresponds to the JSON property `day`
1483
+ # @return [String]
1484
+ attr_accessor :day
1485
+
1486
+ # Output only. Duration of the time window, set by service producer.
1487
+ # Corresponds to the JSON property `duration`
1488
+ # @return [String]
1489
+ attr_accessor :duration
1490
+
1491
+ # Represents a time of day. The date and time zone are either not significant or
1492
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1493
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1494
+ # Corresponds to the JSON property `startTime`
1495
+ # @return [Google::Apis::ManagedidentitiesV1::TimeOfDay]
1496
+ attr_accessor :start_time
1497
+
1498
+ def initialize(**args)
1499
+ update!(**args)
1500
+ end
1501
+
1502
+ # Update properties of this object
1503
+ def update!(**args)
1504
+ @day = args[:day] if args.key?(:day)
1505
+ @duration = args[:duration] if args.key?(:duration)
1506
+ @start_time = args[:start_time] if args.key?(:start_time)
1507
+ end
1508
+ end
1509
+
1510
+ # Request message for `SetIamPolicy` method.
1511
+ class SetIamPolicyRequest
1512
+ include Google::Apis::Core::Hashable
1513
+
1514
+ # An Identity and Access Management (IAM) policy, which specifies access
1515
+ # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1516
+ # A `binding` binds one or more `members` to a single `role`. Members can be
1517
+ # user accounts, service accounts, Google groups, and domains (such as G Suite).
1518
+ # A `role` is a named list of permissions; each `role` can be an IAM predefined
1519
+ # role or a user-created custom role. For some types of Google Cloud resources,
1520
+ # a `binding` can also specify a `condition`, which is a logical expression that
1521
+ # allows access to a resource only if the expression evaluates to `true`. A
1522
+ # condition can add constraints based on attributes of the request, the resource,
1523
+ # or both. To learn which resources support conditions in their IAM policies,
1524
+ # see the [IAM documentation](https://cloud.google.com/iam/help/conditions/
1525
+ # resource-policies). **JSON example:** ` "bindings": [ ` "role": "roles/
1526
+ # resourcemanager.organizationAdmin", "members": [ "user:mike@example.com", "
1527
+ # group:admins@example.com", "domain:google.com", "serviceAccount:my-project-id@
1528
+ # appspot.gserviceaccount.com" ] `, ` "role": "roles/resourcemanager.
1529
+ # organizationViewer", "members": [ "user:eve@example.com" ], "condition": ` "
1530
+ # title": "expirable access", "description": "Does not grant access after Sep
1531
+ # 2020", "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", `
1532
+ # ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:** bindings: -
1533
+ # members: - user:mike@example.com - group:admins@example.com - domain:google.
1534
+ # com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/
1535
+ # resourcemanager.organizationAdmin - members: - user:eve@example.com role:
1536
+ # roles/resourcemanager.organizationViewer condition: title: expirable access
1537
+ # description: Does not grant access after Sep 2020 expression: request.time <
1538
+ # timestamp('2020-10-01T00:00:00.000Z') - etag: BwWWja0YfJA= - version: 3 For a
1539
+ # description of IAM and its features, see the [IAM documentation](https://cloud.
1540
+ # google.com/iam/docs/).
1541
+ # Corresponds to the JSON property `policy`
1542
+ # @return [Google::Apis::ManagedidentitiesV1::Policy]
1543
+ attr_accessor :policy
1544
+
1545
+ def initialize(**args)
1546
+ update!(**args)
1547
+ end
1548
+
1549
+ # Update properties of this object
1550
+ def update!(**args)
1551
+ @policy = args[:policy] if args.key?(:policy)
1552
+ end
1553
+ end
1554
+
1555
+ # The `Status` type defines a logical error model that is suitable for different
1556
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1557
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1558
+ # data: error code, error message, and error details. You can find out more
1559
+ # about this error model and how to work with it in the [API Design Guide](https:
1560
+ # //cloud.google.com/apis/design/errors).
1561
+ class Status
1562
+ include Google::Apis::Core::Hashable
1563
+
1564
+ # The status code, which should be an enum value of google.rpc.Code.
1565
+ # Corresponds to the JSON property `code`
1566
+ # @return [Fixnum]
1567
+ attr_accessor :code
1568
+
1569
+ # A list of messages that carry the error details. There is a common set of
1570
+ # message types for APIs to use.
1571
+ # Corresponds to the JSON property `details`
1572
+ # @return [Array<Hash<String,Object>>]
1573
+ attr_accessor :details
1574
+
1575
+ # A developer-facing error message, which should be in English. Any user-facing
1576
+ # error message should be localized and sent in the google.rpc.Status.details
1577
+ # field, or localized by the client.
1578
+ # Corresponds to the JSON property `message`
1579
+ # @return [String]
1580
+ attr_accessor :message
1581
+
1582
+ def initialize(**args)
1583
+ update!(**args)
1584
+ end
1585
+
1586
+ # Update properties of this object
1587
+ def update!(**args)
1588
+ @code = args[:code] if args.key?(:code)
1589
+ @details = args[:details] if args.key?(:details)
1590
+ @message = args[:message] if args.key?(:message)
1591
+ end
1592
+ end
1593
+
1594
+ # Request message for `TestIamPermissions` method.
1595
+ class TestIamPermissionsRequest
1596
+ include Google::Apis::Core::Hashable
1597
+
1598
+ # The set of permissions to check for the `resource`. Permissions with wildcards
1599
+ # (such as '*' or 'storage.*') are not allowed. For more information see [IAM
1600
+ # Overview](https://cloud.google.com/iam/docs/overview#permissions).
1601
+ # Corresponds to the JSON property `permissions`
1602
+ # @return [Array<String>]
1603
+ attr_accessor :permissions
1604
+
1605
+ def initialize(**args)
1606
+ update!(**args)
1607
+ end
1608
+
1609
+ # Update properties of this object
1610
+ def update!(**args)
1611
+ @permissions = args[:permissions] if args.key?(:permissions)
1612
+ end
1613
+ end
1614
+
1615
+ # Response message for `TestIamPermissions` method.
1616
+ class TestIamPermissionsResponse
1617
+ include Google::Apis::Core::Hashable
1618
+
1619
+ # A subset of `TestPermissionsRequest.permissions` that the caller is allowed.
1620
+ # Corresponds to the JSON property `permissions`
1621
+ # @return [Array<String>]
1622
+ attr_accessor :permissions
1623
+
1624
+ def initialize(**args)
1625
+ update!(**args)
1626
+ end
1627
+
1628
+ # Update properties of this object
1629
+ def update!(**args)
1630
+ @permissions = args[:permissions] if args.key?(:permissions)
1631
+ end
1632
+ end
1633
+
1634
+ # Represents a time of day. The date and time zone are either not significant or
1635
+ # are specified elsewhere. An API may choose to allow leap seconds. Related
1636
+ # types are google.type.Date and `google.protobuf.Timestamp`.
1637
+ class TimeOfDay
1638
+ include Google::Apis::Core::Hashable
1639
+
1640
+ # Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to
1641
+ # allow the value "24:00:00" for scenarios like business closing time.
1642
+ # Corresponds to the JSON property `hours`
1643
+ # @return [Fixnum]
1644
+ attr_accessor :hours
1645
+
1646
+ # Minutes of hour of day. Must be from 0 to 59.
1647
+ # Corresponds to the JSON property `minutes`
1648
+ # @return [Fixnum]
1649
+ attr_accessor :minutes
1650
+
1651
+ # Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.
1652
+ # Corresponds to the JSON property `nanos`
1653
+ # @return [Fixnum]
1654
+ attr_accessor :nanos
1655
+
1656
+ # Seconds of minutes of the time. Must normally be from 0 to 59. An API may
1657
+ # allow the value 60 if it allows leap-seconds.
1658
+ # Corresponds to the JSON property `seconds`
1659
+ # @return [Fixnum]
1660
+ attr_accessor :seconds
1661
+
1662
+ def initialize(**args)
1663
+ update!(**args)
1664
+ end
1665
+
1666
+ # Update properties of this object
1667
+ def update!(**args)
1668
+ @hours = args[:hours] if args.key?(:hours)
1669
+ @minutes = args[:minutes] if args.key?(:minutes)
1670
+ @nanos = args[:nanos] if args.key?(:nanos)
1671
+ @seconds = args[:seconds] if args.key?(:seconds)
1672
+ end
1673
+ end
1674
+
1675
+ # Represents a relationship between two domains. This allows a controller in one
1676
+ # domain to authenticate a user in another domain. If the trust is being changed,
1677
+ # it will be placed into the UPDATING state, which indicates that the resource
1678
+ # is being reconciled. At this point, Get will reflect an intermediate state.
1679
+ class TrustProp
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # Output only. The time the instance was created.
1683
+ # Corresponds to the JSON property `createTime`
1684
+ # @return [String]
1685
+ attr_accessor :create_time
1686
+
1687
+ # Output only. The last heartbeat time when the trust was known to be connected.
1688
+ # Corresponds to the JSON property `lastTrustHeartbeatTime`
1689
+ # @return [String]
1690
+ attr_accessor :last_trust_heartbeat_time
1691
+
1692
+ # Optional. The trust authentication type, which decides whether the trusted
1693
+ # side has forest/domain wide access or selective access to an approved set of
1694
+ # resources.
1695
+ # Corresponds to the JSON property `selectiveAuthentication`
1696
+ # @return [Boolean]
1697
+ attr_accessor :selective_authentication
1698
+ alias_method :selective_authentication?, :selective_authentication
1699
+
1700
+ # Output only. The current state of the trust.
1701
+ # Corresponds to the JSON property `state`
1702
+ # @return [String]
1703
+ attr_accessor :state
1704
+
1705
+ # Output only. Additional information about the current state of the trust, if
1706
+ # available.
1707
+ # Corresponds to the JSON property `stateDescription`
1708
+ # @return [String]
1709
+ attr_accessor :state_description
1710
+
1711
+ # Required. The target DNS server IP addresses which can resolve the remote
1712
+ # domain involved in the trust.
1713
+ # Corresponds to the JSON property `targetDnsIpAddresses`
1714
+ # @return [Array<String>]
1715
+ attr_accessor :target_dns_ip_addresses
1716
+
1717
+ # Required. The fully qualified target domain name which will be in trust with
1718
+ # the current domain.
1719
+ # Corresponds to the JSON property `targetDomainName`
1720
+ # @return [String]
1721
+ attr_accessor :target_domain_name
1722
+
1723
+ # Required. The trust direction, which decides if the current domain is trusted,
1724
+ # trusting, or both.
1725
+ # Corresponds to the JSON property `trustDirection`
1726
+ # @return [String]
1727
+ attr_accessor :trust_direction
1728
+
1729
+ # Required. The trust secret used for the handshake with the target domain. This
1730
+ # will not be stored.
1731
+ # Corresponds to the JSON property `trustHandshakeSecret`
1732
+ # @return [String]
1733
+ attr_accessor :trust_handshake_secret
1734
+
1735
+ # Required. The type of trust represented by the trust resource.
1736
+ # Corresponds to the JSON property `trustType`
1737
+ # @return [String]
1738
+ attr_accessor :trust_type
1739
+
1740
+ # Output only. The last update time.
1741
+ # Corresponds to the JSON property `updateTime`
1742
+ # @return [String]
1743
+ attr_accessor :update_time
1744
+
1745
+ def initialize(**args)
1746
+ update!(**args)
1747
+ end
1748
+
1749
+ # Update properties of this object
1750
+ def update!(**args)
1751
+ @create_time = args[:create_time] if args.key?(:create_time)
1752
+ @last_trust_heartbeat_time = args[:last_trust_heartbeat_time] if args.key?(:last_trust_heartbeat_time)
1753
+ @selective_authentication = args[:selective_authentication] if args.key?(:selective_authentication)
1754
+ @state = args[:state] if args.key?(:state)
1755
+ @state_description = args[:state_description] if args.key?(:state_description)
1756
+ @target_dns_ip_addresses = args[:target_dns_ip_addresses] if args.key?(:target_dns_ip_addresses)
1757
+ @target_domain_name = args[:target_domain_name] if args.key?(:target_domain_name)
1758
+ @trust_direction = args[:trust_direction] if args.key?(:trust_direction)
1759
+ @trust_handshake_secret = args[:trust_handshake_secret] if args.key?(:trust_handshake_secret)
1760
+ @trust_type = args[:trust_type] if args.key?(:trust_type)
1761
+ @update_time = args[:update_time] if args.key?(:update_time)
1762
+ end
1763
+ end
1764
+
1765
+ # Maintenance policy applicable to instance updates.
1766
+ class UpdatePolicy
1767
+ include Google::Apis::Core::Hashable
1768
+
1769
+ # Optional. Relative scheduling channel applied to resource.
1770
+ # Corresponds to the JSON property `channel`
1771
+ # @return [String]
1772
+ attr_accessor :channel
1773
+
1774
+ # Deny Maintenance Period that is applied to resource to indicate when
1775
+ # maintenance is forbidden. User can specify zero or more non-overlapping deny
1776
+ # periods. For V1, Maximum number of deny_maintenance_periods is expected to be
1777
+ # one.
1778
+ # Corresponds to the JSON property `denyMaintenancePeriods`
1779
+ # @return [Array<Google::Apis::ManagedidentitiesV1::DenyMaintenancePeriod>]
1780
+ attr_accessor :deny_maintenance_periods
1781
+
1782
+ # MaintenanceWindow definition.
1783
+ # Corresponds to the JSON property `window`
1784
+ # @return [Google::Apis::ManagedidentitiesV1::MaintenanceWindow]
1785
+ attr_accessor :window
1786
+
1787
+ def initialize(**args)
1788
+ update!(**args)
1789
+ end
1790
+
1791
+ # Update properties of this object
1792
+ def update!(**args)
1793
+ @channel = args[:channel] if args.key?(:channel)
1794
+ @deny_maintenance_periods = args[:deny_maintenance_periods] if args.key?(:deny_maintenance_periods)
1795
+ @window = args[:window] if args.key?(:window)
1796
+ end
1797
+ end
1798
+
1799
+ # Request message for ValidateTrust
1800
+ class ValidateTrustRequest
1801
+ include Google::Apis::Core::Hashable
1802
+
1803
+ # Represents a relationship between two domains. This allows a controller in one
1804
+ # domain to authenticate a user in another domain. If the trust is being changed,
1805
+ # it will be placed into the UPDATING state, which indicates that the resource
1806
+ # is being reconciled. At this point, Get will reflect an intermediate state.
1807
+ # Corresponds to the JSON property `trust`
1808
+ # @return [Google::Apis::ManagedidentitiesV1::TrustProp]
1809
+ attr_accessor :trust_prop
1810
+
1811
+ def initialize(**args)
1812
+ update!(**args)
1813
+ end
1814
+
1815
+ # Update properties of this object
1816
+ def update!(**args)
1817
+ @trust_prop = args[:trust_prop] if args.key?(:trust_prop)
1818
+ end
1819
+ end
1820
+
1821
+ # Time window specified for weekly operations.
1822
+ class WeeklyCycle
1823
+ include Google::Apis::Core::Hashable
1824
+
1825
+ # User can specify multiple windows in a week. Minimum of 1 window.
1826
+ # Corresponds to the JSON property `schedule`
1827
+ # @return [Array<Google::Apis::ManagedidentitiesV1::Schedule>]
1828
+ attr_accessor :schedule
1829
+
1830
+ def initialize(**args)
1831
+ update!(**args)
1832
+ end
1833
+
1834
+ # Update properties of this object
1835
+ def update!(**args)
1836
+ @schedule = args[:schedule] if args.key?(:schedule)
1837
+ end
1838
+ end
1839
+ end
1840
+ end
1841
+ end