Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@ dmypy.json

/coverage.xml
/.coverage

# Artifacts
./platform.yaml
./platform.json
7 changes: 7 additions & 0 deletions .openapi-generator-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
git_push.sh
.travis.yml
README.md
*_README.md
docs/
test/
.gitignore
151 changes: 151 additions & 0 deletions .openapi-generator/FILES
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
unikraft_cloud_platform/__init__.py
unikraft_cloud_platform/api/__init__.py
unikraft_cloud_platform/api/autoscale_api.py
unikraft_cloud_platform/api/certificates_api.py
unikraft_cloud_platform/api/images_api.py
unikraft_cloud_platform/api/instances_api.py
unikraft_cloud_platform/api/services_api.py
unikraft_cloud_platform/api/users_api.py
unikraft_cloud_platform/api/volumes_api.py
unikraft_cloud_platform/api_client.py
unikraft_cloud_platform/api_response.py
unikraft_cloud_platform/configuration.py
unikraft_cloud_platform/exceptions.py
unikraft_cloud_platform/models/__init__.py
unikraft_cloud_platform/models/autoscale_config.py
unikraft_cloud_platform/models/autoscale_config_master.py
unikraft_cloud_platform/models/autoscale_policy.py
unikraft_cloud_platform/models/autoscale_policy_step.py
unikraft_cloud_platform/models/certificate.py
unikraft_cloud_platform/models/certificate_service_groups_inner.py
unikraft_cloud_platform/models/certificate_validation.py
unikraft_cloud_platform/models/create_autoscale_config200_response.py
unikraft_cloud_platform/models/create_autoscale_config200_response_data.py
unikraft_cloud_platform/models/create_autoscale_config200_response_data_certificates_inner.py
unikraft_cloud_platform/models/create_autoscale_config_request.py
unikraft_cloud_platform/models/create_autoscale_config_request_master.py
unikraft_cloud_platform/models/create_autoscale_policy200_response.py
unikraft_cloud_platform/models/create_autoscale_policy200_response_data.py
unikraft_cloud_platform/models/create_autoscale_policy200_response_data_certificates_inner.py
unikraft_cloud_platform/models/create_autoscale_policy_request.py
unikraft_cloud_platform/models/create_certificate200_response.py
unikraft_cloud_platform/models/create_certificate200_response_data.py
unikraft_cloud_platform/models/create_certificate200_response_data_certificates_inner.py
unikraft_cloud_platform/models/create_certificate_request.py
unikraft_cloud_platform/models/create_instance200_response.py
unikraft_cloud_platform/models/create_instance_request.py
unikraft_cloud_platform/models/create_instance_request_env.py
unikraft_cloud_platform/models/create_instance_request_scale_to_zero.py
unikraft_cloud_platform/models/create_instance_request_service_group.py
unikraft_cloud_platform/models/create_instance_request_service_group_domains_inner.py
unikraft_cloud_platform/models/create_instance_request_volumes_inner.py
unikraft_cloud_platform/models/create_services200_response.py
unikraft_cloud_platform/models/create_services200_response_data.py
unikraft_cloud_platform/models/create_services200_response_data_service_groups_inner.py
unikraft_cloud_platform/models/create_services200_response_data_service_groups_inner_domains_inner.py
unikraft_cloud_platform/models/create_services200_response_data_service_groups_inner_domains_inner_certificate.py
unikraft_cloud_platform/models/create_services_request.py
unikraft_cloud_platform/models/create_services_request_services_inner.py
unikraft_cloud_platform/models/create_services_request_services_inner_domains_inner.py
unikraft_cloud_platform/models/create_services_request_services_inner_domains_inner_certificate.py
unikraft_cloud_platform/models/create_volumes200_response.py
unikraft_cloud_platform/models/create_volumes200_response_data.py
unikraft_cloud_platform/models/create_volumes200_response_data_volumes_inner.py
unikraft_cloud_platform/models/create_volumes_request_inner.py
unikraft_cloud_platform/models/delete_autoscale_configs200_response.py
unikraft_cloud_platform/models/delete_autoscale_configs200_response_data.py
unikraft_cloud_platform/models/delete_autoscale_configs200_response_data_service_groups_inner.py
unikraft_cloud_platform/models/delete_autoscale_policies200_response.py
unikraft_cloud_platform/models/delete_autoscale_policies200_response_data.py
unikraft_cloud_platform/models/delete_autoscale_policies200_response_data_policies_inner.py
unikraft_cloud_platform/models/delete_autoscale_policy_by_service_uuid_and_policy_name200_response.py
unikraft_cloud_platform/models/delete_autoscale_policy_by_service_uuid_and_policy_name200_response_data.py
unikraft_cloud_platform/models/delete_certificate_by_uuid200_response.py
unikraft_cloud_platform/models/delete_certificate_by_uuid200_response_data.py
unikraft_cloud_platform/models/delete_certificates200_response.py
unikraft_cloud_platform/models/delete_certificates200_response_data.py
unikraft_cloud_platform/models/delete_certificates200_response_data_certificates_inner.py
unikraft_cloud_platform/models/delete_certificates_request_inner.py
unikraft_cloud_platform/models/delete_instances200_response.py
unikraft_cloud_platform/models/delete_instances200_response_data.py
unikraft_cloud_platform/models/delete_instances200_response_data_instances_inner.py
unikraft_cloud_platform/models/delete_instances_request_inner.py
unikraft_cloud_platform/models/delete_services200_response.py
unikraft_cloud_platform/models/delete_services200_response_data.py
unikraft_cloud_platform/models/delete_services200_response_data_service_groups_inner.py
unikraft_cloud_platform/models/delete_services_request_inner.py
unikraft_cloud_platform/models/delete_volumes200_response.py
unikraft_cloud_platform/models/delete_volumes_request_inner.py
unikraft_cloud_platform/models/get_autosacle_policies200_response.py
unikraft_cloud_platform/models/get_autosacle_policies200_response_data.py
unikraft_cloud_platform/models/get_autosacle_policies_request_inner.py
unikraft_cloud_platform/models/get_autoscale_configs200_response.py
unikraft_cloud_platform/models/get_autoscale_configs200_response_data.py
unikraft_cloud_platform/models/get_autoscale_configs_request_inner.py
unikraft_cloud_platform/models/get_autoscale_policy_by_service_uuid_and_policy_name200_response.py
unikraft_cloud_platform/models/get_autoscale_policy_by_service_uuid_and_policy_name200_response_data.py
unikraft_cloud_platform/models/get_certificate_by_uuid200_response.py
unikraft_cloud_platform/models/get_certificate_by_uuid200_response_data.py
unikraft_cloud_platform/models/get_certificates200_response.py
unikraft_cloud_platform/models/get_certificates200_response_data.py
unikraft_cloud_platform/models/get_certificates_default_response.py
unikraft_cloud_platform/models/get_certificates_default_response_errors_inner.py
unikraft_cloud_platform/models/get_certificates_request_inner.py
unikraft_cloud_platform/models/get_images200_response.py
unikraft_cloud_platform/models/get_images200_response_data.py
unikraft_cloud_platform/models/get_images_request_inner.py
unikraft_cloud_platform/models/get_instance_by_uuid200_response.py
unikraft_cloud_platform/models/get_instance_by_uuid200_response_data.py
unikraft_cloud_platform/models/get_instance_logs200_response.py
unikraft_cloud_platform/models/get_instance_logs200_response_data.py
unikraft_cloud_platform/models/get_instance_logs200_response_data_instances_inner.py
unikraft_cloud_platform/models/get_instance_logs200_response_data_instances_inner_available.py
unikraft_cloud_platform/models/get_instance_logs200_response_data_instances_inner_range.py
unikraft_cloud_platform/models/get_instance_logs_request_inner.py
unikraft_cloud_platform/models/get_instance_metrics200_response.py
unikraft_cloud_platform/models/get_instance_metrics200_response_data.py
unikraft_cloud_platform/models/get_instance_metrics_request_inner.py
unikraft_cloud_platform/models/get_instances200_response.py
unikraft_cloud_platform/models/get_instances200_response_data.py
unikraft_cloud_platform/models/get_instances_request_inner.py
unikraft_cloud_platform/models/get_quota_by_uuid200_response.py
unikraft_cloud_platform/models/get_quota_by_uuid200_response_data.py
unikraft_cloud_platform/models/get_quotas200_response.py
unikraft_cloud_platform/models/get_quotas200_response_data.py
unikraft_cloud_platform/models/get_service_by_uuid200_response.py
unikraft_cloud_platform/models/get_service_by_uuid200_response_data.py
unikraft_cloud_platform/models/get_services200_response.py
unikraft_cloud_platform/models/get_services200_response_data.py
unikraft_cloud_platform/models/get_services200_response_data_service_groups_inner.py
unikraft_cloud_platform/models/get_services200_response_data_service_groups_inner_instances_inner.py
unikraft_cloud_platform/models/get_services_request_inner.py
unikraft_cloud_platform/models/get_volumes200_response.py
unikraft_cloud_platform/models/get_volumes200_response_data.py
unikraft_cloud_platform/models/get_volumes_request_inner.py
unikraft_cloud_platform/models/image.py
unikraft_cloud_platform/models/instance.py
unikraft_cloud_platform/models/instance_metrics.py
unikraft_cloud_platform/models/instance_network_interfaces_inner.py
unikraft_cloud_platform/models/instance_restart.py
unikraft_cloud_platform/models/instance_service_group.py
unikraft_cloud_platform/models/instance_service_group_domains_inner.py
unikraft_cloud_platform/models/instance_service_group_domains_inner_certificate.py
unikraft_cloud_platform/models/instance_snapshot.py
unikraft_cloud_platform/models/service.py
unikraft_cloud_platform/models/service_mapping.py
unikraft_cloud_platform/models/start_instances200_response.py
unikraft_cloud_platform/models/start_instances200_response_data.py
unikraft_cloud_platform/models/start_instances200_response_data_instances_inner.py
unikraft_cloud_platform/models/start_instances_request_inner.py
unikraft_cloud_platform/models/stop_instances_request_inner.py
unikraft_cloud_platform/models/user_quota.py
unikraft_cloud_platform/models/user_quota_limits.py
unikraft_cloud_platform/models/user_quota_used.py
unikraft_cloud_platform/models/volume.py
unikraft_cloud_platform/models/volume_attached_to_inner.py
unikraft_cloud_platform/models/volume_mounted_by_inner.py
unikraft_cloud_platform/models/wait_for_instances200_response.py
unikraft_cloud_platform/models/wait_for_instances200_response_data.py
unikraft_cloud_platform/models/wait_for_instances200_response_data_instances_inner.py
unikraft_cloud_platform/models/wait_for_instances_request_inner.py
unikraft_cloud_platform/rest.py
1 change: 1 addition & 0 deletions .openapi-generator/VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
7.17.0
4 changes: 0 additions & 4 deletions .platform-config.yaml

This file was deleted.

43 changes: 29 additions & 14 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
# You may not use this file except in compliance with the License.

# Prelude
WORKDIR ?= $(CURDIR)
Q ?= @
CHANNEL ?= prod-stable
WORKDIR ?= $(CURDIR)
Q ?= @
CHANNEL ?= prod-stable

# Tools
WGET ?= wget
UV ?= uv
WGET ?= wget
DOCKER ?= docker
OPENAPI_GEN_VERSION ?= v7.17.0
UV ?= uv

.PHONY: all
all: generate
Expand All @@ -19,12 +21,25 @@ all: generate
generate: platform

.PHONY: platform
platform:
$(Q)rm -rf $(WORKDIR)/unikraft_cloud_platform
$(Q)$(UV) tool run openapi-python-client generate \
--url https://raw.githubusercontent.com/unikraft-cloud/openapi/$(CHANNEL)/platform.json \
--config $(WORKDIR)/.platform-config.yaml \
--custom-template-path $(WORKDIR)/templates \
--overwrite \
--output-path $(WORKDIR) \
--meta uv \
platform: platform.json
$(Q)rm -rf $(WORKDIR)/unikraft_cloud_platform/
$(Q)$(DOCKER) run \
--rm \
--volume "$(WORKDIR):/local" \
--user="$(shell id -u):$(shell id -g)" \
openapitools/openapi-generator-cli:$(OPENAPI_GEN_VERSION) generate \
--generator-name python \
--input-spec /local/platform.json \
--config /local/config.yaml \
--template-dir /local/templates \
--output /local \
--git-repo-id unikraft-cloud \
--git-user-id python-sdk \
$(OPENAPI_GENERATOR_EXTRA_OPTIONS)

platform.json:
$(Q)$(WGET) -O $@ https://raw.githubusercontent.com/unikraft-cloud/openapi/$(CHANNEL)/platform.json

.PHONY: fmt
fmt:
$(Q)$(UV) format
21 changes: 21 additions & 0 deletions config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
generatorName: python
packageName: unikraft_cloud_platform
projectName: unikraft-cloud-platform
packageVersion: 0.6.0
gitRepoId: python-sdk
gitUserId: unikraft-cloud

additionalProperties:
library: urllib3
packageName: unikraft_cloud_platform
projectName: unikraft-cloud-platform
packageVersion: 0.6.0

globalProperties:
models: ""
apis: ""
modelTests: "false"
modelDocs: "false"
apiTests: "false"
apiDocs: "false"
supportingFiles: __init__.py,configuration.py,api_client.py,exceptions.py,rest.py,api_response.py
Loading
Loading