stackit-observability 0.7.0__tar.gz → 0.9.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.
Files changed (113) hide show
  1. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/PKG-INFO +1 -1
  2. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/pyproject.toml +1 -1
  3. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/__init__.py +4 -0
  4. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/api/default_api.py +29 -0
  5. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/__init__.py +3 -0
  6. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alert_config_receiver_payload_web_hook_configs_inner.py +8 -2
  7. stackit_observability-0.9.0/src/stackit/observability/models/create_credentials_payload.py +84 -0
  8. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/credentials.py +5 -2
  9. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/service_keys_list.py +8 -2
  10. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_metrics_storage_retention_payload.py +3 -3
  11. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/web_hook.py +3 -1
  12. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/LICENSE.md +0 -0
  13. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/NOTICE.txt +0 -0
  14. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/README.md +0 -0
  15. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/api/__init__.py +0 -0
  16. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/api_client.py +0 -0
  17. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/api_response.py +0 -0
  18. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/configuration.py +0 -0
  19. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/exceptions.py +0 -0
  20. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert.py +0 -0
  21. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_config_receivers_response.py +0 -0
  22. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_config_route_response.py +0 -0
  23. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_group.py +0 -0
  24. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_group_response.py +0 -0
  25. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_groups_response.py +0 -0
  26. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_rule.py +0 -0
  27. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_rule_record.py +0 -0
  28. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/alert_rules_response.py +0 -0
  29. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/basic_auth.py +0 -0
  30. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alert_config_receiver_payload.py +0 -0
  31. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alert_config_receiver_payload_email_configs_inner.py +0 -0
  32. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alert_config_receiver_payload_opsgenie_configs_inner.py +0 -0
  33. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alert_config_route_payload.py +0 -0
  34. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alert_config_route_payload_routes_inner.py +0 -0
  35. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alertgroups_payload.py +0 -0
  36. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_alertrules_payload.py +0 -0
  37. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_credentials_response.py +0 -0
  38. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_instance_payload.py +0 -0
  39. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_instance_response.py +0 -0
  40. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_logs_alertgroups_payload.py +0 -0
  41. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload.py +0 -0
  42. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload_basic_auth.py +0 -0
  43. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload_http_sd_configs_inner.py +0 -0
  44. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload_http_sd_configs_inner_oauth2.py +0 -0
  45. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload_http_sd_configs_inner_oauth2_tls_config.py +0 -0
  46. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload_metrics_relabel_configs_inner.py +0 -0
  47. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/create_scrape_config_payload_static_configs_inner.py +0 -0
  48. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/credentials_remote_write_config.py +0 -0
  49. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/credentials_remote_write_delete_response.py +0 -0
  50. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/delete_scrape_config_response.py +0 -0
  51. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/email_config.py +0 -0
  52. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/error.py +0 -0
  53. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/get_alert_configs_response.py +0 -0
  54. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/get_credentials_response.py +0 -0
  55. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/get_instance_response.py +0 -0
  56. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/get_metrics_storage_retention_response.py +0 -0
  57. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/get_scrape_config_response.py +0 -0
  58. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/grafana_configs.py +0 -0
  59. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/grafana_oauth.py +0 -0
  60. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/http_service_sd.py +0 -0
  61. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/inhibit_rules.py +0 -0
  62. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/instance.py +0 -0
  63. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/instance_response.py +0 -0
  64. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/instance_sensitive_data.py +0 -0
  65. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/job.py +0 -0
  66. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/list_acl_response.py +0 -0
  67. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/list_credentials_response.py +0 -0
  68. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/list_instances_response.py +0 -0
  69. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/list_scrape_configs_response.py +0 -0
  70. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/logs_config.py +0 -0
  71. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/logs_config_response.py +0 -0
  72. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/message.py +0 -0
  73. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/metrics_relabel_config.py +0 -0
  74. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/model_global.py +0 -0
  75. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/o_auth2.py +0 -0
  76. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/opsgenie_config.py +0 -0
  77. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/permission_denied.py +0 -0
  78. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/plan.py +0 -0
  79. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/plan_model.py +0 -0
  80. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/plans_response.py +0 -0
  81. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/project_instance_full.py +0 -0
  82. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/receiver.py +0 -0
  83. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/receivers.py +0 -0
  84. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/route.py +0 -0
  85. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/route_serializer.py +0 -0
  86. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/scrape_configs_response.py +0 -0
  87. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/static_configs.py +0 -0
  88. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/tls_config.py +0 -0
  89. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/trace_config.py +0 -0
  90. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/traces_config_response.py +0 -0
  91. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_acl_payload.py +0 -0
  92. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_config_receiver_payload.py +0 -0
  93. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_config_route_payload.py +0 -0
  94. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_configs_payload.py +0 -0
  95. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_configs_payload_global.py +0 -0
  96. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_configs_payload_inhibit_rules.py +0 -0
  97. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_configs_payload_receivers_inner.py +0 -0
  98. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_configs_payload_route.py +0 -0
  99. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alert_configs_response.py +0 -0
  100. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alertgroup_payload.py +0 -0
  101. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alertgroups_request_inner.py +0 -0
  102. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_alertgroups_request_inner_rules_inner.py +0 -0
  103. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_credentials_remote_write_config_payload.py +0 -0
  104. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_grafana_configs_payload.py +0 -0
  105. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_grafana_configs_payload_generic_oauth.py +0 -0
  106. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_instance_payload.py +0 -0
  107. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_logs_alertgroup_payload.py +0 -0
  108. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_logs_configs_payload.py +0 -0
  109. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_scrape_config_payload.py +0 -0
  110. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_scrape_config_payload_static_configs_inner.py +0 -0
  111. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/models/update_traces_configs_payload.py +0 -0
  112. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/py.typed +0 -0
  113. {stackit_observability-0.7.0 → stackit_observability-0.9.0}/src/stackit/observability/rest.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: stackit-observability
3
- Version: 0.7.0
3
+ Version: 0.9.0
4
4
  Summary: STACKIT Observability API
5
5
  Author: STACKIT Developer Tools
6
6
  Author-email: developer-tools@stackit.cloud
@@ -3,7 +3,7 @@ name = "stackit-observability"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "stackit-observability"
6
- version = "v0.7.0"
6
+ version = "v0.9.0"
7
7
  authors = [
8
8
  "STACKIT Developer Tools <developer-tools@stackit.cloud>",
9
9
  ]
@@ -47,6 +47,7 @@ __all__ = [
47
47
  "CreateAlertConfigRoutePayloadRoutesInner",
48
48
  "CreateAlertgroupsPayload",
49
49
  "CreateAlertrulesPayload",
50
+ "CreateCredentialsPayload",
50
51
  "CreateCredentialsResponse",
51
52
  "CreateInstancePayload",
52
53
  "CreateInstanceResponse",
@@ -189,6 +190,9 @@ from stackit.observability.models.create_alertgroups_payload import (
189
190
  from stackit.observability.models.create_alertrules_payload import (
190
191
  CreateAlertrulesPayload as CreateAlertrulesPayload,
191
192
  )
193
+ from stackit.observability.models.create_credentials_payload import (
194
+ CreateCredentialsPayload as CreateCredentialsPayload,
195
+ )
192
196
  from stackit.observability.models.create_credentials_response import (
193
197
  CreateCredentialsResponse as CreateCredentialsResponse,
194
198
  )
@@ -41,6 +41,9 @@ from stackit.observability.models.create_alertgroups_payload import (
41
41
  from stackit.observability.models.create_alertrules_payload import (
42
42
  CreateAlertrulesPayload,
43
43
  )
44
+ from stackit.observability.models.create_credentials_payload import (
45
+ CreateCredentialsPayload,
46
+ )
44
47
  from stackit.observability.models.create_credentials_response import (
45
48
  CreateCredentialsResponse,
46
49
  )
@@ -1248,6 +1251,7 @@ class DefaultApi:
1248
1251
  self,
1249
1252
  instance_id: StrictStr,
1250
1253
  project_id: StrictStr,
1254
+ create_credentials_payload: Optional[CreateCredentialsPayload] = None,
1251
1255
  _request_timeout: Union[
1252
1256
  None,
1253
1257
  Annotated[StrictFloat, Field(gt=0)],
@@ -1266,6 +1270,8 @@ class DefaultApi:
1266
1270
  :type instance_id: str
1267
1271
  :param project_id: (required)
1268
1272
  :type project_id: str
1273
+ :param create_credentials_payload:
1274
+ :type create_credentials_payload: CreateCredentialsPayload
1269
1275
  :param _request_timeout: timeout setting for this request. If one
1270
1276
  number provided, it will be total request
1271
1277
  timeout. It can also be a pair (tuple) of
@@ -1291,6 +1297,7 @@ class DefaultApi:
1291
1297
  _param = self._create_credentials_serialize(
1292
1298
  instance_id=instance_id,
1293
1299
  project_id=project_id,
1300
+ create_credentials_payload=create_credentials_payload,
1294
1301
  _request_auth=_request_auth,
1295
1302
  _content_type=_content_type,
1296
1303
  _headers=_headers,
@@ -1299,6 +1306,7 @@ class DefaultApi:
1299
1306
 
1300
1307
  _response_types_map: Dict[str, Optional[str]] = {
1301
1308
  "201": "CreateCredentialsResponse",
1309
+ "400": "Error",
1302
1310
  "403": "PermissionDenied",
1303
1311
  }
1304
1312
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -1313,6 +1321,7 @@ class DefaultApi:
1313
1321
  self,
1314
1322
  instance_id: StrictStr,
1315
1323
  project_id: StrictStr,
1324
+ create_credentials_payload: Optional[CreateCredentialsPayload] = None,
1316
1325
  _request_timeout: Union[
1317
1326
  None,
1318
1327
  Annotated[StrictFloat, Field(gt=0)],
@@ -1331,6 +1340,8 @@ class DefaultApi:
1331
1340
  :type instance_id: str
1332
1341
  :param project_id: (required)
1333
1342
  :type project_id: str
1343
+ :param create_credentials_payload:
1344
+ :type create_credentials_payload: CreateCredentialsPayload
1334
1345
  :param _request_timeout: timeout setting for this request. If one
1335
1346
  number provided, it will be total request
1336
1347
  timeout. It can also be a pair (tuple) of
@@ -1356,6 +1367,7 @@ class DefaultApi:
1356
1367
  _param = self._create_credentials_serialize(
1357
1368
  instance_id=instance_id,
1358
1369
  project_id=project_id,
1370
+ create_credentials_payload=create_credentials_payload,
1359
1371
  _request_auth=_request_auth,
1360
1372
  _content_type=_content_type,
1361
1373
  _headers=_headers,
@@ -1364,6 +1376,7 @@ class DefaultApi:
1364
1376
 
1365
1377
  _response_types_map: Dict[str, Optional[str]] = {
1366
1378
  "201": "CreateCredentialsResponse",
1379
+ "400": "Error",
1367
1380
  "403": "PermissionDenied",
1368
1381
  }
1369
1382
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -1378,6 +1391,7 @@ class DefaultApi:
1378
1391
  self,
1379
1392
  instance_id: StrictStr,
1380
1393
  project_id: StrictStr,
1394
+ create_credentials_payload: Optional[CreateCredentialsPayload] = None,
1381
1395
  _request_timeout: Union[
1382
1396
  None,
1383
1397
  Annotated[StrictFloat, Field(gt=0)],
@@ -1396,6 +1410,8 @@ class DefaultApi:
1396
1410
  :type instance_id: str
1397
1411
  :param project_id: (required)
1398
1412
  :type project_id: str
1413
+ :param create_credentials_payload:
1414
+ :type create_credentials_payload: CreateCredentialsPayload
1399
1415
  :param _request_timeout: timeout setting for this request. If one
1400
1416
  number provided, it will be total request
1401
1417
  timeout. It can also be a pair (tuple) of
@@ -1421,6 +1437,7 @@ class DefaultApi:
1421
1437
  _param = self._create_credentials_serialize(
1422
1438
  instance_id=instance_id,
1423
1439
  project_id=project_id,
1440
+ create_credentials_payload=create_credentials_payload,
1424
1441
  _request_auth=_request_auth,
1425
1442
  _content_type=_content_type,
1426
1443
  _headers=_headers,
@@ -1429,6 +1446,7 @@ class DefaultApi:
1429
1446
 
1430
1447
  _response_types_map: Dict[str, Optional[str]] = {
1431
1448
  "201": "CreateCredentialsResponse",
1449
+ "400": "Error",
1432
1450
  "403": "PermissionDenied",
1433
1451
  }
1434
1452
  response_data = self.api_client.call_api(*_param, _request_timeout=_request_timeout)
@@ -1438,6 +1456,7 @@ class DefaultApi:
1438
1456
  self,
1439
1457
  instance_id,
1440
1458
  project_id,
1459
+ create_credentials_payload,
1441
1460
  _request_auth,
1442
1461
  _content_type,
1443
1462
  _headers,
@@ -1464,11 +1483,21 @@ class DefaultApi:
1464
1483
  # process the header parameters
1465
1484
  # process the form parameters
1466
1485
  # process the body parameter
1486
+ if create_credentials_payload is not None:
1487
+ _body_params = create_credentials_payload
1467
1488
 
1468
1489
  # set the HTTP header `Accept`
1469
1490
  if "Accept" not in _header_params:
1470
1491
  _header_params["Accept"] = self.api_client.select_header_accept(["application/json"])
1471
1492
 
1493
+ # set the HTTP header `Content-Type`
1494
+ if _content_type:
1495
+ _header_params["Content-Type"] = _content_type
1496
+ else:
1497
+ _default_content_type = self.api_client.select_header_content_type(["application/json"])
1498
+ if _default_content_type is not None:
1499
+ _header_params["Content-Type"] = _default_content_type
1500
+
1472
1501
  # authentication setting
1473
1502
  _auth_settings: List[str] = []
1474
1503
 
@@ -53,6 +53,9 @@ from stackit.observability.models.create_alertgroups_payload import (
53
53
  from stackit.observability.models.create_alertrules_payload import (
54
54
  CreateAlertrulesPayload,
55
55
  )
56
+ from stackit.observability.models.create_credentials_payload import (
57
+ CreateCredentialsPayload,
58
+ )
56
59
  from stackit.observability.models.create_credentials_response import (
57
60
  CreateCredentialsResponse,
58
61
  )
@@ -27,9 +27,14 @@ class CreateAlertConfigReceiverPayloadWebHookConfigsInner(BaseModel):
27
27
  CreateAlertConfigReceiverPayloadWebHookConfigsInner
28
28
  """ # noqa: E501
29
29
 
30
+ google_chat: Optional[StrictBool] = Field(
31
+ default=False,
32
+ description="Google Chat webhooks require special handling. If you set this property to true, it is treated as such. `Additional Validators:` * When set to true, msTeams must be false.",
33
+ alias="googleChat",
34
+ )
30
35
  ms_teams: Optional[StrictBool] = Field(
31
36
  default=False,
32
- description="Microsoft Teams webhooks require special handling. If you set this property to true, it is treated as such",
37
+ description="Microsoft Teams webhooks require special handling. If you set this property to true, it is treated as such. `Additional Validators:` * When set to true, googleChat must be false.",
33
38
  alias="msTeams",
34
39
  )
35
40
  send_resolved: Optional[StrictBool] = Field(
@@ -39,7 +44,7 @@ class CreateAlertConfigReceiverPayloadWebHookConfigsInner(BaseModel):
39
44
  default=None,
40
45
  description="The endpoint to send HTTP POST requests to. `Additional Validators:` * must be a syntactically valid url address",
41
46
  )
42
- __properties: ClassVar[List[str]] = ["msTeams", "sendResolved", "url"]
47
+ __properties: ClassVar[List[str]] = ["googleChat", "msTeams", "sendResolved", "url"]
43
48
 
44
49
  model_config = ConfigDict(
45
50
  populate_by_name=True,
@@ -91,6 +96,7 @@ class CreateAlertConfigReceiverPayloadWebHookConfigsInner(BaseModel):
91
96
 
92
97
  _obj = cls.model_validate(
93
98
  {
99
+ "googleChat": obj.get("googleChat") if obj.get("googleChat") is not None else False,
94
100
  "msTeams": obj.get("msTeams") if obj.get("msTeams") is not None else False,
95
101
  "sendResolved": obj.get("sendResolved") if obj.get("sendResolved") is not None else True,
96
102
  "url": obj.get("url"),
@@ -0,0 +1,84 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ STACKIT Observability API
5
+
6
+ API endpoints for Observability on STACKIT
7
+
8
+ The version of the OpenAPI document: 1.1.1
9
+ Contact: stackit-argus@mail.schwarz
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+ from __future__ import annotations
16
+
17
+ import json
18
+ import pprint
19
+ from typing import Any, ClassVar, Dict, List, Optional, Set
20
+
21
+ from pydantic import BaseModel, ConfigDict, Field
22
+ from typing_extensions import Annotated, Self
23
+
24
+
25
+ class CreateCredentialsPayload(BaseModel):
26
+ """
27
+ Create new credentials with (optional) description
28
+ """ # noqa: E501
29
+
30
+ description: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=1000)]] = Field(
31
+ default=None, description="description"
32
+ )
33
+ __properties: ClassVar[List[str]] = ["description"]
34
+
35
+ model_config = ConfigDict(
36
+ populate_by_name=True,
37
+ validate_assignment=True,
38
+ protected_namespaces=(),
39
+ )
40
+
41
+ def to_str(self) -> str:
42
+ """Returns the string representation of the model using alias"""
43
+ return pprint.pformat(self.model_dump(by_alias=True))
44
+
45
+ def to_json(self) -> str:
46
+ """Returns the JSON representation of the model using alias"""
47
+ # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
48
+ return json.dumps(self.to_dict())
49
+
50
+ @classmethod
51
+ def from_json(cls, json_str: str) -> Optional[Self]:
52
+ """Create an instance of CreateCredentialsPayload from a JSON string"""
53
+ return cls.from_dict(json.loads(json_str))
54
+
55
+ def to_dict(self) -> Dict[str, Any]:
56
+ """Return the dictionary representation of the model using alias.
57
+
58
+ This has the following differences from calling pydantic's
59
+ `self.model_dump(by_alias=True)`:
60
+
61
+ * `None` is only added to the output dict for nullable fields that
62
+ were set at model initialization. Other fields with value `None`
63
+ are ignored.
64
+ """
65
+ excluded_fields: Set[str] = set([])
66
+
67
+ _dict = self.model_dump(
68
+ by_alias=True,
69
+ exclude=excluded_fields,
70
+ exclude_none=True,
71
+ )
72
+ return _dict
73
+
74
+ @classmethod
75
+ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
76
+ """Create an instance of CreateCredentialsPayload from a dict"""
77
+ if obj is None:
78
+ return None
79
+
80
+ if not isinstance(obj, dict):
81
+ return cls.model_validate(obj)
82
+
83
+ _obj = cls.model_validate({"description": obj.get("description")})
84
+ return _obj
@@ -27,9 +27,10 @@ class Credentials(BaseModel):
27
27
  Credentials
28
28
  """ # noqa: E501
29
29
 
30
+ description: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=1000)]] = None
30
31
  password: Annotated[str, Field(min_length=1, strict=True)]
31
32
  username: Annotated[str, Field(min_length=1, strict=True)]
32
- __properties: ClassVar[List[str]] = ["password", "username"]
33
+ __properties: ClassVar[List[str]] = ["description", "password", "username"]
33
34
 
34
35
  model_config = ConfigDict(
35
36
  populate_by_name=True,
@@ -79,5 +80,7 @@ class Credentials(BaseModel):
79
80
  if not isinstance(obj, dict):
80
81
  return cls.model_validate(obj)
81
82
 
82
- _obj = cls.model_validate({"password": obj.get("password"), "username": obj.get("username")})
83
+ _obj = cls.model_validate(
84
+ {"description": obj.get("description"), "password": obj.get("password"), "username": obj.get("username")}
85
+ )
83
86
  return _obj
@@ -28,9 +28,10 @@ class ServiceKeysList(BaseModel):
28
28
  """ # noqa: E501
29
29
 
30
30
  credentials_info: Optional[Dict[str, Optional[StrictStr]]] = Field(default=None, alias="credentialsInfo")
31
+ description: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=1000)]] = None
31
32
  id: Annotated[str, Field(min_length=1, strict=True, max_length=200)]
32
33
  name: Annotated[str, Field(min_length=1, strict=True, max_length=200)]
33
- __properties: ClassVar[List[str]] = ["credentialsInfo", "id", "name"]
34
+ __properties: ClassVar[List[str]] = ["credentialsInfo", "description", "id", "name"]
34
35
 
35
36
  model_config = ConfigDict(
36
37
  populate_by_name=True,
@@ -81,6 +82,11 @@ class ServiceKeysList(BaseModel):
81
82
  return cls.model_validate(obj)
82
83
 
83
84
  _obj = cls.model_validate(
84
- {"credentialsInfo": obj.get("credentialsInfo"), "id": obj.get("id"), "name": obj.get("name")}
85
+ {
86
+ "credentialsInfo": obj.get("credentialsInfo"),
87
+ "description": obj.get("description"),
88
+ "id": obj.get("id"),
89
+ "name": obj.get("name"),
90
+ }
85
91
  )
86
92
  return _obj
@@ -28,15 +28,15 @@ class UpdateMetricsStorageRetentionPayload(BaseModel):
28
28
  """ # noqa: E501
29
29
 
30
30
  metrics_retention_time1h: Annotated[str, Field(min_length=2, strict=True, max_length=8)] = Field(
31
- description="Retention time of longtime storage of 1h sampled data. After that time the data will be deleted permanently. `Additional Validators:` * Should be a valid time string * Should not be bigger than metricsRetentionTime5m",
31
+ description="Retention time of longtime storage of 1h sampled data. After that time the 1h sampled data will be deleted permanently. The goal of downsampling is to get fast results for queries over long time intervals. It is recommended to set this value to be the same as metricsRetentionTimeRaw to ensure zoom-in capabilities in your dashboards. The default value is 90 days. `Additional Validators:` * Should be a valid time string (e.g. '90d'). * Should be between '10d' and '780d'. * Note: For compatibility reasons, values between '0d' and '792d' are also accepted. However, these will be automatically adjusted in the backend to the recommended range of '10d' to '780d'.",
32
32
  alias="metricsRetentionTime1h",
33
33
  )
34
34
  metrics_retention_time5m: Annotated[str, Field(min_length=2, strict=True, max_length=8)] = Field(
35
- description="Retention time of longtime storage of 5m sampled data. After that time the data will be down sampled to 1h. `Additional Validators:` * Should be a valid time string * Should not be bigger than metricsRetentionTimeRaw",
35
+ description="Retention time of longtime storage of 5m sampled data. After that time the 5m sampled data will be deleted permanently. All 5m resolution metrics older than 10 days are downsampled at a 1h resolution. The goal of downsampling is to get fast results for queries over long time intervals. It is recommended to set this value to be the same as metricsRetentionTimeRaw to ensure zoom-in capabilities in your dashboards. The default value is 90 days. `Additional Validators:` * Should be a valid time string (e.g. '90d'). * Should be between '10d' and '780d'. * Note: For compatibility reasons, values between '0d' and '792d' are also accepted. However, these will be automatically adjusted in the backend to the recommended range of '10d' to '780d'.",
36
36
  alias="metricsRetentionTime5m",
37
37
  )
38
38
  metrics_retention_time_raw: Annotated[str, Field(min_length=2, strict=True, max_length=8)] = Field(
39
- description="Retention time of longtime storage of raw sampled data. After that time the data will be down sampled to 5m. Keep in mind, that the initial goal of downsampling is not saving disk or object storage space. In fact, downsampling doesn't save you any space but instead, it adds 2 more blocks for each raw block which are only slightly smaller or relatively similar size to raw block. This is done by internal downsampling implementation which to be mathematically correct holds various aggregations. This means that downsampling can increase the size of your storage a bit (~3x), if you choose to store all resolutions (recommended). The goal of downsampling is to provide an opportunity to get fast results for range queries of big time intervals like months or years. `Additional Validators:` * Should be a valid time string * Should not be bigger than 13 months",
39
+ description="Retention time of longtime storage of raw data. After that time the raw data will be deleted permanently. All raw resolution metrics that are older than 40 hours are downsampled at a 5m resolution. The default value is 90 days. `Additional Validators:` * Should be a valid time string (e.g. '90d'). * Should be between '2d' and '780d'. * Note: For compatibility reasons, values between '0d' and '792d' are also accepted. However, these will be automatically adjusted in the backend to the recommended range of '2d' to '780d'.",
40
40
  alias="metricsRetentionTimeRaw",
41
41
  )
42
42
  __properties: ClassVar[List[str]] = ["metricsRetentionTime1h", "metricsRetentionTime5m", "metricsRetentionTimeRaw"]
@@ -27,10 +27,11 @@ class WebHook(BaseModel):
27
27
  WebHook
28
28
  """ # noqa: E501
29
29
 
30
+ google_chat: Optional[StrictBool] = Field(default=False, alias="googleChat")
30
31
  ms_teams: Optional[StrictBool] = Field(default=False, alias="msTeams")
31
32
  send_resolved: Optional[StrictBool] = Field(default=True, alias="sendResolved")
32
33
  url: Annotated[str, Field(min_length=1, strict=True, max_length=500)]
33
- __properties: ClassVar[List[str]] = ["msTeams", "sendResolved", "url"]
34
+ __properties: ClassVar[List[str]] = ["googleChat", "msTeams", "sendResolved", "url"]
34
35
 
35
36
  model_config = ConfigDict(
36
37
  populate_by_name=True,
@@ -82,6 +83,7 @@ class WebHook(BaseModel):
82
83
 
83
84
  _obj = cls.model_validate(
84
85
  {
86
+ "googleChat": obj.get("googleChat") if obj.get("googleChat") is not None else False,
85
87
  "msTeams": obj.get("msTeams") if obj.get("msTeams") is not None else False,
86
88
  "sendResolved": obj.get("sendResolved") if obj.get("sendResolved") is not None else True,
87
89
  "url": obj.get("url"),