paasta-tools 1.21.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- k8s_itests/__init__.py +0 -0
- k8s_itests/test_autoscaling.py +23 -0
- k8s_itests/utils.py +38 -0
- paasta_tools/__init__.py +20 -0
- paasta_tools/adhoc_tools.py +142 -0
- paasta_tools/api/__init__.py +13 -0
- paasta_tools/api/api.py +330 -0
- paasta_tools/api/api_docs/swagger.json +2323 -0
- paasta_tools/api/client.py +106 -0
- paasta_tools/api/settings.py +33 -0
- paasta_tools/api/tweens/__init__.py +6 -0
- paasta_tools/api/tweens/auth.py +125 -0
- paasta_tools/api/tweens/profiling.py +108 -0
- paasta_tools/api/tweens/request_logger.py +124 -0
- paasta_tools/api/views/__init__.py +13 -0
- paasta_tools/api/views/autoscaler.py +100 -0
- paasta_tools/api/views/exception.py +45 -0
- paasta_tools/api/views/flink.py +73 -0
- paasta_tools/api/views/instance.py +395 -0
- paasta_tools/api/views/pause_autoscaler.py +71 -0
- paasta_tools/api/views/remote_run.py +113 -0
- paasta_tools/api/views/resources.py +76 -0
- paasta_tools/api/views/service.py +35 -0
- paasta_tools/api/views/version.py +25 -0
- paasta_tools/apply_external_resources.py +79 -0
- paasta_tools/async_utils.py +109 -0
- paasta_tools/autoscaling/__init__.py +0 -0
- paasta_tools/autoscaling/autoscaling_service_lib.py +57 -0
- paasta_tools/autoscaling/forecasting.py +106 -0
- paasta_tools/autoscaling/max_all_k8s_services.py +41 -0
- paasta_tools/autoscaling/pause_service_autoscaler.py +77 -0
- paasta_tools/autoscaling/utils.py +52 -0
- paasta_tools/bounce_lib.py +184 -0
- paasta_tools/broadcast_log_to_services.py +62 -0
- paasta_tools/cassandracluster_tools.py +210 -0
- paasta_tools/check_autoscaler_max_instances.py +212 -0
- paasta_tools/check_cassandracluster_services_replication.py +35 -0
- paasta_tools/check_flink_services_health.py +203 -0
- paasta_tools/check_kubernetes_api.py +57 -0
- paasta_tools/check_kubernetes_services_replication.py +141 -0
- paasta_tools/check_oom_events.py +244 -0
- paasta_tools/check_services_replication_tools.py +324 -0
- paasta_tools/check_spark_jobs.py +234 -0
- paasta_tools/cleanup_kubernetes_cr.py +138 -0
- paasta_tools/cleanup_kubernetes_crd.py +145 -0
- paasta_tools/cleanup_kubernetes_jobs.py +344 -0
- paasta_tools/cleanup_tron_namespaces.py +96 -0
- paasta_tools/cli/__init__.py +13 -0
- paasta_tools/cli/authentication.py +85 -0
- paasta_tools/cli/cli.py +260 -0
- paasta_tools/cli/cmds/__init__.py +13 -0
- paasta_tools/cli/cmds/autoscale.py +143 -0
- paasta_tools/cli/cmds/check.py +334 -0
- paasta_tools/cli/cmds/cook_image.py +147 -0
- paasta_tools/cli/cmds/get_docker_image.py +76 -0
- paasta_tools/cli/cmds/get_image_version.py +172 -0
- paasta_tools/cli/cmds/get_latest_deployment.py +93 -0
- paasta_tools/cli/cmds/info.py +155 -0
- paasta_tools/cli/cmds/itest.py +117 -0
- paasta_tools/cli/cmds/list.py +66 -0
- paasta_tools/cli/cmds/list_clusters.py +42 -0
- paasta_tools/cli/cmds/list_deploy_queue.py +171 -0
- paasta_tools/cli/cmds/list_namespaces.py +84 -0
- paasta_tools/cli/cmds/local_run.py +1396 -0
- paasta_tools/cli/cmds/logs.py +1601 -0
- paasta_tools/cli/cmds/mark_for_deployment.py +1988 -0
- paasta_tools/cli/cmds/mesh_status.py +174 -0
- paasta_tools/cli/cmds/pause_service_autoscaler.py +107 -0
- paasta_tools/cli/cmds/push_to_registry.py +275 -0
- paasta_tools/cli/cmds/remote_run.py +252 -0
- paasta_tools/cli/cmds/rollback.py +347 -0
- paasta_tools/cli/cmds/secret.py +549 -0
- paasta_tools/cli/cmds/security_check.py +59 -0
- paasta_tools/cli/cmds/spark_run.py +1400 -0
- paasta_tools/cli/cmds/start_stop_restart.py +401 -0
- paasta_tools/cli/cmds/status.py +2302 -0
- paasta_tools/cli/cmds/validate.py +1012 -0
- paasta_tools/cli/cmds/wait_for_deployment.py +275 -0
- paasta_tools/cli/fsm/__init__.py +13 -0
- paasta_tools/cli/fsm/autosuggest.py +82 -0
- paasta_tools/cli/fsm/template/README.md +8 -0
- paasta_tools/cli/fsm/template/cookiecutter.json +7 -0
- paasta_tools/cli/fsm/template/{{cookiecutter.service}}/kubernetes-PROD.yaml +91 -0
- paasta_tools/cli/fsm/template/{{cookiecutter.service}}/monitoring.yaml +20 -0
- paasta_tools/cli/fsm/template/{{cookiecutter.service}}/service.yaml +8 -0
- paasta_tools/cli/fsm/template/{{cookiecutter.service}}/smartstack.yaml +6 -0
- paasta_tools/cli/fsm_cmd.py +121 -0
- paasta_tools/cli/paasta_tabcomplete.sh +23 -0
- paasta_tools/cli/schemas/adhoc_schema.json +199 -0
- paasta_tools/cli/schemas/autoscaling_schema.json +91 -0
- paasta_tools/cli/schemas/autotuned_defaults/cassandracluster_schema.json +37 -0
- paasta_tools/cli/schemas/autotuned_defaults/kubernetes_schema.json +89 -0
- paasta_tools/cli/schemas/deploy_schema.json +173 -0
- paasta_tools/cli/schemas/eks_schema.json +970 -0
- paasta_tools/cli/schemas/kubernetes_schema.json +970 -0
- paasta_tools/cli/schemas/rollback_schema.json +160 -0
- paasta_tools/cli/schemas/service_schema.json +25 -0
- paasta_tools/cli/schemas/smartstack_schema.json +322 -0
- paasta_tools/cli/schemas/tron_schema.json +699 -0
- paasta_tools/cli/utils.py +1118 -0
- paasta_tools/clusterman.py +21 -0
- paasta_tools/config_utils.py +385 -0
- paasta_tools/contrib/__init__.py +0 -0
- paasta_tools/contrib/bounce_log_latency_parser.py +68 -0
- paasta_tools/contrib/check_manual_oapi_changes.sh +24 -0
- paasta_tools/contrib/check_orphans.py +306 -0
- paasta_tools/contrib/create_dynamodb_table.py +35 -0
- paasta_tools/contrib/create_paasta_playground.py +105 -0
- paasta_tools/contrib/emit_allocated_cpu_metrics.py +50 -0
- paasta_tools/contrib/get_running_task_allocation.py +346 -0
- paasta_tools/contrib/habitat_fixer.py +86 -0
- paasta_tools/contrib/ide_helper.py +316 -0
- paasta_tools/contrib/is_pod_healthy_in_proxy.py +139 -0
- paasta_tools/contrib/is_pod_healthy_in_smartstack.py +50 -0
- paasta_tools/contrib/kill_bad_containers.py +109 -0
- paasta_tools/contrib/mass-deploy-tag.sh +44 -0
- paasta_tools/contrib/mock_patch_checker.py +86 -0
- paasta_tools/contrib/paasta_update_soa_memcpu.py +520 -0
- paasta_tools/contrib/render_template.py +129 -0
- paasta_tools/contrib/rightsizer_soaconfigs_update.py +348 -0
- paasta_tools/contrib/service_shard_remove.py +157 -0
- paasta_tools/contrib/service_shard_update.py +373 -0
- paasta_tools/contrib/shared_ip_check.py +77 -0
- paasta_tools/contrib/timeouts_metrics_prom.py +64 -0
- paasta_tools/delete_kubernetes_deployments.py +89 -0
- paasta_tools/deployment_utils.py +44 -0
- paasta_tools/docker_wrapper.py +234 -0
- paasta_tools/docker_wrapper_imports.py +13 -0
- paasta_tools/drain_lib.py +351 -0
- paasta_tools/dump_locally_running_services.py +71 -0
- paasta_tools/eks_tools.py +119 -0
- paasta_tools/envoy_tools.py +373 -0
- paasta_tools/firewall.py +504 -0
- paasta_tools/firewall_logging.py +154 -0
- paasta_tools/firewall_update.py +172 -0
- paasta_tools/flink_tools.py +345 -0
- paasta_tools/flinkeks_tools.py +90 -0
- paasta_tools/frameworks/__init__.py +0 -0
- paasta_tools/frameworks/adhoc_scheduler.py +71 -0
- paasta_tools/frameworks/constraints.py +87 -0
- paasta_tools/frameworks/native_scheduler.py +652 -0
- paasta_tools/frameworks/native_service_config.py +301 -0
- paasta_tools/frameworks/task_store.py +245 -0
- paasta_tools/generate_all_deployments +9 -0
- paasta_tools/generate_authenticating_services.py +94 -0
- paasta_tools/generate_deployments_for_service.py +255 -0
- paasta_tools/generate_services_file.py +114 -0
- paasta_tools/generate_services_yaml.py +30 -0
- paasta_tools/hacheck.py +76 -0
- paasta_tools/instance/__init__.py +0 -0
- paasta_tools/instance/hpa_metrics_parser.py +122 -0
- paasta_tools/instance/kubernetes.py +1362 -0
- paasta_tools/iptables.py +240 -0
- paasta_tools/kafkacluster_tools.py +143 -0
- paasta_tools/kubernetes/__init__.py +0 -0
- paasta_tools/kubernetes/application/__init__.py +0 -0
- paasta_tools/kubernetes/application/controller_wrappers.py +476 -0
- paasta_tools/kubernetes/application/tools.py +90 -0
- paasta_tools/kubernetes/bin/__init__.py +0 -0
- paasta_tools/kubernetes/bin/kubernetes_remove_evicted_pods.py +164 -0
- paasta_tools/kubernetes/bin/paasta_cleanup_remote_run_resources.py +135 -0
- paasta_tools/kubernetes/bin/paasta_cleanup_stale_nodes.py +181 -0
- paasta_tools/kubernetes/bin/paasta_secrets_sync.py +758 -0
- paasta_tools/kubernetes/remote_run.py +558 -0
- paasta_tools/kubernetes_tools.py +4679 -0
- paasta_tools/list_kubernetes_service_instances.py +128 -0
- paasta_tools/list_tron_namespaces.py +60 -0
- paasta_tools/long_running_service_tools.py +678 -0
- paasta_tools/mac_address.py +44 -0
- paasta_tools/marathon_dashboard.py +0 -0
- paasta_tools/mesos/__init__.py +0 -0
- paasta_tools/mesos/cfg.py +46 -0
- paasta_tools/mesos/cluster.py +60 -0
- paasta_tools/mesos/exceptions.py +59 -0
- paasta_tools/mesos/framework.py +77 -0
- paasta_tools/mesos/log.py +48 -0
- paasta_tools/mesos/master.py +306 -0
- paasta_tools/mesos/mesos_file.py +169 -0
- paasta_tools/mesos/parallel.py +52 -0
- paasta_tools/mesos/slave.py +115 -0
- paasta_tools/mesos/task.py +94 -0
- paasta_tools/mesos/util.py +69 -0
- paasta_tools/mesos/zookeeper.py +37 -0
- paasta_tools/mesos_maintenance.py +848 -0
- paasta_tools/mesos_tools.py +1051 -0
- paasta_tools/metrics/__init__.py +0 -0
- paasta_tools/metrics/metastatus_lib.py +1110 -0
- paasta_tools/metrics/metrics_lib.py +217 -0
- paasta_tools/monitoring/__init__.py +13 -0
- paasta_tools/monitoring/check_k8s_api_performance.py +110 -0
- paasta_tools/monitoring_tools.py +652 -0
- paasta_tools/monkrelaycluster_tools.py +146 -0
- paasta_tools/nrtsearchservice_tools.py +143 -0
- paasta_tools/nrtsearchserviceeks_tools.py +68 -0
- paasta_tools/oom_logger.py +321 -0
- paasta_tools/paasta_deploy_tron_jobs +3 -0
- paasta_tools/paasta_execute_docker_command.py +123 -0
- paasta_tools/paasta_native_serviceinit.py +21 -0
- paasta_tools/paasta_service_config_loader.py +201 -0
- paasta_tools/paastaapi/__init__.py +29 -0
- paasta_tools/paastaapi/api/__init__.py +3 -0
- paasta_tools/paastaapi/api/autoscaler_api.py +302 -0
- paasta_tools/paastaapi/api/default_api.py +569 -0
- paasta_tools/paastaapi/api/remote_run_api.py +604 -0
- paasta_tools/paastaapi/api/resources_api.py +157 -0
- paasta_tools/paastaapi/api/service_api.py +1736 -0
- paasta_tools/paastaapi/api_client.py +818 -0
- paasta_tools/paastaapi/apis/__init__.py +22 -0
- paasta_tools/paastaapi/configuration.py +455 -0
- paasta_tools/paastaapi/exceptions.py +137 -0
- paasta_tools/paastaapi/model/__init__.py +5 -0
- paasta_tools/paastaapi/model/adhoc_launch_history.py +176 -0
- paasta_tools/paastaapi/model/autoscaler_count_msg.py +176 -0
- paasta_tools/paastaapi/model/deploy_queue.py +178 -0
- paasta_tools/paastaapi/model/deploy_queue_service_instance.py +194 -0
- paasta_tools/paastaapi/model/envoy_backend.py +185 -0
- paasta_tools/paastaapi/model/envoy_location.py +184 -0
- paasta_tools/paastaapi/model/envoy_status.py +181 -0
- paasta_tools/paastaapi/model/flink_cluster_overview.py +188 -0
- paasta_tools/paastaapi/model/flink_config.py +173 -0
- paasta_tools/paastaapi/model/flink_job.py +186 -0
- paasta_tools/paastaapi/model/flink_job_details.py +192 -0
- paasta_tools/paastaapi/model/flink_jobs.py +175 -0
- paasta_tools/paastaapi/model/float_and_error.py +173 -0
- paasta_tools/paastaapi/model/hpa_metric.py +176 -0
- paasta_tools/paastaapi/model/inline_object.py +170 -0
- paasta_tools/paastaapi/model/inline_response200.py +170 -0
- paasta_tools/paastaapi/model/inline_response2001.py +170 -0
- paasta_tools/paastaapi/model/instance_bounce_status.py +200 -0
- paasta_tools/paastaapi/model/instance_mesh_status.py +186 -0
- paasta_tools/paastaapi/model/instance_status.py +220 -0
- paasta_tools/paastaapi/model/instance_status_adhoc.py +187 -0
- paasta_tools/paastaapi/model/instance_status_cassandracluster.py +173 -0
- paasta_tools/paastaapi/model/instance_status_flink.py +173 -0
- paasta_tools/paastaapi/model/instance_status_kafkacluster.py +173 -0
- paasta_tools/paastaapi/model/instance_status_kubernetes.py +263 -0
- paasta_tools/paastaapi/model/instance_status_kubernetes_autoscaling_status.py +187 -0
- paasta_tools/paastaapi/model/instance_status_kubernetes_v2.py +197 -0
- paasta_tools/paastaapi/model/instance_status_tron.py +204 -0
- paasta_tools/paastaapi/model/instance_tasks.py +182 -0
- paasta_tools/paastaapi/model/integer_and_error.py +173 -0
- paasta_tools/paastaapi/model/kubernetes_container.py +178 -0
- paasta_tools/paastaapi/model/kubernetes_container_v2.py +219 -0
- paasta_tools/paastaapi/model/kubernetes_healthcheck.py +176 -0
- paasta_tools/paastaapi/model/kubernetes_pod.py +201 -0
- paasta_tools/paastaapi/model/kubernetes_pod_event.py +176 -0
- paasta_tools/paastaapi/model/kubernetes_pod_v2.py +213 -0
- paasta_tools/paastaapi/model/kubernetes_replica_set.py +185 -0
- paasta_tools/paastaapi/model/kubernetes_version.py +202 -0
- paasta_tools/paastaapi/model/remote_run_outcome.py +189 -0
- paasta_tools/paastaapi/model/remote_run_start.py +185 -0
- paasta_tools/paastaapi/model/remote_run_stop.py +176 -0
- paasta_tools/paastaapi/model/remote_run_token.py +173 -0
- paasta_tools/paastaapi/model/resource.py +187 -0
- paasta_tools/paastaapi/model/resource_item.py +187 -0
- paasta_tools/paastaapi/model/resource_value.py +176 -0
- paasta_tools/paastaapi/model/smartstack_backend.py +191 -0
- paasta_tools/paastaapi/model/smartstack_location.py +181 -0
- paasta_tools/paastaapi/model/smartstack_status.py +181 -0
- paasta_tools/paastaapi/model/task_tail_lines.py +176 -0
- paasta_tools/paastaapi/model_utils.py +1879 -0
- paasta_tools/paastaapi/models/__init__.py +62 -0
- paasta_tools/paastaapi/rest.py +287 -0
- paasta_tools/prune_completed_pods.py +220 -0
- paasta_tools/puppet_service_tools.py +59 -0
- paasta_tools/py.typed +1 -0
- paasta_tools/remote_git.py +127 -0
- paasta_tools/run-paasta-api-in-dev-mode.py +57 -0
- paasta_tools/run-paasta-api-playground.py +51 -0
- paasta_tools/secret_providers/__init__.py +66 -0
- paasta_tools/secret_providers/vault.py +214 -0
- paasta_tools/secret_tools.py +277 -0
- paasta_tools/setup_istio_mesh.py +353 -0
- paasta_tools/setup_kubernetes_cr.py +412 -0
- paasta_tools/setup_kubernetes_crd.py +138 -0
- paasta_tools/setup_kubernetes_internal_crd.py +154 -0
- paasta_tools/setup_kubernetes_job.py +353 -0
- paasta_tools/setup_prometheus_adapter_config.py +1028 -0
- paasta_tools/setup_tron_namespace.py +248 -0
- paasta_tools/slack.py +75 -0
- paasta_tools/smartstack_tools.py +676 -0
- paasta_tools/spark_tools.py +283 -0
- paasta_tools/synapse_srv_namespaces_fact.py +42 -0
- paasta_tools/tron/__init__.py +0 -0
- paasta_tools/tron/client.py +158 -0
- paasta_tools/tron/tron_command_context.py +194 -0
- paasta_tools/tron/tron_timeutils.py +101 -0
- paasta_tools/tron_tools.py +1448 -0
- paasta_tools/utils.py +4307 -0
- paasta_tools/yaml_tools.py +44 -0
- paasta_tools-1.21.3.data/scripts/apply_external_resources.py +79 -0
- paasta_tools-1.21.3.data/scripts/bounce_log_latency_parser.py +68 -0
- paasta_tools-1.21.3.data/scripts/check_autoscaler_max_instances.py +212 -0
- paasta_tools-1.21.3.data/scripts/check_cassandracluster_services_replication.py +35 -0
- paasta_tools-1.21.3.data/scripts/check_flink_services_health.py +203 -0
- paasta_tools-1.21.3.data/scripts/check_kubernetes_api.py +57 -0
- paasta_tools-1.21.3.data/scripts/check_kubernetes_services_replication.py +141 -0
- paasta_tools-1.21.3.data/scripts/check_manual_oapi_changes.sh +24 -0
- paasta_tools-1.21.3.data/scripts/check_oom_events.py +244 -0
- paasta_tools-1.21.3.data/scripts/check_orphans.py +306 -0
- paasta_tools-1.21.3.data/scripts/check_spark_jobs.py +234 -0
- paasta_tools-1.21.3.data/scripts/cleanup_kubernetes_cr.py +138 -0
- paasta_tools-1.21.3.data/scripts/cleanup_kubernetes_crd.py +145 -0
- paasta_tools-1.21.3.data/scripts/cleanup_kubernetes_jobs.py +344 -0
- paasta_tools-1.21.3.data/scripts/create_dynamodb_table.py +35 -0
- paasta_tools-1.21.3.data/scripts/create_paasta_playground.py +105 -0
- paasta_tools-1.21.3.data/scripts/delete_kubernetes_deployments.py +89 -0
- paasta_tools-1.21.3.data/scripts/emit_allocated_cpu_metrics.py +50 -0
- paasta_tools-1.21.3.data/scripts/generate_all_deployments +9 -0
- paasta_tools-1.21.3.data/scripts/generate_authenticating_services.py +94 -0
- paasta_tools-1.21.3.data/scripts/generate_deployments_for_service.py +255 -0
- paasta_tools-1.21.3.data/scripts/generate_services_file.py +114 -0
- paasta_tools-1.21.3.data/scripts/generate_services_yaml.py +30 -0
- paasta_tools-1.21.3.data/scripts/get_running_task_allocation.py +346 -0
- paasta_tools-1.21.3.data/scripts/habitat_fixer.py +86 -0
- paasta_tools-1.21.3.data/scripts/ide_helper.py +316 -0
- paasta_tools-1.21.3.data/scripts/is_pod_healthy_in_proxy.py +139 -0
- paasta_tools-1.21.3.data/scripts/is_pod_healthy_in_smartstack.py +50 -0
- paasta_tools-1.21.3.data/scripts/kill_bad_containers.py +109 -0
- paasta_tools-1.21.3.data/scripts/kubernetes_remove_evicted_pods.py +164 -0
- paasta_tools-1.21.3.data/scripts/mass-deploy-tag.sh +44 -0
- paasta_tools-1.21.3.data/scripts/mock_patch_checker.py +86 -0
- paasta_tools-1.21.3.data/scripts/paasta_cleanup_remote_run_resources.py +135 -0
- paasta_tools-1.21.3.data/scripts/paasta_cleanup_stale_nodes.py +181 -0
- paasta_tools-1.21.3.data/scripts/paasta_deploy_tron_jobs +3 -0
- paasta_tools-1.21.3.data/scripts/paasta_execute_docker_command.py +123 -0
- paasta_tools-1.21.3.data/scripts/paasta_secrets_sync.py +758 -0
- paasta_tools-1.21.3.data/scripts/paasta_tabcomplete.sh +23 -0
- paasta_tools-1.21.3.data/scripts/paasta_update_soa_memcpu.py +520 -0
- paasta_tools-1.21.3.data/scripts/render_template.py +129 -0
- paasta_tools-1.21.3.data/scripts/rightsizer_soaconfigs_update.py +348 -0
- paasta_tools-1.21.3.data/scripts/service_shard_remove.py +157 -0
- paasta_tools-1.21.3.data/scripts/service_shard_update.py +373 -0
- paasta_tools-1.21.3.data/scripts/setup_istio_mesh.py +353 -0
- paasta_tools-1.21.3.data/scripts/setup_kubernetes_cr.py +412 -0
- paasta_tools-1.21.3.data/scripts/setup_kubernetes_crd.py +138 -0
- paasta_tools-1.21.3.data/scripts/setup_kubernetes_internal_crd.py +154 -0
- paasta_tools-1.21.3.data/scripts/setup_kubernetes_job.py +353 -0
- paasta_tools-1.21.3.data/scripts/setup_prometheus_adapter_config.py +1028 -0
- paasta_tools-1.21.3.data/scripts/shared_ip_check.py +77 -0
- paasta_tools-1.21.3.data/scripts/synapse_srv_namespaces_fact.py +42 -0
- paasta_tools-1.21.3.data/scripts/timeouts_metrics_prom.py +64 -0
- paasta_tools-1.21.3.dist-info/LICENSE +201 -0
- paasta_tools-1.21.3.dist-info/METADATA +74 -0
- paasta_tools-1.21.3.dist-info/RECORD +348 -0
- paasta_tools-1.21.3.dist-info/WHEEL +5 -0
- paasta_tools-1.21.3.dist-info/entry_points.txt +20 -0
- paasta_tools-1.21.3.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,2323 @@
|
|
|
1
|
+
{
|
|
2
|
+
"swagger": "2.0",
|
|
3
|
+
"info": {
|
|
4
|
+
"title": "Paasta API",
|
|
5
|
+
"version": "1.2.0"
|
|
6
|
+
},
|
|
7
|
+
"basePath": "/v1",
|
|
8
|
+
"schemes": [
|
|
9
|
+
"http"
|
|
10
|
+
],
|
|
11
|
+
"consumes": [
|
|
12
|
+
"application/x-www-form-urlencoded"
|
|
13
|
+
],
|
|
14
|
+
"produces": [
|
|
15
|
+
"application/json"
|
|
16
|
+
],
|
|
17
|
+
"tags": [
|
|
18
|
+
{
|
|
19
|
+
"name": "service",
|
|
20
|
+
"description": "Information about a paasta service."
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"paths": {
|
|
24
|
+
"/version": {
|
|
25
|
+
"get": {
|
|
26
|
+
"responses": {
|
|
27
|
+
"200": {
|
|
28
|
+
"description": "Version of paasta_tools package",
|
|
29
|
+
"schema": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"summary": "Version of paasta_tools package",
|
|
35
|
+
"operationId": "showVersion"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"/deploy_queue": {
|
|
39
|
+
"get": {
|
|
40
|
+
"responses": {
|
|
41
|
+
"200": {
|
|
42
|
+
"description": "Contents of deploy queue",
|
|
43
|
+
"schema": {
|
|
44
|
+
"$ref": "#/definitions/DeployQueue"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"summary": "Get deploy queue contents",
|
|
49
|
+
"operationId": "deploy_queue"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"/flink/{service}/{instance}/config": {
|
|
53
|
+
"get": {
|
|
54
|
+
"operationId": "get_flink_cluster_config",
|
|
55
|
+
"parameters": [
|
|
56
|
+
{
|
|
57
|
+
"description": "Service name",
|
|
58
|
+
"in": "path",
|
|
59
|
+
"name": "service",
|
|
60
|
+
"required": true,
|
|
61
|
+
"type": "string"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"description": "Instance name",
|
|
65
|
+
"in": "path",
|
|
66
|
+
"name": "instance",
|
|
67
|
+
"required": true,
|
|
68
|
+
"type": "string"
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"responses": {
|
|
72
|
+
"200": {
|
|
73
|
+
"description": "Get config of a flink cluster",
|
|
74
|
+
"schema": {
|
|
75
|
+
"$ref": "#/definitions/FlinkConfig"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"404": {
|
|
79
|
+
"description": "Flink cluster not found"
|
|
80
|
+
},
|
|
81
|
+
"500": {
|
|
82
|
+
"description": "Instance failure"
|
|
83
|
+
},
|
|
84
|
+
"599": {
|
|
85
|
+
"description": "Temporary issue fetching instance"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"summary": "Get config of a flink cluster",
|
|
89
|
+
"tags": [
|
|
90
|
+
"service"
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"/flink/{service}/{instance}/jobs": {
|
|
95
|
+
"get": {
|
|
96
|
+
"operationId": "list_flink_cluster_jobs",
|
|
97
|
+
"parameters": [
|
|
98
|
+
{
|
|
99
|
+
"description": "Service name",
|
|
100
|
+
"in": "path",
|
|
101
|
+
"name": "service",
|
|
102
|
+
"required": true,
|
|
103
|
+
"type": "string"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"description": "Instance name",
|
|
107
|
+
"in": "path",
|
|
108
|
+
"name": "instance",
|
|
109
|
+
"required": true,
|
|
110
|
+
"type": "string"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"responses": {
|
|
114
|
+
"200": {
|
|
115
|
+
"description": "Get list of flink jobs in a flink cluster",
|
|
116
|
+
"schema": {
|
|
117
|
+
"$ref": "#/definitions/FlinkJobs"
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
"400": {
|
|
121
|
+
"description": "Flink cluster not found"
|
|
122
|
+
},
|
|
123
|
+
"500": {
|
|
124
|
+
"description": "Instance failure"
|
|
125
|
+
},
|
|
126
|
+
"599": {
|
|
127
|
+
"description": "Temporary issue fetching instance"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"summary": "Get list of flink jobs in a flink cluster",
|
|
131
|
+
"tags": [
|
|
132
|
+
"service"
|
|
133
|
+
]
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"/flink/{service}/{instance}/jobs/{job_id}": {
|
|
137
|
+
"get": {
|
|
138
|
+
"operationId": "get_flink_cluster_job_details",
|
|
139
|
+
"parameters": [
|
|
140
|
+
{
|
|
141
|
+
"description": "Service name",
|
|
142
|
+
"in": "path",
|
|
143
|
+
"name": "service",
|
|
144
|
+
"required": true,
|
|
145
|
+
"type": "string"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"description": "Instance name",
|
|
149
|
+
"in": "path",
|
|
150
|
+
"name": "instance",
|
|
151
|
+
"required": true,
|
|
152
|
+
"type": "string"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"description": "Job id",
|
|
156
|
+
"in": "path",
|
|
157
|
+
"name": "job_id",
|
|
158
|
+
"required": true,
|
|
159
|
+
"type": "string"
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"responses": {
|
|
163
|
+
"200": {
|
|
164
|
+
"description": "Get details of a flink job in a flink cluster",
|
|
165
|
+
"schema": {
|
|
166
|
+
"$ref": "#/definitions/FlinkJobDetails"
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"400": {
|
|
170
|
+
"description": "Flink cluster not found"
|
|
171
|
+
},
|
|
172
|
+
"500": {
|
|
173
|
+
"description": "Instance failure"
|
|
174
|
+
},
|
|
175
|
+
"599": {
|
|
176
|
+
"description": "Temporary issue fetching instance"
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"summary": "Get details of a flink job in a flink cluster",
|
|
180
|
+
"tags": [
|
|
181
|
+
"service"
|
|
182
|
+
]
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
"/flink/{service}/{instance}/overview": {
|
|
186
|
+
"get": {
|
|
187
|
+
"operationId": "get_flink_cluster_overview",
|
|
188
|
+
"parameters": [
|
|
189
|
+
{
|
|
190
|
+
"description": "Service name",
|
|
191
|
+
"in": "path",
|
|
192
|
+
"name": "service",
|
|
193
|
+
"required": true,
|
|
194
|
+
"type": "string"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"description": "Instance name",
|
|
198
|
+
"in": "path",
|
|
199
|
+
"name": "instance",
|
|
200
|
+
"required": true,
|
|
201
|
+
"type": "string"
|
|
202
|
+
}
|
|
203
|
+
],
|
|
204
|
+
"responses": {
|
|
205
|
+
"200": {
|
|
206
|
+
"description": "Get overview of a flink cluster",
|
|
207
|
+
"schema": {
|
|
208
|
+
"$ref": "#/definitions/FlinkClusterOverview"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
"404": {
|
|
212
|
+
"description": "Flink cluster not found"
|
|
213
|
+
},
|
|
214
|
+
"500": {
|
|
215
|
+
"description": "Instance failure"
|
|
216
|
+
},
|
|
217
|
+
"599": {
|
|
218
|
+
"description": "Temporary issue fetching instance"
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"summary": "Get overview of a flink cluster",
|
|
222
|
+
"tags": [
|
|
223
|
+
"service"
|
|
224
|
+
]
|
|
225
|
+
}
|
|
226
|
+
},
|
|
227
|
+
"/service_autoscaler/pause": {
|
|
228
|
+
"get": {
|
|
229
|
+
"responses": {
|
|
230
|
+
"200": {
|
|
231
|
+
"description": "The time until which the servcie autoscaler is paused for",
|
|
232
|
+
"schema": {
|
|
233
|
+
"type": "string"
|
|
234
|
+
}
|
|
235
|
+
},
|
|
236
|
+
"500": {
|
|
237
|
+
"description": "Unable to talk to zookeeper"
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"summary": "Get autoscaling pause time",
|
|
241
|
+
"operationId": "get_service_autoscaler_pause"
|
|
242
|
+
},
|
|
243
|
+
"post": {
|
|
244
|
+
"responses": {
|
|
245
|
+
"200": {
|
|
246
|
+
"description": "Service autoscaler successfully paused"
|
|
247
|
+
},
|
|
248
|
+
"500": {
|
|
249
|
+
"description": "Unable to talk to zookeeper"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"operationId": "update_service_autoscaler_pause",
|
|
253
|
+
"parameters": [
|
|
254
|
+
{
|
|
255
|
+
"in": "body",
|
|
256
|
+
"name": "json_body",
|
|
257
|
+
"required": true,
|
|
258
|
+
"schema": {
|
|
259
|
+
"type": "object",
|
|
260
|
+
"properties": {
|
|
261
|
+
"minutes": {
|
|
262
|
+
"type": "integer"
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
]
|
|
268
|
+
},
|
|
269
|
+
"delete": {
|
|
270
|
+
"responses": {
|
|
271
|
+
"200": {
|
|
272
|
+
"description": "Service autoscaler successfully unpaused"
|
|
273
|
+
},
|
|
274
|
+
"500": {
|
|
275
|
+
"description": "Unable to talk to zookeeper"
|
|
276
|
+
}
|
|
277
|
+
},
|
|
278
|
+
"summary": "Unpause the autoscaler",
|
|
279
|
+
"operationId": "delete_service_autoscaler_pause"
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
"/resources/utilization": {
|
|
283
|
+
"get": {
|
|
284
|
+
"responses": {
|
|
285
|
+
"200": {
|
|
286
|
+
"description": "Resources in the cluster, filtered and grouped by parameters",
|
|
287
|
+
"schema": {
|
|
288
|
+
"$ref": "#/definitions/Resource"
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"400": {
|
|
292
|
+
"description": "Poorly formated query parameters"
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
"summary": "Get resources in the cluster",
|
|
296
|
+
"operationId": "resources",
|
|
297
|
+
"tags": [
|
|
298
|
+
"resources"
|
|
299
|
+
],
|
|
300
|
+
"parameters": [
|
|
301
|
+
{
|
|
302
|
+
"in": "query",
|
|
303
|
+
"description": "comma separated list of keys to group by",
|
|
304
|
+
"name": "groupings",
|
|
305
|
+
"required": false,
|
|
306
|
+
"type": "array",
|
|
307
|
+
"collectionFormat": "csv",
|
|
308
|
+
"items": {
|
|
309
|
+
"type": "string"
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"in": "query",
|
|
314
|
+
"description": "List of slave filters in format 'filter=attr_name:value1,value2&filter=attr2:value3,value4'. Matches attr_name=(value1 OR value2) AND attr2=(value3 OR value4)",
|
|
315
|
+
"name": "filter",
|
|
316
|
+
"required": false,
|
|
317
|
+
"type": "array",
|
|
318
|
+
"collectionFormat": "multi",
|
|
319
|
+
"items": {
|
|
320
|
+
"type": "string",
|
|
321
|
+
"pattern": "(.*):(.*,)*(.*)"
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
]
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
"/services": {
|
|
328
|
+
"get": {
|
|
329
|
+
"responses": {
|
|
330
|
+
"200": {
|
|
331
|
+
"description": "Services and their instances on the current cluster",
|
|
332
|
+
"schema": {
|
|
333
|
+
"type": "object",
|
|
334
|
+
"properties": {
|
|
335
|
+
"services": {
|
|
336
|
+
"type": "array",
|
|
337
|
+
"items": {
|
|
338
|
+
"type": "array",
|
|
339
|
+
"items": {}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
"summary": "List service names and service instance names on the current cluster",
|
|
347
|
+
"operationId": "list_services_for_cluster",
|
|
348
|
+
"tags": [
|
|
349
|
+
"service"
|
|
350
|
+
]
|
|
351
|
+
}
|
|
352
|
+
},
|
|
353
|
+
"/services/{service}": {
|
|
354
|
+
"get": {
|
|
355
|
+
"responses": {
|
|
356
|
+
"200": {
|
|
357
|
+
"description": "Instances of a service",
|
|
358
|
+
"schema": {
|
|
359
|
+
"type": "object",
|
|
360
|
+
"properties": {
|
|
361
|
+
"instances": {
|
|
362
|
+
"type": "array",
|
|
363
|
+
"items": {
|
|
364
|
+
"type": "string"
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
"summary": "List instances of service_name",
|
|
372
|
+
"operationId": "list_instances",
|
|
373
|
+
"tags": [
|
|
374
|
+
"service"
|
|
375
|
+
],
|
|
376
|
+
"parameters": [
|
|
377
|
+
{
|
|
378
|
+
"in": "path",
|
|
379
|
+
"description": "Service name",
|
|
380
|
+
"name": "service",
|
|
381
|
+
"required": true,
|
|
382
|
+
"type": "string"
|
|
383
|
+
}
|
|
384
|
+
]
|
|
385
|
+
}
|
|
386
|
+
},
|
|
387
|
+
"/services/{service}/{instance}/state/{desired_state}": {
|
|
388
|
+
"post": {
|
|
389
|
+
"responses": {
|
|
390
|
+
"200": {
|
|
391
|
+
"description": "Result of instance state change"
|
|
392
|
+
},
|
|
393
|
+
"404": {
|
|
394
|
+
"description": "Deployment key not found"
|
|
395
|
+
},
|
|
396
|
+
"500": {
|
|
397
|
+
"description": "Instance failure"
|
|
398
|
+
}
|
|
399
|
+
},
|
|
400
|
+
"summary": "Change state of service_name.instance_name",
|
|
401
|
+
"operationId": "instance_set_state",
|
|
402
|
+
"tags": [
|
|
403
|
+
"service"
|
|
404
|
+
],
|
|
405
|
+
"parameters": [
|
|
406
|
+
{
|
|
407
|
+
"in": "path",
|
|
408
|
+
"description": "Service name",
|
|
409
|
+
"name": "service",
|
|
410
|
+
"required": true,
|
|
411
|
+
"type": "string"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"in": "path",
|
|
415
|
+
"description": "Instance name",
|
|
416
|
+
"name": "instance",
|
|
417
|
+
"required": true,
|
|
418
|
+
"type": "string"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"in": "path",
|
|
422
|
+
"description": "Desired state",
|
|
423
|
+
"name": "desired_state",
|
|
424
|
+
"required": true,
|
|
425
|
+
"type": "string"
|
|
426
|
+
}
|
|
427
|
+
]
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
"/services/{service}/{instance}/bounce_status": {
|
|
431
|
+
"get": {
|
|
432
|
+
"responses": {
|
|
433
|
+
"200": {
|
|
434
|
+
"description": "Bounce status of an instance",
|
|
435
|
+
"schema": {
|
|
436
|
+
"$ref": "#/definitions/InstanceBounceStatus"
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
"204": {
|
|
440
|
+
"description": "Instance is not bounceable and therefore has no bounce status"
|
|
441
|
+
},
|
|
442
|
+
"404": {
|
|
443
|
+
"description": "Deployment key not found"
|
|
444
|
+
},
|
|
445
|
+
"500": {
|
|
446
|
+
"description": "Instance failure"
|
|
447
|
+
}
|
|
448
|
+
},
|
|
449
|
+
"summary": "Get bounce status of service_name.instance_name",
|
|
450
|
+
"operationId": "bounce_status_instance",
|
|
451
|
+
"tags": [
|
|
452
|
+
"service"
|
|
453
|
+
],
|
|
454
|
+
"parameters": [
|
|
455
|
+
{
|
|
456
|
+
"in": "path",
|
|
457
|
+
"description": "Service name",
|
|
458
|
+
"name": "service",
|
|
459
|
+
"required": true,
|
|
460
|
+
"type": "string"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"in": "path",
|
|
464
|
+
"description": "Instance name",
|
|
465
|
+
"name": "instance",
|
|
466
|
+
"required": true,
|
|
467
|
+
"type": "string"
|
|
468
|
+
}
|
|
469
|
+
]
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"/services/{service}/{instance}/status": {
|
|
473
|
+
"get": {
|
|
474
|
+
"responses": {
|
|
475
|
+
"200": {
|
|
476
|
+
"description": "Detailed status of an instance",
|
|
477
|
+
"schema": {
|
|
478
|
+
"$ref": "#/definitions/InstanceStatus"
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
"404": {
|
|
482
|
+
"description": "Deployment key not found"
|
|
483
|
+
},
|
|
484
|
+
"500": {
|
|
485
|
+
"description": "Instance failure"
|
|
486
|
+
}
|
|
487
|
+
},
|
|
488
|
+
"summary": "Get status of service_name.instance_name",
|
|
489
|
+
"operationId": "status_instance",
|
|
490
|
+
"tags": [
|
|
491
|
+
"service"
|
|
492
|
+
],
|
|
493
|
+
"parameters": [
|
|
494
|
+
{
|
|
495
|
+
"in": "path",
|
|
496
|
+
"description": "Service name",
|
|
497
|
+
"name": "service",
|
|
498
|
+
"required": true,
|
|
499
|
+
"type": "string"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"in": "path",
|
|
503
|
+
"description": "Instance name",
|
|
504
|
+
"name": "instance",
|
|
505
|
+
"required": true,
|
|
506
|
+
"type": "string"
|
|
507
|
+
},
|
|
508
|
+
{
|
|
509
|
+
"in": "query",
|
|
510
|
+
"description": "Include verbose status information",
|
|
511
|
+
"name": "verbose",
|
|
512
|
+
"required": false,
|
|
513
|
+
"type": "integer",
|
|
514
|
+
"format": "int32"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"in": "query",
|
|
518
|
+
"description": "Include Smartstack information",
|
|
519
|
+
"name": "include_smartstack",
|
|
520
|
+
"required": false,
|
|
521
|
+
"type": "boolean"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"in": "query",
|
|
525
|
+
"description": "Include Envoy information",
|
|
526
|
+
"name": "include_envoy",
|
|
527
|
+
"required": false,
|
|
528
|
+
"type": "boolean"
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"in": "query",
|
|
532
|
+
"description": "Include Mesos information",
|
|
533
|
+
"name": "include_mesos",
|
|
534
|
+
"required": false,
|
|
535
|
+
"type": "boolean"
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
"in": "query",
|
|
539
|
+
"description": "Use new version of paasta status for services",
|
|
540
|
+
"name": "new",
|
|
541
|
+
"required": false,
|
|
542
|
+
"type": "boolean"
|
|
543
|
+
},
|
|
544
|
+
{
|
|
545
|
+
"in": "query",
|
|
546
|
+
"description": "Search all namespaces for running copies",
|
|
547
|
+
"name": "all_namespaces",
|
|
548
|
+
"required": false,
|
|
549
|
+
"type": "boolean"
|
|
550
|
+
}
|
|
551
|
+
]
|
|
552
|
+
}
|
|
553
|
+
},
|
|
554
|
+
"/services/{service}/{instance}/mesh_status": {
|
|
555
|
+
"get": {
|
|
556
|
+
"responses": {
|
|
557
|
+
"200": {
|
|
558
|
+
"description": "Mesh status of an instance",
|
|
559
|
+
"schema": {
|
|
560
|
+
"$ref": "#/definitions/InstanceMeshStatus"
|
|
561
|
+
}
|
|
562
|
+
},
|
|
563
|
+
"404": {
|
|
564
|
+
"description": "Deployment key not found"
|
|
565
|
+
},
|
|
566
|
+
"405": {
|
|
567
|
+
"description": "Instance type not supported"
|
|
568
|
+
},
|
|
569
|
+
"500": {
|
|
570
|
+
"description": "Instance failure"
|
|
571
|
+
}
|
|
572
|
+
},
|
|
573
|
+
"summary": "Get mesh status for service_name.instance_name",
|
|
574
|
+
"operationId": "mesh_instance",
|
|
575
|
+
"tags": [
|
|
576
|
+
"service"
|
|
577
|
+
],
|
|
578
|
+
"parameters": [
|
|
579
|
+
{
|
|
580
|
+
"in": "path",
|
|
581
|
+
"description": "Service name",
|
|
582
|
+
"name": "service",
|
|
583
|
+
"required": true,
|
|
584
|
+
"type": "string"
|
|
585
|
+
},
|
|
586
|
+
{
|
|
587
|
+
"in": "path",
|
|
588
|
+
"description": "Instance name",
|
|
589
|
+
"name": "instance",
|
|
590
|
+
"required": true,
|
|
591
|
+
"type": "string"
|
|
592
|
+
},
|
|
593
|
+
{
|
|
594
|
+
"in": "query",
|
|
595
|
+
"description": "Include Smartstack information",
|
|
596
|
+
"name": "include_smartstack",
|
|
597
|
+
"required": false,
|
|
598
|
+
"type": "boolean",
|
|
599
|
+
"default": true
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"in": "query",
|
|
603
|
+
"description": "Include Envoy information",
|
|
604
|
+
"name": "include_envoy",
|
|
605
|
+
"required": false,
|
|
606
|
+
"type": "boolean",
|
|
607
|
+
"default": true
|
|
608
|
+
}
|
|
609
|
+
]
|
|
610
|
+
}
|
|
611
|
+
},
|
|
612
|
+
"/services/{service}/{instance}/delay": {
|
|
613
|
+
"get": {
|
|
614
|
+
"responses": {
|
|
615
|
+
"200": {
|
|
616
|
+
"description": "The service is delayed for these possible reasons",
|
|
617
|
+
"schema": {
|
|
618
|
+
"$ref": "#/definitions/InstanceDelay"
|
|
619
|
+
}
|
|
620
|
+
},
|
|
621
|
+
"204": {
|
|
622
|
+
"description": "Could not find any reasons for a delay"
|
|
623
|
+
},
|
|
624
|
+
"404": {
|
|
625
|
+
"description": "Deployment key not found"
|
|
626
|
+
},
|
|
627
|
+
"500": {
|
|
628
|
+
"description": "Instance failure"
|
|
629
|
+
}
|
|
630
|
+
},
|
|
631
|
+
"summary": "Get the possible reasons for a deployment delay for a marathon service.instance",
|
|
632
|
+
"operationId": "delay_instance",
|
|
633
|
+
"tags": [
|
|
634
|
+
"service"
|
|
635
|
+
],
|
|
636
|
+
"parameters": [
|
|
637
|
+
{
|
|
638
|
+
"in": "path",
|
|
639
|
+
"description": "Service name",
|
|
640
|
+
"name": "service",
|
|
641
|
+
"required": true,
|
|
642
|
+
"type": "string"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"in": "path",
|
|
646
|
+
"description": "Instance name",
|
|
647
|
+
"name": "instance",
|
|
648
|
+
"required": true,
|
|
649
|
+
"type": "string"
|
|
650
|
+
}
|
|
651
|
+
]
|
|
652
|
+
}
|
|
653
|
+
},
|
|
654
|
+
"/services/{service}/{instance}/tasks": {
|
|
655
|
+
"get": {
|
|
656
|
+
"responses": {
|
|
657
|
+
"200": {
|
|
658
|
+
"description": "List of tasks associated with an instance",
|
|
659
|
+
"schema": {
|
|
660
|
+
"$ref": "#/definitions/InstanceTasks"
|
|
661
|
+
}
|
|
662
|
+
},
|
|
663
|
+
"400": {
|
|
664
|
+
"description": "Bad request"
|
|
665
|
+
},
|
|
666
|
+
"404": {
|
|
667
|
+
"description": "Deployment key not found"
|
|
668
|
+
},
|
|
669
|
+
"500": {
|
|
670
|
+
"description": "Instance failure"
|
|
671
|
+
}
|
|
672
|
+
},
|
|
673
|
+
"summary": "Get mesos tasks of service_name.instance_name",
|
|
674
|
+
"operationId": "tasks_instance",
|
|
675
|
+
"tags": [
|
|
676
|
+
"service"
|
|
677
|
+
],
|
|
678
|
+
"parameters": [
|
|
679
|
+
{
|
|
680
|
+
"in": "path",
|
|
681
|
+
"description": "Service name",
|
|
682
|
+
"name": "service",
|
|
683
|
+
"required": true,
|
|
684
|
+
"type": "string"
|
|
685
|
+
},
|
|
686
|
+
{
|
|
687
|
+
"in": "path",
|
|
688
|
+
"description": "Instance name",
|
|
689
|
+
"name": "instance",
|
|
690
|
+
"required": true,
|
|
691
|
+
"type": "string"
|
|
692
|
+
},
|
|
693
|
+
{
|
|
694
|
+
"in": "query",
|
|
695
|
+
"description": "slave hostname to filter tasks by",
|
|
696
|
+
"name": "slave_hostname",
|
|
697
|
+
"required": false,
|
|
698
|
+
"type": "string"
|
|
699
|
+
},
|
|
700
|
+
{
|
|
701
|
+
"in": "query",
|
|
702
|
+
"description": "Return slave and executor for task",
|
|
703
|
+
"name": "verbose",
|
|
704
|
+
"required": false,
|
|
705
|
+
"type": "boolean"
|
|
706
|
+
}
|
|
707
|
+
]
|
|
708
|
+
}
|
|
709
|
+
},
|
|
710
|
+
"/services/{service}/{instance}/tasks/{task_id}": {
|
|
711
|
+
"get": {
|
|
712
|
+
"responses": {
|
|
713
|
+
"200": {
|
|
714
|
+
"description": "Task associated with an instance with specified ID",
|
|
715
|
+
"schema": {
|
|
716
|
+
"$ref": "#/definitions/InstanceTask"
|
|
717
|
+
}
|
|
718
|
+
},
|
|
719
|
+
"400": {
|
|
720
|
+
"description": "Bad request"
|
|
721
|
+
},
|
|
722
|
+
"404": {
|
|
723
|
+
"description": "Task with ID not found"
|
|
724
|
+
},
|
|
725
|
+
"500": {
|
|
726
|
+
"description": "Instance failure"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"summary": "Get mesos task of service_name.instance_name by task_id",
|
|
730
|
+
"operationId": "task_instance",
|
|
731
|
+
"tags": [
|
|
732
|
+
"service"
|
|
733
|
+
],
|
|
734
|
+
"parameters": [
|
|
735
|
+
{
|
|
736
|
+
"in": "path",
|
|
737
|
+
"description": "Service name",
|
|
738
|
+
"name": "service",
|
|
739
|
+
"required": true,
|
|
740
|
+
"type": "string"
|
|
741
|
+
},
|
|
742
|
+
{
|
|
743
|
+
"in": "path",
|
|
744
|
+
"description": "Instance name",
|
|
745
|
+
"name": "instance",
|
|
746
|
+
"required": true,
|
|
747
|
+
"type": "string"
|
|
748
|
+
},
|
|
749
|
+
{
|
|
750
|
+
"in": "path",
|
|
751
|
+
"description": "mesos task id",
|
|
752
|
+
"name": "task_id",
|
|
753
|
+
"required": true,
|
|
754
|
+
"type": "string"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"in": "query",
|
|
758
|
+
"description": "Return slave and executor for task",
|
|
759
|
+
"name": "verbose",
|
|
760
|
+
"required": false,
|
|
761
|
+
"type": "boolean"
|
|
762
|
+
}
|
|
763
|
+
]
|
|
764
|
+
}
|
|
765
|
+
},
|
|
766
|
+
"/services/{service}/{instance}/autoscaler": {
|
|
767
|
+
"get": {
|
|
768
|
+
"responses": {
|
|
769
|
+
"200": {
|
|
770
|
+
"description": "Get desired instance count for a service instance",
|
|
771
|
+
"schema": {
|
|
772
|
+
"$ref": "#/definitions/AutoscalerCountMsg"
|
|
773
|
+
}
|
|
774
|
+
},
|
|
775
|
+
"404": {
|
|
776
|
+
"description": "Deployment key not found"
|
|
777
|
+
},
|
|
778
|
+
"500": {
|
|
779
|
+
"description": "Instance failure"
|
|
780
|
+
}
|
|
781
|
+
},
|
|
782
|
+
"summary": "Get status of service_name.instance_name",
|
|
783
|
+
"operationId": "get_autoscaler_count",
|
|
784
|
+
"tags": [
|
|
785
|
+
"autoscaler"
|
|
786
|
+
],
|
|
787
|
+
"parameters": [
|
|
788
|
+
{
|
|
789
|
+
"in": "path",
|
|
790
|
+
"description": "Service name",
|
|
791
|
+
"name": "service",
|
|
792
|
+
"required": true,
|
|
793
|
+
"type": "string"
|
|
794
|
+
},
|
|
795
|
+
{
|
|
796
|
+
"in": "path",
|
|
797
|
+
"description": "Instance name",
|
|
798
|
+
"name": "instance",
|
|
799
|
+
"required": true,
|
|
800
|
+
"type": "string"
|
|
801
|
+
}
|
|
802
|
+
]
|
|
803
|
+
},
|
|
804
|
+
"post": {
|
|
805
|
+
"responses": {
|
|
806
|
+
"202": {
|
|
807
|
+
"description": "Set desired instance count for a service instance",
|
|
808
|
+
"schema": {
|
|
809
|
+
"$ref": "#/definitions/AutoscalerCountMsg"
|
|
810
|
+
}
|
|
811
|
+
},
|
|
812
|
+
"404": {
|
|
813
|
+
"description": "Deployment key not found"
|
|
814
|
+
},
|
|
815
|
+
"500": {
|
|
816
|
+
"description": "Instance failure"
|
|
817
|
+
}
|
|
818
|
+
},
|
|
819
|
+
"summary": "Get status of service_name.instance_name",
|
|
820
|
+
"operationId": "update_autoscaler_count",
|
|
821
|
+
"tags": [
|
|
822
|
+
"autoscaler"
|
|
823
|
+
],
|
|
824
|
+
"parameters": [
|
|
825
|
+
{
|
|
826
|
+
"in": "path",
|
|
827
|
+
"description": "Service name",
|
|
828
|
+
"name": "service",
|
|
829
|
+
"required": true,
|
|
830
|
+
"type": "string"
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"in": "path",
|
|
834
|
+
"description": "Instance name",
|
|
835
|
+
"name": "instance",
|
|
836
|
+
"required": true,
|
|
837
|
+
"type": "string"
|
|
838
|
+
},
|
|
839
|
+
{
|
|
840
|
+
"in": "body",
|
|
841
|
+
"name": "json_body",
|
|
842
|
+
"required": true,
|
|
843
|
+
"schema": {
|
|
844
|
+
"$ref": "#/definitions/AutoscalerCountMsg"
|
|
845
|
+
}
|
|
846
|
+
}
|
|
847
|
+
]
|
|
848
|
+
}
|
|
849
|
+
},
|
|
850
|
+
"/remote_run/{service}/{instance}/start": {
|
|
851
|
+
"post": {
|
|
852
|
+
"responses": {
|
|
853
|
+
"200": {
|
|
854
|
+
"description": "Successfully started remote-run sandbox",
|
|
855
|
+
"schema": {
|
|
856
|
+
"$ref": "#/definitions/RemoteRunOutcome"
|
|
857
|
+
}
|
|
858
|
+
},
|
|
859
|
+
"403": {
|
|
860
|
+
"description": "Unauthorized to remote-run this service"
|
|
861
|
+
},
|
|
862
|
+
"404": {
|
|
863
|
+
"description": "Deployment key not found"
|
|
864
|
+
},
|
|
865
|
+
"500": {
|
|
866
|
+
"description": "Failure"
|
|
867
|
+
}
|
|
868
|
+
},
|
|
869
|
+
"summary": "Launch a remote-run pod",
|
|
870
|
+
"operationId": "remote_run_start",
|
|
871
|
+
"tags": [
|
|
872
|
+
"remote_run"
|
|
873
|
+
],
|
|
874
|
+
"parameters": [
|
|
875
|
+
{
|
|
876
|
+
"in": "path",
|
|
877
|
+
"description": "Service name",
|
|
878
|
+
"name": "service",
|
|
879
|
+
"required": true,
|
|
880
|
+
"type": "string"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"in": "path",
|
|
884
|
+
"description": "Instance name",
|
|
885
|
+
"name": "instance",
|
|
886
|
+
"required": true,
|
|
887
|
+
"type": "string"
|
|
888
|
+
},
|
|
889
|
+
{
|
|
890
|
+
"in": "body",
|
|
891
|
+
"description": "Job bootstrap settings",
|
|
892
|
+
"name": "json_body",
|
|
893
|
+
"required": true,
|
|
894
|
+
"schema": {
|
|
895
|
+
"$ref": "#/definitions/RemoteRunStart"
|
|
896
|
+
}
|
|
897
|
+
}
|
|
898
|
+
]
|
|
899
|
+
}
|
|
900
|
+
},
|
|
901
|
+
"/remote_run/{service}/{instance}/stop": {
|
|
902
|
+
"post": {
|
|
903
|
+
"responses": {
|
|
904
|
+
"200": {
|
|
905
|
+
"description": "Remote run pod stopped",
|
|
906
|
+
"schema": {
|
|
907
|
+
"$ref": "#/definitions/RemoteRunOutcome"
|
|
908
|
+
}
|
|
909
|
+
},
|
|
910
|
+
"403": {
|
|
911
|
+
"description": "Unauthorized to remote-run this service"
|
|
912
|
+
},
|
|
913
|
+
"404": {
|
|
914
|
+
"description": "Service instance not found"
|
|
915
|
+
},
|
|
916
|
+
"500": {
|
|
917
|
+
"description": "Failure"
|
|
918
|
+
}
|
|
919
|
+
},
|
|
920
|
+
"summary": "Stop a remote run",
|
|
921
|
+
"operationId": "remote_run_stop",
|
|
922
|
+
"tags": [
|
|
923
|
+
"service"
|
|
924
|
+
],
|
|
925
|
+
"parameters": [
|
|
926
|
+
{
|
|
927
|
+
"in": "path",
|
|
928
|
+
"description": "Service name",
|
|
929
|
+
"name": "service",
|
|
930
|
+
"required": true,
|
|
931
|
+
"type": "string"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"in": "path",
|
|
935
|
+
"description": "Instance name",
|
|
936
|
+
"name": "instance",
|
|
937
|
+
"required": true,
|
|
938
|
+
"type": "string"
|
|
939
|
+
},
|
|
940
|
+
{
|
|
941
|
+
"in": "body",
|
|
942
|
+
"description": "Details about the job to be stopped",
|
|
943
|
+
"name": "json_body",
|
|
944
|
+
"required": true,
|
|
945
|
+
"schema": {
|
|
946
|
+
"$ref": "#/definitions/RemoteRunStop"
|
|
947
|
+
}
|
|
948
|
+
}
|
|
949
|
+
]
|
|
950
|
+
}
|
|
951
|
+
},
|
|
952
|
+
"/remote_run/{service}/{instance}/poll": {
|
|
953
|
+
"get": {
|
|
954
|
+
"responses": {
|
|
955
|
+
"200": {
|
|
956
|
+
"description": "Pod status information",
|
|
957
|
+
"schema": {
|
|
958
|
+
"$ref": "#/definitions/RemoteRunOutcome"
|
|
959
|
+
}
|
|
960
|
+
},
|
|
961
|
+
"403": {
|
|
962
|
+
"description": "Unauthorized to remote-run this service"
|
|
963
|
+
},
|
|
964
|
+
"404": {
|
|
965
|
+
"description": "Service instance not found"
|
|
966
|
+
},
|
|
967
|
+
"500": {
|
|
968
|
+
"description": "Failure"
|
|
969
|
+
}
|
|
970
|
+
},
|
|
971
|
+
"summary": "Check if remote run pod is ready",
|
|
972
|
+
"operationId": "remote_run_poll",
|
|
973
|
+
"tags": [
|
|
974
|
+
"remote_run"
|
|
975
|
+
],
|
|
976
|
+
"parameters": [
|
|
977
|
+
{
|
|
978
|
+
"in": "path",
|
|
979
|
+
"description": "Service name",
|
|
980
|
+
"name": "service",
|
|
981
|
+
"required": true,
|
|
982
|
+
"type": "string"
|
|
983
|
+
},
|
|
984
|
+
{
|
|
985
|
+
"in": "path",
|
|
986
|
+
"description": "Instance name",
|
|
987
|
+
"name": "instance",
|
|
988
|
+
"required": true,
|
|
989
|
+
"type": "string"
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
"in": "query",
|
|
993
|
+
"description": "Kubernetes job name (returned from the /start endpoint)",
|
|
994
|
+
"name": "job_name",
|
|
995
|
+
"required": true,
|
|
996
|
+
"type": "string"
|
|
997
|
+
},
|
|
998
|
+
{
|
|
999
|
+
"in": "query",
|
|
1000
|
+
"description": "User requesting the job",
|
|
1001
|
+
"name": "user",
|
|
1002
|
+
"required": true,
|
|
1003
|
+
"type": "string"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"in": "query",
|
|
1007
|
+
"description": "Whether this is a toolbox job",
|
|
1008
|
+
"name": "toolbox",
|
|
1009
|
+
"type": "boolean"
|
|
1010
|
+
}
|
|
1011
|
+
]
|
|
1012
|
+
}
|
|
1013
|
+
},
|
|
1014
|
+
"/remote_run/{service}/{instance}/token": {
|
|
1015
|
+
"get": {
|
|
1016
|
+
"responses": {
|
|
1017
|
+
"200": {
|
|
1018
|
+
"description": "Token generated successfully",
|
|
1019
|
+
"schema": {
|
|
1020
|
+
"$ref": "#/definitions/RemoteRunToken"
|
|
1021
|
+
}
|
|
1022
|
+
},
|
|
1023
|
+
"403": {
|
|
1024
|
+
"description": "Unauthorized to remote-run this service"
|
|
1025
|
+
},
|
|
1026
|
+
"404": {
|
|
1027
|
+
"description": "Service instance not found"
|
|
1028
|
+
},
|
|
1029
|
+
"500": {
|
|
1030
|
+
"description": "Failure"
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
1033
|
+
"summary": "Get a remote run token",
|
|
1034
|
+
"operationId": "remote_run_token",
|
|
1035
|
+
"tags": [
|
|
1036
|
+
"remote_run"
|
|
1037
|
+
],
|
|
1038
|
+
"parameters": [
|
|
1039
|
+
{
|
|
1040
|
+
"in": "path",
|
|
1041
|
+
"description": "Service name",
|
|
1042
|
+
"name": "service",
|
|
1043
|
+
"required": true,
|
|
1044
|
+
"type": "string"
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
"in": "path",
|
|
1048
|
+
"description": "Instance name",
|
|
1049
|
+
"name": "instance",
|
|
1050
|
+
"required": true,
|
|
1051
|
+
"type": "string"
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"in": "query",
|
|
1055
|
+
"description": "User requesting the token",
|
|
1056
|
+
"name": "user",
|
|
1057
|
+
"required": true,
|
|
1058
|
+
"type": "string"
|
|
1059
|
+
}
|
|
1060
|
+
]
|
|
1061
|
+
}
|
|
1062
|
+
}
|
|
1063
|
+
},
|
|
1064
|
+
"definitions": {
|
|
1065
|
+
"AutoscalerCountMsg": {
|
|
1066
|
+
"description": "Specification for autoscaler count endpoints.",
|
|
1067
|
+
"type": "object",
|
|
1068
|
+
"properties": {
|
|
1069
|
+
"calculated_instances": {
|
|
1070
|
+
"type": "integer"
|
|
1071
|
+
},
|
|
1072
|
+
"desired_instances": {
|
|
1073
|
+
"type": "integer"
|
|
1074
|
+
},
|
|
1075
|
+
"status": {
|
|
1076
|
+
"type": "string"
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
},
|
|
1080
|
+
"InstanceMeshStatus": {
|
|
1081
|
+
"type": "object",
|
|
1082
|
+
"properties": {
|
|
1083
|
+
"service": {
|
|
1084
|
+
"type": "string",
|
|
1085
|
+
"description": "Service name"
|
|
1086
|
+
},
|
|
1087
|
+
"instance": {
|
|
1088
|
+
"type": "string",
|
|
1089
|
+
"description": "Instance name"
|
|
1090
|
+
},
|
|
1091
|
+
"smartstack": {
|
|
1092
|
+
"$ref": "#/definitions/SmartstackStatus",
|
|
1093
|
+
"description": "Status of the service in smartstack"
|
|
1094
|
+
},
|
|
1095
|
+
"envoy": {
|
|
1096
|
+
"$ref": "#/definitions/EnvoyStatus",
|
|
1097
|
+
"description": "Status of the service in Envoy"
|
|
1098
|
+
}
|
|
1099
|
+
}
|
|
1100
|
+
},
|
|
1101
|
+
"InstanceStatus": {
|
|
1102
|
+
"type": "object",
|
|
1103
|
+
"properties": {
|
|
1104
|
+
"service": {
|
|
1105
|
+
"type": "string",
|
|
1106
|
+
"description": "Service name"
|
|
1107
|
+
},
|
|
1108
|
+
"instance": {
|
|
1109
|
+
"type": "string",
|
|
1110
|
+
"description": "Instance name"
|
|
1111
|
+
},
|
|
1112
|
+
"git_sha": {
|
|
1113
|
+
"type": "string",
|
|
1114
|
+
"description": "Git sha of a service"
|
|
1115
|
+
},
|
|
1116
|
+
"kubernetes": {
|
|
1117
|
+
"$ref": "#/definitions/InstanceStatusKubernetes",
|
|
1118
|
+
"description": "Kubernetes instance status"
|
|
1119
|
+
},
|
|
1120
|
+
"kubernetes_v2": {
|
|
1121
|
+
"$ref": "#/definitions/InstanceStatusKubernetesV2",
|
|
1122
|
+
"description": "Kubernetes instance status"
|
|
1123
|
+
},
|
|
1124
|
+
"tron": {
|
|
1125
|
+
"$ref": "#/definitions/InstanceStatusTron",
|
|
1126
|
+
"description": "Tron instance status"
|
|
1127
|
+
},
|
|
1128
|
+
"adhoc": {
|
|
1129
|
+
"$ref": "#/definitions/InstanceStatusAdhoc",
|
|
1130
|
+
"description": "Adhoc instance status"
|
|
1131
|
+
},
|
|
1132
|
+
"flink": {
|
|
1133
|
+
"type": "object",
|
|
1134
|
+
"properties": {
|
|
1135
|
+
"status": {
|
|
1136
|
+
"$ref": "#/definitions/InstanceStatusFlinkStatus"
|
|
1137
|
+
},
|
|
1138
|
+
"metadata": {
|
|
1139
|
+
"$ref": "#/definitions/InstanceStatusFlinkMetadata"
|
|
1140
|
+
}
|
|
1141
|
+
},
|
|
1142
|
+
"description": "Nullable Flink instance status and metadata"
|
|
1143
|
+
},
|
|
1144
|
+
"flinkeks": {
|
|
1145
|
+
"type": "object",
|
|
1146
|
+
"properties": {
|
|
1147
|
+
"status": {
|
|
1148
|
+
"$ref": "#/definitions/InstanceStatusFlinkStatus"
|
|
1149
|
+
},
|
|
1150
|
+
"metadata": {
|
|
1151
|
+
"$ref": "#/definitions/InstanceStatusFlinkMetadata"
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1154
|
+
"description": "Nullable Flink instance status and metadata"
|
|
1155
|
+
},
|
|
1156
|
+
"kafkacluster": {
|
|
1157
|
+
"type": "object",
|
|
1158
|
+
"properties": {
|
|
1159
|
+
"status": {
|
|
1160
|
+
"$ref": "#/definitions/InstanceStatusKafkaCluster"
|
|
1161
|
+
},
|
|
1162
|
+
"metadata": {
|
|
1163
|
+
"$ref": "#/definitions/InstanceMetadataKafkaCluster"
|
|
1164
|
+
}
|
|
1165
|
+
},
|
|
1166
|
+
"description": "Nullable KafkaCluster instance status and metadata"
|
|
1167
|
+
},
|
|
1168
|
+
"cassandracluster": {
|
|
1169
|
+
"type": "object",
|
|
1170
|
+
"properties": {
|
|
1171
|
+
"status": {
|
|
1172
|
+
"$ref": "#/definitions/InstanceStatusCassandraCluster"
|
|
1173
|
+
}
|
|
1174
|
+
},
|
|
1175
|
+
"description": "Nullable CassandraCluster instance status"
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
},
|
|
1179
|
+
"InstanceDelay": {
|
|
1180
|
+
"type": "object"
|
|
1181
|
+
},
|
|
1182
|
+
"TaskTailLines": {
|
|
1183
|
+
"type": "object",
|
|
1184
|
+
"properties": {
|
|
1185
|
+
"stdout": {
|
|
1186
|
+
"type": "array",
|
|
1187
|
+
"description": "The requested number of lines from the task's stdout",
|
|
1188
|
+
"items": {
|
|
1189
|
+
"type": "string"
|
|
1190
|
+
}
|
|
1191
|
+
},
|
|
1192
|
+
"stderr": {
|
|
1193
|
+
"type": "array",
|
|
1194
|
+
"description": "The requested number of lines from the task's stderr",
|
|
1195
|
+
"items": {
|
|
1196
|
+
"type": "string"
|
|
1197
|
+
}
|
|
1198
|
+
},
|
|
1199
|
+
"error_message": {
|
|
1200
|
+
"type": "string",
|
|
1201
|
+
"description": "Error message when fetching tail lines fails"
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
},
|
|
1205
|
+
"SmartstackStatus": {
|
|
1206
|
+
"type": "object",
|
|
1207
|
+
"properties": {
|
|
1208
|
+
"registration": {
|
|
1209
|
+
"type": "string",
|
|
1210
|
+
"description": "Registration name of the service in Smartstack"
|
|
1211
|
+
},
|
|
1212
|
+
"expected_backends_per_location": {
|
|
1213
|
+
"type": "integer",
|
|
1214
|
+
"format": "int32",
|
|
1215
|
+
"description": "Number of backends expected to be present in each location"
|
|
1216
|
+
},
|
|
1217
|
+
"locations": {
|
|
1218
|
+
"type": "array",
|
|
1219
|
+
"description": "Locations the service is deployed",
|
|
1220
|
+
"items": {
|
|
1221
|
+
"$ref": "#/definitions/SmartstackLocation"
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
}
|
|
1225
|
+
},
|
|
1226
|
+
"SmartstackLocation": {
|
|
1227
|
+
"type": "object",
|
|
1228
|
+
"properties": {
|
|
1229
|
+
"name": {
|
|
1230
|
+
"type": "string",
|
|
1231
|
+
"description": "Name of the location"
|
|
1232
|
+
},
|
|
1233
|
+
"running_backends_count": {
|
|
1234
|
+
"type": "integer",
|
|
1235
|
+
"format": "int32",
|
|
1236
|
+
"description": "Number of running backends for the service in this location"
|
|
1237
|
+
},
|
|
1238
|
+
"backends": {
|
|
1239
|
+
"type": "array",
|
|
1240
|
+
"description": "Smartstack backends running in this location",
|
|
1241
|
+
"items": {
|
|
1242
|
+
"$ref": "#/definitions/SmartstackBackend"
|
|
1243
|
+
}
|
|
1244
|
+
}
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"SmartstackBackend": {
|
|
1248
|
+
"type": "object",
|
|
1249
|
+
"properties": {
|
|
1250
|
+
"hostname": {
|
|
1251
|
+
"type": "string",
|
|
1252
|
+
"description": "Name of the host on which the backend is running"
|
|
1253
|
+
},
|
|
1254
|
+
"port": {
|
|
1255
|
+
"type": "integer",
|
|
1256
|
+
"format": "int32",
|
|
1257
|
+
"description": "Port number on which the backend responds"
|
|
1258
|
+
},
|
|
1259
|
+
"status": {
|
|
1260
|
+
"type": "string",
|
|
1261
|
+
"description": "Status of the backend in HAProxy"
|
|
1262
|
+
},
|
|
1263
|
+
"check_status": {
|
|
1264
|
+
"type": "string",
|
|
1265
|
+
"description": "Status of last health check of the backend"
|
|
1266
|
+
},
|
|
1267
|
+
"check_code": {
|
|
1268
|
+
"type": "string",
|
|
1269
|
+
"description": "Check code reported by HAProxy"
|
|
1270
|
+
},
|
|
1271
|
+
"check_duration": {
|
|
1272
|
+
"type": "integer",
|
|
1273
|
+
"format": "int32",
|
|
1274
|
+
"description": "Duration in ms of the last health check performed by HAProxy"
|
|
1275
|
+
},
|
|
1276
|
+
"last_change": {
|
|
1277
|
+
"type": "integer",
|
|
1278
|
+
"format": "int32",
|
|
1279
|
+
"description": "Seconds since last change in backend status"
|
|
1280
|
+
},
|
|
1281
|
+
"has_associated_task": {
|
|
1282
|
+
"type": "boolean",
|
|
1283
|
+
"description": "Whether this backend has an associated task running"
|
|
1284
|
+
}
|
|
1285
|
+
}
|
|
1286
|
+
},
|
|
1287
|
+
"EnvoyStatus": {
|
|
1288
|
+
"type": "object",
|
|
1289
|
+
"properties": {
|
|
1290
|
+
"registration": {
|
|
1291
|
+
"type": "string",
|
|
1292
|
+
"description": "Registration name of the service in Smartstack"
|
|
1293
|
+
},
|
|
1294
|
+
"expected_backends_per_location": {
|
|
1295
|
+
"type": "integer",
|
|
1296
|
+
"format": "int32",
|
|
1297
|
+
"description": "Number of backends expected to be present in each location"
|
|
1298
|
+
},
|
|
1299
|
+
"locations": {
|
|
1300
|
+
"type": "array",
|
|
1301
|
+
"description": "Locations the service is deployed",
|
|
1302
|
+
"items": {
|
|
1303
|
+
"$ref": "#/definitions/EnvoyLocation"
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1306
|
+
}
|
|
1307
|
+
},
|
|
1308
|
+
"EnvoyLocation": {
|
|
1309
|
+
"type": "object",
|
|
1310
|
+
"properties": {
|
|
1311
|
+
"name": {
|
|
1312
|
+
"type": "string",
|
|
1313
|
+
"description": "Name of the location"
|
|
1314
|
+
},
|
|
1315
|
+
"running_backends_count": {
|
|
1316
|
+
"type": "integer",
|
|
1317
|
+
"format": "int32",
|
|
1318
|
+
"description": "Number of running backends for the service in this location"
|
|
1319
|
+
},
|
|
1320
|
+
"backends": {
|
|
1321
|
+
"type": "array",
|
|
1322
|
+
"description": "Envoy backends running in this location",
|
|
1323
|
+
"items": {
|
|
1324
|
+
"$ref": "#/definitions/EnvoyBackend"
|
|
1325
|
+
}
|
|
1326
|
+
},
|
|
1327
|
+
"is_proxied_through_casper": {
|
|
1328
|
+
"type": "boolean",
|
|
1329
|
+
"description": "Whether this backend is proxied through Casper"
|
|
1330
|
+
}
|
|
1331
|
+
}
|
|
1332
|
+
},
|
|
1333
|
+
"EnvoyBackend": {
|
|
1334
|
+
"type": "object",
|
|
1335
|
+
"properties": {
|
|
1336
|
+
"address": {
|
|
1337
|
+
"type": "string",
|
|
1338
|
+
"description": "Address of the host on which the backend is running"
|
|
1339
|
+
},
|
|
1340
|
+
"port_value": {
|
|
1341
|
+
"type": "integer",
|
|
1342
|
+
"format": "int32",
|
|
1343
|
+
"description": "Port number on which the backend responds"
|
|
1344
|
+
},
|
|
1345
|
+
"hostname": {
|
|
1346
|
+
"type": "string",
|
|
1347
|
+
"description": "Name of the host on which the backend is running"
|
|
1348
|
+
},
|
|
1349
|
+
"eds_health_status": {
|
|
1350
|
+
"type": "string",
|
|
1351
|
+
"description": "Status of the backend in Envoy as reported by the EDS"
|
|
1352
|
+
},
|
|
1353
|
+
"weight": {
|
|
1354
|
+
"type": "integer",
|
|
1355
|
+
"format": "int32",
|
|
1356
|
+
"description": "The weight of this backend in the cluster"
|
|
1357
|
+
},
|
|
1358
|
+
"has_associated_task": {
|
|
1359
|
+
"type": "boolean",
|
|
1360
|
+
"description": "Whether this backend has an associated task running"
|
|
1361
|
+
}
|
|
1362
|
+
}
|
|
1363
|
+
},
|
|
1364
|
+
"InstanceBounceStatus": {
|
|
1365
|
+
"type": "object",
|
|
1366
|
+
"properties": {
|
|
1367
|
+
"desired_state": {
|
|
1368
|
+
"type": "string",
|
|
1369
|
+
"description": "Desired state of a service, for Kubernetes",
|
|
1370
|
+
"enum": [
|
|
1371
|
+
"start",
|
|
1372
|
+
"stop"
|
|
1373
|
+
]
|
|
1374
|
+
},
|
|
1375
|
+
"app_count": {
|
|
1376
|
+
"type": "integer",
|
|
1377
|
+
"format": "int32",
|
|
1378
|
+
"description": "The number of different running versions of the same service (0 for stopped, 1 for running and 1+ for bouncing)"
|
|
1379
|
+
},
|
|
1380
|
+
"deploy_status": {
|
|
1381
|
+
"type": "string",
|
|
1382
|
+
"description": "Deploy status of a Kubernetes service",
|
|
1383
|
+
"enum": [
|
|
1384
|
+
"Running",
|
|
1385
|
+
"Deploying",
|
|
1386
|
+
"Stopped",
|
|
1387
|
+
"Delayed",
|
|
1388
|
+
"Waiting",
|
|
1389
|
+
"NotRunning"
|
|
1390
|
+
]
|
|
1391
|
+
},
|
|
1392
|
+
"running_instance_count": {
|
|
1393
|
+
"type": "integer",
|
|
1394
|
+
"format": "int32",
|
|
1395
|
+
"description": "The number of actual running instances of the service"
|
|
1396
|
+
},
|
|
1397
|
+
"expected_instance_count": {
|
|
1398
|
+
"type": "integer",
|
|
1399
|
+
"format": "int32",
|
|
1400
|
+
"description": "The number of desired instances of the service"
|
|
1401
|
+
},
|
|
1402
|
+
"active_shas": {
|
|
1403
|
+
"type": "array",
|
|
1404
|
+
"description": "List of git/config SHAs running.",
|
|
1405
|
+
"items": {
|
|
1406
|
+
"type": "array",
|
|
1407
|
+
"items": {
|
|
1408
|
+
"type": "string",
|
|
1409
|
+
"x-nullable": true
|
|
1410
|
+
}
|
|
1411
|
+
}
|
|
1412
|
+
},
|
|
1413
|
+
"active_versions": {
|
|
1414
|
+
"type": "array",
|
|
1415
|
+
"description": "List of git SHA/image_version/config SHAs running.",
|
|
1416
|
+
"items": {
|
|
1417
|
+
"type": "array",
|
|
1418
|
+
"items": {
|
|
1419
|
+
"type": "string",
|
|
1420
|
+
"x-nullable": true
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
}
|
|
1425
|
+
},
|
|
1426
|
+
"InstanceStatusKubernetes": {
|
|
1427
|
+
"type": "object",
|
|
1428
|
+
"properties": {
|
|
1429
|
+
"desired_state": {
|
|
1430
|
+
"type": "string",
|
|
1431
|
+
"description": "Desired state of a service, for Kubernetes",
|
|
1432
|
+
"enum": [
|
|
1433
|
+
"start",
|
|
1434
|
+
"stop"
|
|
1435
|
+
]
|
|
1436
|
+
},
|
|
1437
|
+
"app_count": {
|
|
1438
|
+
"type": "integer",
|
|
1439
|
+
"format": "int32",
|
|
1440
|
+
"description": "The number of different running versions of the same service (0 for stopped, 1 for running and 1+ for bouncing)"
|
|
1441
|
+
},
|
|
1442
|
+
"app_id": {
|
|
1443
|
+
"type": "string",
|
|
1444
|
+
"description": "ID of the desired version of a service instance"
|
|
1445
|
+
},
|
|
1446
|
+
"bounce_method": {
|
|
1447
|
+
"type": "string",
|
|
1448
|
+
"description": "Method to transit between new and old versions of a service",
|
|
1449
|
+
"enum": [
|
|
1450
|
+
"brutal",
|
|
1451
|
+
"upthendown",
|
|
1452
|
+
"downthenup",
|
|
1453
|
+
"crossover"
|
|
1454
|
+
]
|
|
1455
|
+
},
|
|
1456
|
+
"deploy_status": {
|
|
1457
|
+
"type": "string",
|
|
1458
|
+
"description": "Deploy status of a Kubernetes service",
|
|
1459
|
+
"enum": [
|
|
1460
|
+
"Running",
|
|
1461
|
+
"Deploying",
|
|
1462
|
+
"Stopped",
|
|
1463
|
+
"Delayed",
|
|
1464
|
+
"Waiting",
|
|
1465
|
+
"NotRunning"
|
|
1466
|
+
]
|
|
1467
|
+
},
|
|
1468
|
+
"deploy_status_message": {
|
|
1469
|
+
"type": "string",
|
|
1470
|
+
"description": "Reason for the deploy status"
|
|
1471
|
+
},
|
|
1472
|
+
"backoff_seconds": {
|
|
1473
|
+
"type": "integer",
|
|
1474
|
+
"format": "int32",
|
|
1475
|
+
"description": "backoff in seconds before launching the next task"
|
|
1476
|
+
},
|
|
1477
|
+
"running_instance_count": {
|
|
1478
|
+
"type": "integer",
|
|
1479
|
+
"format": "int32",
|
|
1480
|
+
"description": "The number of actual running instances of the service"
|
|
1481
|
+
},
|
|
1482
|
+
"expected_instance_count": {
|
|
1483
|
+
"type": "integer",
|
|
1484
|
+
"format": "int32",
|
|
1485
|
+
"description": "The number of desired instances of the service"
|
|
1486
|
+
},
|
|
1487
|
+
"create_timestamp": {
|
|
1488
|
+
"type": "number",
|
|
1489
|
+
"format": "float",
|
|
1490
|
+
"description": "Unix timestamp when this app was created"
|
|
1491
|
+
},
|
|
1492
|
+
"smartstack": {
|
|
1493
|
+
"$ref": "#/definitions/SmartstackStatus",
|
|
1494
|
+
"description": "Status of the service in smartstack"
|
|
1495
|
+
},
|
|
1496
|
+
"envoy": {
|
|
1497
|
+
"$ref": "#/definitions/EnvoyStatus",
|
|
1498
|
+
"description": "Status of the service in Envoy"
|
|
1499
|
+
},
|
|
1500
|
+
"namespace": {
|
|
1501
|
+
"type": "string",
|
|
1502
|
+
"description": "The namespace this app is running"
|
|
1503
|
+
},
|
|
1504
|
+
"replicasets": {
|
|
1505
|
+
"type": "array",
|
|
1506
|
+
"description": "ReplicaSets associated to this app",
|
|
1507
|
+
"items": {
|
|
1508
|
+
"$ref": "#/definitions/KubernetesReplicaSet"
|
|
1509
|
+
}
|
|
1510
|
+
},
|
|
1511
|
+
"pods": {
|
|
1512
|
+
"type": "array",
|
|
1513
|
+
"description": "Pods associated to this app",
|
|
1514
|
+
"items": {
|
|
1515
|
+
"$ref": "#/definitions/KubernetesPod"
|
|
1516
|
+
}
|
|
1517
|
+
},
|
|
1518
|
+
"autoscaling_status": {
|
|
1519
|
+
"type": "object",
|
|
1520
|
+
"description": "HPA associated to this app",
|
|
1521
|
+
"properties": {
|
|
1522
|
+
"min_instances": {
|
|
1523
|
+
"type": "integer",
|
|
1524
|
+
"description": "min_instances as specified in yelpsoa_configs"
|
|
1525
|
+
},
|
|
1526
|
+
"max_instances": {
|
|
1527
|
+
"type": "integer",
|
|
1528
|
+
"description": "min_instances as specified in yelpsoa_configs"
|
|
1529
|
+
},
|
|
1530
|
+
"desired_replicas": {
|
|
1531
|
+
"type": "integer",
|
|
1532
|
+
"description": "desired number of _instances as calculated by HPA"
|
|
1533
|
+
},
|
|
1534
|
+
"last_scale_time": {
|
|
1535
|
+
"type": "string",
|
|
1536
|
+
"description": "timestamp of last autoscale"
|
|
1537
|
+
},
|
|
1538
|
+
"metrics": {
|
|
1539
|
+
"type": "array",
|
|
1540
|
+
"description": "Current metrics",
|
|
1541
|
+
"items": {
|
|
1542
|
+
"$ref": "#/definitions/HPAMetric"
|
|
1543
|
+
}
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1546
|
+
},
|
|
1547
|
+
"error_message": {
|
|
1548
|
+
"type": "string",
|
|
1549
|
+
"description": "Error message when a kubernetes object (Deployment/Statefulset) cannot be found"
|
|
1550
|
+
},
|
|
1551
|
+
"active_shas": {
|
|
1552
|
+
"type": "array",
|
|
1553
|
+
"description": "List of git/config SHAs running.",
|
|
1554
|
+
"items": {
|
|
1555
|
+
"type": "array",
|
|
1556
|
+
"items": {
|
|
1557
|
+
"type": "string",
|
|
1558
|
+
"x-nullable": true
|
|
1559
|
+
},
|
|
1560
|
+
"minItems": 2,
|
|
1561
|
+
"maxItems": 2
|
|
1562
|
+
}
|
|
1563
|
+
},
|
|
1564
|
+
"active_versions": {
|
|
1565
|
+
"type": "array",
|
|
1566
|
+
"description": "List of git SHA/image_version/config SHAs running.",
|
|
1567
|
+
"items": {
|
|
1568
|
+
"type": "array",
|
|
1569
|
+
"items": {
|
|
1570
|
+
"type": "string",
|
|
1571
|
+
"x-nullable": true
|
|
1572
|
+
},
|
|
1573
|
+
"minItems": 3,
|
|
1574
|
+
"maxItems": 3
|
|
1575
|
+
}
|
|
1576
|
+
}
|
|
1577
|
+
},
|
|
1578
|
+
"required": [
|
|
1579
|
+
"desired_state",
|
|
1580
|
+
"app_count",
|
|
1581
|
+
"bounce_method"
|
|
1582
|
+
]
|
|
1583
|
+
},
|
|
1584
|
+
"InstanceStatusKubernetesV2": {
|
|
1585
|
+
"type": "object",
|
|
1586
|
+
"properties": {
|
|
1587
|
+
"app_name": {
|
|
1588
|
+
"type": "string",
|
|
1589
|
+
"description": "Name of Kubernetes Deployment or Statefulset for instance"
|
|
1590
|
+
},
|
|
1591
|
+
"desired_state": {
|
|
1592
|
+
"type": "string",
|
|
1593
|
+
"description": "Desired state of the app (start or stop)"
|
|
1594
|
+
},
|
|
1595
|
+
"desired_instances": {
|
|
1596
|
+
"type": "integer",
|
|
1597
|
+
"format": "int32",
|
|
1598
|
+
"description": "Number of instances desired for this app"
|
|
1599
|
+
},
|
|
1600
|
+
"error_message": {
|
|
1601
|
+
"type": "string",
|
|
1602
|
+
"description": "Error message if we cannot assemble status for the instance"
|
|
1603
|
+
},
|
|
1604
|
+
"versions": {
|
|
1605
|
+
"type": "array",
|
|
1606
|
+
"items": {
|
|
1607
|
+
"$ref": "#/definitions/KubernetesVersion"
|
|
1608
|
+
},
|
|
1609
|
+
"description": "Individual versions of the instance"
|
|
1610
|
+
}
|
|
1611
|
+
}
|
|
1612
|
+
},
|
|
1613
|
+
"HPAMetric": {
|
|
1614
|
+
"type": "object",
|
|
1615
|
+
"properties": {
|
|
1616
|
+
"name": {
|
|
1617
|
+
"type": "string",
|
|
1618
|
+
"description": "name of the metric"
|
|
1619
|
+
},
|
|
1620
|
+
"target_value": {
|
|
1621
|
+
"type": "string",
|
|
1622
|
+
"description": "setpoint/target_value as specified in yelpsoa_configs"
|
|
1623
|
+
},
|
|
1624
|
+
"current_value": {
|
|
1625
|
+
"type": "string",
|
|
1626
|
+
"description": "setpoint/target_value as specified in yelpsoa_configs"
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1629
|
+
},
|
|
1630
|
+
"KubernetesReplicaSet": {
|
|
1631
|
+
"type": "object",
|
|
1632
|
+
"properties": {
|
|
1633
|
+
"name": {
|
|
1634
|
+
"type": "string",
|
|
1635
|
+
"description": "name of the replicaset in Kubernetes"
|
|
1636
|
+
},
|
|
1637
|
+
"ready_replicas": {
|
|
1638
|
+
"type": "integer",
|
|
1639
|
+
"format": "int32",
|
|
1640
|
+
"description": "number of ready replicas for the replicaset"
|
|
1641
|
+
},
|
|
1642
|
+
"replicas": {
|
|
1643
|
+
"type": "integer",
|
|
1644
|
+
"format": "int32",
|
|
1645
|
+
"description": "number of desired replicas for the replicaset"
|
|
1646
|
+
},
|
|
1647
|
+
"create_timestamp": {
|
|
1648
|
+
"type": "number",
|
|
1649
|
+
"format": "float",
|
|
1650
|
+
"description": "Time at which the replicaset was created"
|
|
1651
|
+
},
|
|
1652
|
+
"git_sha": {
|
|
1653
|
+
"type": "string",
|
|
1654
|
+
"description": "Service git SHA that this replicaset runs",
|
|
1655
|
+
"x-nullable": true
|
|
1656
|
+
},
|
|
1657
|
+
"config_sha": {
|
|
1658
|
+
"type": "string",
|
|
1659
|
+
"description": "Hash of the configuration of this replicaset",
|
|
1660
|
+
"x-nullable": true
|
|
1661
|
+
}
|
|
1662
|
+
}
|
|
1663
|
+
},
|
|
1664
|
+
"KubernetesVersion": {
|
|
1665
|
+
"type": "object",
|
|
1666
|
+
"properties": {
|
|
1667
|
+
"type": {
|
|
1668
|
+
"description": "Type of version (ReplicaSet or ControllerRevision)",
|
|
1669
|
+
"type": "string"
|
|
1670
|
+
},
|
|
1671
|
+
"create_timestamp": {
|
|
1672
|
+
"type": "number",
|
|
1673
|
+
"format": "float",
|
|
1674
|
+
"description": "Unix timestamp when version was created"
|
|
1675
|
+
},
|
|
1676
|
+
"git_sha": {
|
|
1677
|
+
"type": "string",
|
|
1678
|
+
"description": "Git SHA of service code for this version of the instance"
|
|
1679
|
+
},
|
|
1680
|
+
"config_sha": {
|
|
1681
|
+
"type": "string",
|
|
1682
|
+
"description": "SHA of configuration for this instance"
|
|
1683
|
+
},
|
|
1684
|
+
"name": {
|
|
1685
|
+
"type": "string",
|
|
1686
|
+
"description": "Name of the version (only valid for ReplicaSets)"
|
|
1687
|
+
},
|
|
1688
|
+
"pods": {
|
|
1689
|
+
"type": "array",
|
|
1690
|
+
"items": {
|
|
1691
|
+
"$ref": "#/definitions/KubernetesPodV2"
|
|
1692
|
+
},
|
|
1693
|
+
"description": "Pods associated to this version"
|
|
1694
|
+
},
|
|
1695
|
+
"replicas": {
|
|
1696
|
+
"type": "integer",
|
|
1697
|
+
"format": "int32",
|
|
1698
|
+
"description": "Desired number of replicas for this version"
|
|
1699
|
+
},
|
|
1700
|
+
"ready_replicas": {
|
|
1701
|
+
"type": "integer",
|
|
1702
|
+
"format": "int32",
|
|
1703
|
+
"description": "Number of replicas currently ready"
|
|
1704
|
+
},
|
|
1705
|
+
"namespace": {
|
|
1706
|
+
"type": "string",
|
|
1707
|
+
"description": "Kubernetes namespace this version is in"
|
|
1708
|
+
}
|
|
1709
|
+
}
|
|
1710
|
+
},
|
|
1711
|
+
"KubernetesPod": {
|
|
1712
|
+
"type": "object",
|
|
1713
|
+
"properties": {
|
|
1714
|
+
"name": {
|
|
1715
|
+
"type": "string",
|
|
1716
|
+
"description": "name of the pod in Kubernetes"
|
|
1717
|
+
},
|
|
1718
|
+
"host": {
|
|
1719
|
+
"type": "string",
|
|
1720
|
+
"description": "name of the pod's host"
|
|
1721
|
+
},
|
|
1722
|
+
"deployed_timestamp": {
|
|
1723
|
+
"type": "number",
|
|
1724
|
+
"format": "float",
|
|
1725
|
+
"description": "Time at which the pod was deployed"
|
|
1726
|
+
},
|
|
1727
|
+
"phase": {
|
|
1728
|
+
"type": "string",
|
|
1729
|
+
"description": "The status of the pod"
|
|
1730
|
+
},
|
|
1731
|
+
"ready": {
|
|
1732
|
+
"type": "boolean",
|
|
1733
|
+
"description": "Whether or not the pod is ready (i.e. all containers up)"
|
|
1734
|
+
},
|
|
1735
|
+
"containers": {
|
|
1736
|
+
"type": "array",
|
|
1737
|
+
"items": {
|
|
1738
|
+
"$ref": "#/definitions/KubernetesContainer",
|
|
1739
|
+
"description": "List of containers in the pod"
|
|
1740
|
+
}
|
|
1741
|
+
},
|
|
1742
|
+
"reason": {
|
|
1743
|
+
"type": "string",
|
|
1744
|
+
"x-nullable": true,
|
|
1745
|
+
"description": "short message explaining the pod's state"
|
|
1746
|
+
},
|
|
1747
|
+
"message": {
|
|
1748
|
+
"type": "string",
|
|
1749
|
+
"x-nullable": true,
|
|
1750
|
+
"description": "long message explaining the pod's state"
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
},
|
|
1754
|
+
"KubernetesPodV2": {
|
|
1755
|
+
"type": "object",
|
|
1756
|
+
"properties": {
|
|
1757
|
+
"create_timestamp": {
|
|
1758
|
+
"type": "number",
|
|
1759
|
+
"format": "float",
|
|
1760
|
+
"description": "Unix timestamp at which pod was created"
|
|
1761
|
+
},
|
|
1762
|
+
"delete_timestamp": {
|
|
1763
|
+
"type": "number",
|
|
1764
|
+
"format": "float",
|
|
1765
|
+
"description": "Unix timestamp at which pod should be deleted",
|
|
1766
|
+
"x-nullable": true
|
|
1767
|
+
},
|
|
1768
|
+
"ip": {
|
|
1769
|
+
"type": "string",
|
|
1770
|
+
"description": "Pod IP",
|
|
1771
|
+
"x-nullable": true
|
|
1772
|
+
},
|
|
1773
|
+
"host": {
|
|
1774
|
+
"type": "string",
|
|
1775
|
+
"description": "Host IP this pod was scheduled on",
|
|
1776
|
+
"x-nullable": true
|
|
1777
|
+
},
|
|
1778
|
+
"name": {
|
|
1779
|
+
"type": "string",
|
|
1780
|
+
"description": "Pod name"
|
|
1781
|
+
},
|
|
1782
|
+
"phase": {
|
|
1783
|
+
"type": "string",
|
|
1784
|
+
"description": "The lifecycle phase of the pod"
|
|
1785
|
+
},
|
|
1786
|
+
"ready": {
|
|
1787
|
+
"type": "boolean",
|
|
1788
|
+
"description": "Whether or not the pod is ready"
|
|
1789
|
+
},
|
|
1790
|
+
"scheduled": {
|
|
1791
|
+
"type": "boolean",
|
|
1792
|
+
"description": "Whether or not the pod is scheduled"
|
|
1793
|
+
},
|
|
1794
|
+
"reason": {
|
|
1795
|
+
"type": "string",
|
|
1796
|
+
"description": "brief description of the pod's state",
|
|
1797
|
+
"x-nullable": true
|
|
1798
|
+
},
|
|
1799
|
+
"message": {
|
|
1800
|
+
"type": "string",
|
|
1801
|
+
"description": "short message with details about the pod's state",
|
|
1802
|
+
"x-nullable": true
|
|
1803
|
+
},
|
|
1804
|
+
"containers": {
|
|
1805
|
+
"type": "array",
|
|
1806
|
+
"items": {
|
|
1807
|
+
"$ref": "#/definitions/KubernetesContainerV2",
|
|
1808
|
+
"description": "List of containers in the pod"
|
|
1809
|
+
}
|
|
1810
|
+
}
|
|
1811
|
+
}
|
|
1812
|
+
},
|
|
1813
|
+
"KubernetesContainer": {
|
|
1814
|
+
"type": "object",
|
|
1815
|
+
"properties": {
|
|
1816
|
+
"name": {
|
|
1817
|
+
"type": "string",
|
|
1818
|
+
"description": "Name of the container"
|
|
1819
|
+
},
|
|
1820
|
+
"tail_lines": {
|
|
1821
|
+
"$ref": "#/definitions/TaskTailLines",
|
|
1822
|
+
"description": "Stdout and stderr tail of the container"
|
|
1823
|
+
}
|
|
1824
|
+
}
|
|
1825
|
+
},
|
|
1826
|
+
"KubernetesContainerV2": {
|
|
1827
|
+
"type": "object",
|
|
1828
|
+
"properties": {
|
|
1829
|
+
"name": {
|
|
1830
|
+
"type": "string",
|
|
1831
|
+
"description": "Name of the container"
|
|
1832
|
+
},
|
|
1833
|
+
"state": {
|
|
1834
|
+
"type": "string",
|
|
1835
|
+
"description": "State of the container"
|
|
1836
|
+
},
|
|
1837
|
+
"last_state": {
|
|
1838
|
+
"type": "string",
|
|
1839
|
+
"description": "State of the container",
|
|
1840
|
+
"x-nullable": true
|
|
1841
|
+
},
|
|
1842
|
+
"restart_count": {
|
|
1843
|
+
"type": "integer",
|
|
1844
|
+
"description": "Number of restarts since container creation",
|
|
1845
|
+
"x-nullable": true
|
|
1846
|
+
},
|
|
1847
|
+
"reason": {
|
|
1848
|
+
"type": "string",
|
|
1849
|
+
"description": "Short description of the state of the container",
|
|
1850
|
+
"x-nullable": true
|
|
1851
|
+
},
|
|
1852
|
+
"message": {
|
|
1853
|
+
"type": "string",
|
|
1854
|
+
"description": "Details about the state of the container",
|
|
1855
|
+
"x-nullable": true
|
|
1856
|
+
},
|
|
1857
|
+
"last_reason": {
|
|
1858
|
+
"type": "string",
|
|
1859
|
+
"description": "Short description of the previous state of the container",
|
|
1860
|
+
"x-nullable": true
|
|
1861
|
+
},
|
|
1862
|
+
"last_message": {
|
|
1863
|
+
"type": "string",
|
|
1864
|
+
"description": "Details about the previous state of the container",
|
|
1865
|
+
"x-nullable": true
|
|
1866
|
+
},
|
|
1867
|
+
"last_duration": {
|
|
1868
|
+
"type": "number",
|
|
1869
|
+
"format": "float",
|
|
1870
|
+
"description": "Duration in seconds of previous state",
|
|
1871
|
+
"x-nullable": true
|
|
1872
|
+
},
|
|
1873
|
+
"max_healthcheck_period": {
|
|
1874
|
+
"type": "number",
|
|
1875
|
+
"format": "float",
|
|
1876
|
+
"description": "Time in seconds for maximum healthcheck failure",
|
|
1877
|
+
"x-nullable": true
|
|
1878
|
+
},
|
|
1879
|
+
"timestamp": {
|
|
1880
|
+
"type": "number",
|
|
1881
|
+
"format": "float",
|
|
1882
|
+
"description": "Unix timestamp at which state transitioned",
|
|
1883
|
+
"x-nullable": true
|
|
1884
|
+
}
|
|
1885
|
+
}
|
|
1886
|
+
},
|
|
1887
|
+
"InstanceStatusTron": {
|
|
1888
|
+
"type": "object",
|
|
1889
|
+
"required": [
|
|
1890
|
+
"job_name",
|
|
1891
|
+
"job_url"
|
|
1892
|
+
],
|
|
1893
|
+
"properties": {
|
|
1894
|
+
"job_name": {
|
|
1895
|
+
"type": "string",
|
|
1896
|
+
"description": "The name of this job"
|
|
1897
|
+
},
|
|
1898
|
+
"job_status": {
|
|
1899
|
+
"type": "string",
|
|
1900
|
+
"description": "The status of the job"
|
|
1901
|
+
},
|
|
1902
|
+
"job_schedule": {
|
|
1903
|
+
"type": "string",
|
|
1904
|
+
"description": "The job schedule of the job"
|
|
1905
|
+
},
|
|
1906
|
+
"job_url": {
|
|
1907
|
+
"type": "string",
|
|
1908
|
+
"description": "The dashboard url of the job"
|
|
1909
|
+
},
|
|
1910
|
+
"action_name": {
|
|
1911
|
+
"type": "string",
|
|
1912
|
+
"description": "The name of the action"
|
|
1913
|
+
},
|
|
1914
|
+
"action_state": {
|
|
1915
|
+
"type": "string",
|
|
1916
|
+
"description": "The state of the action"
|
|
1917
|
+
},
|
|
1918
|
+
"action_raw_command": {
|
|
1919
|
+
"type": "string",
|
|
1920
|
+
"description": "The raw command of the action"
|
|
1921
|
+
},
|
|
1922
|
+
"action_command": {
|
|
1923
|
+
"type": "string",
|
|
1924
|
+
"description": "The command of the action"
|
|
1925
|
+
},
|
|
1926
|
+
"action_start_time": {
|
|
1927
|
+
"type": "string",
|
|
1928
|
+
"description": "The start time of the action"
|
|
1929
|
+
},
|
|
1930
|
+
"action_stderr": {
|
|
1931
|
+
"type": "string",
|
|
1932
|
+
"description": "The stderr command of the action"
|
|
1933
|
+
},
|
|
1934
|
+
"action_stdout": {
|
|
1935
|
+
"type": "string",
|
|
1936
|
+
"description": "The stdout command of the action"
|
|
1937
|
+
}
|
|
1938
|
+
}
|
|
1939
|
+
},
|
|
1940
|
+
"InstanceStatusFlinkStatus": {
|
|
1941
|
+
"type": "object",
|
|
1942
|
+
"description": "Flink instance status"
|
|
1943
|
+
},
|
|
1944
|
+
"InstanceStatusFlinkMetadata": {
|
|
1945
|
+
"type": "object",
|
|
1946
|
+
"description": "Flink instance metadata"
|
|
1947
|
+
},
|
|
1948
|
+
"InstanceStatusKafkaCluster": {
|
|
1949
|
+
"type": "object",
|
|
1950
|
+
"description": "Kafka instance status"
|
|
1951
|
+
},
|
|
1952
|
+
"InstanceMetadataKafkaCluster": {
|
|
1953
|
+
"type": "object",
|
|
1954
|
+
"description": "Kafka instance metadata"
|
|
1955
|
+
},
|
|
1956
|
+
"InstanceStatusCassandraCluster": {
|
|
1957
|
+
"type": "object",
|
|
1958
|
+
"description": "Cassandra instance status"
|
|
1959
|
+
},
|
|
1960
|
+
"InstanceTasks": {
|
|
1961
|
+
"type": "array",
|
|
1962
|
+
"description": "List of tasks associated with instance",
|
|
1963
|
+
"items": {
|
|
1964
|
+
"$ref": "#/definitions/InstanceTask"
|
|
1965
|
+
}
|
|
1966
|
+
},
|
|
1967
|
+
"InstanceTask": {
|
|
1968
|
+
"type": "object"
|
|
1969
|
+
},
|
|
1970
|
+
"InstanceStatusAdhoc": {
|
|
1971
|
+
"type": "array",
|
|
1972
|
+
"description": "List of runs associated with job",
|
|
1973
|
+
"items": {
|
|
1974
|
+
"$ref": "#/definitions/AdhocLaunchHistory"
|
|
1975
|
+
}
|
|
1976
|
+
},
|
|
1977
|
+
"AdhocLaunchHistory": {
|
|
1978
|
+
"type": "object",
|
|
1979
|
+
"description": "A single run",
|
|
1980
|
+
"properties": {
|
|
1981
|
+
"launch_time": {
|
|
1982
|
+
"type": "string",
|
|
1983
|
+
"description": "when the job was launched"
|
|
1984
|
+
},
|
|
1985
|
+
"run_id": {
|
|
1986
|
+
"type": "string",
|
|
1987
|
+
"description": "id of the single run"
|
|
1988
|
+
},
|
|
1989
|
+
"framework_id": {
|
|
1990
|
+
"type": "string",
|
|
1991
|
+
"description": "framework id"
|
|
1992
|
+
}
|
|
1993
|
+
}
|
|
1994
|
+
},
|
|
1995
|
+
"DeployQueue": {
|
|
1996
|
+
"type": "object",
|
|
1997
|
+
"description": "Current state of the deployd queue",
|
|
1998
|
+
"properties": {
|
|
1999
|
+
"available_service_instances": {
|
|
2000
|
+
"type": "array",
|
|
2001
|
+
"description": "Service instances that are ready to be acted on by deployd",
|
|
2002
|
+
"items": {
|
|
2003
|
+
"$ref": "#/definitions/DeployQueueServiceInstance"
|
|
2004
|
+
}
|
|
2005
|
+
},
|
|
2006
|
+
"unavailable_service_instances": {
|
|
2007
|
+
"type": "array",
|
|
2008
|
+
"description": "Service instances that deployd is waiting to act on",
|
|
2009
|
+
"items": {
|
|
2010
|
+
"$ref": "#/definitions/DeployQueueServiceInstance"
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
}
|
|
2014
|
+
},
|
|
2015
|
+
"FlinkConfig": {
|
|
2016
|
+
"type": "object",
|
|
2017
|
+
"properties": {
|
|
2018
|
+
"flink-version": {
|
|
2019
|
+
"type": "string"
|
|
2020
|
+
},
|
|
2021
|
+
"flink-revision": {
|
|
2022
|
+
"type": "string"
|
|
2023
|
+
}
|
|
2024
|
+
}
|
|
2025
|
+
},
|
|
2026
|
+
"FlinkJobs": {
|
|
2027
|
+
"type": "object",
|
|
2028
|
+
"properties": {
|
|
2029
|
+
"jobs": {
|
|
2030
|
+
"type": "array",
|
|
2031
|
+
"description": "Flink jobs",
|
|
2032
|
+
"items": {
|
|
2033
|
+
"$ref": "#/definitions/FlinkJob"
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
}
|
|
2037
|
+
},
|
|
2038
|
+
"FlinkJob": {
|
|
2039
|
+
"type": "object",
|
|
2040
|
+
"properties": {
|
|
2041
|
+
"id": {
|
|
2042
|
+
"type": "string",
|
|
2043
|
+
"description": "ID of the flink job"
|
|
2044
|
+
},
|
|
2045
|
+
"status": {
|
|
2046
|
+
"type": "string",
|
|
2047
|
+
"enum": [
|
|
2048
|
+
"INITIALIZING",
|
|
2049
|
+
"CREATED",
|
|
2050
|
+
"RUNNING",
|
|
2051
|
+
"FAILING",
|
|
2052
|
+
"FAILED",
|
|
2053
|
+
"CANCELLING",
|
|
2054
|
+
"CANCELED",
|
|
2055
|
+
"FINISHED",
|
|
2056
|
+
"RESTARTING",
|
|
2057
|
+
"SUSPENDED",
|
|
2058
|
+
"RECONCILING"
|
|
2059
|
+
]
|
|
2060
|
+
}
|
|
2061
|
+
}
|
|
2062
|
+
},
|
|
2063
|
+
"FlinkJobDetails": {
|
|
2064
|
+
"type": "object",
|
|
2065
|
+
"properties": {
|
|
2066
|
+
"jid": {
|
|
2067
|
+
"type": "string",
|
|
2068
|
+
"description": "ID of the flink job"
|
|
2069
|
+
},
|
|
2070
|
+
"name": {
|
|
2071
|
+
"type": "string",
|
|
2072
|
+
"description": "name of the flink job"
|
|
2073
|
+
},
|
|
2074
|
+
"state": {
|
|
2075
|
+
"type": "string",
|
|
2076
|
+
"description": "state of the flink job",
|
|
2077
|
+
"enum": [
|
|
2078
|
+
"INITIALIZING",
|
|
2079
|
+
"CREATED",
|
|
2080
|
+
"RUNNING",
|
|
2081
|
+
"FAILING",
|
|
2082
|
+
"FAILED",
|
|
2083
|
+
"CANCELLING",
|
|
2084
|
+
"CANCELED",
|
|
2085
|
+
"FINISHED",
|
|
2086
|
+
"RESTARTING",
|
|
2087
|
+
"SUSPENDED",
|
|
2088
|
+
"RECONCILING"
|
|
2089
|
+
]
|
|
2090
|
+
},
|
|
2091
|
+
"start-time": {
|
|
2092
|
+
"description": "timestamp of job start time",
|
|
2093
|
+
"type": "number",
|
|
2094
|
+
"format": "float"
|
|
2095
|
+
}
|
|
2096
|
+
}
|
|
2097
|
+
},
|
|
2098
|
+
"FlinkClusterOverview": {
|
|
2099
|
+
"type": "object",
|
|
2100
|
+
"properties": {
|
|
2101
|
+
"taskmanagers": {
|
|
2102
|
+
"description": "Number of taskmanagers in the cluster",
|
|
2103
|
+
"type": "integer",
|
|
2104
|
+
"format": "int32"
|
|
2105
|
+
},
|
|
2106
|
+
"slots-total": {
|
|
2107
|
+
"description": "Total task slots in the cluster",
|
|
2108
|
+
"type": "integer",
|
|
2109
|
+
"format": "int32"
|
|
2110
|
+
},
|
|
2111
|
+
"slots-available": {
|
|
2112
|
+
"description": "Available task slots",
|
|
2113
|
+
"type": "integer",
|
|
2114
|
+
"format": "int32"
|
|
2115
|
+
},
|
|
2116
|
+
"jobs-running": {
|
|
2117
|
+
"description": "Number of flink jobs in running state",
|
|
2118
|
+
"type": "integer",
|
|
2119
|
+
"format": "int32"
|
|
2120
|
+
},
|
|
2121
|
+
"jobs-finished": {
|
|
2122
|
+
"description": "Number of flink jobs in finished state",
|
|
2123
|
+
"type": "integer",
|
|
2124
|
+
"format": "int32"
|
|
2125
|
+
},
|
|
2126
|
+
"jobs-cancelled": {
|
|
2127
|
+
"description": "Number of flink jobs in cancelled state",
|
|
2128
|
+
"type": "integer",
|
|
2129
|
+
"format": "int32"
|
|
2130
|
+
},
|
|
2131
|
+
"jobs-failed": {
|
|
2132
|
+
"description": "Number of flink jobs in failed state",
|
|
2133
|
+
"type": "integer",
|
|
2134
|
+
"format": "int32"
|
|
2135
|
+
}
|
|
2136
|
+
}
|
|
2137
|
+
},
|
|
2138
|
+
"DeployQueueServiceInstance": {
|
|
2139
|
+
"type": "object",
|
|
2140
|
+
"description": "An instance of a service in the deploy queue",
|
|
2141
|
+
"properties": {
|
|
2142
|
+
"service": {
|
|
2143
|
+
"type": "string",
|
|
2144
|
+
"description": "Name of the service"
|
|
2145
|
+
},
|
|
2146
|
+
"instance": {
|
|
2147
|
+
"type": "string",
|
|
2148
|
+
"description": "Name of the instance of the service"
|
|
2149
|
+
},
|
|
2150
|
+
"bounce_by": {
|
|
2151
|
+
"type": "number",
|
|
2152
|
+
"format": "float",
|
|
2153
|
+
"description": "Desired timestamp by which the service instance should be bounced"
|
|
2154
|
+
},
|
|
2155
|
+
"wait_until": {
|
|
2156
|
+
"type": "number",
|
|
2157
|
+
"format": "float",
|
|
2158
|
+
"description": "Timestamp before which no action should be taken on this service instance"
|
|
2159
|
+
},
|
|
2160
|
+
"enqueue_time": {
|
|
2161
|
+
"type": "number",
|
|
2162
|
+
"format": "float",
|
|
2163
|
+
"description": "Timestamp at which the service instance was last added to the queue"
|
|
2164
|
+
},
|
|
2165
|
+
"bounce_start_time": {
|
|
2166
|
+
"type": "number",
|
|
2167
|
+
"format": "float",
|
|
2168
|
+
"description": "Timestamp at which service instance was first added to the queue"
|
|
2169
|
+
},
|
|
2170
|
+
"watcher": {
|
|
2171
|
+
"type": "string",
|
|
2172
|
+
"description": "The process that enqueued the task"
|
|
2173
|
+
},
|
|
2174
|
+
"failures": {
|
|
2175
|
+
"type": "integer",
|
|
2176
|
+
"format": "int32",
|
|
2177
|
+
"description": "Number of times deployment actions have failed on this service instance"
|
|
2178
|
+
},
|
|
2179
|
+
"processed_count": {
|
|
2180
|
+
"type": "integer",
|
|
2181
|
+
"format": "int32",
|
|
2182
|
+
"description": "Number of times any deployment action has been taken on this service instance"
|
|
2183
|
+
}
|
|
2184
|
+
}
|
|
2185
|
+
},
|
|
2186
|
+
"RemoteRunStart": {
|
|
2187
|
+
"type": "object",
|
|
2188
|
+
"properties": {
|
|
2189
|
+
"interactive": {
|
|
2190
|
+
"type": "boolean"
|
|
2191
|
+
},
|
|
2192
|
+
"recreate": {
|
|
2193
|
+
"type": "boolean"
|
|
2194
|
+
},
|
|
2195
|
+
"user": {
|
|
2196
|
+
"type": "string"
|
|
2197
|
+
},
|
|
2198
|
+
"max_duration": {
|
|
2199
|
+
"type": "integer"
|
|
2200
|
+
},
|
|
2201
|
+
"toolbox": {
|
|
2202
|
+
"type": "boolean"
|
|
2203
|
+
}
|
|
2204
|
+
},
|
|
2205
|
+
"required": [
|
|
2206
|
+
"user"
|
|
2207
|
+
]
|
|
2208
|
+
},
|
|
2209
|
+
"RemoteRunStop": {
|
|
2210
|
+
"type": "object",
|
|
2211
|
+
"properties": {
|
|
2212
|
+
"user": {
|
|
2213
|
+
"type": "string"
|
|
2214
|
+
},
|
|
2215
|
+
"toolbox": {
|
|
2216
|
+
"type": "boolean"
|
|
2217
|
+
}
|
|
2218
|
+
},
|
|
2219
|
+
"required": [
|
|
2220
|
+
"user"
|
|
2221
|
+
]
|
|
2222
|
+
},
|
|
2223
|
+
"RemoteRunOutcome": {
|
|
2224
|
+
"type": "object",
|
|
2225
|
+
"properties": {
|
|
2226
|
+
"status": {
|
|
2227
|
+
"type": "integer"
|
|
2228
|
+
},
|
|
2229
|
+
"message": {
|
|
2230
|
+
"type": "string"
|
|
2231
|
+
},
|
|
2232
|
+
"pod_name": {
|
|
2233
|
+
"type": "string"
|
|
2234
|
+
},
|
|
2235
|
+
"pod_address": {
|
|
2236
|
+
"type": "string"
|
|
2237
|
+
},
|
|
2238
|
+
"job_name": {
|
|
2239
|
+
"type": "string"
|
|
2240
|
+
},
|
|
2241
|
+
"namespace": {
|
|
2242
|
+
"type": "string"
|
|
2243
|
+
}
|
|
2244
|
+
},
|
|
2245
|
+
"required": [
|
|
2246
|
+
"status",
|
|
2247
|
+
"message"
|
|
2248
|
+
]
|
|
2249
|
+
},
|
|
2250
|
+
"RemoteRunToken": {
|
|
2251
|
+
"type": "object",
|
|
2252
|
+
"properties": {
|
|
2253
|
+
"token": {
|
|
2254
|
+
"type": "string"
|
|
2255
|
+
}
|
|
2256
|
+
},
|
|
2257
|
+
"required": [
|
|
2258
|
+
"token"
|
|
2259
|
+
]
|
|
2260
|
+
},
|
|
2261
|
+
"Resource": {
|
|
2262
|
+
"type": "array",
|
|
2263
|
+
"items": {
|
|
2264
|
+
"$ref": "#/definitions/ResourceItem"
|
|
2265
|
+
}
|
|
2266
|
+
},
|
|
2267
|
+
"ResourceItem": {
|
|
2268
|
+
"type": "object",
|
|
2269
|
+
"properties": {
|
|
2270
|
+
"groupings": {
|
|
2271
|
+
"type": "object"
|
|
2272
|
+
},
|
|
2273
|
+
"cpus": {
|
|
2274
|
+
"$ref": "#/definitions/ResourceValue"
|
|
2275
|
+
},
|
|
2276
|
+
"mem": {
|
|
2277
|
+
"$ref": "#/definitions/ResourceValue"
|
|
2278
|
+
},
|
|
2279
|
+
"disk": {
|
|
2280
|
+
"$ref": "#/definitions/ResourceValue"
|
|
2281
|
+
}
|
|
2282
|
+
}
|
|
2283
|
+
},
|
|
2284
|
+
"ResourceValue": {
|
|
2285
|
+
"type": "object",
|
|
2286
|
+
"properties": {
|
|
2287
|
+
"free": {
|
|
2288
|
+
"type": "number"
|
|
2289
|
+
},
|
|
2290
|
+
"used": {
|
|
2291
|
+
"type": "number"
|
|
2292
|
+
},
|
|
2293
|
+
"total": {
|
|
2294
|
+
"type": "number"
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
},
|
|
2298
|
+
"FloatAndError": {
|
|
2299
|
+
"type": "object",
|
|
2300
|
+
"properties": {
|
|
2301
|
+
"value": {
|
|
2302
|
+
"type": "number",
|
|
2303
|
+
"format": "float"
|
|
2304
|
+
},
|
|
2305
|
+
"error_message": {
|
|
2306
|
+
"type": "string"
|
|
2307
|
+
}
|
|
2308
|
+
}
|
|
2309
|
+
},
|
|
2310
|
+
"IntegerAndError": {
|
|
2311
|
+
"type": "object",
|
|
2312
|
+
"properties": {
|
|
2313
|
+
"value": {
|
|
2314
|
+
"type": "integer",
|
|
2315
|
+
"format": "int32"
|
|
2316
|
+
},
|
|
2317
|
+
"error_message": {
|
|
2318
|
+
"type": "string"
|
|
2319
|
+
}
|
|
2320
|
+
}
|
|
2321
|
+
}
|
|
2322
|
+
}
|
|
2323
|
+
}
|