github.com/kubeflow/training-operator@v1.7.0/hack/python-sdk/swagger.json (about)

     1  {
     2    "swagger": "2.0",
     3    "info": {
     4      "description": "Python SDK for Kubeflow Training",
     5      "title": "Kubeflow Training SDK",
     6      "version": "v1.7.0"
     7    },
     8    "paths": {},
     9    "definitions": {
    10      "kubeflow.org.v1.ElasticPolicy": {
    11        "type": "object",
    12        "properties": {
    13          "maxReplicas": {
    14            "description": "upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas, defaults to null.",
    15            "type": "integer",
    16            "format": "int32"
    17          },
    18          "maxRestarts": {
    19            "type": "integer",
    20            "format": "int32"
    21          },
    22          "metrics": {
    23            "description": "Metrics contains the specifications which are used to calculate the desired replica count (the maximum replica count across all metrics will be used).  The desired replica count is calculated with multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa.  See the individual metric source types for more information about how each type of metric must respond. If not set, the HPA will not be created.",
    24            "type": "array",
    25            "items": {
    26              "default": {},
    27              "$ref": "#/definitions/k8s.io.api.autoscaling.v2.MetricSpec"
    28            }
    29          },
    30          "minReplicas": {
    31            "description": "minReplicas is the lower limit for the number of replicas to which the training job can scale down.  It defaults to null.",
    32            "type": "integer",
    33            "format": "int32"
    34          },
    35          "nProcPerNode": {
    36            "description": "Number of workers per node; supported values: [auto, cpu, gpu, int]. Deprecated: This API is deprecated in v1.7+ Use .spec.nprocPerNode instead.",
    37            "type": "integer",
    38            "format": "int32"
    39          },
    40          "rdzvBackend": {
    41            "type": "string"
    42          },
    43          "rdzvConf": {
    44            "description": "RDZVConf contains additional rendezvous configuration (\u003ckey1\u003e=\u003cvalue1\u003e,\u003ckey2\u003e=\u003cvalue2\u003e,...).",
    45            "type": "array",
    46            "items": {
    47              "default": {},
    48              "$ref": "#/definitions/kubeflow.org.v1.RDZVConf"
    49            }
    50          },
    51          "rdzvHost": {
    52            "type": "string"
    53          },
    54          "rdzvId": {
    55            "type": "string"
    56          },
    57          "rdzvPort": {
    58            "type": "integer",
    59            "format": "int32"
    60          },
    61          "standalone": {
    62            "description": "Start a local standalone rendezvous backend that is represented by a C10d TCP store on port 29400. Useful when launching single-node, multi-worker job. If specified --rdzv_backend, --rdzv_endpoint, --rdzv_id are auto-assigned; any explicitly set values are ignored.",
    63            "type": "boolean"
    64          }
    65        }
    66      },
    67      "kubeflow.org.v1.JobCondition": {
    68        "description": "JobCondition describes the state of the job at a certain point.",
    69        "type": "object",
    70        "required": [
    71          "type",
    72          "status"
    73        ],
    74        "properties": {
    75          "lastTransitionTime": {
    76            "description": "Last time the condition transitioned from one status to another.",
    77            "default": {},
    78            "$ref": "#/definitions/v1.Time"
    79          },
    80          "lastUpdateTime": {
    81            "description": "The last time this condition was updated.",
    82            "default": {},
    83            "$ref": "#/definitions/v1.Time"
    84          },
    85          "message": {
    86            "description": "A human readable message indicating details about the transition.",
    87            "type": "string"
    88          },
    89          "reason": {
    90            "description": "The reason for the condition's last transition.",
    91            "type": "string"
    92          },
    93          "status": {
    94            "description": "Status of the condition, one of True, False, Unknown.",
    95            "type": "string",
    96            "default": ""
    97          },
    98          "type": {
    99            "description": "Type of job condition.",
   100            "type": "string",
   101            "default": ""
   102          }
   103        }
   104      },
   105      "kubeflow.org.v1.JobStatus": {
   106        "description": "JobStatus represents the current observed state of the training Job.",
   107        "type": "object",
   108        "properties": {
   109          "completionTime": {
   110            "description": "Represents time when the job was completed. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.",
   111            "$ref": "#/definitions/v1.Time"
   112          },
   113          "conditions": {
   114            "description": "Conditions is an array of current observed job conditions.",
   115            "type": "array",
   116            "items": {
   117              "default": {},
   118              "$ref": "#/definitions/kubeflow.org.v1.JobCondition"
   119            }
   120          },
   121          "lastReconcileTime": {
   122            "description": "Represents last time when the job was reconciled. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.",
   123            "$ref": "#/definitions/v1.Time"
   124          },
   125          "replicaStatuses": {
   126            "description": "ReplicaStatuses is map of ReplicaType and ReplicaStatus, specifies the status of each replica.",
   127            "type": "object",
   128            "additionalProperties": {
   129              "$ref": "#/definitions/kubeflow.org.v1.ReplicaStatus"
   130            }
   131          },
   132          "startTime": {
   133            "description": "Represents time when the job was acknowledged by the job controller. It is not guaranteed to be set in happens-before order across separate operations. It is represented in RFC3339 form and is in UTC.",
   134            "$ref": "#/definitions/v1.Time"
   135          }
   136        }
   137      },
   138      "kubeflow.org.v1.MPIJob": {
   139        "type": "object",
   140        "properties": {
   141          "apiVersion": {
   142            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   143            "type": "string"
   144          },
   145          "kind": {
   146            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   147            "type": "string"
   148          },
   149          "metadata": {
   150            "default": {},
   151            "$ref": "#/definitions/v1.ObjectMeta"
   152          },
   153          "spec": {
   154            "default": {},
   155            "$ref": "#/definitions/kubeflow.org.v1.MPIJobSpec"
   156          },
   157          "status": {
   158            "default": {},
   159            "$ref": "#/definitions/kubeflow.org.v1.JobStatus"
   160          }
   161        }
   162      },
   163      "kubeflow.org.v1.MPIJobList": {
   164        "type": "object",
   165        "required": [
   166          "items"
   167        ],
   168        "properties": {
   169          "apiVersion": {
   170            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   171            "type": "string"
   172          },
   173          "items": {
   174            "type": "array",
   175            "items": {
   176              "default": {},
   177              "$ref": "#/definitions/kubeflow.org.v1.MPIJob"
   178            }
   179          },
   180          "kind": {
   181            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   182            "type": "string"
   183          },
   184          "metadata": {
   185            "default": {},
   186            "$ref": "#/definitions/v1.ListMeta"
   187          }
   188        }
   189      },
   190      "kubeflow.org.v1.MPIJobSpec": {
   191        "type": "object",
   192        "required": [
   193          "mpiReplicaSpecs"
   194        ],
   195        "properties": {
   196          "cleanPodPolicy": {
   197            "description": "CleanPodPolicy defines the policy that whether to kill pods after the job completes. Defaults to None.",
   198            "type": "string"
   199          },
   200          "mainContainer": {
   201            "description": "MainContainer specifies name of the main container which executes the MPI code.",
   202            "type": "string"
   203          },
   204          "mpiReplicaSpecs": {
   205            "description": "`MPIReplicaSpecs` contains maps from `MPIReplicaType` to `ReplicaSpec` that specify the MPI replicas to run.",
   206            "type": "object",
   207            "additionalProperties": {
   208              "$ref": "#/definitions/kubeflow.org.v1.ReplicaSpec"
   209            }
   210          },
   211          "runPolicy": {
   212            "description": "`RunPolicy` encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.",
   213            "default": {},
   214            "$ref": "#/definitions/kubeflow.org.v1.RunPolicy"
   215          },
   216          "slotsPerWorker": {
   217            "description": "Specifies the number of slots per worker used in hostfile. Defaults to 1.",
   218            "type": "integer",
   219            "format": "int32"
   220          }
   221        }
   222      },
   223      "kubeflow.org.v1.MXJob": {
   224        "description": "MXJob is the Schema for the mxjobs API",
   225        "type": "object",
   226        "properties": {
   227          "apiVersion": {
   228            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   229            "type": "string"
   230          },
   231          "kind": {
   232            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   233            "type": "string"
   234          },
   235          "metadata": {
   236            "default": {},
   237            "$ref": "#/definitions/v1.ObjectMeta"
   238          },
   239          "spec": {
   240            "default": {},
   241            "$ref": "#/definitions/kubeflow.org.v1.MXJobSpec"
   242          },
   243          "status": {
   244            "default": {},
   245            "$ref": "#/definitions/kubeflow.org.v1.JobStatus"
   246          }
   247        }
   248      },
   249      "kubeflow.org.v1.MXJobList": {
   250        "description": "MXJobList contains a list of MXJob",
   251        "type": "object",
   252        "required": [
   253          "items"
   254        ],
   255        "properties": {
   256          "apiVersion": {
   257            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   258            "type": "string"
   259          },
   260          "items": {
   261            "type": "array",
   262            "items": {
   263              "default": {},
   264              "$ref": "#/definitions/kubeflow.org.v1.MXJob"
   265            }
   266          },
   267          "kind": {
   268            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   269            "type": "string"
   270          },
   271          "metadata": {
   272            "default": {},
   273            "$ref": "#/definitions/v1.ListMeta"
   274          }
   275        }
   276      },
   277      "kubeflow.org.v1.MXJobSpec": {
   278        "description": "MXJobSpec defines the desired state of MXJob",
   279        "type": "object",
   280        "required": [
   281          "runPolicy",
   282          "jobMode",
   283          "mxReplicaSpecs"
   284        ],
   285        "properties": {
   286          "jobMode": {
   287            "description": "JobMode specify the kind of MXjob to do. Different mode may have different MXReplicaSpecs request",
   288            "type": "string",
   289            "default": ""
   290          },
   291          "mxReplicaSpecs": {
   292            "description": "MXReplicaSpecs is map of ReplicaType and ReplicaSpec specifies the MX replicas to run. For example,\n  {\n    \"Scheduler\": ReplicaSpec,\n    \"Server\": ReplicaSpec,\n    \"Worker\": ReplicaSpec,\n  }",
   293            "type": "object",
   294            "additionalProperties": {
   295              "$ref": "#/definitions/kubeflow.org.v1.ReplicaSpec"
   296            }
   297          },
   298          "runPolicy": {
   299            "description": "RunPolicy encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.",
   300            "default": {},
   301            "$ref": "#/definitions/kubeflow.org.v1.RunPolicy"
   302          }
   303        }
   304      },
   305      "kubeflow.org.v1.MXJobStatus": {
   306        "description": "MXJobStatus defines the observed state of MXJob",
   307        "type": "object"
   308      },
   309      "kubeflow.org.v1.PaddleElasticPolicy": {
   310        "type": "object",
   311        "properties": {
   312          "maxReplicas": {
   313            "description": "upper limit for the number of pods that can be set by the autoscaler; cannot be smaller than MinReplicas, defaults to null.",
   314            "type": "integer",
   315            "format": "int32"
   316          },
   317          "maxRestarts": {
   318            "description": "MaxRestarts is the limit for restart times of pods in elastic mode.",
   319            "type": "integer",
   320            "format": "int32"
   321          },
   322          "metrics": {
   323            "description": "Metrics contains the specifications which are used to calculate the desired replica count (the maximum replica count across all metrics will be used).  The desired replica count is calculated with multiplying the ratio between the target value and the current value by the current number of pods. Ergo, metrics used must decrease as the pod count is increased, and vice-versa.  See the individual metric source types for more information about how each type of metric must respond. If not set, the HPA will not be created.",
   324            "type": "array",
   325            "items": {
   326              "default": {},
   327              "$ref": "#/definitions/k8s.io.api.autoscaling.v2.MetricSpec"
   328            }
   329          },
   330          "minReplicas": {
   331            "description": "minReplicas is the lower limit for the number of replicas to which the training job can scale down.  It defaults to null.",
   332            "type": "integer",
   333            "format": "int32"
   334          }
   335        }
   336      },
   337      "kubeflow.org.v1.PaddleJob": {
   338        "description": "PaddleJob Represents a PaddleJob resource.",
   339        "type": "object",
   340        "properties": {
   341          "apiVersion": {
   342            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   343            "type": "string"
   344          },
   345          "kind": {
   346            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   347            "type": "string"
   348          },
   349          "metadata": {
   350            "default": {},
   351            "$ref": "#/definitions/v1.ObjectMeta"
   352          },
   353          "spec": {
   354            "description": "Specification of the desired state of the PaddleJob.",
   355            "default": {},
   356            "$ref": "#/definitions/kubeflow.org.v1.PaddleJobSpec"
   357          },
   358          "status": {
   359            "description": "Most recently observed status of the PaddleJob. Read-only (modified by the system).",
   360            "default": {},
   361            "$ref": "#/definitions/kubeflow.org.v1.JobStatus"
   362          }
   363        }
   364      },
   365      "kubeflow.org.v1.PaddleJobList": {
   366        "description": "PaddleJobList is a list of PaddleJobs.",
   367        "type": "object",
   368        "required": [
   369          "items"
   370        ],
   371        "properties": {
   372          "apiVersion": {
   373            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   374            "type": "string"
   375          },
   376          "items": {
   377            "description": "List of PaddleJobs.",
   378            "type": "array",
   379            "items": {
   380              "default": {},
   381              "$ref": "#/definitions/kubeflow.org.v1.PaddleJob"
   382            }
   383          },
   384          "kind": {
   385            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   386            "type": "string"
   387          },
   388          "metadata": {
   389            "description": "Standard list metadata.",
   390            "default": {},
   391            "$ref": "#/definitions/v1.ListMeta"
   392          }
   393        }
   394      },
   395      "kubeflow.org.v1.PaddleJobSpec": {
   396        "description": "PaddleJobSpec is a desired state description of the PaddleJob.",
   397        "type": "object",
   398        "required": [
   399          "runPolicy",
   400          "paddleReplicaSpecs"
   401        ],
   402        "properties": {
   403          "elasticPolicy": {
   404            "description": "ElasticPolicy holds the elastic policy for paddle job.",
   405            "$ref": "#/definitions/kubeflow.org.v1.PaddleElasticPolicy"
   406          },
   407          "paddleReplicaSpecs": {
   408            "description": "A map of PaddleReplicaType (type) to ReplicaSpec (value). Specifies the Paddle cluster configuration. For example,\n  {\n    \"Master\": PaddleReplicaSpec,\n    \"Worker\": PaddleReplicaSpec,\n  }",
   409            "type": "object",
   410            "additionalProperties": {
   411              "$ref": "#/definitions/kubeflow.org.v1.ReplicaSpec"
   412            }
   413          },
   414          "runPolicy": {
   415            "description": "RunPolicy encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.",
   416            "default": {},
   417            "$ref": "#/definitions/kubeflow.org.v1.RunPolicy"
   418          }
   419        }
   420      },
   421      "kubeflow.org.v1.PyTorchJob": {
   422        "description": "PyTorchJob Represents a PyTorchJob resource.",
   423        "type": "object",
   424        "properties": {
   425          "apiVersion": {
   426            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   427            "type": "string"
   428          },
   429          "kind": {
   430            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   431            "type": "string"
   432          },
   433          "metadata": {
   434            "default": {},
   435            "$ref": "#/definitions/v1.ObjectMeta"
   436          },
   437          "spec": {
   438            "description": "Specification of the desired state of the PyTorchJob.",
   439            "default": {},
   440            "$ref": "#/definitions/kubeflow.org.v1.PyTorchJobSpec"
   441          },
   442          "status": {
   443            "description": "Most recently observed status of the PyTorchJob. Read-only (modified by the system).",
   444            "default": {},
   445            "$ref": "#/definitions/kubeflow.org.v1.JobStatus"
   446          }
   447        }
   448      },
   449      "kubeflow.org.v1.PyTorchJobList": {
   450        "description": "PyTorchJobList is a list of PyTorchJobs.",
   451        "type": "object",
   452        "required": [
   453          "items"
   454        ],
   455        "properties": {
   456          "apiVersion": {
   457            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   458            "type": "string"
   459          },
   460          "items": {
   461            "description": "List of PyTorchJobs.",
   462            "type": "array",
   463            "items": {
   464              "default": {},
   465              "$ref": "#/definitions/kubeflow.org.v1.PyTorchJob"
   466            }
   467          },
   468          "kind": {
   469            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   470            "type": "string"
   471          },
   472          "metadata": {
   473            "description": "Standard list metadata.",
   474            "default": {},
   475            "$ref": "#/definitions/v1.ListMeta"
   476          }
   477        }
   478      },
   479      "kubeflow.org.v1.PyTorchJobSpec": {
   480        "description": "PyTorchJobSpec is a desired state description of the PyTorchJob.",
   481        "type": "object",
   482        "required": [
   483          "runPolicy",
   484          "pytorchReplicaSpecs"
   485        ],
   486        "properties": {
   487          "elasticPolicy": {
   488            "$ref": "#/definitions/kubeflow.org.v1.ElasticPolicy"
   489          },
   490          "nprocPerNode": {
   491            "description": "Number of workers per node; supported values: [auto, cpu, gpu, int]. For more, https://github.com/pytorch/pytorch/blob/26f7f470df64d90e092081e39507e4ac751f55d6/torch/distributed/run.py#L629-L658. Defaults to auto.",
   492            "type": "string"
   493          },
   494          "pytorchReplicaSpecs": {
   495            "description": "A map of PyTorchReplicaType (type) to ReplicaSpec (value). Specifies the PyTorch cluster configuration. For example,\n  {\n    \"Master\": PyTorchReplicaSpec,\n    \"Worker\": PyTorchReplicaSpec,\n  }",
   496            "type": "object",
   497            "additionalProperties": {
   498              "$ref": "#/definitions/kubeflow.org.v1.ReplicaSpec"
   499            }
   500          },
   501          "runPolicy": {
   502            "description": "RunPolicy encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.",
   503            "default": {},
   504            "$ref": "#/definitions/kubeflow.org.v1.RunPolicy"
   505          }
   506        }
   507      },
   508      "kubeflow.org.v1.RDZVConf": {
   509        "type": "object",
   510        "properties": {
   511          "key": {
   512            "type": "string"
   513          },
   514          "value": {
   515            "type": "string"
   516          }
   517        }
   518      },
   519      "kubeflow.org.v1.ReplicaSpec": {
   520        "description": "ReplicaSpec is a description of the replica",
   521        "type": "object",
   522        "properties": {
   523          "replicas": {
   524            "description": "Replicas is the desired number of replicas of the given template. If unspecified, defaults to 1.",
   525            "type": "integer",
   526            "format": "int32"
   527          },
   528          "restartPolicy": {
   529            "description": "Restart policy for all replicas within the job. One of Always, OnFailure, Never and ExitCode. Default to Never.",
   530            "type": "string"
   531          },
   532          "template": {
   533            "description": "Template is the object that describes the pod that will be created for this replica. RestartPolicy in PodTemplateSpec will be overide by RestartPolicy in ReplicaSpec",
   534            "default": {},
   535            "$ref": "#/definitions/v1.PodTemplateSpec"
   536          }
   537        }
   538      },
   539      "kubeflow.org.v1.ReplicaStatus": {
   540        "description": "ReplicaStatus represents the current observed state of the replica.",
   541        "type": "object",
   542        "properties": {
   543          "active": {
   544            "description": "The number of actively running pods.",
   545            "type": "integer",
   546            "format": "int32"
   547          },
   548          "failed": {
   549            "description": "The number of pods which reached phase Failed.",
   550            "type": "integer",
   551            "format": "int32"
   552          },
   553          "labelSelector": {
   554            "description": "Deprecated: Use Selector instead",
   555            "$ref": "#/definitions/v1.LabelSelector"
   556          },
   557          "selector": {
   558            "description": "A Selector is a label query over a set of resources. The result of matchLabels and matchExpressions are ANDed. An empty Selector matches all objects. A null Selector matches no objects.",
   559            "type": "string"
   560          },
   561          "succeeded": {
   562            "description": "The number of pods which reached phase Succeeded.",
   563            "type": "integer",
   564            "format": "int32"
   565          }
   566        }
   567      },
   568      "kubeflow.org.v1.RunPolicy": {
   569        "description": "RunPolicy encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.",
   570        "type": "object",
   571        "properties": {
   572          "activeDeadlineSeconds": {
   573            "description": "Specifies the duration in seconds relative to the startTime that the job may be active before the system tries to terminate it; value must be positive integer.",
   574            "type": "integer",
   575            "format": "int64"
   576          },
   577          "backoffLimit": {
   578            "description": "Optional number of retries before marking this job failed.",
   579            "type": "integer",
   580            "format": "int32"
   581          },
   582          "cleanPodPolicy": {
   583            "description": "CleanPodPolicy defines the policy to kill pods after the job completes. Default to None.",
   584            "type": "string"
   585          },
   586          "schedulingPolicy": {
   587            "description": "SchedulingPolicy defines the policy related to scheduling, e.g. gang-scheduling",
   588            "$ref": "#/definitions/kubeflow.org.v1.SchedulingPolicy"
   589          },
   590          "suspend": {
   591            "description": "suspend specifies whether the Job controller should create Pods or not. If a Job is created with suspend set to true, no Pods are created by the Job controller. If a Job is suspended after creation (i.e. the flag goes from false to true), the Job controller will delete all active Pods and PodGroups associated with this Job. Users must design their workload to gracefully handle this. Suspending a Job will reset the StartTime field of the Job.\n\nDefaults to false.",
   592            "type": "boolean"
   593          },
   594          "ttlSecondsAfterFinished": {
   595            "description": "TTLSecondsAfterFinished is the TTL to clean up jobs. It may take extra ReconcilePeriod seconds for the cleanup, since reconcile gets called periodically. Default to infinite.",
   596            "type": "integer",
   597            "format": "int32"
   598          }
   599        }
   600      },
   601      "kubeflow.org.v1.SchedulingPolicy": {
   602        "description": "SchedulingPolicy encapsulates various scheduling policies of the distributed training job, for example `minAvailable` for gang-scheduling.",
   603        "type": "object",
   604        "properties": {
   605          "minAvailable": {
   606            "type": "integer",
   607            "format": "int32"
   608          },
   609          "minResources": {
   610            "type": "object",
   611            "additionalProperties": {
   612              "default": {},
   613              "$ref": "#/definitions/.Quantity"
   614            }
   615          },
   616          "priorityClass": {
   617            "type": "string"
   618          },
   619          "queue": {
   620            "type": "string"
   621          },
   622          "scheduleTimeoutSeconds": {
   623            "type": "integer",
   624            "format": "int32"
   625          }
   626        }
   627      },
   628      "kubeflow.org.v1.TFJob": {
   629        "description": "TFJob represents a TFJob resource.",
   630        "type": "object",
   631        "properties": {
   632          "apiVersion": {
   633            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   634            "type": "string"
   635          },
   636          "kind": {
   637            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   638            "type": "string"
   639          },
   640          "metadata": {
   641            "default": {},
   642            "$ref": "#/definitions/v1.ObjectMeta"
   643          },
   644          "spec": {
   645            "description": "Specification of the desired state of the TFJob.",
   646            "default": {},
   647            "$ref": "#/definitions/kubeflow.org.v1.TFJobSpec"
   648          },
   649          "status": {
   650            "description": "Most recently observed status of the TFJob. Populated by the system. Read-only.",
   651            "default": {},
   652            "$ref": "#/definitions/kubeflow.org.v1.JobStatus"
   653          }
   654        }
   655      },
   656      "kubeflow.org.v1.TFJobList": {
   657        "description": "TFJobList is a list of TFJobs.",
   658        "type": "object",
   659        "required": [
   660          "items"
   661        ],
   662        "properties": {
   663          "apiVersion": {
   664            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   665            "type": "string"
   666          },
   667          "items": {
   668            "description": "List of TFJobs.",
   669            "type": "array",
   670            "items": {
   671              "default": {},
   672              "$ref": "#/definitions/kubeflow.org.v1.TFJob"
   673            }
   674          },
   675          "kind": {
   676            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   677            "type": "string"
   678          },
   679          "metadata": {
   680            "description": "Standard list metadata.",
   681            "default": {},
   682            "$ref": "#/definitions/v1.ListMeta"
   683          }
   684        }
   685      },
   686      "kubeflow.org.v1.TFJobSpec": {
   687        "description": "TFJobSpec is a desired state description of the TFJob.",
   688        "type": "object",
   689        "required": [
   690          "runPolicy",
   691          "tfReplicaSpecs"
   692        ],
   693        "properties": {
   694          "enableDynamicWorker": {
   695            "description": "A switch to enable dynamic worker",
   696            "type": "boolean"
   697          },
   698          "runPolicy": {
   699            "description": "RunPolicy encapsulates various runtime policies of the distributed training job, for example how to clean up resources and how long the job can stay active.",
   700            "default": {},
   701            "$ref": "#/definitions/kubeflow.org.v1.RunPolicy"
   702          },
   703          "successPolicy": {
   704            "description": "SuccessPolicy defines the policy to mark the TFJob as succeeded. Default to \"\", using the default rules.",
   705            "type": "string"
   706          },
   707          "tfReplicaSpecs": {
   708            "description": "A map of TFReplicaType (type) to ReplicaSpec (value). Specifies the TF cluster configuration. For example,\n  {\n    \"PS\": ReplicaSpec,\n    \"Worker\": ReplicaSpec,\n  }",
   709            "type": "object",
   710            "additionalProperties": {
   711              "$ref": "#/definitions/kubeflow.org.v1.ReplicaSpec"
   712            }
   713          }
   714        }
   715      },
   716      "kubeflow.org.v1.XGBoostJob": {
   717        "description": "XGBoostJob is the Schema for the xgboostjobs API",
   718        "type": "object",
   719        "properties": {
   720          "apiVersion": {
   721            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   722            "type": "string"
   723          },
   724          "kind": {
   725            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   726            "type": "string"
   727          },
   728          "metadata": {
   729            "default": {},
   730            "$ref": "#/definitions/v1.ObjectMeta"
   731          },
   732          "spec": {
   733            "default": {},
   734            "$ref": "#/definitions/kubeflow.org.v1.XGBoostJobSpec"
   735          },
   736          "status": {
   737            "default": {},
   738            "$ref": "#/definitions/kubeflow.org.v1.JobStatus"
   739          }
   740        }
   741      },
   742      "kubeflow.org.v1.XGBoostJobList": {
   743        "description": "XGBoostJobList contains a list of XGBoostJob",
   744        "type": "object",
   745        "required": [
   746          "items"
   747        ],
   748        "properties": {
   749          "apiVersion": {
   750            "description": "APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
   751            "type": "string"
   752          },
   753          "items": {
   754            "type": "array",
   755            "items": {
   756              "default": {},
   757              "$ref": "#/definitions/kubeflow.org.v1.XGBoostJob"
   758            }
   759          },
   760          "kind": {
   761            "description": "Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
   762            "type": "string"
   763          },
   764          "metadata": {
   765            "default": {},
   766            "$ref": "#/definitions/v1.ListMeta"
   767          }
   768        }
   769      },
   770      "kubeflow.org.v1.XGBoostJobSpec": {
   771        "description": "XGBoostJobSpec defines the desired state of XGBoostJob",
   772        "type": "object",
   773        "required": [
   774          "runPolicy",
   775          "xgbReplicaSpecs"
   776        ],
   777        "properties": {
   778          "runPolicy": {
   779            "description": "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"make\" to regenerate code after modifying this file",
   780            "default": {},
   781            "$ref": "#/definitions/kubeflow.org.v1.RunPolicy"
   782          },
   783          "xgbReplicaSpecs": {
   784            "type": "object",
   785            "additionalProperties": {
   786              "$ref": "#/definitions/kubeflow.org.v1.ReplicaSpec"
   787            }
   788          }
   789        }
   790      }
   791    }
   792  }