stackit-objectstorage 1.5.0__tar.gz → 1.7.0__tar.gz
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.
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/PKG-INFO +2 -2
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/pyproject.toml +1 -1
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/__init__.py +8 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/api/default_api.py +322 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/__init__.py +2 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/access_key.py +6 -1
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/create_access_key_payload.py +5 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/project_status.py +5 -2
- stackit_objectstorage-1.7.0/src/stackit/objectstorage/models/rate_limit_error.py +109 -0
- stackit_objectstorage-1.7.0/src/stackit/objectstorage/models/update_service_payload.py +82 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/.gitignore +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/LICENSE.md +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/NOTICE.txt +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/README.md +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/api/__init__.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/api_client.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/api_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/configuration.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/exceptions.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/bucket.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/compliance_lock_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/create_access_key_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/create_bucket_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/create_credentials_group_payload.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/create_credentials_group_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/credentials_group.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/credentials_group_extended.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/default_retention_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/delete_access_key_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/delete_bucket_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/delete_credentials_group_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/delete_default_retention_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/detailed_error.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/error_message.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/get_bucket_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/get_credentials_group_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/http_validation_error.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/list_access_keys_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/list_buckets_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/list_credentials_groups_response.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/location_inner.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/project_scope.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/retention_mode.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/set_default_retention_payload.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/models/validation_error.py +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/py.typed +0 -0
- {stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/rest.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: stackit-objectstorage
|
|
3
|
-
Version:
|
|
3
|
+
Version: v1.7.0
|
|
4
4
|
Summary: STACKIT Object Storage API
|
|
5
5
|
Project-URL: Homepage, https://github.com/stackitcloud/stackit-sdk-python
|
|
6
6
|
Project-URL: Issues, https://github.com/stackitcloud/stackit-sdk-python/issues
|
{stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/__init__.py
RENAMED
|
@@ -53,8 +53,10 @@ __all__ = [
|
|
|
53
53
|
"LocationInner",
|
|
54
54
|
"ProjectScope",
|
|
55
55
|
"ProjectStatus",
|
|
56
|
+
"RateLimitError",
|
|
56
57
|
"RetentionMode",
|
|
57
58
|
"SetDefaultRetentionPayload",
|
|
59
|
+
"UpdateServicePayload",
|
|
58
60
|
"ValidationError",
|
|
59
61
|
]
|
|
60
62
|
|
|
@@ -137,10 +139,16 @@ from stackit.objectstorage.models.list_credentials_groups_response import (
|
|
|
137
139
|
from stackit.objectstorage.models.location_inner import LocationInner as LocationInner
|
|
138
140
|
from stackit.objectstorage.models.project_scope import ProjectScope as ProjectScope
|
|
139
141
|
from stackit.objectstorage.models.project_status import ProjectStatus as ProjectStatus
|
|
142
|
+
from stackit.objectstorage.models.rate_limit_error import (
|
|
143
|
+
RateLimitError as RateLimitError,
|
|
144
|
+
)
|
|
140
145
|
from stackit.objectstorage.models.retention_mode import RetentionMode as RetentionMode
|
|
141
146
|
from stackit.objectstorage.models.set_default_retention_payload import (
|
|
142
147
|
SetDefaultRetentionPayload as SetDefaultRetentionPayload,
|
|
143
148
|
)
|
|
149
|
+
from stackit.objectstorage.models.update_service_payload import (
|
|
150
|
+
UpdateServicePayload as UpdateServicePayload,
|
|
151
|
+
)
|
|
144
152
|
from stackit.objectstorage.models.validation_error import (
|
|
145
153
|
ValidationError as ValidationError,
|
|
146
154
|
)
|
|
@@ -61,6 +61,7 @@ from stackit.objectstorage.models.project_status import ProjectStatus
|
|
|
61
61
|
from stackit.objectstorage.models.set_default_retention_payload import (
|
|
62
62
|
SetDefaultRetentionPayload,
|
|
63
63
|
)
|
|
64
|
+
from stackit.objectstorage.models.update_service_payload import UpdateServicePayload
|
|
64
65
|
from stackit.objectstorage.rest import RESTResponseType
|
|
65
66
|
|
|
66
67
|
|
|
@@ -145,6 +146,7 @@ class DefaultApi:
|
|
|
145
146
|
"403": "ErrorMessage",
|
|
146
147
|
"404": "ErrorMessage",
|
|
147
148
|
"422": "HTTPValidationError",
|
|
149
|
+
"429": "RateLimitError",
|
|
148
150
|
"500": "ErrorMessage",
|
|
149
151
|
}
|
|
150
152
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -222,6 +224,7 @@ class DefaultApi:
|
|
|
222
224
|
"403": "ErrorMessage",
|
|
223
225
|
"404": "ErrorMessage",
|
|
224
226
|
"422": "HTTPValidationError",
|
|
227
|
+
"429": "RateLimitError",
|
|
225
228
|
"500": "ErrorMessage",
|
|
226
229
|
}
|
|
227
230
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -299,6 +302,7 @@ class DefaultApi:
|
|
|
299
302
|
"403": "ErrorMessage",
|
|
300
303
|
"404": "ErrorMessage",
|
|
301
304
|
"422": "HTTPValidationError",
|
|
305
|
+
"429": "RateLimitError",
|
|
302
306
|
"500": "ErrorMessage",
|
|
303
307
|
}
|
|
304
308
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -448,6 +452,7 @@ class DefaultApi:
|
|
|
448
452
|
"404": "ErrorMessage",
|
|
449
453
|
"409": "ErrorMessage",
|
|
450
454
|
"422": "ErrorMessage",
|
|
455
|
+
"429": "RateLimitError",
|
|
451
456
|
"500": "ErrorMessage",
|
|
452
457
|
}
|
|
453
458
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -532,6 +537,7 @@ class DefaultApi:
|
|
|
532
537
|
"404": "ErrorMessage",
|
|
533
538
|
"409": "ErrorMessage",
|
|
534
539
|
"422": "ErrorMessage",
|
|
540
|
+
"429": "RateLimitError",
|
|
535
541
|
"500": "ErrorMessage",
|
|
536
542
|
}
|
|
537
543
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -616,6 +622,7 @@ class DefaultApi:
|
|
|
616
622
|
"404": "ErrorMessage",
|
|
617
623
|
"409": "ErrorMessage",
|
|
618
624
|
"422": "ErrorMessage",
|
|
625
|
+
"429": "RateLimitError",
|
|
619
626
|
"500": "ErrorMessage",
|
|
620
627
|
}
|
|
621
628
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -996,6 +1003,7 @@ class DefaultApi:
|
|
|
996
1003
|
"404": "ErrorMessage",
|
|
997
1004
|
"409": "ErrorMessage",
|
|
998
1005
|
"422": "HTTPValidationError",
|
|
1006
|
+
"429": "RateLimitError",
|
|
999
1007
|
"500": "ErrorMessage",
|
|
1000
1008
|
}
|
|
1001
1009
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1069,6 +1077,7 @@ class DefaultApi:
|
|
|
1069
1077
|
"404": "ErrorMessage",
|
|
1070
1078
|
"409": "ErrorMessage",
|
|
1071
1079
|
"422": "HTTPValidationError",
|
|
1080
|
+
"429": "RateLimitError",
|
|
1072
1081
|
"500": "ErrorMessage",
|
|
1073
1082
|
}
|
|
1074
1083
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1142,6 +1151,7 @@ class DefaultApi:
|
|
|
1142
1151
|
"404": "ErrorMessage",
|
|
1143
1152
|
"409": "ErrorMessage",
|
|
1144
1153
|
"422": "HTTPValidationError",
|
|
1154
|
+
"429": "RateLimitError",
|
|
1145
1155
|
"500": "ErrorMessage",
|
|
1146
1156
|
}
|
|
1147
1157
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1280,6 +1290,7 @@ class DefaultApi:
|
|
|
1280
1290
|
"403": "ErrorMessage",
|
|
1281
1291
|
"404": "ErrorMessage",
|
|
1282
1292
|
"422": "HTTPValidationError",
|
|
1293
|
+
"429": "RateLimitError",
|
|
1283
1294
|
"500": "ErrorMessage",
|
|
1284
1295
|
}
|
|
1285
1296
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1358,6 +1369,7 @@ class DefaultApi:
|
|
|
1358
1369
|
"403": "ErrorMessage",
|
|
1359
1370
|
"404": "ErrorMessage",
|
|
1360
1371
|
"422": "HTTPValidationError",
|
|
1372
|
+
"429": "RateLimitError",
|
|
1361
1373
|
"500": "ErrorMessage",
|
|
1362
1374
|
}
|
|
1363
1375
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1436,6 +1448,7 @@ class DefaultApi:
|
|
|
1436
1448
|
"403": "ErrorMessage",
|
|
1437
1449
|
"404": "ErrorMessage",
|
|
1438
1450
|
"422": "HTTPValidationError",
|
|
1451
|
+
"429": "RateLimitError",
|
|
1439
1452
|
"500": "ErrorMessage",
|
|
1440
1453
|
}
|
|
1441
1454
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1567,6 +1580,7 @@ class DefaultApi:
|
|
|
1567
1580
|
"401": "ErrorMessage",
|
|
1568
1581
|
"404": "ErrorMessage",
|
|
1569
1582
|
"422": "ErrorMessage",
|
|
1583
|
+
"429": "RateLimitError",
|
|
1570
1584
|
"500": "ErrorMessage",
|
|
1571
1585
|
}
|
|
1572
1586
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1641,6 +1655,7 @@ class DefaultApi:
|
|
|
1641
1655
|
"401": "ErrorMessage",
|
|
1642
1656
|
"404": "ErrorMessage",
|
|
1643
1657
|
"422": "ErrorMessage",
|
|
1658
|
+
"429": "RateLimitError",
|
|
1644
1659
|
"500": "ErrorMessage",
|
|
1645
1660
|
}
|
|
1646
1661
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -1715,6 +1730,7 @@ class DefaultApi:
|
|
|
1715
1730
|
"401": "ErrorMessage",
|
|
1716
1731
|
"404": "ErrorMessage",
|
|
1717
1732
|
"422": "ErrorMessage",
|
|
1733
|
+
"429": "RateLimitError",
|
|
1718
1734
|
"500": "ErrorMessage",
|
|
1719
1735
|
}
|
|
1720
1736
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2089,6 +2105,7 @@ class DefaultApi:
|
|
|
2089
2105
|
"401": "ErrorMessage",
|
|
2090
2106
|
"404": "ErrorMessage",
|
|
2091
2107
|
"422": "HTTPValidationError",
|
|
2108
|
+
"429": "RateLimitError",
|
|
2092
2109
|
"500": "ErrorMessage",
|
|
2093
2110
|
}
|
|
2094
2111
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2161,6 +2178,7 @@ class DefaultApi:
|
|
|
2161
2178
|
"401": "ErrorMessage",
|
|
2162
2179
|
"404": "ErrorMessage",
|
|
2163
2180
|
"422": "HTTPValidationError",
|
|
2181
|
+
"429": "RateLimitError",
|
|
2164
2182
|
"500": "ErrorMessage",
|
|
2165
2183
|
}
|
|
2166
2184
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2233,6 +2251,7 @@ class DefaultApi:
|
|
|
2233
2251
|
"401": "ErrorMessage",
|
|
2234
2252
|
"404": "ErrorMessage",
|
|
2235
2253
|
"422": "HTTPValidationError",
|
|
2254
|
+
"429": "RateLimitError",
|
|
2236
2255
|
"500": "ErrorMessage",
|
|
2237
2256
|
}
|
|
2238
2257
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2627,6 +2646,7 @@ class DefaultApi:
|
|
|
2627
2646
|
"404": "ErrorMessage",
|
|
2628
2647
|
"409": "ErrorMessage",
|
|
2629
2648
|
"422": "ErrorMessage",
|
|
2649
|
+
"429": "RateLimitError",
|
|
2630
2650
|
"500": "ErrorMessage",
|
|
2631
2651
|
}
|
|
2632
2652
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2698,6 +2718,7 @@ class DefaultApi:
|
|
|
2698
2718
|
"404": "ErrorMessage",
|
|
2699
2719
|
"409": "ErrorMessage",
|
|
2700
2720
|
"422": "ErrorMessage",
|
|
2721
|
+
"429": "RateLimitError",
|
|
2701
2722
|
"500": "ErrorMessage",
|
|
2702
2723
|
}
|
|
2703
2724
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2769,6 +2790,7 @@ class DefaultApi:
|
|
|
2769
2790
|
"404": "ErrorMessage",
|
|
2770
2791
|
"409": "ErrorMessage",
|
|
2771
2792
|
"422": "ErrorMessage",
|
|
2793
|
+
"429": "RateLimitError",
|
|
2772
2794
|
"500": "ErrorMessage",
|
|
2773
2795
|
}
|
|
2774
2796
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2888,6 +2910,7 @@ class DefaultApi:
|
|
|
2888
2910
|
"403": "ErrorMessage",
|
|
2889
2911
|
"409": "ErrorMessage",
|
|
2890
2912
|
"422": "HTTPValidationError",
|
|
2913
|
+
"429": "RateLimitError",
|
|
2891
2914
|
"500": "ErrorMessage",
|
|
2892
2915
|
}
|
|
2893
2916
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -2958,6 +2981,7 @@ class DefaultApi:
|
|
|
2958
2981
|
"403": "ErrorMessage",
|
|
2959
2982
|
"409": "ErrorMessage",
|
|
2960
2983
|
"422": "HTTPValidationError",
|
|
2984
|
+
"429": "RateLimitError",
|
|
2961
2985
|
"500": "ErrorMessage",
|
|
2962
2986
|
}
|
|
2963
2987
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -3028,6 +3052,7 @@ class DefaultApi:
|
|
|
3028
3052
|
"403": "ErrorMessage",
|
|
3029
3053
|
"409": "ErrorMessage",
|
|
3030
3054
|
"422": "HTTPValidationError",
|
|
3055
|
+
"429": "RateLimitError",
|
|
3031
3056
|
"500": "ErrorMessage",
|
|
3032
3057
|
}
|
|
3033
3058
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -3152,6 +3177,7 @@ class DefaultApi:
|
|
|
3152
3177
|
"403": "ErrorMessage",
|
|
3153
3178
|
"404": "ErrorMessage",
|
|
3154
3179
|
"422": "HTTPValidationError",
|
|
3180
|
+
"429": "RateLimitError",
|
|
3155
3181
|
"500": "ErrorMessage",
|
|
3156
3182
|
}
|
|
3157
3183
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -3227,6 +3253,7 @@ class DefaultApi:
|
|
|
3227
3253
|
"403": "ErrorMessage",
|
|
3228
3254
|
"404": "ErrorMessage",
|
|
3229
3255
|
"422": "HTTPValidationError",
|
|
3256
|
+
"429": "RateLimitError",
|
|
3230
3257
|
"500": "ErrorMessage",
|
|
3231
3258
|
}
|
|
3232
3259
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -3302,6 +3329,7 @@ class DefaultApi:
|
|
|
3302
3329
|
"403": "ErrorMessage",
|
|
3303
3330
|
"404": "ErrorMessage",
|
|
3304
3331
|
"422": "HTTPValidationError",
|
|
3332
|
+
"429": "RateLimitError",
|
|
3305
3333
|
"500": "ErrorMessage",
|
|
3306
3334
|
}
|
|
3307
3335
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4206,6 +4234,7 @@ class DefaultApi:
|
|
|
4206
4234
|
"403": "ErrorMessage",
|
|
4207
4235
|
"404": "ErrorMessage",
|
|
4208
4236
|
"422": "HTTPValidationError",
|
|
4237
|
+
"429": "RateLimitError",
|
|
4209
4238
|
"500": "ErrorMessage",
|
|
4210
4239
|
}
|
|
4211
4240
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4275,6 +4304,7 @@ class DefaultApi:
|
|
|
4275
4304
|
"403": "ErrorMessage",
|
|
4276
4305
|
"404": "ErrorMessage",
|
|
4277
4306
|
"422": "HTTPValidationError",
|
|
4307
|
+
"429": "RateLimitError",
|
|
4278
4308
|
"500": "ErrorMessage",
|
|
4279
4309
|
}
|
|
4280
4310
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4344,6 +4374,7 @@ class DefaultApi:
|
|
|
4344
4374
|
"403": "ErrorMessage",
|
|
4345
4375
|
"404": "ErrorMessage",
|
|
4346
4376
|
"422": "HTTPValidationError",
|
|
4377
|
+
"429": "RateLimitError",
|
|
4347
4378
|
"500": "ErrorMessage",
|
|
4348
4379
|
}
|
|
4349
4380
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4466,6 +4497,7 @@ class DefaultApi:
|
|
|
4466
4497
|
"403": "ErrorMessage",
|
|
4467
4498
|
"404": "ErrorMessage",
|
|
4468
4499
|
"422": "HTTPValidationError",
|
|
4500
|
+
"429": "RateLimitError",
|
|
4469
4501
|
"500": "ErrorMessage",
|
|
4470
4502
|
}
|
|
4471
4503
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4539,6 +4571,7 @@ class DefaultApi:
|
|
|
4539
4571
|
"403": "ErrorMessage",
|
|
4540
4572
|
"404": "ErrorMessage",
|
|
4541
4573
|
"422": "HTTPValidationError",
|
|
4574
|
+
"429": "RateLimitError",
|
|
4542
4575
|
"500": "ErrorMessage",
|
|
4543
4576
|
}
|
|
4544
4577
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4612,6 +4645,7 @@ class DefaultApi:
|
|
|
4612
4645
|
"403": "ErrorMessage",
|
|
4613
4646
|
"404": "ErrorMessage",
|
|
4614
4647
|
"422": "HTTPValidationError",
|
|
4648
|
+
"429": "RateLimitError",
|
|
4615
4649
|
"500": "ErrorMessage",
|
|
4616
4650
|
}
|
|
4617
4651
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4735,6 +4769,7 @@ class DefaultApi:
|
|
|
4735
4769
|
"403": "ErrorMessage",
|
|
4736
4770
|
"404": "ErrorMessage",
|
|
4737
4771
|
"422": "HTTPValidationError",
|
|
4772
|
+
"429": "RateLimitError",
|
|
4738
4773
|
"500": "ErrorMessage",
|
|
4739
4774
|
}
|
|
4740
4775
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4804,6 +4839,7 @@ class DefaultApi:
|
|
|
4804
4839
|
"403": "ErrorMessage",
|
|
4805
4840
|
"404": "ErrorMessage",
|
|
4806
4841
|
"422": "HTTPValidationError",
|
|
4842
|
+
"429": "RateLimitError",
|
|
4807
4843
|
"500": "ErrorMessage",
|
|
4808
4844
|
}
|
|
4809
4845
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4873,6 +4909,7 @@ class DefaultApi:
|
|
|
4873
4909
|
"403": "ErrorMessage",
|
|
4874
4910
|
"404": "ErrorMessage",
|
|
4875
4911
|
"422": "HTTPValidationError",
|
|
4912
|
+
"429": "RateLimitError",
|
|
4876
4913
|
"500": "ErrorMessage",
|
|
4877
4914
|
}
|
|
4878
4915
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -4990,6 +5027,7 @@ class DefaultApi:
|
|
|
4990
5027
|
"401": "ErrorMessage",
|
|
4991
5028
|
"404": "ErrorMessage",
|
|
4992
5029
|
"422": "HTTPValidationError",
|
|
5030
|
+
"429": "RateLimitError",
|
|
4993
5031
|
"500": "ErrorMessage",
|
|
4994
5032
|
}
|
|
4995
5033
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -5058,6 +5096,7 @@ class DefaultApi:
|
|
|
5058
5096
|
"401": "ErrorMessage",
|
|
5059
5097
|
"404": "ErrorMessage",
|
|
5060
5098
|
"422": "HTTPValidationError",
|
|
5099
|
+
"429": "RateLimitError",
|
|
5061
5100
|
"500": "ErrorMessage",
|
|
5062
5101
|
}
|
|
5063
5102
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -5126,6 +5165,7 @@ class DefaultApi:
|
|
|
5126
5165
|
"401": "ErrorMessage",
|
|
5127
5166
|
"404": "ErrorMessage",
|
|
5128
5167
|
"422": "HTTPValidationError",
|
|
5168
|
+
"429": "RateLimitError",
|
|
5129
5169
|
"500": "ErrorMessage",
|
|
5130
5170
|
}
|
|
5131
5171
|
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
@@ -5480,3 +5520,285 @@ class DefaultApi:
|
|
|
5480
5520
|
_host=_host,
|
|
5481
5521
|
_request_auth=_request_auth,
|
|
5482
5522
|
)
|
|
5523
|
+
|
|
5524
|
+
@validate_call
|
|
5525
|
+
def update_service(
|
|
5526
|
+
self,
|
|
5527
|
+
project_id: Annotated[StrictStr, Field(description="STACKIT project ID")],
|
|
5528
|
+
region: Annotated[StrictStr, Field(description="STACKIT Region")],
|
|
5529
|
+
update_service_payload: UpdateServicePayload,
|
|
5530
|
+
_request_timeout: Union[
|
|
5531
|
+
None,
|
|
5532
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
5533
|
+
Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
|
|
5534
|
+
] = None,
|
|
5535
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
5536
|
+
_content_type: Optional[StrictStr] = None,
|
|
5537
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
5538
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
5539
|
+
) -> ProjectStatus:
|
|
5540
|
+
"""Update Project
|
|
5541
|
+
|
|
5542
|
+
Update project details.
|
|
5543
|
+
|
|
5544
|
+
:param project_id: STACKIT project ID (required)
|
|
5545
|
+
:type project_id: str
|
|
5546
|
+
:param region: STACKIT Region (required)
|
|
5547
|
+
:type region: str
|
|
5548
|
+
:param update_service_payload: (required)
|
|
5549
|
+
:type update_service_payload: UpdateServicePayload
|
|
5550
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
5551
|
+
number provided, it will be total request
|
|
5552
|
+
timeout. It can also be a pair (tuple) of
|
|
5553
|
+
(connection, read) timeouts.
|
|
5554
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
5555
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
5556
|
+
request; this effectively ignores the
|
|
5557
|
+
authentication in the spec for a single request.
|
|
5558
|
+
:type _request_auth: dict, optional
|
|
5559
|
+
:param _content_type: force content-type for the request.
|
|
5560
|
+
:type _content_type: str, Optional
|
|
5561
|
+
:param _headers: set to override the headers for a single
|
|
5562
|
+
request; this effectively ignores the headers
|
|
5563
|
+
in the spec for a single request.
|
|
5564
|
+
:type _headers: dict, optional
|
|
5565
|
+
:param _host_index: set to override the host_index for a single
|
|
5566
|
+
request; this effectively ignores the host_index
|
|
5567
|
+
in the spec for a single request.
|
|
5568
|
+
:type _host_index: int, optional
|
|
5569
|
+
:return: Returns the result object.
|
|
5570
|
+
""" # noqa: E501
|
|
5571
|
+
|
|
5572
|
+
_param = self._update_service_serialize(
|
|
5573
|
+
project_id=project_id,
|
|
5574
|
+
region=region,
|
|
5575
|
+
update_service_payload=update_service_payload,
|
|
5576
|
+
_request_auth=_request_auth,
|
|
5577
|
+
_content_type=_content_type,
|
|
5578
|
+
_headers=_headers,
|
|
5579
|
+
_host_index=_host_index,
|
|
5580
|
+
)
|
|
5581
|
+
|
|
5582
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
5583
|
+
"200": "ProjectStatus",
|
|
5584
|
+
"401": "ErrorMessage",
|
|
5585
|
+
"403": "ErrorMessage",
|
|
5586
|
+
"404": "ErrorMessage",
|
|
5587
|
+
"422": "HTTPValidationError",
|
|
5588
|
+
"429": "RateLimitError",
|
|
5589
|
+
"500": "ErrorMessage",
|
|
5590
|
+
}
|
|
5591
|
+
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
5592
|
+
response_data.read()
|
|
5593
|
+
return self.api_client.response_deserialize(
|
|
5594
|
+
response_data=response_data,
|
|
5595
|
+
response_types_map=_response_types_map,
|
|
5596
|
+
).data
|
|
5597
|
+
|
|
5598
|
+
@validate_call
|
|
5599
|
+
def update_service_with_http_info(
|
|
5600
|
+
self,
|
|
5601
|
+
project_id: Annotated[StrictStr, Field(description="STACKIT project ID")],
|
|
5602
|
+
region: Annotated[StrictStr, Field(description="STACKIT Region")],
|
|
5603
|
+
update_service_payload: UpdateServicePayload,
|
|
5604
|
+
_request_timeout: Union[
|
|
5605
|
+
None,
|
|
5606
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
5607
|
+
Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
|
|
5608
|
+
] = None,
|
|
5609
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
5610
|
+
_content_type: Optional[StrictStr] = None,
|
|
5611
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
5612
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
5613
|
+
) -> ApiResponse[ProjectStatus]:
|
|
5614
|
+
"""Update Project
|
|
5615
|
+
|
|
5616
|
+
Update project details.
|
|
5617
|
+
|
|
5618
|
+
:param project_id: STACKIT project ID (required)
|
|
5619
|
+
:type project_id: str
|
|
5620
|
+
:param region: STACKIT Region (required)
|
|
5621
|
+
:type region: str
|
|
5622
|
+
:param update_service_payload: (required)
|
|
5623
|
+
:type update_service_payload: UpdateServicePayload
|
|
5624
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
5625
|
+
number provided, it will be total request
|
|
5626
|
+
timeout. It can also be a pair (tuple) of
|
|
5627
|
+
(connection, read) timeouts.
|
|
5628
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
5629
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
5630
|
+
request; this effectively ignores the
|
|
5631
|
+
authentication in the spec for a single request.
|
|
5632
|
+
:type _request_auth: dict, optional
|
|
5633
|
+
:param _content_type: force content-type for the request.
|
|
5634
|
+
:type _content_type: str, Optional
|
|
5635
|
+
:param _headers: set to override the headers for a single
|
|
5636
|
+
request; this effectively ignores the headers
|
|
5637
|
+
in the spec for a single request.
|
|
5638
|
+
:type _headers: dict, optional
|
|
5639
|
+
:param _host_index: set to override the host_index for a single
|
|
5640
|
+
request; this effectively ignores the host_index
|
|
5641
|
+
in the spec for a single request.
|
|
5642
|
+
:type _host_index: int, optional
|
|
5643
|
+
:return: Returns the result object.
|
|
5644
|
+
""" # noqa: E501
|
|
5645
|
+
|
|
5646
|
+
_param = self._update_service_serialize(
|
|
5647
|
+
project_id=project_id,
|
|
5648
|
+
region=region,
|
|
5649
|
+
update_service_payload=update_service_payload,
|
|
5650
|
+
_request_auth=_request_auth,
|
|
5651
|
+
_content_type=_content_type,
|
|
5652
|
+
_headers=_headers,
|
|
5653
|
+
_host_index=_host_index,
|
|
5654
|
+
)
|
|
5655
|
+
|
|
5656
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
5657
|
+
"200": "ProjectStatus",
|
|
5658
|
+
"401": "ErrorMessage",
|
|
5659
|
+
"403": "ErrorMessage",
|
|
5660
|
+
"404": "ErrorMessage",
|
|
5661
|
+
"422": "HTTPValidationError",
|
|
5662
|
+
"429": "RateLimitError",
|
|
5663
|
+
"500": "ErrorMessage",
|
|
5664
|
+
}
|
|
5665
|
+
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
5666
|
+
response_data.read()
|
|
5667
|
+
return self.api_client.response_deserialize(
|
|
5668
|
+
response_data=response_data,
|
|
5669
|
+
response_types_map=_response_types_map,
|
|
5670
|
+
)
|
|
5671
|
+
|
|
5672
|
+
@validate_call
|
|
5673
|
+
def update_service_without_preload_content(
|
|
5674
|
+
self,
|
|
5675
|
+
project_id: Annotated[StrictStr, Field(description="STACKIT project ID")],
|
|
5676
|
+
region: Annotated[StrictStr, Field(description="STACKIT Region")],
|
|
5677
|
+
update_service_payload: UpdateServicePayload,
|
|
5678
|
+
_request_timeout: Union[
|
|
5679
|
+
None,
|
|
5680
|
+
Annotated[StrictFloat, Field(gt=0)],
|
|
5681
|
+
Tuple[Annotated[StrictFloat, Field(gt=0)], Annotated[StrictFloat, Field(gt=0)]],
|
|
5682
|
+
] = None,
|
|
5683
|
+
_request_auth: Optional[Dict[StrictStr, Any]] = None,
|
|
5684
|
+
_content_type: Optional[StrictStr] = None,
|
|
5685
|
+
_headers: Optional[Dict[StrictStr, Any]] = None,
|
|
5686
|
+
_host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
|
|
5687
|
+
) -> RESTResponseType:
|
|
5688
|
+
"""Update Project
|
|
5689
|
+
|
|
5690
|
+
Update project details.
|
|
5691
|
+
|
|
5692
|
+
:param project_id: STACKIT project ID (required)
|
|
5693
|
+
:type project_id: str
|
|
5694
|
+
:param region: STACKIT Region (required)
|
|
5695
|
+
:type region: str
|
|
5696
|
+
:param update_service_payload: (required)
|
|
5697
|
+
:type update_service_payload: UpdateServicePayload
|
|
5698
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
5699
|
+
number provided, it will be total request
|
|
5700
|
+
timeout. It can also be a pair (tuple) of
|
|
5701
|
+
(connection, read) timeouts.
|
|
5702
|
+
:type _request_timeout: int, tuple(int, int), optional
|
|
5703
|
+
:param _request_auth: set to override the auth_settings for an a single
|
|
5704
|
+
request; this effectively ignores the
|
|
5705
|
+
authentication in the spec for a single request.
|
|
5706
|
+
:type _request_auth: dict, optional
|
|
5707
|
+
:param _content_type: force content-type for the request.
|
|
5708
|
+
:type _content_type: str, Optional
|
|
5709
|
+
:param _headers: set to override the headers for a single
|
|
5710
|
+
request; this effectively ignores the headers
|
|
5711
|
+
in the spec for a single request.
|
|
5712
|
+
:type _headers: dict, optional
|
|
5713
|
+
:param _host_index: set to override the host_index for a single
|
|
5714
|
+
request; this effectively ignores the host_index
|
|
5715
|
+
in the spec for a single request.
|
|
5716
|
+
:type _host_index: int, optional
|
|
5717
|
+
:return: Returns the result object.
|
|
5718
|
+
""" # noqa: E501
|
|
5719
|
+
|
|
5720
|
+
_param = self._update_service_serialize(
|
|
5721
|
+
project_id=project_id,
|
|
5722
|
+
region=region,
|
|
5723
|
+
update_service_payload=update_service_payload,
|
|
5724
|
+
_request_auth=_request_auth,
|
|
5725
|
+
_content_type=_content_type,
|
|
5726
|
+
_headers=_headers,
|
|
5727
|
+
_host_index=_host_index,
|
|
5728
|
+
)
|
|
5729
|
+
|
|
5730
|
+
_response_types_map: Dict[str, Optional[str]] = {
|
|
5731
|
+
"200": "ProjectStatus",
|
|
5732
|
+
"401": "ErrorMessage",
|
|
5733
|
+
"403": "ErrorMessage",
|
|
5734
|
+
"404": "ErrorMessage",
|
|
5735
|
+
"422": "HTTPValidationError",
|
|
5736
|
+
"429": "RateLimitError",
|
|
5737
|
+
"500": "ErrorMessage",
|
|
5738
|
+
}
|
|
5739
|
+
response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
|
|
5740
|
+
return response_data.response
|
|
5741
|
+
|
|
5742
|
+
def _update_service_serialize(
|
|
5743
|
+
self,
|
|
5744
|
+
project_id,
|
|
5745
|
+
region,
|
|
5746
|
+
update_service_payload,
|
|
5747
|
+
_request_auth,
|
|
5748
|
+
_content_type,
|
|
5749
|
+
_headers,
|
|
5750
|
+
_host_index,
|
|
5751
|
+
) -> RequestSerialized:
|
|
5752
|
+
|
|
5753
|
+
_host = None
|
|
5754
|
+
|
|
5755
|
+
_collection_formats: Dict[str, str] = {}
|
|
5756
|
+
|
|
5757
|
+
_path_params: Dict[str, str] = {}
|
|
5758
|
+
_query_params: List[Tuple[str, str]] = []
|
|
5759
|
+
_header_params: Dict[str, Optional[str]] = _headers or {}
|
|
5760
|
+
_form_params: List[Tuple[str, str]] = []
|
|
5761
|
+
_files: Dict[str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]]] = {}
|
|
5762
|
+
_body_params: Optional[bytes] = None
|
|
5763
|
+
|
|
5764
|
+
# process the path parameters
|
|
5765
|
+
if project_id is not None:
|
|
5766
|
+
_path_params["projectId"] = project_id
|
|
5767
|
+
if region is not None:
|
|
5768
|
+
_path_params["region"] = region
|
|
5769
|
+
# process the query parameters
|
|
5770
|
+
# process the header parameters
|
|
5771
|
+
# process the form parameters
|
|
5772
|
+
# process the body parameter
|
|
5773
|
+
if update_service_payload is not None:
|
|
5774
|
+
_body_params = update_service_payload
|
|
5775
|
+
|
|
5776
|
+
# set the HTTP header `Accept`
|
|
5777
|
+
if "Accept" not in _header_params:
|
|
5778
|
+
_header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
|
|
5779
|
+
|
|
5780
|
+
# set the HTTP header `Content-Type`
|
|
5781
|
+
if _content_type:
|
|
5782
|
+
_header_params["Content-Type"] = _content_type
|
|
5783
|
+
else:
|
|
5784
|
+
_default_content_type = self.api_client.select_header_content_type(["application/json"])
|
|
5785
|
+
if _default_content_type is not None:
|
|
5786
|
+
_header_params["Content-Type"] = _default_content_type
|
|
5787
|
+
|
|
5788
|
+
# authentication setting
|
|
5789
|
+
_auth_settings: List[str] = []
|
|
5790
|
+
|
|
5791
|
+
return self.api_client.param_serialize(
|
|
5792
|
+
method="PUT",
|
|
5793
|
+
resource_path="/v2/project/{projectId}/regions/{region}",
|
|
5794
|
+
path_params=_path_params,
|
|
5795
|
+
query_params=_query_params,
|
|
5796
|
+
header_params=_header_params,
|
|
5797
|
+
body=_body_params,
|
|
5798
|
+
post_params=_form_params,
|
|
5799
|
+
files=_files,
|
|
5800
|
+
auth_settings=_auth_settings,
|
|
5801
|
+
collection_formats=_collection_formats,
|
|
5802
|
+
_host=_host,
|
|
5803
|
+
_request_auth=_request_auth,
|
|
5804
|
+
)
|
|
@@ -63,8 +63,10 @@ from stackit.objectstorage.models.list_credentials_groups_response import (
|
|
|
63
63
|
from stackit.objectstorage.models.location_inner import LocationInner
|
|
64
64
|
from stackit.objectstorage.models.project_scope import ProjectScope
|
|
65
65
|
from stackit.objectstorage.models.project_status import ProjectStatus
|
|
66
|
+
from stackit.objectstorage.models.rate_limit_error import RateLimitError
|
|
66
67
|
from stackit.objectstorage.models.retention_mode import RetentionMode
|
|
67
68
|
from stackit.objectstorage.models.set_default_retention_payload import (
|
|
68
69
|
SetDefaultRetentionPayload,
|
|
69
70
|
)
|
|
71
|
+
from stackit.objectstorage.models.update_service_payload import UpdateServicePayload
|
|
70
72
|
from stackit.objectstorage.models.validation_error import ValidationError
|
|
@@ -28,7 +28,7 @@ class AccessKey(BaseModel):
|
|
|
28
28
|
""" # noqa: E501
|
|
29
29
|
|
|
30
30
|
display_name: StrictStr = Field(alias="displayName")
|
|
31
|
-
expires: StrictStr
|
|
31
|
+
expires: Optional[StrictStr]
|
|
32
32
|
key_id: StrictStr = Field(
|
|
33
33
|
description="Identifies the pair of access key and secret access key for deletion", alias="keyId"
|
|
34
34
|
)
|
|
@@ -71,6 +71,11 @@ class AccessKey(BaseModel):
|
|
|
71
71
|
exclude=excluded_fields,
|
|
72
72
|
exclude_none=True,
|
|
73
73
|
)
|
|
74
|
+
# set to None if expires (nullable) is None
|
|
75
|
+
# and model_fields_set contains the field
|
|
76
|
+
if self.expires is None and "expires" in self.model_fields_set:
|
|
77
|
+
_dict["expires"] = None
|
|
78
|
+
|
|
74
79
|
return _dict
|
|
75
80
|
|
|
76
81
|
@classmethod
|
|
@@ -82,6 +82,11 @@ class CreateAccessKeyPayload(BaseModel):
|
|
|
82
82
|
exclude=excluded_fields,
|
|
83
83
|
exclude_none=True,
|
|
84
84
|
)
|
|
85
|
+
# set to None if expires (nullable) is None
|
|
86
|
+
# and model_fields_set contains the field
|
|
87
|
+
if self.expires is None and "expires" in self.model_fields_set:
|
|
88
|
+
_dict["expires"] = None
|
|
89
|
+
|
|
85
90
|
return _dict
|
|
86
91
|
|
|
87
92
|
@classmethod
|
|
@@ -29,9 +29,10 @@ class ProjectStatus(BaseModel):
|
|
|
29
29
|
ProjectStatus
|
|
30
30
|
""" # noqa: E501
|
|
31
31
|
|
|
32
|
+
labels: Optional[Dict[str, StrictStr]] = Field(default=None, description="Project labels")
|
|
32
33
|
project: StrictStr = Field(description="Project ID")
|
|
33
34
|
scope: ProjectScope = Field(description="Project Scope")
|
|
34
|
-
__properties: ClassVar[List[str]] = ["project", "scope"]
|
|
35
|
+
__properties: ClassVar[List[str]] = ["labels", "project", "scope"]
|
|
35
36
|
|
|
36
37
|
model_config = ConfigDict(
|
|
37
38
|
validate_by_name=True,
|
|
@@ -81,5 +82,7 @@ class ProjectStatus(BaseModel):
|
|
|
81
82
|
if not isinstance(obj, dict):
|
|
82
83
|
return cls.model_validate(obj)
|
|
83
84
|
|
|
84
|
-
_obj = cls.model_validate(
|
|
85
|
+
_obj = cls.model_validate(
|
|
86
|
+
{"labels": obj.get("labels"), "project": obj.get("project"), "scope": obj.get("scope")}
|
|
87
|
+
)
|
|
85
88
|
return _obj
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
STACKIT Object Storage API
|
|
5
|
+
|
|
6
|
+
STACKIT API to manage the Object Storage
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.0.1
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import json
|
|
17
|
+
import pprint
|
|
18
|
+
import re # noqa: F401
|
|
19
|
+
from datetime import datetime
|
|
20
|
+
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
21
|
+
|
|
22
|
+
from pydantic import BaseModel, ConfigDict, StrictInt, StrictStr, field_validator
|
|
23
|
+
from pydantic_core import to_jsonable_python
|
|
24
|
+
from typing_extensions import Self
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class RateLimitError(BaseModel):
|
|
28
|
+
"""
|
|
29
|
+
RateLimitError
|
|
30
|
+
""" # noqa: E501
|
|
31
|
+
|
|
32
|
+
error: Optional[StrictStr] = None
|
|
33
|
+
message: Optional[StrictStr] = None
|
|
34
|
+
path: Optional[StrictStr] = None
|
|
35
|
+
status: Optional[StrictInt] = None
|
|
36
|
+
timestamp: Optional[datetime] = None
|
|
37
|
+
__properties: ClassVar[List[str]] = ["error", "message", "path", "status", "timestamp"]
|
|
38
|
+
|
|
39
|
+
@field_validator("timestamp", mode="before")
|
|
40
|
+
def timestamp_change_year_zero_to_one(cls, value):
|
|
41
|
+
"""Workaround which prevents year 0 issue"""
|
|
42
|
+
if isinstance(value, str):
|
|
43
|
+
# Check for year "0000" at the beginning of the string
|
|
44
|
+
# This assumes common date formats like YYYY-MM-DDTHH:MM:SS+00:00 or YYYY-MM-DDTHH:MM:SSZ
|
|
45
|
+
if value.startswith("0000-01-01T") and re.match(
|
|
46
|
+
r"^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\+\d{2}:\d{2}|Z)$", value
|
|
47
|
+
):
|
|
48
|
+
# Workaround: Replace "0000" with "0001"
|
|
49
|
+
return "0001" + value[4:] # Take "0001" and append the rest of the string
|
|
50
|
+
return value
|
|
51
|
+
|
|
52
|
+
model_config = ConfigDict(
|
|
53
|
+
validate_by_name=True,
|
|
54
|
+
validate_by_alias=True,
|
|
55
|
+
validate_assignment=True,
|
|
56
|
+
protected_namespaces=(),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
def to_str(self) -> str:
|
|
60
|
+
"""Returns the string representation of the model using alias"""
|
|
61
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
62
|
+
|
|
63
|
+
def to_json(self) -> str:
|
|
64
|
+
"""Returns the JSON representation of the model using alias"""
|
|
65
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
66
|
+
|
|
67
|
+
@classmethod
|
|
68
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
69
|
+
"""Create an instance of RateLimitError from a JSON string"""
|
|
70
|
+
return cls.from_dict(json.loads(json_str))
|
|
71
|
+
|
|
72
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
73
|
+
"""Return the dictionary representation of the model using alias.
|
|
74
|
+
|
|
75
|
+
This has the following differences from calling pydantic's
|
|
76
|
+
`self.model_dump(by_alias=True)`:
|
|
77
|
+
|
|
78
|
+
* `None` is only added to the output dict for nullable fields that
|
|
79
|
+
were set at model initialization. Other fields with value `None`
|
|
80
|
+
are ignored.
|
|
81
|
+
"""
|
|
82
|
+
excluded_fields: Set[str] = set([])
|
|
83
|
+
|
|
84
|
+
_dict = self.model_dump(
|
|
85
|
+
by_alias=True,
|
|
86
|
+
exclude=excluded_fields,
|
|
87
|
+
exclude_none=True,
|
|
88
|
+
)
|
|
89
|
+
return _dict
|
|
90
|
+
|
|
91
|
+
@classmethod
|
|
92
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
93
|
+
"""Create an instance of RateLimitError from a dict"""
|
|
94
|
+
if obj is None:
|
|
95
|
+
return None
|
|
96
|
+
|
|
97
|
+
if not isinstance(obj, dict):
|
|
98
|
+
return cls.model_validate(obj)
|
|
99
|
+
|
|
100
|
+
_obj = cls.model_validate(
|
|
101
|
+
{
|
|
102
|
+
"error": obj.get("error"),
|
|
103
|
+
"message": obj.get("message"),
|
|
104
|
+
"path": obj.get("path"),
|
|
105
|
+
"status": obj.get("status"),
|
|
106
|
+
"timestamp": obj.get("timestamp"),
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
return _obj
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
STACKIT Object Storage API
|
|
5
|
+
|
|
6
|
+
STACKIT API to manage the Object Storage
|
|
7
|
+
|
|
8
|
+
The version of the OpenAPI document: 2.0.1
|
|
9
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
10
|
+
|
|
11
|
+
Do not edit the class manually.
|
|
12
|
+
""" # noqa: E501
|
|
13
|
+
|
|
14
|
+
from __future__ import annotations
|
|
15
|
+
|
|
16
|
+
import json
|
|
17
|
+
import pprint
|
|
18
|
+
from typing import Any, ClassVar, Dict, List, Optional, Set
|
|
19
|
+
|
|
20
|
+
from pydantic import BaseModel, ConfigDict, Field, StrictStr
|
|
21
|
+
from pydantic_core import to_jsonable_python
|
|
22
|
+
from typing_extensions import Self
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class UpdateServicePayload(BaseModel):
|
|
26
|
+
"""
|
|
27
|
+
UpdateServicePayload
|
|
28
|
+
""" # noqa: E501
|
|
29
|
+
|
|
30
|
+
labels: Dict[str, StrictStr] = Field(description="Project labels")
|
|
31
|
+
__properties: ClassVar[List[str]] = ["labels"]
|
|
32
|
+
|
|
33
|
+
model_config = ConfigDict(
|
|
34
|
+
validate_by_name=True,
|
|
35
|
+
validate_by_alias=True,
|
|
36
|
+
validate_assignment=True,
|
|
37
|
+
protected_namespaces=(),
|
|
38
|
+
)
|
|
39
|
+
|
|
40
|
+
def to_str(self) -> str:
|
|
41
|
+
"""Returns the string representation of the model using alias"""
|
|
42
|
+
return pprint.pformat(self.model_dump(by_alias=True))
|
|
43
|
+
|
|
44
|
+
def to_json(self) -> str:
|
|
45
|
+
"""Returns the JSON representation of the model using alias"""
|
|
46
|
+
return json.dumps(to_jsonable_python(self.to_dict()))
|
|
47
|
+
|
|
48
|
+
@classmethod
|
|
49
|
+
def from_json(cls, json_str: str) -> Optional[Self]:
|
|
50
|
+
"""Create an instance of UpdateServicePayload from a JSON string"""
|
|
51
|
+
return cls.from_dict(json.loads(json_str))
|
|
52
|
+
|
|
53
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
54
|
+
"""Return the dictionary representation of the model using alias.
|
|
55
|
+
|
|
56
|
+
This has the following differences from calling pydantic's
|
|
57
|
+
`self.model_dump(by_alias=True)`:
|
|
58
|
+
|
|
59
|
+
* `None` is only added to the output dict for nullable fields that
|
|
60
|
+
were set at model initialization. Other fields with value `None`
|
|
61
|
+
are ignored.
|
|
62
|
+
"""
|
|
63
|
+
excluded_fields: Set[str] = set([])
|
|
64
|
+
|
|
65
|
+
_dict = self.model_dump(
|
|
66
|
+
by_alias=True,
|
|
67
|
+
exclude=excluded_fields,
|
|
68
|
+
exclude_none=True,
|
|
69
|
+
)
|
|
70
|
+
return _dict
|
|
71
|
+
|
|
72
|
+
@classmethod
|
|
73
|
+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
|
|
74
|
+
"""Create an instance of UpdateServicePayload from a dict"""
|
|
75
|
+
if obj is None:
|
|
76
|
+
return None
|
|
77
|
+
|
|
78
|
+
if not isinstance(obj, dict):
|
|
79
|
+
return cls.model_validate(obj)
|
|
80
|
+
|
|
81
|
+
_obj = cls.model_validate({"labels": obj.get("labels")})
|
|
82
|
+
return _obj
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/api_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/py.typed
RENAMED
|
File without changes
|
{stackit_objectstorage-1.5.0 → stackit_objectstorage-1.7.0}/src/stackit/objectstorage/rest.py
RENAMED
|
File without changes
|