HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/mysqlsh/lib/python3.8/site-packages/oci/fleet_apps_management/models/rule.py
# coding: utf-8
# Copyright (c) 2016, 2025, Oracle and/or its affiliates.  All rights reserved.
# This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.

# NOTE: This class is auto generated by OracleSDKGenerator. DO NOT EDIT. API Version: 20250228


from oci.util import formatted_flat_dict, NONE_SENTINEL, value_allowed_none_or_none_sentinel  # noqa: F401
from oci.decorators import init_model_state_from_kwargs


@init_model_state_from_kwargs
class Rule(object):
    """
    Rule for DYNAMIC selection.
    """

    def __init__(self, **kwargs):
        """
        Initializes a new Rule object with values from keyword arguments.
        The following keyword arguments are supported (corresponding to the getters/setters of this class):

        :param basis:
            The value to assign to the basis property of this Rule.
        :type basis: str

        :param compartment_id:
            The value to assign to the compartment_id property of this Rule.
        :type compartment_id: str

        :param resource_compartment_id:
            The value to assign to the resource_compartment_id property of this Rule.
        :type resource_compartment_id: str

        :param conditions:
            The value to assign to the conditions property of this Rule.
        :type conditions: list[oci.fleet_apps_management.models.Condition]

        """
        self.swagger_types = {
            'basis': 'str',
            'compartment_id': 'str',
            'resource_compartment_id': 'str',
            'conditions': 'list[Condition]'
        }
        self.attribute_map = {
            'basis': 'basis',
            'compartment_id': 'compartmentId',
            'resource_compartment_id': 'resourceCompartmentId',
            'conditions': 'conditions'
        }
        self._basis = None
        self._compartment_id = None
        self._resource_compartment_id = None
        self._conditions = None

    @property
    def basis(self):
        """
        Gets the basis of this Rule.
        Based on what the rule is created.
        It can be based on a resourceProperty or a tag.
        If based on a tag, basis will be 'definedTagEquals'
        If based on a resource property, basis will be 'inventoryProperties'


        :return: The basis of this Rule.
        :rtype: str
        """
        return self._basis

    @basis.setter
    def basis(self, basis):
        """
        Sets the basis of this Rule.
        Based on what the rule is created.
        It can be based on a resourceProperty or a tag.
        If based on a tag, basis will be 'definedTagEquals'
        If based on a resource property, basis will be 'inventoryProperties'


        :param basis: The basis of this Rule.
        :type: str
        """
        self._basis = basis

    @property
    def compartment_id(self):
        """
        **[Required]** Gets the compartment_id of this Rule.
        Compartment Id for which the rule is created.


        :return: The compartment_id of this Rule.
        :rtype: str
        """
        return self._compartment_id

    @compartment_id.setter
    def compartment_id(self, compartment_id):
        """
        Sets the compartment_id of this Rule.
        Compartment Id for which the rule is created.


        :param compartment_id: The compartment_id of this Rule.
        :type: str
        """
        self._compartment_id = compartment_id

    @property
    def resource_compartment_id(self):
        """
        **[Required]** Gets the resource_compartment_id of this Rule.
        The Compartment ID to dynamically search resources.
        Provide the compartment ID to which the rule is applicable.


        :return: The resource_compartment_id of this Rule.
        :rtype: str
        """
        return self._resource_compartment_id

    @resource_compartment_id.setter
    def resource_compartment_id(self, resource_compartment_id):
        """
        Sets the resource_compartment_id of this Rule.
        The Compartment ID to dynamically search resources.
        Provide the compartment ID to which the rule is applicable.


        :param resource_compartment_id: The resource_compartment_id of this Rule.
        :type: str
        """
        self._resource_compartment_id = resource_compartment_id

    @property
    def conditions(self):
        """
        **[Required]** Gets the conditions of this Rule.
        Rule Conditions


        :return: The conditions of this Rule.
        :rtype: list[oci.fleet_apps_management.models.Condition]
        """
        return self._conditions

    @conditions.setter
    def conditions(self, conditions):
        """
        Sets the conditions of this Rule.
        Rule Conditions


        :param conditions: The conditions of this Rule.
        :type: list[oci.fleet_apps_management.models.Condition]
        """
        self._conditions = conditions

    def __repr__(self):
        return formatted_flat_dict(self)

    def __eq__(self, other):
        if other is None:
            return False

        return self.__dict__ == other.__dict__

    def __ne__(self, other):
        return not self == other