From b4d1fdef0380ca14096b4e2f6bd8ede4c4cce3fc Mon Sep 17 00:00:00 2001 From: FrantzT Date: Tue, 28 Jul 2020 02:10:52 -0400 Subject: [PATCH] Create cronjob.py --- k8s/models/cronjob.py | 56 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 k8s/models/cronjob.py diff --git a/k8s/models/cronjob.py b/k8s/models/cronjob.py new file mode 100644 index 0000000..c3cd820 --- /dev/null +++ b/k8s/models/cronjob.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python +# -*- coding: utf-8 + +# Copyright 2017-2019 The FIAAS Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from __future__ import absolute_import + +import six + +from .common import ObjectMeta, ObjectReference, Time, ListMeta +from .job import JobTemplateSpec +from ..base import Model +from ..fields import Field, ListField + + +class CronJobSpec(Model): + concurrencyPolicy = Field(six.text_type) + failedJobsHistoryLimit = Field(int) + jobTemplate = Field(JobTemplateSpec) + schedule = Field(six.text_type) + startingDeadlineSeconds = Field(int) + successfulJobsHistoryLimit = Field(int) + suspend = Field(bool) + + +class CronJobStatus(Model): + active = ListField(ObjectReference) + lastScheduleTime = Field(Time) + + +class CronJob(Model): + class Meta: + list_url = "/apis/batch/v1beta1/cronjobs" + url_template = "/apis/batch/v1beta1/namespaces/{namespace}/cronjobs/{name}" + + metadata = Field(ObjectMeta) + spec = Field(CronJobSpec) + status = Field(CronJobStatus) + + +class CronJobList(Model): + apiVersion = Field(six.text_type) + items = ListField(CronJob) + kind = Field(six.text_type) + metadata = Field(ListMeta)