def required_during_scheduling_ignored_during_execution(self, pats=None): # raise NotImplementedError('Not yet implemented in Kubernetes 1.6') if not is_valid_list(pats, PodAffinityTerm): raise SyntaxError( "PodAffinity: required_during_scheduling_ignored_during_execution: [ {} ] is invald." .format(pats)) self._required_during_scheduling_ignored_during_execution = pats
def match_expressions(self, me=None): if not is_valid_list(me, LabelSelectorRequirement): raise SyntaxError( 'LabelSelector: match_expressions: [ {} ] is invalid.'.format( me)) self._match_expressions = me
def http_headers(self, headers=None): msg = "HTTPGetAction: headers: [ {0} ] is invalid.".format(headers) if not is_valid_list(headers, dict): raise SyntaxError(msg) for x in headers: if not is_valid_dict(x, ["name", "value"]): raise SyntaxError(msg) self._http_headers = headers
def containers(self, containers=None): if not is_valid_list(containers, K8sContainer): raise SyntaxError("K8sCronJob: containers: [ {} ] is invalid.".format(containers)) models = [] for obj in containers: models.append(obj.model) self.model.spec.job_template.spec.template.spec.containers = models
def access_modes(self, modes=None): if not is_valid_list(modes, str): raise SyntaxError( "PersistentVolumeClaimStatus: access_modes: [ {} ] is invalid." .format(modes)) filtered = list( filter(lambda x: x in PersistentVolumeSpec.VALID_ACCESS_MODES, modes)) self._access_modes = filtered
def add_image_pull_secrets(self, secrets=None): if not is_valid_list(secrets, dict): raise SyntaxError('PodSpec.add_image_pull_secrets() secrets : [ {0} ] is invalid.'.format(secrets)) s = self.image_pull_secrets if s is None: l = secrets else: l = s + secrets self.image_pull_secrets = [dict(t) for t in set([tuple(d.items()) for d in l])] return self
def values(self, v=None): if not is_valid_list(convert(v), str): raise SyntaxError( 'NodeSelectorRequirement: values: [ {} ] is invalid.'.format( v)) if self.operator in ['In, NotIn'] and v == []: raise SyntaxError( 'NodeSelectorRequirement: values: [ {} ] cannot be empty, if operator in [ "In", "NotIn" ]' .format(v)) if self.operator in ['Exists', 'NotExists'] and v != []: raise SyntaxError( 'NodeSelectorRequirement: values: [ {} ] must be empty, if operator in [ "Exists", "NotExists" ]' .format(v)) if self.operator in ['Gt', 'Lt']: if len(v) != 1: raise SyntaxError( 'NodeSelectorRequirement: values: [ {} ] must be an array of length 1, if operator in [ "Gt", "Lt" ]' .format(v)) if not isinstance(v[0], int): raise SyntaxError( 'NodeSelectorRequirement: values: [ {} ] must contain a single integer, if operator in [ "Gt", "Lt" ]' .format(v)) self._values = v
def taints(self, t=None): if not is_valid_list(t, Taint): raise SyntaxError("K8sNode: taints: [ {} ] is invalid.".format(t)) self.model.spec.taints = t
def volume_claim_templates(self, t=None): if not is_valid_list(t, PersistentVolumeClaim): raise SyntaxError( 'PetSetSpec: volume_claim_templates: [ {} ] is invalid.'. format(t)) self._volume_claim_templates = t
def preferred_during_scheduling_ignored_during_execution(self, p=None): if not is_valid_list(p, PreferredSchedulingTerm): raise SyntaxError( "NodeAffinity: preferred_during_scheduling_ignored_during_execution: [ {} ] is invalid." .format(p)) self._preferred_during_scheduling_ignored_during_execution = p
def node_selector_terms(self, t=None): if not is_valid_list(t, NodeSelectorTerm): raise SyntaxError('NodeSelector: node_selector_terms: [ {} ] is invalid.'.format(t)) self._node_selector_terms = t
def args(self, args=None): if not is_valid_list(args, str): raise SyntaxError("Container: args: [ {0} ] is invalid.".format(args)) self._args = args
def command(self, command=None): if not is_valid_list(command, str): raise SyntaxError( 'ExecAction: command: [ {0} ] is invalid.'.format(command)) self._command = command
def supplemental_groups(self, gids=None): if not is_valid_list(gids, int): raise SyntaxError( 'PodSecurityContext: supplemental_groups: [ {0} ] is invalid.'. format(gids)) self._supplemental_groups = gids
def drop(self, d=None): if not is_valid_list(d, str): raise SyntaxError('Capabilities: add: [ {} ] is invalid.'.format(d)) self._drop = d
def volume_mounts(self, mounts=None): if not is_valid_list(mounts, VolumeMount): raise SyntaxError("Container: volume_mounts: [ {0} ] is invalid.".format(mounts)) self._volume_mounts = mounts
def preferred_during_scheduling_ignored_during_execution(self, wpats=None): if not is_valid_list(wpats, WeightedPodAffinityTerm): raise SyntaxError( 'PodAffinity: preferred_during_scheduling_ignored_during_execution: [ {} ] is invald.'.format(wpats)) self._preferred_during_scheduling_ignored_during_execution = wpats
def ports(self, ports=None): if not is_valid_list(ports, ContainerPort): raise SyntaxError("Container: ports: [ {0} ] is invalid.".format(ports)) self._ports = ports
def env(self, env=None): if not is_valid_list(env, EnvVar): raise SyntaxError("Container: env: [ {0} ] is invalid.".format(env)) self._env = env
def command(self, command=None): if not is_valid_list(command, str): raise SyntaxError("Container: command: [ {0} ] is invalid.".format(command)) self._command = command
def volumes(self, v=None): if not is_valid_list(v, K8sVolume): self.model.spec.template.spec.volumes = v
def active(self, _list=None): if not is_valid_list(_list, ObjectReference): raise SyntaxError( "CronJobStatus: active: [ {} ] is invalid.".format(_list)) self._active = _list
def add(self, a=None): if not is_valid_list(a, str): raise SyntaxError('Capabilities: add: [ {} ] is invalid.'.format(a)) self._add = a
def image_pull_secrets(self, s=None): if not is_valid_list(s, LocalObjectReference): raise SyntaxError( 'ServiceAccount: image_pull_secrets: [ {} ] is invalid.'. format(s)) self._image_pull_secrets = s
def volume_claim_templates(self, vcts=None): if not is_valid_list(vcts, PersistentVolumeClaim): raise SyntaxError( 'StatefulSetSpec: volume_claim_templates: [ {} ] is invalid.'. format(vcts)) self._volume_claim_templates = vcts
def ingress(self, ingress=None): if not is_valid_list(ingress, LoadBalancerIngress): raise SyntaxError( "LoadBalancerStatus: ingress: [ {0} ] is invalid.".format( ingress)) self._ingress = ingress
def containers(self, containers=None): if not is_valid_list(containers, K8sContainer): self.model.spec.containers = [x.model for x in containers]
def required_during_scheduling_ignored_during_execution(self, pats=None): if not is_valid_list(pats, PodAffinityTerm): raise SyntaxError( "PodAffinity: required_during_scheduling_ignored_during_execution: [ {} ] is invald." .format(pats)) self._required_during_scheduling_ignored_during_execution = pats
def match_expressions(self, e=None): if not is_valid_list(e, NodeSelectorRequirement): raise SyntaxError( 'NodeSelectorTerm: match_expressions: [ {} ] is invalid.'. format(e)) self._match_expressions = e
def secrets(self, s=None): if not is_valid_list(s, ObjectReference): raise SyntaxError( 'ServiceAccount: secrets: [ {} ] is invalid.'.format(s)) self._secrets = s