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