Example #1
0
class K8sVolume(K8sObject):

    VALID_VOLUME_TYPES = Volume.VALID_VOLUME_TYPES

    def __init__(self, config=None, model=None, name=None, type=None, mount_path=None, read_only=False):

        super(K8sVolume, self).__init__(config=config, name=name, obj_type='Volume')

        if model is None:
            self.model = Volume(name=name, type=type, mount_path=mount_path, read_only=read_only)
            self.type = type

        if model is not None:
            if not isinstance(model, Volume):
                raise SyntaxError('K8sVolume: model: [ {0} ] must be a Volume.'.format(model.__class__.__name__))
            self.model = model
            self.type = self.model.type

    # -------------------------------------------------------------------------------------  emptyDir

    def set_medium(self, medium=None):
        self.model.set_medium(medium)
        return self

    # -------------------------------------------------------------------------------------  hostPath & nfs - path

    def set_path(self, path=None):
        self.model.set_path(path)
        return self

    # -------------------------------------------------------------------------------------  secret

    def set_secret_name(self, secret=None):
        self.model.set_secret_name(secret)
        return self

    # -------------------------------------------------------------------------------------  awsElasticBlockStore

    def set_volume_id(self, volume_id=None):
        self.model.set_volume_id(volume_id)
        return self

    # -------------------------------------------------------------------------------------  gcePersistentDisk

    def set_pd_name(self, pd_name=None):
        self.model.set_pd_name(pd_name)
        return self

    # -------------------------------------------------------------------------------------  aws & gce - fs type

    def set_fs_type(self, fs_type=None):
        self.model.set_fs_type(fs_type)
        return self

    # -------------------------------------------------------------------------------------  nfs

    def set_server(self, server=None):
        self.model.set_server(server)
        return self

    # -------------------------------------------------------------------------------------  gitRepo

    def set_git_repository(self, repo=None):
        self.model.set_git_repository(repo)
        return self

    def set_git_revision(self, revision=None):
        self.model.set_git_revision(revision)
        return self