kaggle 1.8.0__py3-none-any.whl → 1.8.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- kaggle/__init__.py +1 -1
- kaggle/api/kaggle_api_extended.py +24 -2
- {kaggle-1.8.0.dist-info → kaggle-1.8.3.dist-info}/METADATA +4 -3
- kaggle-1.8.3.dist-info/RECORD +28 -0
- {kaggle-1.8.0.dist-info → kaggle-1.8.3.dist-info}/WHEEL +1 -1
- kaggle-1.8.0.dist-info/RECORD +0 -148
- kagglesdk/LICENSE +0 -201
- kagglesdk/__init__.py +0 -6
- kagglesdk/admin/__init__.py +0 -0
- kagglesdk/admin/services/__init__.py +0 -0
- kagglesdk/admin/services/inbox_file_service.py +0 -22
- kagglesdk/admin/types/__init__.py +0 -0
- kagglesdk/admin/types/inbox_file_service.py +0 -74
- kagglesdk/benchmarks/__init__.py +0 -0
- kagglesdk/benchmarks/services/__init__.py +0 -0
- kagglesdk/benchmarks/services/benchmarks_api_service.py +0 -19
- kagglesdk/benchmarks/types/__init__.py +0 -0
- kagglesdk/benchmarks/types/benchmark_types.py +0 -307
- kagglesdk/benchmarks/types/benchmarks_api_service.py +0 -243
- kagglesdk/blobs/__init__.py +0 -0
- kagglesdk/blobs/services/__init__.py +0 -0
- kagglesdk/blobs/services/blob_api_service.py +0 -25
- kagglesdk/blobs/types/__init__.py +0 -0
- kagglesdk/blobs/types/blob_api_service.py +0 -177
- kagglesdk/common/__init__.py +0 -0
- kagglesdk/common/services/__init__.py +0 -0
- kagglesdk/common/services/operations_service.py +0 -46
- kagglesdk/common/types/__init__.py +0 -0
- kagglesdk/common/types/file_download.py +0 -102
- kagglesdk/common/types/http_redirect.py +0 -105
- kagglesdk/common/types/operations.py +0 -194
- kagglesdk/common/types/operations_service.py +0 -48
- kagglesdk/community/__init__.py +0 -0
- kagglesdk/community/types/__init__.py +0 -0
- kagglesdk/community/types/content_enums.py +0 -44
- kagglesdk/community/types/organization.py +0 -410
- kagglesdk/competitions/__init__.py +0 -0
- kagglesdk/competitions/services/__init__.py +0 -0
- kagglesdk/competitions/services/competition_api_service.py +0 -178
- kagglesdk/competitions/types/__init__.py +0 -0
- kagglesdk/competitions/types/competition.py +0 -14
- kagglesdk/competitions/types/competition_api_service.py +0 -2393
- kagglesdk/competitions/types/competition_enums.py +0 -53
- kagglesdk/competitions/types/search_competitions.py +0 -28
- kagglesdk/competitions/types/submission_status.py +0 -9
- kagglesdk/datasets/__init__.py +0 -0
- kagglesdk/datasets/databundles/__init__.py +0 -0
- kagglesdk/datasets/databundles/types/__init__.py +0 -0
- kagglesdk/datasets/databundles/types/databundle_api_types.py +0 -540
- kagglesdk/datasets/services/__init__.py +0 -0
- kagglesdk/datasets/services/dataset_api_service.py +0 -195
- kagglesdk/datasets/types/__init__.py +0 -0
- kagglesdk/datasets/types/dataset_api_service.py +0 -3047
- kagglesdk/datasets/types/dataset_enums.py +0 -103
- kagglesdk/datasets/types/dataset_service.py +0 -145
- kagglesdk/datasets/types/dataset_types.py +0 -646
- kagglesdk/datasets/types/search_datasets.py +0 -6
- kagglesdk/discussions/__init__.py +0 -0
- kagglesdk/discussions/types/__init__.py +0 -0
- kagglesdk/discussions/types/search_discussions.py +0 -43
- kagglesdk/discussions/types/writeup_enums.py +0 -11
- kagglesdk/education/__init__.py +0 -0
- kagglesdk/education/services/__init__.py +0 -0
- kagglesdk/education/services/education_api_service.py +0 -19
- kagglesdk/education/types/__init__.py +0 -0
- kagglesdk/education/types/education_api_service.py +0 -248
- kagglesdk/education/types/education_service.py +0 -139
- kagglesdk/kaggle_client.py +0 -101
- kagglesdk/kaggle_creds.py +0 -148
- kagglesdk/kaggle_env.py +0 -104
- kagglesdk/kaggle_http_client.py +0 -261
- kagglesdk/kaggle_oauth.py +0 -200
- kagglesdk/kaggle_object.py +0 -344
- kagglesdk/kernels/__init__.py +0 -0
- kagglesdk/kernels/services/__init__.py +0 -0
- kagglesdk/kernels/services/kernels_api_service.py +0 -146
- kagglesdk/kernels/types/__init__.py +0 -0
- kagglesdk/kernels/types/kernels_api_service.py +0 -2451
- kagglesdk/kernels/types/kernels_enums.py +0 -39
- kagglesdk/kernels/types/search_kernels.py +0 -6
- kagglesdk/licenses/__init__.py +0 -0
- kagglesdk/licenses/types/__init__.py +0 -0
- kagglesdk/licenses/types/licenses_types.py +0 -182
- kagglesdk/models/__init__.py +0 -0
- kagglesdk/models/services/__init__.py +0 -0
- kagglesdk/models/services/model_api_service.py +0 -280
- kagglesdk/models/services/model_service.py +0 -19
- kagglesdk/models/types/__init__.py +0 -0
- kagglesdk/models/types/model_api_service.py +0 -4069
- kagglesdk/models/types/model_enums.py +0 -68
- kagglesdk/models/types/model_service.py +0 -275
- kagglesdk/models/types/model_types.py +0 -1338
- kagglesdk/models/types/search_models.py +0 -8
- kagglesdk/search/__init__.py +0 -0
- kagglesdk/search/services/__init__.py +0 -0
- kagglesdk/search/services/search_api_service.py +0 -19
- kagglesdk/search/types/__init__.py +0 -0
- kagglesdk/search/types/search_api_service.py +0 -2435
- kagglesdk/search/types/search_content_shared.py +0 -50
- kagglesdk/search/types/search_enums.py +0 -45
- kagglesdk/search/types/search_service.py +0 -303
- kagglesdk/security/__init__.py +0 -0
- kagglesdk/security/services/__init__.py +0 -0
- kagglesdk/security/services/iam_service.py +0 -31
- kagglesdk/security/services/oauth_service.py +0 -58
- kagglesdk/security/types/__init__.py +0 -0
- kagglesdk/security/types/authentication.py +0 -171
- kagglesdk/security/types/iam_service.py +0 -496
- kagglesdk/security/types/oauth_service.py +0 -1181
- kagglesdk/security/types/roles.py +0 -8
- kagglesdk/security/types/security_types.py +0 -159
- kagglesdk/test/__init__.py +0 -0
- kagglesdk/test/test_client.py +0 -41
- kagglesdk/users/__init__.py +0 -0
- kagglesdk/users/services/__init__.py +0 -0
- kagglesdk/users/services/account_service.py +0 -31
- kagglesdk/users/services/group_api_service.py +0 -31
- kagglesdk/users/types/__init__.py +0 -0
- kagglesdk/users/types/account_service.py +0 -345
- kagglesdk/users/types/group_api_service.py +0 -315
- kagglesdk/users/types/group_types.py +0 -165
- kagglesdk/users/types/groups_enum.py +0 -8
- kagglesdk/users/types/progression_service.py +0 -9
- kagglesdk/users/types/search_users.py +0 -23
- kagglesdk/users/types/user_avatar.py +0 -226
- kagglesdk/users/types/users_enums.py +0 -22
- {kaggle-1.8.0.dist-info → kaggle-1.8.3.dist-info}/entry_points.txt +0 -0
- {kaggle-1.8.0.dist-info → kaggle-1.8.3.dist-info}/licenses/LICENSE.txt +0 -0
|
@@ -1,496 +0,0 @@
|
|
|
1
|
-
from kagglesdk.community.types.organization import Organization
|
|
2
|
-
from kagglesdk.kaggle_object import *
|
|
3
|
-
from kagglesdk.security.types.roles import CanonicalRole
|
|
4
|
-
from kagglesdk.security.types.security_types import KaggleResourceId
|
|
5
|
-
from kagglesdk.users.types.group_types import UserManagedGroup
|
|
6
|
-
from kagglesdk.users.types.user_avatar import UserAvatar
|
|
7
|
-
from typing import Optional, List
|
|
8
|
-
|
|
9
|
-
class GetIamPolicyRequest(KaggleObject):
|
|
10
|
-
r"""
|
|
11
|
-
Request to get the IAM policy for a resource.
|
|
12
|
-
|
|
13
|
-
Attributes:
|
|
14
|
-
resource_id (KaggleResourceId)
|
|
15
|
-
ID of the resource for which to pull the policy.
|
|
16
|
-
"""
|
|
17
|
-
|
|
18
|
-
def __init__(self):
|
|
19
|
-
self._resource_id = None
|
|
20
|
-
self._freeze()
|
|
21
|
-
|
|
22
|
-
@property
|
|
23
|
-
def resource_id(self) -> Optional['KaggleResourceId']:
|
|
24
|
-
"""ID of the resource for which to pull the policy."""
|
|
25
|
-
return self._resource_id
|
|
26
|
-
|
|
27
|
-
@resource_id.setter
|
|
28
|
-
def resource_id(self, resource_id: Optional['KaggleResourceId']):
|
|
29
|
-
if resource_id is None:
|
|
30
|
-
del self.resource_id
|
|
31
|
-
return
|
|
32
|
-
if not isinstance(resource_id, KaggleResourceId):
|
|
33
|
-
raise TypeError('resource_id must be of type KaggleResourceId')
|
|
34
|
-
self._resource_id = resource_id
|
|
35
|
-
|
|
36
|
-
def endpoint(self):
|
|
37
|
-
path = '/api/v1/iam/get/{resource_id}'
|
|
38
|
-
return path.format_map(self.to_field_map(self))
|
|
39
|
-
|
|
40
|
-
@staticmethod
|
|
41
|
-
def endpoint_path():
|
|
42
|
-
return '/api/v1/iam/get/{resource_id}'
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
class GroupPrincipal(KaggleObject):
|
|
46
|
-
r"""
|
|
47
|
-
Attributes:
|
|
48
|
-
id (int)
|
|
49
|
-
slug (str)
|
|
50
|
-
avatar (UserManagedGroup)
|
|
51
|
-
"""
|
|
52
|
-
|
|
53
|
-
def __init__(self):
|
|
54
|
-
self._id = None
|
|
55
|
-
self._slug = None
|
|
56
|
-
self._avatar = None
|
|
57
|
-
self._freeze()
|
|
58
|
-
|
|
59
|
-
@property
|
|
60
|
-
def id(self) -> int:
|
|
61
|
-
return self._id or 0
|
|
62
|
-
|
|
63
|
-
@id.setter
|
|
64
|
-
def id(self, id: int):
|
|
65
|
-
if id is None:
|
|
66
|
-
del self.id
|
|
67
|
-
return
|
|
68
|
-
if not isinstance(id, int):
|
|
69
|
-
raise TypeError('id must be of type int')
|
|
70
|
-
del self.slug
|
|
71
|
-
self._id = id
|
|
72
|
-
|
|
73
|
-
@property
|
|
74
|
-
def slug(self) -> str:
|
|
75
|
-
return self._slug or ""
|
|
76
|
-
|
|
77
|
-
@slug.setter
|
|
78
|
-
def slug(self, slug: str):
|
|
79
|
-
if slug is None:
|
|
80
|
-
del self.slug
|
|
81
|
-
return
|
|
82
|
-
if not isinstance(slug, str):
|
|
83
|
-
raise TypeError('slug must be of type str')
|
|
84
|
-
del self.id
|
|
85
|
-
self._slug = slug
|
|
86
|
-
|
|
87
|
-
@property
|
|
88
|
-
def avatar(self) -> Optional['UserManagedGroup']:
|
|
89
|
-
return self._avatar
|
|
90
|
-
|
|
91
|
-
@avatar.setter
|
|
92
|
-
def avatar(self, avatar: Optional['UserManagedGroup']):
|
|
93
|
-
if avatar is None:
|
|
94
|
-
del self.avatar
|
|
95
|
-
return
|
|
96
|
-
if not isinstance(avatar, UserManagedGroup):
|
|
97
|
-
raise TypeError('avatar must be of type UserManagedGroup')
|
|
98
|
-
self._avatar = avatar
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
class IamPolicy(KaggleObject):
|
|
102
|
-
r"""
|
|
103
|
-
Defines an Identity and Access Management (IAM) policy. It is used to
|
|
104
|
-
specify access control policies for Kaggle resources.
|
|
105
|
-
|
|
106
|
-
Attributes:
|
|
107
|
-
bindings (IamPolicyBinding)
|
|
108
|
-
Associates a list of `principals` with a `role`.
|
|
109
|
-
If no binding is specified for a 'role' (see
|
|
110
|
-
kaggle.security.CanonicalRole), existing bindings for that 'role' are left
|
|
111
|
-
untouched. However, if a binding for a 'role' has no members (see
|
|
112
|
-
IamPolicyBinding.members), all access to that 'role' is revoked.
|
|
113
|
-
owner (Principal)
|
|
114
|
-
Owner of the resource provided for informational purposes. This is an
|
|
115
|
-
output only field, i.e., owner may not be changed even if this is set.
|
|
116
|
-
"""
|
|
117
|
-
|
|
118
|
-
def __init__(self):
|
|
119
|
-
self._bindings = []
|
|
120
|
-
self._owner = None
|
|
121
|
-
self._freeze()
|
|
122
|
-
|
|
123
|
-
@property
|
|
124
|
-
def bindings(self) -> Optional[List[Optional['IamPolicyBinding']]]:
|
|
125
|
-
r"""
|
|
126
|
-
Associates a list of `principals` with a `role`.
|
|
127
|
-
If no binding is specified for a 'role' (see
|
|
128
|
-
kaggle.security.CanonicalRole), existing bindings for that 'role' are left
|
|
129
|
-
untouched. However, if a binding for a 'role' has no members (see
|
|
130
|
-
IamPolicyBinding.members), all access to that 'role' is revoked.
|
|
131
|
-
"""
|
|
132
|
-
return self._bindings
|
|
133
|
-
|
|
134
|
-
@bindings.setter
|
|
135
|
-
def bindings(self, bindings: Optional[List[Optional['IamPolicyBinding']]]):
|
|
136
|
-
if bindings is None:
|
|
137
|
-
del self.bindings
|
|
138
|
-
return
|
|
139
|
-
if not isinstance(bindings, list):
|
|
140
|
-
raise TypeError('bindings must be of type list')
|
|
141
|
-
if not all([isinstance(t, IamPolicyBinding) for t in bindings]):
|
|
142
|
-
raise TypeError('bindings must contain only items of type IamPolicyBinding')
|
|
143
|
-
self._bindings = bindings
|
|
144
|
-
|
|
145
|
-
@property
|
|
146
|
-
def owner(self) -> Optional['Principal']:
|
|
147
|
-
r"""
|
|
148
|
-
Owner of the resource provided for informational purposes. This is an
|
|
149
|
-
output only field, i.e., owner may not be changed even if this is set.
|
|
150
|
-
"""
|
|
151
|
-
return self._owner
|
|
152
|
-
|
|
153
|
-
@owner.setter
|
|
154
|
-
def owner(self, owner: Optional['Principal']):
|
|
155
|
-
if owner is None:
|
|
156
|
-
del self.owner
|
|
157
|
-
return
|
|
158
|
-
if not isinstance(owner, Principal):
|
|
159
|
-
raise TypeError('owner must be of type Principal')
|
|
160
|
-
self._owner = owner
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
class IamPolicyBinding(KaggleObject):
|
|
164
|
-
r"""
|
|
165
|
-
Associates a list of `principals` with a `role`.
|
|
166
|
-
|
|
167
|
-
Attributes:
|
|
168
|
-
role (CanonicalRole)
|
|
169
|
-
Canonical role that is assigned to `members`.
|
|
170
|
-
For example: `Viewer`, `Editor` and `Owner`.
|
|
171
|
-
members (Principal)
|
|
172
|
-
Specifies the principals requesting access for a Kaggle resource.
|
|
173
|
-
If not specified or empty, revokes access to 'role'. Otherwise, sets the
|
|
174
|
-
members to the specified value. In other words, overrides existing members
|
|
175
|
-
are overriden so if you want to add a new member, you need to specify
|
|
176
|
-
existing members as well.
|
|
177
|
-
"""
|
|
178
|
-
|
|
179
|
-
def __init__(self):
|
|
180
|
-
self._role = CanonicalRole.CANONICAL_ROLE_UNSPECIFIED
|
|
181
|
-
self._members = []
|
|
182
|
-
self._freeze()
|
|
183
|
-
|
|
184
|
-
@property
|
|
185
|
-
def role(self) -> 'CanonicalRole':
|
|
186
|
-
r"""
|
|
187
|
-
Canonical role that is assigned to `members`.
|
|
188
|
-
For example: `Viewer`, `Editor` and `Owner`.
|
|
189
|
-
"""
|
|
190
|
-
return self._role
|
|
191
|
-
|
|
192
|
-
@role.setter
|
|
193
|
-
def role(self, role: 'CanonicalRole'):
|
|
194
|
-
if role is None:
|
|
195
|
-
del self.role
|
|
196
|
-
return
|
|
197
|
-
if not isinstance(role, CanonicalRole):
|
|
198
|
-
raise TypeError('role must be of type CanonicalRole')
|
|
199
|
-
self._role = role
|
|
200
|
-
|
|
201
|
-
@property
|
|
202
|
-
def members(self) -> Optional[List[Optional['Principal']]]:
|
|
203
|
-
r"""
|
|
204
|
-
Specifies the principals requesting access for a Kaggle resource.
|
|
205
|
-
If not specified or empty, revokes access to 'role'. Otherwise, sets the
|
|
206
|
-
members to the specified value. In other words, overrides existing members
|
|
207
|
-
are overriden so if you want to add a new member, you need to specify
|
|
208
|
-
existing members as well.
|
|
209
|
-
"""
|
|
210
|
-
return self._members
|
|
211
|
-
|
|
212
|
-
@members.setter
|
|
213
|
-
def members(self, members: Optional[List[Optional['Principal']]]):
|
|
214
|
-
if members is None:
|
|
215
|
-
del self.members
|
|
216
|
-
return
|
|
217
|
-
if not isinstance(members, list):
|
|
218
|
-
raise TypeError('members must be of type list')
|
|
219
|
-
if not all([isinstance(t, Principal) for t in members]):
|
|
220
|
-
raise TypeError('members must contain only items of type Principal')
|
|
221
|
-
self._members = members
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
class OrganizationPrincipal(KaggleObject):
|
|
225
|
-
r"""
|
|
226
|
-
Attributes:
|
|
227
|
-
id (int)
|
|
228
|
-
avatar (Organization)
|
|
229
|
-
"""
|
|
230
|
-
|
|
231
|
-
def __init__(self):
|
|
232
|
-
self._id = 0
|
|
233
|
-
self._avatar = None
|
|
234
|
-
self._freeze()
|
|
235
|
-
|
|
236
|
-
@property
|
|
237
|
-
def id(self) -> int:
|
|
238
|
-
return self._id
|
|
239
|
-
|
|
240
|
-
@id.setter
|
|
241
|
-
def id(self, id: int):
|
|
242
|
-
if id is None:
|
|
243
|
-
del self.id
|
|
244
|
-
return
|
|
245
|
-
if not isinstance(id, int):
|
|
246
|
-
raise TypeError('id must be of type int')
|
|
247
|
-
self._id = id
|
|
248
|
-
|
|
249
|
-
@property
|
|
250
|
-
def avatar(self) -> Optional['Organization']:
|
|
251
|
-
return self._avatar
|
|
252
|
-
|
|
253
|
-
@avatar.setter
|
|
254
|
-
def avatar(self, avatar: Optional['Organization']):
|
|
255
|
-
if avatar is None:
|
|
256
|
-
del self.avatar
|
|
257
|
-
return
|
|
258
|
-
if not isinstance(avatar, Organization):
|
|
259
|
-
raise TypeError('avatar must be of type Organization')
|
|
260
|
-
self._avatar = avatar
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
class Principal(KaggleObject):
|
|
264
|
-
r"""
|
|
265
|
-
Represents a principal of an IAM policy binding.
|
|
266
|
-
|
|
267
|
-
Attributes:
|
|
268
|
-
user (UserPrincipal)
|
|
269
|
-
group (GroupPrincipal)
|
|
270
|
-
organization (OrganizationPrincipal)
|
|
271
|
-
name (str)
|
|
272
|
-
"""
|
|
273
|
-
|
|
274
|
-
def __init__(self):
|
|
275
|
-
self._user = None
|
|
276
|
-
self._group = None
|
|
277
|
-
self._organization = None
|
|
278
|
-
self._name = ""
|
|
279
|
-
self._freeze()
|
|
280
|
-
|
|
281
|
-
@property
|
|
282
|
-
def user(self) -> Optional['UserPrincipal']:
|
|
283
|
-
return self._user or None
|
|
284
|
-
|
|
285
|
-
@user.setter
|
|
286
|
-
def user(self, user: Optional['UserPrincipal']):
|
|
287
|
-
if user is None:
|
|
288
|
-
del self.user
|
|
289
|
-
return
|
|
290
|
-
if not isinstance(user, UserPrincipal):
|
|
291
|
-
raise TypeError('user must be of type UserPrincipal')
|
|
292
|
-
del self.group
|
|
293
|
-
del self.organization
|
|
294
|
-
self._user = user
|
|
295
|
-
|
|
296
|
-
@property
|
|
297
|
-
def group(self) -> Optional['GroupPrincipal']:
|
|
298
|
-
return self._group or None
|
|
299
|
-
|
|
300
|
-
@group.setter
|
|
301
|
-
def group(self, group: Optional['GroupPrincipal']):
|
|
302
|
-
if group is None:
|
|
303
|
-
del self.group
|
|
304
|
-
return
|
|
305
|
-
if not isinstance(group, GroupPrincipal):
|
|
306
|
-
raise TypeError('group must be of type GroupPrincipal')
|
|
307
|
-
del self.user
|
|
308
|
-
del self.organization
|
|
309
|
-
self._group = group
|
|
310
|
-
|
|
311
|
-
@property
|
|
312
|
-
def organization(self) -> Optional['OrganizationPrincipal']:
|
|
313
|
-
return self._organization or None
|
|
314
|
-
|
|
315
|
-
@organization.setter
|
|
316
|
-
def organization(self, organization: Optional['OrganizationPrincipal']):
|
|
317
|
-
if organization is None:
|
|
318
|
-
del self.organization
|
|
319
|
-
return
|
|
320
|
-
if not isinstance(organization, OrganizationPrincipal):
|
|
321
|
-
raise TypeError('organization must be of type OrganizationPrincipal')
|
|
322
|
-
del self.user
|
|
323
|
-
del self.group
|
|
324
|
-
self._organization = organization
|
|
325
|
-
|
|
326
|
-
@property
|
|
327
|
-
def name(self) -> str:
|
|
328
|
-
return self._name
|
|
329
|
-
|
|
330
|
-
@name.setter
|
|
331
|
-
def name(self, name: str):
|
|
332
|
-
if name is None:
|
|
333
|
-
del self.name
|
|
334
|
-
return
|
|
335
|
-
if not isinstance(name, str):
|
|
336
|
-
raise TypeError('name must be of type str')
|
|
337
|
-
self._name = name
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
class SetIamPolicyRequest(KaggleObject):
|
|
341
|
-
r"""
|
|
342
|
-
Request to set the IAM policy for a resource.
|
|
343
|
-
|
|
344
|
-
Attributes:
|
|
345
|
-
resource_id (KaggleResourceId)
|
|
346
|
-
ID of the resource for which the policy is being specified.
|
|
347
|
-
policy (IamPolicy)
|
|
348
|
-
The complete policy to be applied to the resource.
|
|
349
|
-
"""
|
|
350
|
-
|
|
351
|
-
def __init__(self):
|
|
352
|
-
self._resource_id = None
|
|
353
|
-
self._policy = None
|
|
354
|
-
self._freeze()
|
|
355
|
-
|
|
356
|
-
@property
|
|
357
|
-
def resource_id(self) -> Optional['KaggleResourceId']:
|
|
358
|
-
"""ID of the resource for which the policy is being specified."""
|
|
359
|
-
return self._resource_id
|
|
360
|
-
|
|
361
|
-
@resource_id.setter
|
|
362
|
-
def resource_id(self, resource_id: Optional['KaggleResourceId']):
|
|
363
|
-
if resource_id is None:
|
|
364
|
-
del self.resource_id
|
|
365
|
-
return
|
|
366
|
-
if not isinstance(resource_id, KaggleResourceId):
|
|
367
|
-
raise TypeError('resource_id must be of type KaggleResourceId')
|
|
368
|
-
self._resource_id = resource_id
|
|
369
|
-
|
|
370
|
-
@property
|
|
371
|
-
def policy(self) -> Optional['IamPolicy']:
|
|
372
|
-
"""The complete policy to be applied to the resource."""
|
|
373
|
-
return self._policy
|
|
374
|
-
|
|
375
|
-
@policy.setter
|
|
376
|
-
def policy(self, policy: Optional['IamPolicy']):
|
|
377
|
-
if policy is None:
|
|
378
|
-
del self.policy
|
|
379
|
-
return
|
|
380
|
-
if not isinstance(policy, IamPolicy):
|
|
381
|
-
raise TypeError('policy must be of type IamPolicy')
|
|
382
|
-
self._policy = policy
|
|
383
|
-
|
|
384
|
-
def endpoint(self):
|
|
385
|
-
path = '/api/v1/iam/set/{resource_id}/{policy}'
|
|
386
|
-
return path.format_map(self.to_field_map(self))
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
@staticmethod
|
|
390
|
-
def method():
|
|
391
|
-
return 'POST'
|
|
392
|
-
|
|
393
|
-
@staticmethod
|
|
394
|
-
def body_fields():
|
|
395
|
-
return '*'
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
class UserPrincipal(KaggleObject):
|
|
399
|
-
r"""
|
|
400
|
-
Attributes:
|
|
401
|
-
id (int)
|
|
402
|
-
user_name (str)
|
|
403
|
-
avatar (UserAvatar)
|
|
404
|
-
"""
|
|
405
|
-
|
|
406
|
-
def __init__(self):
|
|
407
|
-
self._id = None
|
|
408
|
-
self._user_name = None
|
|
409
|
-
self._avatar = None
|
|
410
|
-
self._freeze()
|
|
411
|
-
|
|
412
|
-
@property
|
|
413
|
-
def id(self) -> int:
|
|
414
|
-
return self._id or 0
|
|
415
|
-
|
|
416
|
-
@id.setter
|
|
417
|
-
def id(self, id: int):
|
|
418
|
-
if id is None:
|
|
419
|
-
del self.id
|
|
420
|
-
return
|
|
421
|
-
if not isinstance(id, int):
|
|
422
|
-
raise TypeError('id must be of type int')
|
|
423
|
-
del self.user_name
|
|
424
|
-
self._id = id
|
|
425
|
-
|
|
426
|
-
@property
|
|
427
|
-
def user_name(self) -> str:
|
|
428
|
-
return self._user_name or ""
|
|
429
|
-
|
|
430
|
-
@user_name.setter
|
|
431
|
-
def user_name(self, user_name: str):
|
|
432
|
-
if user_name is None:
|
|
433
|
-
del self.user_name
|
|
434
|
-
return
|
|
435
|
-
if not isinstance(user_name, str):
|
|
436
|
-
raise TypeError('user_name must be of type str')
|
|
437
|
-
del self.id
|
|
438
|
-
self._user_name = user_name
|
|
439
|
-
|
|
440
|
-
@property
|
|
441
|
-
def avatar(self) -> Optional['UserAvatar']:
|
|
442
|
-
return self._avatar
|
|
443
|
-
|
|
444
|
-
@avatar.setter
|
|
445
|
-
def avatar(self, avatar: Optional['UserAvatar']):
|
|
446
|
-
if avatar is None:
|
|
447
|
-
del self.avatar
|
|
448
|
-
return
|
|
449
|
-
if not isinstance(avatar, UserAvatar):
|
|
450
|
-
raise TypeError('avatar must be of type UserAvatar')
|
|
451
|
-
self._avatar = avatar
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
GetIamPolicyRequest._fields = [
|
|
455
|
-
FieldMetadata("resourceId", "resource_id", "_resource_id", KaggleResourceId, None, KaggleObjectSerializer()),
|
|
456
|
-
]
|
|
457
|
-
|
|
458
|
-
GroupPrincipal._fields = [
|
|
459
|
-
FieldMetadata("id", "id", "_id", int, None, PredefinedSerializer(), optional=True),
|
|
460
|
-
FieldMetadata("slug", "slug", "_slug", str, None, PredefinedSerializer(), optional=True),
|
|
461
|
-
FieldMetadata("avatar", "avatar", "_avatar", UserManagedGroup, None, KaggleObjectSerializer()),
|
|
462
|
-
]
|
|
463
|
-
|
|
464
|
-
IamPolicy._fields = [
|
|
465
|
-
FieldMetadata("bindings", "bindings", "_bindings", IamPolicyBinding, [], ListSerializer(KaggleObjectSerializer())),
|
|
466
|
-
FieldMetadata("owner", "owner", "_owner", Principal, None, KaggleObjectSerializer()),
|
|
467
|
-
]
|
|
468
|
-
|
|
469
|
-
IamPolicyBinding._fields = [
|
|
470
|
-
FieldMetadata("role", "role", "_role", CanonicalRole, CanonicalRole.CANONICAL_ROLE_UNSPECIFIED, EnumSerializer()),
|
|
471
|
-
FieldMetadata("members", "members", "_members", Principal, [], ListSerializer(KaggleObjectSerializer())),
|
|
472
|
-
]
|
|
473
|
-
|
|
474
|
-
OrganizationPrincipal._fields = [
|
|
475
|
-
FieldMetadata("id", "id", "_id", int, 0, PredefinedSerializer()),
|
|
476
|
-
FieldMetadata("avatar", "avatar", "_avatar", Organization, None, KaggleObjectSerializer()),
|
|
477
|
-
]
|
|
478
|
-
|
|
479
|
-
Principal._fields = [
|
|
480
|
-
FieldMetadata("user", "user", "_user", UserPrincipal, None, KaggleObjectSerializer(), optional=True),
|
|
481
|
-
FieldMetadata("group", "group", "_group", GroupPrincipal, None, KaggleObjectSerializer(), optional=True),
|
|
482
|
-
FieldMetadata("organization", "organization", "_organization", OrganizationPrincipal, None, KaggleObjectSerializer(), optional=True),
|
|
483
|
-
FieldMetadata("name", "name", "_name", str, "", PredefinedSerializer()),
|
|
484
|
-
]
|
|
485
|
-
|
|
486
|
-
SetIamPolicyRequest._fields = [
|
|
487
|
-
FieldMetadata("resourceId", "resource_id", "_resource_id", KaggleResourceId, None, KaggleObjectSerializer()),
|
|
488
|
-
FieldMetadata("policy", "policy", "_policy", IamPolicy, None, KaggleObjectSerializer()),
|
|
489
|
-
]
|
|
490
|
-
|
|
491
|
-
UserPrincipal._fields = [
|
|
492
|
-
FieldMetadata("id", "id", "_id", int, None, PredefinedSerializer(), optional=True),
|
|
493
|
-
FieldMetadata("userName", "user_name", "_user_name", str, None, PredefinedSerializer(), optional=True),
|
|
494
|
-
FieldMetadata("avatar", "avatar", "_avatar", UserAvatar, None, KaggleObjectSerializer()),
|
|
495
|
-
]
|
|
496
|
-
|