# coding=utf-8
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for
# license information.
#
# Code generated by Microsoft (R) AutoRest Code Generator.
# Changes may cause incorrect behavior and will be lost if the code is
# regenerated.
# --------------------------------------------------------------------------

from msrest.serialization import Model


class Permissions(Model):
    """Permissions the identity has for keys, secrets, certificates and storage.

    :param keys: Permissions to keys
    :type keys: list of str or :class:`KeyPermissions
     <azure.mgmt.keyvault.models.KeyPermissions>`
    :param secrets: Permissions to secrets
    :type secrets: list of str or :class:`SecretPermissions
     <azure.mgmt.keyvault.models.SecretPermissions>`
    :param certificates: Permissions to certificates
    :type certificates: list of str or :class:`CertificatePermissions
     <azure.mgmt.keyvault.models.CertificatePermissions>`
    :param storage: Permissions to storage accounts
    :type storage: list of str or :class:`StoragePermissions
     <azure.mgmt.keyvault.models.StoragePermissions>`
    """

    _attribute_map = {
        'keys': {'key': 'keys', 'type': '[str]'},
        'secrets': {'key': 'secrets', 'type': '[str]'},
        'certificates': {'key': 'certificates', 'type': '[str]'},
        'storage': {'key': 'storage', 'type': '[str]'},
    }

    def __init__(self, keys=None, secrets=None, certificates=None, storage=None):
        self.keys = keys
        self.secrets = secrets
        self.certificates = certificates
        self.storage = storage
