Source code for f5.bigip.tm.sys.file

# coding=utf-8
#
# Copyright 2016 F5 Networks Inc.
#
# 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.
#
"""BIG-IP® system file module

REST URI
    ``http://localhost/mgmt/tm/sys/file``

GUI Path
    N/A

REST Kind
    ``tm:sys:file:*``
"""

from distutils.version import LooseVersion
from f5.bigip.resource import Collection
from f5.bigip.resource import OrganizingCollection
from f5.bigip.resource import Resource
from f5.sdk_exception import UnsupportedMethod


[docs]class File(OrganizingCollection): """BIG-IP® System sys file collection.""" def __init__(self, sys): super(File, self).__init__(sys) self._meta_data['allowed_lazy_attributes'] = [ Data_Groups, Ifiles, Ssl_Certs, Ssl_Csrs, Ssl_Crls, Ssl_Keys]
[docs]class Data_Groups(Collection): """BIG-IP® System sys file data-groups collection.""" def __init__(self, File): super(Data_Groups, self).__init__(File) self._meta_data['allowed_lazy_attributes'] = [Data_Group] self._meta_data['attribute_registry'] =\ {'tm:sys:file:data-group:data-groupstate': Data_Group}
[docs]class Data_Group(Resource): """BIG-IP® System sys file data-groups resource.""" def __init__(self, data_groups): super(Data_Group, self).__init__(data_groups) self._meta_data['required_json_kind'] =\ 'tm:sys:file:data-group:data-groupstate' self._meta_data['required_creation_parameters'].update( ('name', 'sourcePath', 'type'))
[docs] def update(self, **kwargs): if LooseVersion(self._meta_data['bigip']._meta_data['tmos_version']) \ < LooseVersion('12.0.0'): if 'type' in self.__dict__: del self.__dict__['type'] return self._update(**kwargs)
[docs]class Ifiles(Collection): """BIG-IP® System sys file iFiles collection.""" def __init__(self, File): super(Ifiles, self).__init__(File) self._meta_data['allowed_lazy_attributes'] = [Ifile] self._meta_data['attribute_registry'] = \ {'tm:sys:file:ifile:ifilestate': Ifile}
[docs]class Ifile(Resource): """BIG-IP® System sys file iFiles resource.""" def __init__(self, ifiles): super(Ifile, self).__init__(ifiles) self._meta_data['required_json_kind'] =\ 'tm:sys:file:ifile:ifilestate' self._meta_data['required_creation_parameters'].update( ('name', 'sourcePath'))
[docs] def modify(self, **kwargs): '''Modify is not supported for iFiles :raises: UnsupportedOperation ''' raise UnsupportedMethod( "%s does not support the update method" % self.__class__.__name__ )
[docs]class Ssl_Certs(Collection): """BIG-IP® System sys file ssl-certs collection.""" def __init__(self, File): super(Ssl_Certs, self).__init__(File) self._meta_data['allowed_lazy_attributes'] = [Ssl_Cert] self._meta_data['attribute_registry'] =\ {'tm:sys:file:ssl-cert:ssl-certstate': Ssl_Cert}
[docs]class Ssl_Cert(Resource): """BIG-IP® System sys file ssl-certs resource.""" def __init__(self, ssl_certs): super(Ssl_Cert, self).__init__(ssl_certs) self._meta_data['required_json_kind'] =\ 'tm:sys:file:ssl-cert:ssl-certstate' self._meta_data['required_creation_parameters'].update( ('name', 'sourcePath'))
[docs] def modify(self, **kwargs): '''Modify is not supported for iFiles :raises: UnsupportedOperation ''' raise UnsupportedMethod( "%s does not support the update method" % self.__class__.__name__ )
[docs]class Ssl_Crls(Collection): """BIG-IP® System sys file ssl-crls collection.""" def __init__(self, File): super(Ssl_Crls, self).__init__(File) self._meta_data['allowed_lazy_attributes'] = [Ssl_Crl] self._meta_data['attribute_registry'] =\ {'tm:sys:file:ssl-crl:ssl-crlstate': Ssl_Crl}
[docs]class Ssl_Crl(Resource): """BIG-IP® System sys file ssl-crls resource.""" def __init__(self, ssl_crls): super(Ssl_Crl, self).__init__(ssl_crls) self._meta_data['required_json_kind'] =\ 'tm:sys:file:ssl-crl:ssl-crlstate' self._meta_data['required_creation_parameters'].update( ('name', 'sourcePath'))
[docs] def modify(self, **kwargs): '''Modify is not supported for iFiles :raises: UnsupportedOperation ''' raise UnsupportedMethod( "%s does not support the update method" % self.__class__.__name__ )
[docs]class Ssl_Csrs(Collection): """BIG-IP® System sys file ssl-csrs collection.""" def __init__(self, File): super(Ssl_Csrs, self).__init__(File) self._meta_data['allowed_lazy_attributes'] = [Ssl_Csr] self._meta_data['attribute_registry'] =\ {'tm:sys:file:ssl-csr:ssl-csrstate': Ssl_Csr} self._meta_data['minimum_version'] = '12.0.0'
[docs]class Ssl_Csr(Resource): """BIG-IP® System sys file ssl-csrs resource.""" def __init__(self, ssl_csrs): super(Ssl_Csr, self).__init__(ssl_csrs) self._meta_data['required_json_kind'] =\ 'tm:sys:file:ssl-csr:ssl-csrstate' self._meta_data['required_creation_parameters'].update( ('name', 'sourcePath'))
[docs] def modify(self, **kwargs): '''Modify is not supported for iFiles :raises: UnsupportedOperation ''' raise UnsupportedMethod( "%s does not support the update method" % self.__class__.__name__ )
[docs]class Ssl_Keys(Collection): """BIG-IP® System sys file ssl-keys collection.""" def __init__(self, File): super(Ssl_Keys, self).__init__(File) self._meta_data['allowed_lazy_attributes'] = [Ssl_Key] self._meta_data['attribute_registry'] =\ {'tm:sys:file:ssl-key:ssl-keystate': Ssl_Key}
[docs]class Ssl_Key(Resource): """BIG-IP® System sys file ssl-keys resource.""" def __init__(self, ssl_keys): super(Ssl_Key, self).__init__(ssl_keys) self._meta_data['required_json_kind'] =\ 'tm:sys:file:ssl-key:ssl-keystate' self._meta_data['required_creation_parameters'].update( ('name', 'sourcePath'))
[docs] def modify(self, **kwargs): '''Modify is not supported for iFiles :raises: UnsupportedOperation ''' raise UnsupportedMethod( "%s does not support the update method" % self.__class__.__name__ )