├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md └── workflows │ ├── cd.yaml │ ├── ci.yaml │ ├── dependency-checker.yaml │ └── stale.yaml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── Makefile ├── NOTICE.txt ├── README.md ├── RELEASE.md ├── core ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml ├── src │ └── stackit │ │ └── core │ │ ├── __init__.py │ │ ├── auth_methods │ │ ├── key_auth.py │ │ └── token_auth.py │ │ ├── authorization.py │ │ └── configuration.py └── tests │ ├── __init__.py │ └── core │ ├── __init__.py │ ├── test_auth.py │ └── test_config.py ├── examples ├── core │ ├── custom_access_token.py │ ├── custom_auth.py │ ├── custom_endpoint.py │ ├── custom_proxy.py │ ├── custom_session.py │ └── minimal_example.py ├── dns │ ├── create_recordset.py │ ├── create_zone.py │ ├── delete_zone.py │ └── list_zones.py ├── errorhandling │ └── errorhandling.py ├── iaas │ ├── create_network_area.py │ ├── delete_network_area.py │ └── list_networks.py ├── iaasalpha │ ├── create_volume.py │ ├── delete_volume.py │ └── list_volumes.py ├── kms │ └── list_keyrings.py ├── loadbalancer │ ├── create_loadbalancer.py │ ├── delete_loadbalancer.py │ └── list_loadbalancers.py ├── logme │ ├── create_instance.py │ ├── delete_instance.py │ └── list_instances.py ├── mariadb │ ├── create_instance.py │ ├── delete_instance.py │ └── list_instances.py ├── mongodbflex │ ├── create_instance.py │ ├── create_user.py │ ├── delete_instance.py │ └── list_instances.py ├── objectstorage │ ├── create_bucket.py │ ├── delete_bucket.py │ └── list_buckets.py ├── observability │ ├── create_instances.py │ ├── delete_instance.py │ └── list_instances.py ├── opensearch │ ├── create_instances.py │ ├── delete_instance.py │ └── list_instances.py ├── postgresflex │ ├── create_instance.py │ ├── delete_instance.py │ └── list_instances.py ├── rabbitmq │ ├── create_instance.py │ ├── delete_instance.py │ └── list_instances.py ├── redis │ ├── create_instance.py │ ├── delete_instance.py │ └── list_instances.py ├── resourcemanager │ └── list_projects.py ├── secretsmanager │ ├── create_instances.py │ ├── delete_instances.py │ └── list_instances.py ├── serviceaccount │ ├── create_serviceaccount.py │ ├── delete_service_accounts.py │ └── list_serviceaccounts.py ├── serviceenablement │ └── list_service_status.py ├── ske │ ├── create_cluster.py │ ├── credential_rotation.py │ ├── delete_cluster.py │ └── list_clusters.py └── sqlserverflex │ ├── create_instances.py │ ├── delete_instances.py │ └── list_instances.py ├── scripts ├── cd.sh └── helper.sh └── services ├── alb ├── CHANGELOG.md ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── alb │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── active_health_check.py │ ├── certificate_config.py │ ├── cookie_persistence.py │ ├── create_credentials_payload.py │ ├── create_credentials_response.py │ ├── create_load_balancer_payload.py │ ├── credentials_response.py │ ├── get_credentials_response.py │ ├── get_quota_response.py │ ├── google_protobuf_any.py │ ├── host_config.py │ ├── http_header.py │ ├── http_health_checks.py │ ├── list_credentials_response.py │ ├── list_load_balancers_response.py │ ├── list_plans_response.py │ ├── listener.py │ ├── load_balancer.py │ ├── load_balancer_error.py │ ├── load_balancer_options.py │ ├── loadbalancer_option_access_control.py │ ├── loadbalancer_option_logs.py │ ├── loadbalancer_option_metrics.py │ ├── loadbalancer_option_observability.py │ ├── network.py │ ├── path.py │ ├── plan_details.py │ ├── protocol_options_http.py │ ├── protocol_options_https.py │ ├── query_parameter.py │ ├── rule.py │ ├── status.py │ ├── target.py │ ├── target_pool.py │ ├── target_pool_tls_config.py │ ├── update_credentials_payload.py │ ├── update_credentials_response.py │ ├── update_load_balancer_payload.py │ └── update_target_pool_payload.py │ ├── py.typed │ └── rest.py ├── authorization ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── authorization │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── add_members_payload.py │ ├── error_response.py │ ├── existing_permission.py │ ├── list_members_response.py │ ├── list_permissions_response.py │ ├── list_user_memberships_response.py │ ├── list_user_permissions_response.py │ ├── member.py │ ├── members_response.py │ ├── permission.py │ ├── remove_members_payload.py │ ├── role.py │ ├── roles_response.py │ ├── user_membership.py │ ├── user_permission.py │ └── zookie.py │ ├── py.typed │ └── rest.py ├── cdn ├── CHANGELOG.md ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── cdn │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── config.py │ ├── config_backend.py │ ├── config_patch.py │ ├── config_patch_backend.py │ ├── create_distribution_payload.py │ ├── create_distribution_response.py │ ├── custom_domain.py │ ├── delete_custom_domain_response.py │ ├── delete_distribution_response.py │ ├── distribution.py │ ├── distribution_logs_record.py │ ├── distribution_statistics_record.py │ ├── distribution_statistics_record_entry.py │ ├── distribution_statistics_record_regions.py │ ├── domain.py │ ├── domain_status.py │ ├── error_details.py │ ├── find_cache_paths_response.py │ ├── find_cache_paths_response_entry.py │ ├── generic_json_response.py │ ├── get_cache_info_response.py │ ├── get_cache_info_response_history_entry.py │ ├── get_custom_domain_response.py │ ├── get_distribution_response.py │ ├── get_logs_response.py │ ├── get_statistics_response.py │ ├── http_backend.py │ ├── http_backend_patch.py │ ├── list_distributions_response.py │ ├── optimizer.py │ ├── optimizer_patch.py │ ├── patch_distribution_payload.py │ ├── patch_distribution_response.py │ ├── purge_cache_payload.py │ ├── put_custom_domain_payload.py │ ├── put_custom_domain_response.py │ ├── region.py │ └── status_error.py │ ├── py.typed │ └── rest.py ├── certificates ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── certificates │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── create_certificate_payload.py │ ├── create_certificate_response.py │ ├── get_certificate_response.py │ ├── google_protobuf_any.py │ ├── list_certificates_response.py │ └── status.py │ ├── py.typed │ └── rest.py ├── dns ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── dns │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── clone_zone_payload.py │ ├── create_label_payload.py │ ├── create_label_response.py │ ├── create_record_set_payload.py │ ├── create_zone_payload.py │ ├── delete_label_response.py │ ├── domain_extensions.py │ ├── domain_observability_extension.py │ ├── error_message.py │ ├── export_record_sets_payload.py │ ├── import_record_sets_payload.py │ ├── import_record_sets_response.py │ ├── import_summary.py │ ├── label.py │ ├── list_labels_response.py │ ├── list_record_sets_response.py │ ├── list_zones_response.py │ ├── message.py │ ├── move_code_response.py │ ├── move_zone_payload.py │ ├── partial_update_record_payload.py │ ├── partial_update_record_set_payload.py │ ├── partial_update_zone_payload.py │ ├── record.py │ ├── record_data_exchange.py │ ├── record_payload.py │ ├── record_set.py │ ├── record_set_response.py │ ├── validate_move_code_payload.py │ ├── zone.py │ ├── zone_data_exchange.py │ ├── zone_extensions.py │ ├── zone_models_import_record_model.py │ ├── zone_models_import_zone_json.py │ ├── zone_observability_extension.py │ └── zone_response.py │ ├── py.typed │ └── rest.py ├── git ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── git │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── create_instance_payload.py │ ├── instance.py │ ├── internal_server_error_response.py │ ├── list_instances.py │ └── unauthorized_response.py │ ├── py.typed │ └── rest.py ├── iaas ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── iaas │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── add_volume_to_server_payload.py │ ├── affinity_group.py │ ├── affinity_group_list_response.py │ ├── allowed_addresses_inner.py │ ├── area.py │ ├── area_config.py │ ├── area_prefix_config_ipv4.py │ ├── availability_zone_list_response.py │ ├── backup.py │ ├── backup_list_response.py │ ├── backup_source.py │ ├── base_security_group_rule.py │ ├── boot_volume.py │ ├── boot_volume_source.py │ ├── create_affinity_group_payload.py │ ├── create_area_address_family.py │ ├── create_area_ipv4.py │ ├── create_backup_payload.py │ ├── create_image_payload.py │ ├── create_key_pair_payload.py │ ├── create_network_address_family.py │ ├── create_network_area_payload.py │ ├── create_network_area_range_payload.py │ ├── create_network_area_route_payload.py │ ├── create_network_ipv4_body.py │ ├── create_network_ipv6_body.py │ ├── create_network_payload.py │ ├── create_nic_payload.py │ ├── create_protocol.py │ ├── create_public_ip_payload.py │ ├── create_security_group_payload.py │ ├── create_security_group_rule_payload.py │ ├── create_security_group_rule_protocol.py │ ├── create_server_networking.py │ ├── create_server_networking_with_nics.py │ ├── create_server_payload.py │ ├── create_server_payload_networking.py │ ├── create_snapshot_payload.py │ ├── create_volume_payload.py │ ├── error.py │ ├── get_server_log200_response.py │ ├── icmp_parameters.py │ ├── image.py │ ├── image_checksum.py │ ├── image_config.py │ ├── image_create_response.py │ ├── image_list_response.py │ ├── image_share.py │ ├── image_share_consumer.py │ ├── key_pair_list_response.py │ ├── keypair.py │ ├── machine_type.py │ ├── machine_type_list_response.py │ ├── network.py │ ├── network_area.py │ ├── network_area_ipv4.py │ ├── network_area_list_response.py │ ├── network_list_response.py │ ├── network_range.py │ ├── network_range_list_response.py │ ├── nic.py │ ├── nic_list_response.py │ ├── partial_update_network_area_payload.py │ ├── partial_update_network_payload.py │ ├── port_range.py │ ├── project_list_response.py │ ├── protocol.py │ ├── public_ip.py │ ├── public_ip_list_response.py │ ├── public_network.py │ ├── public_network_list_response.py │ ├── quota.py │ ├── quota_list.py │ ├── quota_list_response.py │ ├── request.py │ ├── request_resource.py │ ├── rescue_server_payload.py │ ├── resize_server_payload.py │ ├── resize_volume_payload.py │ ├── route.py │ ├── route_list_response.py │ ├── security_group.py │ ├── security_group_list_response.py │ ├── security_group_rule.py │ ├── security_group_rule_list_response.py │ ├── security_group_rule_protocol.py │ ├── server.py │ ├── server_console_url.py │ ├── server_list_response.py │ ├── server_maintenance.py │ ├── server_network.py │ ├── service_account_mail_list_response.py │ ├── set_image_share_payload.py │ ├── snapshot.py │ ├── snapshot_list_response.py │ ├── update_area_address_family.py │ ├── update_area_ipv4.py │ ├── update_attached_volume_payload.py │ ├── update_backup_payload.py │ ├── update_image_payload.py │ ├── update_image_share_payload.py │ ├── update_key_pair_payload.py │ ├── update_network_address_family.py │ ├── update_network_area_route_payload.py │ ├── update_network_ipv4_body.py │ ├── update_network_ipv6_body.py │ ├── update_nic_payload.py │ ├── update_public_ip_payload.py │ ├── update_security_group_payload.py │ ├── update_server_payload.py │ ├── update_snapshot_payload.py │ ├── update_volume_payload.py │ ├── volume.py │ ├── volume_attachment.py │ ├── volume_attachment_list_response.py │ ├── volume_list_response.py │ ├── volume_performance_class.py │ ├── volume_performance_class_list_response.py │ └── volume_source.py │ ├── py.typed │ └── rest.py ├── iaasalpha ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── iaasalpha │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── add_member_to_virtual_ip_payload.py │ ├── add_volume_to_server_payload.py │ ├── affinity_group.py │ ├── affinity_group_list_response.py │ ├── allowed_addresses_inner.py │ ├── area.py │ ├── area_config.py │ ├── area_id.py │ ├── area_prefix_config_ipv4.py │ ├── availability_zone_list_response.py │ ├── backup.py │ ├── backup_list_response.py │ ├── backup_source.py │ ├── base_security_group_rule.py │ ├── boot_volume.py │ ├── boot_volume_source.py │ ├── create_affinity_group_payload.py │ ├── create_area_address_family.py │ ├── create_area_ipv4.py │ ├── create_backup_payload.py │ ├── create_image_payload.py │ ├── create_key_pair_payload.py │ ├── create_network_address_family.py │ ├── create_network_area_payload.py │ ├── create_network_area_range_payload.py │ ├── create_network_area_route_payload.py │ ├── create_network_ipv4_body.py │ ├── create_network_ipv6_body.py │ ├── create_network_payload.py │ ├── create_nic_payload.py │ ├── create_protocol.py │ ├── create_public_ip_payload.py │ ├── create_security_group_payload.py │ ├── create_security_group_rule_payload.py │ ├── create_security_group_rule_protocol.py │ ├── create_server_networking.py │ ├── create_server_networking_with_nics.py │ ├── create_server_payload.py │ ├── create_server_payload_networking.py │ ├── create_snapshot_payload.py │ ├── create_virtual_ip_payload.py │ ├── create_volume_payload.py │ ├── error.py │ ├── get_server_log200_response.py │ ├── icmp_parameters.py │ ├── image.py │ ├── image_checksum.py │ ├── image_config.py │ ├── image_create_response.py │ ├── image_list_response.py │ ├── image_share.py │ ├── image_share_consumer.py │ ├── key_pair_list_response.py │ ├── keypair.py │ ├── machine_type.py │ ├── machine_type_list_response.py │ ├── network.py │ ├── network_area.py │ ├── network_area_ipv4.py │ ├── network_area_list_response.py │ ├── network_list_response.py │ ├── network_range.py │ ├── network_range_list_response.py │ ├── nic.py │ ├── nic_list_response.py │ ├── partial_update_network_area_payload.py │ ├── partial_update_network_payload.py │ ├── port_range.py │ ├── project.py │ ├── project_list_response.py │ ├── protocol.py │ ├── public_ip.py │ ├── public_ip_list_response.py │ ├── public_network.py │ ├── public_network_list_response.py │ ├── quota.py │ ├── quota_list.py │ ├── quota_list_response.py │ ├── remove_member_from_virtual_ip_payload.py │ ├── request.py │ ├── request_resource.py │ ├── rescue_server_payload.py │ ├── resize_server_payload.py │ ├── resize_volume_payload.py │ ├── route.py │ ├── route_list_response.py │ ├── security_group.py │ ├── security_group_list_response.py │ ├── security_group_rule.py │ ├── security_group_rule_list_response.py │ ├── security_group_rule_protocol.py │ ├── server.py │ ├── server_console_url.py │ ├── server_list_response.py │ ├── server_maintenance.py │ ├── server_network.py │ ├── service_account_mail_list_response.py │ ├── set_image_share_payload.py │ ├── snapshot.py │ ├── snapshot_list_response.py │ ├── static_area_id.py │ ├── update_area_address_family.py │ ├── update_area_ipv4.py │ ├── update_attached_volume_payload.py │ ├── update_backup_payload.py │ ├── update_image_payload.py │ ├── update_image_share_payload.py │ ├── update_key_pair_payload.py │ ├── update_network_address_family.py │ ├── update_network_ipv4_body.py │ ├── update_network_ipv6_body.py │ ├── update_nic_payload.py │ ├── update_public_ip_payload.py │ ├── update_security_group_payload.py │ ├── update_server_payload.py │ ├── update_snapshot_payload.py │ ├── update_virtual_ip_payload.py │ ├── update_volume_payload.py │ ├── v1alpha1_update_route_of_area_payload.py │ ├── virtual_ip.py │ ├── virtual_ip_list_response.py │ ├── volume.py │ ├── volume_attachment.py │ ├── volume_attachment_list_response.py │ ├── volume_list_response.py │ ├── volume_performance_class.py │ ├── volume_performance_class_list_response.py │ └── volume_source.py │ ├── py.typed │ └── rest.py ├── kms ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── kms │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── algorithm.py │ ├── backend.py │ ├── create_key_payload.py │ ├── create_key_ring_payload.py │ ├── create_wrapping_key_payload.py │ ├── decrypt_payload.py │ ├── decrypted_data.py │ ├── encrypt_payload.py │ ├── encrypted_data.py │ ├── http_error.py │ ├── import_key_payload.py │ ├── key.py │ ├── key_list.py │ ├── key_ring.py │ ├── key_ring_list.py │ ├── purpose.py │ ├── sign_payload.py │ ├── signed_data.py │ ├── verified_data.py │ ├── verify_payload.py │ ├── version.py │ ├── version_list.py │ ├── wrapping_algorithm.py │ ├── wrapping_key.py │ ├── wrapping_key_list.py │ └── wrapping_purpose.py │ ├── py.typed │ └── rest.py ├── lbapplication ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── lbapplication │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── active_health_check.py │ ├── certificate_config.py │ ├── cookie_persistence.py │ ├── create_credentials_payload.py │ ├── create_credentials_response.py │ ├── create_load_balancer_payload.py │ ├── credentials_response.py │ ├── get_credentials_response.py │ ├── get_quota_response.py │ ├── get_service_status_response.py │ ├── google_protobuf_any.py │ ├── header.py │ ├── http_config.py │ ├── http_health_checks.py │ ├── list_credentials_response.py │ ├── list_load_balancers_response.py │ ├── list_plans_response.py │ ├── listener.py │ ├── load_balancer.py │ ├── load_balancer_error.py │ ├── load_balancer_options.py │ ├── loadbalancer_option_access_control.py │ ├── loadbalancer_option_logs.py │ ├── loadbalancer_option_metrics.py │ ├── loadbalancer_option_observability.py │ ├── matcher.py │ ├── network.py │ ├── plan_details.py │ ├── protocol_options_https.py │ ├── query_parameters.py │ ├── rule.py │ ├── status.py │ ├── target.py │ ├── target_pool.py │ ├── update_credentials_payload.py │ ├── update_credentials_response.py │ ├── update_load_balancer_payload.py │ └── update_target_pool_payload.py │ ├── py.typed │ └── rest.py ├── loadbalancer ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── loadbalancer │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── active_health_check.py │ ├── create_credentials_payload.py │ ├── create_credentials_response.py │ ├── create_load_balancer_payload.py │ ├── credentials_response.py │ ├── get_credentials_response.py │ ├── get_quota_response.py │ ├── google_protobuf_any.py │ ├── list_credentials_response.py │ ├── list_load_balancers_response.py │ ├── list_plans_response.py │ ├── listener.py │ ├── load_balancer.py │ ├── load_balancer_error.py │ ├── load_balancer_options.py │ ├── loadbalancer_option_access_control.py │ ├── loadbalancer_option_logs.py │ ├── loadbalancer_option_metrics.py │ ├── loadbalancer_option_observability.py │ ├── network.py │ ├── options_tcp.py │ ├── options_udp.py │ ├── plan_details.py │ ├── server_name_indicator.py │ ├── session_persistence.py │ ├── status.py │ ├── target.py │ ├── target_pool.py │ ├── update_credentials_payload.py │ ├── update_credentials_response.py │ ├── update_load_balancer_payload.py │ └── update_target_pool_payload.py │ ├── py.typed │ └── rest.py ├── logme ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── logme │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── backup.py │ ├── create_backup_response_item.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── credentials.py │ ├── credentials_list_item.py │ ├── credentials_response.py │ ├── error.py │ ├── get_metrics_response.py │ ├── instance.py │ ├── instance_last_operation.py │ ├── instance_parameters.py │ ├── instance_parameters_groks_inner.py │ ├── instance_schema.py │ ├── list_backups_response.py │ ├── list_credentials_response.py │ ├── list_instances_response.py │ ├── list_offerings_response.py │ ├── list_restores_response.py │ ├── model_schema.py │ ├── offering.py │ ├── partial_update_instance_payload.py │ ├── plan.py │ ├── raw_credentials.py │ ├── restore.py │ ├── trigger_restore_response.py │ ├── update_backups_config_payload.py │ └── update_backups_config_response.py │ ├── py.typed │ └── rest.py ├── mariadb ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── mariadb │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── backup.py │ ├── create_backup_response_item.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── credentials.py │ ├── credentials_list_item.py │ ├── credentials_response.py │ ├── error.py │ ├── get_metrics_response.py │ ├── instance.py │ ├── instance_last_operation.py │ ├── instance_parameters.py │ ├── instance_schema.py │ ├── list_backups_response.py │ ├── list_credentials_response.py │ ├── list_instances_response.py │ ├── list_offerings_response.py │ ├── list_restores_response.py │ ├── model_schema.py │ ├── offering.py │ ├── partial_update_instance_payload.py │ ├── plan.py │ ├── raw_credentials.py │ ├── restore.py │ ├── trigger_restore_response.py │ ├── update_backups_config_payload.py │ └── update_backups_config_response.py │ ├── py.typed │ └── rest.py ├── modelserving ├── CHANGELOG.md ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── modelserving │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── chat_model_details.py │ ├── create_token_payload.py │ ├── create_token_response.py │ ├── embedding_model_details.py │ ├── error_message_response.py │ ├── get_chat_model_response.py │ ├── get_embeddings_model_resp.py │ ├── get_token_response.py │ ├── list_models_response.py │ ├── list_token_resp.py │ ├── message_response.py │ ├── model.py │ ├── partial_update_token_payload.py │ ├── sku.py │ ├── token.py │ ├── token_created.py │ └── update_token_response.py │ ├── py.typed │ └── rest.py ├── mongodbflex ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── mongodbflex │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── acl.py │ ├── backup.py │ ├── backup_schedule.py │ ├── clone_instance_payload.py │ ├── clone_instance_response.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── create_user_payload.py │ ├── create_user_response.py │ ├── data_point.py │ ├── error.py │ ├── flavor.py │ ├── get_backup_response.py │ ├── get_instance_response.py │ ├── get_user_response.py │ ├── handlers_infra_flavor.py │ ├── handlers_infra_get_flavors_response.py │ ├── handlers_instances_get_instance_response.py │ ├── handlers_instances_slow_queries_response.py │ ├── handlers_instances_suggested_indexes_response.py │ ├── host.py │ ├── host_metric.py │ ├── instance.py │ ├── instance_list_instance.py │ ├── instance_response_user.py │ ├── list_backups_response.py │ ├── list_flavors_response.py │ ├── list_instances_response.py │ ├── list_metrics_response.py │ ├── list_restore_jobs_response.py │ ├── list_storages_response.py │ ├── list_user.py │ ├── list_users_response.py │ ├── list_versions_response.py │ ├── mongodbatlas_operation.py │ ├── mongodbatlas_stats.py │ ├── partial_update_instance_payload.py │ ├── partial_update_user_payload.py │ ├── restore_instance_payload.py │ ├── restore_instance_response.py │ ├── restore_instance_status.py │ ├── shape.py │ ├── slow_query.py │ ├── storage.py │ ├── storage_range.py │ ├── suggested_index.py │ ├── update_backup_schedule_payload.py │ ├── update_instance_payload.py │ ├── update_instance_response.py │ ├── update_user_payload.py │ └── user.py │ ├── py.typed │ └── rest.py ├── objectstorage ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── objectstorage │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── access_key.py │ ├── bucket.py │ ├── create_access_key_payload.py │ ├── create_access_key_response.py │ ├── create_bucket_response.py │ ├── create_credentials_group_payload.py │ ├── create_credentials_group_response.py │ ├── credentials_group.py │ ├── delete_access_key_response.py │ ├── delete_bucket_response.py │ ├── delete_credentials_group_response.py │ ├── detailed_error.py │ ├── error_message.py │ ├── get_bucket_response.py │ ├── http_validation_error.py │ ├── list_access_keys_response.py │ ├── list_buckets_response.py │ ├── list_credentials_groups_response.py │ ├── location_inner.py │ ├── project_scope.py │ ├── project_status.py │ └── validation_error.py │ ├── py.typed │ └── rest.py ├── observability ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── observability │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── alert.py │ ├── alert_config_receivers_response.py │ ├── alert_config_route_response.py │ ├── alert_group.py │ ├── alert_group_response.py │ ├── alert_groups_response.py │ ├── alert_rule.py │ ├── alert_rule_record.py │ ├── alert_rules_response.py │ ├── basic_auth.py │ ├── create_alert_config_receiver_payload.py │ ├── create_alert_config_receiver_payload_email_configs_inner.py │ ├── create_alert_config_receiver_payload_opsgenie_configs_inner.py │ ├── create_alert_config_receiver_payload_web_hook_configs_inner.py │ ├── create_alert_config_route_payload.py │ ├── create_alert_config_route_payload_routes_inner.py │ ├── create_alertgroups_payload.py │ ├── create_alertrules_payload.py │ ├── create_credentials_response.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── create_logs_alertgroups_payload.py │ ├── create_scrape_config_payload.py │ ├── create_scrape_config_payload_basic_auth.py │ ├── create_scrape_config_payload_http_sd_configs_inner.py │ ├── create_scrape_config_payload_http_sd_configs_inner_oauth2.py │ ├── create_scrape_config_payload_http_sd_configs_inner_oauth2_tls_config.py │ ├── create_scrape_config_payload_metrics_relabel_configs_inner.py │ ├── create_scrape_config_payload_static_configs_inner.py │ ├── credentials.py │ ├── credentials_remote_write_config.py │ ├── credentials_remote_write_delete_response.py │ ├── delete_scrape_config_response.py │ ├── email_config.py │ ├── error.py │ ├── get_alert_configs_response.py │ ├── get_credentials_response.py │ ├── get_instance_response.py │ ├── get_metrics_storage_retention_response.py │ ├── get_scrape_config_response.py │ ├── grafana_configs.py │ ├── grafana_oauth.py │ ├── http_service_sd.py │ ├── inhibit_rules.py │ ├── instance.py │ ├── instance_response.py │ ├── instance_sensitive_data.py │ ├── job.py │ ├── list_acl_response.py │ ├── list_credentials_response.py │ ├── list_instances_response.py │ ├── list_scrape_configs_response.py │ ├── message.py │ ├── metrics_relabel_config.py │ ├── model_global.py │ ├── o_auth2.py │ ├── opsgenie_config.py │ ├── permission_denied.py │ ├── plan.py │ ├── plan_model.py │ ├── plans_response.py │ ├── project_instance_full.py │ ├── receiver.py │ ├── receivers.py │ ├── route.py │ ├── route_serializer.py │ ├── scrape_configs_response.py │ ├── service_keys_list.py │ ├── static_configs.py │ ├── tls_config.py │ ├── update_acl_payload.py │ ├── update_alert_config_receiver_payload.py │ ├── update_alert_config_route_payload.py │ ├── update_alert_configs_payload.py │ ├── update_alert_configs_payload_global.py │ ├── update_alert_configs_payload_inhibit_rules.py │ ├── update_alert_configs_payload_receivers_inner.py │ ├── update_alert_configs_payload_route.py │ ├── update_alert_configs_response.py │ ├── update_alertgroup_payload.py │ ├── update_alertgroups_request_inner.py │ ├── update_alertgroups_request_inner_rules_inner.py │ ├── update_credentials_remote_write_config_payload.py │ ├── update_grafana_configs_payload.py │ ├── update_grafana_configs_payload_generic_oauth.py │ ├── update_instance_payload.py │ ├── update_logs_alertgroup_payload.py │ ├── update_metrics_storage_retention_payload.py │ ├── update_scrape_config_payload.py │ ├── update_scrape_config_payload_static_configs_inner.py │ └── web_hook.py │ ├── py.typed │ └── rest.py ├── opensearch ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── opensearch │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── backup.py │ ├── create_backup_response_item.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── credentials.py │ ├── credentials_list_item.py │ ├── credentials_response.py │ ├── error.py │ ├── get_metrics_response.py │ ├── instance.py │ ├── instance_last_operation.py │ ├── instance_parameters.py │ ├── instance_schema.py │ ├── list_backups_response.py │ ├── list_credentials_response.py │ ├── list_instances_response.py │ ├── list_offerings_response.py │ ├── list_restores_response.py │ ├── model_schema.py │ ├── offering.py │ ├── partial_update_instance_payload.py │ ├── plan.py │ ├── raw_credentials.py │ ├── restore.py │ ├── trigger_restore_response.py │ ├── update_backups_config_payload.py │ └── update_backups_config_response.py │ ├── py.typed │ └── rest.py ├── postgresflex ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── postgresflex │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── acl.py │ ├── api_configuration.py │ ├── api_extension_config_load_response.py │ ├── api_extension_configure_response.py │ ├── api_extension_delete_response.py │ ├── api_extension_list.py │ ├── api_extension_load_response.py │ ├── api_install_response.py │ ├── api_installed_list_response.py │ ├── backup.py │ ├── clone_instance_payload.py │ ├── clone_instance_response.py │ ├── create_database_payload.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── create_user_payload.py │ ├── create_user_response.py │ ├── error.py │ ├── extensions_configuration.py │ ├── extensions_extension_list_response.py │ ├── extensions_new_config.py │ ├── flavor.py │ ├── get_backup_response.py │ ├── get_user_response.py │ ├── instance.py │ ├── instance_create_database_response.py │ ├── instance_data_point.py │ ├── instance_database.py │ ├── instance_host.py │ ├── instance_host_metric.py │ ├── instance_list_databases_response.py │ ├── instance_list_instance.py │ ├── instance_metrics_response.py │ ├── instance_response.py │ ├── list_backups_response.py │ ├── list_flavors_response.py │ ├── list_instances_response.py │ ├── list_storages_response.py │ ├── list_users_response.py │ ├── list_users_response_item.py │ ├── list_versions_response.py │ ├── partial_update_instance_payload.py │ ├── partial_update_instance_response.py │ ├── partial_update_user_payload.py │ ├── postgres_database_parameter.py │ ├── postgres_database_parameter_response.py │ ├── reset_user_response.py │ ├── storage.py │ ├── storage_range.py │ ├── update_backup_schedule_payload.py │ ├── update_instance_payload.py │ ├── update_user_payload.py │ ├── user.py │ └── user_response.py │ ├── py.typed │ └── rest.py ├── rabbitmq ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── rabbitmq │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── backup.py │ ├── create_backup_response_item.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── credentials.py │ ├── credentials_list_item.py │ ├── credentials_response.py │ ├── error.py │ ├── get_metrics_response.py │ ├── instance.py │ ├── instance_last_operation.py │ ├── instance_parameters.py │ ├── instance_schema.py │ ├── list_backups_response.py │ ├── list_credentials_response.py │ ├── list_instances_response.py │ ├── list_offerings_response.py │ ├── list_restores_response.py │ ├── model_schema.py │ ├── offering.py │ ├── partial_update_instance_payload.py │ ├── plan.py │ ├── raw_credentials.py │ ├── restore.py │ ├── trigger_restore_response.py │ ├── update_backups_config_payload.py │ └── update_backups_config_response.py │ ├── py.typed │ └── rest.py ├── redis ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── redis │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── backup.py │ ├── create_backup_response_item.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── credentials.py │ ├── credentials_list_item.py │ ├── credentials_response.py │ ├── error.py │ ├── get_metrics_response.py │ ├── instance.py │ ├── instance_last_operation.py │ ├── instance_parameters.py │ ├── instance_schema.py │ ├── list_backups_response.py │ ├── list_credentials_response.py │ ├── list_instances_response.py │ ├── list_offerings_response.py │ ├── list_restores_response.py │ ├── model_schema.py │ ├── offering.py │ ├── partial_update_instance_payload.py │ ├── plan.py │ ├── raw_credentials.py │ ├── restore.py │ ├── trigger_restore_response.py │ ├── update_backups_config_payload.py │ └── update_backups_config_response.py │ ├── py.typed │ └── rest.py ├── resourcemanager ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── resourcemanager │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── create_folder_payload.py │ ├── create_project_payload.py │ ├── error_response.py │ ├── folder_response.py │ ├── get_folder_details_response.py │ ├── get_project_response.py │ ├── lifecycle_state.py │ ├── list_folders_response.py │ ├── list_folders_response_items_inner.py │ ├── list_organizations_response.py │ ├── list_organizations_response_items_inner.py │ ├── list_projects_response.py │ ├── member.py │ ├── organization_response.py │ ├── parent.py │ ├── parent_list_inner.py │ ├── partial_update_folder_payload.py │ ├── partial_update_organization_payload.py │ ├── partial_update_project_payload.py │ └── project.py │ ├── py.typed │ └── rest.py ├── runcommand ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── runcommand │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── command_details.py │ ├── command_template.py │ ├── command_template_response.py │ ├── command_template_schema.py │ ├── commands.py │ ├── create_command_payload.py │ ├── error_response.py │ ├── get_commands_response.py │ ├── model_field.py │ ├── new_command_response.py │ ├── parameters_schema.py │ └── properties.py │ ├── py.typed │ └── rest.py ├── secretsmanager ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── secretsmanager │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── acl.py │ ├── bad_request.py │ ├── conflict.py │ ├── create_acl_payload.py │ ├── create_instance_payload.py │ ├── create_user_payload.py │ ├── instance.py │ ├── list_acls_response.py │ ├── list_instances_response.py │ ├── list_users_response.py │ ├── not_found.py │ ├── update_acl_payload.py │ ├── update_acls_payload.py │ ├── update_instance_payload.py │ ├── update_user_payload.py │ └── user.py │ ├── py.typed │ └── rest.py ├── serverbackup ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── serverbackup │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── backup.py │ ├── backup_job.py │ ├── backup_policy.py │ ├── backup_policy_backup_properties.py │ ├── backup_properties.py │ ├── backup_schedule.py │ ├── backup_volume_backups_inner.py │ ├── create_backup_payload.py │ ├── create_backup_schedule_payload.py │ ├── enable_service_resource_payload.py │ ├── error_response.py │ ├── get_backup_policies_response.py │ ├── get_backup_schedules_response.py │ ├── get_backup_service_response.py │ ├── get_backups_list_response.py │ ├── restore_backup_payload.py │ ├── restore_volume_backup_payload.py │ └── update_backup_schedule_payload.py │ ├── py.typed │ └── rest.py ├── serverupdate ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── serverupdate │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── create_update_payload.py │ ├── create_update_schedule_payload.py │ ├── enable_service_resource_payload.py │ ├── error_response.py │ ├── get_update_policies_response.py │ ├── get_update_schedules_response.py │ ├── get_update_service_response.py │ ├── get_updates_list_response.py │ ├── update.py │ ├── update_policy.py │ ├── update_schedule.py │ ├── update_schedule_create_request.py │ └── update_update_schedule_payload.py │ ├── py.typed │ └── rest.py ├── serviceaccount ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── serviceaccount │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── access_token.py │ ├── access_token_metadata.py │ ├── auth_error.py │ ├── auth_error_error.py │ ├── create_access_token_payload.py │ ├── create_service_account_key_payload.py │ ├── create_service_account_key_response.py │ ├── create_service_account_key_response_credentials.py │ ├── create_service_account_payload.py │ ├── create_short_lived_access_token_response.py │ ├── error.py │ ├── get_service_account_key_response.py │ ├── get_service_account_key_response_credentials.py │ ├── jwk.py │ ├── jwks.py │ ├── list_access_tokens_response.py │ ├── list_service_account_keys_response.py │ ├── list_service_accounts_response.py │ ├── partial_update_service_account_key_payload.py │ ├── partial_update_service_account_key_response.py │ ├── service_account.py │ └── service_account_key_list_response.py │ ├── py.typed │ └── rest.py ├── serviceenablement ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── serviceenablement │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── action_error.py │ ├── check_service.py │ ├── cloud_service.py │ ├── dependencies.py │ ├── error_response.py │ ├── list_service_status_regional200_response.py │ ├── parameters.py │ ├── parameters_general.py │ └── service_status.py │ ├── py.typed │ └── rest.py ├── ske ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── ske │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── acl.py │ ├── argus.py │ ├── availability_zone.py │ ├── cluster.py │ ├── cluster_error.py │ ├── cluster_status.py │ ├── cluster_status_state.py │ ├── create_kubeconfig_payload.py │ ├── create_or_update_cluster_payload.py │ ├── credentials_rotation_state.py │ ├── cri.py │ ├── dns.py │ ├── extension.py │ ├── hibernation.py │ ├── hibernation_schedule.py │ ├── image.py │ ├── kubeconfig.py │ ├── kubernetes.py │ ├── kubernetes_version.py │ ├── list_clusters_response.py │ ├── login_kubeconfig.py │ ├── machine.py │ ├── machine_image.py │ ├── machine_image_version.py │ ├── machine_type.py │ ├── maintenance.py │ ├── maintenance_auto_update.py │ ├── network.py │ ├── nodepool.py │ ├── provider_options.py │ ├── runtime_error.py │ ├── taint.py │ ├── time_window.py │ ├── volume.py │ └── volume_type.py │ ├── py.typed │ └── rest.py ├── sqlserverflex ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src │ └── stackit │ └── sqlserverflex │ ├── __init__.py │ ├── api │ ├── __init__.py │ └── default_api.py │ ├── api_client.py │ ├── api_response.py │ ├── configuration.py │ ├── exceptions.py │ ├── models │ ├── __init__.py │ ├── acl.py │ ├── backup.py │ ├── backup_list_backups_response_grouped.py │ ├── create_database_payload.py │ ├── create_database_response.py │ ├── create_instance_payload.py │ ├── create_instance_response.py │ ├── create_user_payload.py │ ├── create_user_response.py │ ├── data_point.py │ ├── database.py │ ├── database_documentation_create_database_request_options.py │ ├── database_options.py │ ├── flavor.py │ ├── get_backup_response.py │ ├── get_database_response.py │ ├── get_instance_response.py │ ├── get_user_response.py │ ├── host.py │ ├── host_metric.py │ ├── instance.py │ ├── instance_documentation_acl.py │ ├── instance_documentation_options.py │ ├── instance_documentation_storage.py │ ├── instance_error.py │ ├── instance_flavor_entry.py │ ├── instance_list_instance.py │ ├── instance_list_user.py │ ├── list_backups_response.py │ ├── list_collations_response.py │ ├── list_compatibility_response.py │ ├── list_databases_response.py │ ├── list_flavors_response.py │ ├── list_instances_response.py │ ├── list_metrics_response.py │ ├── list_restore_jobs_response.py │ ├── list_roles_response.py │ ├── list_storages_response.py │ ├── list_users_response.py │ ├── list_versions_response.py │ ├── mssql_database_collation.py │ ├── mssql_database_compatibility.py │ ├── partial_update_instance_payload.py │ ├── reset_user_response.py │ ├── restore_running_restore.py │ ├── single_database.py │ ├── single_user.py │ ├── storage.py │ ├── storage_range.py │ ├── trigger_database_restore_payload.py │ ├── type.py │ ├── update_instance_payload.py │ ├── update_instance_response.py │ ├── user.py │ └── user_response_user.py │ ├── py.typed │ └── rest.py └── stackitmarketplace ├── CHANGELOG.md ├── LICENSE.md ├── NOTICE.txt ├── README.md ├── poetry.lock ├── pyproject.toml └── src └── stackit └── stackitmarketplace ├── __init__.py ├── api ├── __init__.py └── default_api.py ├── api_client.py ├── api_response.py ├── configuration.py ├── exceptions.py ├── models ├── __init__.py ├── approve_subscription_payload.py ├── become_vendor.py ├── catalog_pricing_option_highlight.py ├── catalog_product_detail.py ├── catalog_product_details_vendor.py ├── catalog_product_highlight.py ├── catalog_product_overview.py ├── catalog_product_overview_vendor.py ├── catalog_product_pricing_option.py ├── catalog_product_support_resource.py ├── catalog_product_vendor_terms.py ├── contact_sales.py ├── delivery_method.py ├── error_response.py ├── inquiries_create_inquiry_payload.py ├── inquiry_become_vendor.py ├── inquiry_contact_sales.py ├── inquiry_form_type.py ├── inquiry_register_testing.py ├── inquiry_suggest_product.py ├── list_catalog_products_response.py ├── list_vendor_subscriptions_response.py ├── price_type.py ├── pricing_option_unit.py ├── product_lifecycle_state.py ├── register_testing.py ├── resolve_customer_payload.py ├── subscription_lifecycle_state.py ├── subscription_product.py ├── suggest_product.py └── vendor_subscription.py ├── py.typed └── rest.py /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @marceljk @bahkauv70 @Fyusel @rubenhoenle -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Report a bug in the STACKIT Python SDK 4 | title: '' 5 | labels: bug 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Description 11 | 12 | *Please add a clear and concise description of what the bug is.* 13 | 14 | ## Steps to reproduce 15 | 16 | 17 | ```python 18 | # put your python example here 19 | # ... 20 | ``` 21 | 22 | 23 | 24 | 1. Run ... 25 | 2. ... 26 | 27 | ## Actual behavior 28 | 29 | *Please describe the current behavior of the STACKIT Python SDK. Don't forget to add detailed information like error messages.* 30 | 31 | ## Expected behavior 32 | 33 | *Please describe the behavior which you would expect from the STACKIT Python SDK in that case.* 34 | 35 | ## Environment 36 | - OS: 37 | - Python version (see `python --version`): `3.X.X` 38 | - Version of the Python STACKIT SDK: 39 | 40 | ``` 41 | # please run the following command to get the versions of the STACKIT Python SDK versions and add the output here in this code block 42 | 43 | $ pip list | grep "stackit" 44 | ``` 45 | 46 | **Additional information** 47 | 48 | *Feel free to add any additional information here.* 49 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for the STACKIT Python SDK 4 | title: '' 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | ## Problem description 11 | 12 | *Is your feature request related to a problem? If so, please give us a clear and concise description of what the problem is. 13 | Example: I want to use the STACKIT Python SDK to implement [...] but I couldn't find a way to [...]* 14 | 15 | ## Proposed solution 16 | 17 | *A clear and concise description of what you want to happen.* 18 | 19 | 20 | 21 | ```python 22 | # put your Python example here 23 | # ... 24 | ``` 25 | 26 | ## Alternative solutions (optional) 27 | 28 | *A clear and concise description of any alternative solutions or features you've considered. (optional)* 29 | 30 | ## Additional information 31 | 32 | *Feel free to add any additional information here.* 33 | 34 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | 7 | 8 | relates to #1234 9 | 10 | ## Checklist 11 | 12 | - [ ] Issue was linked above 13 | - [ ] **No generated code was adjusted manually** (check [comments in file header](https://github.com/stackitcloud/stackit-sdk-python/blob/main/services/dns/src/stackit/dns/api_client.py#L10-L12)) 14 | - [ ] Changelogs and versioning 15 | - [ ] Changelog in root directory was adjusted (see [here](https://github.com/stackitcloud/stackit-sdk-python/blob/608176ab8cdfa60a3cfb09da49de0b1aba5fea84/CHANGELOG.md)) 16 | - [ ] Changelog of the service(s) was adjusted (see e.g. [here](https://github.com/stackitcloud/stackit-sdk-python/blob/608176ab8cdfa60a3cfb09da49de0b1aba5fea84/services/dns/CHANGELOG.md)) 17 | - [ ] `pyproject.toml` of the service(s) was adjusted (see e.g. [here](https://github.com/stackitcloud/stackit-sdk-python/blob/608176ab8cdfa60a3cfb09da49de0b1aba5fea84/services/dns/pyproject.toml)) 18 | - [ ] Examples were added / adjusted (see `examples/` directory) 19 | - [ ] Unit tests got implemented or updated 20 | - [x] Unit tests are passing: `make test` (will be checked by CI) 21 | - [x] No linter issues: `make lint` (will be checked by CI) 22 | -------------------------------------------------------------------------------- /.github/workflows/cd.yaml: -------------------------------------------------------------------------------- 1 | name: CD Workflow 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | check-version: 10 | runs-on: ubuntu-latest 11 | permissions: 12 | pull-requests: write 13 | contents: write 14 | steps: 15 | - uses: actions/checkout@v4 16 | with: 17 | fetch-depth: 0 18 | - name: Install Python 19 | uses: actions/setup-python@v5 20 | with: 21 | python-version: "3.8" 22 | - name: Push tag for each updated package 23 | env: 24 | GH_TOKEN: ${{ secrets.RENOVATE_TOKEN }} 25 | PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }} 26 | run: | 27 | git config --global user.name "SDK Releaser Bot" 28 | git config --global user.email "noreply@stackit.de" 29 | 30 | pip install poetry 31 | scripts/cd.sh 32 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: CI Workflow 2 | 3 | on: [pull_request, workflow_dispatch] 4 | 5 | jobs: 6 | main: 7 | name: CI 8 | strategy: 9 | matrix: 10 | os: [ubuntu-latest, macos-latest] 11 | python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] 12 | runs-on: ${{ matrix.os }} 13 | steps: 14 | - name: Checkout 15 | uses: actions/checkout@v4 16 | - name: Install Python ${{ matrix.python-version }} 17 | uses: actions/setup-python@v5 18 | with: 19 | python-version: ${{ matrix.python-version }} 20 | - name: Install 21 | run: | 22 | pip install poetry 23 | poetry config virtualenvs.create false 24 | make install-dev 25 | - name: Lint 26 | run: make lint-services 27 | - name: Test 28 | run: make test-services 29 | -------------------------------------------------------------------------------- /.github/workflows/dependency-checker.yaml: -------------------------------------------------------------------------------- 1 | name: Dependency-Updater 2 | 3 | on: 4 | schedule: 5 | - cron: "0 0 * * *" 6 | workflow_dispatch: 7 | 8 | jobs: 9 | dependency_updater: 10 | name: Dependency-Updater 11 | runs-on: ubuntu-latest 12 | permissions: 13 | pull-requests: write 14 | contents: write 15 | steps: 16 | - name: Checkout 17 | uses: actions/checkout@v4 18 | - name: Install Python 19 | uses: actions/setup-python@v5 20 | with: 21 | python-version: "3.8" 22 | - name: Poetry Python dependeny updater 23 | env: 24 | GH_TOKEN: ${{ secrets.RENOVATE_TOKEN }} 25 | run: | 26 | git config --global user.name "SDK Updater Bot" 27 | git config --global user.email "noreply@stackit.de" 28 | 29 | pip install poetry 30 | 31 | pr_name=$(echo "Dependency Updates") 32 | 33 | make update-dependencies 34 | branch_name="dependency-updater-${{ github.run_id }}" 35 | git checkout -b "$branch_name" 36 | 37 | if [ -n "$(git diff --name-only)" ]; then 38 | for file in $(git diff --name-only | grep poetry.lock); do 39 | # Extract the service for which the dependencies have been updated 40 | dirpath=$(dirname $file) 41 | git add "$file" 42 | git commit -m "chore: dependency update for ${dirpath}" 43 | done 44 | 45 | # Check if a PR already exists for dependency updates 46 | if gh pr list --state open | grep -q "${pr_name}"; then 47 | echo "Pr for $dirpath already exists. Deleting old PR." 48 | pr_number=$(gh pr list --state open --json number --search "$pr_name" -q '.[0].number') 49 | gh pr close "$pr_number" --delete-branch 50 | fi 51 | 52 | git push --set-upstream origin "$branch_name" 53 | gh pr create --title "$pr_name" --body "Automated dependency update" --base "main" 54 | else 55 | echo "No changes detected. Skipping PR creation." 56 | fi 57 | -------------------------------------------------------------------------------- /.github/workflows/stale.yaml: -------------------------------------------------------------------------------- 1 | name: "Stale" 2 | on: 3 | schedule: 4 | # every night at 01:30 5 | - cron: "30 1 * * *" 6 | # run this workflow if the workflow definition gets changed within a PR 7 | pull_request: 8 | branches: ["main"] 9 | paths: [".github/workflows/stale.yaml"] 10 | 11 | env: 12 | DAYS_BEFORE_PR_STALE: 7 13 | DAYS_BEFORE_PR_CLOSE: 7 14 | 15 | permissions: 16 | issues: write 17 | pull-requests: write 18 | 19 | jobs: 20 | stale: 21 | name: "Stale" 22 | runs-on: ubuntu-latest 23 | timeout-minutes: 10 24 | steps: 25 | - name: "Mark old PRs as stale" 26 | uses: actions/stale@v9 27 | with: 28 | repo-token: ${{ secrets.GITHUB_TOKEN }} 29 | stale-pr-message: "This PR was marked as stale after ${{ env.DAYS_BEFORE_PR_STALE }} days of inactivity and will be closed after another ${{ env.DAYS_BEFORE_PR_CLOSE }} days of further inactivity. If this PR should be kept open, just add a comment, remove the stale label or push new commits to it." 30 | close-pr-message: "This PR was closed automatically because it has been stalled for ${{ env.DAYS_BEFORE_PR_CLOSE }} days with no activity. Feel free to re-open it at any time." 31 | days-before-pr-stale: ${{ env.DAYS_BEFORE_PR_STALE }} 32 | days-before-pr-close: ${{ env.DAYS_BEFORE_PR_CLOSE }} 33 | # never mark issues as stale or close them 34 | days-before-issue-stale: -1 35 | days-before-issue-close: -1 36 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | SERVICES_DIR := services 2 | 3 | install: 4 | # install core 5 | pip install core/ 6 | # install services 7 | @for f in $(shell ls ${SERVICES_DIR}); do pip install ${SERVICES_DIR}/$${f}; done 8 | 9 | install-dev: 10 | # install services 11 | @for f in $(shell ls ${SERVICES_DIR}); do set -e;poetry install -C ${SERVICES_DIR}/$${f} --no-root;pip install -e ${SERVICES_DIR}/$${f}; done 12 | # install core. This needs to be done last or it will get overriden by the dependency installation of the services 13 | poetry install -C core --no-root; pip install -e core 14 | 15 | test-services: 16 | # test core 17 | cd core && poetry install --with dev && pytest 18 | # test services 19 | @for f in $(shell ls ${SERVICES_DIR}); do set -e; cd ${SERVICES_DIR}/$${f}; poetry install --with dev;sh -c 'pytest || ([ $$? = 5 ] && exit 0 || exit $$?)'; cd ../..; done 20 | 21 | lint-services: 22 | # lint core 23 | cd core && poetry install --no-root --only dev &&flake8 . 24 | # lint examples. Use configuration from core 25 | flake8 --toml-config core/pyproject.toml --black-config core/pyproject.toml examples; 26 | # lint services 27 | @for f in $(shell ls ${SERVICES_DIR}); do set -e; cd ${SERVICES_DIR}/$${f};poetry install --no-root --only dev; flake8 .; cd ../..; done 28 | 29 | test: 30 | echo "Testing service ${service}" 31 | cd ${SERVICES_DIR}/${service}; poetry install --with dev;sh -c 'pytest || ([ $$? = 5 ] && exit 0 || exit $$?)'; cd ../..; 32 | 33 | lint: 34 | echo "Linting service ${service}" 35 | cd ${SERVICES_DIR}/${service};poetry install --no-root --only dev; flake8 .; cd ../..; 36 | 37 | update-dependencies: 38 | # lock core 39 | cd core && poetry lock 40 | # lock services 41 | @for f in $(shell ls ${SERVICES_DIR}); do set -e; cd ${SERVICES_DIR}/$${f};poetry lock; cd ../..; done 42 | -------------------------------------------------------------------------------- /NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /core/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.1.0 (2024-12-04) 2 | 3 | - The core module offers functionality, such as authorization and configuration, to be used together with the Python SDK service modules 4 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/core) 5 | -------------------------------------------------------------------------------- /core/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Core SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /core/README.md: -------------------------------------------------------------------------------- 1 | > ⓘ INFO: The STACKIT Python SDK is in beta and in active development. 2 | 3 | 4 | # STACKIT Python SDK Core 5 | 6 | ## Introduction 7 | 8 | The STACKIT Python core package consists of core functionality which is needed 9 | to use the [STACKIT Python SDK](https://github.com/stackitcloud/stackit-sdk-python). 10 | 11 | ## Usage 12 | 13 | The core package does nothing on its own and must be used in conjunction with the services of the [STACKIT Python SDK](https://github.com/stackitcloud/stackit-sdk-python). 14 | -------------------------------------------------------------------------------- /core/src/stackit/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/core/src/stackit/core/__init__.py -------------------------------------------------------------------------------- /core/src/stackit/core/auth_methods/token_auth.py: -------------------------------------------------------------------------------- 1 | from requests import Request 2 | from requests.auth import AuthBase 3 | 4 | 5 | class TokenAuth(AuthBase): 6 | __access_token: str 7 | 8 | def __init__(self, token: str): 9 | self.__access_token = token 10 | 11 | def __call__(self, request: Request) -> Request: 12 | request.headers["Authorization"] = f"Bearer {self.__access_token}" 13 | return request 14 | -------------------------------------------------------------------------------- /core/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/core/tests/__init__.py -------------------------------------------------------------------------------- /core/tests/core/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/core/tests/core/__init__.py -------------------------------------------------------------------------------- /core/tests/core/test_config.py: -------------------------------------------------------------------------------- 1 | import pytest 2 | 3 | from stackit.core.configuration import Configuration 4 | 5 | 6 | SERVICE_ACCOUNT_EMAIL = "test@example.org" 7 | SERVICE_ACCOUNT_TOKEN = "token" 8 | SERVICE_ACCOUNT_KEY_PATH = "/path/to/account/key" 9 | PRIVATE_KEY_PATH = "/path/to/private/key" 10 | TOKEN_BASEURL = "http://localhost:8000" 11 | CREDENTIALS_PATH = "/path/to/credentials" 12 | REGION = "test-region" 13 | 14 | 15 | @pytest.fixture() 16 | def config_envs(monkeypatch): 17 | monkeypatch.setenv("STACKIT_SERVICE_ACCOUNT_EMAIL", SERVICE_ACCOUNT_EMAIL) 18 | monkeypatch.setenv("STACKIT_SERVICE_ACCOUNT_TOKEN", SERVICE_ACCOUNT_TOKEN) 19 | monkeypatch.setenv("STACKIT_SERVICE_ACCOUNT_KEY_PATH", SERVICE_ACCOUNT_KEY_PATH) 20 | monkeypatch.setenv("STACKIT_PRIVATE_KEY_PATH", PRIVATE_KEY_PATH) 21 | monkeypatch.setenv("STACKIT_TOKEN_BASEURL", TOKEN_BASEURL) 22 | monkeypatch.setenv("STACKIT_CREDENTIALS_PATH", CREDENTIALS_PATH) 23 | monkeypatch.setenv("STACKIT_REGION", REGION) 24 | 25 | 26 | class TestConfig: 27 | def test_check_if_environment_is_set(self, config_envs): 28 | config = Configuration() 29 | assert config.service_account_mail == SERVICE_ACCOUNT_EMAIL 30 | assert config.service_account_token == SERVICE_ACCOUNT_TOKEN 31 | assert config.service_account_key_path == SERVICE_ACCOUNT_KEY_PATH 32 | assert config.private_key_path == PRIVATE_KEY_PATH 33 | assert config.region == REGION 34 | 35 | def test_check_valid_server_index(self): 36 | config = Configuration() 37 | assert config.server_index == 0 38 | -------------------------------------------------------------------------------- /examples/core/custom_access_token.py: -------------------------------------------------------------------------------- 1 | from stackit.core.configuration import Configuration 2 | 3 | """ 4 | You can configure you own access token (which is also called service account token). 5 | Do note that if you configure a token, a service acccount key will still be used, if possible. 6 | """ 7 | config = Configuration(service_account_token="my_access_token") # noqa: S106 8 | -------------------------------------------------------------------------------- /examples/core/custom_auth.py: -------------------------------------------------------------------------------- 1 | import jwt 2 | from requests import Request 3 | from requests.auth import AuthBase 4 | from stackit.core.configuration import Configuration 5 | 6 | 7 | """ 8 | You can create your own authorization class to implement your own authorization logic. 9 | You need to derive from the class 'AuthBase' to implement your own class. 10 | """ 11 | 12 | 13 | class MyAuth(AuthBase): 14 | __access_token: str 15 | 16 | def __init__(self, key: str): 17 | self.__access_token = jwt.encode({"some": "payload"}, key, algorithm="HS256") 18 | 19 | def __call__(self, request: Request) -> Request: 20 | request.headers["Authorization"] = f"Bearer {self.__access_token}" 21 | return request 22 | 23 | 24 | # Initialize custom auth method 25 | auth_method = MyAuth(key="my_super_secret_key") 26 | # Set it in the configuration 27 | config = Configuration(custom_auth=auth_method) 28 | -------------------------------------------------------------------------------- /examples/core/custom_endpoint.py: -------------------------------------------------------------------------------- 1 | from stackit.core.configuration import Configuration 2 | 3 | """ 4 | You can set your own custom endpoint here. 5 | Be aware that this will override the default endpoint and the definition of a region does 6 | not work. 7 | """ 8 | config = Configuration(custom_endpoint="https://postgresql.my-awesome-company.cloud/") 9 | -------------------------------------------------------------------------------- /examples/core/custom_proxy.py: -------------------------------------------------------------------------------- 1 | from typing import Dict 2 | import requests 3 | from stackit.core.configuration import Configuration 4 | 5 | # Set the proxy servers here. You can set 'http', 'https' and 'ftp'. 6 | proxies = { 7 | "http": "http://10.10.1.10:3128", 8 | "https": "https://10.10.1.11:1080", 9 | } 10 | 11 | 12 | class CustomSession(requests.Session): 13 | def __init__(self, proxies: Dict[str, str]): 14 | self.proxies = proxies 15 | super().__init__() 16 | 17 | def request(self, method, url, **kwargs): 18 | if "proxies" not in kwargs: 19 | kwargs["proxies"] = self.proxies 20 | return super().request(method, url, **kwargs) 21 | 22 | 23 | custom_session = CustomSession(proxies=proxies) 24 | config = Configuration(custom_http_session=custom_session) 25 | -------------------------------------------------------------------------------- /examples/core/custom_session.py: -------------------------------------------------------------------------------- 1 | import requests 2 | from requests.adapters import HTTPAdapter 3 | from stackit.core.configuration import Configuration 4 | from urllib3 import Retry 5 | 6 | """ 7 | This example shows how to configure the retry count and options. 8 | If you need fine-grained control for the retry logic, you can use urllib3's Retry. 9 | If you just want to increase the retry count, you can use an integer instead. 10 | """ 11 | retries = Retry( 12 | total=30, 13 | backoff_factor=0.1, 14 | status_forcelist=[502, 503, 504], 15 | allowed_methods={"POST"}, 16 | ) 17 | # Create a new custom session 18 | custom_session = requests.Session() 19 | # Set the retry configuration for the session 20 | custom_session.mount("http://", HTTPAdapter(max_retries=retries)) 21 | # You can also set the retry count directly. You don't need to use Retry in this case. 22 | custom_session.mount("https://", HTTPAdapter(max_retries=5)) 23 | # Set the session in the configuration which is used for all requests from now on 24 | config = Configuration(custom_http_session=custom_session) 25 | 26 | """ 27 | This example uses a custom Requests session to configure the timeout of requests. 28 | """ 29 | 30 | 31 | class CustomSession(requests.Session): 32 | def __init__(self, timeout: int): 33 | self.timeout = timeout 34 | super().__init__() 35 | 36 | def request(self, method, url, **kwargs): 37 | if "timeout" not in kwargs: 38 | kwargs["timeout"] = self.timeout 39 | return super().request(method, url, **kwargs) 40 | 41 | 42 | custom_session2 = CustomSession(timeout=5) 43 | config2 = Configuration(custom_http_session=custom_session2) 44 | 45 | """ 46 | You can even use both examples together to have more fine-grained control over the requests. 47 | """ 48 | custom_session3 = CustomSession(timeout=5) 49 | custom_session3.mount("http://", HTTPAdapter(max_retries=retries)) 50 | custom_session3.mount("https://", HTTPAdapter(max_retries=retries)) 51 | config3 = Configuration(custom_http_session=custom_session3) 52 | -------------------------------------------------------------------------------- /examples/core/minimal_example.py: -------------------------------------------------------------------------------- 1 | from stackit.core.configuration import Configuration 2 | 3 | """ 4 | The configuration class will fetch all environment variables during initialization. 5 | If no region is defined, it will use the default region of a service. 6 | """ 7 | config = Configuration() 8 | print(vars(config)) # Will print out the values of all environment variables 9 | -------------------------------------------------------------------------------- /examples/dns/create_recordset.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.dns.api.default_api import DefaultApi 4 | from stackit.dns.models.create_record_set_payload import CreateRecordSetPayload 5 | from stackit.dns.models.record_payload import RecordPayload 6 | from stackit.core.configuration import Configuration 7 | 8 | project_id = os.getenv("PROJECT_ID") 9 | 10 | # Create a new API client, that uses default authentication and configuration 11 | config = Configuration() 12 | client = DefaultApi(config) 13 | 14 | zones = client.list_zones(project_id) 15 | 16 | # Get first active zone 17 | zone_id = [zone.id for zone in zones.zones if zone.active][0] 18 | 19 | # Create a DNS recors in the first DNS zone 20 | create_recordset_payload = CreateRecordSetPayload( 21 | name="a", 22 | records=[ 23 | RecordPayload(content="192.168.0.1"), # Will go nowhere 24 | ], 25 | type="A", 26 | ) 27 | create_record_response = client.create_record_set(project_id, zone_id, create_recordset_payload) 28 | 29 | # Get the DNS record for the newly create DNS zone 30 | print( 31 | client.get_record_set( 32 | project_id=project_id, 33 | zone_id=zone_id, 34 | rr_set_id=create_record_response.rrset.id, 35 | ) 36 | ) 37 | -------------------------------------------------------------------------------- /examples/dns/create_zone.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.dns.api.default_api import DefaultApi 4 | from stackit.dns.models.create_zone_payload import CreateZonePayload 5 | from stackit.core.configuration import Configuration 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Create a new DNS zone 14 | create_zone_payload = CreateZonePayload(name="myZone", dnsName="testZone.com") 15 | create_zone_response = client.create_zone(create_zone_payload=create_zone_payload, project_id=project_id) 16 | 17 | print(create_zone_payload) 18 | -------------------------------------------------------------------------------- /examples/dns/delete_zone.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.dns.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | zone_id = "ZONE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_zone(project_id=project_id, zone_id=zone_id) 14 | -------------------------------------------------------------------------------- /examples/dns/list_zones.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.dns.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all DNS zones 13 | print(client.list_zones(project_id)) 14 | -------------------------------------------------------------------------------- /examples/errorhandling/errorhandling.py: -------------------------------------------------------------------------------- 1 | from stackit.dns.api.default_api import DefaultApi 2 | from stackit.core.configuration import Configuration 3 | from stackit.dns.exceptions import ForbiddenException 4 | 5 | project_id = "thisisaninvalidid" 6 | 7 | # Create a new API client, that uses default authentication and configuration 8 | config = Configuration() 9 | client = DefaultApi(config) 10 | 11 | # Try to list DNS zones of a non-existing project. 12 | # This will result in a ForbiddenExcpetion, as you don't have access to a 13 | # non-existing project. 14 | try: 15 | response = client.list_zones(project_id) 16 | except ForbiddenException as e: 17 | print(e) 18 | -------------------------------------------------------------------------------- /examples/iaas/create_network_area.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.iaas.api.default_api import DefaultApi 4 | from stackit.iaas.models.create_network_area_payload import CreateNetworkAreaPayload 5 | from stackit.iaas.models.create_area_address_family import CreateAreaAddressFamily 6 | from stackit.iaas.models.create_area_ipv4 import CreateAreaIPv4 7 | from stackit.iaas.models.network_range import NetworkRange 8 | from stackit.core.configuration import Configuration 9 | 10 | organization_id = os.getenv("ORGANIZATION_ID") 11 | 12 | # Create a new API client, that uses default authentication and configuration 13 | config = Configuration() 14 | client = DefaultApi(config) 15 | 16 | 17 | # Create new network area 18 | create_network_area_payload = CreateNetworkAreaPayload( 19 | name="example-network-area", 20 | addressFamily=CreateAreaAddressFamily( 21 | ipv4=CreateAreaIPv4( 22 | defaultPrefixLen=25, 23 | maxPrefixLen=29, 24 | minPrefixLen=24, 25 | networkRanges=[ 26 | NetworkRange(prefix="192.168.0.0/24"), 27 | ], 28 | transferNetwork="192.160.0.0/24", 29 | ) 30 | ), 31 | ) 32 | print(client.create_network_area(organization_id, create_network_area_payload)) 33 | -------------------------------------------------------------------------------- /examples/iaas/delete_network_area.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.iaas.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | organization_id = os.getenv("ORGANIZATION_ID") 7 | network_id = "NETWORK_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_network_area(organization_id, network_id) 14 | -------------------------------------------------------------------------------- /examples/iaas/list_networks.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.iaas.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | organization_id = os.getenv("ORGANIZATION_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | 14 | # List all network areas of the organization 15 | print(client.list_network_areas(organization_id)) 16 | -------------------------------------------------------------------------------- /examples/iaasalpha/create_volume.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.iaasalpha.api.default_api import DefaultApi 4 | from stackit.iaasalpha.models.create_volume_payload import CreateVolumePayload 5 | from stackit.core.configuration import Configuration 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Create a volume 14 | payload = CreateVolumePayload( 15 | name="example-volume", 16 | availability_zone="eu01-1", 17 | size=10, 18 | ) 19 | client.create_volume(project_id, payload) 20 | -------------------------------------------------------------------------------- /examples/iaasalpha/delete_volume.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.iaasalpha.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | volume_id = "VOLUME_ID" 9 | 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_volume(project_id=project_id, volume_id=volume_id) 14 | -------------------------------------------------------------------------------- /examples/iaasalpha/list_volumes.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.iaasalpha.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # Get all volumes 13 | print(client.list_volumes(project_id)) 14 | -------------------------------------------------------------------------------- /examples/kms/list_keyrings.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.kms.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | region = os.getenv("REGION") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # List all logme instances 14 | for keyring in client.list_key_rings(project_id, region).key_rings: 15 | print(keyring.id, keyring.description) 16 | -------------------------------------------------------------------------------- /examples/loadbalancer/create_loadbalancer.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.loadbalancer.api.default_api import DefaultApi 4 | from stackit.loadbalancer.models.create_load_balancer_payload import ( 5 | CreateLoadBalancerPayload, 6 | ) 7 | from stackit.loadbalancer.models.load_balancer_options import LoadBalancerOptions 8 | from stackit.loadbalancer.models.listener import Listener 9 | from stackit.loadbalancer.models.target_pool import TargetPool 10 | from stackit.loadbalancer.models.network import Network 11 | from stackit.loadbalancer.models.target import Target 12 | from stackit.core.configuration import Configuration 13 | 14 | # Note: Create a target server before 15 | NETWORK_ID = "NETWORK_ID" 16 | IP_ADDRESS = "x.x.x.x" 17 | X_REQUEST_ID = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 18 | project_id = os.getenv("PROJECT_ID") 19 | 20 | # Create a new API client, that uses default authentication and configuration 21 | config = Configuration() 22 | client = DefaultApi(config) 23 | 24 | 25 | # Create new LoadBalancer 26 | create_load_balancer_payload = CreateLoadBalancerPayload( 27 | name="example-instance", 28 | options=LoadBalancerOptions( 29 | privateNetworkOnly=True, 30 | ), 31 | networks=[ 32 | Network( 33 | networkId=NETWORK_ID, 34 | role="ROLE_LISTENERS_AND_TARGETS", 35 | ), 36 | ], 37 | listeners=[ 38 | Listener( 39 | displayName="example-listener", 40 | port=1, 41 | protocol="PROTOCOL_TCP", 42 | targetPool="example-target-pool", 43 | ), 44 | ], 45 | targetPools=[ 46 | TargetPool( 47 | name="example-target-pool", 48 | targetPort=1, 49 | targets=[Target(displayName="example-target", ip=IP_ADDRESS)], 50 | ) 51 | ], 52 | ) 53 | response = client.create_load_balancer(project_id, X_REQUEST_ID, create_load_balancer_payload) 54 | -------------------------------------------------------------------------------- /examples/loadbalancer/delete_loadbalancer.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.loadbalancer.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_name = "INSTANCE_NAME" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Delete an instance 14 | client.delete_load_balancer(project_id, instance_name) 15 | -------------------------------------------------------------------------------- /examples/loadbalancer/list_loadbalancers.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.loadbalancer.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all LoadBalancers 13 | print(client.list_load_balancers(project_id)) 14 | -------------------------------------------------------------------------------- /examples/logme/create_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.logme.api.default_api import DefaultApi 4 | from stackit.logme.models.create_instance_payload import CreateInstancePayload 5 | from stackit.logme.models.instance_parameters import InstanceParameters 6 | from stackit.core.configuration import Configuration 7 | 8 | project_id = os.getenv("PROJECT_ID") 9 | 10 | # Create a new API client, that uses default authentication and configuration 11 | config = Configuration() 12 | client = DefaultApi(config) 13 | 14 | # Get the logme offerings for your project 15 | offerings_response = client.list_offerings(project_id) 16 | 17 | # Take the first offering an create a new instance 18 | create_instance_payload = CreateInstancePayload( 19 | instanceName="exampleInstance", 20 | parameters=InstanceParameters(), 21 | planId=offerings_response.offerings[0].plans[0].id, 22 | ) 23 | print(client.create_instance(project_id, create_instance_payload)) 24 | -------------------------------------------------------------------------------- /examples/logme/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.logme.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Delete an instance 14 | client.delete_instance(project_id, instance_id) 15 | -------------------------------------------------------------------------------- /examples/logme/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.logme.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all logme instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/mariadb/create_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mariadb.api.default_api import DefaultApi 4 | from stackit.mariadb.models.create_instance_payload import CreateInstancePayload 5 | from stackit.core.configuration import Configuration 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Get all MariaDB offerings 14 | offerings_response = client.list_offerings(project_id) 15 | 16 | # Create an instance using the first offering 17 | create_instance_payload = CreateInstancePayload( 18 | instanceName="exampleInstance", 19 | planId=offerings_response.offerings[0].plans[0].id, 20 | ) 21 | client.create_instance(project_id, create_instance_payload) 22 | -------------------------------------------------------------------------------- /examples/mariadb/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mariadb.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_instance(project_id, instance_id) 14 | -------------------------------------------------------------------------------- /examples/mariadb/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mariadb.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all MariaDB instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/mongodbflex/create_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mongodbflex.api.default_api import DefaultApi 4 | from stackit.mongodbflex.models.create_instance_payload import CreateInstancePayload 5 | from stackit.mongodbflex.models.acl import ACL 6 | from stackit.mongodbflex.models.storage import Storage 7 | from stackit.core.configuration import Configuration 8 | 9 | 10 | tag = "tag" 11 | storage_class = "premium-perf2-mongodb" 12 | project_id = os.getenv("PROJECT_ID") 13 | 14 | # Create a new API client, that uses default authentication and configuration 15 | config = Configuration() 16 | client = DefaultApi(config) 17 | 18 | # Get all MongoDBFlex flavors 19 | flavors_response = client.list_flavors(project_id) 20 | 21 | # Create an instance using the first offering 22 | create_instance_payload = CreateInstancePayload( 23 | name="exampleInstance", 24 | backupSchedule="0 0 1 * *", 25 | acl=ACL(items=["45.129.40.0/21", "193.148.160.0/19"]), 26 | tag=tag, 27 | storage=Storage(var_class=storage_class, size=20), 28 | replicas=1, 29 | version="7.0", 30 | flavorId=flavors_response.flavors[0].id, 31 | options={"type": "Single"}, 32 | ) 33 | client.create_instance(project_id, create_instance_payload) 34 | -------------------------------------------------------------------------------- /examples/mongodbflex/create_user.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mongodbflex.api.default_api import DefaultApi 4 | from stackit.mongodbflex.models.create_user_payload import CreateUserPayload 5 | from stackit.core.configuration import Configuration 6 | 7 | 8 | tag = "tag" 9 | storage_class = "premium-perf2-mongodb" 10 | project_id = os.getenv("PROJECT_ID") 11 | 12 | # Create a new API client, that uses default authentication and configuration 13 | config = Configuration() 14 | client = DefaultApi(config) 15 | 16 | # Get all MongoDBFlex instances 17 | response = client.list_instances(project_id, tag) 18 | 19 | # Create user on the first found instance 20 | create_user_payload = CreateUserPayload( 21 | username="example-user", 22 | database="default", 23 | roles=["read"], 24 | ) 25 | print(client.create_user(project_id, response.items[0].id, create_user_payload)) 26 | -------------------------------------------------------------------------------- /examples/mongodbflex/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mongodbflex.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | tag = "tag" 7 | project_id = os.getenv("PROJECT_ID") 8 | instance_id = "INSTANCE_ID" 9 | 10 | # Create a new API client, that uses default authentication and configuration 11 | config = Configuration() 12 | client = DefaultApi(config) 13 | 14 | client.delete_instance(project_id, instance_id) 15 | -------------------------------------------------------------------------------- /examples/mongodbflex/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.mongodbflex.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | tag = "tag" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # List all MongoDBFlex instances 14 | print(client.list_instances(project_id, tag)) 15 | -------------------------------------------------------------------------------- /examples/objectstorage/create_bucket.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.objectstorage.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | bucket_name = "example-bucket43432432" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Create new ObjectStorage bucket instances 14 | client.create_bucket(project_id, bucket_name) 15 | -------------------------------------------------------------------------------- /examples/objectstorage/delete_bucket.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.objectstorage.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | bucket_name = "BUCKET_NAME" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_bucket(project_id, bucket_name) 14 | -------------------------------------------------------------------------------- /examples/objectstorage/list_buckets.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.objectstorage.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all ObjectStorage buckets instances 13 | print(client.list_buckets(project_id)) 14 | -------------------------------------------------------------------------------- /examples/observability/create_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.observability.api.default_api import DefaultApi 4 | from stackit.observability.models.create_instance_payload import CreateInstancePayload 5 | from stackit.core.configuration import Configuration 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Get all offerings 14 | response = client.list_plans(project_id) 15 | 16 | # Create instance using the first found offer 17 | create_instance_payload = CreateInstancePayload( 18 | name="myInstance", 19 | planId=response.plans[0].id, 20 | ) 21 | client.create_instance(project_id, create_instance_payload) 22 | -------------------------------------------------------------------------------- /examples/observability/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.observability.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_instance(instance_id, project_id) 14 | -------------------------------------------------------------------------------- /examples/observability/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.observability.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all observabilityy instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/opensearch/create_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.opensearch.api.default_api import DefaultApi 4 | from stackit.opensearch.models.create_instance_payload import CreateInstancePayload 5 | from stackit.core.configuration import Configuration 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Get all offerings 14 | response = client.list_offerings(project_id) 15 | 16 | # Create instance using the first found offer 17 | create_instance_payload = CreateInstancePayload( 18 | instanceName="myInstance", 19 | planId=response.offerings[0].plans[0].id, 20 | ) 21 | client.create_instance(project_id, create_instance_payload) 22 | -------------------------------------------------------------------------------- /examples/opensearch/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.opensearch.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | client.delete_instance(project_id, instance_id) 14 | -------------------------------------------------------------------------------- /examples/opensearch/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.opensearch.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all opensearch instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/postgresflex/create_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.postgresflex.api.default_api import DefaultApi 5 | from stackit.postgresflex.models.acl import ACL 6 | from stackit.postgresflex.models.create_instance_payload import CreateInstancePayload 7 | from stackit.postgresflex.models.storage import Storage 8 | 9 | project_id = os.getenv("PROJECT_ID") 10 | 11 | # Create a new API client, that uses default authentication and configuration 12 | config = Configuration() 13 | client = DefaultApi(config) 14 | 15 | # Get possible flavors 16 | flavor_response = client.list_flavors(project_id) 17 | 18 | # Create instance using the first flvaor 19 | create_instance_payload = CreateInstancePayload( 20 | name="example-instance", 21 | backupSchedule="0 0 1 * *", 22 | acl=ACL(items=["45.129.40.0/21", "193.148.160.0/19"]), 23 | storage=Storage(var_class="premium-perf2-stackit", size=20), 24 | flavorId=flavor_response.flavors[0].id, 25 | replicas=1, 26 | version="16", 27 | options={"type": "Single"}, 28 | ) 29 | instance = client.create_instance(project_id, create_instance_payload) 30 | print("Created instance with ID: " + instance.id) 31 | -------------------------------------------------------------------------------- /examples/postgresflex/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.postgresflex.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Delete an instances 14 | client.delete_instance(project_id, instance_id) 15 | -------------------------------------------------------------------------------- /examples/postgresflex/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.postgresflex.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all postgresflex instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/rabbitmq/create_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.rabbitmq.api.default_api import DefaultApi 5 | from stackit.rabbitmq.models.create_instance_payload import CreateInstancePayload 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Get all offerings 14 | response = client.list_offerings(project_id) 15 | 16 | # Create instance using the first flvaor 17 | create_instance_payload = CreateInstancePayload( 18 | instance_name="example-instance", 19 | plan_id=response.offerings[0].plans[0].id, 20 | ) 21 | instance = client.create_instance(project_id, create_instance_payload) 22 | print("Created instance with ID: " + instance.instance_id) 23 | -------------------------------------------------------------------------------- /examples/rabbitmq/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.rabbitmq.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Delete an instance 14 | client.delete_instance(project_id, instance_id) 15 | -------------------------------------------------------------------------------- /examples/rabbitmq/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.rabbitmq.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all rabbitmq instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/redis/create_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.redis.api.default_api import DefaultApi 5 | from stackit.redis.models.create_instance_payload import CreateInstancePayload 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # Check out all available offerings 13 | available_offerings = client.list_offerings(project_id) 14 | 15 | # Take the first available plan id 16 | offering_id = available_offerings.offerings[0].plans[0].id 17 | payload = CreateInstancePayload( 18 | instance_name="test-instance", 19 | plan_id=offering_id, 20 | ) 21 | 22 | # Create the instance 23 | instance = client.create_instance(project_id, payload) 24 | print("Created instance with ID: " + instance.instance_id) 25 | -------------------------------------------------------------------------------- /examples/redis/delete_instance.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.redis.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # Delete an instance 13 | client.delete_instance(project_id=project_id, instance_id=instance_id) 14 | -------------------------------------------------------------------------------- /examples/redis/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.redis.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | config = Configuration() 9 | client = DefaultApi(config) 10 | 11 | # Get all instances 12 | print(client.list_instances(project_id)) 13 | -------------------------------------------------------------------------------- /examples/resourcemanager/list_projects.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.resourcemanager.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all projects 13 | print(client.list_projects(project_id)) 14 | -------------------------------------------------------------------------------- /examples/secretsmanager/create_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.secretsmanager.api.default_api import DefaultApi 4 | from stackit.secretsmanager.models.create_instance_payload import CreateInstancePayload 5 | 6 | from stackit.core.configuration import Configuration 7 | 8 | 9 | project_id = os.getenv("PROJECT_ID") 10 | 11 | # Create a new API client, that uses default authentication and configuration 12 | config = Configuration() 13 | client = DefaultApi(config) 14 | 15 | # Create a new instance using the first flvaor 16 | create_instance_payload = CreateInstancePayload( 17 | name="my-secrets-manager", 18 | ) 19 | client.create_instance(project_id, create_instance_payload) 20 | -------------------------------------------------------------------------------- /examples/secretsmanager/delete_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.secretsmanager.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all secretsmanager instances 13 | response = client.list_instances(project_id) 14 | 15 | # Delete all instances 16 | for instance in response.instances: 17 | client.delete_instance(project_id, instance.id) 18 | -------------------------------------------------------------------------------- /examples/secretsmanager/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.secretsmanager.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all secretsmanager instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /examples/serviceaccount/create_serviceaccount.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.serviceaccount.api.default_api import DefaultApi 4 | from stackit.serviceaccount.models.create_service_account_payload import ( 5 | CreateServiceAccountPayload, 6 | ) 7 | 8 | from stackit.core.configuration import Configuration 9 | 10 | 11 | project_id = os.getenv("PROJECT_ID") 12 | 13 | # Create a new API client, that uses default authentication and configuration 14 | config = Configuration() 15 | client = DefaultApi(config) 16 | 17 | # Create a new serviceaccount 18 | create_serviceaccount_payload = CreateServiceAccountPayload( 19 | name="my-service-account", 20 | ) 21 | sa = client.create_service_account(project_id, create_serviceaccount_payload) 22 | print(f"Created service-account with email {sa.email}") 23 | -------------------------------------------------------------------------------- /examples/serviceaccount/delete_service_accounts.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.serviceaccount.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | account_mail = "SERVICE_ACCOUNT_MAIL" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | 14 | # Delete service account 15 | client.delete_service_account(project_id, account_mail) 16 | -------------------------------------------------------------------------------- /examples/serviceaccount/list_serviceaccounts.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.serviceaccount.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all serviceaccounts 13 | print(client.list_service_accounts(project_id)) 14 | -------------------------------------------------------------------------------- /examples/serviceenablement/list_service_status.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.serviceenablement.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List service status 13 | response = client.list_service_status(project_id) 14 | print(response) 15 | 16 | # Get status of one service 17 | service_id = response.items[0].service_id 18 | print(client.get_service_status(project_id, service_id)) 19 | -------------------------------------------------------------------------------- /examples/ske/create_cluster.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.ske.api.default_api import DefaultApi 5 | from stackit.ske.models.create_or_update_cluster_payload import ( 6 | CreateOrUpdateClusterPayload, 7 | ) 8 | from stackit.ske.models.image import Image 9 | from stackit.ske.models.kubernetes import Kubernetes 10 | from stackit.ske.models.machine import Machine 11 | from stackit.ske.models.nodepool import Nodepool 12 | from stackit.ske.models.volume import Volume 13 | 14 | project_id = os.getenv("PROJECT_ID") 15 | 16 | # Create a new API client, that uses default authentication and configuration 17 | config = Configuration() 18 | client = DefaultApi(config) 19 | 20 | # Create a new cluster 21 | cluster_name = "my-cl" 22 | create_cluster_payload = CreateOrUpdateClusterPayload( 23 | kubernetes=Kubernetes(version="1.30.6"), 24 | nodepools=[ 25 | Nodepool( 26 | availability_zones=["eu01-3"], 27 | machine=Machine( 28 | image=Image( 29 | name="ubuntu", 30 | version="2204.20240912.0", 31 | ), 32 | type="b1.2", 33 | ), 34 | maximum=3, 35 | minimum=2, 36 | name="my-nodepool", 37 | volume=Volume( 38 | size=20, 39 | type="storage_premium_perf0", 40 | ), 41 | ) 42 | ], 43 | ) 44 | cluster = client.create_or_update_cluster(project_id, cluster_name, create_cluster_payload) 45 | print("Created cluster with name: " + cluster.name) 46 | -------------------------------------------------------------------------------- /examples/ske/credential_rotation.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.ske.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # Get all ske instances 13 | response = client.list_clusters(project_id) 14 | 15 | # Rotate credentials on all instances 16 | for cluster in response.items: 17 | client.start_credentials_rotation(project_id, cluster.name) 18 | -------------------------------------------------------------------------------- /examples/ske/delete_cluster.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.ske.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | cluster_name = "CLUSTER_NAME" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Delete a cluster 14 | client.delete_cluster(project_id, cluster_name) 15 | -------------------------------------------------------------------------------- /examples/ske/list_clusters.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.core.configuration import Configuration 4 | from stackit.ske.api.default_api import DefaultApi 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all ske instances 13 | print(client.list_clusters(project_id)) 14 | -------------------------------------------------------------------------------- /examples/sqlserverflex/create_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.sqlserverflex.api.default_api import DefaultApi 4 | from stackit.sqlserverflex.models.create_instance_payload import CreateInstancePayload 5 | from stackit.core.configuration import Configuration 6 | 7 | project_id = os.getenv("PROJECT_ID") 8 | storage_class = "premium-perf2-stackit" 9 | 10 | # Create a new API client, that uses default authentication and configuration 11 | config = Configuration() 12 | client = DefaultApi(config) 13 | 14 | # Get possible flavors 15 | flavor_response = client.list_flavors(project_id) 16 | 17 | # Create instance using the first flvaor 18 | create_instance_payload = CreateInstancePayload( 19 | name="my-instance", 20 | flavorId=flavor_response.flavors[0].id, 21 | ) 22 | instance = client.create_instance(project_id, create_instance_payload) 23 | 24 | print(f"Created instance with ID: {instance.id}") 25 | -------------------------------------------------------------------------------- /examples/sqlserverflex/delete_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.sqlserverflex.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | instance_id = "INSTANCE_ID" 8 | 9 | # Create a new API client, that uses default authentication and configuration 10 | config = Configuration() 11 | client = DefaultApi(config) 12 | 13 | # Delete the instance 14 | client.delete_instance(project_id, instance_id) 15 | -------------------------------------------------------------------------------- /examples/sqlserverflex/list_instances.py: -------------------------------------------------------------------------------- 1 | import os 2 | 3 | from stackit.sqlserverflex.api.default_api import DefaultApi 4 | from stackit.core.configuration import Configuration 5 | 6 | project_id = os.getenv("PROJECT_ID") 7 | 8 | # Create a new API client, that uses default authentication and configuration 9 | config = Configuration() 10 | client = DefaultApi(config) 11 | 12 | # List all sqlserverflex instances 13 | print(client.list_instances(project_id)) 14 | -------------------------------------------------------------------------------- /scripts/cd.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Immediate exit on failure 4 | set -e 5 | 6 | # Check all pyproject.toml files that have changed 7 | for file in $(git diff --name-only HEAD~1..HEAD | grep pyproject.toml); do 8 | # Extract the current version and build the expected tag 9 | dirpath=$(dirname $file) 10 | expected_tag=$(scripts/helper.sh $dirpath --path-version) 11 | version=$(scripts/helper.sh $dirpath) 12 | # Check if the tag already exists 13 | if git rev-parse --verify $expected_tag^{tag} &> /dev/null; then 14 | echo "Tag '$expected_tag' already exists." 15 | else 16 | # Tag doesn't exist. Create tag and build/publish to PyPi 17 | echo "Tag '$expected_tag' does not exist. Creating new tag to trigger release." 18 | git tag -a $expected_tag -m "Release $version" 19 | git push origin tag $expected_tag 20 | cd $dirpath 21 | poetry publish --build --username="__token__" --no-interaction --password="$PYPI_TOKEN" 22 | cd $GITHUB_WORKSPACE 23 | fi 24 | done 25 | -------------------------------------------------------------------------------- /scripts/helper.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if the directory is provided as an argument 4 | if [ $# -lt 1 ] || [ $# -gt 2 ]; then 5 | echo "Usage: $0 [option]" 6 | echo "Options:" 7 | echo " -v | --version Print just the version number" 8 | echo " -p | --path-version Print the concatenation of the path and the version" 9 | exit 1 10 | fi 11 | 12 | # Check if the directory exists 13 | if [ ! -d "$1" ]; then 14 | echo "Directory '$1' does not exist" 15 | exit 1 16 | fi 17 | 18 | # Append a trailing slash to the path if it's not already present 19 | if [ "${1: -1}" != "/" ]; then 20 | path="$1/" 21 | else 22 | path="$1" 23 | fi 24 | 25 | # Change into the directory and run the command 26 | cd "$path" || exit 1 27 | version=$(poetry version) 28 | 29 | # Get the version number 30 | version_number="${version##* }" 31 | 32 | # Get the path and version string 33 | path_version="$path$version_number" 34 | 35 | # Handle options 36 | if [ $# -eq 1 ]; then 37 | # Default behavior: print just the version number 38 | echo "$version_number" 39 | elif [ "$2" = "-v" ] || [ "$2" = "--version" ]; then 40 | # Print just the version number 41 | echo "$version_number" 42 | elif [ "$2" = "-p" ] || [ "$2" = "--path-version" ]; then 43 | # Print the concatenation of the path and the version 44 | echo "$path_version" 45 | else 46 | echo "Invalid option: '$2'" 47 | exit 1 48 | fi -------------------------------------------------------------------------------- /services/alb/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.1 (2025-06-02) 2 | - **Improvement:** Adjusted `GetQuotaResponse` and `RESTResponseType` message 3 | 4 | ## v0.2.0 (2025-05-14) 5 | - **Feature:** New field `Path` for `Rule` 6 | 7 | ## v0.1.2 (2025-05-09) 8 | - **Feature:** Update user-agent header 9 | 10 | ## v0.1.1 (2025-05-05) 11 | - **Feature:** Switch to beta2 API 12 | 13 | ## v0.1.0 (2025-03-18) 14 | - **New**: Client for managing the ALB service 15 | -------------------------------------------------------------------------------- /services/alb/README.md: -------------------------------------------------------------------------------- 1 | # stackit.alb 2 | This API offers an interface to provision and manage load balancing servers in your STACKIT project. It also has the possibility of pooling target servers for load balancing purposes. 3 | 4 | For each application load balancer provided, two VMs are deployed in your OpenStack project subject to a fee. 5 | 6 | 7 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 8 | 9 | 10 | ## Installation & Usage 11 | ### pip install 12 | 13 | ```sh 14 | pip install stackit-alb 15 | ``` 16 | 17 | Then import the package: 18 | ```python 19 | import stackit.alb 20 | ``` 21 | 22 | ## Getting Started 23 | 24 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/alb/src/stackit/alb/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.alb.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/alb/src/stackit/alb/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/alb/src/stackit/alb/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/alb/src/stackit/alb/py.typed -------------------------------------------------------------------------------- /services/authorization/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.4 (2025-05-13) 2 | - **Bugfix:** Updated regex validator 3 | 4 | ## v0.2.3 (2025-05-09) 5 | - **Feature:** Update user-agent header 6 | 7 | ## v0.2.2 (2025-01-21) 8 | - **Bugfix:** Revert back to global URL configuration 9 | 10 | ## v0.2.1 (2025-01-14) 11 | - **Bugfix**: `configuration.py` region adjustment was missing 12 | 13 | ## v0.2.0 (2025-01-13) 14 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 15 | 16 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 17 | 18 | ## v0.1.0 (2024-12-04) 19 | - Manage authorization of your STACKIT resources 20 | -------------------------------------------------------------------------------- /services/authorization/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Authorization SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/authorization/README.md: -------------------------------------------------------------------------------- 1 | # stackit.authorization 2 | The Membership API is used to manage memberships, roles and permissions of STACKIT resources, like projects, folders, organizations and other resources. 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-authorization 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.authorization 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/authorization/src/stackit/authorization/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.authorization.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/authorization/src/stackit/authorization/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/authorization/src/stackit/authorization/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Membership API 6 | 7 | The Membership API is used to manage memberships, roles and permissions of STACKIT resources, like projects, folders, organizations and other resources. 8 | 9 | The version of the OpenAPI document: 2.0 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | 16 | # import models into model package 17 | from stackit.authorization.models.add_members_payload import AddMembersPayload 18 | from stackit.authorization.models.error_response import ErrorResponse 19 | from stackit.authorization.models.existing_permission import ExistingPermission 20 | from stackit.authorization.models.list_members_response import ListMembersResponse 21 | from stackit.authorization.models.list_permissions_response import ( 22 | ListPermissionsResponse, 23 | ) 24 | from stackit.authorization.models.list_user_memberships_response import ( 25 | ListUserMembershipsResponse, 26 | ) 27 | from stackit.authorization.models.list_user_permissions_response import ( 28 | ListUserPermissionsResponse, 29 | ) 30 | from stackit.authorization.models.member import Member 31 | from stackit.authorization.models.members_response import MembersResponse 32 | from stackit.authorization.models.permission import Permission 33 | from stackit.authorization.models.remove_members_payload import RemoveMembersPayload 34 | from stackit.authorization.models.role import Role 35 | from stackit.authorization.models.roles_response import RolesResponse 36 | from stackit.authorization.models.user_membership import UserMembership 37 | from stackit.authorization.models.user_permission import UserPermission 38 | from stackit.authorization.models.zookie import Zookie 39 | -------------------------------------------------------------------------------- /services/authorization/src/stackit/authorization/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/authorization/src/stackit/authorization/py.typed -------------------------------------------------------------------------------- /services/cdn/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.1.0 (2025-05-27) 2 | - **Feature:** Add support for CDN Optimizer feature 3 | 4 | ## v1.0.1 (2025-05-09) 5 | - **Feature:** Update user-agent header 6 | 7 | ## v1.0.0 (2025-05-05) 8 | - **Feature:** Support for log management 9 | - **Feature:** Create distribution payload has additional optional attributes for blocked countries, IPs and volume limitation 10 | - **Feature:** Config Patch payload has additional optional attributes for blocked countries, IPs and volume limitation 11 | - **Breaking Change:** Config has additional required attributes for blocked countries, IPs and volume limitation 12 | 13 | ## v0.1.0 (2025-03-18) 14 | - **New**: Client for managing the CDN service 15 | -------------------------------------------------------------------------------- /services/cdn/README.md: -------------------------------------------------------------------------------- 1 | # stackit.cdn 2 | API used to create and manage your CDN distributions. 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-cdn 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.cdn 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/cdn/src/stackit/cdn/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.cdn.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/cdn/src/stackit/cdn/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/cdn/src/stackit/cdn/models/domain_status.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | CDN API 5 | 6 | API used to create and manage your CDN distributions. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class DomainStatus(str, Enum): 23 | """ 24 | The status of the domain: CREATING indicates that the custom domain is being set up. UPDATING means that requested changes are being applied to the custom domain. ACTIVE means the custom domain is currently configured and active. DELETING means that the domain is in the process of being removed from the distribution. In case the domain has the ERROR state, more information will be available in the errors list. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | CREATING = "CREATING" 31 | ACTIVE = "ACTIVE" 32 | UPDATING = "UPDATING" 33 | DELETING = "DELETING" 34 | ERROR = "ERROR" 35 | 36 | @classmethod 37 | def from_json(cls, json_str: str) -> Self: 38 | """Create an instance of DomainStatus from a JSON string""" 39 | return cls(json.loads(json_str)) 40 | -------------------------------------------------------------------------------- /services/cdn/src/stackit/cdn/models/region.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | CDN API 5 | 6 | API used to create and manage your CDN distributions. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class Region(str, Enum): 23 | """ 24 | The following regions exist: - `EU` - Europe - `US` - United States / North America - `AF` - Africa - `SA` - South America - `ASIA` - Asia and Oceania 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | EU = "EU" 31 | US = "US" 32 | AF = "AF" 33 | SA = "SA" 34 | ASIA = "ASIA" 35 | 36 | @classmethod 37 | def from_json(cls, json_str: str) -> Self: 38 | """Create an instance of Region from a JSON string""" 39 | return cls(json.loads(json_str)) 40 | -------------------------------------------------------------------------------- /services/cdn/src/stackit/cdn/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/cdn/src/stackit/cdn/py.typed -------------------------------------------------------------------------------- /services/certificates/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.0 (2025-03-18) 5 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 6 | 7 | ## v0.2.1 (2025-01-14) 8 | - **Bugfix**: `configuration.py` region adjustment was missing 9 | 10 | ## v0.2.0 (2025-01-13) 11 | 12 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 13 | 14 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 15 | 16 | ## v0.1.0 (2024-12-23) 17 | 18 | - Manage your STACKIT Load Balancer certificates 19 | -------------------------------------------------------------------------------- /services/certificates/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Load Balancer Certificates SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/certificates/README.md: -------------------------------------------------------------------------------- 1 | # stackit.certificates 2 | This API offers the ability to store TLS certificates, which can be used by load balancing servers in STACKIT. They can be between consumer and load balancing server and/or between load balancing server and endpoint server. 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-certificates 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.certificates 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/certificates/src/stackit/certificates/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | 5 | """ 6 | Load Balancer Certificates API 7 | 8 | This API offers the ability to store TLS certificates, which can be used by load balancing servers in STACKIT. They can be between consumer and load balancing server and/or between load balancing server and endpoint server. 9 | 10 | The version of the OpenAPI document: 2beta.0.0 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | __version__ = "1.0.0" 18 | 19 | # import apis into sdk package 20 | from stackit.certificates.api.default_api import DefaultApi 21 | from stackit.certificates.api_client import ApiClient 22 | 23 | # import ApiClient 24 | from stackit.certificates.api_response import ApiResponse 25 | from stackit.certificates.configuration import HostConfiguration 26 | from stackit.certificates.exceptions import ( 27 | ApiAttributeError, 28 | ApiException, 29 | ApiKeyError, 30 | ApiTypeError, 31 | ApiValueError, 32 | OpenApiException, 33 | ) 34 | 35 | # import models into sdk package 36 | from stackit.certificates.models.create_certificate_payload import ( 37 | CreateCertificatePayload, 38 | ) 39 | from stackit.certificates.models.create_certificate_response import ( 40 | CreateCertificateResponse, 41 | ) 42 | from stackit.certificates.models.get_certificate_response import GetCertificateResponse 43 | from stackit.certificates.models.google_protobuf_any import GoogleProtobufAny 44 | from stackit.certificates.models.list_certificates_response import ( 45 | ListCertificatesResponse, 46 | ) 47 | from stackit.certificates.models.status import Status 48 | -------------------------------------------------------------------------------- /services/certificates/src/stackit/certificates/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.certificates.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/certificates/src/stackit/certificates/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/certificates/src/stackit/certificates/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | Load Balancer Certificates API 6 | 7 | This API offers the ability to store TLS certificates, which can be used by load balancing servers in STACKIT. They can be between consumer and load balancing server and/or between load balancing server and endpoint server. 8 | 9 | The version of the OpenAPI document: 2beta.0.0 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | 16 | # import models into model package 17 | from stackit.certificates.models.create_certificate_payload import ( 18 | CreateCertificatePayload, 19 | ) 20 | from stackit.certificates.models.create_certificate_response import ( 21 | CreateCertificateResponse, 22 | ) 23 | from stackit.certificates.models.get_certificate_response import GetCertificateResponse 24 | from stackit.certificates.models.google_protobuf_any import GoogleProtobufAny 25 | from stackit.certificates.models.list_certificates_response import ( 26 | ListCertificatesResponse, 27 | ) 28 | from stackit.certificates.models.status import Status 29 | -------------------------------------------------------------------------------- /services/certificates/src/stackit/certificates/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/certificates/src/stackit/certificates/py.typed -------------------------------------------------------------------------------- /services/dns/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.3.2 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.3.1 (2025-03-18) 5 | - Adapted to minor API changes 6 | 7 | ## v0.3.0 (2025-02-27) 8 | 9 | - Add support for extensions 10 | 11 | ## v0.2.1 (2025-01-14) 12 | 13 | - **Bugfix**: `configuration.py` region adjustment was missing 14 | 15 | ## v0.2.0 (2025-01-13) 16 | 17 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 18 | 19 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 20 | 21 | ## v0.1.0 (2024-12-04) 22 | 23 | - Manage your STACKIT DNS resources 24 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/dns) 25 | -------------------------------------------------------------------------------- /services/dns/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT DNS SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/dns/README.md: -------------------------------------------------------------------------------- 1 | # stackit.dns 2 | This api provides dns 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-dns 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.dns 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/dns/src/stackit/dns/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.dns.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/dns/src/stackit/dns/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/dns/src/stackit/dns/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/dns/src/stackit/dns/py.typed -------------------------------------------------------------------------------- /services/git/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.1.2 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.1.1 (2025-05-05) 5 | - **Bugfix**: Spelling corrections in documentation 6 | 7 | ## v0.1.0 (2025-04-23) 8 | 9 | - **New**: STACKIT Git module can be used to manage STACKIT Git 10 | -------------------------------------------------------------------------------- /services/git/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT SDK for Go 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/git/README.md: -------------------------------------------------------------------------------- 1 | # stackit.git 2 | Manage STACKIT Git instances. 3 | 4 | For more information, please visit [https://docs.stackit.cloud/stackit/en/git-261161358.html](https://docs.stackit.cloud/stackit/en/git-261161358.html) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-git 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.git 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/git/src/stackit/git/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | 5 | """ 6 | STACKIT Git API 7 | 8 | Manage STACKIT Git instances. 9 | 10 | The version of the OpenAPI document: 1beta.0.3 11 | Contact: git@stackit.cloud 12 | Generated by OpenAPI Generator (https://openapi-generator.tech) 13 | 14 | Do not edit the class manually. 15 | """ # noqa: E501 docstring might be too long 16 | 17 | 18 | __version__ = "1.0.0" 19 | 20 | # import apis into sdk package 21 | from stackit.git.api.default_api import DefaultApi 22 | from stackit.git.api_client import ApiClient 23 | 24 | # import ApiClient 25 | from stackit.git.api_response import ApiResponse 26 | from stackit.git.configuration import HostConfiguration 27 | from stackit.git.exceptions import ( 28 | ApiAttributeError, 29 | ApiException, 30 | ApiKeyError, 31 | ApiTypeError, 32 | ApiValueError, 33 | OpenApiException, 34 | ) 35 | 36 | # import models into sdk package 37 | from stackit.git.models.create_instance_payload import CreateInstancePayload 38 | from stackit.git.models.instance import Instance 39 | from stackit.git.models.internal_server_error_response import ( 40 | InternalServerErrorResponse, 41 | ) 42 | from stackit.git.models.list_instances import ListInstances 43 | from stackit.git.models.unauthorized_response import UnauthorizedResponse 44 | -------------------------------------------------------------------------------- /services/git/src/stackit/git/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.git.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/git/src/stackit/git/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/git/src/stackit/git/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Git API 6 | 7 | Manage STACKIT Git instances. 8 | 9 | The version of the OpenAPI document: 1beta.0.3 10 | Contact: git@stackit.cloud 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | # import models into model package 18 | from stackit.git.models.create_instance_payload import CreateInstancePayload 19 | from stackit.git.models.instance import Instance 20 | from stackit.git.models.internal_server_error_response import ( 21 | InternalServerErrorResponse, 22 | ) 23 | from stackit.git.models.list_instances import ListInstances 24 | from stackit.git.models.unauthorized_response import UnauthorizedResponse 25 | -------------------------------------------------------------------------------- /services/git/src/stackit/git/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/git/src/stackit/git/py.typed -------------------------------------------------------------------------------- /services/iaas/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Infrastructure as a Service (IaaS) SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/iaas/README.md: -------------------------------------------------------------------------------- 1 | # stackit.iaas 2 | This API allows you to create and modify IaaS resources. 3 | 4 | For more information, please visit [https://support.stackit.cloud/servicedesk](https://support.stackit.cloud/servicedesk) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-iaas 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.iaas 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/iaas/src/stackit/iaas/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.iaas.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/iaas/src/stackit/iaas/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/iaas/src/stackit/iaas/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/iaas/src/stackit/iaas/py.typed -------------------------------------------------------------------------------- /services/iaasalpha/README.md: -------------------------------------------------------------------------------- 1 | # stackit.iaasalpha 2 | This API allows you to create and modify IaaS resources. 3 | 4 | For more information, please visit [https://support.stackit.cloud/servicedesk](https://support.stackit.cloud/servicedesk) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-iaasalpha 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.iaasalpha 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/iaasalpha/src/stackit/iaasalpha/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.iaasalpha.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/iaasalpha/src/stackit/iaasalpha/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/iaasalpha/src/stackit/iaasalpha/models/static_area_id.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | IaaS-API 5 | 6 | This API allows you to create and modify IaaS resources. 7 | 8 | The version of the OpenAPI document: 1alpha1 9 | Contact: stackit-iaas@mail.schwarz 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class StaticAreaID(str, Enum): 24 | """ 25 | The identifier (ID) of a static area. 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | PUBLIC = "PUBLIC" 32 | SCHWARZ = "SCHWARZ" 33 | 34 | @classmethod 35 | def from_json(cls, json_str: str) -> Self: 36 | """Create an instance of StaticAreaID from a JSON string""" 37 | return cls(json.loads(json_str)) 38 | -------------------------------------------------------------------------------- /services/iaasalpha/src/stackit/iaasalpha/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/iaasalpha/src/stackit/iaasalpha/py.typed -------------------------------------------------------------------------------- /services/kms/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.0.4 (2025-05-19) 2 | - **Feature:** Added new method `delete_wrapping_key` 3 | 4 | ## v0.0.3 (2025-05-09) 5 | - **Feature:** Update user-agent header 6 | 7 | ## v0.0.2 (2025-05-05) 8 | - **Minor change:** Use stderr by default. 9 | - **Minor change:** Service update. 10 | 11 | ## v0.0.1 (2025-04-28) 12 | - **New module:** Initial publication of Key Management Service API 13 | -------------------------------------------------------------------------------- /services/kms/README.md: -------------------------------------------------------------------------------- 1 | # stackit.kms 2 | This API provides endpoints for managing keys and key rings. 3 | 4 | 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/git@github.com:stackitcloud/stackit-sdk-go.git) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-kms 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.kms 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.kms.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Key Management Service API 6 | 7 | This API provides endpoints for managing keys and key rings. 8 | 9 | The version of the OpenAPI document: 1beta.0.0 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | 16 | # import models into model package 17 | from stackit.kms.models.algorithm import Algorithm 18 | from stackit.kms.models.backend import Backend 19 | from stackit.kms.models.create_key_payload import CreateKeyPayload 20 | from stackit.kms.models.create_key_ring_payload import CreateKeyRingPayload 21 | from stackit.kms.models.create_wrapping_key_payload import CreateWrappingKeyPayload 22 | from stackit.kms.models.decrypt_payload import DecryptPayload 23 | from stackit.kms.models.decrypted_data import DecryptedData 24 | from stackit.kms.models.encrypt_payload import EncryptPayload 25 | from stackit.kms.models.encrypted_data import EncryptedData 26 | from stackit.kms.models.http_error import HttpError 27 | from stackit.kms.models.import_key_payload import ImportKeyPayload 28 | from stackit.kms.models.key import Key 29 | from stackit.kms.models.key_list import KeyList 30 | from stackit.kms.models.key_ring import KeyRing 31 | from stackit.kms.models.key_ring_list import KeyRingList 32 | from stackit.kms.models.purpose import Purpose 33 | from stackit.kms.models.sign_payload import SignPayload 34 | from stackit.kms.models.signed_data import SignedData 35 | from stackit.kms.models.verified_data import VerifiedData 36 | from stackit.kms.models.verify_payload import VerifyPayload 37 | from stackit.kms.models.version import Version 38 | from stackit.kms.models.version_list import VersionList 39 | from stackit.kms.models.wrapping_algorithm import WrappingAlgorithm 40 | from stackit.kms.models.wrapping_key import WrappingKey 41 | from stackit.kms.models.wrapping_key_list import WrappingKeyList 42 | from stackit.kms.models.wrapping_purpose import WrappingPurpose 43 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/models/algorithm.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Key Management Service API 5 | 6 | This API provides endpoints for managing keys and key rings. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class Algorithm(str, Enum): 23 | """ 24 | The algorithm the key material uses. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | AES_256_GCM = "aes_256_gcm" 31 | RSA_2048_OAEP_SHA256 = "rsa_2048_oaep_sha256" 32 | RSA_3072_OAEP_SHA256 = "rsa_3072_oaep_sha256" 33 | RSA_4096_OAEP_SHA256 = "rsa_4096_oaep_sha256" 34 | RSA_4096_OAEP_SHA512 = "rsa_4096_oaep_sha512" 35 | HMAC_SHA256 = "hmac_sha256" 36 | HMAC_SHA384 = "hmac_sha384" 37 | HMAC_SHA512 = "hmac_sha512" 38 | ECDSA_P256_SHA256 = "ecdsa_p256_sha256" 39 | ECDSA_P384_SHA384 = "ecdsa_p384_sha384" 40 | ECDSA_P521_SHA512 = "ecdsa_p521_sha512" 41 | 42 | @classmethod 43 | def from_json(cls, json_str: str) -> Self: 44 | """Create an instance of Algorithm from a JSON string""" 45 | return cls(json.loads(json_str)) 46 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/models/backend.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Key Management Service API 5 | 6 | This API provides endpoints for managing keys and key rings. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class Backend(str, Enum): 23 | """ 24 | The backend that is responsible for maintaining this key. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | SOFTWARE = "software" 31 | 32 | @classmethod 33 | def from_json(cls, json_str: str) -> Self: 34 | """Create an instance of Backend from a JSON string""" 35 | return cls(json.loads(json_str)) 36 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/models/purpose.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Key Management Service API 5 | 6 | This API provides endpoints for managing keys and key rings. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class Purpose(str, Enum): 23 | """ 24 | The purpose of the key. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | SYMMETRIC_ENCRYPT_DECRYPT = "symmetric_encrypt_decrypt" 31 | ASYMMETRIC_ENCRYPT_DECRYPT = "asymmetric_encrypt_decrypt" 32 | MESSAGE_AUTHENTICATION_CODE = "message_authentication_code" 33 | ASYMMETRIC_SIGN_VERIFY = "asymmetric_sign_verify" 34 | 35 | @classmethod 36 | def from_json(cls, json_str: str) -> Self: 37 | """Create an instance of Purpose from a JSON string""" 38 | return cls(json.loads(json_str)) 39 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/models/wrapping_algorithm.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Key Management Service API 5 | 6 | This API provides endpoints for managing keys and key rings. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class WrappingAlgorithm(str, Enum): 23 | """ 24 | The wrapping algorithm used to wrap the key to import. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | RSA_2048_OAEP_SHA256 = "rsa_2048_oaep_sha256" 31 | RSA_3072_OAEP_SHA256 = "rsa_3072_oaep_sha256" 32 | RSA_4096_OAEP_SHA256 = "rsa_4096_oaep_sha256" 33 | RSA_4096_OAEP_SHA512 = "rsa_4096_oaep_sha512" 34 | RSA_2048_OAEP_SHA256_AES_256_KEY_WRAP = "rsa_2048_oaep_sha256_aes_256_key_wrap" 35 | RSA_3072_OAEP_SHA256_AES_256_KEY_WRAP = "rsa_3072_oaep_sha256_aes_256_key_wrap" 36 | RSA_4096_OAEP_SHA256_AES_256_KEY_WRAP = "rsa_4096_oaep_sha256_aes_256_key_wrap" 37 | RSA_4096_OAEP_SHA512_AES_256_KEY_WRAP = "rsa_4096_oaep_sha512_aes_256_key_wrap" 38 | 39 | @classmethod 40 | def from_json(cls, json_str: str) -> Self: 41 | """Create an instance of WrappingAlgorithm from a JSON string""" 42 | return cls(json.loads(json_str)) 43 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/models/wrapping_purpose.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Key Management Service API 5 | 6 | This API provides endpoints for managing keys and key rings. 7 | 8 | The version of the OpenAPI document: 1beta.0.0 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class WrappingPurpose(str, Enum): 23 | """ 24 | The wrapping purpose for the wrapping key. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | WRAP_SYMMETRIC_KEY = "wrap_symmetric_key" 31 | WRAP_ASYMMETRIC_KEY = "wrap_asymmetric_key" 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of WrappingPurpose from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | -------------------------------------------------------------------------------- /services/kms/src/stackit/kms/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/kms/src/stackit/kms/py.typed -------------------------------------------------------------------------------- /services/lbapplication/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.3.3 (2025-06-02) 2 | - **Deprecated:** Changed deprecation message of `GetQuotaResponse` and `RESTResponseType` 3 | 4 | ## v0.3.2 (2025-05-14) 5 | - **Deprecated:** `lbapplication` service is deprecated and no longer maintained. Use the `alb` service instead 6 | 7 | ## v0.3.1 (2025-03-18) 8 | - Adapted to minor API changes 9 | 10 | ## v0.3.0 (2025-02-07) 11 | 12 | - **Bugfix**: Set type from interface to int64 of `HealthyThreshold`, `UnhealthyThreshold`, `MaxLoadBalancers`, `Port`, `MaxConnections`, `Code` and `TargetPort` 13 | 14 | ## v0.2.1 (2025-01-14) 15 | 16 | - **Bugfix**: `configuration.py` region adjustment was missing 17 | 18 | ## v0.2.0 (2025-01-13) 19 | 20 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 21 | 22 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 23 | 24 | ## v0.1.0 (2024-12-23) 25 | 26 | - Manage your STACKIT Load Balancer applications 27 | -------------------------------------------------------------------------------- /services/lbapplication/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Load Balancer Application SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/lbapplication/README.md: -------------------------------------------------------------------------------- 1 | # stackit.lbapplication 2 | This API offers an interface to provision and manage load balancing servers in your STACKIT project. It also has the possibility of pooling target servers for load balancing purposes. 3 | 4 | For each application load balancer provided, two VMs are deployed in your OpenStack project subject to a fee. 5 | 6 | 7 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 8 | 9 | 10 | ## Installation & Usage 11 | ### pip install 12 | 13 | ```sh 14 | pip install stackit-lbapplication 15 | ``` 16 | 17 | Then import the package: 18 | ```python 19 | import stackit.lbapplication 20 | ``` 21 | 22 | ## Getting Started 23 | 24 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/lbapplication/src/stackit/lbapplication/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.lbapplication.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/lbapplication/src/stackit/lbapplication/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/lbapplication/src/stackit/lbapplication/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/lbapplication/src/stackit/lbapplication/py.typed -------------------------------------------------------------------------------- /services/loadbalancer/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.4 (2025-06-02) 2 | - **Improvement:** Adjusted `GetQuotaResponse` and `RESTResponseType` message 3 | 4 | ## v0.2.3 (2025-05-09) 5 | - **Feature:** Update user-agent header 6 | 7 | ## v0.2.2 (2025-03-18) 8 | - Adapted to minor API changes 9 | 10 | ## v0.2.1 (2025-01-14) 11 | 12 | - **Bugfix**: `configuration.py` region adjustment was missing 13 | 14 | ## v0.2.0 (2025-01-13) 15 | 16 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 17 | 18 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 19 | 20 | ## v0.1.0 (2024-12-04) 21 | 22 | - Manage your STACKIT Load Balancer resources 23 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/loadbalancer) 24 | -------------------------------------------------------------------------------- /services/loadbalancer/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Load Balancer SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/loadbalancer/README.md: -------------------------------------------------------------------------------- 1 | # stackit.loadbalancer 2 | This API offers an interface to provision and manage load balancing servers in your STACKIT project. It also has the possibility of pooling target servers for load balancing purposes. 3 | 4 | For each load balancer provided, two VMs are deployed in your OpenStack project subject to a fee. 5 | 6 | 7 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 8 | 9 | 10 | ## Installation & Usage 11 | ### pip install 12 | 13 | ```sh 14 | pip install stackit-loadbalancer 15 | ``` 16 | 17 | Then import the package: 18 | ```python 19 | import stackit.loadbalancer 20 | ``` 21 | 22 | ## Getting Started 23 | 24 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/loadbalancer/src/stackit/loadbalancer/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.loadbalancer.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/loadbalancer/src/stackit/loadbalancer/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/loadbalancer/src/stackit/loadbalancer/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/loadbalancer/src/stackit/loadbalancer/py.typed -------------------------------------------------------------------------------- /services/logme/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.3.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.3.0 (2025-02-05) 5 | - **Breaking Change:** Remove mistakenly implemented `syslog-use-udp`. Does not exist. 6 | 7 | ## v0.2.1 (2025-01-14) 8 | - **Bugfix**: `configuration.py` region adjustment was missing 9 | 10 | ## v0.2.0 (2025-01-13) 11 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 12 | 13 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 14 | 15 | ## v0.1.0 (2024-12-04) 16 | - Manage your STACKIT Logme resources 17 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/logme) 18 | -------------------------------------------------------------------------------- /services/logme/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Logme SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/logme/README.md: -------------------------------------------------------------------------------- 1 | # stackit.logme 2 | The STACKIT LogMe API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects. 3 | 4 | For more information, please visit [https://docs.stackit.cloud/stackit/en/support-area-72063304.html](https://docs.stackit.cloud/stackit/en/support-area-72063304.html) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-logme 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.logme 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/logme/src/stackit/logme/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.logme.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/logme/src/stackit/logme/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/logme/src/stackit/logme/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/logme/src/stackit/logme/py.typed -------------------------------------------------------------------------------- /services/mariadb/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.2 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.2.1 (2025-01-14) 5 | - **Bugfix**: `configuration.py` region adjustment was missing 6 | 7 | ## v0.2.0 (2025-01-13) 8 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 9 | 10 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 11 | 12 | ## v0.1.0 (2024-12-04) 13 | - Manage your STACKIT MariaDB resources 14 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/mariadb) 15 | -------------------------------------------------------------------------------- /services/mariadb/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT MariaDB SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/mariadb/README.md: -------------------------------------------------------------------------------- 1 | # stackit.mariadb 2 | The STACKIT MariaDB API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects. 3 | 4 | For more information, please visit [https://docs.stackit.cloud/stackit/en/support-area-72063304.html](https://docs.stackit.cloud/stackit/en/support-area-72063304.html) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-mariadb 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.mariadb 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/mariadb/src/stackit/mariadb/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.mariadb.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/mariadb/src/stackit/mariadb/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/mariadb/src/stackit/mariadb/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/mariadb/src/stackit/mariadb/py.typed -------------------------------------------------------------------------------- /services/modelserving/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.1.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.1.0 (2025-03-18) 5 | - **New**: Client for managing the modelserving API 6 | -------------------------------------------------------------------------------- /services/modelserving/README.md: -------------------------------------------------------------------------------- 1 | # stackit.modelserving 2 | This API provides endpoints for the model serving api 3 | 4 | For more information, please visit [https://developers.stackit.schwarz](https://developers.stackit.schwarz) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-modelserving 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.modelserving 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/modelserving/src/stackit/modelserving/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.modelserving.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/modelserving/src/stackit/modelserving/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/modelserving/src/stackit/modelserving/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Model Serving API 6 | 7 | This API provides endpoints for the model serving api 8 | 9 | The version of the OpenAPI document: 1.0.0 10 | Contact: model-serving@mail.schwarz 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | # import models into model package 18 | from stackit.modelserving.models.chat_model_details import ChatModelDetails 19 | from stackit.modelserving.models.create_token_payload import CreateTokenPayload 20 | from stackit.modelserving.models.create_token_response import CreateTokenResponse 21 | from stackit.modelserving.models.embedding_model_details import EmbeddingModelDetails 22 | from stackit.modelserving.models.error_message_response import ErrorMessageResponse 23 | from stackit.modelserving.models.get_chat_model_response import GetChatModelResponse 24 | from stackit.modelserving.models.get_embeddings_model_resp import GetEmbeddingsModelResp 25 | from stackit.modelserving.models.get_token_response import GetTokenResponse 26 | from stackit.modelserving.models.list_models_response import ListModelsResponse 27 | from stackit.modelserving.models.list_token_resp import ListTokenResp 28 | from stackit.modelserving.models.message_response import MessageResponse 29 | from stackit.modelserving.models.model import Model 30 | from stackit.modelserving.models.partial_update_token_payload import ( 31 | PartialUpdateTokenPayload, 32 | ) 33 | from stackit.modelserving.models.sku import SKU 34 | from stackit.modelserving.models.token import Token 35 | from stackit.modelserving.models.token_created import TokenCreated 36 | from stackit.modelserving.models.update_token_response import UpdateTokenResponse 37 | -------------------------------------------------------------------------------- /services/modelserving/src/stackit/modelserving/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/modelserving/src/stackit/modelserving/py.typed -------------------------------------------------------------------------------- /services/mongodbflex/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.0 (2025-05-05) 5 | - **Breaking Change:** Introduce typed enum constants for status attributes 6 | 7 | ## v0.3.0 (2025-01-21) 8 | 9 | - **Breaking change**: Delete endpoint made private. 10 | 11 | ## v0.2.1 (2025-01-14) 12 | 13 | - **Bugfix**: `configuration.py` region adjustment was missing 14 | 15 | ## v0.2.0 (2025-01-13) 16 | 17 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 18 | 19 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 20 | 21 | ## v0.1.0 (2024-12-04) 22 | 23 | - Manage your STACKIT MongoDB Flex resources 24 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/mongodbflex) 25 | -------------------------------------------------------------------------------- /services/mongodbflex/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT MongoDB Flex SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/mongodbflex/README.md: -------------------------------------------------------------------------------- 1 | # stackit.mongodbflex 2 | This is the documentation for the STACKIT MongoDB Flex Service API 3 | 4 | For more information, please visit [https://www.stackit.de/en/contact](https://www.stackit.de/en/contact) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-mongodbflex 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.mongodbflex 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/mongodbflex/src/stackit/mongodbflex/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.mongodbflex.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/mongodbflex/src/stackit/mongodbflex/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/mongodbflex/src/stackit/mongodbflex/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/mongodbflex/src/stackit/mongodbflex/py.typed -------------------------------------------------------------------------------- /services/objectstorage/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.3 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.2 (2025-03-18) 5 | - Adapted to minor API changes 6 | 7 | ## v1.0.1 (2025-02-26) 8 | 9 | - New value `eu02` in region enum 10 | 11 | ## v1.0.0 (2025-02-06) 12 | 13 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 14 | 15 | ## v0.2.1 (2025-01-14) 16 | 17 | - **Bugfix**: `configuration.py` region adjustment was missing 18 | 19 | ## v0.2.0 (2025-01-13) 20 | 21 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 22 | 23 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 24 | 25 | ## v0.1.0 (2024-12-04) 26 | 27 | - Manage your STACKIT Object Storage resources 28 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/objectstorage) 29 | -------------------------------------------------------------------------------- /services/objectstorage/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Object Storage SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/objectstorage/README.md: -------------------------------------------------------------------------------- 1 | # stackit.objectstorage 2 | STACKIT API to manage the Object Storage 3 | 4 | 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-objectstorage 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.objectstorage 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/objectstorage/src/stackit/objectstorage/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.objectstorage.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/objectstorage/src/stackit/objectstorage/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/objectstorage/src/stackit/objectstorage/models/project_scope.py: -------------------------------------------------------------------------------- 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 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class ProjectScope(str, Enum): 23 | """ 24 | The scope of a STACKIT project can be public (default) or can have client specific special requirements. 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | PUBLIC = "PUBLIC" 31 | SCHWARZ = "SCHWARZ" 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of ProjectScope from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | -------------------------------------------------------------------------------- /services/objectstorage/src/stackit/objectstorage/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/objectstorage/src/stackit/objectstorage/py.typed -------------------------------------------------------------------------------- /services/observability/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.5.0 (2025-05-27) 2 | - **Feature:** Add support for `matchers` to route 3 | - **Feature:** Add support for `priority levels`, `sendResolved`, `continue` to alert config models 4 | 5 | ## v0.4.1 (2025-05-09) 6 | - **Feature:** Update user-agent header 7 | 8 | ## v0.4.0 (2025-04-17) 9 | - **Feature:** Add new methods `create_logs_alertgroups`, `delete_logs_alertgroup`, `get_logs_alertgroup`, `list_logs_alertgroups`, `update_logs_alertgroup` 10 | 11 | ## v0.3.0 (2025-03-27) 12 | - **Feature:** Added support for alert groups and alert rules. 13 | 14 | ## v0.2.0 (2025-01-13) 15 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 16 | 17 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 18 | 19 | ## v0.1.0 (2024-12-04) 20 | - Manage your STACKIT Observability resources 21 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/observability) 22 | -------------------------------------------------------------------------------- /services/observability/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Observability SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/observability/README.md: -------------------------------------------------------------------------------- 1 | # stackit.observability 2 | API endpoints for Observability on STACKIT 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-observability 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.observability 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/observability/src/stackit/observability/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.observability.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/observability/src/stackit/observability/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/observability/src/stackit/observability/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/observability/src/stackit/observability/py.typed -------------------------------------------------------------------------------- /services/opensearch/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.2.0 (2025-01-13) 5 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 6 | 7 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 8 | 9 | ## v0.1.0 (2024-12-04) 10 | - Manage your STACKIT OpenSearch resources 11 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/opensearch) 12 | -------------------------------------------------------------------------------- /services/opensearch/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT OpenSearch SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/opensearch/README.md: -------------------------------------------------------------------------------- 1 | # stackit.opensearch 2 | The STACKIT Opensearch API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects. 3 | 4 | For more information, please visit [https://docs.stackit.cloud/stackit/en/support-area-72063304.html](https://docs.stackit.cloud/stackit/en/support-area-72063304.html) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-opensearch 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.opensearch 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/opensearch/src/stackit/opensearch/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.opensearch.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/opensearch/src/stackit/opensearch/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/opensearch/src/stackit/opensearch/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/opensearch/src/stackit/opensearch/py.typed -------------------------------------------------------------------------------- /services/postgresflex/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.0 (2025-02-27) 5 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 6 | 7 | ## v0.3.0 (2025-01-21) 8 | - **Breaking change**: Delete endpoint made private. 9 | 10 | ## v0.2.0 (2025-01-13) 11 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 12 | 13 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 14 | 15 | ## v0.1.0 (2024-12-04) 16 | - Manage your STACKIT PostgreSQL Flex resources 17 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/postgresflex) 18 | -------------------------------------------------------------------------------- /services/postgresflex/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT PostgreSQL Flex SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/postgresflex/README.md: -------------------------------------------------------------------------------- 1 | # stackit.postgresflex 2 | This is the documentation for the STACKIT postgres service 3 | 4 | For more information, please visit [https://www.stackit.de/en/contact](https://www.stackit.de/en/contact) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-postgresflex 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.postgresflex 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/postgresflex/src/stackit/postgresflex/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.postgresflex.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/postgresflex/src/stackit/postgresflex/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/postgresflex/src/stackit/postgresflex/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/postgresflex/src/stackit/postgresflex/py.typed -------------------------------------------------------------------------------- /services/rabbitmq/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.2.0 (2025-01-13) 5 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 6 | 7 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 8 | 9 | ## v0.1.0 (2024-12-04) 10 | - Manage your STACKIT RabbitMQ resources 11 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/rabbitmq) 12 | -------------------------------------------------------------------------------- /services/rabbitmq/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT RabbitMQ SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/rabbitmq/README.md: -------------------------------------------------------------------------------- 1 | # stackit.rabbitmq 2 | The STACKIT RabbitMQ API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects. 3 | 4 | For more information, please visit [https://docs.stackit.cloud/stackit/en/support-area-72063304.html](https://docs.stackit.cloud/stackit/en/support-area-72063304.html) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-rabbitmq 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.rabbitmq 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/rabbitmq/src/stackit/rabbitmq/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.rabbitmq.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/rabbitmq/src/stackit/rabbitmq/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/rabbitmq/src/stackit/rabbitmq/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/rabbitmq/src/stackit/rabbitmq/py.typed -------------------------------------------------------------------------------- /services/redis/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.2.0 (2025-01-13) 5 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 6 | 7 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 8 | 9 | ## v0.1.0 (2024-12-04) 10 | - Manage your STACKIT Redis resources 11 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/redis) 12 | -------------------------------------------------------------------------------- /services/redis/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Redis SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/redis/README.md: -------------------------------------------------------------------------------- 1 | # stackit.redis 2 | The STACKIT Redis API provides endpoints to list service offerings, manage service instances and service credentials within STACKIT portal projects. 3 | 4 | For more information, please visit [https://docs.stackit.cloud/stackit/en/support-area-72063304.html](https://docs.stackit.cloud/stackit/en/support-area-72063304.html) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-redis 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.redis 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/redis/src/stackit/redis/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.redis.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/redis/src/stackit/redis/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/redis/src/stackit/redis/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/redis/src/stackit/redis/py.typed -------------------------------------------------------------------------------- /services/resourcemanager/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.5.0 (2025-06-04) 2 | - **Feature:** Delete Organization labels using the new method `DeleteOrganizationLabels` 3 | - **Feature:** Delete Project labels using the new method `DeleteProjectLabels` 4 | - **Feature:** List folders using the new method `ListFolders` 5 | - **Feature:** Partial Update Organization using the new method `PartialUpdateOrganization` 6 | 7 | ## v0.4.0 (2025-05-14) 8 | - **Breaking change:** Fields `ContainerParentId` and `ParentId` are no longer required in `ParentListInner` 9 | 10 | ## v0.3.2 (2025-05-09) 11 | - **Feature:** Update user-agent header 12 | 13 | ## v0.3.1 (2025-05-05) 14 | - **Feature:** 15 | - Added API calls for folder management 16 | 17 | ## v0.3.0 (2025-02-07) 18 | 19 | - **Breaking Change**: Remove the methods `BffGetContainersOfAFolder` and `BffGetContainersOfAnOrganization` 20 | 21 | ## v0.2.0 (2025-01-13) 22 | 23 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 24 | 25 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 26 | 27 | ## v0.1.0 (2024-12-04) 28 | 29 | - Manage your STACKIT resources such as your project, organization and folders 30 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/resourcemanager) 31 | -------------------------------------------------------------------------------- /services/resourcemanager/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Resource Manager SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/resourcemanager/src/stackit/resourcemanager/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.resourcemanager.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/resourcemanager/src/stackit/resourcemanager/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/resourcemanager/src/stackit/resourcemanager/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/resourcemanager/src/stackit/resourcemanager/py.typed -------------------------------------------------------------------------------- /services/runcommand/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.0 (2025-03-18) 5 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 6 | 7 | ## v0.2.0 (2025-01-13) 8 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 9 | 10 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 11 | 12 | ## v0.1.0 (2024-12-04) 13 | - STACKIT Run Command module can be used to run remote commands and custom scripts on VMs 14 | -------------------------------------------------------------------------------- /services/runcommand/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Run Command SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/runcommand/README.md: -------------------------------------------------------------------------------- 1 | # stackit.runcommand 2 | API endpoints for the STACKIT Run Commands Service API 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-runcommand 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.runcommand 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/runcommand/src/stackit/runcommand/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | 5 | """ 6 | STACKIT Run Commands Service API 7 | 8 | API endpoints for the STACKIT Run Commands Service API 9 | 10 | The version of the OpenAPI document: 2.0 11 | Contact: support@stackit.de 12 | Generated by OpenAPI Generator (https://openapi-generator.tech) 13 | 14 | Do not edit the class manually. 15 | """ # noqa: E501 docstring might be too long 16 | 17 | 18 | __version__ = "1.0.0" 19 | 20 | # import apis into sdk package 21 | from stackit.runcommand.api.default_api import DefaultApi 22 | from stackit.runcommand.api_client import ApiClient 23 | 24 | # import ApiClient 25 | from stackit.runcommand.api_response import ApiResponse 26 | from stackit.runcommand.configuration import HostConfiguration 27 | from stackit.runcommand.exceptions import ( 28 | ApiAttributeError, 29 | ApiException, 30 | ApiKeyError, 31 | ApiTypeError, 32 | ApiValueError, 33 | OpenApiException, 34 | ) 35 | 36 | # import models into sdk package 37 | from stackit.runcommand.models.command_details import CommandDetails 38 | from stackit.runcommand.models.command_template import CommandTemplate 39 | from stackit.runcommand.models.command_template_response import CommandTemplateResponse 40 | from stackit.runcommand.models.command_template_schema import CommandTemplateSchema 41 | from stackit.runcommand.models.commands import Commands 42 | from stackit.runcommand.models.create_command_payload import CreateCommandPayload 43 | from stackit.runcommand.models.error_response import ErrorResponse 44 | from stackit.runcommand.models.get_commands_response import GetCommandsResponse 45 | from stackit.runcommand.models.model_field import ModelField 46 | from stackit.runcommand.models.new_command_response import NewCommandResponse 47 | from stackit.runcommand.models.parameters_schema import ParametersSchema 48 | from stackit.runcommand.models.properties import Properties 49 | -------------------------------------------------------------------------------- /services/runcommand/src/stackit/runcommand/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.runcommand.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/runcommand/src/stackit/runcommand/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/runcommand/src/stackit/runcommand/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Run Commands Service API 6 | 7 | API endpoints for the STACKIT Run Commands Service API 8 | 9 | The version of the OpenAPI document: 2.0 10 | Contact: support@stackit.de 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | # import models into model package 18 | from stackit.runcommand.models.command_details import CommandDetails 19 | from stackit.runcommand.models.command_template import CommandTemplate 20 | from stackit.runcommand.models.command_template_response import CommandTemplateResponse 21 | from stackit.runcommand.models.command_template_schema import CommandTemplateSchema 22 | from stackit.runcommand.models.commands import Commands 23 | from stackit.runcommand.models.create_command_payload import CreateCommandPayload 24 | from stackit.runcommand.models.error_response import ErrorResponse 25 | from stackit.runcommand.models.get_commands_response import GetCommandsResponse 26 | from stackit.runcommand.models.model_field import ModelField 27 | from stackit.runcommand.models.new_command_response import NewCommandResponse 28 | from stackit.runcommand.models.parameters_schema import ParametersSchema 29 | from stackit.runcommand.models.properties import Properties 30 | -------------------------------------------------------------------------------- /services/runcommand/src/stackit/runcommand/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/runcommand/src/stackit/runcommand/py.typed -------------------------------------------------------------------------------- /services/secretsmanager/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.2 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.2.1 (2025-03-20) 5 | - **Improvement:** Error handling 6 | - **Feature:** Add description to `UpdateUserPayload` 7 | 8 | ## v0.2.0 (2025-01-13) 9 | 10 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 11 | 12 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 13 | 14 | ## v0.1.0 (2024-12-04) 15 | 16 | - Manage your STACKIT Secrets manager resources 17 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/secretsmanager) 18 | -------------------------------------------------------------------------------- /services/secretsmanager/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Secrets Manager SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/secretsmanager/README.md: -------------------------------------------------------------------------------- 1 | # stackit.secretsmanager 2 | This API provides endpoints for managing the Secrets-Manager. 3 | 4 | 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-secretsmanager 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.secretsmanager 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/secretsmanager/src/stackit/secretsmanager/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | 5 | """ 6 | STACKIT Secrets Manager API 7 | 8 | This API provides endpoints for managing the Secrets-Manager. 9 | 10 | The version of the OpenAPI document: 1.4.1 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | __version__ = "1.0.0" 18 | 19 | # import apis into sdk package 20 | from stackit.secretsmanager.api.default_api import DefaultApi 21 | from stackit.secretsmanager.api_client import ApiClient 22 | 23 | # import ApiClient 24 | from stackit.secretsmanager.api_response import ApiResponse 25 | from stackit.secretsmanager.configuration import HostConfiguration 26 | from stackit.secretsmanager.exceptions import ( 27 | ApiAttributeError, 28 | ApiException, 29 | ApiKeyError, 30 | ApiTypeError, 31 | ApiValueError, 32 | OpenApiException, 33 | ) 34 | 35 | # import models into sdk package 36 | from stackit.secretsmanager.models.acl import ACL 37 | from stackit.secretsmanager.models.bad_request import BadRequest 38 | from stackit.secretsmanager.models.conflict import Conflict 39 | from stackit.secretsmanager.models.create_acl_payload import CreateACLPayload 40 | from stackit.secretsmanager.models.create_instance_payload import CreateInstancePayload 41 | from stackit.secretsmanager.models.create_user_payload import CreateUserPayload 42 | from stackit.secretsmanager.models.instance import Instance 43 | from stackit.secretsmanager.models.list_acls_response import ListACLsResponse 44 | from stackit.secretsmanager.models.list_instances_response import ListInstancesResponse 45 | from stackit.secretsmanager.models.list_users_response import ListUsersResponse 46 | from stackit.secretsmanager.models.not_found import NotFound 47 | from stackit.secretsmanager.models.update_acl_payload import UpdateACLPayload 48 | from stackit.secretsmanager.models.update_acls_payload import UpdateACLsPayload 49 | from stackit.secretsmanager.models.update_instance_payload import UpdateInstancePayload 50 | from stackit.secretsmanager.models.update_user_payload import UpdateUserPayload 51 | from stackit.secretsmanager.models.user import User 52 | -------------------------------------------------------------------------------- /services/secretsmanager/src/stackit/secretsmanager/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.secretsmanager.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/secretsmanager/src/stackit/secretsmanager/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/secretsmanager/src/stackit/secretsmanager/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Secrets Manager API 6 | 7 | This API provides endpoints for managing the Secrets-Manager. 8 | 9 | The version of the OpenAPI document: 1.4.1 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | 16 | # import models into model package 17 | from stackit.secretsmanager.models.acl import ACL 18 | from stackit.secretsmanager.models.bad_request import BadRequest 19 | from stackit.secretsmanager.models.conflict import Conflict 20 | from stackit.secretsmanager.models.create_acl_payload import CreateACLPayload 21 | from stackit.secretsmanager.models.create_instance_payload import CreateInstancePayload 22 | from stackit.secretsmanager.models.create_user_payload import CreateUserPayload 23 | from stackit.secretsmanager.models.instance import Instance 24 | from stackit.secretsmanager.models.list_acls_response import ListACLsResponse 25 | from stackit.secretsmanager.models.list_instances_response import ListInstancesResponse 26 | from stackit.secretsmanager.models.list_users_response import ListUsersResponse 27 | from stackit.secretsmanager.models.not_found import NotFound 28 | from stackit.secretsmanager.models.update_acl_payload import UpdateACLPayload 29 | from stackit.secretsmanager.models.update_acls_payload import UpdateACLsPayload 30 | from stackit.secretsmanager.models.update_instance_payload import UpdateInstancePayload 31 | from stackit.secretsmanager.models.update_user_payload import UpdateUserPayload 32 | from stackit.secretsmanager.models.user import User 33 | -------------------------------------------------------------------------------- /services/secretsmanager/src/stackit/secretsmanager/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/secretsmanager/src/stackit/secretsmanager/py.typed -------------------------------------------------------------------------------- /services/serverbackup/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.0 (2025-03-18) 5 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 6 | 7 | ## v0.2.0 (2025-01-13) 8 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 9 | 10 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 11 | 12 | ## v0.1.0 (2024-12-04) 13 | - Manage your STACKIT Server Backups 14 | -------------------------------------------------------------------------------- /services/serverbackup/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Server Backup SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/serverbackup/README.md: -------------------------------------------------------------------------------- 1 | # stackit.serverbackup 2 | API endpoints for Server Backup Operations on STACKIT Servers. 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-serverbackup 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.serverbackup 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/serverbackup/src/stackit/serverbackup/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.serverbackup.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/serverbackup/src/stackit/serverbackup/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/serverbackup/src/stackit/serverbackup/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/serverbackup/src/stackit/serverbackup/py.typed -------------------------------------------------------------------------------- /services/serverupdate/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.2 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.1 (2025-05-05) 5 | - **Minor change:** Use stderr by default. 6 | 7 | ## v1.0.0 (2025-03-18) 8 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 9 | 10 | ## v0.3.0 (2025-02-06) 11 | 12 | - **Breaking Change:**: Remove field `BackupProperties` from `CreateUpdatePayload` model 13 | - **Fix**: Remove field `Id` from `CreateUpdateSchedulePayload` model 14 | 15 | ## v0.2.0 (2025-01-13) 16 | 17 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 18 | 19 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 20 | 21 | ## v0.1.1 (2024-12-23) 22 | 23 | - **Bugfix:** `Id` field of `Update` model is now of type `int64` (was `string`) 24 | 25 | ## v0.1.0 (2024-12-04) 26 | 27 | - Manage your STACKIT Server Updates 28 | -------------------------------------------------------------------------------- /services/serverupdate/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Server Update SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/serverupdate/README.md: -------------------------------------------------------------------------------- 1 | # stackit.serverupdate 2 | API endpoints for Server Update Operations on STACKIT Servers. 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-serverupdate 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.serverupdate 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/serverupdate/src/stackit/serverupdate/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.serverupdate.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/serverupdate/src/stackit/serverupdate/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/serverupdate/src/stackit/serverupdate/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Server Update Management API 6 | 7 | API endpoints for Server Update Operations on STACKIT Servers. 8 | 9 | The version of the OpenAPI document: 2.0 10 | Contact: support@stackit.de 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | # import models into model package 18 | from stackit.serverupdate.models.create_update_payload import CreateUpdatePayload 19 | from stackit.serverupdate.models.create_update_schedule_payload import ( 20 | CreateUpdateSchedulePayload, 21 | ) 22 | from stackit.serverupdate.models.enable_service_resource_payload import ( 23 | EnableServiceResourcePayload, 24 | ) 25 | from stackit.serverupdate.models.error_response import ErrorResponse 26 | from stackit.serverupdate.models.get_update_policies_response import ( 27 | GetUpdatePoliciesResponse, 28 | ) 29 | from stackit.serverupdate.models.get_update_schedules_response import ( 30 | GetUpdateSchedulesResponse, 31 | ) 32 | from stackit.serverupdate.models.get_update_service_response import ( 33 | GetUpdateServiceResponse, 34 | ) 35 | from stackit.serverupdate.models.get_updates_list_response import GetUpdatesListResponse 36 | from stackit.serverupdate.models.update import Update 37 | from stackit.serverupdate.models.update_policy import UpdatePolicy 38 | from stackit.serverupdate.models.update_schedule import UpdateSchedule 39 | from stackit.serverupdate.models.update_schedule_create_request import ( 40 | UpdateScheduleCreateRequest, 41 | ) 42 | from stackit.serverupdate.models.update_update_schedule_payload import ( 43 | UpdateUpdateSchedulePayload, 44 | ) 45 | -------------------------------------------------------------------------------- /services/serverupdate/src/stackit/serverupdate/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/serverupdate/src/stackit/serverupdate/py.typed -------------------------------------------------------------------------------- /services/serviceaccount/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.2.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v0.2.0 (2025-01-13) 5 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 6 | 7 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 8 | 9 | ## v0.1.0 (2024-12-04) 10 | - Manage your STACKIT Service Accounts 11 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/serviceaccount) 12 | -------------------------------------------------------------------------------- /services/serviceaccount/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Service Account SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/serviceaccount/src/stackit/serviceaccount/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.serviceaccount.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/serviceaccount/src/stackit/serviceaccount/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/serviceaccount/src/stackit/serviceaccount/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/serviceaccount/src/stackit/serviceaccount/py.typed -------------------------------------------------------------------------------- /services/serviceenablement/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.1 (2025-05-09) 2 | - **Feature:** Update user-agent header 3 | 4 | ## v1.0.0 (2025-03-18) 5 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 6 | 7 | ## v0.2.0 (2025-01-13) 8 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 9 | 10 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 11 | 12 | ## v0.1.0 (2024-12-04) 13 | - STACKIT Service Enablement module can be used to enable services 14 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/serviceenablement) 15 | -------------------------------------------------------------------------------- /services/serviceenablement/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Service Enablement SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/serviceenablement/README.md: -------------------------------------------------------------------------------- 1 | # stackit.serviceenablement 2 | STACKIT Service Enablement API 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-serviceenablement 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.serviceenablement 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/serviceenablement/src/stackit/serviceenablement/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | 5 | """ 6 | STACKIT Service Enablement API 7 | 8 | STACKIT Service Enablement API 9 | 10 | The version of the OpenAPI document: 2.0 11 | Generated by OpenAPI Generator (https://openapi-generator.tech) 12 | 13 | Do not edit the class manually. 14 | """ # noqa: E501 docstring might be too long 15 | 16 | 17 | __version__ = "1.0.0" 18 | 19 | # import apis into sdk package 20 | from stackit.serviceenablement.api.default_api import DefaultApi 21 | from stackit.serviceenablement.api_client import ApiClient 22 | 23 | # import ApiClient 24 | from stackit.serviceenablement.api_response import ApiResponse 25 | from stackit.serviceenablement.configuration import HostConfiguration 26 | from stackit.serviceenablement.exceptions import ( 27 | ApiAttributeError, 28 | ApiException, 29 | ApiKeyError, 30 | ApiTypeError, 31 | ApiValueError, 32 | OpenApiException, 33 | ) 34 | 35 | # import models into sdk package 36 | from stackit.serviceenablement.models.action_error import ActionError 37 | from stackit.serviceenablement.models.check_service import CheckService 38 | from stackit.serviceenablement.models.cloud_service import CloudService 39 | from stackit.serviceenablement.models.dependencies import Dependencies 40 | from stackit.serviceenablement.models.error_response import ErrorResponse 41 | from stackit.serviceenablement.models.list_service_status_regional200_response import ( 42 | ListServiceStatusRegional200Response, 43 | ) 44 | from stackit.serviceenablement.models.parameters import Parameters 45 | from stackit.serviceenablement.models.parameters_general import ParametersGeneral 46 | from stackit.serviceenablement.models.service_status import ServiceStatus 47 | -------------------------------------------------------------------------------- /services/serviceenablement/src/stackit/serviceenablement/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.serviceenablement.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/serviceenablement/src/stackit/serviceenablement/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/serviceenablement/src/stackit/serviceenablement/models/__init__.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | # flake8: noqa 4 | """ 5 | STACKIT Service Enablement API 6 | 7 | STACKIT Service Enablement API 8 | 9 | The version of the OpenAPI document: 2.0 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | 16 | # import models into model package 17 | from stackit.serviceenablement.models.action_error import ActionError 18 | from stackit.serviceenablement.models.check_service import CheckService 19 | from stackit.serviceenablement.models.cloud_service import CloudService 20 | from stackit.serviceenablement.models.dependencies import Dependencies 21 | from stackit.serviceenablement.models.error_response import ErrorResponse 22 | from stackit.serviceenablement.models.list_service_status_regional200_response import ( 23 | ListServiceStatusRegional200Response, 24 | ) 25 | from stackit.serviceenablement.models.parameters import Parameters 26 | from stackit.serviceenablement.models.parameters_general import ParametersGeneral 27 | from stackit.serviceenablement.models.service_status import ServiceStatus 28 | -------------------------------------------------------------------------------- /services/serviceenablement/src/stackit/serviceenablement/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/serviceenablement/src/stackit/serviceenablement/py.typed -------------------------------------------------------------------------------- /services/ske/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v0.4.3 (2025-05-14) 2 | - **Feature:** Added enum `SKE_NODE_MACHINE_TYPE_NOT_FOUND` to `ClusterError` 3 | 4 | ## v0.4.2 (2025-05-13) 5 | - **Feature:** Added `ClusterError` 6 | 7 | ## v0.4.1 (2025-05-09) 8 | - **Feature:** Update user-agent header 9 | 10 | ## v0.4.0 (2025-02-27) 11 | - `Nodepool`: `maximum` and `minimum` must be <= 1000 12 | 13 | ## v0.3.0 (2025-02-06) 14 | - **Removal:** The following methods were removed after deprecation (2024-04-16) and [`serviceenablement` SDK](https://github.com/stackitcloud/stackit-sdk-python/tree/main/services/serviceenablement) must be used instead. 15 | - `DisableService` 16 | - `EnableService` 17 | - `GetServiceStatus` 18 | 19 | ## v0.2.0 (2025-01-13) 20 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 21 | 22 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 23 | 24 | ## v0.1.0 (2024-12-04) 25 | - Manage your STACKIT Kubernetes Engine resources 26 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/ske) 27 | -------------------------------------------------------------------------------- /services/ske/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Kubernetes Engine SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/ske/README.md: -------------------------------------------------------------------------------- 1 | # stackit.ske 2 | The SKE API provides endpoints to create, update, delete clusters within STACKIT portal projects and to trigger further cluster management tasks. 3 | 4 | For more information, please visit [https://support.stackit.cloud/servicedesk](https://support.stackit.cloud/servicedesk) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-ske 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.ske 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/ske/src/stackit/ske/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.ske.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/ske/src/stackit/ske/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/ske/src/stackit/ske/models/cluster_status_state.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | SKE-API 5 | 6 | The SKE API provides endpoints to create, update, delete clusters within STACKIT portal projects and to trigger further cluster management tasks. 7 | 8 | The version of the OpenAPI document: 1.1 9 | Generated by OpenAPI Generator (https://openapi-generator.tech) 10 | 11 | Do not edit the class manually. 12 | """ # noqa: E501 docstring might be too long 13 | 14 | from __future__ import annotations 15 | 16 | import json 17 | from enum import Enum 18 | 19 | from typing_extensions import Self 20 | 21 | 22 | class ClusterStatusState(str, Enum): 23 | """ 24 | ClusterStatusState 25 | """ 26 | 27 | """ 28 | allowed enum values 29 | """ 30 | STATE_UNSPECIFIED = "STATE_UNSPECIFIED" 31 | STATE_HEALTHY = "STATE_HEALTHY" 32 | STATE_CREATING = "STATE_CREATING" 33 | STATE_DELETING = "STATE_DELETING" 34 | STATE_UNHEALTHY = "STATE_UNHEALTHY" 35 | STATE_RECONCILING = "STATE_RECONCILING" 36 | STATE_HIBERNATED = "STATE_HIBERNATED" 37 | STATE_HIBERNATING = "STATE_HIBERNATING" 38 | STATE_WAKINGUP = "STATE_WAKINGUP" 39 | 40 | @classmethod 41 | def from_json(cls, json_str: str) -> Self: 42 | """Create an instance of ClusterStatusState from a JSON string""" 43 | return cls(json.loads(json_str)) 44 | -------------------------------------------------------------------------------- /services/ske/src/stackit/ske/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/ske/src/stackit/ske/py.typed -------------------------------------------------------------------------------- /services/sqlserverflex/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## v1.0.2 (2025-05-14) 2 | - **Feature:** Add new method `list_metrics` 3 | 4 | ## v1.0.1 (2025-05-09) 5 | - **Feature:** Update user-agent header 6 | 7 | ## v1.0.0 (2025-03-18) 8 | - **Breaking Change:** The region is no longer specified within the client configuration. Instead, the region must be passed as a parameter to any region-specific request. 9 | 10 | ## v0.3.0 (2025-01-21) 11 | - **Breaking change**: Delete endpoint made private. 12 | 13 | ## v0.2.0 (2025-01-13) 14 | - **Breaking Change:**: `get_host_from_settings` returns an error if a region is specified for a global URL. 15 | 16 | STACKIT will move to a new way of specifying regions, where the region is provided as a function argument instead of being set in the client configuration. Once all services have migrated, the methods to specify the region in the client configuration will be removed. 17 | 18 | ## v0.1.0 (2024-12-04) 19 | - Manage your STACKIT SQLServer Flex resources 20 | - [Usage example](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples/sqlserverflex) 21 | -------------------------------------------------------------------------------- /services/sqlserverflex/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT SQLServer Flex SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/sqlserverflex/README.md: -------------------------------------------------------------------------------- 1 | # stackit.sqlserverflex 2 | This is the documentation for the STACKIT MSSQL service 3 | 4 | For more information, please visit [https://www.stackit.de/en/contact](https://www.stackit.de/en/contact) 5 | 6 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 7 | 8 | 9 | ## Installation & Usage 10 | ### pip install 11 | 12 | ```sh 13 | pip install stackit-sqlserverflex 14 | ``` 15 | 16 | Then import the package: 17 | ```python 18 | import stackit.sqlserverflex 19 | ``` 20 | 21 | ## Getting Started 22 | 23 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/sqlserverflex/src/stackit/sqlserverflex/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.sqlserverflex.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/sqlserverflex/src/stackit/sqlserverflex/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/sqlserverflex/src/stackit/sqlserverflex/models/type.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT MSSQL Service API 5 | 6 | This is the documentation for the STACKIT MSSQL service 7 | 8 | The version of the OpenAPI document: 2.0.0 9 | Contact: support@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class Type(str, Enum): 24 | """ 25 | Type 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | NOTFOUND = "NotFound" 32 | CREATE = "Create" 33 | READ = "Read" 34 | DELETE = "Delete" 35 | UPDATE = "Update" 36 | VALIDATION = "Validation" 37 | 38 | @classmethod 39 | def from_json(cls, json_str: str) -> Self: 40 | """Create an instance of Type from a JSON string""" 41 | return cls(json.loads(json_str)) 42 | -------------------------------------------------------------------------------- /services/sqlserverflex/src/stackit/sqlserverflex/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/sqlserverflex/src/stackit/sqlserverflex/py.typed -------------------------------------------------------------------------------- /services/stackitmarketplace/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # v1.2.0 (2025-06-06) 2 | - **Fix:** Fixed types for `VendorId`, `ProjectId`, `OrganizationId` and `SubscriptionId` 3 | 4 | ## v1.1.3 (2025-06-02) 5 | - **Feature:** Added `industries` to `CatalogProductDetail` 6 | 7 | ## v1.1.2 (2025-05-19) 8 | - **Improvement:** Update descriptions 9 | 10 | ## v1.1.1 (2025-05-14) 11 | - **Feature**: Added new method `vendors_subscriptions_reject` 12 | 13 | ## v1.1.0 (2025-05-13) 14 | - **Breaking Change:** Added organization id to `VendorSubscription` 15 | 16 | ## v1.0.1 (2025-05-09) 17 | - **Feature:** Update user-agent header 18 | 19 | ## v1.0.0 (2025-05-05) 20 | - **Breaking Change:** 21 | - Introduced dedicated type for product id with appropriate validations 22 | - **Feature:** 23 | - subscription products contain the plan id 24 | 25 | ## v0.4.0 (2025-04-16) 26 | - **Feature:** Add new `InquiryContactSales`, `InquirySuggestProduct`, `PriceType`, `PricingOption` and `DeliveryMethod` 27 | 28 | ## v0.3.0 (2025-04-04) 29 | - **Feature:** Add new `VendorProductId` attribute for subscription products 30 | 31 | ## v0.2.0 (2025-03-05) 32 | 33 | - **Feature:** Add method to create inquiries: `InquiriesCreateInquiry` 34 | - **Feature:** Add `sort` property to `ApiListCatalogProductsRequest` 35 | - **Feature:** Add payload `ApproveSubscriptionPayload` for `ApiApproveSubscriptionRequest` 36 | 37 | ## v0.1.0 (2025-01-13) 38 | 39 | - **New**: STACKIT Marketplace module can be used to manage the STACKIT Marketplace. 40 | -------------------------------------------------------------------------------- /services/stackitmarketplace/NOTICE.txt: -------------------------------------------------------------------------------- 1 | STACKIT Marketplace SDK for Python 2 | Copyright 2025 Schwarz IT KG -------------------------------------------------------------------------------- /services/stackitmarketplace/README.md: -------------------------------------------------------------------------------- 1 | # stackit.stackitmarketplace 2 | API to manage STACKIT Marketplace. 3 | 4 | 5 | This package is part of the STACKIT Python SDK. For additional information, please visit the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. 6 | 7 | 8 | ## Installation & Usage 9 | ### pip install 10 | 11 | ```sh 12 | pip install stackit-stackitmarketplace 13 | ``` 14 | 15 | Then import the package: 16 | ```python 17 | import stackit.stackitmarketplace 18 | ``` 19 | 20 | ## Getting Started 21 | 22 | [Examples](https://github.com/stackitcloud/stackit-sdk-python/tree/main/examples) for the usage of the package can be found in the [GitHub repository](https://github.com/stackitcloud/stackit-sdk-python) of the SDK. -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/api/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | 3 | # import apis into api package 4 | from stackit.stackitmarketplace.api.default_api import DefaultApi 5 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/api_response.py: -------------------------------------------------------------------------------- 1 | """API response object.""" 2 | 3 | from __future__ import annotations 4 | 5 | from typing import Generic, Mapping, Optional, TypeVar 6 | 7 | from pydantic import BaseModel, Field, StrictBytes, StrictInt 8 | 9 | 10 | T = TypeVar("T") 11 | 12 | 13 | class ApiResponse(BaseModel, Generic[T]): 14 | """ 15 | API response object 16 | """ 17 | 18 | status_code: StrictInt = Field(description="HTTP status code") 19 | headers: Optional[Mapping[str, str]] = Field(None, description="HTTP headers") 20 | data: T = Field(description="Deserialized data given the data type") 21 | raw_data: StrictBytes = Field(description="Raw data (HTTP response body)") 22 | 23 | model_config = {"arbitrary_types_allowed": True} 24 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/models/delivery_method.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Marketplace API 5 | 6 | API to manage STACKIT Marketplace. 7 | 8 | The version of the OpenAPI document: 1 9 | Contact: marketplace@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class DeliveryMethod(str, Enum): 24 | """ 25 | The product delivery method/type. For reference: SAAS - Software as a Service, SAI - STACKIT Application Image 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | SAAS = "SAAS" 32 | KUBERNETES = "KUBERNETES" 33 | SAI = "SAI" 34 | PROFESSIONAL_SERVICE = "PROFESSIONAL_SERVICE" 35 | 36 | @classmethod 37 | def from_json(cls, json_str: str) -> Self: 38 | """Create an instance of DeliveryMethod from a JSON string""" 39 | return cls(json.loads(json_str)) 40 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/models/inquiry_form_type.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Marketplace API 5 | 6 | API to manage STACKIT Marketplace. 7 | 8 | The version of the OpenAPI document: 1 9 | Contact: marketplace@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class InquiryFormType(str, Enum): 24 | """ 25 | The form type. 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | SUGGESTPRODUCT = "suggestProduct" 32 | CONTACTSALES = "contactSales" 33 | BECOMEVENDOR = "becomeVendor" 34 | REGISTERTESTING = "registerTesting" 35 | 36 | @classmethod 37 | def from_json(cls, json_str: str) -> Self: 38 | """Create an instance of InquiryFormType from a JSON string""" 39 | return cls(json.loads(json_str)) 40 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/models/price_type.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Marketplace API 5 | 6 | API to manage STACKIT Marketplace. 7 | 8 | The version of the OpenAPI document: 1 9 | Contact: marketplace@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class PriceType(str, Enum): 24 | """ 25 | The product's price type. 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | CONTRACT = "CONTRACT" 32 | FREE = "FREE" 33 | FREE_TRIAL = "FREE_TRIAL" 34 | BYOL = "BYOL" 35 | PAYG = "PAYG" 36 | 37 | @classmethod 38 | def from_json(cls, json_str: str) -> Self: 39 | """Create an instance of PriceType from a JSON string""" 40 | return cls(json.loads(json_str)) 41 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/models/pricing_option_unit.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Marketplace API 5 | 6 | API to manage STACKIT Marketplace. 7 | 8 | The version of the OpenAPI document: 1 9 | Contact: marketplace@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class PricingOptionUnit(str, Enum): 24 | """ 25 | The interval to which the rate applies. 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | MONTH = "month" 32 | 33 | @classmethod 34 | def from_json(cls, json_str: str) -> Self: 35 | """Create an instance of PricingOptionUnit from a JSON string""" 36 | return cls(json.loads(json_str)) 37 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/models/product_lifecycle_state.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Marketplace API 5 | 6 | API to manage STACKIT Marketplace. 7 | 8 | The version of the OpenAPI document: 1 9 | Contact: marketplace@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class ProductLifecycleState(str, Enum): 24 | """ 25 | The lifecycle state of the product. 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | PRODUCT_LIVE = "PRODUCT_LIVE" 32 | PRODUCT_PREVIEW = "PRODUCT_PREVIEW" 33 | 34 | @classmethod 35 | def from_json(cls, json_str: str) -> Self: 36 | """Create an instance of ProductLifecycleState from a JSON string""" 37 | return cls(json.loads(json_str)) 38 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/models/subscription_lifecycle_state.py: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | 3 | """ 4 | STACKIT Marketplace API 5 | 6 | API to manage STACKIT Marketplace. 7 | 8 | The version of the OpenAPI document: 1 9 | Contact: marketplace@stackit.cloud 10 | Generated by OpenAPI Generator (https://openapi-generator.tech) 11 | 12 | Do not edit the class manually. 13 | """ # noqa: E501 docstring might be too long 14 | 15 | from __future__ import annotations 16 | 17 | import json 18 | from enum import Enum 19 | 20 | from typing_extensions import Self 21 | 22 | 23 | class SubscriptionLifecycleState(str, Enum): 24 | """ 25 | Lifecycle state of the subscription. 26 | """ 27 | 28 | """ 29 | allowed enum values 30 | """ 31 | SUBSCRIPTION_PENDING = "SUBSCRIPTION_PENDING" 32 | SUBSCRIPTION_ACTIVE = "SUBSCRIPTION_ACTIVE" 33 | SUBSCRIPTION_INACTIVE = "SUBSCRIPTION_INACTIVE" 34 | SUBSCRIPTION_CANCELLING = "SUBSCRIPTION_CANCELLING" 35 | SUBSCRIPTION_CANCELLED = "SUBSCRIPTION_CANCELLED" 36 | SUBSCRIPTION_REJECTED = "SUBSCRIPTION_REJECTED" 37 | 38 | @classmethod 39 | def from_json(cls, json_str: str) -> Self: 40 | """Create an instance of SubscriptionLifecycleState from a JSON string""" 41 | return cls(json.loads(json_str)) 42 | -------------------------------------------------------------------------------- /services/stackitmarketplace/src/stackit/stackitmarketplace/py.typed: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/stackitcloud/stackit-sdk-python/7562d0d3ac0589b1eaae1f7b1dc24b3bbe7cdd68/services/stackitmarketplace/src/stackit/stackitmarketplace/py.typed --------------------------------------------------------------------------------