google-cloud-os_login-v1beta 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module OsLogin
23
+ module Common
24
+ # The POSIX account information associated with a Google account.
25
+ # @!attribute [rw] primary
26
+ # @return [::Boolean]
27
+ # Only one POSIX account can be marked as primary.
28
+ # @!attribute [rw] username
29
+ # @return [::String]
30
+ # The username of the POSIX account.
31
+ # @!attribute [rw] uid
32
+ # @return [::Integer]
33
+ # The user ID.
34
+ # @!attribute [rw] gid
35
+ # @return [::Integer]
36
+ # The default group ID.
37
+ # @!attribute [rw] home_directory
38
+ # @return [::String]
39
+ # The path to the home directory for this account.
40
+ # @!attribute [rw] shell
41
+ # @return [::String]
42
+ # The path to the logic shell for this account.
43
+ # @!attribute [rw] gecos
44
+ # @return [::String]
45
+ # The GECOS (user information) entry for this account.
46
+ # @!attribute [rw] system_id
47
+ # @return [::String]
48
+ # System identifier for which account the username or uid applies to.
49
+ # By default, the empty value is used.
50
+ # @!attribute [r] account_id
51
+ # @return [::String]
52
+ # Output only. A POSIX account identifier.
53
+ # @!attribute [rw] operating_system_type
54
+ # @return [::Google::Cloud::OsLogin::Common::OperatingSystemType]
55
+ # The operating system type where this account applies.
56
+ # @!attribute [r] name
57
+ # @return [::String]
58
+ # Output only. The canonical resource name.
59
+ class PosixAccount
60
+ include ::Google::Protobuf::MessageExts
61
+ extend ::Google::Protobuf::MessageExts::ClassMethods
62
+ end
63
+
64
+ # The SSH public key information associated with a Google account.
65
+ # @!attribute [rw] key
66
+ # @return [::String]
67
+ # Public key text in SSH format, defined by
68
+ # <a href="https://www.ietf.org/rfc/rfc4253.txt" target="_blank">RFC4253</a>
69
+ # section 6.6.
70
+ # @!attribute [rw] expiration_time_usec
71
+ # @return [::Integer]
72
+ # An expiration time in microseconds since epoch.
73
+ # @!attribute [r] fingerprint
74
+ # @return [::String]
75
+ # Output only. The SHA-256 fingerprint of the SSH public key.
76
+ # @!attribute [r] name
77
+ # @return [::String]
78
+ # Output only. The canonical resource name.
79
+ class SshPublicKey
80
+ include ::Google::Protobuf::MessageExts
81
+ extend ::Google::Protobuf::MessageExts::ClassMethods
82
+ end
83
+
84
+ # The operating system options for account entries.
85
+ module OperatingSystemType
86
+ # The operating system type associated with the user account information is
87
+ # unspecified.
88
+ OPERATING_SYSTEM_TYPE_UNSPECIFIED = 0
89
+
90
+ # Linux user account information.
91
+ LINUX = 1
92
+
93
+ # Windows user account information.
94
+ WINDOWS = 2
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,140 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module OsLogin
23
+ module V1beta
24
+ # The user profile information used for logging in to a virtual machine on
25
+ # Google Compute Engine.
26
+ # @!attribute [rw] name
27
+ # @return [::String]
28
+ # Required. A unique user ID.
29
+ # @!attribute [rw] posix_accounts
30
+ # @return [::Array<::Google::Cloud::OsLogin::Common::PosixAccount>]
31
+ # The list of POSIX accounts associated with the user.
32
+ # @!attribute [rw] ssh_public_keys
33
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::OsLogin::Common::SshPublicKey}]
34
+ # A map from SSH public key fingerprint to the associated key object.
35
+ class LoginProfile
36
+ include ::Google::Protobuf::MessageExts
37
+ extend ::Google::Protobuf::MessageExts::ClassMethods
38
+
39
+ # @!attribute [rw] key
40
+ # @return [::String]
41
+ # @!attribute [rw] value
42
+ # @return [::Google::Cloud::OsLogin::Common::SshPublicKey]
43
+ class SshPublicKeysEntry
44
+ include ::Google::Protobuf::MessageExts
45
+ extend ::Google::Protobuf::MessageExts::ClassMethods
46
+ end
47
+ end
48
+
49
+ # A request message for deleting a POSIX account entry.
50
+ # @!attribute [rw] name
51
+ # @return [::String]
52
+ # Required. A reference to the POSIX account to update. POSIX accounts are identified
53
+ # by the project ID they are associated with. A reference to the POSIX
54
+ # account is in format `users/{user}/projects/{project}`.
55
+ class DeletePosixAccountRequest
56
+ include ::Google::Protobuf::MessageExts
57
+ extend ::Google::Protobuf::MessageExts::ClassMethods
58
+ end
59
+
60
+ # A request message for deleting an SSH public key.
61
+ # @!attribute [rw] name
62
+ # @return [::String]
63
+ # Required. The fingerprint of the public key to update. Public keys are identified by
64
+ # their SHA-256 fingerprint. The fingerprint of the public key is in format
65
+ # `users/{user}/sshPublicKeys/{fingerprint}`.
66
+ class DeleteSshPublicKeyRequest
67
+ include ::Google::Protobuf::MessageExts
68
+ extend ::Google::Protobuf::MessageExts::ClassMethods
69
+ end
70
+
71
+ # A request message for retrieving the login profile information for a user.
72
+ # @!attribute [rw] name
73
+ # @return [::String]
74
+ # Required. The unique ID for the user in format `users/{user}`.
75
+ # @!attribute [rw] project_id
76
+ # @return [::String]
77
+ # The project ID of the Google Cloud Platform project.
78
+ # @!attribute [rw] system_id
79
+ # @return [::String]
80
+ # A system ID for filtering the results of the request.
81
+ class GetLoginProfileRequest
82
+ include ::Google::Protobuf::MessageExts
83
+ extend ::Google::Protobuf::MessageExts::ClassMethods
84
+ end
85
+
86
+ # A request message for retrieving an SSH public key.
87
+ # @!attribute [rw] name
88
+ # @return [::String]
89
+ # Required. The fingerprint of the public key to retrieve. Public keys are identified
90
+ # by their SHA-256 fingerprint. The fingerprint of the public key is in
91
+ # format `users/{user}/sshPublicKeys/{fingerprint}`.
92
+ class GetSshPublicKeyRequest
93
+ include ::Google::Protobuf::MessageExts
94
+ extend ::Google::Protobuf::MessageExts::ClassMethods
95
+ end
96
+
97
+ # A request message for importing an SSH public key.
98
+ # @!attribute [rw] parent
99
+ # @return [::String]
100
+ # The unique ID for the user in format `users/{user}`.
101
+ # @!attribute [rw] ssh_public_key
102
+ # @return [::Google::Cloud::OsLogin::Common::SshPublicKey]
103
+ # Required. The SSH public key and expiration time.
104
+ # @!attribute [rw] project_id
105
+ # @return [::String]
106
+ # The project ID of the Google Cloud Platform project.
107
+ class ImportSshPublicKeyRequest
108
+ include ::Google::Protobuf::MessageExts
109
+ extend ::Google::Protobuf::MessageExts::ClassMethods
110
+ end
111
+
112
+ # A response message for importing an SSH public key.
113
+ # @!attribute [rw] login_profile
114
+ # @return [::Google::Cloud::OsLogin::V1beta::LoginProfile]
115
+ # The login profile information for the user.
116
+ class ImportSshPublicKeyResponse
117
+ include ::Google::Protobuf::MessageExts
118
+ extend ::Google::Protobuf::MessageExts::ClassMethods
119
+ end
120
+
121
+ # A request message for updating an SSH public key.
122
+ # @!attribute [rw] name
123
+ # @return [::String]
124
+ # Required. The fingerprint of the public key to update. Public keys are identified by
125
+ # their SHA-256 fingerprint. The fingerprint of the public key is in format
126
+ # `users/{user}/sshPublicKeys/{fingerprint}`.
127
+ # @!attribute [rw] ssh_public_key
128
+ # @return [::Google::Cloud::OsLogin::Common::SshPublicKey]
129
+ # Required. The SSH public key and expiration time.
130
+ # @!attribute [rw] update_mask
131
+ # @return [::Google::Protobuf::FieldMask]
132
+ # Mask to control which fields get updated. Updates all if not present.
133
+ class UpdateSshPublicKeyRequest
134
+ include ::Google::Protobuf::MessageExts
135
+ extend ::Google::Protobuf::MessageExts::ClassMethods
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # A generic empty message that you can re-use to avoid defining duplicated
23
+ # empty messages in your APIs. A typical example is to use it as the request
24
+ # or the response type of an API method. For instance:
25
+ #
26
+ # service Foo {
27
+ # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
28
+ # }
29
+ #
30
+ # The JSON representation for `Empty` is empty JSON object `{}`.
31
+ class Empty
32
+ include ::Google::Protobuf::MessageExts
33
+ extend ::Google::Protobuf::MessageExts::ClassMethods
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,229 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2020 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Protobuf
22
+ # `FieldMask` represents a set of symbolic field paths, for example:
23
+ #
24
+ # paths: "f.a"
25
+ # paths: "f.b.d"
26
+ #
27
+ # Here `f` represents a field in some root message, `a` and `b`
28
+ # fields in the message found in `f`, and `d` a field found in the
29
+ # message in `f.b`.
30
+ #
31
+ # Field masks are used to specify a subset of fields that should be
32
+ # returned by a get operation or modified by an update operation.
33
+ # Field masks also have a custom JSON encoding (see below).
34
+ #
35
+ # # Field Masks in Projections
36
+ #
37
+ # When used in the context of a projection, a response message or
38
+ # sub-message is filtered by the API to only contain those fields as
39
+ # specified in the mask. For example, if the mask in the previous
40
+ # example is applied to a response message as follows:
41
+ #
42
+ # f {
43
+ # a : 22
44
+ # b {
45
+ # d : 1
46
+ # x : 2
47
+ # }
48
+ # y : 13
49
+ # }
50
+ # z: 8
51
+ #
52
+ # The result will not contain specific values for fields x,y and z
53
+ # (their value will be set to the default, and omitted in proto text
54
+ # output):
55
+ #
56
+ #
57
+ # f {
58
+ # a : 22
59
+ # b {
60
+ # d : 1
61
+ # }
62
+ # }
63
+ #
64
+ # A repeated field is not allowed except at the last position of a
65
+ # paths string.
66
+ #
67
+ # If a FieldMask object is not present in a get operation, the
68
+ # operation applies to all fields (as if a FieldMask of all fields
69
+ # had been specified).
70
+ #
71
+ # Note that a field mask does not necessarily apply to the
72
+ # top-level response message. In case of a REST get operation, the
73
+ # field mask applies directly to the response, but in case of a REST
74
+ # list operation, the mask instead applies to each individual message
75
+ # in the returned resource list. In case of a REST custom method,
76
+ # other definitions may be used. Where the mask applies will be
77
+ # clearly documented together with its declaration in the API. In
78
+ # any case, the effect on the returned resource/resources is required
79
+ # behavior for APIs.
80
+ #
81
+ # # Field Masks in Update Operations
82
+ #
83
+ # A field mask in update operations specifies which fields of the
84
+ # targeted resource are going to be updated. The API is required
85
+ # to only change the values of the fields as specified in the mask
86
+ # and leave the others untouched. If a resource is passed in to
87
+ # describe the updated values, the API ignores the values of all
88
+ # fields not covered by the mask.
89
+ #
90
+ # If a repeated field is specified for an update operation, new values will
91
+ # be appended to the existing repeated field in the target resource. Note that
92
+ # a repeated field is only allowed in the last position of a `paths` string.
93
+ #
94
+ # If a sub-message is specified in the last position of the field mask for an
95
+ # update operation, then new value will be merged into the existing sub-message
96
+ # in the target resource.
97
+ #
98
+ # For example, given the target message:
99
+ #
100
+ # f {
101
+ # b {
102
+ # d: 1
103
+ # x: 2
104
+ # }
105
+ # c: [1]
106
+ # }
107
+ #
108
+ # And an update message:
109
+ #
110
+ # f {
111
+ # b {
112
+ # d: 10
113
+ # }
114
+ # c: [2]
115
+ # }
116
+ #
117
+ # then if the field mask is:
118
+ #
119
+ # paths: ["f.b", "f.c"]
120
+ #
121
+ # then the result will be:
122
+ #
123
+ # f {
124
+ # b {
125
+ # d: 10
126
+ # x: 2
127
+ # }
128
+ # c: [1, 2]
129
+ # }
130
+ #
131
+ # An implementation may provide options to override this default behavior for
132
+ # repeated and message fields.
133
+ #
134
+ # In order to reset a field's value to the default, the field must
135
+ # be in the mask and set to the default value in the provided resource.
136
+ # Hence, in order to reset all fields of a resource, provide a default
137
+ # instance of the resource and set all fields in the mask, or do
138
+ # not provide a mask as described below.
139
+ #
140
+ # If a field mask is not present on update, the operation applies to
141
+ # all fields (as if a field mask of all fields has been specified).
142
+ # Note that in the presence of schema evolution, this may mean that
143
+ # fields the client does not know and has therefore not filled into
144
+ # the request will be reset to their default. If this is unwanted
145
+ # behavior, a specific service may require a client to always specify
146
+ # a field mask, producing an error if not.
147
+ #
148
+ # As with get operations, the location of the resource which
149
+ # describes the updated values in the request message depends on the
150
+ # operation kind. In any case, the effect of the field mask is
151
+ # required to be honored by the API.
152
+ #
153
+ # ## Considerations for HTTP REST
154
+ #
155
+ # The HTTP kind of an update operation which uses a field mask must
156
+ # be set to PATCH instead of PUT in order to satisfy HTTP semantics
157
+ # (PUT must only be used for full updates).
158
+ #
159
+ # # JSON Encoding of Field Masks
160
+ #
161
+ # In JSON, a field mask is encoded as a single string where paths are
162
+ # separated by a comma. Fields name in each path are converted
163
+ # to/from lower-camel naming conventions.
164
+ #
165
+ # As an example, consider the following message declarations:
166
+ #
167
+ # message Profile {
168
+ # User user = 1;
169
+ # Photo photo = 2;
170
+ # }
171
+ # message User {
172
+ # string display_name = 1;
173
+ # string address = 2;
174
+ # }
175
+ #
176
+ # In proto a field mask for `Profile` may look as such:
177
+ #
178
+ # mask {
179
+ # paths: "user.display_name"
180
+ # paths: "photo"
181
+ # }
182
+ #
183
+ # In JSON, the same mask is represented as below:
184
+ #
185
+ # {
186
+ # mask: "user.displayName,photo"
187
+ # }
188
+ #
189
+ # # Field Masks and Oneof Fields
190
+ #
191
+ # Field masks treat fields in oneofs just as regular fields. Consider the
192
+ # following message:
193
+ #
194
+ # message SampleMessage {
195
+ # oneof test_oneof {
196
+ # string name = 4;
197
+ # SubMessage sub_message = 9;
198
+ # }
199
+ # }
200
+ #
201
+ # The field mask can be:
202
+ #
203
+ # mask {
204
+ # paths: "name"
205
+ # }
206
+ #
207
+ # Or:
208
+ #
209
+ # mask {
210
+ # paths: "sub_message"
211
+ # }
212
+ #
213
+ # Note that oneof type names ("test_oneof" in this case) cannot be used in
214
+ # paths.
215
+ #
216
+ # ## Field Mask Verification
217
+ #
218
+ # The implementation of any API method which has a FieldMask type field in the
219
+ # request should verify the included field paths, and return an
220
+ # `INVALID_ARGUMENT` error if any path is unmappable.
221
+ # @!attribute [rw] paths
222
+ # @return [::Array<::String>]
223
+ # The set of field mask paths.
224
+ class FieldMask
225
+ include ::Google::Protobuf::MessageExts
226
+ extend ::Google::Protobuf::MessageExts::ClassMethods
227
+ end
228
+ end
229
+ end