gcore 0.3.0__py3-none-any.whl → 0.4.0__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.

Potentially problematic release.


This version of gcore might be problematic. Click here for more details.

Files changed (120) hide show
  1. gcore/__init__.py +2 -1
  2. gcore/_base_client.py +22 -0
  3. gcore/_client.py +9 -0
  4. gcore/_version.py +1 -1
  5. gcore/pagination.py +61 -1
  6. gcore/resources/__init__.py +14 -0
  7. gcore/resources/cloud/baremetal/flavors.py +11 -137
  8. gcore/resources/cloud/baremetal/images.py +10 -12
  9. gcore/resources/cloud/baremetal/servers.py +31 -28
  10. gcore/resources/cloud/billing_reservations.py +2 -2
  11. gcore/resources/cloud/file_shares/file_shares.py +7 -8
  12. gcore/resources/cloud/floating_ips.py +7 -12
  13. gcore/resources/cloud/gpu_baremetal_clusters/gpu_baremetal_clusters.py +31 -20
  14. gcore/resources/cloud/gpu_baremetal_clusters/images.py +9 -10
  15. gcore/resources/cloud/gpu_baremetal_clusters/interfaces.py +2 -2
  16. gcore/resources/cloud/gpu_baremetal_clusters/servers.py +8 -4
  17. gcore/resources/cloud/inference/deployments/deployments.py +10 -2
  18. gcore/resources/cloud/inference/registry_credentials.py +2 -2
  19. gcore/resources/cloud/inference/secrets.py +8 -8
  20. gcore/resources/cloud/instances/flavors.py +9 -233
  21. gcore/resources/cloud/instances/images.py +47 -37
  22. gcore/resources/cloud/instances/instances.py +47 -32
  23. gcore/resources/cloud/instances/interfaces.py +2 -2
  24. gcore/resources/cloud/ip_ranges.py +34 -2
  25. gcore/resources/cloud/load_balancers/l7_policies/l7_policies.py +10 -2
  26. gcore/resources/cloud/load_balancers/listeners.py +17 -8
  27. gcore/resources/cloud/load_balancers/load_balancers.py +73 -21
  28. gcore/resources/cloud/load_balancers/metrics.py +2 -2
  29. gcore/resources/cloud/load_balancers/pools/health_monitors.py +2 -2
  30. gcore/resources/cloud/load_balancers/pools/members.py +6 -2
  31. gcore/resources/cloud/networks/networks.py +81 -17
  32. gcore/resources/cloud/networks/routers.py +18 -18
  33. gcore/resources/cloud/networks/subnets.py +51 -11
  34. gcore/resources/cloud/projects.py +38 -24
  35. gcore/resources/cloud/quotas/quotas.py +6 -6
  36. gcore/resources/cloud/quotas/requests.py +8 -8
  37. gcore/resources/cloud/registries/artifacts.py +4 -4
  38. gcore/resources/cloud/registries/registries.py +14 -16
  39. gcore/resources/cloud/registries/repositories.py +4 -4
  40. gcore/resources/cloud/registries/tags.py +2 -2
  41. gcore/resources/cloud/registries/users.py +21 -22
  42. gcore/resources/cloud/reserved_fixed_ips/reserved_fixed_ips.py +20 -20
  43. gcore/resources/cloud/reserved_fixed_ips/vip.py +10 -10
  44. gcore/resources/cloud/security_groups/rules.py +6 -6
  45. gcore/resources/cloud/security_groups/security_groups.py +70 -31
  46. gcore/resources/cloud/tasks.py +4 -4
  47. gcore/resources/cloud/users/role_assignments.py +12 -14
  48. gcore/resources/cloud/volumes.py +139 -49
  49. gcore/resources/iam/__init__.py +47 -0
  50. gcore/resources/iam/api_tokens.py +521 -0
  51. gcore/resources/iam/iam.py +199 -0
  52. gcore/resources/iam/users.py +642 -0
  53. gcore/resources/waap/__init__.py +0 -14
  54. gcore/resources/waap/waap.py +0 -32
  55. gcore/types/cloud/baremetal/__init__.py +0 -1
  56. gcore/types/cloud/baremetal/image_list_params.py +1 -5
  57. gcore/types/cloud/baremetal/server_create_params.py +4 -8
  58. gcore/types/cloud/baremetal/server_list_params.py +1 -5
  59. gcore/types/cloud/ddos_profile.py +9 -3
  60. gcore/types/cloud/file_share_create_params.py +3 -5
  61. gcore/types/cloud/floating_ip_create_params.py +2 -4
  62. gcore/types/cloud/floating_ip_list_params.py +1 -5
  63. gcore/types/cloud/gpu_baremetal_cluster_create_params.py +2 -3
  64. gcore/types/cloud/gpu_baremetal_clusters/image_upload_params.py +2 -4
  65. gcore/types/cloud/health_monitor.py +6 -1
  66. gcore/types/cloud/instance_create_params.py +7 -8
  67. gcore/types/cloud/instance_list_params.py +1 -5
  68. gcore/types/cloud/instances/__init__.py +0 -2
  69. gcore/types/cloud/instances/image_create_from_volume_params.py +2 -4
  70. gcore/types/cloud/instances/image_list_params.py +1 -5
  71. gcore/types/cloud/instances/image_upload_params.py +2 -4
  72. gcore/types/cloud/load_balancer_create_params.py +8 -4
  73. gcore/types/cloud/load_balancer_list_params.py +1 -5
  74. gcore/types/cloud/load_balancer_update_params.py +24 -0
  75. gcore/types/cloud/load_balancers/pool_create_params.py +6 -1
  76. gcore/types/cloud/load_balancers/pool_update_params.py +6 -1
  77. gcore/types/cloud/load_balancers/pools/member_add_params.py +6 -1
  78. gcore/types/cloud/member.py +6 -1
  79. gcore/types/cloud/network_create_params.py +2 -3
  80. gcore/types/cloud/network_list_params.py +4 -5
  81. gcore/types/cloud/network_update_params.py +28 -2
  82. gcore/types/cloud/networks/router_list_params.py +2 -2
  83. gcore/types/cloud/networks/subnet_create_params.py +2 -3
  84. gcore/types/cloud/networks/subnet_list_params.py +1 -5
  85. gcore/types/cloud/networks/subnet_update_params.py +25 -0
  86. gcore/types/cloud/registries/__init__.py +1 -0
  87. gcore/types/cloud/registries/user_refresh_secret_response.py +31 -0
  88. gcore/types/cloud/reserved_fixed_ip_list_params.py +2 -2
  89. gcore/types/cloud/security_group_list_params.py +3 -7
  90. gcore/types/cloud/security_group_update_params.py +25 -0
  91. gcore/types/cloud/tag_update_map_param.py +2 -2
  92. gcore/types/cloud/volume_list_params.py +1 -5
  93. gcore/types/cloud/volume_update_params.py +29 -3
  94. gcore/types/iam/__init__.py +17 -0
  95. gcore/types/iam/account_overview.py +488 -0
  96. gcore/types/iam/api_token.py +78 -0
  97. gcore/types/iam/api_token_create.py +15 -0
  98. gcore/types/iam/api_token_create_params.py +42 -0
  99. gcore/types/iam/api_token_list.py +81 -0
  100. gcore/types/iam/api_token_list_params.py +41 -0
  101. gcore/types/iam/user.py +86 -0
  102. gcore/types/iam/user_detailed.py +104 -0
  103. gcore/types/iam/user_invite.py +15 -0
  104. gcore/types/iam/user_invite_params.py +37 -0
  105. gcore/types/iam/user_list_params.py +15 -0
  106. gcore/types/iam/user_update.py +104 -0
  107. gcore/types/iam/user_update_params.py +52 -0
  108. gcore/types/waap/__init__.py +0 -1
  109. gcore/types/waap/domains/custom_rule_create_params.py +7 -3
  110. gcore/types/waap/domains/custom_rule_update_params.py +7 -3
  111. gcore/types/waap/waap_custom_rule.py +7 -3
  112. {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/METADATA +40 -3
  113. {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/RECORD +115 -101
  114. gcore/resources/waap/clients.py +0 -135
  115. gcore/types/cloud/baremetal/flavor_list_suitable_params.py +0 -22
  116. gcore/types/cloud/instances/flavor_list_for_resize_params.py +0 -16
  117. gcore/types/cloud/instances/flavor_list_suitable_params.py +0 -59
  118. gcore/types/waap/client_me_response.py +0 -34
  119. {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/WHEEL +0 -0
  120. {gcore-0.3.0.dist-info → gcore-0.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,199 @@
1
+ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ from __future__ import annotations
4
+
5
+ import httpx
6
+
7
+ from .users import (
8
+ UsersResource,
9
+ AsyncUsersResource,
10
+ UsersResourceWithRawResponse,
11
+ AsyncUsersResourceWithRawResponse,
12
+ UsersResourceWithStreamingResponse,
13
+ AsyncUsersResourceWithStreamingResponse,
14
+ )
15
+ from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven
16
+ from ..._compat import cached_property
17
+ from .api_tokens import (
18
+ APITokensResource,
19
+ AsyncAPITokensResource,
20
+ APITokensResourceWithRawResponse,
21
+ AsyncAPITokensResourceWithRawResponse,
22
+ APITokensResourceWithStreamingResponse,
23
+ AsyncAPITokensResourceWithStreamingResponse,
24
+ )
25
+ from ..._resource import SyncAPIResource, AsyncAPIResource
26
+ from ..._response import (
27
+ to_raw_response_wrapper,
28
+ to_streamed_response_wrapper,
29
+ async_to_raw_response_wrapper,
30
+ async_to_streamed_response_wrapper,
31
+ )
32
+ from ..._base_client import make_request_options
33
+ from ...types.iam.account_overview import AccountOverview
34
+
35
+ __all__ = ["IamResource", "AsyncIamResource"]
36
+
37
+
38
+ class IamResource(SyncAPIResource):
39
+ @cached_property
40
+ def api_tokens(self) -> APITokensResource:
41
+ return APITokensResource(self._client)
42
+
43
+ @cached_property
44
+ def users(self) -> UsersResource:
45
+ return UsersResource(self._client)
46
+
47
+ @cached_property
48
+ def with_raw_response(self) -> IamResourceWithRawResponse:
49
+ """
50
+ This property can be used as a prefix for any HTTP method call to return
51
+ the raw response object instead of the parsed content.
52
+
53
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
54
+ """
55
+ return IamResourceWithRawResponse(self)
56
+
57
+ @cached_property
58
+ def with_streaming_response(self) -> IamResourceWithStreamingResponse:
59
+ """
60
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
61
+
62
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
63
+ """
64
+ return IamResourceWithStreamingResponse(self)
65
+
66
+ def get_account_overview(
67
+ self,
68
+ *,
69
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
70
+ # The extra values given here take precedence over values defined on the client or passed to this method.
71
+ extra_headers: Headers | None = None,
72
+ extra_query: Query | None = None,
73
+ extra_body: Body | None = None,
74
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
75
+ ) -> AccountOverview:
76
+ """Get information about your profile, users and other account details."""
77
+ return self._get(
78
+ "/iam/clients/me",
79
+ options=make_request_options(
80
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
81
+ ),
82
+ cast_to=AccountOverview,
83
+ )
84
+
85
+
86
+ class AsyncIamResource(AsyncAPIResource):
87
+ @cached_property
88
+ def api_tokens(self) -> AsyncAPITokensResource:
89
+ return AsyncAPITokensResource(self._client)
90
+
91
+ @cached_property
92
+ def users(self) -> AsyncUsersResource:
93
+ return AsyncUsersResource(self._client)
94
+
95
+ @cached_property
96
+ def with_raw_response(self) -> AsyncIamResourceWithRawResponse:
97
+ """
98
+ This property can be used as a prefix for any HTTP method call to return
99
+ the raw response object instead of the parsed content.
100
+
101
+ For more information, see https://www.github.com/G-Core/gcore-python#accessing-raw-response-data-eg-headers
102
+ """
103
+ return AsyncIamResourceWithRawResponse(self)
104
+
105
+ @cached_property
106
+ def with_streaming_response(self) -> AsyncIamResourceWithStreamingResponse:
107
+ """
108
+ An alternative to `.with_raw_response` that doesn't eagerly read the response body.
109
+
110
+ For more information, see https://www.github.com/G-Core/gcore-python#with_streaming_response
111
+ """
112
+ return AsyncIamResourceWithStreamingResponse(self)
113
+
114
+ async def get_account_overview(
115
+ self,
116
+ *,
117
+ # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
118
+ # The extra values given here take precedence over values defined on the client or passed to this method.
119
+ extra_headers: Headers | None = None,
120
+ extra_query: Query | None = None,
121
+ extra_body: Body | None = None,
122
+ timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
123
+ ) -> AccountOverview:
124
+ """Get information about your profile, users and other account details."""
125
+ return await self._get(
126
+ "/iam/clients/me",
127
+ options=make_request_options(
128
+ extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
129
+ ),
130
+ cast_to=AccountOverview,
131
+ )
132
+
133
+
134
+ class IamResourceWithRawResponse:
135
+ def __init__(self, iam: IamResource) -> None:
136
+ self._iam = iam
137
+
138
+ self.get_account_overview = to_raw_response_wrapper(
139
+ iam.get_account_overview,
140
+ )
141
+
142
+ @cached_property
143
+ def api_tokens(self) -> APITokensResourceWithRawResponse:
144
+ return APITokensResourceWithRawResponse(self._iam.api_tokens)
145
+
146
+ @cached_property
147
+ def users(self) -> UsersResourceWithRawResponse:
148
+ return UsersResourceWithRawResponse(self._iam.users)
149
+
150
+
151
+ class AsyncIamResourceWithRawResponse:
152
+ def __init__(self, iam: AsyncIamResource) -> None:
153
+ self._iam = iam
154
+
155
+ self.get_account_overview = async_to_raw_response_wrapper(
156
+ iam.get_account_overview,
157
+ )
158
+
159
+ @cached_property
160
+ def api_tokens(self) -> AsyncAPITokensResourceWithRawResponse:
161
+ return AsyncAPITokensResourceWithRawResponse(self._iam.api_tokens)
162
+
163
+ @cached_property
164
+ def users(self) -> AsyncUsersResourceWithRawResponse:
165
+ return AsyncUsersResourceWithRawResponse(self._iam.users)
166
+
167
+
168
+ class IamResourceWithStreamingResponse:
169
+ def __init__(self, iam: IamResource) -> None:
170
+ self._iam = iam
171
+
172
+ self.get_account_overview = to_streamed_response_wrapper(
173
+ iam.get_account_overview,
174
+ )
175
+
176
+ @cached_property
177
+ def api_tokens(self) -> APITokensResourceWithStreamingResponse:
178
+ return APITokensResourceWithStreamingResponse(self._iam.api_tokens)
179
+
180
+ @cached_property
181
+ def users(self) -> UsersResourceWithStreamingResponse:
182
+ return UsersResourceWithStreamingResponse(self._iam.users)
183
+
184
+
185
+ class AsyncIamResourceWithStreamingResponse:
186
+ def __init__(self, iam: AsyncIamResource) -> None:
187
+ self._iam = iam
188
+
189
+ self.get_account_overview = async_to_streamed_response_wrapper(
190
+ iam.get_account_overview,
191
+ )
192
+
193
+ @cached_property
194
+ def api_tokens(self) -> AsyncAPITokensResourceWithStreamingResponse:
195
+ return AsyncAPITokensResourceWithStreamingResponse(self._iam.api_tokens)
196
+
197
+ @cached_property
198
+ def users(self) -> AsyncUsersResourceWithStreamingResponse:
199
+ return AsyncUsersResourceWithStreamingResponse(self._iam.users)