anaconda/anaconda-40.22.3.13/pyanaconda/modules/common/structures/rpm_ostree.py
2024-11-14 21:39:56 -08:00

151 lines
4.2 KiB
Python

#
# DBus structures for the RPM OSTree data.
#
# Copyright (C) 2020 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions of
# the GNU General Public License v.2, or (at your option) any later version.
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY expressed or implied, including the implied warranties of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
# Public License for more details. You should have received a copy of the
# GNU General Public License along with this program; if not, write to the
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA. Any Red Hat trademarks that are incorporated in the
# source code or documentation are not subject to the GNU General Public
# License and may only be used or replicated with the express permission of
# Red Hat, Inc.
#
from dasbus.structure import DBusData
from dasbus.typing import Str, Bool
__all__ = ["RPMOSTreeConfigurationData", "RPMOSTreeContainerConfigurationData"]
class RPMOSTreeConfigurationData(DBusData):
"""Structure to hold RPM OSTree configuration."""
def __init__(self):
self._osname = ""
self._remote = ""
self._url = ""
self._ref = ""
self._gpg_verification_enabled = True
@staticmethod
def is_container():
"""Is this native container source?"""
return False
@property
def osname(self) -> Str:
"""Management root for OS installation."""
return self._osname
@osname.setter
def osname(self, value: Str):
self._osname = value
@property
def remote(self) -> Str:
"""Remote management root for OS installation."""
return self._remote
@remote.setter
def remote(self, value: Str):
self._remote = value
@property
def url(self) -> Str:
"""URL of the repository to install from."""
return self._url
@url.setter
def url(self, value: Str):
self._url = value
@property
def ref(self) -> Str:
"""Name of branch in the repository."""
return self._ref
@ref.setter
def ref(self, value: Str):
self._ref = value
@property
def gpg_verification_enabled(self) -> Bool:
"""Is the GPG key verification enabled?"""
return self._gpg_verification_enabled
@gpg_verification_enabled.setter
def gpg_verification_enabled(self, value: Bool):
self._gpg_verification_enabled = value
class RPMOSTreeContainerConfigurationData(DBusData):
"""Structure to hold RPM OSTree from container configuration."""
def __init__(self):
self._stateroot = ""
self._remote = ""
self._transport = ""
self._url = ""
self._signature_verification_enabled = True
@staticmethod
def is_container():
"""Is this native container source?"""
return True
@property
def stateroot(self) -> Str:
"""Name for the state directory, also known as "osname".
This could be optional.
"""
return self._stateroot
@stateroot.setter
def stateroot(self, value: Str):
self._stateroot = value
@property
def transport(self) -> Str:
"""Ostree transport protocol used.
This could be optional (default will be 'repository').
"""
return self._transport
@transport.setter
def transport(self, value: Str):
self._transport = value
@property
def remote(self) -> Str:
"""Name of the OSTree remote."""
return self._remote
@remote.setter
def remote(self, value: Str):
self._remote = value
@property
def url(self) -> Str:
"""URL of the repository to install from."""
return self._url
@url.setter
def url(self, value: Str):
self._url = value
@property
def signature_verification_enabled(self) -> Bool:
"""Is the GPG key verification enabled?"""
return self._signature_verification_enabled
@signature_verification_enabled.setter
def signature_verification_enabled(self, value: Bool):
self._signature_verification_enabled = value