self.start_time = start_time self.end_time = end_time self.user = user VapiStruct.__init__(self) CommonInfo._set_binding_type(type.StructType( 'com.vmware.cis.task.common_info', { 'description': type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage'), 'service': type.IdType(resource_types='com.vmware.vapi.service'), 'operation': type.IdType(resource_types='com.vmware.vapi.operation'), 'parent': type.OptionalType(type.IdType()), 'target': type.OptionalType(type.ReferenceType('com.vmware.vapi.std_client', 'DynamicID')), 'status': type.ReferenceType(__name__, 'Status'), 'cancelable': type.BooleanType(), 'error': type.OptionalType(type.AnyErrorType()), 'start_time': type.OptionalType(type.DateTimeType()), 'end_time': type.OptionalType(type.DateTimeType()), 'user': type.OptionalType(type.StringType()), }, CommonInfo, False, None)) class Info(VapiStruct): """ The ``Info`` class contains information about a task. .. tip::
class Job(VapiInterface): """ The ``Job`` class provides methods to create and get the status of reconciliation job. This class was added in vSphere API 6.7 """ def __init__(self, config): """ :type config: :class:`vmware.vapi.bindings.stub.StubConfiguration` :param config: Configuration to be used for creating the stub. """ VapiInterface.__init__(self, config, _JobStub) class Status(Enum): """ The ``Job.Status`` class defines the status values that can be reported for an operation. This enumeration was added in vSphere API 6.7 .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ NONE = None """ The operation is not running. This class attribute was added in vSphere API 6.7 """ RUNNING = None """ The operation is in progress. This class attribute was added in vSphere API 6.7 """ SUCCEEDED = None """ The operation completed successfully. This class attribute was added in vSphere API 6.7 """ FAILED = None """ The operation failed. This class attribute was added in vSphere API 6.7 """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`Status` instance. """ Enum.__init__(string) Status._set_values([ Status('NONE'), Status('RUNNING'), Status('SUCCEEDED'), Status('FAILED'), ]) Status._set_binding_type( type.EnumType( 'com.vmware.appliance.recovery.reconciliation.job.status', Status)) class CreateSpec(VapiStruct): """ The ``Job.CreateSpec`` class has the fields to request the start of reconciliation job. This class was added in vSphere API 6.7 .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, sso_admin_user_name=None, sso_admin_user_password=None, ignore_warnings=None, ): """ :type sso_admin_user_name: :class:`str` or ``None`` :param sso_admin_user_name: Administrators username for SSO. This attribute was added in vSphere API 6.7 If None SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required. :type sso_admin_user_password: :class:`str` or ``None`` :param sso_admin_user_password: Password for SSO admin user. This attribute was added in vSphere API 6.7 If None SSO authentication will not be used. If the vCenter Server is a management node or an embedded node, authentication is required. :type ignore_warnings: :class:`bool` or ``None`` :param ignore_warnings: Flag indicating whether warnings should be ignored during reconciliation. This attribute was added in vSphere API 6.7 If None, validation warnings will fail the reconciliation operation. """ self.sso_admin_user_name = sso_admin_user_name self.sso_admin_user_password = sso_admin_user_password self.ignore_warnings = ignore_warnings VapiStruct.__init__(self) CreateSpec._set_binding_type( type.StructType( 'com.vmware.appliance.recovery.reconciliation.job.create_spec', { 'sso_admin_user_name': type.OptionalType(type.StringType()), 'sso_admin_user_password': type.OptionalType( type.SecretType()), 'ignore_warnings': type.OptionalType(type.BooleanType()), }, CreateSpec, False, None)) class Info(VapiStruct): """ The ``Job.Info`` class represents the reconciliation job information. It contains information related to current Status, any associated messages and progress as percentage. This class was added in vSphere API 6.7 .. tip:: The arguments are used to initialize data attributes with the same names. """ _validator_list = [ UnionValidator( 'status', { 'FAILED': [('error', False), ('start_time', True), ('end_time', True)], 'RUNNING': [('start_time', True)], 'SUCCEEDED': [('start_time', True), ('end_time', True)], 'NONE': [], }), ] def __init__( self, description=None, service=None, operation=None, parent=None, target=None, status=None, cancelable=None, error=None, start_time=None, end_time=None, messages=None, progress=None, ): """ :type description: :class:`com.vmware.vapi.std_client.LocalizableMessage` :param description: Description of the operation associated with the task. This attribute was added in vSphere API 6.7 :type service: :class:`str` :param service: Name of the service containing the operation. This attribute was added in vSphere API 6.7 When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``com.vmware.appliance.recovery.reconciliation.job``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``com.vmware.appliance.recovery.reconciliation.job``. :type operation: :class:`str` :param operation: Name of the operation associated with the task. This attribute was added in vSphere API 6.7 :type parent: :class:`str` or ``None`` :param parent: Parent of the current task. This attribute was added in vSphere API 6.7 When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``com.vmware.appliance.recovery.reconciliation.job``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``com.vmware.appliance.recovery.reconciliation.job``. This attribute will be None if the task has no parent. :type target: :class:`com.vmware.vapi.std_client.DynamicID` or ``None`` :param target: Identifier of the target resource the operation modifies. This attribute was added in vSphere API 6.7 This attribute will be None if the task has multiple targets or no target. :type status: :class:`Job.Status` :param status: Status of the operation associated with the task. This attribute was added in vSphere API 6.7 :type cancelable: :class:`bool` or ``None`` :param cancelable: Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses. This attribute was added in vSphere API 6.7 If None, the operation cannot be canceled. :type error: :class:`Exception` or ``None`` :param error: Description of the error if the operation status is "FAILED". This attribute was added in vSphere API 6.7 If None the description of why the operation failed will be included in the result of the operation (see null). :type start_time: :class:`datetime.datetime` :param start_time: Time when the operation is started. This attribute was added in vSphere API 6.7 This attribute is optional and it is only relevant when the value of ``status`` is one of :attr:`Job.Status.RUNNING`, :attr:`Job.Status.SUCCEEDED`, or :attr:`Job.Status.FAILED`. :type end_time: :class:`datetime.datetime` :param end_time: Time when the operation is completed. This attribute was added in vSphere API 6.7 This attribute is optional and it is only relevant when the value of ``status`` is one of :attr:`Job.Status.SUCCEEDED` or :attr:`Job.Status.FAILED`. :type messages: :class:`list` of :class:`com.vmware.vapi.std_client.LocalizableMessage` :param messages: A list of localized messages. This attribute was added in vSphere API 6.7 :type progress: :class:`long` :param progress: The progress of the job as a percentage. This attribute was added in vSphere API 6.7 """ self.description = description self.service = service self.operation = operation self.parent = parent self.target = target self.status = status self.cancelable = cancelable self.error = error self.start_time = start_time self.end_time = end_time self.messages = messages self.progress = progress VapiStruct.__init__(self) Info._set_binding_type( type.StructType( 'com.vmware.appliance.recovery.reconciliation.job.info', { 'description': type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage'), 'service': type.IdType( resource_types= 'com.vmware.appliance.recovery.reconciliation.job'), 'operation': type.StringType(), 'parent': type.OptionalType(type.IdType()), 'target': type.OptionalType( type.ReferenceType('com.vmware.vapi.std_client', 'DynamicID')), 'status': type.ReferenceType(__name__, 'Job.Status'), 'cancelable': type.OptionalType(type.BooleanType()), 'error': type.OptionalType(type.AnyErrorType()), 'start_time': type.OptionalType(type.DateTimeType()), 'end_time': type.OptionalType(type.DateTimeType()), 'messages': type.ListType( type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage')), 'progress': type.IntegerType(), }, Info, False, None)) def create( self, spec, ): """ Initiate reconciliation. This method was added in vSphere API 6.7 :type spec: :class:`Job.CreateSpec` :param spec: CreateSpec Structure :rtype: :class:`Job.Info` :return: Info Structure :raise: :class:`com.vmware.vapi.std.errors_client.FeatureInUse` A backup or restore is already in progress. :raise: :class:`com.vmware.vapi.std.errors_client.NotAllowedInCurrentState` Reconciliation is allowed only after restore has finished successfully. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if any error occurs during the execution of the operation. """ return self._invoke('create', { 'spec': spec, }) def get(self): """ Get reconciliation job progress/result. This method was added in vSphere API 6.7 :rtype: :class:`Job.Info` :return: Info Structure :raise: :class:`com.vmware.vapi.std.errors_client.NotFound` if there is no running reconciliation job. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if any error occurs during the execution of the operation. """ return self._invoke('get', None)
class Details(VapiInterface): """ The ``Details`` class provides methods to get the details about backup jobs. This class was added in vSphere API 6.7. """ _VAPI_SERVICE_ID = 'com.vmware.appliance.recovery.backup.job.details' """ Identifier of the service in canonical form. """ def __init__(self, config): """ :type config: :class:`vmware.vapi.bindings.stub.StubConfiguration` :param config: Configuration to be used for creating the stub. """ VapiInterface.__init__(self, config, _DetailsStub) class Type(Enum): """ The ``Details.Type`` class defines the type of backup job. This enumeration was added in vSphere API 6.7. .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ SCHEDULED = None """ Job type is Scheduled. This class attribute was added in vSphere API 6.7. """ MANUAL = None """ Job type is Manual. This class attribute was added in vSphere API 6.7. """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`Type` instance. """ Enum.__init__(string) Type._set_values([ Type('SCHEDULED'), Type('MANUAL'), ]) Type._set_binding_type( type.EnumType('com.vmware.appliance.recovery.backup.job.details.type', Type)) class Info(VapiStruct): """ The ``Details.Info`` class contains information about a backup job. This class was added in vSphere API 6.7. .. tip:: The arguments are used to initialize data attributes with the same names. """ _validator_list = [ UnionValidator( 'status', { 'SUCCEEDED': [('duration', True), ('size', True), ('progress', True), ('start_time', True), ('end_time', True)], 'FAILED': [('duration', True), ('size', True), ('progress', True), ('error', False), ('start_time', True), ('end_time', True)], 'RUNNING': [('duration', True), ('size', True), ('progress', True), ('start_time', True)], 'BLOCKED': [('start_time', True)], 'PENDING': [], }), ] def __init__( self, location=None, duration=None, size=None, progress=None, location_user=None, type=None, messages=None, build=None, description=None, service=None, operation=None, parent=None, target=None, status=None, cancelable=None, error=None, start_time=None, end_time=None, user=None, ): """ :type location: :class:`str` :param location: URL of the backup location. This attribute was added in vSphere API 6.7. :type duration: :class:`long` :param duration: Time in seconds since the backup job was started or the time it took to complete the backup job. This attribute was added in vSphere API 6.7. This attribute is optional and it is only relevant when the value of ``#status`` is one of :attr:`com.vmware.cis.task_client.Status.SUCCEEDED`, :attr:`com.vmware.cis.task_client.Status.FAILED`, or :attr:`com.vmware.cis.task_client.Status.RUNNING`. :type size: :class:`long` :param size: Size of the backup data transferred to remote location. This attribute was added in vSphere API 6.7. This attribute is optional and it is only relevant when the value of ``#status`` is one of :attr:`com.vmware.cis.task_client.Status.SUCCEEDED`, :attr:`com.vmware.cis.task_client.Status.FAILED`, or :attr:`com.vmware.cis.task_client.Status.RUNNING`. :type progress: :class:`com.vmware.cis.task_client.Progress` :param progress: Progress of the job. This attribute was added in vSphere API 6.7. This attribute is optional and it is only relevant when the value of ``#status`` is one of :attr:`com.vmware.cis.task_client.Status.SUCCEEDED`, :attr:`com.vmware.cis.task_client.Status.FAILED`, or :attr:`com.vmware.cis.task_client.Status.RUNNING`. :type location_user: :class:`str` :param location_user: The username for the remote backup location. This attribute was added in vSphere API 6.7. :type type: :class:`Details.Type` :param type: Type of the backup job. Indicates whether the backup was started manually or as a scheduled backup. This attribute was added in vSphere API 6.7. :type messages: :class:`list` of :class:`com.vmware.vapi.std_client.LocalizableMessage` :param messages: List of any info/warning/error messages returned by the backup job. This attribute was added in vSphere API 6.7. :type build: :class:`Details.BuildInfo` :param build: Information about the build of the appliance. This attribute was added in vSphere API 6.7.2. This attribute is optional because it was added in a newer version than its parent node. :type description: :class:`com.vmware.vapi.std_client.LocalizableMessage` :param description: Description of the operation associated with the task. :type service: :class:`str` :param service: Identifier of the service containing the operation. When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``com.vmware.vapi.service``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``com.vmware.vapi.service``. :type operation: :class:`str` :param operation: Identifier of the operation associated with the task. When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``com.vmware.vapi.operation``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``com.vmware.vapi.operation``. :type parent: :class:`str` or ``None`` :param parent: Parent of the current task. When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``com.vmware.cis.task``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``com.vmware.cis.task``. This attribute will be None if the task has no parent. :type target: :class:`com.vmware.vapi.std_client.DynamicID` or ``None`` :param target: Identifier of the target created by the operation or an existing one the operation performed on. This attribute will be None if the operation has no target or multiple targets. :type status: :class:`com.vmware.cis.task_client.Status` :param status: Status of the operation associated with the task. :type cancelable: :class:`bool` :param cancelable: Flag to indicate whether or not the operation can be cancelled. The value may change as the operation progresses. :type error: :class:`Exception` or ``None`` :param error: Description of the error if the operation status is "FAILED". If None the description of why the operation failed will be included in the result of the operation (see :attr:`com.vmware.cis.task_client.Info.result`). :type start_time: :class:`datetime.datetime` :param start_time: Time when the operation is started. This attribute is optional and it is only relevant when the value of ``status`` is one of :attr:`com.vmware.cis.task_client.Status.RUNNING`, :attr:`com.vmware.cis.task_client.Status.BLOCKED`, :attr:`com.vmware.cis.task_client.Status.SUCCEEDED`, or :attr:`com.vmware.cis.task_client.Status.FAILED`. :type end_time: :class:`datetime.datetime` :param end_time: Time when the operation is completed. This attribute is optional and it is only relevant when the value of ``status`` is one of :attr:`com.vmware.cis.task_client.Status.SUCCEEDED` or :attr:`com.vmware.cis.task_client.Status.FAILED`. :type user: :class:`str` or ``None`` :param user: Name of the user who performed the operation. This attribute will be None if the operation is performed by the system. """ self.location = location self.duration = duration self.size = size self.progress = progress self.location_user = location_user self.type = type self.messages = messages self.build = build self.description = description self.service = service self.operation = operation self.parent = parent self.target = target self.status = status self.cancelable = cancelable self.error = error self.start_time = start_time self.end_time = end_time self.user = user VapiStruct.__init__(self) Info._set_binding_type( type.StructType( 'com.vmware.appliance.recovery.backup.job.details.info', { 'location': type.URIType(), 'duration': type.OptionalType(type.IntegerType()), 'size': type.OptionalType(type.IntegerType()), 'progress': type.OptionalType( type.ReferenceType('com.vmware.cis.task_client', 'Progress')), 'location_user': type.StringType(), 'type': type.ReferenceType(__name__, 'Details.Type'), 'messages': type.ListType( type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage')), 'build': type.OptionalType( type.ReferenceType(__name__, 'Details.BuildInfo')), 'description': type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage'), 'service': type.IdType(resource_types='com.vmware.vapi.service'), 'operation': type.IdType(resource_types='com.vmware.vapi.operation'), 'parent': type.OptionalType(type.IdType()), 'target': type.OptionalType( type.ReferenceType('com.vmware.vapi.std_client', 'DynamicID')), 'status': type.ReferenceType('com.vmware.cis.task_client', 'Status'), 'cancelable': type.BooleanType(), 'error': type.OptionalType(type.AnyErrorType()), 'start_time': type.OptionalType(type.DateTimeType()), 'end_time': type.OptionalType(type.DateTimeType()), 'user': type.OptionalType(type.StringType()), }, Info, False, None)) class FilterSpec(VapiStruct): """ The ``Details.FilterSpec`` class contains attributes used to filter the results when listing backup jobs details (see :func:`Details.list`). This class was added in vSphere API 6.7. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, jobs=None, ): """ :type jobs: :class:`set` of :class:`str` or ``None`` :param jobs: Identifiers of backup jobs that can match the filter. This attribute was added in vSphere API 6.7. When clients pass a value of this class as a parameter, the attribute must contain identifiers for the resource type: ``com.vmware.appliance.recovery.backup.job``. When methods return a value of this class as a return value, the attribute will contain identifiers for the resource type: ``com.vmware.appliance.recovery.backup.job``. If None the filter will match all the backup jobs. """ self.jobs = jobs VapiStruct.__init__(self) FilterSpec._set_binding_type( type.StructType( 'com.vmware.appliance.recovery.backup.job.details.filter_spec', { 'jobs': type.OptionalType(type.SetType(type.IdType())), }, FilterSpec, False, None)) class BuildInfo(VapiStruct): """ The ``Details.BuildInfo`` class contains information about the build of the appliance. This class was added in vSphere API 6.7.2. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, version_name=None, version=None, build_number=None, ): """ :type version_name: :class:`str` :param version_name: Appliance product type, for example 6.8.2 GA. This attribute was added in vSphere API 6.7.2. :type version: :class:`str` :param version: Appliance version, for example 6.8.2.10000. This attribute was added in vSphere API 6.7.2. :type build_number: :class:`str` :param build_number: Build Number of the appliance. This attribute was added in vSphere API 6.7.2. """ self.version_name = version_name self.version = version self.build_number = build_number VapiStruct.__init__(self) BuildInfo._set_binding_type( type.StructType( 'com.vmware.appliance.recovery.backup.job.details.build_info', { 'version_name': type.StringType(), 'version': type.StringType(), 'build_number': type.StringType(), }, BuildInfo, False, None)) def list( self, filter=None, ): """ Returns detailed information about the current and historical backup jobs. This method was added in vSphere API 6.7. :type filter: :class:`Details.FilterSpec` or ``None`` :param filter: Specification of matching backup jobs for which information should be returned. If None, the behavior is equivalent to :class:`Details.FilterSpec` with all attributes None which means all the backup jobs match the filter. :rtype: :class:`dict` of :class:`str` and :class:`Details.Info` :return: Map of backup job identifier to Info Structure. The key in the return value :class:`dict` will be an identifier for the resource type: ``com.vmware.appliance.recovery.backup.job``. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if any error occurs during the execution of the operation. """ return self._invoke('list', { 'filter': filter, })
class Clusters(VapiInterface): """ The ``Clusters`` class provides methods to upgrade the vSphere clusters. """ _VAPI_SERVICE_ID = 'com.vmware.vcenter.namespace_management.software.clusters' """ Identifier of the service in canonical form. """ def __init__(self, config): """ :type config: :class:`vmware.vapi.bindings.stub.StubConfiguration` :param config: Configuration to be used for creating the stub. """ VapiInterface.__init__(self, config, _ClustersStub) self._VAPI_OPERATION_IDS = {} class State(Enum): """ The ``Clusters.State`` class describes the state of the upgrade. .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ PENDING = None """ Upgrade is in progress. """ READY = None """ Cluster is ready when there is no upgrade or upgrade is completed. """ ERROR = None """ Upgrade failed and need user intervention. """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`State` instance. """ Enum.__init__(string) State._set_values([ State('PENDING'), State('READY'), State('ERROR'), ]) State._set_binding_type( type.EnumType( 'com.vmware.vcenter.namespace_management.software.clusters.state', State)) class Result(VapiStruct): """ The ``Clusters.Result`` class contains the result of batch upgrade method. .. tip:: The arguments are used to initialize data attributes with the same names. """ _validator_list = [ UnionValidator('res', { 'REJECTED': [('exception', True)], 'STARTED': [], }), ] def __init__( self, res=None, exception=None, ): """ :type res: :class:`Clusters.Result.Res` :param res: The result of batch upgrade method. :type exception: :class:`Exception` :param exception: Exception when cluster pre-check failed during upgrade invocation. This attribute is optional and it is only relevant when the value of ``res`` is :attr:`Clusters.Result.Res.REJECTED`. """ self.res = res self.exception = exception VapiStruct.__init__(self) class Res(Enum): """ The ``Clusters.Result.Res`` class represents the upgrade invocation result for each cluster. .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ STARTED = None """ Upgrade is started. """ REJECTED = None """ Upgrade is rejected. This implies pre-check failed when invoking upgrade of the cluster. """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`Res` instance. """ Enum.__init__(string) Res._set_values([ Res('STARTED'), Res('REJECTED'), ]) Res._set_binding_type( type.EnumType( 'com.vmware.vcenter.namespace_management.software.clusters.result.res', Res)) Result._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.result', { 'res': type.ReferenceType(__name__, 'Clusters.Result.Res'), 'exception': type.OptionalType(type.AnyErrorType()), }, Result, False, None)) class UpgradeSpec(VapiStruct): """ The ``Clusters.UpgradeSpec`` class contains the specification required to upgrade a cluster. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, desired_version=None, ignore_precheck_warnings=None, ): """ :type desired_version: :class:`str` :param desired_version: Version number the cluster is going to be upgraded to. :type ignore_precheck_warnings: :class:`bool` or ``None`` :param ignore_precheck_warnings: If true, the upgrade workflow will ignore any pre-check warnings and proceed with the upgrade. If None, the upgrade workflow will not ignore pre-check warnings and fail the upgrade. It is equivalent to setting the value to false. The workflow adopts a conservative approach of failing the upgrade if None to solely let the user decide whether to force the upgrade despite the warnings. """ self.desired_version = desired_version self.ignore_precheck_warnings = ignore_precheck_warnings VapiStruct.__init__(self) UpgradeSpec._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.upgrade_spec', { 'desired_version': type.StringType(), 'ignore_precheck_warnings': type.OptionalType( type.BooleanType()), }, UpgradeSpec, False, None)) class Summary(VapiStruct): """ The ``Clusters.Summary`` class contains basic information about the cluster upgrade related information. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, cluster=None, cluster_name=None, current_version=None, available_versions=None, last_upgraded_date=None, desired_version=None, state=None, ): """ :type cluster: :class:`str` :param cluster: Identifier for the cluster. When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``ClusterComputeResource``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``ClusterComputeResource``. :type cluster_name: :class:`str` :param cluster_name: Name of the cluster. When clients pass a value of this class as a parameter, the attribute must be an identifier for the resource type: ``ClusterComputeResource.name``. When methods return a value of this class as a return value, the attribute will be an identifier for the resource type: ``ClusterComputeResource.name``. :type current_version: :class:`str` :param current_version: Current version of the cluster. :type available_versions: :class:`list` of :class:`str` :param available_versions: Set of versions available for upgrade. :type last_upgraded_date: :class:`datetime.datetime` or ``None`` :param last_upgraded_date: Date of last successful upgrade. If None, the cluster has not yet been upgraded. :type desired_version: :class:`str` or ``None`` :param desired_version: Desired version the cluster will be upgraded to. If None, the cluster upgrade is not in progress. :type state: :class:`Clusters.State` :param state: Current state of the upgrade. """ self.cluster = cluster self.cluster_name = cluster_name self.current_version = current_version self.available_versions = available_versions self.last_upgraded_date = last_upgraded_date self.desired_version = desired_version self.state = state VapiStruct.__init__(self) Summary._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.summary', { 'cluster': type.IdType(resource_types='ClusterComputeResource'), 'cluster_name': type.IdType(resource_types='ClusterComputeResource.name'), 'current_version': type.StringType(), 'available_versions': type.ListType(type.StringType()), 'last_upgraded_date': type.OptionalType(type.DateTimeType()), 'desired_version': type.OptionalType(type.StringType()), 'state': type.ReferenceType(__name__, 'Clusters.State'), }, Summary, False, None)) class Info(VapiStruct): """ The ``Clusters.Info`` class contains detailed information about the cluster upgrade status and related information. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, current_version=None, available_versions=None, last_upgraded_date=None, messages=None, state=None, upgrade_status=None, ): """ :type current_version: :class:`str` :param current_version: Current version of the cluster. :type available_versions: :class:`list` of :class:`str` :param available_versions: Set of available versions can be upgraded to. :type last_upgraded_date: :class:`datetime.datetime` or ``None`` :param last_upgraded_date: Date of last successful upgrade. If None, the cluster has not yet been upgraded. :type messages: :class:`list` of :class:`Clusters.Message` :param messages: Current set of messages associated with the cluster version. :type state: :class:`Clusters.State` :param state: Current state of the upgrade. :type upgrade_status: :class:`Clusters.UpgradeStatus` or ``None`` :param upgrade_status: Information about upgrade in progress. If None, the cluster upgrade is not in progress. """ self.current_version = current_version self.available_versions = available_versions self.last_upgraded_date = last_upgraded_date self.messages = messages self.state = state self.upgrade_status = upgrade_status VapiStruct.__init__(self) Info._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.info', { 'current_version': type.StringType(), 'available_versions': type.ListType(type.StringType()), 'last_upgraded_date': type.OptionalType(type.DateTimeType()), 'messages': type.ListType(type.ReferenceType(__name__, 'Clusters.Message')), 'state': type.ReferenceType(__name__, 'Clusters.State'), 'upgrade_status': type.OptionalType( type.ReferenceType(__name__, 'Clusters.UpgradeStatus')), }, Info, False, None)) class UpgradeStatus(VapiStruct): """ The ``Clusters.UpgradeStatus`` class contains detailed information about the cluster when upgraded is in progress. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, desired_version=None, messages=None, progress=None, ): """ :type desired_version: :class:`str` or ``None`` :param desired_version: Desired version the cluster will be upgraded to. If None, the cluster upgrade is not in progress. :type messages: :class:`list` of :class:`Clusters.Message` :param messages: Current set of messages associated with the upgrade state. :type progress: :class:`Clusters.UpgradeProgress` or ``None`` :param progress: Information about upgrade progess. If None, the cluster upgrade is not in progress. """ self.desired_version = desired_version self.messages = messages self.progress = progress VapiStruct.__init__(self) UpgradeStatus._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.upgrade_status', { 'desired_version': type.OptionalType(type.StringType()), 'messages': type.ListType(type.ReferenceType(__name__, 'Clusters.Message')), 'progress': type.OptionalType( type.ReferenceType(__name__, 'Clusters.UpgradeProgress')), }, UpgradeStatus, False, None)) class UpgradeProgress(VapiStruct): """ The ``Clusters.UpgradeProgress`` class contains detailed information about the cluster upgrade progess. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, total=None, completed=None, message=None, ): """ :type total: :class:`long` :param total: Total amount of the work for the operation. The work here represents the number of master nodes in the cluster need to be upgraded. :type completed: :class:`long` :param completed: The amount of work completed for the operation. The value can only be incremented. The number or master nodes which upgrade completed. :type message: :class:`com.vmware.vapi.std_client.LocalizableMessage` :param message: Message about the work progress. """ self.total = total self.completed = completed self.message = message VapiStruct.__init__(self) UpgradeProgress._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.upgrade_progress', { 'total': type.IntegerType(), 'completed': type.IntegerType(), 'message': type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage'), }, UpgradeProgress, False, None)) class Message(VapiStruct): """ The ``Clusters.Message`` class contains the information about the object configuration. .. tip:: The arguments are used to initialize data attributes with the same names. """ def __init__( self, severity=None, details=None, ): """ :type severity: :class:`Clusters.Message.Severity` :param severity: Type of the message. :type details: :class:`com.vmware.vapi.std_client.LocalizableMessage` :param details: Details about the message. """ self.severity = severity self.details = details VapiStruct.__init__(self) class Severity(Enum): """ The ``Clusters.Message.Severity`` class represents the severity of the message. .. note:: This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See :ref:`enumerated type description page <enumeration_description>`. """ INFO = None """ Informational message. This may be accompanied by vCenter event. """ WARNING = None """ Warning message. This may be accompanied by vCenter event. """ ERROR = None """ Error message. This is accompanied by vCenter event and/or alarm. """ def __init__(self, string): """ :type string: :class:`str` :param string: String value for the :class:`Severity` instance. """ Enum.__init__(string) Severity._set_values([ Severity('INFO'), Severity('WARNING'), Severity('ERROR'), ]) Severity._set_binding_type( type.EnumType( 'com.vmware.vcenter.namespace_management.software.clusters.message.severity', Severity)) Message._set_binding_type( type.StructType( 'com.vmware.vcenter.namespace_management.software.clusters.message', { 'severity': type.ReferenceType(__name__, 'Clusters.Message.Severity'), 'details': type.ReferenceType('com.vmware.vapi.std_client', 'LocalizableMessage'), }, Message, False, None)) def upgrade( self, cluster, spec, ): """ Upgrade the cluster to a specific version. This operation upgrades the components on control plane VMs and worker plane hosts based on the selected version. Before upgrading, this operation performs pre-checks and sets the evaluation response in Info.UpgradeStatus.messages with various Message.Severity levels. Depending on the severity, the upgrade may or may not proceed beyond prechecks. Here is a list of severities and corresponding behavior: - ERROR: Upgrade does not proceed beyond precheck operation - WARNING: Upgrade proceeds beyond precheck operation only if UpgradeSpec.ignorePrecheckWarnings is set to true - INFO: Upgrade proceeds beyond precheck operation uninterrupted :type cluster: :class:`str` :param cluster: Identifier for the cluster which will be upgraded. The parameter must be an identifier for the resource type: ``ClusterComputeResource``. :type spec: :class:`Clusters.UpgradeSpec` :param spec: Specification for upgrading the cluster. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if the system reports an error while responding to the request. :raise: :class:`com.vmware.vapi.std.errors_client.Unsupported` if pre-check failed of the cluster. :raise: :class:`com.vmware.vapi.std.errors_client.NotFound` if cluster could not be located. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthenticated` if the user can not be authenticated. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthorized` if the user does not have Namespaces.Manage privilege. """ return self._invoke('upgrade', { 'cluster': cluster, 'spec': spec, }) def upgrade_multiple( self, specs, ): """ Upgrade a set of clusters to its corresponding specific version. :type specs: :class:`dict` of :class:`str` and :class:`Clusters.UpgradeSpec` :param specs: Specifications for upgrading selected clusters. The key in the parameter :class:`dict` must be an identifier for the resource type: ``ClusterComputeResource``. :rtype: :class:`dict` of :class:`str` and :class:`Clusters.Result` :return: Pre-check result when invoking upgrade for each cluster. The key in the return value :class:`dict` will be an identifier for the resource type: ``ClusterComputeResource``. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if the system reports an error while responding to the request. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthenticated` if the user can not be authenticated. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthorized` if the user does not have Namespaces.Manage privilege on all specified clusters. """ return self._invoke('upgrade_multiple', { 'specs': specs, }) def get( self, cluster, ): """ Returns upgrade related information of a specific cluster. :type cluster: :class:`str` :param cluster: Identifier for the cluster which will be upgraded. The parameter must be an identifier for the resource type: ``ClusterComputeResource``. :rtype: :class:`Clusters.Info` :return: Information about the upgrade of the specified WCP enabled cluster. :raise: :class:`com.vmware.vapi.std.errors_client.NotFound` if cluster could not be located. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if the system reports an error while responding to the request. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthenticated` if the user can not be authenticated. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthorized` if the user does not have System.Read privilege. """ return self._invoke('get', { 'cluster': cluster, }) def list(self): """ Returns upgrade related information about all WCP enabled clusters. :rtype: :class:`list` of :class:`Clusters.Summary` :return: List of upgrade summary of all WCP enabled clusters. :raise: :class:`com.vmware.vapi.std.errors_client.Error` if the system reports an error while responding to the request. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthenticated` if the user can not be authenticated. :raise: :class:`com.vmware.vapi.std.errors_client.Unauthorized` if the user does not have System.Read privilege. """ return self._invoke('list', None)
'LocalizableMessage'), 'service': type.IdType(resource_types='com.vmware.vapi.service'), 'operation': type.IdType(resource_types='com.vmware.vapi.operation'), 'parent': type.OptionalType(type.IdType()), 'target': type.OptionalType( type.ReferenceType('com.vmware.vapi.std_client', 'DynamicID')), 'status': type.ReferenceType('com.vmware.cis.task_client', 'Status'), 'cancelable': type.BooleanType(), 'error': type.OptionalType(type.AnyErrorType()), 'start_time': type.OptionalType(type.DateTimeType()), 'end_time': type.OptionalType(type.DateTimeType()), 'user': type.OptionalType(type.StringType()), }, TaskInfo, False, None)) class Configs(VapiInterface): """ ``Configs`` class provides methods to manage desired configuration specification of an appliance. """