diff --git a/applications/jupyterhub/deploy/values.yaml b/applications/jupyterhub/deploy/values.yaml index 521a038c..2f5cbca3 100755 --- a/applications/jupyterhub/deploy/values.yaml +++ b/applications/jupyterhub/deploy/values.yaml @@ -12,6 +12,19 @@ harness: - accounts build: - cloudharness-base + quotas: + # sets the maximum number of (included named) servers open concurrently (int) + quota-ws-open: 3 + # sets the cpu guaranteed on a single workspace in CPU units (float) + quota-ws-guaranteecpu: 0.05 + # sets the cpu limit on a single workspace in CPU units (float) + quota-ws-maxcpu: 0.4 + # sets the memory guaranteed on a single workspace in Gb units (float) + quota-ws-guaranteemem: 0.1 + # sets the memory limit on a single workspace in Gb units (float) + quota-ws-maxmem: 0.5 + # sets the storage dedicated to the user data in Gb units (float) + quota-storage-max: 1.25 # fullnameOverride and nameOverride distinguishes blank strings, null values, # and non-blank strings. For more details, see the configuration reference. diff --git a/applications/jupyterhub/src/harness_jupyter/harness_jupyter/jupyterhub.py b/applications/jupyterhub/src/harness_jupyter/harness_jupyter/jupyterhub.py index 839bb17c..109ca3e7 100755 --- a/applications/jupyterhub/src/harness_jupyter/harness_jupyter/jupyterhub.py +++ b/applications/jupyterhub/src/harness_jupyter/harness_jupyter/jupyterhub.py @@ -8,6 +8,10 @@ handler.setLevel(logging.DEBUG) logging.getLogger().addHandler(handler) +from cloudharness.applications import get_configuration +from cloudharness.auth.quota import get_user_quotas + + class PodSpawnException(Exception): pass @@ -16,13 +20,22 @@ def harness_hub(): """Wraps the method to change spawner configuration""" KubeSpawner.get_pod_manifest_base = KubeSpawner.get_pod_manifest KubeSpawner.get_pod_manifest = spawner_pod_manifest + KubeSpawner.get_pvc_manifest_base = KubeSpawner.get_pvc_manifest + KubeSpawner.get_pvc_manifest = spawner_pvc_manifest + def spawner_pod_manifest(self: KubeSpawner): print("Cloudharness: changing pod manifest") change_pod_manifest(self) - return KubeSpawner.get_pod_manifest_base(self) + +def spawner_pvc_manifest(self: KubeSpawner): + print("Cloudharness: changing pvc manifest") + change_pvc_manifest(self) + return KubeSpawner.get_pvc_manifest_base(self) + + def affinity_spec(key, value): return { @@ -39,6 +52,7 @@ def affinity_spec(key, value): 'topologyKey': 'kubernetes.io/hostname' } + def set_user_volume_affinity(self: KubeSpawner): # Add labels to use for affinity labels = { @@ -50,8 +64,47 @@ def set_user_volume_affinity(self: KubeSpawner): for key, value in labels.items(): self.pod_affinity_required.append(affinity_spec(key, value)) + + +def set_key_value(self, key, value, unit=None): + if value: + if unit: + print(f"setting key {key} to {value}{unit}") + setattr(self, key, f"{value}{unit}") + else: + print(f"setting key {key} to {value}") + setattr(self, key, value) + + +def change_pvc_manifest(self: KubeSpawner): + try: + # check user quotas + application_config = get_configuration("jupyterhub") + user_quotas = get_user_quotas( + application_config=application_config, + user_id=self.user.name) + set_key_value(self, key="storage_capacity", value=user_quotas.get("quota-storage-max"), unit="Gi") + except Exception as e: + logging.error("Harness error changing pvc manifest", exc_info=True) def change_pod_manifest(self: KubeSpawner): + # check user quotas + application_config = get_configuration("jupyterhub") + user_quotas = get_user_quotas( + application_config=application_config, + user_id=self.user.name) + + quota_ws_open = user_quotas.get("quota-ws-open") + if quota_ws_open: + # get user number of pods running + num_of_pods = len(list(self.user.all_spawners(include_default=True))) + if num_of_pods > int(quota_ws_open): + raise PodSpawnException( + "User {} already has the maximum of {} servers." + " One must be deleted before a new server can be started".format( + self.user.name, quota_ws_open + ), + ) try: subdomain = self.handler.request.host.split(str(self.config['domain']))[0][0:-1] @@ -116,6 +169,13 @@ def change_pod_manifest(self: KubeSpawner): raise ValueError("Unrecognized value for matchNodePurpose: %r" % match_node_purpose) except: logging.error("Error loading Spawner extra configuration", exc_info=True) + + # set user quota cpu/mem usage if value has a "value" else don't change the value + set_key_value(self, key="cpu_guarantee", value=user_quotas.get("quota-ws-guaranteecpu")) + set_key_value(self, key="cpu_limit", value=user_quotas.get("quota-ws-maxcpu")) + set_key_value(self, key="mem_guarantee", value=user_quotas.get("quota-ws-guaranteemem"), unit="G") + set_key_value(self, key="mem_limit", value=user_quotas.get("quota-ws-maxmem"), unit="G") + # check if there is an applicationHook defined in the values.yaml # if so then execute the applicationHook function with "self" as parameter # @@ -131,7 +191,7 @@ def change_pod_manifest(self: KubeSpawner): f(self=self) break - except TooManyPodsException as e: + except PodSpawnException as e: raise e except Exception as e: logging.error("Harness error changing manifest", exc_info=True) diff --git a/docs/model/ApiTestsConfig.md b/docs/model/ApiTestsConfig.md index 9aa745b1..fab49ebc 100644 --- a/docs/model/ApiTestsConfig.md +++ b/docs/model/ApiTestsConfig.md @@ -1,15 +1,46 @@ -# ApiTestsConfig +# cloudharness_model.model.api_tests_config.ApiTestsConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[checks](#checks)** | list, tuple, | tuple, | One of the Schemathesis checks: - not_a_server_error. The response has 5xx HTTP status; - status_code_conformance. The response status is not defined in the API schema; - content_type_conformance. The response content type is not defined in the API schema; - response_schema_conformance. The response content does not conform to the schema defined for this specific response; - response_headers_conformance. The response headers does not contain all defined headers. | +**autotest** | bool, | BoolClass, | Specify whether to run the common smoke tests | +**enabled** | bool, | BoolClass, | Enables api tests for this application (default: false) | +**[runParams](#runParams)** | list, tuple, | tuple, | Additional schemathesis parameters | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# checks + +One of the Schemathesis checks: - not_a_server_error. The response has 5xx HTTP status; - status_code_conformance. The response status is not defined in the API schema; - content_type_conformance. The response content type is not defined in the API schema; - response_schema_conformance. The response content does not conform to the schema defined for this specific response; - response_headers_conformance. The response headers does not contain all defined headers. + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | One of the Schemathesis checks: - not_a_server_error. The response has 5xx HTTP status; - status_code_conformance. The response status is not defined in the API schema; - content_type_conformance. The response content type is not defined in the API schema; - response_schema_conformance. The response content does not conform to the schema defined for this specific response; - response_headers_conformance. The response headers does not contain all defined headers. | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# runParams + +Additional schemathesis parameters -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | Enables api tests for this application (default: false) | -**autotest** | **bool** | Specify whether to run the common smoke tests | -**checks** | **[str]** | One of the Schemathesis checks: - not_a_server_error. The response has 5xx HTTP status; - status_code_conformance. The response status is not defined in the API schema; - content_type_conformance. The response content type is not defined in the API schema; - response_schema_conformance. The response content does not conform to the schema defined for this specific response; - response_headers_conformance. The response headers does not contain all defined headers. | -**run_params** | **[str]** | Additional schemathesis parameters | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +list, tuple, | tuple, | Additional schemathesis parameters | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationAccountsConfig.md b/docs/model/ApplicationAccountsConfig.md index e9e98c26..5cbbdf7d 100644 --- a/docs/model/ApplicationAccountsConfig.md +++ b/docs/model/ApplicationAccountsConfig.md @@ -1,13 +1,44 @@ -# ApplicationAccountsConfig +# cloudharness_model.model.application_accounts_config.ApplicationAccountsConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[roles](#roles)** | list, tuple, | tuple, | Specify roles to be created in this deployment specific for this application | [optional] +**[users](#users)** | list, tuple, | tuple, | Defines test users to be added to the deployment, specific for this application | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# roles + +Specify roles to be created in this deployment specific for this application + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Specify roles to be created in this deployment specific for this application | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# users + +Defines test users to be added to the deployment, specific for this application -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**roles** | **[str]** | Specify roles to be created in this deployment specific for this application | [optional] -**users** | [**[ApplicationUser]**](ApplicationUser.md) | Defines test users to be added to the deployment, specific for this application | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +list, tuple, | tuple, | Defines test users to be added to the deployment, specific for this application | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**ApplicationUser**](ApplicationUser.md) | [**ApplicationUser**](ApplicationUser.md) | [**ApplicationUser**](ApplicationUser.md) | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationConfig.md b/docs/model/ApplicationConfig.md index 2bec7dce..667d4b9a 100644 --- a/docs/model/ApplicationConfig.md +++ b/docs/model/ApplicationConfig.md @@ -1,13 +1,17 @@ -# ApplicationConfig +# cloudharness_model.model.application_config.ApplicationConfig Place here the values to configure your application helm templates. -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**harness** | [**ApplicationHarnessConfig**](ApplicationHarnessConfig.md) | | -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | Place here the values to configure your application helm templates. | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**harness** | [**ApplicationHarnessConfig**](ApplicationHarnessConfig.md) | [**ApplicationHarnessConfig**](ApplicationHarnessConfig.md) | | +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationDependenciesConfig.md b/docs/model/ApplicationDependenciesConfig.md index 6409549d..8d3ba917 100644 --- a/docs/model/ApplicationDependenciesConfig.md +++ b/docs/model/ApplicationDependenciesConfig.md @@ -1,14 +1,59 @@ -# ApplicationDependenciesConfig +# cloudharness_model.model.application_dependencies_config.ApplicationDependenciesConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[hard](#hard)** | list, tuple, | tuple, | Hard dependencies indicate that the application may not start without these other applications. | [optional] +**[soft](#soft)** | list, tuple, | tuple, | Soft dependencies indicate that the application will work partially without these other applications. | [optional] +**[build](#build)** | list, tuple, | tuple, | Hard dependencies indicate that the application Docker image build requires these base/common images | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# hard + +Hard dependencies indicate that the application may not start without these other applications. + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Hard dependencies indicate that the application may not start without these other applications. | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# soft + +Soft dependencies indicate that the application will work partially without these other applications. + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Soft dependencies indicate that the application will work partially without these other applications. | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# build + +Hard dependencies indicate that the application Docker image build requires these base/common images -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**hard** | **[str]** | Hard dependencies indicate that the application may not start without these other applications. | [optional] -**soft** | **[str]** | Soft dependencies indicate that the application will work partially without these other applications. | [optional] -**build** | **[str]** | Hard dependencies indicate that the application Docker image build requires these base/common images | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +list, tuple, | tuple, | Hard dependencies indicate that the application Docker image build requires these base/common images | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationHarnessConfig.md b/docs/model/ApplicationHarnessConfig.md index 89419129..a83f853a 100644 --- a/docs/model/ApplicationHarnessConfig.md +++ b/docs/model/ApplicationHarnessConfig.md @@ -1,32 +1,92 @@ -# ApplicationHarnessConfig +# cloudharness_model.model.application_harness_config.ApplicationHarnessConfig Define helm variables that allow CloudHarness to enable and configure your application's deployment -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**deployment** | [**DeploymentAutoArtifactConfig**](DeploymentAutoArtifactConfig.md) | | [optional] -**service** | [**ServiceAutoArtifactConfig**](ServiceAutoArtifactConfig.md) | | [optional] -**subdomain** | **str** | If specified, an ingress will be created at [subdomain].[.Values.domain] | [optional] -**aliases** | **[str]** | If specified, an ingress will be created at [alias].[.Values.domain] for each alias | [optional] -**domain** | **str** | If specified, an ingress will be created at [domain] | [optional] -**dependencies** | [**ApplicationDependenciesConfig**](ApplicationDependenciesConfig.md) | | [optional] -**secured** | **bool** | When true, the application is shielded with a getekeeper | [optional] -**uri_role_mapping** | [**[UriRoleMappingConfig]**](UriRoleMappingConfig.md) | Map uri/roles to secure with the Gatekeeper (if `secured: true`) | [optional] -**secrets** | [**SimpleMap**](SimpleMap.md) | | [optional] -**use_services** | **[str]** | Specify which services this application uses in the frontend to create proxy ingresses. e.g. ``` - name: samples ``` | [optional] -**database** | [**DatabaseDeploymentConfig**](DatabaseDeploymentConfig.md) | | [optional] -**resources** | [**[FileResourcesConfig]**](FileResourcesConfig.md) | Application file resources. Maps from deploy/resources folder and mounts as configmaps | [optional] -**readiness_probe** | [**ApplicationProbe**](ApplicationProbe.md) | | [optional] -**startup_probe** | [**ApplicationProbe**](ApplicationProbe.md) | | [optional] -**liveness_probe** | [**ApplicationProbe**](ApplicationProbe.md) | | [optional] -**source_root** | [**Filename**](Filename.md) | | [optional] -**name** | **str** | Application's name. Do not edit, the value is automatically set from the application directory's name | [optional] -**jupyterhub** | [**JupyterHubConfig**](JupyterHubConfig.md) | | [optional] -**accounts** | [**ApplicationAccountsConfig**](ApplicationAccountsConfig.md) | | [optional] -**test** | [**ApplicationTestConfig**](ApplicationTestConfig.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +dict, frozendict.frozendict, | frozendict.frozendict, | Define helm variables that allow CloudHarness to enable and configure your application's deployment | +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**deployment** | [**DeploymentAutoArtifactConfig**](DeploymentAutoArtifactConfig.md) | [**DeploymentAutoArtifactConfig**](DeploymentAutoArtifactConfig.md) | | [optional] +**service** | [**ServiceAutoArtifactConfig**](ServiceAutoArtifactConfig.md) | [**ServiceAutoArtifactConfig**](ServiceAutoArtifactConfig.md) | | [optional] +**subdomain** | str, | str, | If specified, an ingress will be created at [subdomain].[.Values.domain] | [optional] +**[aliases](#aliases)** | list, tuple, | tuple, | If specified, an ingress will be created at [alias].[.Values.domain] for each alias | [optional] +**domain** | str, | str, | If specified, an ingress will be created at [domain] | [optional] +**dependencies** | [**ApplicationDependenciesConfig**](ApplicationDependenciesConfig.md) | [**ApplicationDependenciesConfig**](ApplicationDependenciesConfig.md) | | [optional] +**secured** | bool, | BoolClass, | When true, the application is shielded with a getekeeper | [optional] +**[uri_role_mapping](#uri_role_mapping)** | list, tuple, | tuple, | Map uri/roles to secure with the Gatekeeper (if `secured: true`) | [optional] +**secrets** | [**SimpleMap**](SimpleMap.md) | [**SimpleMap**](SimpleMap.md) | | [optional] +**[use_services](#use_services)** | list, tuple, | tuple, | Specify which services this application uses in the frontend to create proxy ingresses. e.g. ``` - name: samples ``` | [optional] +**database** | [**DatabaseDeploymentConfig**](DatabaseDeploymentConfig.md) | [**DatabaseDeploymentConfig**](DatabaseDeploymentConfig.md) | | [optional] +**[resources](#resources)** | list, tuple, | tuple, | Application file resources. Maps from deploy/resources folder and mounts as configmaps | [optional] +**readinessProbe** | [**ApplicationProbe**](ApplicationProbe.md) | [**ApplicationProbe**](ApplicationProbe.md) | | [optional] +**startupProbe** | [**ApplicationProbe**](ApplicationProbe.md) | [**ApplicationProbe**](ApplicationProbe.md) | | [optional] +**livenessProbe** | [**ApplicationProbe**](ApplicationProbe.md) | [**ApplicationProbe**](ApplicationProbe.md) | | [optional] +**sourceRoot** | [**Filename**](Filename.md) | [**Filename**](Filename.md) | | [optional] +**name** | str, | str, | Application's name. Do not edit, the value is automatically set from the application directory's name | [optional] +**jupyterhub** | [**JupyterHubConfig**](JupyterHubConfig.md) | [**JupyterHubConfig**](JupyterHubConfig.md) | | [optional] +**accounts** | [**ApplicationAccountsConfig**](ApplicationAccountsConfig.md) | [**ApplicationAccountsConfig**](ApplicationAccountsConfig.md) | | [optional] +**test** | [**ApplicationTestConfig**](ApplicationTestConfig.md) | [**ApplicationTestConfig**](ApplicationTestConfig.md) | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# aliases + +If specified, an ingress will be created at [alias].[.Values.domain] for each alias + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | If specified, an ingress will be created at [alias].[.Values.domain] for each alias | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# uri_role_mapping + +Map uri/roles to secure with the Gatekeeper (if `secured: true`) + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Map uri/roles to secure with the Gatekeeper (if `secured: true`) | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**UriRoleMappingConfig**](UriRoleMappingConfig.md) | [**UriRoleMappingConfig**](UriRoleMappingConfig.md) | [**UriRoleMappingConfig**](UriRoleMappingConfig.md) | | + +# use_services + +Specify which services this application uses in the frontend to create proxy ingresses. e.g. ``` - name: samples ``` + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Specify which services this application uses in the frontend to create proxy ingresses. e.g. ``` - name: samples ``` | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# resources + +Application file resources. Maps from deploy/resources folder and mounts as configmaps + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Application file resources. Maps from deploy/resources folder and mounts as configmaps | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**FileResourcesConfig**](FileResourcesConfig.md) | [**FileResourcesConfig**](FileResourcesConfig.md) | [**FileResourcesConfig**](FileResourcesConfig.md) | | + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationProbe.md b/docs/model/ApplicationProbe.md index 51b412b2..a3375c46 100644 --- a/docs/model/ApplicationProbe.md +++ b/docs/model/ApplicationProbe.md @@ -1,16 +1,20 @@ -# ApplicationProbe +# cloudharness_model.model.application_probe.ApplicationProbe Define a Kubernetes probe See also the [official documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**path** | **str** | | -**period_seconds** | **float** | | [optional] -**failure_threshold** | **float** | | [optional] -**initial_delay_seconds** | **float** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | Define a Kubernetes probe See also the [official documentation](https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**path** | str, | str, | | +**periodSeconds** | decimal.Decimal, int, float, | decimal.Decimal, | | [optional] +**failureThreshold** | decimal.Decimal, int, float, | decimal.Decimal, | | [optional] +**initialDelaySeconds** | decimal.Decimal, int, float, | decimal.Decimal, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationTestConfig.md b/docs/model/ApplicationTestConfig.md index bfd41972..96aced5a 100644 --- a/docs/model/ApplicationTestConfig.md +++ b/docs/model/ApplicationTestConfig.md @@ -1,14 +1,17 @@ -# ApplicationTestConfig +# cloudharness_model.model.application_test_config.ApplicationTestConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**unit** | [**UnitTestsConfig**](UnitTestsConfig.md) | | -**api** | [**ApiTestsConfig**](ApiTestsConfig.md) | | -**e2e** | [**E2ETestsConfig**](E2ETestsConfig.md) | | -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**unit** | [**UnitTestsConfig**](UnitTestsConfig.md) | [**UnitTestsConfig**](UnitTestsConfig.md) | | +**e2e** | [**E2ETestsConfig**](E2ETestsConfig.md) | [**E2ETestsConfig**](E2ETestsConfig.md) | | +**api** | [**ApiTestsConfig**](ApiTestsConfig.md) | [**ApiTestsConfig**](ApiTestsConfig.md) | | +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationUser.md b/docs/model/ApplicationUser.md index 4f1cc232..c55a18e8 100644 --- a/docs/model/ApplicationUser.md +++ b/docs/model/ApplicationUser.md @@ -1,16 +1,44 @@ -# ApplicationUser +# cloudharness_model.model.application_user.ApplicationUser Defines a user -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**username** | **str** | | -**password** | **str** | | [optional] -**client_roles** | **[str]** | | [optional] -**realm_roles** | **[str]** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | Defines a user | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**username** | str, | str, | | +**password** | str, | str, | | [optional] +**[clientRoles](#clientRoles)** | list, tuple, | tuple, | | [optional] +**[realmRoles](#realmRoles)** | list, tuple, | tuple, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +# clientRoles + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# realmRoles + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ApplicationsConfigsMap.md b/docs/model/ApplicationsConfigsMap.md index ed15a264..7bfc31e5 100644 --- a/docs/model/ApplicationsConfigsMap.md +++ b/docs/model/ApplicationsConfigsMap.md @@ -1,11 +1,14 @@ -# ApplicationsConfigsMap +# cloudharness_model.model.applications_configs_map.ApplicationsConfigsMap - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**any string name** | [**ApplicationConfig**](ApplicationConfig.md) | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | [**ApplicationConfig**](ApplicationConfig.md) | [**ApplicationConfig**](ApplicationConfig.md) | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/AutoArtifactSpec.md b/docs/model/AutoArtifactSpec.md index 9f80e997..7d149b70 100644 --- a/docs/model/AutoArtifactSpec.md +++ b/docs/model/AutoArtifactSpec.md @@ -1,13 +1,16 @@ -# AutoArtifactSpec +# cloudharness_model.model.auto_artifact_spec.AutoArtifactSpec - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto** | **bool** | When true, enables automatic template | -**name** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**auto** | bool, | BoolClass, | When true, enables automatic template | +**name** | str, | str, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/BackupConfig.md b/docs/model/BackupConfig.md index 7e08ba44..29cbce3b 100644 --- a/docs/model/BackupConfig.md +++ b/docs/model/BackupConfig.md @@ -1,20 +1,23 @@ -# BackupConfig +# cloudharness_model.model.backup_config.BackupConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**dir** | [**Filename**](Filename.md) | | -**resources** | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | | -**active** | **bool** | | [optional] -**keep_days** | **int** | | [optional] -**keep_weeks** | **int** | | [optional] -**keep_months** | **int** | | [optional] -**schedule** | **str** | Cron expression | [optional] -**suffix** | **bool, date, datetime, dict, float, int, list, str, none_type** | The file suffix added to backup files | [optional] -**volumesize** | **str** | The volume size for backups (all backups share the same volume) | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**resources** | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | | +**dir** | [**Filename**](Filename.md) | [**Filename**](Filename.md) | | +**active** | bool, | BoolClass, | | [optional] +**keep_days** | decimal.Decimal, int, | decimal.Decimal, | | [optional] +**keep_weeks** | decimal.Decimal, int, | decimal.Decimal, | | [optional] +**keep_months** | decimal.Decimal, int, | decimal.Decimal, | | [optional] +**schedule** | str, | str, | Cron expression | [optional] +**suffix** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | The file suffix added to backup files | [optional] +**volumesize** | str, | str, | The volume size for backups (all backups share the same volume) | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/CDCEvent.md b/docs/model/CDCEvent.md index ef9c1a49..c33e1081 100644 --- a/docs/model/CDCEvent.md +++ b/docs/model/CDCEvent.md @@ -1,17 +1,21 @@ -# CDCEvent +# cloudharness_model.model.cdc_event.CDCEvent A message sent to the orchestration queue. Applications can listen to these events to react to data change events happening on other applications. -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**operation** | **str** | the operation on the object e.g. create / update / delete | -**uid** | **str** | the unique identifier attribute of the object | -**message_type** | **str** | the type of the message (relates to the object type) e.g. jobs | -**meta** | [**CDCEventMeta**](CDCEventMeta.md) | | -**resource** | [**FreeObject**](FreeObject.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | A message sent to the orchestration queue. Applications can listen to these events to react to data change events happening on other applications. | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**uid** | str, | str, | the unique identifier attribute of the object | +**meta** | [**CDCEventMeta**](CDCEventMeta.md) | [**CDCEventMeta**](CDCEventMeta.md) | | +**message_type** | str, | str, | the type of the message (relates to the object type) e.g. jobs | +**operation** | str, | str, | the operation on the object e.g. create / update / delete | must be one of ["create", "update", "delete", "other", ] +**resource** | [**FreeObject**](FreeObject.md) | [**FreeObject**](FreeObject.md) | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/CDCEventMeta.md b/docs/model/CDCEventMeta.md index a90f4b95..747246d3 100644 --- a/docs/model/CDCEventMeta.md +++ b/docs/model/CDCEventMeta.md @@ -1,16 +1,33 @@ -# CDCEventMeta +# cloudharness_model.model.cdc_event_meta.CDCEventMeta +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**app_name** | str, | str, | The name of the application/microservice sending the message | +**user** | [**User**](User.md) | [**User**](User.md) | | [optional] +**[args](#args)** | list, tuple, | tuple, | the caller function arguments | [optional] +**kwargs** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | the caller function keyword arguments | [optional] +**description** | str, | str, | General description -- for human consumption | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# args + +the caller function arguments -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**app_name** | **str** | The name of the application/microservice sending the message | -**user** | [**User**](User.md) | | [optional] -**args** | [**[FreeObject]**](FreeObject.md) | the caller function arguments | [optional] -**kwargs** | **bool, date, datetime, dict, float, int, list, str, none_type** | the caller function keyword arguments | [optional] -**description** | **str** | General description -- for human consumption | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +list, tuple, | tuple, | the caller function arguments | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**FreeObject**](FreeObject.md) | [**FreeObject**](FreeObject.md) | [**FreeObject**](FreeObject.md) | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/CpuMemoryConfig.md b/docs/model/CpuMemoryConfig.md index 48d91152..f64cd7d3 100644 --- a/docs/model/CpuMemoryConfig.md +++ b/docs/model/CpuMemoryConfig.md @@ -1,13 +1,16 @@ -# CpuMemoryConfig +# cloudharness_model.model.cpu_memory_config.CpuMemoryConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**cpu** | **str** | | [optional] -**memory** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**cpu** | str, | str, | | [optional] +**memory** | str, | str, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/DatabaseDeploymentConfig.md b/docs/model/DatabaseDeploymentConfig.md index f42cccec..864d5ef1 100644 --- a/docs/model/DatabaseDeploymentConfig.md +++ b/docs/model/DatabaseDeploymentConfig.md @@ -1,22 +1,37 @@ -# DatabaseDeploymentConfig +# cloudharness_model.model.database_deployment_config.DatabaseDeploymentConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Composed Schemas (allOf/anyOf/oneOf/not) +#### allOf +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[all_of_0](#all_of_0) | dict, frozendict.frozendict, | frozendict.frozendict, | | +[AutoArtifactSpec](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | | + +# all_of_0 -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto** | **bool** | When true, enables automatic template | -**type** | **str** | Define the database type. One of (mongo, postgres, neo4j, sqlite3) | [optional] -**size** | **str** | Specify database disk size | [optional] -**user** | **str** | database username | [optional] -**_pass** | **str** | Database password | [optional] -**image_ref** | **str** | Used for referencing images from the build | [optional] -**mongo** | [**FreeObject**](FreeObject.md) | | [optional] -**postgres** | [**FreeObject**](FreeObject.md) | | [optional] -**neo4j** | **bool, date, datetime, dict, float, int, list, str, none_type** | Neo4j database specific configuration | [optional] -**resources** | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | | [optional] -**name** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**type** | str, | str, | Define the database type. One of (mongo, postgres, neo4j, sqlite3) | [optional] +**size** | str, | str, | Specify database disk size | [optional] +**user** | str, | str, | database username | [optional] +**pass** | str, | str, | Database password | [optional] +**image_ref** | str, | str, | Used for referencing images from the build | [optional] +**mongo** | [**FreeObject**](FreeObject.md) | [**FreeObject**](FreeObject.md) | | [optional] +**postgres** | [**FreeObject**](FreeObject.md) | [**FreeObject**](FreeObject.md) | | [optional] +**neo4j** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | Neo4j database specific configuration | [optional] +**resources** | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/DatabaseDeploymentConfigAllOf.md b/docs/model/DatabaseDeploymentConfigAllOf.md deleted file mode 100644 index 5fa6fe05..00000000 --- a/docs/model/DatabaseDeploymentConfigAllOf.md +++ /dev/null @@ -1,20 +0,0 @@ -# DatabaseDeploymentConfigAllOf - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**type** | **str** | Define the database type. One of (mongo, postgres, neo4j, sqlite3) | [optional] -**size** | **str** | Specify database disk size | [optional] -**user** | **str** | database username | [optional] -**_pass** | **str** | Database password | [optional] -**image_ref** | **str** | Used for referencing images from the build | [optional] -**mongo** | [**FreeObject**](FreeObject.md) | | [optional] -**postgres** | [**FreeObject**](FreeObject.md) | | [optional] -**neo4j** | **bool, date, datetime, dict, float, int, list, str, none_type** | Neo4j database specific configuration | [optional] -**resources** | [**DeploymentResourcesConf**](DeploymentResourcesConf.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/model/DeploymentAutoArtifactConfig.md b/docs/model/DeploymentAutoArtifactConfig.md index 875e4d51..d1b7e205 100644 --- a/docs/model/DeploymentAutoArtifactConfig.md +++ b/docs/model/DeploymentAutoArtifactConfig.md @@ -1,17 +1,32 @@ -# DeploymentAutoArtifactConfig +# cloudharness_model.model.deployment_auto_artifact_config.DeploymentAutoArtifactConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto** | **bool** | When true, enables automatic template | -**port** | **bool, date, datetime, dict, float, int, list, str, none_type** | Deployment port | [optional] -**replicas** | **int** | Number of replicas | [optional] -**image** | **str** | Image name to use in the deployment. Leave it blank to set from the application's Docker file | [optional] -**resources** | **bool, date, datetime, dict, float, int, list, str, none_type** | Deployment resources | [optional] -**name** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**port** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | Deployment port | [optional] +**replicas** | decimal.Decimal, int, | decimal.Decimal, | Number of replicas | [optional] +**image** | str, | str, | Image name to use in the deployment. Leave it blank to set from the application's Docker file | [optional] +**resources** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | Deployment resources | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +### Composed Schemas (allOf/anyOf/oneOf/not) +#### allOf +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[all_of_0](#all_of_0) | dict, frozendict.frozendict, | frozendict.frozendict, | | +[AutoArtifactSpec](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +# all_of_0 + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/DeploymentResourcesConf.md b/docs/model/DeploymentResourcesConf.md index b9788bb8..6ca517a3 100644 --- a/docs/model/DeploymentResourcesConf.md +++ b/docs/model/DeploymentResourcesConf.md @@ -1,13 +1,16 @@ -# DeploymentResourcesConf +# cloudharness_model.model.deployment_resources_conf.DeploymentResourcesConf - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**requests** | [**CpuMemoryConfig**](CpuMemoryConfig.md) | | [optional] -**limits** | [**CpuMemoryConfig**](CpuMemoryConfig.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**requests** | [**CpuMemoryConfig**](CpuMemoryConfig.md) | [**CpuMemoryConfig**](CpuMemoryConfig.md) | | [optional] +**limits** | [**CpuMemoryConfig**](CpuMemoryConfig.md) | [**CpuMemoryConfig**](CpuMemoryConfig.md) | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/E2ETestsConfig.md b/docs/model/E2ETestsConfig.md index 83b2ee44..8b7383d1 100644 --- a/docs/model/E2ETestsConfig.md +++ b/docs/model/E2ETestsConfig.md @@ -1,15 +1,18 @@ -# E2ETestsConfig +# cloudharness_model.model.e2_e_tests_config.E2ETestsConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | Enables end to end testing for this application (default: false) | -**smoketest** | **bool** | Specify whether to run the common smoke tests | -**ignore_console_errors** | **bool** | | [optional] -**ignore_request_errors** | **bool** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**smoketest** | bool, | BoolClass, | Specify whether to run the common smoke tests | +**enabled** | bool, | BoolClass, | Enables end to end testing for this application (default: false) | +**ignoreConsoleErrors** | bool, | BoolClass, | | [optional] +**ignoreRequestErrors** | bool, | BoolClass, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/FileResourcesConfig.md b/docs/model/FileResourcesConfig.md index af671647..6936d87c 100644 --- a/docs/model/FileResourcesConfig.md +++ b/docs/model/FileResourcesConfig.md @@ -1,14 +1,17 @@ -# FileResourcesConfig +# cloudharness_model.model.file_resources_config.FileResourcesConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | [**Filename**](Filename.md) | | -**src** | [**Filename**](Filename.md) | | -**dst** | **str** | | -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**dst** | str, | str, | | +**src** | [**Filename**](Filename.md) | [**Filename**](Filename.md) | | +**name** | [**Filename**](Filename.md) | [**Filename**](Filename.md) | | +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/Filename.md b/docs/model/Filename.md index 0230048f..ccbf7b0e 100644 --- a/docs/model/Filename.md +++ b/docs/model/Filename.md @@ -1,11 +1,9 @@ -# Filename +# cloudharness_model.model.filename.Filename - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**value** | **str** | | - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +str, | str, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/FreeObject.md b/docs/model/FreeObject.md index 2d0bc683..e131e846 100644 --- a/docs/model/FreeObject.md +++ b/docs/model/FreeObject.md @@ -1,11 +1,14 @@ -# FreeObject +# cloudharness_model.model.free_object.FreeObject - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/HarnessMainConfig.md b/docs/model/HarnessMainConfig.md index b563b5c5..d7d72df1 100644 --- a/docs/model/HarnessMainConfig.md +++ b/docs/model/HarnessMainConfig.md @@ -1,24 +1,41 @@ -# HarnessMainConfig +# cloudharness_model.model.harness_main_config.HarnessMainConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**mainapp** | str, | str, | Defines the app to map to the root domain | +**domain** | str, | str, | The root domain | +**namespace** | str, | str, | The K8s namespace. | +**secured_gatekeepers** | bool, | BoolClass, | Enables/disables Gatekeepers on secured applications. Set to false for testing/development | +**local** | bool, | BoolClass, | If set to true, local DNS mapping is added to pods. | +**apps** | [**ApplicationsConfigsMap**](ApplicationsConfigsMap.md) | [**ApplicationsConfigsMap**](ApplicationsConfigsMap.md) | | +**registry** | [**RegistryConfig**](RegistryConfig.md) | [**RegistryConfig**](RegistryConfig.md) | | [optional] +**tag** | str, | str, | Docker tag used to push/pull the built images. | [optional] +**[env](#env)** | list, tuple, | tuple, | Environmental variables added to all pods | [optional] +**privenv** | [**NameValue**](NameValue.md) | [**NameValue**](NameValue.md) | | [optional] +**backup** | [**BackupConfig**](BackupConfig.md) | [**BackupConfig**](BackupConfig.md) | | [optional] +**name** | str, | str, | Base name | [optional] +**task-images** | [**SimpleMap**](SimpleMap.md) | [**SimpleMap**](SimpleMap.md) | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# env -## Properties -Name | Type | Description | Notes +Environmental variables added to all pods + +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**local** | **bool** | If set to true, local DNS mapping is added to pods. | -**secured_gatekeepers** | **bool** | Enables/disables Gatekeepers on secured applications. Set to false for testing/development | -**domain** | **str** | The root domain | -**namespace** | **str** | The K8s namespace. | -**mainapp** | **str** | Defines the app to map to the root domain | -**apps** | [**ApplicationsConfigsMap**](ApplicationsConfigsMap.md) | | -**registry** | [**RegistryConfig**](RegistryConfig.md) | | [optional] -**tag** | **str** | Docker tag used to push/pull the built images. | [optional] -**env** | [**[NameValue]**](NameValue.md) | Environmental variables added to all pods | [optional] -**privenv** | [**NameValue**](NameValue.md) | | [optional] -**backup** | [**BackupConfig**](BackupConfig.md) | | [optional] -**name** | **str** | Base name | [optional] -**task_images** | [**SimpleMap**](SimpleMap.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +list, tuple, | tuple, | Environmental variables added to all pods | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**NameValue**](NameValue.md) | [**NameValue**](NameValue.md) | [**NameValue**](NameValue.md) | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/IngressConfig.md b/docs/model/IngressConfig.md index f1803ea2..fcdc67ea 100644 --- a/docs/model/IngressConfig.md +++ b/docs/model/IngressConfig.md @@ -1,15 +1,43 @@ -# IngressConfig +# cloudharness_model.model.ingress_config.IngressConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Composed Schemas (allOf/anyOf/oneOf/not) +#### allOf +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[all_of_0](#all_of_0) | dict, frozendict.frozendict, | frozendict.frozendict, | | +[AutoArtifactSpec](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | | + +# all_of_0 + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**ssl_redirect** | bool, | BoolClass, | | [optional] +**[letsencrypt](#letsencrypt)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# letsencrypt -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto** | **bool** | When true, enables automatic template | -**ssl_redirect** | **bool** | | [optional] -**letsencrypt** | [**IngressConfigAllOfLetsencrypt**](IngressConfigAllOfLetsencrypt.md) | | [optional] -**name** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**email** | str, | str, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/IngressConfigAllOf.md b/docs/model/IngressConfigAllOf.md deleted file mode 100644 index 3ba52e51..00000000 --- a/docs/model/IngressConfigAllOf.md +++ /dev/null @@ -1,13 +0,0 @@ -# IngressConfigAllOf - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**ssl_redirect** | **bool** | | [optional] -**letsencrypt** | [**IngressConfigAllOfLetsencrypt**](IngressConfigAllOfLetsencrypt.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/model/IngressConfigAllOfLetsencrypt.md b/docs/model/IngressConfigAllOfLetsencrypt.md deleted file mode 100644 index d5c218ea..00000000 --- a/docs/model/IngressConfigAllOfLetsencrypt.md +++ /dev/null @@ -1,12 +0,0 @@ -# IngressConfigAllOfLetsencrypt - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**email** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/model/JupyterHubConfig.md b/docs/model/JupyterHubConfig.md index 7c7f2361..59ac9c84 100644 --- a/docs/model/JupyterHubConfig.md +++ b/docs/model/JupyterHubConfig.md @@ -1,15 +1,32 @@ -# JupyterHubConfig +# cloudharness_model.model.jupyter_hub_config.JupyterHubConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[args](#args)** | list, tuple, | tuple, | arguments passed to the container | [optional] +**extraConfig** | [**SimpleMap**](SimpleMap.md) | [**SimpleMap**](SimpleMap.md) | | [optional] +**spawnerExtraConfig** | [**FreeObject**](FreeObject.md) | [**FreeObject**](FreeObject.md) | | [optional] +**applicationHook** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | change the hook function (advanced) Specify the Python name of the function (full module path, the module must be installed in the Docker image) | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# args + +arguments passed to the container -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**args** | **[str]** | arguments passed to the container | [optional] -**extra_config** | [**SimpleMap**](SimpleMap.md) | | [optional] -**spawner_extra_config** | [**FreeObject**](FreeObject.md) | | [optional] -**application_hook** | **bool, date, datetime, dict, float, int, list, str, none_type** | change the hook function (advanced) Specify the Python name of the function (full module path, the module must be installed in the Docker image) | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +list, tuple, | tuple, | arguments passed to the container | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/NameValue.md b/docs/model/NameValue.md index 0a2fea07..deb57553 100644 --- a/docs/model/NameValue.md +++ b/docs/model/NameValue.md @@ -1,13 +1,16 @@ -# NameValue +# cloudharness_model.model.name_value.NameValue - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | | -**value** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**name** | str, | str, | | +**value** | str, | str, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/PathSpecifier.md b/docs/model/PathSpecifier.md index baa172d4..e8062e36 100644 --- a/docs/model/PathSpecifier.md +++ b/docs/model/PathSpecifier.md @@ -1,11 +1,9 @@ -# PathSpecifier +# cloudharness_model.model.path_specifier.PathSpecifier - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**value** | **str** | | - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +str, | str, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/Quota.md b/docs/model/Quota.md new file mode 100644 index 00000000..ddf78dea --- /dev/null +++ b/docs/model/Quota.md @@ -0,0 +1,14 @@ +# cloudharness_model.model.quota.Quota + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | str, | str, | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) + diff --git a/docs/model/RegistryConfig.md b/docs/model/RegistryConfig.md index 419be9e9..c63d22b6 100644 --- a/docs/model/RegistryConfig.md +++ b/docs/model/RegistryConfig.md @@ -1,13 +1,16 @@ -# RegistryConfig +# cloudharness_model.model.registry_config.RegistryConfig - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**name** | **str** | | -**secret** | **str** | Optional secret used for pulling from docker registry. | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**name** | str, | str, | | +**secret** | str, | str, | Optional secret used for pulling from docker registry. | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ServiceAutoArtifactConfig.md b/docs/model/ServiceAutoArtifactConfig.md index 4f382876..6ac6050c 100644 --- a/docs/model/ServiceAutoArtifactConfig.md +++ b/docs/model/ServiceAutoArtifactConfig.md @@ -1,14 +1,29 @@ -# ServiceAutoArtifactConfig +# cloudharness_model.model.service_auto_artifact_config.ServiceAutoArtifactConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Composed Schemas (allOf/anyOf/oneOf/not) +#### allOf +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[all_of_0](#all_of_0) | dict, frozendict.frozendict, | frozendict.frozendict, | | +[AutoArtifactSpec](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | [**AutoArtifactSpec**](AutoArtifactSpec.md) | | + +# all_of_0 -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**auto** | **bool** | When true, enables automatic template | -**port** | **int** | Service port | [optional] -**name** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**port** | decimal.Decimal, int, | decimal.Decimal, | Service port | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/ServiceAutoArtifactConfigAllOf.md b/docs/model/ServiceAutoArtifactConfigAllOf.md deleted file mode 100644 index ca629355..00000000 --- a/docs/model/ServiceAutoArtifactConfigAllOf.md +++ /dev/null @@ -1,12 +0,0 @@ -# ServiceAutoArtifactConfigAllOf - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**port** | **int** | Service port | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/model/SimpleMap.md b/docs/model/SimpleMap.md index 380d5da2..4106066b 100644 --- a/docs/model/SimpleMap.md +++ b/docs/model/SimpleMap.md @@ -1,11 +1,14 @@ -# SimpleMap +# cloudharness_model.model.simple_map.SimpleMap - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**any string name** | **str** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | str, | str, | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/URL.md b/docs/model/URL.md new file mode 100644 index 00000000..ac2bc6d8 --- /dev/null +++ b/docs/model/URL.md @@ -0,0 +1,9 @@ +# cloudharness_model.model.url.URL + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +str, | str, | | + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) + diff --git a/docs/model/UnitTestsConfig.md b/docs/model/UnitTestsConfig.md index 85b13f1f..1c2f16d6 100644 --- a/docs/model/UnitTestsConfig.md +++ b/docs/model/UnitTestsConfig.md @@ -1,13 +1,30 @@ -# UnitTestsConfig +# cloudharness_model.model.unit_tests_config.UnitTestsConfig +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[commands](#commands)** | list, tuple, | tuple, | Commands to run unit tests | +**enabled** | bool, | BoolClass, | Enables unit tests for this application (default: true) | +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# commands + +Commands to run unit tests -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**enabled** | **bool** | Enables unit tests for this application (default: true) | -**commands** | **[str]** | Commands to run unit tests | -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +list, tuple, | tuple, | Commands to run unit tests | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/UriRoleMappingConfig.md b/docs/model/UriRoleMappingConfig.md index 4ea3fb85..ff645e73 100644 --- a/docs/model/UriRoleMappingConfig.md +++ b/docs/model/UriRoleMappingConfig.md @@ -1,14 +1,32 @@ -# UriRoleMappingConfig +# cloudharness_model.model.uri_role_mapping_config.UriRoleMappingConfig Defines the application Gatekeeper configuration, if enabled (i.e. `secured: true`. -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**uri** | [**PathSpecifier**](PathSpecifier.md) | | -**roles** | **[str]** | Roles allowed to access the present uri | -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | Defines the application Gatekeeper configuration, if enabled (i.e. `secured: true`. | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[roles](#roles)** | list, tuple, | tuple, | Roles allowed to access the present uri | +**uri** | [**PathSpecifier**](PathSpecifier.md) | [**PathSpecifier**](PathSpecifier.md) | | +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +# roles + +Roles allowed to access the present uri + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | Roles allowed to access the present uri | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/User.md b/docs/model/User.md index 443f33d7..cd49ceaa 100644 --- a/docs/model/User.md +++ b/docs/model/User.md @@ -1,30 +1,129 @@ -# User - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**access** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] -**attributes** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] -**client_roles** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] -**created_timestamp** | **int** | | [optional] -**credentials** | [**[UserCredential]**](UserCredential.md) | | [optional] -**disableable_credential_types** | **[str]** | | [optional] -**email** | **str** | | [optional] -**email_verified** | **bool** | | [optional] -**enabled** | **bool** | | [optional] -**federation_link** | **str** | | [optional] -**first_name** | **str** | | [optional] -**groups** | **[str]** | | [optional] -**id** | **str** | | [optional] -**last_name** | **str** | | [optional] -**realm_roles** | **[str]** | | [optional] -**required_actions** | **[str]** | | [optional] -**service_account_client_id** | **str** | | [optional] -**username** | **str** | | [optional] -**additional_properties** | **bool, date, datetime, dict, float, int, list, str, none_type** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +# cloudharness_model.model.user.User +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[access](#access)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**[attributes](#attributes)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**[clientRoles](#clientRoles)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**createdTimestamp** | decimal.Decimal, int, | decimal.Decimal, | | [optional] value must be a 64 bit integer +**[credentials](#credentials)** | list, tuple, | tuple, | | [optional] +**[disableableCredentialTypes](#disableableCredentialTypes)** | list, tuple, | tuple, | | [optional] +**email** | str, | str, | | [optional] +**emailVerified** | bool, | BoolClass, | | [optional] +**enabled** | bool, | BoolClass, | | [optional] +**federationLink** | str, | str, | | [optional] +**firstName** | str, | str, | | [optional] +**[groups](#groups)** | list, tuple, | tuple, | | [optional] +**id** | str, | str, | | [optional] +**lastName** | str, | str, | | [optional] +**[realmRoles](#realmRoles)** | list, tuple, | tuple, | | [optional] +**[requiredActions](#requiredActions)** | list, tuple, | tuple, | | [optional] +**serviceAccountClientId** | str, | str, | | [optional] +**username** | str, | str, | | [optional] +**additionalProperties** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# access + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# attributes + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# clientRoles + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# credentials + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**UserCredential**](UserCredential.md) | [**UserCredential**](UserCredential.md) | [**UserCredential**](UserCredential.md) | | + +# disableableCredentialTypes + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# groups + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# realmRoles + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# requiredActions + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/UserCredential.md b/docs/model/UserCredential.md index 35b54178..d29edc20 100644 --- a/docs/model/UserCredential.md +++ b/docs/model/UserCredential.md @@ -1,20 +1,23 @@ -# UserCredential +# cloudharness_model.model.user_credential.UserCredential - -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**created_date** | **int** | | [optional] -**credential_data** | **str** | | [optional] -**id** | **str** | | [optional] -**priority** | **int** | | [optional] -**secret_data** | **str** | | [optional] -**temporary** | **bool** | | [optional] -**type** | **str** | | [optional] -**user_label** | **str** | | [optional] -**value** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**createdDate** | decimal.Decimal, int, | decimal.Decimal, | | [optional] value must be a 64 bit integer +**credentialData** | str, | str, | | [optional] +**id** | str, | str, | | [optional] +**priority** | decimal.Decimal, int, | decimal.Decimal, | | [optional] value must be a 32 bit integer +**secretData** | str, | str, | | [optional] +**temporary** | bool, | BoolClass, | | [optional] +**type** | str, | str, | | [optional] +**userLabel** | str, | str, | | [optional] +**value** | str, | str, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/UserGroup.md b/docs/model/UserGroup.md index 5bb41d0b..87aee711 100644 --- a/docs/model/UserGroup.md +++ b/docs/model/UserGroup.md @@ -1,19 +1,82 @@ -# UserGroup +# cloudharness_model.model.user_group.UserGroup +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[access](#access)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**[attributes](#attributes)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**[clientRoles](#clientRoles)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**id** | str, | str, | | [optional] +**name** | str, | str, | | [optional] +**path** | str, | str, | | [optional] +**[realmRoles](#realmRoles)** | list, tuple, | tuple, | | [optional] +**[subGroups](#subGroups)** | list, tuple, | tuple, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, int, float, bool, decimal.Decimal, None, list, tuple, bytes, io.FileIO, io.BufferedReader | frozendict.frozendict, str, BoolClass, decimal.Decimal, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# access + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# attributes + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] -## Properties -Name | Type | Description | Notes +# clientRoles + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# realmRoles + +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**access** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] -**attributes** | [**SimpleMap**](SimpleMap.md) | | [optional] -**client_roles** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] -**id** | **str** | | [optional] -**name** | **str** | | [optional] -**path** | **str** | | [optional] -**realm_roles** | **[str]** | | [optional] -**sub_groups** | [**[UserGroup]**](UserGroup.md) | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +items | str, | str, | | + +# subGroups + +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +list, tuple, | tuple, | | + +### Tuple Items +Class Name | Input Type | Accessed Type | Description | Notes +------------- | ------------- | ------------- | ------------- | ------------- +[**UserGroup**](UserGroup.md) | [**UserGroup**](UserGroup.md) | [**UserGroup**](UserGroup.md) | | +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/docs/model/UserRole.md b/docs/model/UserRole.md index 412ab624..ba0d5fe0 100644 --- a/docs/model/UserRole.md +++ b/docs/model/UserRole.md @@ -1,18 +1,33 @@ -# UserRole +# cloudharness_model.model.user_role.UserRole +## Model Type Info +Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- +dict, frozendict.frozendict, | frozendict.frozendict, | | + +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**[attributes](#attributes)** | dict, frozendict.frozendict, | frozendict.frozendict, | | [optional] +**clientRole** | bool, | BoolClass, | | [optional] +**composite** | bool, | BoolClass, | | [optional] +**containerId** | str, | str, | | [optional] +**description** | str, | str, | | [optional] +**id** | str, | str, | | [optional] +**name** | str, | str, | | [optional] +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] + +# attributes -## Properties -Name | Type | Description | Notes +## Model Type Info +Input Type | Accessed Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**attributes** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}** | | [optional] -**client_role** | **bool** | | [optional] -**composite** | **bool** | | [optional] -**container_id** | **str** | | [optional] -**description** | **str** | | [optional] -**id** | **str** | | [optional] -**name** | **str** | | [optional] -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] +dict, frozendict.frozendict, | frozendict.frozendict, | | -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) +### Dictionary Keys +Key | Input Type | Accessed Type | Description | Notes +------------ | ------------- | ------------- | ------------- | ------------- +**any_string_name** | dict, frozendict.frozendict, str, date, datetime, uuid.UUID, int, float, decimal.Decimal, bool, None, list, tuple, bytes, io.FileIO, io.BufferedReader, | frozendict.frozendict, str, decimal.Decimal, BoolClass, NoneClass, tuple, bytes, FileIO | any string name can be used but the value must be the correct type | [optional] +[[Back to Model list]](../../README.md#documentation-for-models) [[Back to API list]](../../README.md#documentation-for-api-endpoints) [[Back to README]](../../README.md) diff --git a/libraries/cloudharness-common/api/config.json b/libraries/api/config.json similarity index 100% rename from libraries/cloudharness-common/api/config.json rename to libraries/api/config.json diff --git a/libraries/cloudharness-common/api/openapi.yaml b/libraries/api/openapi.yaml similarity index 99% rename from libraries/cloudharness-common/api/openapi.yaml rename to libraries/api/openapi.yaml index d358f71b..d22ad988 100644 --- a/libraries/cloudharness-common/api/openapi.yaml +++ b/libraries/api/openapi.yaml @@ -346,6 +346,14 @@ components: resources: $ref: "#/components/schemas/DeploymentResourcesConf" description: "" + Quota: + description: "" + type: object + additionalProperties: + type: string + example: + quota-ws-max: 5 + quota-storage-max: 1G UserGroup: type: object properties: diff --git a/libraries/cloudharness-common/cloudharness/auth/quota.py b/libraries/cloudharness-common/cloudharness/auth/quota.py new file mode 100644 index 00000000..c9bef3ff --- /dev/null +++ b/libraries/cloudharness-common/cloudharness/auth/quota.py @@ -0,0 +1,135 @@ +from .keycloak import AuthClient +from cloudharness.applications import get_current_configuration +from cloudharness_model.models import ApplicationConfig + + +# quota tree node to hold the tree quota attributes +class QuotaNode: + def __init__(self, name, attrs): + self.attrs = attrs + self.name = name + self.children = [] + + def addChild(self, child): + self.children.append(child) + + +def _filter_quota_attrs(attrs, valid_keys_map): + # only use the attributes defined by the valid keys map + valid_attrs = {} + if attrs is None: + return valid_attrs + for key in attrs: + if key in valid_keys_map: + # map to value + valid_attrs.update({key: attrs[key][0]}) + return valid_attrs + + +def _construct_quota_tree(groups, valid_keys_map) -> QuotaNode: + root = QuotaNode("root", {}) + for group in groups: + r = root + paths = group["path"].split("/")[1:] + # loop through all segements except the last segment + # the last segment is the one we want to add the attributes to + for segment in paths[0 : len(paths) - 1]: + for child in r.children: + if child.name == segment: + r = child + break + else: + # no child found, add it with the segment name of the path + n = QuotaNode(segment, {}) + r.addChild(n) + r = n + # add the child with it's attributes and last segment name + n = QuotaNode( + paths[len(paths) - 1], + _filter_quota_attrs(group["attributes"], valid_keys_map) + ) + r.addChild(n) + return root + + +def _compute_quotas_from_tree(node: QuotaNode): + """Recursively traverse the tree and find the quota per level + the lower leafs overrule parent leafs values + + Args: + node (QuotaNode): the quota tree of QuotaNodes of the user for the given application + + Returns: + dict: key/value pairs of the quotas + + Example: + {'quota-ws-maxcpu': 1000, 'quota-ws-open': 10, 'quota-ws-max': 8} + + Algorithm explanation: + /Base {'quota-ws-max': 12345, 'quota-ws-maxcpu': 50, 'quota-ws-open': 1}\n + /Base/Base 1/Base 1 1 {'quota-ws-maxcpu': 2, 'quota-ws-open': 10}\n + /Base/Base 2 {'quota-ws-max': 8, 'quota-ws-maxcpu': 250}\n + /Low CPU {'quota-ws-max': 3, 'quota-ws-maxcpu': 1000, 'quota-ws-open': 1}\n + + result: {'quota-ws-maxcpu': 1000, 'quota-ws-open': 10, 'quota-ws-max': 8}\n + quota-ws-maxcpu from path "/Low CPU"\n + --> overrules paths "/Base/Base 1/Base 1 1" and "/Base/Base 2" (higher value)\n + --> /Base quota-ws-max is not used because this one is not the lowest + leaf with this attribute (Base 1 1 and Base 2 are "lower")\n + quota-ws-open from path "/Base/Base 1/Base 1 1"\n + quota-ws-max from path "/Base/Base 2"\n + """ + new_attrs = {} + for child in node.children: + child_attrs = _compute_quotas_from_tree(child) + for key in child_attrs: + try: + child_val = float(child_attrs[key]) + except: + # value not a float, skip (use 0) + child_val = 0 + if not key in new_attrs or new_attrs[key] < child_val: + new_attrs.update({key: child_val}) + for key in new_attrs: + node.attrs.update({key: new_attrs[key]}) + return node.attrs + + +def get_user_quotas(application_config: ApplicationConfig =None, user_id: str=None) -> dict: + """Get the user quota from Keycloak and application + + Args: + application_config (ApplicationConfig): the application config to use for getting the quotas + user_id (str): the Keycloak user id + + Returns: + dict: key/value pairs of the user quota + + Example: + {'quota-ws-maxcpu': 1000, 'quota-ws-open': 10, 'quota-ws-max': 8} + """ + if not application_config: + application_config = get_current_configuration() + + auth_client = AuthClient() + if not user_id: + user_id = auth_client.get_current_user()["id"] + user = auth_client.get_user(user_id, with_details=True) + + valid_keys_map = [] + base_quotas = application_config.get("harness",{}).get("quotas", {}) + for key in base_quotas: + valid_keys_map.append(key) + + group_quotas = _compute_quotas_from_tree( + _construct_quota_tree( + user["userGroups"], + valid_keys_map)) + user_quotas = _filter_quota_attrs(user["attributes"], valid_keys_map) + for key in group_quotas: + if key not in user_quotas: + user_quotas.update({key: group_quotas[key]}) + for key in base_quotas: + if key not in user_quotas: + user_quotas.update({key: base_quotas[key]}) + return user_quotas diff --git a/libraries/cloudharness-common/test-requirements.txt b/libraries/cloudharness-common/test-requirements.txt index 51b437b1..0fa41ffd 100644 --- a/libraries/cloudharness-common/test-requirements.txt +++ b/libraries/cloudharness-common/test-requirements.txt @@ -1,5 +1,6 @@ pytest pytest-cov +pytest-mock coverage nose randomize diff --git a/libraries/cloudharness-common/tests/test_quota.py b/libraries/cloudharness-common/tests/test_quota.py new file mode 100644 index 00000000..707ea8a6 --- /dev/null +++ b/libraries/cloudharness-common/tests/test_quota.py @@ -0,0 +1,42 @@ +from .test_env import set_test_environment + +set_test_environment() + +from cloudharness import set_debug +from cloudharness.applications import get_configuration +from cloudharness.auth.quota import get_user_quotas + +set_debug() + +jh_config = get_configuration("jupyterhub") +assert jh_config is not None + +def test_get_quotas(mocker): + def mock_get_admin_client(self): + return None + def mock_get_current_user(self): + return {"id":"123"} + def mock_get_user(self, user_id, with_details): + return { + "attributes": { + "quota-ws-guaranteemem": [0.5] + }, + "userGroups": [ + {"path": "/Base", "attributes": {'quota-ws-maxmem': [2.5], 'quota-ws-maxcpu': [1], 'quota-ws-open': [3], "quota-ws-guaranteemem": [0.1]} }, + {"path": "/Base/Base 1/Base 1 1", "attributes": {'quota-ws-maxcpu': [2], 'quota-ws-open': [10]}}, + {"path": "/Base/Base 2", "attributes": {'quota-ws-maxmem': [8], 'quota-ws-maxcpu': [0.25], 'quota-ws-guaranteecpu': [0.25]}}, + {"path": "/Low CU", "attributes": {'quota-ws-maxmem': [3], 'quota-ws-maxcpu': [2.5], 'quota-ws-open': [1]}} + ] + } + mocker.patch('cloudharness.auth.keycloak.AuthClient.get_admin_client', mock_get_admin_client) + mocker.patch('cloudharness.auth.keycloak.AuthClient.get_current_user', mock_get_current_user) + mocker.patch('cloudharness.auth.keycloak.AuthClient.get_user', mock_get_user) + user_quotas_jh = get_user_quotas(jh_config, user_id=None) + + assert user_quotas_jh.get("quota-ws-maxmem") == 8.0 + assert user_quotas_jh.get("quota-ws-maxcpu") == 2.5 + assert user_quotas_jh.get("quota-ws-open") == 10.0 + assert user_quotas_jh.get("quota-ws-guaranteecpu") == 0.25 + assert user_quotas_jh.get("quota-ws-guaranteemem") == 0.5 + assert user_quotas_jh.get("quota-storage-max") == 1.25 + print(user_quotas_jh) diff --git a/libraries/cloudharness-common/tests/values.yaml b/libraries/cloudharness-common/tests/values.yaml index 2bd88002..0a0e8a34 100644 --- a/libraries/cloudharness-common/tests/values.yaml +++ b/libraries/cloudharness-common/tests/values.yaml @@ -592,6 +592,13 @@ apps: limits: memory: 500Mi cpu: 500m + quotas: + quota-ws-open: 3 + quota-ws-guaranteecpu: 0.05 + quota-ws-maxcpu: 0.4 + quota-ws-guaranteemem: 0.1 + quota-ws-maxmem: 0.5 + quota-storage-max: 1.25 service: auto: false name: proxy-public diff --git a/libraries/models/cloudharness_model/models/application_harness_config.py b/libraries/models/cloudharness_model/models/application_harness_config.py index e1b237a9..4a083624 100644 --- a/libraries/models/cloudharness_model/models/application_harness_config.py +++ b/libraries/models/cloudharness_model/models/application_harness_config.py @@ -341,6 +341,7 @@ def uri_role_mapping(self, uri_role_mapping): def secrets(self): """Gets the secrets of this ApplicationHarnessConfig. + # noqa: E501 :return: The secrets of this ApplicationHarnessConfig. :rtype: Dict[str, str] @@ -351,6 +352,7 @@ def secrets(self): def secrets(self, secrets): """Sets the secrets of this ApplicationHarnessConfig. + # noqa: E501 :param secrets: The secrets of this ApplicationHarnessConfig. :type secrets: Dict[str, str] @@ -492,6 +494,7 @@ def liveness_probe(self, liveness_probe): def source_root(self): """Gets the source_root of this ApplicationHarnessConfig. + # noqa: E501 :return: The source_root of this ApplicationHarnessConfig. :rtype: str @@ -502,6 +505,7 @@ def source_root(self): def source_root(self, source_root): """Sets the source_root of this ApplicationHarnessConfig. + # noqa: E501 :param source_root: The source_root of this ApplicationHarnessConfig. :type source_root: str diff --git a/libraries/models/cloudharness_model/models/application_probe.py b/libraries/models/cloudharness_model/models/application_probe.py index bf5d28ea..b1819df4 100644 --- a/libraries/models/cloudharness_model/models/application_probe.py +++ b/libraries/models/cloudharness_model/models/application_probe.py @@ -61,6 +61,7 @@ def from_dict(cls, dikt) -> 'ApplicationProbe': def path(self): """Gets the path of this ApplicationProbe. + # noqa: E501 :return: The path of this ApplicationProbe. :rtype: str @@ -71,6 +72,7 @@ def path(self): def path(self, path): """Sets the path of this ApplicationProbe. + # noqa: E501 :param path: The path of this ApplicationProbe. :type path: str @@ -84,6 +86,7 @@ def path(self, path): def period_seconds(self): """Gets the period_seconds of this ApplicationProbe. + # noqa: E501 :return: The period_seconds of this ApplicationProbe. :rtype: float @@ -94,6 +97,7 @@ def period_seconds(self): def period_seconds(self, period_seconds): """Sets the period_seconds of this ApplicationProbe. + # noqa: E501 :param period_seconds: The period_seconds of this ApplicationProbe. :type period_seconds: float @@ -105,6 +109,7 @@ def period_seconds(self, period_seconds): def failure_threshold(self): """Gets the failure_threshold of this ApplicationProbe. + # noqa: E501 :return: The failure_threshold of this ApplicationProbe. :rtype: float @@ -115,6 +120,7 @@ def failure_threshold(self): def failure_threshold(self, failure_threshold): """Sets the failure_threshold of this ApplicationProbe. + # noqa: E501 :param failure_threshold: The failure_threshold of this ApplicationProbe. :type failure_threshold: float @@ -126,6 +132,7 @@ def failure_threshold(self, failure_threshold): def initial_delay_seconds(self): """Gets the initial_delay_seconds of this ApplicationProbe. + # noqa: E501 :return: The initial_delay_seconds of this ApplicationProbe. :rtype: float @@ -136,6 +143,7 @@ def initial_delay_seconds(self): def initial_delay_seconds(self, initial_delay_seconds): """Sets the initial_delay_seconds of this ApplicationProbe. + # noqa: E501 :param initial_delay_seconds: The initial_delay_seconds of this ApplicationProbe. :type initial_delay_seconds: float diff --git a/libraries/models/cloudharness_model/models/application_user.py b/libraries/models/cloudharness_model/models/application_user.py index 2be50c8d..823be12b 100644 --- a/libraries/models/cloudharness_model/models/application_user.py +++ b/libraries/models/cloudharness_model/models/application_user.py @@ -61,6 +61,7 @@ def from_dict(cls, dikt) -> 'ApplicationUser': def username(self): """Gets the username of this ApplicationUser. + # noqa: E501 :return: The username of this ApplicationUser. :rtype: str @@ -71,6 +72,7 @@ def username(self): def username(self, username): """Sets the username of this ApplicationUser. + # noqa: E501 :param username: The username of this ApplicationUser. :type username: str @@ -84,6 +86,7 @@ def username(self, username): def password(self): """Gets the password of this ApplicationUser. + # noqa: E501 :return: The password of this ApplicationUser. :rtype: str @@ -94,6 +97,7 @@ def password(self): def password(self, password): """Sets the password of this ApplicationUser. + # noqa: E501 :param password: The password of this ApplicationUser. :type password: str @@ -105,6 +109,7 @@ def password(self, password): def client_roles(self): """Gets the client_roles of this ApplicationUser. + # noqa: E501 :return: The client_roles of this ApplicationUser. :rtype: List[str] @@ -115,6 +120,7 @@ def client_roles(self): def client_roles(self, client_roles): """Sets the client_roles of this ApplicationUser. + # noqa: E501 :param client_roles: The client_roles of this ApplicationUser. :type client_roles: List[str] @@ -126,6 +132,7 @@ def client_roles(self, client_roles): def realm_roles(self): """Gets the realm_roles of this ApplicationUser. + # noqa: E501 :return: The realm_roles of this ApplicationUser. :rtype: List[str] @@ -136,6 +143,7 @@ def realm_roles(self): def realm_roles(self, realm_roles): """Sets the realm_roles of this ApplicationUser. + # noqa: E501 :param realm_roles: The realm_roles of this ApplicationUser. :type realm_roles: List[str] diff --git a/libraries/models/cloudharness_model/models/auto_artifact_spec.py b/libraries/models/cloudharness_model/models/auto_artifact_spec.py index 402d8ddc..9aebfd4f 100644 --- a/libraries/models/cloudharness_model/models/auto_artifact_spec.py +++ b/libraries/models/cloudharness_model/models/auto_artifact_spec.py @@ -76,6 +76,7 @@ def auto(self, auto): def name(self): """Gets the name of this AutoArtifactSpec. + # noqa: E501 :return: The name of this AutoArtifactSpec. :rtype: str @@ -86,6 +87,7 @@ def name(self): def name(self, name): """Sets the name of this AutoArtifactSpec. + # noqa: E501 :param name: The name of this AutoArtifactSpec. :type name: str diff --git a/libraries/models/cloudharness_model/models/backup_config.py b/libraries/models/cloudharness_model/models/backup_config.py index e45997b4..254c52f7 100644 --- a/libraries/models/cloudharness_model/models/backup_config.py +++ b/libraries/models/cloudharness_model/models/backup_config.py @@ -90,6 +90,7 @@ def from_dict(cls, dikt) -> 'BackupConfig': def active(self): """Gets the active of this BackupConfig. + # noqa: E501 :return: The active of this BackupConfig. :rtype: bool @@ -100,6 +101,7 @@ def active(self): def active(self, active): """Sets the active of this BackupConfig. + # noqa: E501 :param active: The active of this BackupConfig. :type active: bool @@ -111,6 +113,7 @@ def active(self, active): def keep_days(self): """Gets the keep_days of this BackupConfig. + # noqa: E501 :return: The keep_days of this BackupConfig. :rtype: int @@ -121,6 +124,7 @@ def keep_days(self): def keep_days(self, keep_days): """Sets the keep_days of this BackupConfig. + # noqa: E501 :param keep_days: The keep_days of this BackupConfig. :type keep_days: int @@ -132,6 +136,7 @@ def keep_days(self, keep_days): def keep_weeks(self): """Gets the keep_weeks of this BackupConfig. + # noqa: E501 :return: The keep_weeks of this BackupConfig. :rtype: int @@ -142,6 +147,7 @@ def keep_weeks(self): def keep_weeks(self, keep_weeks): """Sets the keep_weeks of this BackupConfig. + # noqa: E501 :param keep_weeks: The keep_weeks of this BackupConfig. :type keep_weeks: int @@ -153,6 +159,7 @@ def keep_weeks(self, keep_weeks): def keep_months(self): """Gets the keep_months of this BackupConfig. + # noqa: E501 :return: The keep_months of this BackupConfig. :rtype: int @@ -163,6 +170,7 @@ def keep_months(self): def keep_months(self, keep_months): """Sets the keep_months of this BackupConfig. + # noqa: E501 :param keep_months: The keep_months of this BackupConfig. :type keep_months: int @@ -245,6 +253,7 @@ def volumesize(self, volumesize): def dir(self): """Gets the dir of this BackupConfig. + # noqa: E501 :return: The dir of this BackupConfig. :rtype: str @@ -255,6 +264,7 @@ def dir(self): def dir(self, dir): """Sets the dir of this BackupConfig. + # noqa: E501 :param dir: The dir of this BackupConfig. :type dir: str diff --git a/libraries/models/cloudharness_model/models/cdc_event.py b/libraries/models/cloudharness_model/models/cdc_event.py index bcf92620..1ba4f017 100644 --- a/libraries/models/cloudharness_model/models/cdc_event.py +++ b/libraries/models/cloudharness_model/models/cdc_event.py @@ -147,6 +147,7 @@ def message_type(self, message_type): def resource(self): """Gets the resource of this CDCEvent. + # noqa: E501 :return: The resource of this CDCEvent. :rtype: Dict[str, object] @@ -157,6 +158,7 @@ def resource(self): def resource(self, resource): """Sets the resource of this CDCEvent. + # noqa: E501 :param resource: The resource of this CDCEvent. :type resource: Dict[str, object] diff --git a/libraries/models/cloudharness_model/models/cpu_memory_config.py b/libraries/models/cloudharness_model/models/cpu_memory_config.py index eeb3e3b0..cab9bf7c 100644 --- a/libraries/models/cloudharness_model/models/cpu_memory_config.py +++ b/libraries/models/cloudharness_model/models/cpu_memory_config.py @@ -51,6 +51,7 @@ def from_dict(cls, dikt) -> 'CpuMemoryConfig': def cpu(self): """Gets the cpu of this CpuMemoryConfig. + # noqa: E501 :return: The cpu of this CpuMemoryConfig. :rtype: str @@ -61,6 +62,7 @@ def cpu(self): def cpu(self, cpu): """Sets the cpu of this CpuMemoryConfig. + # noqa: E501 :param cpu: The cpu of this CpuMemoryConfig. :type cpu: str @@ -72,6 +74,7 @@ def cpu(self, cpu): def memory(self): """Gets the memory of this CpuMemoryConfig. + # noqa: E501 :return: The memory of this CpuMemoryConfig. :rtype: str @@ -82,6 +85,7 @@ def memory(self): def memory(self, memory): """Sets the memory of this CpuMemoryConfig. + # noqa: E501 :param memory: The memory of this CpuMemoryConfig. :type memory: str diff --git a/libraries/models/cloudharness_model/models/database_deployment_config.py b/libraries/models/cloudharness_model/models/database_deployment_config.py index 07fd4d2e..3786fb89 100644 --- a/libraries/models/cloudharness_model/models/database_deployment_config.py +++ b/libraries/models/cloudharness_model/models/database_deployment_config.py @@ -6,14 +6,10 @@ from typing import List, Dict # noqa: F401 from cloudharness_model.models.base_model_ import Model -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec -from cloudharness_model.models.database_deployment_config_all_of import DatabaseDeploymentConfigAllOf from cloudharness_model.models.deployment_resources_conf import DeploymentResourcesConf import re from cloudharness_model import util -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec # noqa: E501 -from cloudharness_model.models.database_deployment_config_all_of import DatabaseDeploymentConfigAllOf # noqa: E501 from cloudharness_model.models.deployment_resources_conf import DeploymentResourcesConf # noqa: E501 import re # noqa: E501 @@ -221,6 +217,7 @@ def image_ref(self, image_ref): def mongo(self): """Gets the mongo of this DatabaseDeploymentConfig. + # noqa: E501 :return: The mongo of this DatabaseDeploymentConfig. :rtype: Dict[str, object] @@ -231,6 +228,7 @@ def mongo(self): def mongo(self, mongo): """Sets the mongo of this DatabaseDeploymentConfig. + # noqa: E501 :param mongo: The mongo of this DatabaseDeploymentConfig. :type mongo: Dict[str, object] @@ -242,6 +240,7 @@ def mongo(self, mongo): def postgres(self): """Gets the postgres of this DatabaseDeploymentConfig. + # noqa: E501 :return: The postgres of this DatabaseDeploymentConfig. :rtype: Dict[str, object] @@ -252,6 +251,7 @@ def postgres(self): def postgres(self, postgres): """Sets the postgres of this DatabaseDeploymentConfig. + # noqa: E501 :param postgres: The postgres of this DatabaseDeploymentConfig. :type postgres: Dict[str, object] @@ -332,6 +332,7 @@ def auto(self, auto): def name(self): """Gets the name of this DatabaseDeploymentConfig. + # noqa: E501 :return: The name of this DatabaseDeploymentConfig. :rtype: str @@ -342,6 +343,7 @@ def name(self): def name(self, name): """Sets the name of this DatabaseDeploymentConfig. + # noqa: E501 :param name: The name of this DatabaseDeploymentConfig. :type name: str diff --git a/libraries/models/cloudharness_model/models/database_deployment_config_all_of.py b/libraries/models/cloudharness_model/models/database_deployment_config_all_of.py index 92953de2..1a9e1394 100644 --- a/libraries/models/cloudharness_model/models/database_deployment_config_all_of.py +++ b/libraries/models/cloudharness_model/models/database_deployment_config_all_of.py @@ -207,6 +207,7 @@ def image_ref(self, image_ref): def mongo(self): """Gets the mongo of this DatabaseDeploymentConfigAllOf. + # noqa: E501 :return: The mongo of this DatabaseDeploymentConfigAllOf. :rtype: Dict[str, object] @@ -217,6 +218,7 @@ def mongo(self): def mongo(self, mongo): """Sets the mongo of this DatabaseDeploymentConfigAllOf. + # noqa: E501 :param mongo: The mongo of this DatabaseDeploymentConfigAllOf. :type mongo: Dict[str, object] @@ -228,6 +230,7 @@ def mongo(self, mongo): def postgres(self): """Gets the postgres of this DatabaseDeploymentConfigAllOf. + # noqa: E501 :return: The postgres of this DatabaseDeploymentConfigAllOf. :rtype: Dict[str, object] @@ -238,6 +241,7 @@ def postgres(self): def postgres(self, postgres): """Sets the postgres of this DatabaseDeploymentConfigAllOf. + # noqa: E501 :param postgres: The postgres of this DatabaseDeploymentConfigAllOf. :type postgres: Dict[str, object] diff --git a/libraries/models/cloudharness_model/models/deployment_auto_artifact_config.py b/libraries/models/cloudharness_model/models/deployment_auto_artifact_config.py index 9f3a3748..7d503a29 100644 --- a/libraries/models/cloudharness_model/models/deployment_auto_artifact_config.py +++ b/libraries/models/cloudharness_model/models/deployment_auto_artifact_config.py @@ -6,11 +6,9 @@ from typing import List, Dict # noqa: F401 from cloudharness_model.models.base_model_ import Model -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec import re from cloudharness_model import util -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec # noqa: E501 import re # noqa: E501 class DeploymentAutoArtifactConfig(Model): @@ -194,6 +192,7 @@ def auto(self, auto): def name(self): """Gets the name of this DeploymentAutoArtifactConfig. + # noqa: E501 :return: The name of this DeploymentAutoArtifactConfig. :rtype: str @@ -204,6 +203,7 @@ def name(self): def name(self, name): """Sets the name of this DeploymentAutoArtifactConfig. + # noqa: E501 :param name: The name of this DeploymentAutoArtifactConfig. :type name: str diff --git a/libraries/models/cloudharness_model/models/e2_e_tests_config.py b/libraries/models/cloudharness_model/models/e2_e_tests_config.py index 27591dea..e856fe9d 100644 --- a/libraries/models/cloudharness_model/models/e2_e_tests_config.py +++ b/libraries/models/cloudharness_model/models/e2_e_tests_config.py @@ -111,6 +111,7 @@ def smoketest(self, smoketest): def ignore_console_errors(self): """Gets the ignore_console_errors of this E2ETestsConfig. + # noqa: E501 :return: The ignore_console_errors of this E2ETestsConfig. :rtype: bool @@ -121,6 +122,7 @@ def ignore_console_errors(self): def ignore_console_errors(self, ignore_console_errors): """Sets the ignore_console_errors of this E2ETestsConfig. + # noqa: E501 :param ignore_console_errors: The ignore_console_errors of this E2ETestsConfig. :type ignore_console_errors: bool @@ -132,6 +134,7 @@ def ignore_console_errors(self, ignore_console_errors): def ignore_request_errors(self): """Gets the ignore_request_errors of this E2ETestsConfig. + # noqa: E501 :return: The ignore_request_errors of this E2ETestsConfig. :rtype: bool @@ -142,6 +145,7 @@ def ignore_request_errors(self): def ignore_request_errors(self, ignore_request_errors): """Sets the ignore_request_errors of this E2ETestsConfig. + # noqa: E501 :param ignore_request_errors: The ignore_request_errors of this E2ETestsConfig. :type ignore_request_errors: bool diff --git a/libraries/models/cloudharness_model/models/file_resources_config.py b/libraries/models/cloudharness_model/models/file_resources_config.py index 50709712..da5993b4 100644 --- a/libraries/models/cloudharness_model/models/file_resources_config.py +++ b/libraries/models/cloudharness_model/models/file_resources_config.py @@ -58,6 +58,7 @@ def from_dict(cls, dikt) -> 'FileResourcesConfig': def name(self): """Gets the name of this FileResourcesConfig. + # noqa: E501 :return: The name of this FileResourcesConfig. :rtype: str @@ -68,6 +69,7 @@ def name(self): def name(self, name): """Sets the name of this FileResourcesConfig. + # noqa: E501 :param name: The name of this FileResourcesConfig. :type name: str @@ -83,6 +85,7 @@ def name(self, name): def src(self): """Gets the src of this FileResourcesConfig. + # noqa: E501 :return: The src of this FileResourcesConfig. :rtype: str @@ -93,6 +96,7 @@ def src(self): def src(self, src): """Sets the src of this FileResourcesConfig. + # noqa: E501 :param src: The src of this FileResourcesConfig. :type src: str @@ -108,6 +112,7 @@ def src(self, src): def dst(self): """Gets the dst of this FileResourcesConfig. + # noqa: E501 :return: The dst of this FileResourcesConfig. :rtype: str @@ -118,6 +123,7 @@ def dst(self): def dst(self, dst): """Sets the dst of this FileResourcesConfig. + # noqa: E501 :param dst: The dst of this FileResourcesConfig. :type dst: str diff --git a/libraries/models/cloudharness_model/models/harness_main_config.py b/libraries/models/cloudharness_model/models/harness_main_config.py index d611ce20..d3b4af7f 100644 --- a/libraries/models/cloudharness_model/models/harness_main_config.py +++ b/libraries/models/cloudharness_model/models/harness_main_config.py @@ -283,6 +283,7 @@ def tag(self, tag): def apps(self): """Gets the apps of this HarnessMainConfig. + # noqa: E501 :return: The apps of this HarnessMainConfig. :rtype: Dict[str, ApplicationConfig] @@ -293,6 +294,7 @@ def apps(self): def apps(self, apps): """Sets the apps of this HarnessMainConfig. + # noqa: E501 :param apps: The apps of this HarnessMainConfig. :type apps: Dict[str, ApplicationConfig] @@ -394,6 +396,7 @@ def name(self, name): def task_images(self): """Gets the task_images of this HarnessMainConfig. + # noqa: E501 :return: The task_images of this HarnessMainConfig. :rtype: Dict[str, str] @@ -404,6 +407,7 @@ def task_images(self): def task_images(self, task_images): """Sets the task_images of this HarnessMainConfig. + # noqa: E501 :param task_images: The task_images of this HarnessMainConfig. :type task_images: Dict[str, str] diff --git a/libraries/models/cloudharness_model/models/ingress_config.py b/libraries/models/cloudharness_model/models/ingress_config.py index 187a892e..6253941a 100644 --- a/libraries/models/cloudharness_model/models/ingress_config.py +++ b/libraries/models/cloudharness_model/models/ingress_config.py @@ -6,13 +6,9 @@ from typing import List, Dict # noqa: F401 from cloudharness_model.models.base_model_ import Model -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec -from cloudharness_model.models.ingress_config_all_of import IngressConfigAllOf from cloudharness_model.models.ingress_config_all_of_letsencrypt import IngressConfigAllOfLetsencrypt from cloudharness_model import util -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec # noqa: E501 -from cloudharness_model.models.ingress_config_all_of import IngressConfigAllOf # noqa: E501 from cloudharness_model.models.ingress_config_all_of_letsencrypt import IngressConfigAllOfLetsencrypt # noqa: E501 class IngressConfig(Model): @@ -67,6 +63,7 @@ def from_dict(cls, dikt) -> 'IngressConfig': def ssl_redirect(self): """Gets the ssl_redirect of this IngressConfig. + # noqa: E501 :return: The ssl_redirect of this IngressConfig. :rtype: bool @@ -77,6 +74,7 @@ def ssl_redirect(self): def ssl_redirect(self, ssl_redirect): """Sets the ssl_redirect of this IngressConfig. + # noqa: E501 :param ssl_redirect: The ssl_redirect of this IngressConfig. :type ssl_redirect: bool @@ -134,6 +132,7 @@ def auto(self, auto): def name(self): """Gets the name of this IngressConfig. + # noqa: E501 :return: The name of this IngressConfig. :rtype: str @@ -144,6 +143,7 @@ def name(self): def name(self, name): """Sets the name of this IngressConfig. + # noqa: E501 :param name: The name of this IngressConfig. :type name: str diff --git a/libraries/models/cloudharness_model/models/ingress_config_all_of.py b/libraries/models/cloudharness_model/models/ingress_config_all_of.py index 76fe8af2..a6fc69ea 100644 --- a/libraries/models/cloudharness_model/models/ingress_config_all_of.py +++ b/libraries/models/cloudharness_model/models/ingress_config_all_of.py @@ -53,6 +53,7 @@ def from_dict(cls, dikt) -> 'IngressConfigAllOf': def ssl_redirect(self): """Gets the ssl_redirect of this IngressConfigAllOf. + # noqa: E501 :return: The ssl_redirect of this IngressConfigAllOf. :rtype: bool @@ -63,6 +64,7 @@ def ssl_redirect(self): def ssl_redirect(self, ssl_redirect): """Sets the ssl_redirect of this IngressConfigAllOf. + # noqa: E501 :param ssl_redirect: The ssl_redirect of this IngressConfigAllOf. :type ssl_redirect: bool diff --git a/libraries/models/cloudharness_model/models/jupyter_hub_config.py b/libraries/models/cloudharness_model/models/jupyter_hub_config.py index 245556fe..51316ff2 100644 --- a/libraries/models/cloudharness_model/models/jupyter_hub_config.py +++ b/libraries/models/cloudharness_model/models/jupyter_hub_config.py @@ -84,6 +84,7 @@ def args(self, args): def extra_config(self): """Gets the extra_config of this JupyterHubConfig. + # noqa: E501 :return: The extra_config of this JupyterHubConfig. :rtype: Dict[str, str] @@ -94,6 +95,7 @@ def extra_config(self): def extra_config(self, extra_config): """Sets the extra_config of this JupyterHubConfig. + # noqa: E501 :param extra_config: The extra_config of this JupyterHubConfig. :type extra_config: Dict[str, str] @@ -105,6 +107,7 @@ def extra_config(self, extra_config): def spawner_extra_config(self): """Gets the spawner_extra_config of this JupyterHubConfig. + # noqa: E501 :return: The spawner_extra_config of this JupyterHubConfig. :rtype: Dict[str, object] @@ -115,6 +118,7 @@ def spawner_extra_config(self): def spawner_extra_config(self, spawner_extra_config): """Sets the spawner_extra_config of this JupyterHubConfig. + # noqa: E501 :param spawner_extra_config: The spawner_extra_config of this JupyterHubConfig. :type spawner_extra_config: Dict[str, object] diff --git a/libraries/models/cloudharness_model/models/name_value.py b/libraries/models/cloudharness_model/models/name_value.py index 26cda4c6..f4b75cdd 100644 --- a/libraries/models/cloudharness_model/models/name_value.py +++ b/libraries/models/cloudharness_model/models/name_value.py @@ -51,6 +51,7 @@ def from_dict(cls, dikt) -> 'NameValue': def name(self): """Gets the name of this NameValue. + # noqa: E501 :return: The name of this NameValue. :rtype: str @@ -61,6 +62,7 @@ def name(self): def name(self, name): """Sets the name of this NameValue. + # noqa: E501 :param name: The name of this NameValue. :type name: str @@ -74,6 +76,7 @@ def name(self, name): def value(self): """Gets the value of this NameValue. + # noqa: E501 :return: The value of this NameValue. :rtype: str @@ -84,6 +87,7 @@ def value(self): def value(self, value): """Sets the value of this NameValue. + # noqa: E501 :param value: The value of this NameValue. :type value: str diff --git a/libraries/models/cloudharness_model/models/registry_config.py b/libraries/models/cloudharness_model/models/registry_config.py index 07238dbd..79f27027 100644 --- a/libraries/models/cloudharness_model/models/registry_config.py +++ b/libraries/models/cloudharness_model/models/registry_config.py @@ -51,6 +51,7 @@ def from_dict(cls, dikt) -> 'RegistryConfig': def name(self): """Gets the name of this RegistryConfig. + # noqa: E501 :return: The name of this RegistryConfig. :rtype: str @@ -61,6 +62,7 @@ def name(self): def name(self, name): """Sets the name of this RegistryConfig. + # noqa: E501 :param name: The name of this RegistryConfig. :type name: str diff --git a/libraries/models/cloudharness_model/models/service_auto_artifact_config.py b/libraries/models/cloudharness_model/models/service_auto_artifact_config.py index 7a4fb452..8d14ac42 100644 --- a/libraries/models/cloudharness_model/models/service_auto_artifact_config.py +++ b/libraries/models/cloudharness_model/models/service_auto_artifact_config.py @@ -6,12 +6,8 @@ from typing import List, Dict # noqa: F401 from cloudharness_model.models.base_model_ import Model -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec -from cloudharness_model.models.service_auto_artifact_config_all_of import ServiceAutoArtifactConfigAllOf from cloudharness_model import util -from cloudharness_model.models.auto_artifact_spec import AutoArtifactSpec # noqa: E501 -from cloudharness_model.models.service_auto_artifact_config_all_of import ServiceAutoArtifactConfigAllOf # noqa: E501 class ServiceAutoArtifactConfig(Model): """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -108,6 +104,7 @@ def auto(self, auto): def name(self): """Gets the name of this ServiceAutoArtifactConfig. + # noqa: E501 :return: The name of this ServiceAutoArtifactConfig. :rtype: str @@ -118,6 +115,7 @@ def name(self): def name(self, name): """Sets the name of this ServiceAutoArtifactConfig. + # noqa: E501 :param name: The name of this ServiceAutoArtifactConfig. :type name: str diff --git a/libraries/models/cloudharness_model/models/uri_role_mapping_config.py b/libraries/models/cloudharness_model/models/uri_role_mapping_config.py index 9fe54def..046becca 100644 --- a/libraries/models/cloudharness_model/models/uri_role_mapping_config.py +++ b/libraries/models/cloudharness_model/models/uri_role_mapping_config.py @@ -53,6 +53,7 @@ def from_dict(cls, dikt) -> 'UriRoleMappingConfig': def uri(self): """Gets the uri of this UriRoleMappingConfig. + # noqa: E501 :return: The uri of this UriRoleMappingConfig. :rtype: str @@ -63,6 +64,7 @@ def uri(self): def uri(self, uri): """Sets the uri of this UriRoleMappingConfig. + # noqa: E501 :param uri: The uri of this UriRoleMappingConfig. :type uri: str diff --git a/libraries/models/cloudharness_model/models/user_group.py b/libraries/models/cloudharness_model/models/user_group.py index 70c94921..50d3b30d 100644 --- a/libraries/models/cloudharness_model/models/user_group.py +++ b/libraries/models/cloudharness_model/models/user_group.py @@ -102,6 +102,7 @@ def access(self, access): def attributes(self): """Gets the attributes of this UserGroup. + # noqa: E501 :return: The attributes of this UserGroup. :rtype: Dict[str, str] @@ -112,6 +113,7 @@ def attributes(self): def attributes(self, attributes): """Sets the attributes of this UserGroup. + # noqa: E501 :param attributes: The attributes of this UserGroup. :type attributes: Dict[str, str] diff --git a/libraries/models/test-requirements.txt b/libraries/models/test-requirements.txt index 0970f28c..58f51d6a 100644 --- a/libraries/models/test-requirements.txt +++ b/libraries/models/test-requirements.txt @@ -1,4 +1,4 @@ -pytest~=4.6.7 # needed for python 2.7+3.4 +pytest~=7.1.0 pytest-cov>=2.8.1 -pytest-randomly==1.2.3 # needed for python 2.7+3.4 -Flask-Testing==0.8.0 +pytest-randomly>=1.2.3 +Flask-Testing==0.8.1 diff --git a/tools/deployment-cli-tools/ch_cli_tools/openapi.py b/tools/deployment-cli-tools/ch_cli_tools/openapi.py index 1ebd8002..cd7c5f8b 100644 --- a/tools/deployment-cli-tools/ch_cli_tools/openapi.py +++ b/tools/deployment-cli-tools/ch_cli_tools/openapi.py @@ -14,7 +14,7 @@ CODEGEN = os.path.join(HERE, 'bin', 'openapi-generator-cli.jar') APPLICATIONS_SRC_PATH = os.path.join('applications') LIB_NAME = 'cloudharness_cli' -ROOT = dn(dn(HERE)) +ROOT = dn(dn(dn(HERE))) OPENAPI_GEN_URL = 'https://repo1.maven.org/maven2/org/openapitools/openapi-generator-cli/6.2.1/openapi-generator-cli-6.2.1.jar' @@ -49,7 +49,7 @@ def generate_model(base_path=ROOT): command = f"java -jar {CODEGEN} generate -i {base_path}/libraries/api/openapi.yaml -g python -o {tmp_path} --skip-validate-spec -c {base_path}/libraries/api/config.json" os.system(command) try: - source_dir = join(tmp_path, "docs") + source_dir = join(tmp_path, "docs/models") dest = join(base_path, "docs/model") if os.path.exists(dest): shutil.rmtree(dest)