<reponame>hpsan/azure-cli-extensions<filename>src/sentinel/azext_sentinel/vendored_sdks/security_insights/models/watchlist.py
# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from .resource_with_etag import ResourceWithEtag


class Watchlist(ResourceWithEtag):
    """Represents a Watchlist in Azure Security Insights.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    All required parameters must be populated in order to send to Azure.

    :ivar id: Azure resource Id
    :vartype id: str
    :ivar name: Azure resource name
    :vartype name: str
    :ivar type: Azure resource type
    :vartype type: str
    :param etag: Etag of the azure resource
    :type etag: str
    :param created_time_utc: The time the watchlist was created
    :type created_time_utc: datetime
    :param created_by: Describes a user that created the watchlist
    :type created_by: ~securityinsights.models.UserInfo
    :param display_name: Required. The display name of the watchlist
    :type display_name: str
    :param watchlist_type: The type of the watchlist
    :type watchlist_type: str
    :param source: Required. The source of the watchlist. Possible values
     include: 'Local file', 'Remote storage'
    :type source: str or ~securityinsights.models.Source
    :param provider: Required. The provider of the watchlist
    :type provider: str
    :param description: A description of the watchlist
    :type description: str
    :param tenant_id: The tenantId where the watchlist belongs to.
    :type tenant_id: str
    :param workspace_id: The workspaceId where the watchlist belongs to.
    :type workspace_id: str
    :param labels: List of labels relevant to this watchlist
    :type labels: list[str]
    :param notes: The notes of the watchlist
    :type notes: str
    :param last_updated_time_utc: The last time the watchlist was updated
    :type last_updated_time_utc: datetime
    :param updated_by: Describes a user that updated the watchlist
    :type updated_by: ~securityinsights.models.UserInfo
    :param default_duration: The default duration of a watchlist (in ISO 8601
     duration format)
    :type default_duration: timedelta
    :param watchlist_items: List of watchlist items.
    :type watchlist_items: list[~securityinsights.models.WatchlistItem]
    """

    _validation = {
        'id': {'readonly': True},
        'name': {'readonly': True},
        'type': {'readonly': True},
        'display_name': {'required': True},
        'source': {'required': True},
        'provider': {'required': True},
    }

    _attribute_map = {
        'id': {'key': 'id', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'type': {'key': 'type', 'type': 'str'},
        'etag': {'key': 'etag', 'type': 'str'},
        'created_time_utc': {'key': 'properties.createdTimeUtc', 'type': 'iso-8601'},
        'created_by': {'key': 'properties.createdBy', 'type': 'UserInfo'},
        'display_name': {'key': 'properties.displayName', 'type': 'str'},
        'watchlist_type': {'key': 'properties.watchlistType', 'type': 'str'},
        'source': {'key': 'properties.source', 'type': 'str'},
        'provider': {'key': 'properties.provider', 'type': 'str'},
        'description': {'key': 'properties.description', 'type': 'str'},
        'tenant_id': {'key': 'properties.tenantId', 'type': 'str'},
        'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'},
        'labels': {'key': 'properties.labels', 'type': '[str]'},
        'notes': {'key': 'properties.notes', 'type': 'str'},
        'last_updated_time_utc': {'key': 'properties.lastUpdatedTimeUtc', 'type': 'iso-8601'},
        'updated_by': {'key': 'properties.updatedBy', 'type': 'UserInfo'},
        'default_duration': {'key': 'properties.defaultDuration', 'type': 'duration'},
        'watchlist_items': {'key': 'properties.watchlistItems', 'type': '[WatchlistItem]'},
    }

    def __init__(self, **kwargs):
        super(Watchlist, self).__init__(**kwargs)
        self.created_time_utc = kwargs.get('created_time_utc', None)
        self.created_by = kwargs.get('created_by', None)
        self.display_name = kwargs.get('display_name', None)
        self.watchlist_type = kwargs.get('watchlist_type', None)
        self.source = kwargs.get('source', None)
        self.provider = kwargs.get('provider', None)
        self.description = kwargs.get('description', None)
        self.tenant_id = kwargs.get('tenant_id', None)
        self.workspace_id = kwargs.get('workspace_id', None)
        self.labels = kwargs.get('labels', None)
        self.notes = kwargs.get('notes', None)
        self.last_updated_time_utc = kwargs.get('last_updated_time_utc', None)
        self.updated_by = kwargs.get('updated_by', None)
        self.default_duration = kwargs.get('default_duration', None)
        self.watchlist_items = kwargs.get('watchlist_items', None)

# coding=utf-8
# --------------------------------------------------------------------------
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from .resource_with_etag import ResourceWithEtag


class Watchlist(ResourceWithEtag):
    """Represents a Watchlist in Azure Security Insights.

    Variables are only populated by the server, and will be ignored when
    sending a request.

    All required parameters must be populated in order to send to Azure.

    :ivar id: Azure resource Id
    :vartype id: str
    :ivar name: Azure resource name
    :vartype name: str
    :ivar type: Azure resource type
    :vartype type: str
    :param etag: Etag of the azure resource
    :type etag: str
    :param created_time_utc: The time the watchlist was created
    :type created_time_utc: datetime
    :param created_by: Describes a user that created the watchlist
    :type created_by: ~securityinsights.models.UserInfo
    :param display_name: Required. The display name of the watchlist
    :type display_name: str
    :param watchlist_type: The type of the watchlist
    :type watchlist_type: str
    :param source: Required. The source of the watchlist. Possible values
     include: 'Local file', 'Remote storage'
    :type source: str or ~securityinsights.models.Source
    :param provider: Required. The provider of the watchlist
    :type provider: str
    :param description: A description of the watchlist
    :type description: str
    :param tenant_id: The tenantId where the watchlist belongs to.
    :type tenant_id: str
    :param workspace_id: The workspaceId where the watchlist belongs to.
    :type workspace_id: str
    :param labels: List of labels relevant to this watchlist
    :type labels: list[str]
    :param notes: The notes of the watchlist
    :type notes: str
    :param last_updated_time_utc: The last time the watchlist was updated
    :type last_updated_time_utc: datetime
    :param updated_by: Describes a user that updated the watchlist
    :type updated_by: ~securityinsights.models.UserInfo
    :param default_duration: The default duration of a watchlist (in ISO 8601
     duration format)
    :type default_duration: timedelta
    :param watchlist_items: List of watchlist items.
    :type watchlist_items: list[~securityinsights.models.WatchlistItem]
    """

    _validation = {
        'id': {'readonly': True},
        'name': {'readonly': True},
        'type': {'readonly': True},
        'display_name': {'required': True},
        'source': {'required': True},
        'provider': {'required': True},
    }

    _attribute_map = {
        'id': {'key': 'id', 'type': 'str'},
        'name': {'key': 'name', 'type': 'str'},
        'type': {'key': 'type', 'type': 'str'},
        'etag': {'key': 'etag', 'type': 'str'},
        'created_time_utc': {'key': 'properties.createdTimeUtc', 'type': 'iso-8601'},
        'created_by': {'key': 'properties.createdBy', 'type': 'UserInfo'},
        'display_name': {'key': 'properties.displayName', 'type': 'str'},
        'watchlist_type': {'key': 'properties.watchlistType', 'type': 'str'},
        'source': {'key': 'properties.source', 'type': 'str'},
        'provider': {'key': 'properties.provider', 'type': 'str'},
        'description': {'key': 'properties.description', 'type': 'str'},
        'tenant_id': {'key': 'properties.tenantId', 'type': 'str'},
        'workspace_id': {'key': 'properties.workspaceId', 'type': 'str'},
        'labels': {'key': 'properties.labels', 'type': '[str]'},
        'notes': {'key': 'properties.notes', 'type': 'str'},
        'last_updated_time_utc': {'key': 'properties.lastUpdatedTimeUtc', 'type': 'iso-8601'},
        'updated_by': {'key': 'properties.updatedBy', 'type': 'UserInfo'},
        'default_duration': {'key': 'properties.defaultDuration', 'type': 'duration'},
        'watchlist_items': {'key': 'properties.watchlistItems', 'type': '[WatchlistItem]'},
    }

    def __init__(self, **kwargs):
        super(Watchlist, self).__init__(**kwargs)
        self.created_time_utc = kwargs.get('created_time_utc', None)
        self.created_by = kwargs.get('created_by', None)
        self.display_name = kwargs.get('display_name', None)
        self.watchlist_type = kwargs.get('watchlist_type', None)
        self.source = kwargs.get('source', None)
        self.provider = kwargs.get('provider', None)
        self.description = kwargs.get('description', None)
        self.tenant_id = kwargs.get('tenant_id', None)
        self.workspace_id = kwargs.get('workspace_id', None)
        self.labels = kwargs.get('labels', None)
        self.notes = kwargs.get('notes', None)
        self.last_updated_time_utc = kwargs.get('last_updated_time_utc', None)
        self.updated_by = kwargs.get('updated_by', None)
        self.default_duration = kwargs.get('default_duration', None)
        self.watchlist_items = kwargs.get('watchlist_items', None)
# coding=utf-8 # -------------------------------------------------------------------------- # Code generated by Microsoft (R) AutoRest Code Generator. # Changes may cause incorrect behavior and will be lost if the code is # regenerated. # -------------------------------------------------------------------------- Represents a Watchlist in Azure Security Insights.      Variables are only populated by the server, and will be ignored when     sending a request.      All required parameters must be populated in order to send to Azure.      :ivar id: Azure resource Id     :vartype id: str     :ivar name: Azure resource name     :vartype name: str     :ivar type: Azure resource type     :vartype type: str     :param etag: Etag of the azure resource     :type etag: str     :param created_time_utc: The time the watchlist was created     :type created_time_utc: datetime     :param created_by: Describes a user that created the watchlist     :type created_by: ~securityinsights.models.UserInfo     :param display_name: Required. The display name of the watchlist     :type display_name: str     :param watchlist_type: The type of the watchlist     :type watchlist_type: str     :param source: Required. The source of the watchlist. Possible values      include: 'Local file', 'Remote storage'     :type source: str or ~securityinsights.models.Source     :param provider: Required. The provider of the watchlist     :type provider: str     :param description: A description of the watchlist     :type description: str     :param tenant_id: The tenantId where the watchlist belongs to.     :type tenant_id: str     :param workspace_id: The workspaceId where the watchlist belongs to.     :type workspace_id: str     :param labels: List of labels relevant to this watchlist     :type labels: list[str]     :param notes: The notes of the watchlist     :type notes: str     :param last_updated_time_utc: The last time the watchlist was updated     :type last_updated_time_utc: datetime     :param updated_by: Describes a user that updated the watchlist     :type updated_by: ~securityinsights.models.UserInfo     :param default_duration: The default duration of a watchlist (in ISO 8601      duration format)     :type default_duration: timedelta     :param watchlist_items: List of watchlist items.     :type watchlist_items: list[~securityinsights.models.WatchlistItem]