google-apis-androidenterprise_v1 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 758b44e1b482091250fc59d07c55d86e37ba9af5173e31f945e62954dafe3a8c
4
+ data.tar.gz: 06e9db24a98b5602ba8602fb21ea26dd770ce70d5f3e1decd58c714e1dfe95a4
5
+ SHA512:
6
+ metadata.gz: 5085953f41eb1b3c77ce3f701f436946048f69507cfeea1ebe62289b6f0efe86be5ae4e68cc37c8f4d0c8f950c0f2780aa5b79ba5f9182c86a523555e0dcd888
7
+ data.tar.gz: 51535a6f59dfc82e286ab85f453a0e7b82de731adaf288afc4af5ddef0c4adbf9196122f80bbf3ad525c186ba66211efe14105aef1b16d99ebac19bf85363bef
@@ -0,0 +1,13 @@
1
+ --hide-void-return
2
+ --no-private
3
+ --verbose
4
+ --title=google-apis-androidenterprise_v1
5
+ --markup-provider=redcarpet
6
+ --markup=markdown
7
+ --main OVERVIEW.md
8
+ lib/google/apis/androidenterprise_v1/*.rb
9
+ lib/google/apis/androidenterprise_v1.rb
10
+ -
11
+ OVERVIEW.md
12
+ CHANGELOG.md
13
+ LICENSE.md
@@ -0,0 +1,7 @@
1
+ # Release history for google-apis-androidenterprise_v1
2
+
3
+ ### v0.1.0 (2021-01-07)
4
+
5
+ * Regenerated using generator version 0.1.1
6
+ * Regenerated from discovery document revision 20201125
7
+
@@ -0,0 +1,202 @@
1
+
2
+ Apache License
3
+ Version 2.0, January 2004
4
+ http://www.apache.org/licenses/
5
+
6
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
7
+
8
+ 1. Definitions.
9
+
10
+ "License" shall mean the terms and conditions for use, reproduction,
11
+ and distribution as defined by Sections 1 through 9 of this document.
12
+
13
+ "Licensor" shall mean the copyright owner or entity authorized by
14
+ the copyright owner that is granting the License.
15
+
16
+ "Legal Entity" shall mean the union of the acting entity and all
17
+ other entities that control, are controlled by, or are under common
18
+ control with that entity. For the purposes of this definition,
19
+ "control" means (i) the power, direct or indirect, to cause the
20
+ direction or management of such entity, whether by contract or
21
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
22
+ outstanding shares, or (iii) beneficial ownership of such entity.
23
+
24
+ "You" (or "Your") shall mean an individual or Legal Entity
25
+ exercising permissions granted by this License.
26
+
27
+ "Source" form shall mean the preferred form for making modifications,
28
+ including but not limited to software source code, documentation
29
+ source, and configuration files.
30
+
31
+ "Object" form shall mean any form resulting from mechanical
32
+ transformation or translation of a Source form, including but
33
+ not limited to compiled object code, generated documentation,
34
+ and conversions to other media types.
35
+
36
+ "Work" shall mean the work of authorship, whether in Source or
37
+ Object form, made available under the License, as indicated by a
38
+ copyright notice that is included in or attached to the work
39
+ (an example is provided in the Appendix below).
40
+
41
+ "Derivative Works" shall mean any work, whether in Source or Object
42
+ form, that is based on (or derived from) the Work and for which the
43
+ editorial revisions, annotations, elaborations, or other modifications
44
+ represent, as a whole, an original work of authorship. For the purposes
45
+ of this License, Derivative Works shall not include works that remain
46
+ separable from, or merely link (or bind by name) to the interfaces of,
47
+ the Work and Derivative Works thereof.
48
+
49
+ "Contribution" shall mean any work of authorship, including
50
+ the original version of the Work and any modifications or additions
51
+ to that Work or Derivative Works thereof, that is intentionally
52
+ submitted to Licensor for inclusion in the Work by the copyright owner
53
+ or by an individual or Legal Entity authorized to submit on behalf of
54
+ the copyright owner. For the purposes of this definition, "submitted"
55
+ means any form of electronic, verbal, or written communication sent
56
+ to the Licensor or its representatives, including but not limited to
57
+ communication on electronic mailing lists, source code control systems,
58
+ and issue tracking systems that are managed by, or on behalf of, the
59
+ Licensor for the purpose of discussing and improving the Work, but
60
+ excluding communication that is conspicuously marked or otherwise
61
+ designated in writing by the copyright owner as "Not a Contribution."
62
+
63
+ "Contributor" shall mean Licensor and any individual or Legal Entity
64
+ on behalf of whom a Contribution has been received by Licensor and
65
+ subsequently incorporated within the Work.
66
+
67
+ 2. Grant of Copyright License. Subject to the terms and conditions of
68
+ this License, each Contributor hereby grants to You a perpetual,
69
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
70
+ copyright license to reproduce, prepare Derivative Works of,
71
+ publicly display, publicly perform, sublicense, and distribute the
72
+ Work and such Derivative Works in Source or Object form.
73
+
74
+ 3. Grant of Patent License. Subject to the terms and conditions of
75
+ this License, each Contributor hereby grants to You a perpetual,
76
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
77
+ (except as stated in this section) patent license to make, have made,
78
+ use, offer to sell, sell, import, and otherwise transfer the Work,
79
+ where such license applies only to those patent claims licensable
80
+ by such Contributor that are necessarily infringed by their
81
+ Contribution(s) alone or by combination of their Contribution(s)
82
+ with the Work to which such Contribution(s) was submitted. If You
83
+ institute patent litigation against any entity (including a
84
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
85
+ or a Contribution incorporated within the Work constitutes direct
86
+ or contributory patent infringement, then any patent licenses
87
+ granted to You under this License for that Work shall terminate
88
+ as of the date such litigation is filed.
89
+
90
+ 4. Redistribution. You may reproduce and distribute copies of the
91
+ Work or Derivative Works thereof in any medium, with or without
92
+ modifications, and in Source or Object form, provided that You
93
+ meet the following conditions:
94
+
95
+ (a) You must give any other recipients of the Work or
96
+ Derivative Works a copy of this License; and
97
+
98
+ (b) You must cause any modified files to carry prominent notices
99
+ stating that You changed the files; and
100
+
101
+ (c) You must retain, in the Source form of any Derivative Works
102
+ that You distribute, all copyright, patent, trademark, and
103
+ attribution notices from the Source form of the Work,
104
+ excluding those notices that do not pertain to any part of
105
+ the Derivative Works; and
106
+
107
+ (d) If the Work includes a "NOTICE" text file as part of its
108
+ distribution, then any Derivative Works that You distribute must
109
+ include a readable copy of the attribution notices contained
110
+ within such NOTICE file, excluding those notices that do not
111
+ pertain to any part of the Derivative Works, in at least one
112
+ of the following places: within a NOTICE text file distributed
113
+ as part of the Derivative Works; within the Source form or
114
+ documentation, if provided along with the Derivative Works; or,
115
+ within a display generated by the Derivative Works, if and
116
+ wherever such third-party notices normally appear. The contents
117
+ of the NOTICE file are for informational purposes only and
118
+ do not modify the License. You may add Your own attribution
119
+ notices within Derivative Works that You distribute, alongside
120
+ or as an addendum to the NOTICE text from the Work, provided
121
+ that such additional attribution notices cannot be construed
122
+ as modifying the License.
123
+
124
+ You may add Your own copyright statement to Your modifications and
125
+ may provide additional or different license terms and conditions
126
+ for use, reproduction, or distribution of Your modifications, or
127
+ for any such Derivative Works as a whole, provided Your use,
128
+ reproduction, and distribution of the Work otherwise complies with
129
+ the conditions stated in this License.
130
+
131
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
132
+ any Contribution intentionally submitted for inclusion in the Work
133
+ by You to the Licensor shall be under the terms and conditions of
134
+ this License, without any additional terms or conditions.
135
+ Notwithstanding the above, nothing herein shall supersede or modify
136
+ the terms of any separate license agreement you may have executed
137
+ with Licensor regarding such Contributions.
138
+
139
+ 6. Trademarks. This License does not grant permission to use the trade
140
+ names, trademarks, service marks, or product names of the Licensor,
141
+ except as required for reasonable and customary use in describing the
142
+ origin of the Work and reproducing the content of the NOTICE file.
143
+
144
+ 7. Disclaimer of Warranty. Unless required by applicable law or
145
+ agreed to in writing, Licensor provides the Work (and each
146
+ Contributor provides its Contributions) on an "AS IS" BASIS,
147
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
148
+ implied, including, without limitation, any warranties or conditions
149
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
150
+ PARTICULAR PURPOSE. You are solely responsible for determining the
151
+ appropriateness of using or redistributing the Work and assume any
152
+ risks associated with Your exercise of permissions under this License.
153
+
154
+ 8. Limitation of Liability. In no event and under no legal theory,
155
+ whether in tort (including negligence), contract, or otherwise,
156
+ unless required by applicable law (such as deliberate and grossly
157
+ negligent acts) or agreed to in writing, shall any Contributor be
158
+ liable to You for damages, including any direct, indirect, special,
159
+ incidental, or consequential damages of any character arising as a
160
+ result of this License or out of the use or inability to use the
161
+ Work (including but not limited to damages for loss of goodwill,
162
+ work stoppage, computer failure or malfunction, or any and all
163
+ other commercial damages or losses), even if such Contributor
164
+ has been advised of the possibility of such damages.
165
+
166
+ 9. Accepting Warranty or Additional Liability. While redistributing
167
+ the Work or Derivative Works thereof, You may choose to offer,
168
+ and charge a fee for, acceptance of support, warranty, indemnity,
169
+ or other liability obligations and/or rights consistent with this
170
+ License. However, in accepting such obligations, You may act only
171
+ on Your own behalf and on Your sole responsibility, not on behalf
172
+ of any other Contributor, and only if You agree to indemnify,
173
+ defend, and hold each Contributor harmless for any liability
174
+ incurred by, or claims asserted against, such Contributor by reason
175
+ of your accepting any such warranty or additional liability.
176
+
177
+ END OF TERMS AND CONDITIONS
178
+
179
+ APPENDIX: How to apply the Apache License to your work.
180
+
181
+ To apply the Apache License to your work, attach the following
182
+ boilerplate notice, with the fields enclosed by brackets "[]"
183
+ replaced with your own identifying information. (Don't include
184
+ the brackets!) The text should be enclosed in the appropriate
185
+ comment syntax for the file format. We also recommend that a
186
+ file or class name and description of purpose be included on the
187
+ same "printed page" as the copyright notice for easier
188
+ identification within third-party archives.
189
+
190
+ Copyright [yyyy] [name of copyright owner]
191
+
192
+ Licensed under the Apache License, Version 2.0 (the "License");
193
+ you may not use this file except in compliance with the License.
194
+ You may obtain a copy of the License at
195
+
196
+ http://www.apache.org/licenses/LICENSE-2.0
197
+
198
+ Unless required by applicable law or agreed to in writing, software
199
+ distributed under the License is distributed on an "AS IS" BASIS,
200
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
201
+ See the License for the specific language governing permissions and
202
+ limitations under the License.
@@ -0,0 +1,96 @@
1
+ # Simple REST client for version V1 of the Google Play EMM API
2
+
3
+ This is a simple client library for version V1 of the Google Play EMM 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/androidenterprise.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-androidenterprise_v1', '~> 0.1'
28
+ ```
29
+
30
+ And then execute:
31
+
32
+ ```
33
+ $ bundle
34
+ ```
35
+
36
+ Or install it yourself as:
37
+
38
+ ```
39
+ $ gem install google-apis-androidenterprise_v1
40
+ ```
41
+
42
+ ### Creating a client object
43
+
44
+ Once the gem is installed, you can load the client code and instantiate a client.
45
+
46
+ ```ruby
47
+ # Load the client
48
+ require "google/apis/androidenterprise_v1"
49
+
50
+ # Create a client object
51
+ client = Google::Apis::AndroidenterpriseV1::AndroidEnterpriseService.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 Androidenterprise service in particular.)
67
+
68
+ For reference information on specific calls in the Google Play EMM API, see the {Google::Apis::AndroidenterpriseV1::AndroidEnterpriseService 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-androidenterprise_v1`, is a simple REST client. You can identify these clients by their gem names, which are always in the form `google-apis-<servicename>_<serviceversion>`. The simple REST clients connect to HTTP/JSON REST endpoints and are automatically generated from service discovery documents. They support most API functionality, but their class interfaces are sometimes awkward.
75
+
76
+ Modern clients are produced by a modern code generator, sometimes combined with hand-crafted functionality. Most modern clients connect to high-performance gRPC endpoints, although a few are backed by REST services. Modern clients are available for many Google services, especially Google Cloud Platform services, but do not yet support all the services covered by the simple clients.
77
+
78
+ Gem names for modern clients are often of the form `google-cloud-<service_name>`. (For example, [google-cloud-pubsub](https://rubygems.org/gems/google-cloud-pubsub).) Note that most modern clients also have corresponding "versioned" gems with names like `google-cloud-<service_name>-<version>`. (For example, [google-cloud-pubsub-v1](https://rubygems.org/gems/google-cloud-pubsub-v1).) The "versioned" gems can be used directly, but often provide lower-level interfaces. In most cases, the main gem is recommended.
79
+
80
+ **For most users, we recommend the modern client, if one is available.** Compared with simple clients, modern clients are generally much easier to use and more Ruby-like, support more advanced features such as streaming and long-running operations, and often provide much better performance. You may consider using a simple client instead, if a modern client is not yet available for the service you want to use, or if you are not able to use gRPC on your infrastructure.
81
+
82
+ The [product documentation](https://developers.google.com/android/work/play/emm-api) 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/androidenterprise_v1"
@@ -0,0 +1,36 @@
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/androidenterprise_v1/service.rb'
16
+ require 'google/apis/androidenterprise_v1/classes.rb'
17
+ require 'google/apis/androidenterprise_v1/representations.rb'
18
+ require 'google/apis/androidenterprise_v1/gem_version.rb'
19
+
20
+ module Google
21
+ module Apis
22
+ # Google Play EMM API
23
+ #
24
+ # Manages the deployment of apps to Android Enterprise devices.
25
+ #
26
+ # @see https://developers.google.com/android/work/play/emm-api
27
+ module AndroidenterpriseV1
28
+ # Version of the Google Play EMM API this client connects to.
29
+ # This is NOT the gem version.
30
+ VERSION = 'V1'
31
+
32
+ # Manage corporate Android devices
33
+ AUTH_ANDROIDENTERPRISE = 'https://www.googleapis.com/auth/androidenterprise'
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,2934 @@
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 AndroidenterpriseV1
24
+
25
+ # This represents an enterprise admin who can manage the enterprise in the
26
+ # managed Google Play store.
27
+ class Administrator
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # The admin's email address.
31
+ # Corresponds to the JSON property `email`
32
+ # @return [String]
33
+ attr_accessor :email
34
+
35
+ def initialize(**args)
36
+ update!(**args)
37
+ end
38
+
39
+ # Update properties of this object
40
+ def update!(**args)
41
+ @email = args[:email] if args.key?(:email)
42
+ end
43
+ end
44
+
45
+ # A token authorizing an admin to access an iframe.
46
+ class AdministratorWebToken
47
+ include Google::Apis::Core::Hashable
48
+
49
+ # An opaque token to be passed to the Play front-end to generate an iframe.
50
+ # Corresponds to the JSON property `token`
51
+ # @return [String]
52
+ attr_accessor :token
53
+
54
+ def initialize(**args)
55
+ update!(**args)
56
+ end
57
+
58
+ # Update properties of this object
59
+ def update!(**args)
60
+ @token = args[:token] if args.key?(:token)
61
+ end
62
+ end
63
+
64
+ # Specification for a token used to generate iframes. The token specifies what
65
+ # data the admin is allowed to modify and the URI the iframe is allowed to
66
+ # communiate with.
67
+ class AdministratorWebTokenSpec
68
+ include Google::Apis::Core::Hashable
69
+
70
+ # Options for displaying the Managed Configuration page.
71
+ # Corresponds to the JSON property `managedConfigurations`
72
+ # @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecManagedConfigurations]
73
+ attr_accessor :managed_configurations
74
+
75
+ # The URI of the parent frame hosting the iframe. To prevent XSS, the iframe may
76
+ # not be hosted at other URIs. This URI must be https. Use whitespaces to
77
+ # separate multiple parent URIs.
78
+ # Corresponds to the JSON property `parent`
79
+ # @return [String]
80
+ attr_accessor :parent
81
+
82
+ # Deprecated. Use PlaySearch.approveApps.
83
+ # Corresponds to the JSON property `permission`
84
+ # @return [Array<String>]
85
+ attr_accessor :permission
86
+
87
+ # Options for displaying the managed Play Search apps page.
88
+ # Corresponds to the JSON property `playSearch`
89
+ # @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecPlaySearch]
90
+ attr_accessor :play_search
91
+
92
+ # Options for displaying the Private Apps page.
93
+ # Corresponds to the JSON property `privateApps`
94
+ # @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecPrivateApps]
95
+ attr_accessor :private_apps
96
+
97
+ # Options for displaying the Organize apps page.
98
+ # Corresponds to the JSON property `storeBuilder`
99
+ # @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecStoreBuilder]
100
+ attr_accessor :store_builder
101
+
102
+ # Options for displaying the Web Apps page.
103
+ # Corresponds to the JSON property `webApps`
104
+ # @return [Google::Apis::AndroidenterpriseV1::AdministratorWebTokenSpecWebApps]
105
+ attr_accessor :web_apps
106
+
107
+ def initialize(**args)
108
+ update!(**args)
109
+ end
110
+
111
+ # Update properties of this object
112
+ def update!(**args)
113
+ @managed_configurations = args[:managed_configurations] if args.key?(:managed_configurations)
114
+ @parent = args[:parent] if args.key?(:parent)
115
+ @permission = args[:permission] if args.key?(:permission)
116
+ @play_search = args[:play_search] if args.key?(:play_search)
117
+ @private_apps = args[:private_apps] if args.key?(:private_apps)
118
+ @store_builder = args[:store_builder] if args.key?(:store_builder)
119
+ @web_apps = args[:web_apps] if args.key?(:web_apps)
120
+ end
121
+ end
122
+
123
+ #
124
+ class AdministratorWebTokenSpecManagedConfigurations
125
+ include Google::Apis::Core::Hashable
126
+
127
+ # Whether the Managed Configuration page is displayed. Default is true.
128
+ # Corresponds to the JSON property `enabled`
129
+ # @return [Boolean]
130
+ attr_accessor :enabled
131
+ alias_method :enabled?, :enabled
132
+
133
+ def initialize(**args)
134
+ update!(**args)
135
+ end
136
+
137
+ # Update properties of this object
138
+ def update!(**args)
139
+ @enabled = args[:enabled] if args.key?(:enabled)
140
+ end
141
+ end
142
+
143
+ #
144
+ class AdministratorWebTokenSpecPlaySearch
145
+ include Google::Apis::Core::Hashable
146
+
147
+ # Allow access to the iframe in approve mode. Default is false.
148
+ # Corresponds to the JSON property `approveApps`
149
+ # @return [Boolean]
150
+ attr_accessor :approve_apps
151
+ alias_method :approve_apps?, :approve_apps
152
+
153
+ # Whether the managed Play Search apps page is displayed. Default is true.
154
+ # Corresponds to the JSON property `enabled`
155
+ # @return [Boolean]
156
+ attr_accessor :enabled
157
+ alias_method :enabled?, :enabled
158
+
159
+ def initialize(**args)
160
+ update!(**args)
161
+ end
162
+
163
+ # Update properties of this object
164
+ def update!(**args)
165
+ @approve_apps = args[:approve_apps] if args.key?(:approve_apps)
166
+ @enabled = args[:enabled] if args.key?(:enabled)
167
+ end
168
+ end
169
+
170
+ #
171
+ class AdministratorWebTokenSpecPrivateApps
172
+ include Google::Apis::Core::Hashable
173
+
174
+ # Whether the Private Apps page is displayed. Default is true.
175
+ # Corresponds to the JSON property `enabled`
176
+ # @return [Boolean]
177
+ attr_accessor :enabled
178
+ alias_method :enabled?, :enabled
179
+
180
+ def initialize(**args)
181
+ update!(**args)
182
+ end
183
+
184
+ # Update properties of this object
185
+ def update!(**args)
186
+ @enabled = args[:enabled] if args.key?(:enabled)
187
+ end
188
+ end
189
+
190
+ #
191
+ class AdministratorWebTokenSpecStoreBuilder
192
+ include Google::Apis::Core::Hashable
193
+
194
+ # Whether the Organize apps page is displayed. Default is true.
195
+ # Corresponds to the JSON property `enabled`
196
+ # @return [Boolean]
197
+ attr_accessor :enabled
198
+ alias_method :enabled?, :enabled
199
+
200
+ def initialize(**args)
201
+ update!(**args)
202
+ end
203
+
204
+ # Update properties of this object
205
+ def update!(**args)
206
+ @enabled = args[:enabled] if args.key?(:enabled)
207
+ end
208
+ end
209
+
210
+ #
211
+ class AdministratorWebTokenSpecWebApps
212
+ include Google::Apis::Core::Hashable
213
+
214
+ # Whether the Web Apps page is displayed. Default is true.
215
+ # Corresponds to the JSON property `enabled`
216
+ # @return [Boolean]
217
+ attr_accessor :enabled
218
+ alias_method :enabled?, :enabled
219
+
220
+ def initialize(**args)
221
+ update!(**args)
222
+ end
223
+
224
+ # Update properties of this object
225
+ def update!(**args)
226
+ @enabled = args[:enabled] if args.key?(:enabled)
227
+ end
228
+ end
229
+
230
+ # Represents the list of app restrictions available to be pre-configured for the
231
+ # product.
232
+ class AppRestrictionsSchema
233
+ include Google::Apis::Core::Hashable
234
+
235
+ # Deprecated.
236
+ # Corresponds to the JSON property `kind`
237
+ # @return [String]
238
+ attr_accessor :kind
239
+
240
+ # The set of restrictions that make up this schema.
241
+ # Corresponds to the JSON property `restrictions`
242
+ # @return [Array<Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestriction>]
243
+ attr_accessor :restrictions
244
+
245
+ def initialize(**args)
246
+ update!(**args)
247
+ end
248
+
249
+ # Update properties of this object
250
+ def update!(**args)
251
+ @kind = args[:kind] if args.key?(:kind)
252
+ @restrictions = args[:restrictions] if args.key?(:restrictions)
253
+ end
254
+ end
255
+
256
+ # An event generated when a new app version is uploaded to Google Play and its
257
+ # app restrictions schema changed. To fetch the app restrictions schema for an
258
+ # app, use Products.getAppRestrictionsSchema on the EMM API.
259
+ class AppRestrictionsSchemaChangeEvent
260
+ include Google::Apis::Core::Hashable
261
+
262
+ # The id of the product (e.g. "app:com.google.android.gm") for which the app
263
+ # restriction schema changed. This field will always be present.
264
+ # Corresponds to the JSON property `productId`
265
+ # @return [String]
266
+ attr_accessor :product_id
267
+
268
+ def initialize(**args)
269
+ update!(**args)
270
+ end
271
+
272
+ # Update properties of this object
273
+ def update!(**args)
274
+ @product_id = args[:product_id] if args.key?(:product_id)
275
+ end
276
+ end
277
+
278
+ # A restriction in the App Restriction Schema represents a piece of
279
+ # configuration that may be pre-applied.
280
+ class AppRestrictionsSchemaRestriction
281
+ include Google::Apis::Core::Hashable
282
+
283
+ # A typed value for the restriction.
284
+ # Corresponds to the JSON property `defaultValue`
285
+ # @return [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestrictionRestrictionValue]
286
+ attr_accessor :default_value
287
+
288
+ # A longer description of the restriction, giving more detail of what it affects.
289
+ # Corresponds to the JSON property `description`
290
+ # @return [String]
291
+ attr_accessor :description
292
+
293
+ # For choice or multiselect restrictions, the list of possible entries' human-
294
+ # readable names.
295
+ # Corresponds to the JSON property `entry`
296
+ # @return [Array<String>]
297
+ attr_accessor :entry
298
+
299
+ # For choice or multiselect restrictions, the list of possible entries' machine-
300
+ # readable values. These values should be used in the configuration, either as a
301
+ # single string value for a choice restriction or in a stringArray for a
302
+ # multiselect restriction.
303
+ # Corresponds to the JSON property `entryValue`
304
+ # @return [Array<String>]
305
+ attr_accessor :entry_value
306
+
307
+ # The unique key that the product uses to identify the restriction, e.g. "com.
308
+ # google.android.gm.fieldname".
309
+ # Corresponds to the JSON property `key`
310
+ # @return [String]
311
+ attr_accessor :key
312
+
313
+ # For bundle or bundleArray restrictions, the list of nested restrictions. A
314
+ # bundle restriction is always nested within a bundleArray restriction, and a
315
+ # bundleArray restriction is at most two levels deep.
316
+ # Corresponds to the JSON property `nestedRestriction`
317
+ # @return [Array<Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaRestriction>]
318
+ attr_accessor :nested_restriction
319
+
320
+ # The type of the restriction.
321
+ # Corresponds to the JSON property `restrictionType`
322
+ # @return [String]
323
+ attr_accessor :restriction_type
324
+
325
+ # The name of the restriction.
326
+ # Corresponds to the JSON property `title`
327
+ # @return [String]
328
+ attr_accessor :title
329
+
330
+ def initialize(**args)
331
+ update!(**args)
332
+ end
333
+
334
+ # Update properties of this object
335
+ def update!(**args)
336
+ @default_value = args[:default_value] if args.key?(:default_value)
337
+ @description = args[:description] if args.key?(:description)
338
+ @entry = args[:entry] if args.key?(:entry)
339
+ @entry_value = args[:entry_value] if args.key?(:entry_value)
340
+ @key = args[:key] if args.key?(:key)
341
+ @nested_restriction = args[:nested_restriction] if args.key?(:nested_restriction)
342
+ @restriction_type = args[:restriction_type] if args.key?(:restriction_type)
343
+ @title = args[:title] if args.key?(:title)
344
+ end
345
+ end
346
+
347
+ # A typed value for the restriction.
348
+ class AppRestrictionsSchemaRestrictionRestrictionValue
349
+ include Google::Apis::Core::Hashable
350
+
351
+ # The type of the value being provided.
352
+ # Corresponds to the JSON property `type`
353
+ # @return [String]
354
+ attr_accessor :type
355
+
356
+ # The boolean value - this will only be present if type is bool.
357
+ # Corresponds to the JSON property `valueBool`
358
+ # @return [Boolean]
359
+ attr_accessor :value_bool
360
+ alias_method :value_bool?, :value_bool
361
+
362
+ # The integer value - this will only be present if type is integer.
363
+ # Corresponds to the JSON property `valueInteger`
364
+ # @return [Fixnum]
365
+ attr_accessor :value_integer
366
+
367
+ # The list of string values - this will only be present if type is multiselect.
368
+ # Corresponds to the JSON property `valueMultiselect`
369
+ # @return [Array<String>]
370
+ attr_accessor :value_multiselect
371
+
372
+ # The string value - this will be present for types string, choice and hidden.
373
+ # Corresponds to the JSON property `valueString`
374
+ # @return [String]
375
+ attr_accessor :value_string
376
+
377
+ def initialize(**args)
378
+ update!(**args)
379
+ end
380
+
381
+ # Update properties of this object
382
+ def update!(**args)
383
+ @type = args[:type] if args.key?(:type)
384
+ @value_bool = args[:value_bool] if args.key?(:value_bool)
385
+ @value_integer = args[:value_integer] if args.key?(:value_integer)
386
+ @value_multiselect = args[:value_multiselect] if args.key?(:value_multiselect)
387
+ @value_string = args[:value_string] if args.key?(:value_string)
388
+ end
389
+ end
390
+
391
+ # List of states set by the app.
392
+ class AppState
393
+ include Google::Apis::Core::Hashable
394
+
395
+ # List of keyed app states. This field will always be present.
396
+ # Corresponds to the JSON property `keyedAppState`
397
+ # @return [Array<Google::Apis::AndroidenterpriseV1::KeyedAppState>]
398
+ attr_accessor :keyed_app_state
399
+
400
+ # The package name of the app. This field will always be present.
401
+ # Corresponds to the JSON property `packageName`
402
+ # @return [String]
403
+ attr_accessor :package_name
404
+
405
+ def initialize(**args)
406
+ update!(**args)
407
+ end
408
+
409
+ # Update properties of this object
410
+ def update!(**args)
411
+ @keyed_app_state = args[:keyed_app_state] if args.key?(:keyed_app_state)
412
+ @package_name = args[:package_name] if args.key?(:package_name)
413
+ end
414
+ end
415
+
416
+ # An event generated when a new version of an app is uploaded to Google Play.
417
+ # Notifications are sent for new public versions only: alpha, beta, or canary
418
+ # versions do not generate this event. To fetch up-to-date version history for
419
+ # an app, use Products.Get on the EMM API.
420
+ class AppUpdateEvent
421
+ include Google::Apis::Core::Hashable
422
+
423
+ # The id of the product (e.g. "app:com.google.android.gm") that was updated.
424
+ # This field will always be present.
425
+ # Corresponds to the JSON property `productId`
426
+ # @return [String]
427
+ attr_accessor :product_id
428
+
429
+ def initialize(**args)
430
+ update!(**args)
431
+ end
432
+
433
+ # Update properties of this object
434
+ def update!(**args)
435
+ @product_id = args[:product_id] if args.key?(:product_id)
436
+ end
437
+ end
438
+
439
+ # This represents a single version of the app.
440
+ class AppVersion
441
+ include Google::Apis::Core::Hashable
442
+
443
+ # True if this version is a production APK.
444
+ # Corresponds to the JSON property `isProduction`
445
+ # @return [Boolean]
446
+ attr_accessor :is_production
447
+ alias_method :is_production?, :is_production
448
+
449
+ # Deprecated, use trackId instead.
450
+ # Corresponds to the JSON property `track`
451
+ # @return [String]
452
+ attr_accessor :track
453
+
454
+ # Track ids that the app version is published in. Replaces the track field (
455
+ # deprecated), but doesn't include the production track (see isProduction
456
+ # instead).
457
+ # Corresponds to the JSON property `trackId`
458
+ # @return [Array<String>]
459
+ attr_accessor :track_id
460
+
461
+ # Unique increasing identifier for the app version.
462
+ # Corresponds to the JSON property `versionCode`
463
+ # @return [Fixnum]
464
+ attr_accessor :version_code
465
+
466
+ # The string used in the Play store by the app developer to identify the version.
467
+ # The string is not necessarily unique or localized (for example, the string
468
+ # could be "1.4").
469
+ # Corresponds to the JSON property `versionString`
470
+ # @return [String]
471
+ attr_accessor :version_string
472
+
473
+ def initialize(**args)
474
+ update!(**args)
475
+ end
476
+
477
+ # Update properties of this object
478
+ def update!(**args)
479
+ @is_production = args[:is_production] if args.key?(:is_production)
480
+ @track = args[:track] if args.key?(:track)
481
+ @track_id = args[:track_id] if args.key?(:track_id)
482
+ @version_code = args[:version_code] if args.key?(:version_code)
483
+ @version_string = args[:version_string] if args.key?(:version_string)
484
+ end
485
+ end
486
+
487
+ # Information on an approval URL.
488
+ class ApprovalUrlInfo
489
+ include Google::Apis::Core::Hashable
490
+
491
+ # A URL that displays a product's permissions and that can also be used to
492
+ # approve the product with the Products.approve call.
493
+ # Corresponds to the JSON property `approvalUrl`
494
+ # @return [String]
495
+ attr_accessor :approval_url
496
+
497
+ def initialize(**args)
498
+ update!(**args)
499
+ end
500
+
501
+ # Update properties of this object
502
+ def update!(**args)
503
+ @approval_url = args[:approval_url] if args.key?(:approval_url)
504
+ end
505
+ end
506
+
507
+ # An AuthenticationToken is used by the EMM's device policy client on a device
508
+ # to provision the given EMM-managed user on that device.
509
+ class AuthenticationToken
510
+ include Google::Apis::Core::Hashable
511
+
512
+ # The authentication token to be passed to the device policy client on the
513
+ # device where it can be used to provision the account for which this token was
514
+ # generated.
515
+ # Corresponds to the JSON property `token`
516
+ # @return [String]
517
+ attr_accessor :token
518
+
519
+ def initialize(**args)
520
+ update!(**args)
521
+ end
522
+
523
+ # Update properties of this object
524
+ def update!(**args)
525
+ @token = args[:token] if args.key?(:token)
526
+ end
527
+ end
528
+
529
+ # The auto-install constraint. Defines a set of restrictions for installation.
530
+ # At least one of the fields must be set.
531
+ class AutoInstallConstraint
532
+ include Google::Apis::Core::Hashable
533
+
534
+ # Charging state constraint.
535
+ # Corresponds to the JSON property `chargingStateConstraint`
536
+ # @return [String]
537
+ attr_accessor :charging_state_constraint
538
+
539
+ # Device idle state constraint.
540
+ # Corresponds to the JSON property `deviceIdleStateConstraint`
541
+ # @return [String]
542
+ attr_accessor :device_idle_state_constraint
543
+
544
+ # Network type constraint.
545
+ # Corresponds to the JSON property `networkTypeConstraint`
546
+ # @return [String]
547
+ attr_accessor :network_type_constraint
548
+
549
+ def initialize(**args)
550
+ update!(**args)
551
+ end
552
+
553
+ # Update properties of this object
554
+ def update!(**args)
555
+ @charging_state_constraint = args[:charging_state_constraint] if args.key?(:charging_state_constraint)
556
+ @device_idle_state_constraint = args[:device_idle_state_constraint] if args.key?(:device_idle_state_constraint)
557
+ @network_type_constraint = args[:network_type_constraint] if args.key?(:network_type_constraint)
558
+ end
559
+ end
560
+
561
+ #
562
+ class AutoInstallPolicy
563
+ include Google::Apis::Core::Hashable
564
+
565
+ # The constraints for auto-installing the app. You can specify a maximum of one
566
+ # constraint.
567
+ # Corresponds to the JSON property `autoInstallConstraint`
568
+ # @return [Array<Google::Apis::AndroidenterpriseV1::AutoInstallConstraint>]
569
+ attr_accessor :auto_install_constraint
570
+
571
+ # The auto-install mode. If unset defaults to "doNotAutoInstall".
572
+ # Corresponds to the JSON property `autoInstallMode`
573
+ # @return [String]
574
+ attr_accessor :auto_install_mode
575
+
576
+ # The priority of the install, as an unsigned integer. A lower number means
577
+ # higher priority.
578
+ # Corresponds to the JSON property `autoInstallPriority`
579
+ # @return [Fixnum]
580
+ attr_accessor :auto_install_priority
581
+
582
+ # The minimum version of the app. If a lower version of the app is installed,
583
+ # then the app will be auto-updated according to the auto-install constraints,
584
+ # instead of waiting for the regular auto-update. You can set a minimum version
585
+ # code for at most 20 apps per device.
586
+ # Corresponds to the JSON property `minimumVersionCode`
587
+ # @return [Fixnum]
588
+ attr_accessor :minimum_version_code
589
+
590
+ def initialize(**args)
591
+ update!(**args)
592
+ end
593
+
594
+ # Update properties of this object
595
+ def update!(**args)
596
+ @auto_install_constraint = args[:auto_install_constraint] if args.key?(:auto_install_constraint)
597
+ @auto_install_mode = args[:auto_install_mode] if args.key?(:auto_install_mode)
598
+ @auto_install_priority = args[:auto_install_priority] if args.key?(:auto_install_priority)
599
+ @minimum_version_code = args[:minimum_version_code] if args.key?(:minimum_version_code)
600
+ end
601
+ end
602
+
603
+ # A configuration variables resource contains the managed configuration settings
604
+ # ID to be applied to a single user, as well as the variable set that is
605
+ # attributed to the user. The variable set will be used to replace placeholders
606
+ # in the managed configuration settings.
607
+ class ConfigurationVariables
608
+ include Google::Apis::Core::Hashable
609
+
610
+ # The ID of the managed configurations settings.
611
+ # Corresponds to the JSON property `mcmId`
612
+ # @return [String]
613
+ attr_accessor :mcm_id
614
+
615
+ # The variable set that is attributed to the user.
616
+ # Corresponds to the JSON property `variableSet`
617
+ # @return [Array<Google::Apis::AndroidenterpriseV1::VariableSet>]
618
+ attr_accessor :variable_set
619
+
620
+ def initialize(**args)
621
+ update!(**args)
622
+ end
623
+
624
+ # Update properties of this object
625
+ def update!(**args)
626
+ @mcm_id = args[:mcm_id] if args.key?(:mcm_id)
627
+ @variable_set = args[:variable_set] if args.key?(:variable_set)
628
+ end
629
+ end
630
+
631
+ # A Devices resource represents a mobile device managed by the EMM and belonging
632
+ # to a specific enterprise user.
633
+ class Device
634
+ include Google::Apis::Core::Hashable
635
+
636
+ # The Google Play Services Android ID for the device encoded as a lowercase hex
637
+ # string. For example, "123456789abcdef0".
638
+ # Corresponds to the JSON property `androidId`
639
+ # @return [String]
640
+ attr_accessor :android_id
641
+
642
+ # Identifies the extent to which the device is controlled by a managed Google
643
+ # Play EMM in various deployment configurations. Possible values include: - "
644
+ # managedDevice", a device that has the EMM's device policy controller (DPC) as
645
+ # the device owner. - "managedProfile", a device that has a profile managed by
646
+ # the DPC (DPC is profile owner) in addition to a separate, personal profile
647
+ # that is unavailable to the DPC. - "containerApp", no longer used (deprecated).
648
+ # - "unmanagedProfile", a device that has been allowed (by the domain's admin,
649
+ # using the Admin Console to enable the privilege) to use managed Google Play,
650
+ # but the profile is itself not owned by a DPC.
651
+ # Corresponds to the JSON property `managementType`
652
+ # @return [String]
653
+ attr_accessor :management_type
654
+
655
+ # The device policy for a given managed device.
656
+ # Corresponds to the JSON property `policy`
657
+ # @return [Google::Apis::AndroidenterpriseV1::Policy]
658
+ attr_accessor :policy
659
+
660
+ # Device report updated with the latest app states for managed apps on the
661
+ # device.
662
+ # Corresponds to the JSON property `report`
663
+ # @return [Google::Apis::AndroidenterpriseV1::DeviceReport]
664
+ attr_accessor :report
665
+
666
+ def initialize(**args)
667
+ update!(**args)
668
+ end
669
+
670
+ # Update properties of this object
671
+ def update!(**args)
672
+ @android_id = args[:android_id] if args.key?(:android_id)
673
+ @management_type = args[:management_type] if args.key?(:management_type)
674
+ @policy = args[:policy] if args.key?(:policy)
675
+ @report = args[:report] if args.key?(:report)
676
+ end
677
+ end
678
+
679
+ # Device report updated with the latest app states for managed apps on the
680
+ # device.
681
+ class DeviceReport
682
+ include Google::Apis::Core::Hashable
683
+
684
+ # List of app states set by managed apps on the device. App states are defined
685
+ # by the app's developers. This field will always be present.
686
+ # Corresponds to the JSON property `appState`
687
+ # @return [Array<Google::Apis::AndroidenterpriseV1::AppState>]
688
+ attr_accessor :app_state
689
+
690
+ # The timestamp of the last report update in milliseconds since epoch. This
691
+ # field will always be present.
692
+ # Corresponds to the JSON property `lastUpdatedTimestampMillis`
693
+ # @return [Fixnum]
694
+ attr_accessor :last_updated_timestamp_millis
695
+
696
+ def initialize(**args)
697
+ update!(**args)
698
+ end
699
+
700
+ # Update properties of this object
701
+ def update!(**args)
702
+ @app_state = args[:app_state] if args.key?(:app_state)
703
+ @last_updated_timestamp_millis = args[:last_updated_timestamp_millis] if args.key?(:last_updated_timestamp_millis)
704
+ end
705
+ end
706
+
707
+ # An event generated when an updated device report is available.
708
+ class DeviceReportUpdateEvent
709
+ include Google::Apis::Core::Hashable
710
+
711
+ # The Android ID of the device. This field will always be present.
712
+ # Corresponds to the JSON property `deviceId`
713
+ # @return [String]
714
+ attr_accessor :device_id
715
+
716
+ # Device report updated with the latest app states for managed apps on the
717
+ # device.
718
+ # Corresponds to the JSON property `report`
719
+ # @return [Google::Apis::AndroidenterpriseV1::DeviceReport]
720
+ attr_accessor :report
721
+
722
+ # The ID of the user. This field will always be present.
723
+ # Corresponds to the JSON property `userId`
724
+ # @return [String]
725
+ attr_accessor :user_id
726
+
727
+ def initialize(**args)
728
+ update!(**args)
729
+ end
730
+
731
+ # Update properties of this object
732
+ def update!(**args)
733
+ @device_id = args[:device_id] if args.key?(:device_id)
734
+ @report = args[:report] if args.key?(:report)
735
+ @user_id = args[:user_id] if args.key?(:user_id)
736
+ end
737
+ end
738
+
739
+ # The state of a user's device, as accessed by the getState and setState methods
740
+ # on device resources.
741
+ class DeviceState
742
+ include Google::Apis::Core::Hashable
743
+
744
+ # The state of the Google account on the device. "enabled" indicates that the
745
+ # Google account on the device can be used to access Google services (including
746
+ # Google Play), while "disabled" means that it cannot. A new device is initially
747
+ # in the "disabled" state.
748
+ # Corresponds to the JSON property `accountState`
749
+ # @return [String]
750
+ attr_accessor :account_state
751
+
752
+ def initialize(**args)
753
+ update!(**args)
754
+ end
755
+
756
+ # Update properties of this object
757
+ def update!(**args)
758
+ @account_state = args[:account_state] if args.key?(:account_state)
759
+ end
760
+ end
761
+
762
+ #
763
+ class ListDevicesResponse
764
+ include Google::Apis::Core::Hashable
765
+
766
+ # A managed device.
767
+ # Corresponds to the JSON property `device`
768
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Device>]
769
+ attr_accessor :device
770
+
771
+ def initialize(**args)
772
+ update!(**args)
773
+ end
774
+
775
+ # Update properties of this object
776
+ def update!(**args)
777
+ @device = args[:device] if args.key?(:device)
778
+ end
779
+ end
780
+
781
+ # An Enterprises resource represents the binding between an EMM and a specific
782
+ # organization. That binding can be instantiated in one of two different ways
783
+ # using this API as follows: - For Google managed domain customers, the process
784
+ # involves using Enterprises.enroll and Enterprises.setAccount (in conjunction
785
+ # with artifacts obtained from the Admin console and the Google API Console) and
786
+ # submitted to the EMM through a more-or-less manual process. - For managed
787
+ # Google Play Accounts customers, the process involves using Enterprises.
788
+ # generateSignupUrl and Enterprises.completeSignup in conjunction with the
789
+ # managed Google Play sign-up UI (Google-provided mechanism) to create the
790
+ # binding without manual steps. As an EMM, you can support either or both
791
+ # approaches in your EMM console. See Create an Enterprise for details.
792
+ class Enterprise
793
+ include Google::Apis::Core::Hashable
794
+
795
+ # Admins of the enterprise. This is only supported for enterprises created via
796
+ # the EMM-initiated flow.
797
+ # Corresponds to the JSON property `administrator`
798
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Administrator>]
799
+ attr_accessor :administrator
800
+
801
+ # The unique ID for the enterprise.
802
+ # Corresponds to the JSON property `id`
803
+ # @return [String]
804
+ attr_accessor :id
805
+
806
+ # The name of the enterprise, for example, "Example, Inc".
807
+ # Corresponds to the JSON property `name`
808
+ # @return [String]
809
+ attr_accessor :name
810
+
811
+ # The enterprise's primary domain, such as "example.com".
812
+ # Corresponds to the JSON property `primaryDomain`
813
+ # @return [String]
814
+ attr_accessor :primary_domain
815
+
816
+ def initialize(**args)
817
+ update!(**args)
818
+ end
819
+
820
+ # Update properties of this object
821
+ def update!(**args)
822
+ @administrator = args[:administrator] if args.key?(:administrator)
823
+ @id = args[:id] if args.key?(:id)
824
+ @name = args[:name] if args.key?(:name)
825
+ @primary_domain = args[:primary_domain] if args.key?(:primary_domain)
826
+ end
827
+ end
828
+
829
+ # A service account that can be used to authenticate as the enterprise to API
830
+ # calls that require such authentication.
831
+ class EnterpriseAccount
832
+ include Google::Apis::Core::Hashable
833
+
834
+ # The email address of the service account.
835
+ # Corresponds to the JSON property `accountEmail`
836
+ # @return [String]
837
+ attr_accessor :account_email
838
+
839
+ def initialize(**args)
840
+ update!(**args)
841
+ end
842
+
843
+ # Update properties of this object
844
+ def update!(**args)
845
+ @account_email = args[:account_email] if args.key?(:account_email)
846
+ end
847
+ end
848
+
849
+ #
850
+ class ListEnterprisesResponse
851
+ include Google::Apis::Core::Hashable
852
+
853
+ # An enterprise.
854
+ # Corresponds to the JSON property `enterprise`
855
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Enterprise>]
856
+ attr_accessor :enterprise
857
+
858
+ def initialize(**args)
859
+ update!(**args)
860
+ end
861
+
862
+ # Update properties of this object
863
+ def update!(**args)
864
+ @enterprise = args[:enterprise] if args.key?(:enterprise)
865
+ end
866
+ end
867
+
868
+ #
869
+ class SendTestPushNotificationResponse
870
+ include Google::Apis::Core::Hashable
871
+
872
+ # The message ID of the test push notification that was sent.
873
+ # Corresponds to the JSON property `messageId`
874
+ # @return [String]
875
+ attr_accessor :message_id
876
+
877
+ # The name of the Cloud Pub/Sub topic to which notifications for this enterprise'
878
+ # s enrolled account will be sent.
879
+ # Corresponds to the JSON property `topicName`
880
+ # @return [String]
881
+ attr_accessor :topic_name
882
+
883
+ def initialize(**args)
884
+ update!(**args)
885
+ end
886
+
887
+ # Update properties of this object
888
+ def update!(**args)
889
+ @message_id = args[:message_id] if args.key?(:message_id)
890
+ @topic_name = args[:topic_name] if args.key?(:topic_name)
891
+ end
892
+ end
893
+
894
+ # The presence of an Entitlements resource indicates that a user has the right
895
+ # to use a particular app. Entitlements are user specific, not device specific.
896
+ # This allows a user with an entitlement to an app to install the app on all
897
+ # their devices. It's also possible for a user to hold an entitlement to an app
898
+ # without installing the app on any device. The API can be used to create an
899
+ # entitlement. As an option, you can also use the API to trigger the
900
+ # installation of an app on all a user's managed devices at the same time the
901
+ # entitlement is created. If the app is free, creating the entitlement also
902
+ # creates a group license for that app. For paid apps, creating the entitlement
903
+ # consumes one license, and that license remains consumed until the entitlement
904
+ # is removed. If the enterprise hasn't purchased enough licenses, then no
905
+ # entitlement is created and the installation fails. An entitlement is also not
906
+ # created for an app if the app requires permissions that the enterprise hasn't
907
+ # accepted. If an entitlement is deleted, the app may be uninstalled from a user'
908
+ # s device. As a best practice, uninstall the app by calling Installs.delete()
909
+ # before deleting the entitlement. Entitlements for apps that a user pays for on
910
+ # an unmanaged profile have "userPurchase" as the entitlement reason. These
911
+ # entitlements cannot be removed via the API.
912
+ class Entitlement
913
+ include Google::Apis::Core::Hashable
914
+
915
+ # The ID of the product that the entitlement is for. For example, "app:com.
916
+ # google.android.gm".
917
+ # Corresponds to the JSON property `productId`
918
+ # @return [String]
919
+ attr_accessor :product_id
920
+
921
+ # The reason for the entitlement. For example, "free" for free apps. This
922
+ # property is temporary: it will be replaced by the acquisition kind field of
923
+ # group licenses.
924
+ # Corresponds to the JSON property `reason`
925
+ # @return [String]
926
+ attr_accessor :reason
927
+
928
+ def initialize(**args)
929
+ update!(**args)
930
+ end
931
+
932
+ # Update properties of this object
933
+ def update!(**args)
934
+ @product_id = args[:product_id] if args.key?(:product_id)
935
+ @reason = args[:reason] if args.key?(:reason)
936
+ end
937
+ end
938
+
939
+ #
940
+ class ListEntitlementsResponse
941
+ include Google::Apis::Core::Hashable
942
+
943
+ # An entitlement of a user to a product (e.g. an app). For example, a free app
944
+ # that they have installed, or a paid app that they have been allocated a
945
+ # license to.
946
+ # Corresponds to the JSON property `entitlement`
947
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Entitlement>]
948
+ attr_accessor :entitlement
949
+
950
+ def initialize(**args)
951
+ update!(**args)
952
+ end
953
+
954
+ # Update properties of this object
955
+ def update!(**args)
956
+ @entitlement = args[:entitlement] if args.key?(:entitlement)
957
+ end
958
+ end
959
+
960
+ # Group license objects allow you to keep track of licenses (called entitlements)
961
+ # for both free and paid apps. For a free app, a group license is created when
962
+ # an enterprise admin first approves the product in Google Play or when the
963
+ # first entitlement for the product is created for a user via the API. For a
964
+ # paid app, a group license object is only created when an enterprise admin
965
+ # purchases the product in Google Play for the first time. Use the API to query
966
+ # group licenses. A Grouplicenses resource includes the total number of licenses
967
+ # purchased (paid apps only) and the total number of licenses currently in use.
968
+ # In other words, the total number of Entitlements that exist for the product.
969
+ # Only one group license object is created per product and group license objects
970
+ # are never deleted. If a product is unapproved, its group license remains. This
971
+ # allows enterprise admins to keep track of any remaining entitlements for the
972
+ # product.
973
+ class GroupLicense
974
+ include Google::Apis::Core::Hashable
975
+
976
+ # How this group license was acquired. "bulkPurchase" means that this
977
+ # Grouplicenses resource was created because the enterprise purchased licenses
978
+ # for this product; otherwise, the value is "free" (for free products).
979
+ # Corresponds to the JSON property `acquisitionKind`
980
+ # @return [String]
981
+ attr_accessor :acquisition_kind
982
+
983
+ # Whether the product to which this group license relates is currently approved
984
+ # by the enterprise. Products are approved when a group license is first created,
985
+ # but this approval may be revoked by an enterprise admin via Google Play.
986
+ # Unapproved products will not be visible to end users in collections, and new
987
+ # entitlements to them should not normally be created.
988
+ # Corresponds to the JSON property `approval`
989
+ # @return [String]
990
+ attr_accessor :approval
991
+
992
+ # The total number of provisioned licenses for this product. Returned by read
993
+ # operations, but ignored in write operations.
994
+ # Corresponds to the JSON property `numProvisioned`
995
+ # @return [Fixnum]
996
+ attr_accessor :num_provisioned
997
+
998
+ # The number of purchased licenses (possibly in multiple purchases). If this
999
+ # field is omitted, then there is no limit on the number of licenses that can be
1000
+ # provisioned (for example, if the acquisition kind is "free").
1001
+ # Corresponds to the JSON property `numPurchased`
1002
+ # @return [Fixnum]
1003
+ attr_accessor :num_purchased
1004
+
1005
+ # The permission approval status of the product. This field is only set if the
1006
+ # product is approved. Possible states are: - "currentApproved", the current set
1007
+ # of permissions is approved, but additional permissions will require the
1008
+ # administrator to reapprove the product (If the product was approved without
1009
+ # specifying the approved permissions setting, then this is the default behavior.
1010
+ # ), - "needsReapproval", the product has unapproved permissions. No additional
1011
+ # product licenses can be assigned until the product is reapproved, - "
1012
+ # allCurrentAndFutureApproved", the current permissions are approved and any
1013
+ # future permission updates will be automatically approved without administrator
1014
+ # review.
1015
+ # Corresponds to the JSON property `permissions`
1016
+ # @return [String]
1017
+ attr_accessor :permissions
1018
+
1019
+ # The ID of the product that the license is for. For example, "app:com.google.
1020
+ # android.gm".
1021
+ # Corresponds to the JSON property `productId`
1022
+ # @return [String]
1023
+ attr_accessor :product_id
1024
+
1025
+ def initialize(**args)
1026
+ update!(**args)
1027
+ end
1028
+
1029
+ # Update properties of this object
1030
+ def update!(**args)
1031
+ @acquisition_kind = args[:acquisition_kind] if args.key?(:acquisition_kind)
1032
+ @approval = args[:approval] if args.key?(:approval)
1033
+ @num_provisioned = args[:num_provisioned] if args.key?(:num_provisioned)
1034
+ @num_purchased = args[:num_purchased] if args.key?(:num_purchased)
1035
+ @permissions = args[:permissions] if args.key?(:permissions)
1036
+ @product_id = args[:product_id] if args.key?(:product_id)
1037
+ end
1038
+ end
1039
+
1040
+ #
1041
+ class ListGroupLicenseUsersResponse
1042
+ include Google::Apis::Core::Hashable
1043
+
1044
+ # A user of an enterprise.
1045
+ # Corresponds to the JSON property `user`
1046
+ # @return [Array<Google::Apis::AndroidenterpriseV1::User>]
1047
+ attr_accessor :user
1048
+
1049
+ def initialize(**args)
1050
+ update!(**args)
1051
+ end
1052
+
1053
+ # Update properties of this object
1054
+ def update!(**args)
1055
+ @user = args[:user] if args.key?(:user)
1056
+ end
1057
+ end
1058
+
1059
+ #
1060
+ class ListGroupLicensesResponse
1061
+ include Google::Apis::Core::Hashable
1062
+
1063
+ # A group license for a product approved for use in the enterprise.
1064
+ # Corresponds to the JSON property `groupLicense`
1065
+ # @return [Array<Google::Apis::AndroidenterpriseV1::GroupLicense>]
1066
+ attr_accessor :group_license
1067
+
1068
+ def initialize(**args)
1069
+ update!(**args)
1070
+ end
1071
+
1072
+ # Update properties of this object
1073
+ def update!(**args)
1074
+ @group_license = args[:group_license] if args.key?(:group_license)
1075
+ end
1076
+ end
1077
+
1078
+ # The existence of an Installs resource indicates that an app is installed on a
1079
+ # particular device (or that an install is pending). The API can be used to
1080
+ # create an install resource using the update method. This triggers the actual
1081
+ # install of the app on the device. If the user does not already have an
1082
+ # entitlement for the app, then an attempt is made to create one. If this fails (
1083
+ # for example, because the app is not free and there is no available license),
1084
+ # then the creation of the install fails. The API can also be used to update an
1085
+ # installed app. If the update method is used on an existing install, then the
1086
+ # app will be updated to the latest available version. Note that it is not
1087
+ # possible to force the installation of a specific version of an app: the
1088
+ # version code is read-only. If a user installs an app themselves (as permitted
1089
+ # by the enterprise), then again an install resource and possibly an entitlement
1090
+ # resource are automatically created. The API can also be used to delete an
1091
+ # install resource, which triggers the removal of the app from the device. Note
1092
+ # that deleting an install does not automatically remove the corresponding
1093
+ # entitlement, even if there are no remaining installs. The install resource
1094
+ # will also be deleted if the user uninstalls the app themselves.
1095
+ class Install
1096
+ include Google::Apis::Core::Hashable
1097
+
1098
+ # Install state. The state "installPending" means that an install request has
1099
+ # recently been made and download to the device is in progress. The state "
1100
+ # installed" means that the app has been installed. This field is read-only.
1101
+ # Corresponds to the JSON property `installState`
1102
+ # @return [String]
1103
+ attr_accessor :install_state
1104
+
1105
+ # The ID of the product that the install is for. For example, "app:com.google.
1106
+ # android.gm".
1107
+ # Corresponds to the JSON property `productId`
1108
+ # @return [String]
1109
+ attr_accessor :product_id
1110
+
1111
+ # The version of the installed product. Guaranteed to be set only if the install
1112
+ # state is "installed".
1113
+ # Corresponds to the JSON property `versionCode`
1114
+ # @return [Fixnum]
1115
+ attr_accessor :version_code
1116
+
1117
+ def initialize(**args)
1118
+ update!(**args)
1119
+ end
1120
+
1121
+ # Update properties of this object
1122
+ def update!(**args)
1123
+ @install_state = args[:install_state] if args.key?(:install_state)
1124
+ @product_id = args[:product_id] if args.key?(:product_id)
1125
+ @version_code = args[:version_code] if args.key?(:version_code)
1126
+ end
1127
+ end
1128
+
1129
+ # An event generated when an app installation failed on a device
1130
+ class InstallFailureEvent
1131
+ include Google::Apis::Core::Hashable
1132
+
1133
+ # The Android ID of the device. This field will always be present.
1134
+ # Corresponds to the JSON property `deviceId`
1135
+ # @return [String]
1136
+ attr_accessor :device_id
1137
+
1138
+ # Additional details on the failure if applicable.
1139
+ # Corresponds to the JSON property `failureDetails`
1140
+ # @return [String]
1141
+ attr_accessor :failure_details
1142
+
1143
+ # The reason for the installation failure. This field will always be present.
1144
+ # Corresponds to the JSON property `failureReason`
1145
+ # @return [String]
1146
+ attr_accessor :failure_reason
1147
+
1148
+ # The id of the product (e.g. "app:com.google.android.gm") for which the install
1149
+ # failure event occured. This field will always be present.
1150
+ # Corresponds to the JSON property `productId`
1151
+ # @return [String]
1152
+ attr_accessor :product_id
1153
+
1154
+ # The ID of the user. This field will always be present.
1155
+ # Corresponds to the JSON property `userId`
1156
+ # @return [String]
1157
+ attr_accessor :user_id
1158
+
1159
+ def initialize(**args)
1160
+ update!(**args)
1161
+ end
1162
+
1163
+ # Update properties of this object
1164
+ def update!(**args)
1165
+ @device_id = args[:device_id] if args.key?(:device_id)
1166
+ @failure_details = args[:failure_details] if args.key?(:failure_details)
1167
+ @failure_reason = args[:failure_reason] if args.key?(:failure_reason)
1168
+ @product_id = args[:product_id] if args.key?(:product_id)
1169
+ @user_id = args[:user_id] if args.key?(:user_id)
1170
+ end
1171
+ end
1172
+
1173
+ #
1174
+ class ListInstallsResponse
1175
+ include Google::Apis::Core::Hashable
1176
+
1177
+ # An installation of an app for a user on a specific device. The existence of an
1178
+ # install implies that the user must have an entitlement to the app.
1179
+ # Corresponds to the JSON property `install`
1180
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Install>]
1181
+ attr_accessor :install
1182
+
1183
+ def initialize(**args)
1184
+ update!(**args)
1185
+ end
1186
+
1187
+ # Update properties of this object
1188
+ def update!(**args)
1189
+ @install = args[:install] if args.key?(:install)
1190
+ end
1191
+ end
1192
+
1193
+ # Represents a keyed app state containing a key, timestamp, severity level,
1194
+ # optional description, and optional data.
1195
+ class KeyedAppState
1196
+ include Google::Apis::Core::Hashable
1197
+
1198
+ # Additional field intended for machine-readable data. For example, a number or
1199
+ # JSON object. To prevent XSS, we recommend removing any HTML from the data
1200
+ # before displaying it.
1201
+ # Corresponds to the JSON property `data`
1202
+ # @return [String]
1203
+ attr_accessor :data
1204
+
1205
+ # Key indicating what the app is providing a state for. The content of the key
1206
+ # is set by the app's developer. To prevent XSS, we recommend removing any HTML
1207
+ # from the key before displaying it. This field will always be present.
1208
+ # Corresponds to the JSON property `key`
1209
+ # @return [String]
1210
+ attr_accessor :key
1211
+
1212
+ # Free-form, human-readable message describing the app state. For example, an
1213
+ # error message. To prevent XSS, we recommend removing any HTML from the message
1214
+ # before displaying it.
1215
+ # Corresponds to the JSON property `message`
1216
+ # @return [String]
1217
+ attr_accessor :message
1218
+
1219
+ # Severity of the app state. This field will always be present.
1220
+ # Corresponds to the JSON property `severity`
1221
+ # @return [String]
1222
+ attr_accessor :severity
1223
+
1224
+ # Timestamp of when the app set the state in milliseconds since epoch. This
1225
+ # field will always be present.
1226
+ # Corresponds to the JSON property `stateTimestampMillis`
1227
+ # @return [Fixnum]
1228
+ attr_accessor :state_timestamp_millis
1229
+
1230
+ def initialize(**args)
1231
+ update!(**args)
1232
+ end
1233
+
1234
+ # Update properties of this object
1235
+ def update!(**args)
1236
+ @data = args[:data] if args.key?(:data)
1237
+ @key = args[:key] if args.key?(:key)
1238
+ @message = args[:message] if args.key?(:message)
1239
+ @severity = args[:severity] if args.key?(:severity)
1240
+ @state_timestamp_millis = args[:state_timestamp_millis] if args.key?(:state_timestamp_millis)
1241
+ end
1242
+ end
1243
+
1244
+ # A localized string with its locale.
1245
+ class LocalizedText
1246
+ include Google::Apis::Core::Hashable
1247
+
1248
+ # The BCP47 tag for a locale. (e.g. "en-US", "de").
1249
+ # Corresponds to the JSON property `locale`
1250
+ # @return [String]
1251
+ attr_accessor :locale
1252
+
1253
+ # The text localized in the associated locale.
1254
+ # Corresponds to the JSON property `text`
1255
+ # @return [String]
1256
+ attr_accessor :text
1257
+
1258
+ def initialize(**args)
1259
+ update!(**args)
1260
+ end
1261
+
1262
+ # Update properties of this object
1263
+ def update!(**args)
1264
+ @locale = args[:locale] if args.key?(:locale)
1265
+ @text = args[:text] if args.key?(:text)
1266
+ end
1267
+ end
1268
+
1269
+ # Maintenance window for managed Google Play Accounts. This allows Play store to
1270
+ # update the apps on the foreground in the designated window.
1271
+ class MaintenanceWindow
1272
+ include Google::Apis::Core::Hashable
1273
+
1274
+ # Duration of the maintenance window, in milliseconds. The duration must be
1275
+ # between 30 minutes and 24 hours (inclusive).
1276
+ # Corresponds to the JSON property `durationMs`
1277
+ # @return [Fixnum]
1278
+ attr_accessor :duration_ms
1279
+
1280
+ # Start time of the maintenance window, in milliseconds after midnight on the
1281
+ # device. Windows can span midnight.
1282
+ # Corresponds to the JSON property `startTimeAfterMidnightMs`
1283
+ # @return [Fixnum]
1284
+ attr_accessor :start_time_after_midnight_ms
1285
+
1286
+ def initialize(**args)
1287
+ update!(**args)
1288
+ end
1289
+
1290
+ # Update properties of this object
1291
+ def update!(**args)
1292
+ @duration_ms = args[:duration_ms] if args.key?(:duration_ms)
1293
+ @start_time_after_midnight_ms = args[:start_time_after_midnight_ms] if args.key?(:start_time_after_midnight_ms)
1294
+ end
1295
+ end
1296
+
1297
+ # A managed configuration resource contains the set of managed properties
1298
+ # defined by the app developer in the app's managed configurations schema, as
1299
+ # well as any configuration variables defined for the user.
1300
+ class ManagedConfiguration
1301
+ include Google::Apis::Core::Hashable
1302
+
1303
+ # A configuration variables resource contains the managed configuration settings
1304
+ # ID to be applied to a single user, as well as the variable set that is
1305
+ # attributed to the user. The variable set will be used to replace placeholders
1306
+ # in the managed configuration settings.
1307
+ # Corresponds to the JSON property `configurationVariables`
1308
+ # @return [Google::Apis::AndroidenterpriseV1::ConfigurationVariables]
1309
+ attr_accessor :configuration_variables
1310
+
1311
+ # Deprecated.
1312
+ # Corresponds to the JSON property `kind`
1313
+ # @return [String]
1314
+ attr_accessor :kind
1315
+
1316
+ # The set of managed properties for this configuration.
1317
+ # Corresponds to the JSON property `managedProperty`
1318
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ManagedProperty>]
1319
+ attr_accessor :managed_property
1320
+
1321
+ # The ID of the product that the managed configuration is for, e.g. "app:com.
1322
+ # google.android.gm".
1323
+ # Corresponds to the JSON property `productId`
1324
+ # @return [String]
1325
+ attr_accessor :product_id
1326
+
1327
+ def initialize(**args)
1328
+ update!(**args)
1329
+ end
1330
+
1331
+ # Update properties of this object
1332
+ def update!(**args)
1333
+ @configuration_variables = args[:configuration_variables] if args.key?(:configuration_variables)
1334
+ @kind = args[:kind] if args.key?(:kind)
1335
+ @managed_property = args[:managed_property] if args.key?(:managed_property)
1336
+ @product_id = args[:product_id] if args.key?(:product_id)
1337
+ end
1338
+ end
1339
+
1340
+ #
1341
+ class ManagedConfigurationsForDeviceListResponse
1342
+ include Google::Apis::Core::Hashable
1343
+
1344
+ # A managed configuration for an app on a specific device.
1345
+ # Corresponds to the JSON property `managedConfigurationForDevice`
1346
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ManagedConfiguration>]
1347
+ attr_accessor :managed_configuration_for_device
1348
+
1349
+ def initialize(**args)
1350
+ update!(**args)
1351
+ end
1352
+
1353
+ # Update properties of this object
1354
+ def update!(**args)
1355
+ @managed_configuration_for_device = args[:managed_configuration_for_device] if args.key?(:managed_configuration_for_device)
1356
+ end
1357
+ end
1358
+
1359
+ #
1360
+ class ManagedConfigurationsForUserListResponse
1361
+ include Google::Apis::Core::Hashable
1362
+
1363
+ # A managed configuration for an app for a specific user.
1364
+ # Corresponds to the JSON property `managedConfigurationForUser`
1365
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ManagedConfiguration>]
1366
+ attr_accessor :managed_configuration_for_user
1367
+
1368
+ def initialize(**args)
1369
+ update!(**args)
1370
+ end
1371
+
1372
+ # Update properties of this object
1373
+ def update!(**args)
1374
+ @managed_configuration_for_user = args[:managed_configuration_for_user] if args.key?(:managed_configuration_for_user)
1375
+ end
1376
+ end
1377
+
1378
+ # A managed configurations settings resource contains the set of managed
1379
+ # properties that have been configured for an Android app to be applied to a set
1380
+ # of users. The app's developer would have defined configurable properties in
1381
+ # the managed configurations schema.
1382
+ class ManagedConfigurationsSettings
1383
+ include Google::Apis::Core::Hashable
1384
+
1385
+ # The last updated time of the managed configuration settings in milliseconds
1386
+ # since 1970-01-01T00:00:00Z.
1387
+ # Corresponds to the JSON property `lastUpdatedTimestampMillis`
1388
+ # @return [Fixnum]
1389
+ attr_accessor :last_updated_timestamp_millis
1390
+
1391
+ # The ID of the managed configurations settings.
1392
+ # Corresponds to the JSON property `mcmId`
1393
+ # @return [String]
1394
+ attr_accessor :mcm_id
1395
+
1396
+ # The name of the managed configurations settings.
1397
+ # Corresponds to the JSON property `name`
1398
+ # @return [String]
1399
+ attr_accessor :name
1400
+
1401
+ def initialize(**args)
1402
+ update!(**args)
1403
+ end
1404
+
1405
+ # Update properties of this object
1406
+ def update!(**args)
1407
+ @last_updated_timestamp_millis = args[:last_updated_timestamp_millis] if args.key?(:last_updated_timestamp_millis)
1408
+ @mcm_id = args[:mcm_id] if args.key?(:mcm_id)
1409
+ @name = args[:name] if args.key?(:name)
1410
+ end
1411
+ end
1412
+
1413
+ #
1414
+ class ManagedConfigurationsSettingsListResponse
1415
+ include Google::Apis::Core::Hashable
1416
+
1417
+ # A managed configurations settings for an app that may be assigned to a group
1418
+ # of users in an enterprise.
1419
+ # Corresponds to the JSON property `managedConfigurationsSettings`
1420
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ManagedConfigurationsSettings>]
1421
+ attr_accessor :managed_configurations_settings
1422
+
1423
+ def initialize(**args)
1424
+ update!(**args)
1425
+ end
1426
+
1427
+ # Update properties of this object
1428
+ def update!(**args)
1429
+ @managed_configurations_settings = args[:managed_configurations_settings] if args.key?(:managed_configurations_settings)
1430
+ end
1431
+ end
1432
+
1433
+ # A managed property of a managed configuration. The property must match one of
1434
+ # the properties in the app restrictions schema of the product. Exactly one of
1435
+ # the value fields must be populated, and it must match the property's type in
1436
+ # the app restrictions schema.
1437
+ class ManagedProperty
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ # The unique key that identifies the property.
1441
+ # Corresponds to the JSON property `key`
1442
+ # @return [String]
1443
+ attr_accessor :key
1444
+
1445
+ # The boolean value - this will only be present if type of the property is bool.
1446
+ # Corresponds to the JSON property `valueBool`
1447
+ # @return [Boolean]
1448
+ attr_accessor :value_bool
1449
+ alias_method :value_bool?, :value_bool
1450
+
1451
+ # A bundle of managed properties.
1452
+ # Corresponds to the JSON property `valueBundle`
1453
+ # @return [Google::Apis::AndroidenterpriseV1::ManagedPropertyBundle]
1454
+ attr_accessor :value_bundle
1455
+
1456
+ # The list of bundles of properties - this will only be present if type of the
1457
+ # property is bundle_array.
1458
+ # Corresponds to the JSON property `valueBundleArray`
1459
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ManagedPropertyBundle>]
1460
+ attr_accessor :value_bundle_array
1461
+
1462
+ # The integer value - this will only be present if type of the property is
1463
+ # integer.
1464
+ # Corresponds to the JSON property `valueInteger`
1465
+ # @return [Fixnum]
1466
+ attr_accessor :value_integer
1467
+
1468
+ # The string value - this will only be present if type of the property is string,
1469
+ # choice or hidden.
1470
+ # Corresponds to the JSON property `valueString`
1471
+ # @return [String]
1472
+ attr_accessor :value_string
1473
+
1474
+ # The list of string values - this will only be present if type of the property
1475
+ # is multiselect.
1476
+ # Corresponds to the JSON property `valueStringArray`
1477
+ # @return [Array<String>]
1478
+ attr_accessor :value_string_array
1479
+
1480
+ def initialize(**args)
1481
+ update!(**args)
1482
+ end
1483
+
1484
+ # Update properties of this object
1485
+ def update!(**args)
1486
+ @key = args[:key] if args.key?(:key)
1487
+ @value_bool = args[:value_bool] if args.key?(:value_bool)
1488
+ @value_bundle = args[:value_bundle] if args.key?(:value_bundle)
1489
+ @value_bundle_array = args[:value_bundle_array] if args.key?(:value_bundle_array)
1490
+ @value_integer = args[:value_integer] if args.key?(:value_integer)
1491
+ @value_string = args[:value_string] if args.key?(:value_string)
1492
+ @value_string_array = args[:value_string_array] if args.key?(:value_string_array)
1493
+ end
1494
+ end
1495
+
1496
+ # A bundle of managed properties.
1497
+ class ManagedPropertyBundle
1498
+ include Google::Apis::Core::Hashable
1499
+
1500
+ # The list of managed properties.
1501
+ # Corresponds to the JSON property `managedProperty`
1502
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ManagedProperty>]
1503
+ attr_accessor :managed_property
1504
+
1505
+ def initialize(**args)
1506
+ update!(**args)
1507
+ end
1508
+
1509
+ # Update properties of this object
1510
+ def update!(**args)
1511
+ @managed_property = args[:managed_property] if args.key?(:managed_property)
1512
+ end
1513
+ end
1514
+
1515
+ # An event generated when a new device is ready to be managed.
1516
+ class NewDeviceEvent
1517
+ include Google::Apis::Core::Hashable
1518
+
1519
+ # The Android ID of the device. This field will always be present.
1520
+ # Corresponds to the JSON property `deviceId`
1521
+ # @return [String]
1522
+ attr_accessor :device_id
1523
+
1524
+ # Policy app on the device.
1525
+ # Corresponds to the JSON property `dpcPackageName`
1526
+ # @return [String]
1527
+ attr_accessor :dpc_package_name
1528
+
1529
+ # Identifies the extent to which the device is controlled by an Android EMM in
1530
+ # various deployment configurations. Possible values include: - "managedDevice",
1531
+ # a device where the DPC is set as device owner, - "managedProfile", a device
1532
+ # where the DPC is set as profile owner.
1533
+ # Corresponds to the JSON property `managementType`
1534
+ # @return [String]
1535
+ attr_accessor :management_type
1536
+
1537
+ # The ID of the user. This field will always be present.
1538
+ # Corresponds to the JSON property `userId`
1539
+ # @return [String]
1540
+ attr_accessor :user_id
1541
+
1542
+ def initialize(**args)
1543
+ update!(**args)
1544
+ end
1545
+
1546
+ # Update properties of this object
1547
+ def update!(**args)
1548
+ @device_id = args[:device_id] if args.key?(:device_id)
1549
+ @dpc_package_name = args[:dpc_package_name] if args.key?(:dpc_package_name)
1550
+ @management_type = args[:management_type] if args.key?(:management_type)
1551
+ @user_id = args[:user_id] if args.key?(:user_id)
1552
+ end
1553
+ end
1554
+
1555
+ # An event generated when new permissions are added to an app.
1556
+ class NewPermissionsEvent
1557
+ include Google::Apis::Core::Hashable
1558
+
1559
+ # The set of permissions that the enterprise admin has already approved for this
1560
+ # application. Use Permissions.Get on the EMM API to retrieve details about
1561
+ # these permissions.
1562
+ # Corresponds to the JSON property `approvedPermissions`
1563
+ # @return [Array<String>]
1564
+ attr_accessor :approved_permissions
1565
+
1566
+ # The id of the product (e.g. "app:com.google.android.gm") for which new
1567
+ # permissions were added. This field will always be present.
1568
+ # Corresponds to the JSON property `productId`
1569
+ # @return [String]
1570
+ attr_accessor :product_id
1571
+
1572
+ # The set of permissions that the app is currently requesting. Use Permissions.
1573
+ # Get on the EMM API to retrieve details about these permissions.
1574
+ # Corresponds to the JSON property `requestedPermissions`
1575
+ # @return [Array<String>]
1576
+ attr_accessor :requested_permissions
1577
+
1578
+ def initialize(**args)
1579
+ update!(**args)
1580
+ end
1581
+
1582
+ # Update properties of this object
1583
+ def update!(**args)
1584
+ @approved_permissions = args[:approved_permissions] if args.key?(:approved_permissions)
1585
+ @product_id = args[:product_id] if args.key?(:product_id)
1586
+ @requested_permissions = args[:requested_permissions] if args.key?(:requested_permissions)
1587
+ end
1588
+ end
1589
+
1590
+ # A notification of one event relating to an enterprise.
1591
+ class Notification
1592
+ include Google::Apis::Core::Hashable
1593
+
1594
+ # An event generated when a new app version is uploaded to Google Play and its
1595
+ # app restrictions schema changed. To fetch the app restrictions schema for an
1596
+ # app, use Products.getAppRestrictionsSchema on the EMM API.
1597
+ # Corresponds to the JSON property `appRestrictionsSchemaChangeEvent`
1598
+ # @return [Google::Apis::AndroidenterpriseV1::AppRestrictionsSchemaChangeEvent]
1599
+ attr_accessor :app_restrictions_schema_change_event
1600
+
1601
+ # An event generated when a new version of an app is uploaded to Google Play.
1602
+ # Notifications are sent for new public versions only: alpha, beta, or canary
1603
+ # versions do not generate this event. To fetch up-to-date version history for
1604
+ # an app, use Products.Get on the EMM API.
1605
+ # Corresponds to the JSON property `appUpdateEvent`
1606
+ # @return [Google::Apis::AndroidenterpriseV1::AppUpdateEvent]
1607
+ attr_accessor :app_update_event
1608
+
1609
+ # An event generated when an updated device report is available.
1610
+ # Corresponds to the JSON property `deviceReportUpdateEvent`
1611
+ # @return [Google::Apis::AndroidenterpriseV1::DeviceReportUpdateEvent]
1612
+ attr_accessor :device_report_update_event
1613
+
1614
+ # The ID of the enterprise for which the notification is sent. This will always
1615
+ # be present.
1616
+ # Corresponds to the JSON property `enterpriseId`
1617
+ # @return [String]
1618
+ attr_accessor :enterprise_id
1619
+
1620
+ # An event generated when an app installation failed on a device
1621
+ # Corresponds to the JSON property `installFailureEvent`
1622
+ # @return [Google::Apis::AndroidenterpriseV1::InstallFailureEvent]
1623
+ attr_accessor :install_failure_event
1624
+
1625
+ # An event generated when a new device is ready to be managed.
1626
+ # Corresponds to the JSON property `newDeviceEvent`
1627
+ # @return [Google::Apis::AndroidenterpriseV1::NewDeviceEvent]
1628
+ attr_accessor :new_device_event
1629
+
1630
+ # An event generated when new permissions are added to an app.
1631
+ # Corresponds to the JSON property `newPermissionsEvent`
1632
+ # @return [Google::Apis::AndroidenterpriseV1::NewPermissionsEvent]
1633
+ attr_accessor :new_permissions_event
1634
+
1635
+ # Type of the notification.
1636
+ # Corresponds to the JSON property `notificationType`
1637
+ # @return [String]
1638
+ attr_accessor :notification_type
1639
+
1640
+ # An event generated when a product's approval status is changed.
1641
+ # Corresponds to the JSON property `productApprovalEvent`
1642
+ # @return [Google::Apis::AndroidenterpriseV1::ProductApprovalEvent]
1643
+ attr_accessor :product_approval_event
1644
+
1645
+ # An event generated whenever a product's availability changes.
1646
+ # Corresponds to the JSON property `productAvailabilityChangeEvent`
1647
+ # @return [Google::Apis::AndroidenterpriseV1::ProductAvailabilityChangeEvent]
1648
+ attr_accessor :product_availability_change_event
1649
+
1650
+ # The time when the notification was published in milliseconds since 1970-01-
1651
+ # 01T00:00:00Z. This will always be present.
1652
+ # Corresponds to the JSON property `timestampMillis`
1653
+ # @return [Fixnum]
1654
+ attr_accessor :timestamp_millis
1655
+
1656
+ def initialize(**args)
1657
+ update!(**args)
1658
+ end
1659
+
1660
+ # Update properties of this object
1661
+ def update!(**args)
1662
+ @app_restrictions_schema_change_event = args[:app_restrictions_schema_change_event] if args.key?(:app_restrictions_schema_change_event)
1663
+ @app_update_event = args[:app_update_event] if args.key?(:app_update_event)
1664
+ @device_report_update_event = args[:device_report_update_event] if args.key?(:device_report_update_event)
1665
+ @enterprise_id = args[:enterprise_id] if args.key?(:enterprise_id)
1666
+ @install_failure_event = args[:install_failure_event] if args.key?(:install_failure_event)
1667
+ @new_device_event = args[:new_device_event] if args.key?(:new_device_event)
1668
+ @new_permissions_event = args[:new_permissions_event] if args.key?(:new_permissions_event)
1669
+ @notification_type = args[:notification_type] if args.key?(:notification_type)
1670
+ @product_approval_event = args[:product_approval_event] if args.key?(:product_approval_event)
1671
+ @product_availability_change_event = args[:product_availability_change_event] if args.key?(:product_availability_change_event)
1672
+ @timestamp_millis = args[:timestamp_millis] if args.key?(:timestamp_millis)
1673
+ end
1674
+ end
1675
+
1676
+ # A resource returned by the PullNotificationSet API, which contains a
1677
+ # collection of notifications for enterprises associated with the service
1678
+ # account authenticated for the request.
1679
+ class NotificationSet
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # The notifications received, or empty if no notifications are present.
1683
+ # Corresponds to the JSON property `notification`
1684
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Notification>]
1685
+ attr_accessor :notification
1686
+
1687
+ # The notification set ID, required to mark the notification as received with
1688
+ # the Enterprises.AcknowledgeNotification API. This will be omitted if no
1689
+ # notifications are present.
1690
+ # Corresponds to the JSON property `notificationSetId`
1691
+ # @return [String]
1692
+ attr_accessor :notification_set_id
1693
+
1694
+ def initialize(**args)
1695
+ update!(**args)
1696
+ end
1697
+
1698
+ # Update properties of this object
1699
+ def update!(**args)
1700
+ @notification = args[:notification] if args.key?(:notification)
1701
+ @notification_set_id = args[:notification_set_id] if args.key?(:notification_set_id)
1702
+ end
1703
+ end
1704
+
1705
+ # Information about the current page. List operations that supports paging
1706
+ # return only one "page" of results. This protocol buffer message describes the
1707
+ # page that has been returned.
1708
+ class PageInfo
1709
+ include Google::Apis::Core::Hashable
1710
+
1711
+ # Maximum number of results returned in one page. ! The number of results
1712
+ # included in the API response.
1713
+ # Corresponds to the JSON property `resultPerPage`
1714
+ # @return [Fixnum]
1715
+ attr_accessor :result_per_page
1716
+
1717
+ # Index of the first result returned in the current page.
1718
+ # Corresponds to the JSON property `startIndex`
1719
+ # @return [Fixnum]
1720
+ attr_accessor :start_index
1721
+
1722
+ # Total number of results available on the backend ! The total number of results
1723
+ # in the result set.
1724
+ # Corresponds to the JSON property `totalResults`
1725
+ # @return [Fixnum]
1726
+ attr_accessor :total_results
1727
+
1728
+ def initialize(**args)
1729
+ update!(**args)
1730
+ end
1731
+
1732
+ # Update properties of this object
1733
+ def update!(**args)
1734
+ @result_per_page = args[:result_per_page] if args.key?(:result_per_page)
1735
+ @start_index = args[:start_index] if args.key?(:start_index)
1736
+ @total_results = args[:total_results] if args.key?(:total_results)
1737
+ end
1738
+ end
1739
+
1740
+ # A Permissions resource represents some extra capability, to be granted to an
1741
+ # Android app, which requires explicit consent. An enterprise admin must consent
1742
+ # to these permissions on behalf of their users before an entitlement for the
1743
+ # app can be created. The permissions collection is read-only. The information
1744
+ # provided for each permission (localized name and description) is intended to
1745
+ # be used in the MDM user interface when obtaining consent from the enterprise.
1746
+ class Permission
1747
+ include Google::Apis::Core::Hashable
1748
+
1749
+ # A longer description of the Permissions resource, giving more details of what
1750
+ # it affects.
1751
+ # Corresponds to the JSON property `description`
1752
+ # @return [String]
1753
+ attr_accessor :description
1754
+
1755
+ # The name of the permission.
1756
+ # Corresponds to the JSON property `name`
1757
+ # @return [String]
1758
+ attr_accessor :name
1759
+
1760
+ # An opaque string uniquely identifying the permission.
1761
+ # Corresponds to the JSON property `permissionId`
1762
+ # @return [String]
1763
+ attr_accessor :permission_id
1764
+
1765
+ def initialize(**args)
1766
+ update!(**args)
1767
+ end
1768
+
1769
+ # Update properties of this object
1770
+ def update!(**args)
1771
+ @description = args[:description] if args.key?(:description)
1772
+ @name = args[:name] if args.key?(:name)
1773
+ @permission_id = args[:permission_id] if args.key?(:permission_id)
1774
+ end
1775
+ end
1776
+
1777
+ # The device policy for a given managed device.
1778
+ class Policy
1779
+ include Google::Apis::Core::Hashable
1780
+
1781
+ # The auto-update policy for apps installed on the device. "choiceToTheUser"
1782
+ # allows the device's user to configure the app update policy. "always" enables
1783
+ # auto updates. "never" disables auto updates. "wifiOnly" enables auto updates
1784
+ # only when the device is connected to wifi.
1785
+ # Corresponds to the JSON property `autoUpdatePolicy`
1786
+ # @return [String]
1787
+ attr_accessor :auto_update_policy
1788
+
1789
+ # Whether the device reports app states to the EMM. The default value is "
1790
+ # deviceReportDisabled".
1791
+ # Corresponds to the JSON property `deviceReportPolicy`
1792
+ # @return [String]
1793
+ attr_accessor :device_report_policy
1794
+
1795
+ # Maintenance window for managed Google Play Accounts. This allows Play store to
1796
+ # update the apps on the foreground in the designated window.
1797
+ # Corresponds to the JSON property `maintenanceWindow`
1798
+ # @return [Google::Apis::AndroidenterpriseV1::MaintenanceWindow]
1799
+ attr_accessor :maintenance_window
1800
+
1801
+ # The availability granted to the device for the specified products. "all" gives
1802
+ # the device access to all products, regardless of approval status. "all" does
1803
+ # not enable automatic visibility of "alpha" or "beta" tracks. "whitelist"
1804
+ # grants the device access the products specified in productPolicy[]. Only
1805
+ # products that are approved or products that were previously approved (products
1806
+ # with revoked approval) by the enterprise can be whitelisted. If no value is
1807
+ # provided, the availability set at the user level is applied by default.
1808
+ # Corresponds to the JSON property `productAvailabilityPolicy`
1809
+ # @return [String]
1810
+ attr_accessor :product_availability_policy
1811
+
1812
+ # The list of product policies. The productAvailabilityPolicy needs to be set to
1813
+ # WHITELIST or ALL for the product policies to be applied.
1814
+ # Corresponds to the JSON property `productPolicy`
1815
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ProductPolicy>]
1816
+ attr_accessor :product_policy
1817
+
1818
+ def initialize(**args)
1819
+ update!(**args)
1820
+ end
1821
+
1822
+ # Update properties of this object
1823
+ def update!(**args)
1824
+ @auto_update_policy = args[:auto_update_policy] if args.key?(:auto_update_policy)
1825
+ @device_report_policy = args[:device_report_policy] if args.key?(:device_report_policy)
1826
+ @maintenance_window = args[:maintenance_window] if args.key?(:maintenance_window)
1827
+ @product_availability_policy = args[:product_availability_policy] if args.key?(:product_availability_policy)
1828
+ @product_policy = args[:product_policy] if args.key?(:product_policy)
1829
+ end
1830
+ end
1831
+
1832
+ # A Products resource represents an app in the Google Play store that is
1833
+ # available to at least some users in the enterprise. (Some apps are restricted
1834
+ # to a single enterprise, and no information about them is made available
1835
+ # outside that enterprise.) The information provided for each product (localized
1836
+ # name, icon, link to the full Google Play details page) is intended to allow a
1837
+ # basic representation of the product within an EMM user interface.
1838
+ class Product
1839
+ include Google::Apis::Core::Hashable
1840
+
1841
+ # The tracks visible to the enterprise.
1842
+ # Corresponds to the JSON property `appTracks`
1843
+ # @return [Array<Google::Apis::AndroidenterpriseV1::TrackInfo>]
1844
+ attr_accessor :app_tracks
1845
+
1846
+ # App versions currently available for this product.
1847
+ # Corresponds to the JSON property `appVersion`
1848
+ # @return [Array<Google::Apis::AndroidenterpriseV1::AppVersion>]
1849
+ attr_accessor :app_version
1850
+
1851
+ # The name of the author of the product (for example, the app developer).
1852
+ # Corresponds to the JSON property `authorName`
1853
+ # @return [String]
1854
+ attr_accessor :author_name
1855
+
1856
+ # The countries which this app is available in.
1857
+ # Corresponds to the JSON property `availableCountries`
1858
+ # @return [Array<String>]
1859
+ attr_accessor :available_countries
1860
+
1861
+ # Deprecated, use appTracks instead.
1862
+ # Corresponds to the JSON property `availableTracks`
1863
+ # @return [Array<String>]
1864
+ attr_accessor :available_tracks
1865
+
1866
+ # The app category (e.g. RACING, SOCIAL, etc.)
1867
+ # Corresponds to the JSON property `category`
1868
+ # @return [String]
1869
+ attr_accessor :category
1870
+
1871
+ # The content rating for this app.
1872
+ # Corresponds to the JSON property `contentRating`
1873
+ # @return [String]
1874
+ attr_accessor :content_rating
1875
+
1876
+ # The localized promotional description, if available.
1877
+ # Corresponds to the JSON property `description`
1878
+ # @return [String]
1879
+ attr_accessor :description
1880
+
1881
+ # A link to the (consumer) Google Play details page for the product.
1882
+ # Corresponds to the JSON property `detailsUrl`
1883
+ # @return [String]
1884
+ attr_accessor :details_url
1885
+
1886
+ # How and to whom the package is made available. The value publicGoogleHosted
1887
+ # means that the package is available through the Play store and not restricted
1888
+ # to a specific enterprise. The value privateGoogleHosted means that the package
1889
+ # is a private app (restricted to an enterprise) but hosted by Google. The value
1890
+ # privateSelfHosted means that the package is a private app (restricted to an
1891
+ # enterprise) and is privately hosted.
1892
+ # Corresponds to the JSON property `distributionChannel`
1893
+ # @return [String]
1894
+ attr_accessor :distribution_channel
1895
+
1896
+ # Noteworthy features (if any) of this product.
1897
+ # Corresponds to the JSON property `features`
1898
+ # @return [Array<String>]
1899
+ attr_accessor :features
1900
+
1901
+ # A link to an image that can be used as an icon for the product. This image is
1902
+ # suitable for use at up to 512px x 512px.
1903
+ # Corresponds to the JSON property `iconUrl`
1904
+ # @return [String]
1905
+ attr_accessor :icon_url
1906
+
1907
+ # The approximate time (within 7 days) the app was last published, expressed in
1908
+ # milliseconds since epoch.
1909
+ # Corresponds to the JSON property `lastUpdatedTimestampMillis`
1910
+ # @return [Fixnum]
1911
+ attr_accessor :last_updated_timestamp_millis
1912
+
1913
+ # The minimum Android SDK necessary to run the app.
1914
+ # Corresponds to the JSON property `minAndroidSdkVersion`
1915
+ # @return [Fixnum]
1916
+ attr_accessor :min_android_sdk_version
1917
+
1918
+ # A list of permissions required by the app.
1919
+ # Corresponds to the JSON property `permissions`
1920
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ProductPermission>]
1921
+ attr_accessor :permissions
1922
+
1923
+ # A string of the form *app:<package name>*. For example, app:com.google.android.
1924
+ # gm represents the Gmail app.
1925
+ # Corresponds to the JSON property `productId`
1926
+ # @return [String]
1927
+ attr_accessor :product_id
1928
+
1929
+ # Whether this product is free, free with in-app purchases, or paid. If the
1930
+ # pricing is unknown, this means the product is not generally available anymore (
1931
+ # even though it might still be available to people who own it).
1932
+ # Corresponds to the JSON property `productPricing`
1933
+ # @return [String]
1934
+ attr_accessor :product_pricing
1935
+
1936
+ # A description of the recent changes made to the app.
1937
+ # Corresponds to the JSON property `recentChanges`
1938
+ # @return [String]
1939
+ attr_accessor :recent_changes
1940
+
1941
+ # Deprecated.
1942
+ # Corresponds to the JSON property `requiresContainerApp`
1943
+ # @return [Boolean]
1944
+ attr_accessor :requires_container_app
1945
+ alias_method :requires_container_app?, :requires_container_app
1946
+
1947
+ # A list of screenshot links representing the app.
1948
+ # Corresponds to the JSON property `screenshotUrls`
1949
+ # @return [Array<String>]
1950
+ attr_accessor :screenshot_urls
1951
+
1952
+ # The certificate used to sign this product.
1953
+ # Corresponds to the JSON property `signingCertificate`
1954
+ # @return [Google::Apis::AndroidenterpriseV1::ProductSigningCertificate]
1955
+ attr_accessor :signing_certificate
1956
+
1957
+ # A link to a smaller image that can be used as an icon for the product. This
1958
+ # image is suitable for use at up to 128px x 128px.
1959
+ # Corresponds to the JSON property `smallIconUrl`
1960
+ # @return [String]
1961
+ attr_accessor :small_icon_url
1962
+
1963
+ # The name of the product.
1964
+ # Corresponds to the JSON property `title`
1965
+ # @return [String]
1966
+ attr_accessor :title
1967
+
1968
+ # A link to the managed Google Play details page for the product, for use by an
1969
+ # Enterprise admin.
1970
+ # Corresponds to the JSON property `workDetailsUrl`
1971
+ # @return [String]
1972
+ attr_accessor :work_details_url
1973
+
1974
+ def initialize(**args)
1975
+ update!(**args)
1976
+ end
1977
+
1978
+ # Update properties of this object
1979
+ def update!(**args)
1980
+ @app_tracks = args[:app_tracks] if args.key?(:app_tracks)
1981
+ @app_version = args[:app_version] if args.key?(:app_version)
1982
+ @author_name = args[:author_name] if args.key?(:author_name)
1983
+ @available_countries = args[:available_countries] if args.key?(:available_countries)
1984
+ @available_tracks = args[:available_tracks] if args.key?(:available_tracks)
1985
+ @category = args[:category] if args.key?(:category)
1986
+ @content_rating = args[:content_rating] if args.key?(:content_rating)
1987
+ @description = args[:description] if args.key?(:description)
1988
+ @details_url = args[:details_url] if args.key?(:details_url)
1989
+ @distribution_channel = args[:distribution_channel] if args.key?(:distribution_channel)
1990
+ @features = args[:features] if args.key?(:features)
1991
+ @icon_url = args[:icon_url] if args.key?(:icon_url)
1992
+ @last_updated_timestamp_millis = args[:last_updated_timestamp_millis] if args.key?(:last_updated_timestamp_millis)
1993
+ @min_android_sdk_version = args[:min_android_sdk_version] if args.key?(:min_android_sdk_version)
1994
+ @permissions = args[:permissions] if args.key?(:permissions)
1995
+ @product_id = args[:product_id] if args.key?(:product_id)
1996
+ @product_pricing = args[:product_pricing] if args.key?(:product_pricing)
1997
+ @recent_changes = args[:recent_changes] if args.key?(:recent_changes)
1998
+ @requires_container_app = args[:requires_container_app] if args.key?(:requires_container_app)
1999
+ @screenshot_urls = args[:screenshot_urls] if args.key?(:screenshot_urls)
2000
+ @signing_certificate = args[:signing_certificate] if args.key?(:signing_certificate)
2001
+ @small_icon_url = args[:small_icon_url] if args.key?(:small_icon_url)
2002
+ @title = args[:title] if args.key?(:title)
2003
+ @work_details_url = args[:work_details_url] if args.key?(:work_details_url)
2004
+ end
2005
+ end
2006
+
2007
+ # An event generated when a product's approval status is changed.
2008
+ class ProductApprovalEvent
2009
+ include Google::Apis::Core::Hashable
2010
+
2011
+ # Whether the product was approved or unapproved. This field will always be
2012
+ # present.
2013
+ # Corresponds to the JSON property `approved`
2014
+ # @return [String]
2015
+ attr_accessor :approved
2016
+
2017
+ # The id of the product (e.g. "app:com.google.android.gm") for which the
2018
+ # approval status has changed. This field will always be present.
2019
+ # Corresponds to the JSON property `productId`
2020
+ # @return [String]
2021
+ attr_accessor :product_id
2022
+
2023
+ def initialize(**args)
2024
+ update!(**args)
2025
+ end
2026
+
2027
+ # Update properties of this object
2028
+ def update!(**args)
2029
+ @approved = args[:approved] if args.key?(:approved)
2030
+ @product_id = args[:product_id] if args.key?(:product_id)
2031
+ end
2032
+ end
2033
+
2034
+ # An event generated whenever a product's availability changes.
2035
+ class ProductAvailabilityChangeEvent
2036
+ include Google::Apis::Core::Hashable
2037
+
2038
+ # The new state of the product. This field will always be present.
2039
+ # Corresponds to the JSON property `availabilityStatus`
2040
+ # @return [String]
2041
+ attr_accessor :availability_status
2042
+
2043
+ # The id of the product (e.g. "app:com.google.android.gm") for which the product
2044
+ # availability changed. This field will always be present.
2045
+ # Corresponds to the JSON property `productId`
2046
+ # @return [String]
2047
+ attr_accessor :product_id
2048
+
2049
+ def initialize(**args)
2050
+ update!(**args)
2051
+ end
2052
+
2053
+ # Update properties of this object
2054
+ def update!(**args)
2055
+ @availability_status = args[:availability_status] if args.key?(:availability_status)
2056
+ @product_id = args[:product_id] if args.key?(:product_id)
2057
+ end
2058
+ end
2059
+
2060
+ # A product permissions resource represents the set of permissions required by a
2061
+ # specific app and whether or not they have been accepted by an enterprise admin.
2062
+ # The API can be used to read the set of permissions, and also to update the
2063
+ # set to indicate that permissions have been accepted.
2064
+ class ProductPermission
2065
+ include Google::Apis::Core::Hashable
2066
+
2067
+ # An opaque string uniquely identifying the permission.
2068
+ # Corresponds to the JSON property `permissionId`
2069
+ # @return [String]
2070
+ attr_accessor :permission_id
2071
+
2072
+ # Whether the permission has been accepted or not.
2073
+ # Corresponds to the JSON property `state`
2074
+ # @return [String]
2075
+ attr_accessor :state
2076
+
2077
+ def initialize(**args)
2078
+ update!(**args)
2079
+ end
2080
+
2081
+ # Update properties of this object
2082
+ def update!(**args)
2083
+ @permission_id = args[:permission_id] if args.key?(:permission_id)
2084
+ @state = args[:state] if args.key?(:state)
2085
+ end
2086
+ end
2087
+
2088
+ # Information about the permissions required by a specific app and whether they
2089
+ # have been accepted by the enterprise.
2090
+ class ProductPermissions
2091
+ include Google::Apis::Core::Hashable
2092
+
2093
+ # The permissions required by the app.
2094
+ # Corresponds to the JSON property `permission`
2095
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ProductPermission>]
2096
+ attr_accessor :permission
2097
+
2098
+ # The ID of the app that the permissions relate to, e.g. "app:com.google.android.
2099
+ # gm".
2100
+ # Corresponds to the JSON property `productId`
2101
+ # @return [String]
2102
+ attr_accessor :product_id
2103
+
2104
+ def initialize(**args)
2105
+ update!(**args)
2106
+ end
2107
+
2108
+ # Update properties of this object
2109
+ def update!(**args)
2110
+ @permission = args[:permission] if args.key?(:permission)
2111
+ @product_id = args[:product_id] if args.key?(:product_id)
2112
+ end
2113
+ end
2114
+
2115
+ # The policy for a product.
2116
+ class ProductPolicy
2117
+ include Google::Apis::Core::Hashable
2118
+
2119
+ # The auto-install policy for the product.
2120
+ # Corresponds to the JSON property `autoInstallPolicy`
2121
+ # @return [Google::Apis::AndroidenterpriseV1::AutoInstallPolicy]
2122
+ attr_accessor :auto_install_policy
2123
+
2124
+ # The auto-update mode for the product.
2125
+ # Corresponds to the JSON property `autoUpdateMode`
2126
+ # @return [String]
2127
+ attr_accessor :auto_update_mode
2128
+
2129
+ # A managed configuration resource contains the set of managed properties
2130
+ # defined by the app developer in the app's managed configurations schema, as
2131
+ # well as any configuration variables defined for the user.
2132
+ # Corresponds to the JSON property `managedConfiguration`
2133
+ # @return [Google::Apis::AndroidenterpriseV1::ManagedConfiguration]
2134
+ attr_accessor :managed_configuration
2135
+
2136
+ # The ID of the product. For example, "app:com.google.android.gm".
2137
+ # Corresponds to the JSON property `productId`
2138
+ # @return [String]
2139
+ attr_accessor :product_id
2140
+
2141
+ # Grants the device visibility to the specified product release track(s),
2142
+ # identified by trackIds. The list of release tracks of a product can be
2143
+ # obtained by calling Products.Get.
2144
+ # Corresponds to the JSON property `trackIds`
2145
+ # @return [Array<String>]
2146
+ attr_accessor :track_ids
2147
+
2148
+ # Deprecated. Use trackIds instead.
2149
+ # Corresponds to the JSON property `tracks`
2150
+ # @return [Array<String>]
2151
+ attr_accessor :tracks
2152
+
2153
+ def initialize(**args)
2154
+ update!(**args)
2155
+ end
2156
+
2157
+ # Update properties of this object
2158
+ def update!(**args)
2159
+ @auto_install_policy = args[:auto_install_policy] if args.key?(:auto_install_policy)
2160
+ @auto_update_mode = args[:auto_update_mode] if args.key?(:auto_update_mode)
2161
+ @managed_configuration = args[:managed_configuration] if args.key?(:managed_configuration)
2162
+ @product_id = args[:product_id] if args.key?(:product_id)
2163
+ @track_ids = args[:track_ids] if args.key?(:track_ids)
2164
+ @tracks = args[:tracks] if args.key?(:tracks)
2165
+ end
2166
+ end
2167
+
2168
+ # A set of products.
2169
+ class ProductSet
2170
+ include Google::Apis::Core::Hashable
2171
+
2172
+ # The list of product IDs making up the set of products.
2173
+ # Corresponds to the JSON property `productId`
2174
+ # @return [Array<String>]
2175
+ attr_accessor :product_id
2176
+
2177
+ # The interpretation of this product set. "unknown" should never be sent and is
2178
+ # ignored if received. "whitelist" means that the user is entitled to access the
2179
+ # product set. "includeAll" means that all products are accessible, including
2180
+ # products that are approved, products with revoked approval, and products that
2181
+ # have never been approved. "allApproved" means that the user is entitled to
2182
+ # access all products that are approved for the enterprise. If the value is "
2183
+ # allApproved" or "includeAll", the productId field is ignored. If no value is
2184
+ # provided, it is interpreted as "whitelist" for backwards compatibility.
2185
+ # Further "allApproved" or "includeAll" does not enable automatic visibility of "
2186
+ # alpha" or "beta" tracks for Android app. Use ProductVisibility to enable "
2187
+ # alpha" or "beta" tracks per user.
2188
+ # Corresponds to the JSON property `productSetBehavior`
2189
+ # @return [String]
2190
+ attr_accessor :product_set_behavior
2191
+
2192
+ # Additional list of product IDs making up the product set. Unlike the productID
2193
+ # array, in this list It's possible to specify which tracks (alpha, beta,
2194
+ # production) of a product are visible to the user. See ProductVisibility and
2195
+ # its fields for more information. Specifying the same product ID both here and
2196
+ # in the productId array is not allowed and it will result in an error.
2197
+ # Corresponds to the JSON property `productVisibility`
2198
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ProductVisibility>]
2199
+ attr_accessor :product_visibility
2200
+
2201
+ def initialize(**args)
2202
+ update!(**args)
2203
+ end
2204
+
2205
+ # Update properties of this object
2206
+ def update!(**args)
2207
+ @product_id = args[:product_id] if args.key?(:product_id)
2208
+ @product_set_behavior = args[:product_set_behavior] if args.key?(:product_set_behavior)
2209
+ @product_visibility = args[:product_visibility] if args.key?(:product_visibility)
2210
+ end
2211
+ end
2212
+
2213
+ #
2214
+ class ProductSigningCertificate
2215
+ include Google::Apis::Core::Hashable
2216
+
2217
+ # The base64 urlsafe encoded SHA1 hash of the certificate. (This field is
2218
+ # deprecated in favor of SHA2-256. It should not be used and may be removed at
2219
+ # any time.)
2220
+ # Corresponds to the JSON property `certificateHashSha1`
2221
+ # @return [String]
2222
+ attr_accessor :certificate_hash_sha1
2223
+
2224
+ # The base64 urlsafe encoded SHA2-256 hash of the certificate.
2225
+ # Corresponds to the JSON property `certificateHashSha256`
2226
+ # @return [String]
2227
+ attr_accessor :certificate_hash_sha256
2228
+
2229
+ def initialize(**args)
2230
+ update!(**args)
2231
+ end
2232
+
2233
+ # Update properties of this object
2234
+ def update!(**args)
2235
+ @certificate_hash_sha1 = args[:certificate_hash_sha1] if args.key?(:certificate_hash_sha1)
2236
+ @certificate_hash_sha256 = args[:certificate_hash_sha256] if args.key?(:certificate_hash_sha256)
2237
+ end
2238
+ end
2239
+
2240
+ # A product to be made visible to a user.
2241
+ class ProductVisibility
2242
+ include Google::Apis::Core::Hashable
2243
+
2244
+ # The product ID to make visible to the user. Required for each item in the
2245
+ # productVisibility list.
2246
+ # Corresponds to the JSON property `productId`
2247
+ # @return [String]
2248
+ attr_accessor :product_id
2249
+
2250
+ # Grants the user visibility to the specified product track(s), identified by
2251
+ # trackIds.
2252
+ # Corresponds to the JSON property `trackIds`
2253
+ # @return [Array<String>]
2254
+ attr_accessor :track_ids
2255
+
2256
+ # Deprecated. Use trackIds instead.
2257
+ # Corresponds to the JSON property `tracks`
2258
+ # @return [Array<String>]
2259
+ attr_accessor :tracks
2260
+
2261
+ def initialize(**args)
2262
+ update!(**args)
2263
+ end
2264
+
2265
+ # Update properties of this object
2266
+ def update!(**args)
2267
+ @product_id = args[:product_id] if args.key?(:product_id)
2268
+ @track_ids = args[:track_ids] if args.key?(:track_ids)
2269
+ @tracks = args[:tracks] if args.key?(:tracks)
2270
+ end
2271
+ end
2272
+
2273
+ #
2274
+ class ApproveProductRequest
2275
+ include Google::Apis::Core::Hashable
2276
+
2277
+ # Information on an approval URL.
2278
+ # Corresponds to the JSON property `approvalUrlInfo`
2279
+ # @return [Google::Apis::AndroidenterpriseV1::ApprovalUrlInfo]
2280
+ attr_accessor :approval_url_info
2281
+
2282
+ # Sets how new permission requests for the product are handled. "allPermissions"
2283
+ # automatically approves all current and future permissions for the product. "
2284
+ # currentPermissionsOnly" approves the current set of permissions for the
2285
+ # product, but any future permissions added through updates will require manual
2286
+ # reapproval. If not specified, only the current set of permissions will be
2287
+ # approved.
2288
+ # Corresponds to the JSON property `approvedPermissions`
2289
+ # @return [String]
2290
+ attr_accessor :approved_permissions
2291
+
2292
+ def initialize(**args)
2293
+ update!(**args)
2294
+ end
2295
+
2296
+ # Update properties of this object
2297
+ def update!(**args)
2298
+ @approval_url_info = args[:approval_url_info] if args.key?(:approval_url_info)
2299
+ @approved_permissions = args[:approved_permissions] if args.key?(:approved_permissions)
2300
+ end
2301
+ end
2302
+
2303
+ #
2304
+ class GenerateProductApprovalUrlResponse
2305
+ include Google::Apis::Core::Hashable
2306
+
2307
+ # A URL that can be rendered in an iframe to display the permissions (if any) of
2308
+ # a product. This URL can be used to approve the product only once and only
2309
+ # within 24 hours of being generated, using the Products.approve call. If the
2310
+ # product is currently unapproved and has no permissions, this URL will point to
2311
+ # an empty page. If the product is currently approved, a URL will only be
2312
+ # generated if that product has added permissions since it was last approved,
2313
+ # and the URL will only display those new permissions that have not yet been
2314
+ # accepted.
2315
+ # Corresponds to the JSON property `url`
2316
+ # @return [String]
2317
+ attr_accessor :url
2318
+
2319
+ def initialize(**args)
2320
+ update!(**args)
2321
+ end
2322
+
2323
+ # Update properties of this object
2324
+ def update!(**args)
2325
+ @url = args[:url] if args.key?(:url)
2326
+ end
2327
+ end
2328
+
2329
+ #
2330
+ class ProductsListResponse
2331
+ include Google::Apis::Core::Hashable
2332
+
2333
+ # Information about the current page. List operations that supports paging
2334
+ # return only one "page" of results. This protocol buffer message describes the
2335
+ # page that has been returned.
2336
+ # Corresponds to the JSON property `pageInfo`
2337
+ # @return [Google::Apis::AndroidenterpriseV1::PageInfo]
2338
+ attr_accessor :page_info
2339
+
2340
+ # Information about a product (e.g. an app) in the Google Play store, for
2341
+ # display to an enterprise admin.
2342
+ # Corresponds to the JSON property `product`
2343
+ # @return [Array<Google::Apis::AndroidenterpriseV1::Product>]
2344
+ attr_accessor :product
2345
+
2346
+ # Pagination information returned by a List operation when token pagination is
2347
+ # enabled. List operations that supports paging return only one "page" of
2348
+ # results. This protocol buffer message describes the page that has been
2349
+ # returned. When using token pagination, clients should use the next/previous
2350
+ # token to get another page of the result. The presence or absence of next/
2351
+ # previous token indicates whether a next/previous page is available and
2352
+ # provides a mean of accessing this page. ListRequest.page_token should be set
2353
+ # to either next_page_token or previous_page_token to access another page.
2354
+ # Corresponds to the JSON property `tokenPagination`
2355
+ # @return [Google::Apis::AndroidenterpriseV1::TokenPagination]
2356
+ attr_accessor :token_pagination
2357
+
2358
+ def initialize(**args)
2359
+ update!(**args)
2360
+ end
2361
+
2362
+ # Update properties of this object
2363
+ def update!(**args)
2364
+ @page_info = args[:page_info] if args.key?(:page_info)
2365
+ @product = args[:product] if args.key?(:product)
2366
+ @token_pagination = args[:token_pagination] if args.key?(:token_pagination)
2367
+ end
2368
+ end
2369
+
2370
+ # A service account identity, including the name and credentials that can be
2371
+ # used to authenticate as the service account.
2372
+ class ServiceAccount
2373
+ include Google::Apis::Core::Hashable
2374
+
2375
+ # Credentials that can be used to authenticate as a service account.
2376
+ # Corresponds to the JSON property `key`
2377
+ # @return [Google::Apis::AndroidenterpriseV1::ServiceAccountKey]
2378
+ attr_accessor :key
2379
+
2380
+ # The account name of the service account, in the form of an email address.
2381
+ # Assigned by the server.
2382
+ # Corresponds to the JSON property `name`
2383
+ # @return [String]
2384
+ attr_accessor :name
2385
+
2386
+ def initialize(**args)
2387
+ update!(**args)
2388
+ end
2389
+
2390
+ # Update properties of this object
2391
+ def update!(**args)
2392
+ @key = args[:key] if args.key?(:key)
2393
+ @name = args[:name] if args.key?(:name)
2394
+ end
2395
+ end
2396
+
2397
+ # Credentials that can be used to authenticate as a service account.
2398
+ class ServiceAccountKey
2399
+ include Google::Apis::Core::Hashable
2400
+
2401
+ # The body of the private key credentials file, in string format. This is only
2402
+ # populated when the ServiceAccountKey is created, and is not stored by Google.
2403
+ # Corresponds to the JSON property `data`
2404
+ # @return [String]
2405
+ attr_accessor :data
2406
+
2407
+ # An opaque, unique identifier for this ServiceAccountKey. Assigned by the
2408
+ # server.
2409
+ # Corresponds to the JSON property `id`
2410
+ # @return [String]
2411
+ attr_accessor :id
2412
+
2413
+ # Public key data for the credentials file. This is an X.509 cert. If you are
2414
+ # using the googleCredentials key type, this is identical to the cert that can
2415
+ # be retrieved by using the X.509 cert url inside of the credentials file.
2416
+ # Corresponds to the JSON property `publicData`
2417
+ # @return [String]
2418
+ attr_accessor :public_data
2419
+
2420
+ # The file format of the generated key data.
2421
+ # Corresponds to the JSON property `type`
2422
+ # @return [String]
2423
+ attr_accessor :type
2424
+
2425
+ def initialize(**args)
2426
+ update!(**args)
2427
+ end
2428
+
2429
+ # Update properties of this object
2430
+ def update!(**args)
2431
+ @data = args[:data] if args.key?(:data)
2432
+ @id = args[:id] if args.key?(:id)
2433
+ @public_data = args[:public_data] if args.key?(:public_data)
2434
+ @type = args[:type] if args.key?(:type)
2435
+ end
2436
+ end
2437
+
2438
+ #
2439
+ class ServiceAccountKeysListResponse
2440
+ include Google::Apis::Core::Hashable
2441
+
2442
+ # The service account credentials.
2443
+ # Corresponds to the JSON property `serviceAccountKey`
2444
+ # @return [Array<Google::Apis::AndroidenterpriseV1::ServiceAccountKey>]
2445
+ attr_accessor :service_account_key
2446
+
2447
+ def initialize(**args)
2448
+ update!(**args)
2449
+ end
2450
+
2451
+ # Update properties of this object
2452
+ def update!(**args)
2453
+ @service_account_key = args[:service_account_key] if args.key?(:service_account_key)
2454
+ end
2455
+ end
2456
+
2457
+ # A resource returned by the GenerateSignupUrl API, which contains the Signup
2458
+ # URL and Completion Token.
2459
+ class SignupInfo
2460
+ include Google::Apis::Core::Hashable
2461
+
2462
+ # An opaque token that will be required, along with the Enterprise Token, for
2463
+ # obtaining the enterprise resource from CompleteSignup.
2464
+ # Corresponds to the JSON property `completionToken`
2465
+ # @return [String]
2466
+ attr_accessor :completion_token
2467
+
2468
+ # Deprecated.
2469
+ # Corresponds to the JSON property `kind`
2470
+ # @return [String]
2471
+ attr_accessor :kind
2472
+
2473
+ # A URL under which the Admin can sign up for an enterprise. The page pointed to
2474
+ # cannot be rendered in an iframe.
2475
+ # Corresponds to the JSON property `url`
2476
+ # @return [String]
2477
+ attr_accessor :url
2478
+
2479
+ def initialize(**args)
2480
+ update!(**args)
2481
+ end
2482
+
2483
+ # Update properties of this object
2484
+ def update!(**args)
2485
+ @completion_token = args[:completion_token] if args.key?(:completion_token)
2486
+ @kind = args[:kind] if args.key?(:kind)
2487
+ @url = args[:url] if args.key?(:url)
2488
+ end
2489
+ end
2490
+
2491
+ # Definition of a managed Google Play store cluster, a list of products
2492
+ # displayed as part of a store page.
2493
+ class StoreCluster
2494
+ include Google::Apis::Core::Hashable
2495
+
2496
+ # Unique ID of this cluster. Assigned by the server. Immutable once assigned.
2497
+ # Corresponds to the JSON property `id`
2498
+ # @return [String]
2499
+ attr_accessor :id
2500
+
2501
+ # Ordered list of localized strings giving the name of this page. The text
2502
+ # displayed is the one that best matches the user locale, or the first entry if
2503
+ # there is no good match. There needs to be at least one entry.
2504
+ # Corresponds to the JSON property `name`
2505
+ # @return [Array<Google::Apis::AndroidenterpriseV1::LocalizedText>]
2506
+ attr_accessor :name
2507
+
2508
+ # String (US-ASCII only) used to determine order of this cluster within the
2509
+ # parent page's elements. Page elements are sorted in lexicographic order of
2510
+ # this field. Duplicated values are allowed, but ordering between elements with
2511
+ # duplicate order is undefined. The value of this field is never visible to a
2512
+ # user, it is used solely for the purpose of defining an ordering. Maximum
2513
+ # length is 256 characters.
2514
+ # Corresponds to the JSON property `orderInPage`
2515
+ # @return [String]
2516
+ attr_accessor :order_in_page
2517
+
2518
+ # List of products in the order they are displayed in the cluster. There should
2519
+ # not be duplicates within a cluster.
2520
+ # Corresponds to the JSON property `productId`
2521
+ # @return [Array<String>]
2522
+ attr_accessor :product_id
2523
+
2524
+ def initialize(**args)
2525
+ update!(**args)
2526
+ end
2527
+
2528
+ # Update properties of this object
2529
+ def update!(**args)
2530
+ @id = args[:id] if args.key?(:id)
2531
+ @name = args[:name] if args.key?(:name)
2532
+ @order_in_page = args[:order_in_page] if args.key?(:order_in_page)
2533
+ @product_id = args[:product_id] if args.key?(:product_id)
2534
+ end
2535
+ end
2536
+
2537
+ # General setting for the managed Google Play store layout, currently only
2538
+ # specifying the page to display the first time the store is opened.
2539
+ class StoreLayout
2540
+ include Google::Apis::Core::Hashable
2541
+
2542
+ # The ID of the store page to be used as the homepage. The homepage is the first
2543
+ # page shown in the managed Google Play Store. Not specifying a homepage is
2544
+ # equivalent to setting the store layout type to "basic".
2545
+ # Corresponds to the JSON property `homepageId`
2546
+ # @return [String]
2547
+ attr_accessor :homepage_id
2548
+
2549
+ # The store layout type. By default, this value is set to "basic" if the
2550
+ # homepageId field is not set, and to "custom" otherwise. If set to "basic", the
2551
+ # layout will consist of all approved apps that have been whitelisted for the
2552
+ # user.
2553
+ # Corresponds to the JSON property `storeLayoutType`
2554
+ # @return [String]
2555
+ attr_accessor :store_layout_type
2556
+
2557
+ def initialize(**args)
2558
+ update!(**args)
2559
+ end
2560
+
2561
+ # Update properties of this object
2562
+ def update!(**args)
2563
+ @homepage_id = args[:homepage_id] if args.key?(:homepage_id)
2564
+ @store_layout_type = args[:store_layout_type] if args.key?(:store_layout_type)
2565
+ end
2566
+ end
2567
+
2568
+ #
2569
+ class StoreLayoutClustersListResponse
2570
+ include Google::Apis::Core::Hashable
2571
+
2572
+ # A store cluster of an enterprise.
2573
+ # Corresponds to the JSON property `cluster`
2574
+ # @return [Array<Google::Apis::AndroidenterpriseV1::StoreCluster>]
2575
+ attr_accessor :cluster
2576
+
2577
+ def initialize(**args)
2578
+ update!(**args)
2579
+ end
2580
+
2581
+ # Update properties of this object
2582
+ def update!(**args)
2583
+ @cluster = args[:cluster] if args.key?(:cluster)
2584
+ end
2585
+ end
2586
+
2587
+ #
2588
+ class StoreLayoutPagesListResponse
2589
+ include Google::Apis::Core::Hashable
2590
+
2591
+ # A store page of an enterprise.
2592
+ # Corresponds to the JSON property `page`
2593
+ # @return [Array<Google::Apis::AndroidenterpriseV1::StorePage>]
2594
+ attr_accessor :page
2595
+
2596
+ def initialize(**args)
2597
+ update!(**args)
2598
+ end
2599
+
2600
+ # Update properties of this object
2601
+ def update!(**args)
2602
+ @page = args[:page] if args.key?(:page)
2603
+ end
2604
+ end
2605
+
2606
+ # Definition of a managed Google Play store page, made of a localized name and
2607
+ # links to other pages. A page also contains clusters defined as a subcollection.
2608
+ class StorePage
2609
+ include Google::Apis::Core::Hashable
2610
+
2611
+ # Unique ID of this page. Assigned by the server. Immutable once assigned.
2612
+ # Corresponds to the JSON property `id`
2613
+ # @return [String]
2614
+ attr_accessor :id
2615
+
2616
+ # Ordered list of pages a user should be able to reach from this page. The list
2617
+ # can't include this page. It is recommended that the basic pages are created
2618
+ # first, before adding the links between pages. The API doesn't verify that the
2619
+ # pages exist or the pages are reachable.
2620
+ # Corresponds to the JSON property `link`
2621
+ # @return [Array<String>]
2622
+ attr_accessor :link
2623
+
2624
+ # Ordered list of localized strings giving the name of this page. The text
2625
+ # displayed is the one that best matches the user locale, or the first entry if
2626
+ # there is no good match. There needs to be at least one entry.
2627
+ # Corresponds to the JSON property `name`
2628
+ # @return [Array<Google::Apis::AndroidenterpriseV1::LocalizedText>]
2629
+ attr_accessor :name
2630
+
2631
+ def initialize(**args)
2632
+ update!(**args)
2633
+ end
2634
+
2635
+ # Update properties of this object
2636
+ def update!(**args)
2637
+ @id = args[:id] if args.key?(:id)
2638
+ @link = args[:link] if args.key?(:link)
2639
+ @name = args[:name] if args.key?(:name)
2640
+ end
2641
+ end
2642
+
2643
+ # Pagination information returned by a List operation when token pagination is
2644
+ # enabled. List operations that supports paging return only one "page" of
2645
+ # results. This protocol buffer message describes the page that has been
2646
+ # returned. When using token pagination, clients should use the next/previous
2647
+ # token to get another page of the result. The presence or absence of next/
2648
+ # previous token indicates whether a next/previous page is available and
2649
+ # provides a mean of accessing this page. ListRequest.page_token should be set
2650
+ # to either next_page_token or previous_page_token to access another page.
2651
+ class TokenPagination
2652
+ include Google::Apis::Core::Hashable
2653
+
2654
+ # Tokens to pass to the standard list field 'page_token'. Whenever available,
2655
+ # tokens are preferred over manipulating start_index.
2656
+ # Corresponds to the JSON property `nextPageToken`
2657
+ # @return [String]
2658
+ attr_accessor :next_page_token
2659
+
2660
+ #
2661
+ # Corresponds to the JSON property `previousPageToken`
2662
+ # @return [String]
2663
+ attr_accessor :previous_page_token
2664
+
2665
+ def initialize(**args)
2666
+ update!(**args)
2667
+ end
2668
+
2669
+ # Update properties of this object
2670
+ def update!(**args)
2671
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2672
+ @previous_page_token = args[:previous_page_token] if args.key?(:previous_page_token)
2673
+ end
2674
+ end
2675
+
2676
+ # Id to name association of a track.
2677
+ class TrackInfo
2678
+ include Google::Apis::Core::Hashable
2679
+
2680
+ # A modifiable name for a track. This is the visible name in the play developer
2681
+ # console.
2682
+ # Corresponds to the JSON property `trackAlias`
2683
+ # @return [String]
2684
+ attr_accessor :track_alias
2685
+
2686
+ # Unmodifiable, unique track identifier. This identifier is the releaseTrackId
2687
+ # in the url of the play developer console page that displays the track
2688
+ # information.
2689
+ # Corresponds to the JSON property `trackId`
2690
+ # @return [String]
2691
+ attr_accessor :track_id
2692
+
2693
+ def initialize(**args)
2694
+ update!(**args)
2695
+ end
2696
+
2697
+ # Update properties of this object
2698
+ def update!(**args)
2699
+ @track_alias = args[:track_alias] if args.key?(:track_alias)
2700
+ @track_id = args[:track_id] if args.key?(:track_id)
2701
+ end
2702
+ end
2703
+
2704
+ # A Users resource represents an account associated with an enterprise. The
2705
+ # account may be specific to a device or to an individual user (who can then use
2706
+ # the account across multiple devices). The account may provide access to
2707
+ # managed Google Play only, or to other Google services, depending on the
2708
+ # identity model: - The Google managed domain identity model requires
2709
+ # synchronization to Google account sources (via primaryEmail). - The managed
2710
+ # Google Play Accounts identity model provides a dynamic means for enterprises
2711
+ # to create user or device accounts as needed. These accounts provide access to
2712
+ # managed Google Play.
2713
+ class User
2714
+ include Google::Apis::Core::Hashable
2715
+
2716
+ # A unique identifier you create for this user, such as "user342" or "asset#
2717
+ # 44418". Do not use personally identifiable information (PII) for this property.
2718
+ # Must always be set for EMM-managed users. Not set for Google-managed users.
2719
+ # Corresponds to the JSON property `accountIdentifier`
2720
+ # @return [String]
2721
+ attr_accessor :account_identifier
2722
+
2723
+ # The type of account that this user represents. A userAccount can be installed
2724
+ # on multiple devices, but a deviceAccount is specific to a single device. An
2725
+ # EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount),
2726
+ # but a Google-managed user (googleManaged) is always a userAccount.
2727
+ # Corresponds to the JSON property `accountType`
2728
+ # @return [String]
2729
+ attr_accessor :account_type
2730
+
2731
+ # The name that will appear in user interfaces. Setting this property is
2732
+ # optional when creating EMM-managed users. If you do set this property, use
2733
+ # something generic about the organization (such as "Example, Inc.") or your
2734
+ # name (as EMM). Not used for Google-managed user accounts. @mutable
2735
+ # androidenterprise.users.update
2736
+ # Corresponds to the JSON property `displayName`
2737
+ # @return [String]
2738
+ attr_accessor :display_name
2739
+
2740
+ # The unique ID for the user.
2741
+ # Corresponds to the JSON property `id`
2742
+ # @return [String]
2743
+ attr_accessor :id
2744
+
2745
+ # The entity that manages the user. With googleManaged users, the source of
2746
+ # truth is Google so EMMs have to make sure a Google Account exists for the user.
2747
+ # With emmManaged users, the EMM is in charge.
2748
+ # Corresponds to the JSON property `managementType`
2749
+ # @return [String]
2750
+ attr_accessor :management_type
2751
+
2752
+ # The user's primary email address, for example, "jsmith@example.com". Will
2753
+ # always be set for Google managed users and not set for EMM managed users.
2754
+ # Corresponds to the JSON property `primaryEmail`
2755
+ # @return [String]
2756
+ attr_accessor :primary_email
2757
+
2758
+ def initialize(**args)
2759
+ update!(**args)
2760
+ end
2761
+
2762
+ # Update properties of this object
2763
+ def update!(**args)
2764
+ @account_identifier = args[:account_identifier] if args.key?(:account_identifier)
2765
+ @account_type = args[:account_type] if args.key?(:account_type)
2766
+ @display_name = args[:display_name] if args.key?(:display_name)
2767
+ @id = args[:id] if args.key?(:id)
2768
+ @management_type = args[:management_type] if args.key?(:management_type)
2769
+ @primary_email = args[:primary_email] if args.key?(:primary_email)
2770
+ end
2771
+ end
2772
+
2773
+ #
2774
+ class ListUsersResponse
2775
+ include Google::Apis::Core::Hashable
2776
+
2777
+ # A user of an enterprise.
2778
+ # Corresponds to the JSON property `user`
2779
+ # @return [Array<Google::Apis::AndroidenterpriseV1::User>]
2780
+ attr_accessor :user
2781
+
2782
+ def initialize(**args)
2783
+ update!(**args)
2784
+ end
2785
+
2786
+ # Update properties of this object
2787
+ def update!(**args)
2788
+ @user = args[:user] if args.key?(:user)
2789
+ end
2790
+ end
2791
+
2792
+ # A variable set is a key-value pair of EMM-provided placeholders and its
2793
+ # corresponding value, which is attributed to a user. For example, $FIRSTNAME
2794
+ # could be a placeholder, and its value could be Alice. Placeholders should
2795
+ # start with a '$' sign and should be alphanumeric only.
2796
+ class VariableSet
2797
+ include Google::Apis::Core::Hashable
2798
+
2799
+ # The placeholder string; defined by EMM.
2800
+ # Corresponds to the JSON property `placeholder`
2801
+ # @return [String]
2802
+ attr_accessor :placeholder
2803
+
2804
+ # The value of the placeholder, specific to the user.
2805
+ # Corresponds to the JSON property `userValue`
2806
+ # @return [String]
2807
+ attr_accessor :user_value
2808
+
2809
+ def initialize(**args)
2810
+ update!(**args)
2811
+ end
2812
+
2813
+ # Update properties of this object
2814
+ def update!(**args)
2815
+ @placeholder = args[:placeholder] if args.key?(:placeholder)
2816
+ @user_value = args[:user_value] if args.key?(:user_value)
2817
+ end
2818
+ end
2819
+
2820
+ # A WebApps resource represents a web app created for an enterprise. Web apps
2821
+ # are published to managed Google Play and can be distributed like other Android
2822
+ # apps. On a user's device, a web app opens its specified URL.
2823
+ class WebApp
2824
+ include Google::Apis::Core::Hashable
2825
+
2826
+ # The display mode of the web app. Possible values include: - "minimalUi", the
2827
+ # device's status bar, navigation bar, the app's URL, and a refresh button are
2828
+ # visible when the app is open. For HTTP URLs, you can only select this option. -
2829
+ # "standalone", the device's status bar and navigation bar are visible when the
2830
+ # app is open. - "fullScreen", the app opens in full screen mode, hiding the
2831
+ # device's status and navigation bars. All browser UI elements, page URL, system
2832
+ # status bar and back button are not visible, and the web app takes up the
2833
+ # entirety of the available display area.
2834
+ # Corresponds to the JSON property `displayMode`
2835
+ # @return [String]
2836
+ attr_accessor :display_mode
2837
+
2838
+ # A list of icons representing this website. If absent, a default icon (for
2839
+ # create) or the current icon (for update) will be used.
2840
+ # Corresponds to the JSON property `icons`
2841
+ # @return [Array<Google::Apis::AndroidenterpriseV1::WebAppIcon>]
2842
+ attr_accessor :icons
2843
+
2844
+ # A flag whether the app has been published to the Play store yet.
2845
+ # Corresponds to the JSON property `isPublished`
2846
+ # @return [Boolean]
2847
+ attr_accessor :is_published
2848
+ alias_method :is_published?, :is_published
2849
+
2850
+ # The start URL, i.e. the URL that should load when the user opens the
2851
+ # application.
2852
+ # Corresponds to the JSON property `startUrl`
2853
+ # @return [String]
2854
+ attr_accessor :start_url
2855
+
2856
+ # The title of the web app as displayed to the user (e.g., amongst a list of
2857
+ # other applications, or as a label for an icon).
2858
+ # Corresponds to the JSON property `title`
2859
+ # @return [String]
2860
+ attr_accessor :title
2861
+
2862
+ # The current version of the app. Note that the version can automatically
2863
+ # increase during the lifetime of the web app, while Google does internal
2864
+ # housekeeping to keep the web app up-to-date.
2865
+ # Corresponds to the JSON property `versionCode`
2866
+ # @return [Fixnum]
2867
+ attr_accessor :version_code
2868
+
2869
+ # The ID of the application. A string of the form "app:<package name>" where the
2870
+ # package name always starts with the prefix "com.google.enterprise.webapp."
2871
+ # followed by a random id.
2872
+ # Corresponds to the JSON property `webAppId`
2873
+ # @return [String]
2874
+ attr_accessor :web_app_id
2875
+
2876
+ def initialize(**args)
2877
+ update!(**args)
2878
+ end
2879
+
2880
+ # Update properties of this object
2881
+ def update!(**args)
2882
+ @display_mode = args[:display_mode] if args.key?(:display_mode)
2883
+ @icons = args[:icons] if args.key?(:icons)
2884
+ @is_published = args[:is_published] if args.key?(:is_published)
2885
+ @start_url = args[:start_url] if args.key?(:start_url)
2886
+ @title = args[:title] if args.key?(:title)
2887
+ @version_code = args[:version_code] if args.key?(:version_code)
2888
+ @web_app_id = args[:web_app_id] if args.key?(:web_app_id)
2889
+ end
2890
+ end
2891
+
2892
+ # Icon for a web app.
2893
+ class WebAppIcon
2894
+ include Google::Apis::Core::Hashable
2895
+
2896
+ # The actual bytes of the image in a base64url encoded string (c.f. RFC4648,
2897
+ # section 5 "Base 64 Encoding with URL and Filename Safe Alphabet"). - The image
2898
+ # type can be png or jpg. - The image should ideally be square. - The image
2899
+ # should ideally have a size of 512x512.
2900
+ # Corresponds to the JSON property `imageData`
2901
+ # @return [String]
2902
+ attr_accessor :image_data
2903
+
2904
+ def initialize(**args)
2905
+ update!(**args)
2906
+ end
2907
+
2908
+ # Update properties of this object
2909
+ def update!(**args)
2910
+ @image_data = args[:image_data] if args.key?(:image_data)
2911
+ end
2912
+ end
2913
+
2914
+ #
2915
+ class WebAppsListResponse
2916
+ include Google::Apis::Core::Hashable
2917
+
2918
+ # The manifest describing a web app.
2919
+ # Corresponds to the JSON property `webApp`
2920
+ # @return [Array<Google::Apis::AndroidenterpriseV1::WebApp>]
2921
+ attr_accessor :web_app
2922
+
2923
+ def initialize(**args)
2924
+ update!(**args)
2925
+ end
2926
+
2927
+ # Update properties of this object
2928
+ def update!(**args)
2929
+ @web_app = args[:web_app] if args.key?(:web_app)
2930
+ end
2931
+ end
2932
+ end
2933
+ end
2934
+ end