# coding=utf-8
# *** WARNING: this file was generated by pulumi. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from ... import _utilities
from ._enums import *

__all__ = [
    'ManagedGrafanaPropertiesArgs',
    'ManagedIdentityArgs',
    'ResourceSkuArgs',
]

@pulumi.input_type
class ManagedGrafanaPropertiesArgs:
    def __init__(__self__, *,
                 auto_generated_domain_name_label_scope: Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]] = None,
                 provisioning_state: Optional[pulumi.Input[Union[str, 'ProvisioningState']]] = None,
                 zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]] = None):
        """
        Properties specific to the grafana resource.
        :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: Provisioning state of the resource.
        """
        if auto_generated_domain_name_label_scope is not None:
            pulumi.set(__self__, "auto_generated_domain_name_label_scope", auto_generated_domain_name_label_scope)
        if provisioning_state is not None:
            pulumi.set(__self__, "provisioning_state", provisioning_state)
        if zone_redundancy is not None:
            pulumi.set(__self__, "zone_redundancy", zone_redundancy)

    @property
    @pulumi.getter(name="autoGeneratedDomainNameLabelScope")
    def auto_generated_domain_name_label_scope(self) -> Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
        return pulumi.get(self, "auto_generated_domain_name_label_scope")

    @auto_generated_domain_name_label_scope.setter
    def auto_generated_domain_name_label_scope(self, value: Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
        pulumi.set(self, "auto_generated_domain_name_label_scope", value)

    @property
    @pulumi.getter(name="provisioningState")
    def provisioning_state(self) -> Optional[pulumi.Input[Union[str, 'ProvisioningState']]]:
        """
        Provisioning state of the resource.
        """
        return pulumi.get(self, "provisioning_state")

    @provisioning_state.setter
    def provisioning_state(self, value: Optional[pulumi.Input[Union[str, 'ProvisioningState']]]):
        pulumi.set(self, "provisioning_state", value)

    @property
    @pulumi.getter(name="zoneRedundancy")
    def zone_redundancy(self) -> Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]]:
        return pulumi.get(self, "zone_redundancy")

    @zone_redundancy.setter
    def zone_redundancy(self, value: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]]):
        pulumi.set(self, "zone_redundancy", value)


@pulumi.input_type
class ManagedIdentityArgs:
    def __init__(__self__, *,
                 type: Optional[pulumi.Input[Union[str, 'IdentityType']]] = None,
                 user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        The managed identity of a resource.
        :param pulumi.Input[Union[str, 'IdentityType']] type: The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Dictionary of user assigned identities.
        """
        if type is not None:
            pulumi.set(__self__, "type", type)
        if user_assigned_identities is not None:
            pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[Union[str, 'IdentityType']]]:
        """
        The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter(name="userAssignedIdentities")
    def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Dictionary of user assigned identities.
        """
        return pulumi.get(self, "user_assigned_identities")

    @user_assigned_identities.setter
    def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "user_assigned_identities", value)


@pulumi.input_type
class ResourceSkuArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str]):
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter
    def name(self) -> pulumi.Input[str]:
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, "name", value)



4536127accf69c99d884845f6ebb631f416fccd2
<mask token>


@pulumi.input_type
class ManagedGrafanaPropertiesArgs:

    def __init__(__self__, *, auto_generated_domain_name_label_scope:
        Optional[pulumi.Input[Union[str,
        'AutoGeneratedDomainNameLabelScope']]]=None, provisioning_state:
        Optional[pulumi.Input[Union[str, 'ProvisioningState']]]=None,
        zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']
        ]]=None):
        """
        Properties specific to the grafana resource.
        :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: Provisioning state of the resource.
        """
        if auto_generated_domain_name_label_scope is not None:
            pulumi.set(__self__, 'auto_generated_domain_name_label_scope',
                auto_generated_domain_name_label_scope)
        if provisioning_state is not None:
            pulumi.set(__self__, 'provisioning_state', provisioning_state)
        if zone_redundancy is not None:
            pulumi.set(__self__, 'zone_redundancy', zone_redundancy)

    @property
    @pulumi.getter(name='autoGeneratedDomainNameLabelScope')
    def auto_generated_domain_name_label_scope(self) ->Optional[pulumi.
        Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
        return pulumi.get(self, 'auto_generated_domain_name_label_scope')

    @auto_generated_domain_name_label_scope.setter
    def auto_generated_domain_name_label_scope(self, value: Optional[pulumi
        .Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
        pulumi.set(self, 'auto_generated_domain_name_label_scope', value)
    <mask token>

    @provisioning_state.setter
    def provisioning_state(self, value: Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]):
        pulumi.set(self, 'provisioning_state', value)

    @property
    @pulumi.getter(name='zoneRedundancy')
    def zone_redundancy(self) ->Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]:
        return pulumi.get(self, 'zone_redundancy')
    <mask token>


@pulumi.input_type
class ManagedIdentityArgs:

    def __init__(__self__, *, type: Optional[pulumi.Input[Union[str,
        'IdentityType']]]=None, user_assigned_identities: Optional[pulumi.
        Input[Sequence[pulumi.Input[str]]]]=None):
        """
        The managed identity of a resource.
        :param pulumi.Input[Union[str, 'IdentityType']] type: The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Dictionary of user assigned identities.
        """
        if type is not None:
            pulumi.set(__self__, 'type', type)
        if user_assigned_identities is not None:
            pulumi.set(__self__, 'user_assigned_identities',
                user_assigned_identities)

    @property
    @pulumi.getter
    def type(self) ->Optional[pulumi.Input[Union[str, 'IdentityType']]]:
        """
        The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        """
        return pulumi.get(self, 'type')

    @type.setter
    def type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]):
        pulumi.set(self, 'type', value)

    @property
    @pulumi.getter(name='userAssignedIdentities')
    def user_assigned_identities(self) ->Optional[pulumi.Input[Sequence[
        pulumi.Input[str]]]]:
        """
        Dictionary of user assigned identities.
        """
        return pulumi.get(self, 'user_assigned_identities')

    @user_assigned_identities.setter
    def user_assigned_identities(self, value: Optional[pulumi.Input[
        Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, 'user_assigned_identities', value)


@pulumi.input_type
class ResourceSkuArgs:

    def __init__(__self__, *, name: pulumi.Input[str]):
        pulumi.set(__self__, 'name', name)

    @property
    @pulumi.getter
    def name(self) ->pulumi.Input[str]:
        return pulumi.get(self, 'name')

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, 'name', value)

<mask token>


@pulumi.input_type
class ManagedGrafanaPropertiesArgs:

    def __init__(__self__, *, auto_generated_domain_name_label_scope:
        Optional[pulumi.Input[Union[str,
        'AutoGeneratedDomainNameLabelScope']]]=None, provisioning_state:
        Optional[pulumi.Input[Union[str, 'ProvisioningState']]]=None,
        zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']
        ]]=None):
        """
        Properties specific to the grafana resource.
        :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: Provisioning state of the resource.
        """
        if auto_generated_domain_name_label_scope is not None:
            pulumi.set(__self__, 'auto_generated_domain_name_label_scope',
                auto_generated_domain_name_label_scope)
        if provisioning_state is not None:
            pulumi.set(__self__, 'provisioning_state', provisioning_state)
        if zone_redundancy is not None:
            pulumi.set(__self__, 'zone_redundancy', zone_redundancy)

    @property
    @pulumi.getter(name='autoGeneratedDomainNameLabelScope')
    def auto_generated_domain_name_label_scope(self) ->Optional[pulumi.
        Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
        return pulumi.get(self, 'auto_generated_domain_name_label_scope')

    @auto_generated_domain_name_label_scope.setter
    def auto_generated_domain_name_label_scope(self, value: Optional[pulumi
        .Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
        pulumi.set(self, 'auto_generated_domain_name_label_scope', value)

    @property
    @pulumi.getter(name='provisioningState')
    def provisioning_state(self) ->Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]:
        """
        Provisioning state of the resource.
        """
        return pulumi.get(self, 'provisioning_state')

    @provisioning_state.setter
    def provisioning_state(self, value: Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]):
        pulumi.set(self, 'provisioning_state', value)

    @property
    @pulumi.getter(name='zoneRedundancy')
    def zone_redundancy(self) ->Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]:
        return pulumi.get(self, 'zone_redundancy')

    @zone_redundancy.setter
    def zone_redundancy(self, value: Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]):
        pulumi.set(self, 'zone_redundancy', value)


@pulumi.input_type
class ManagedIdentityArgs:

    def __init__(__self__, *, type: Optional[pulumi.Input[Union[str,
        'IdentityType']]]=None, user_assigned_identities: Optional[pulumi.
        Input[Sequence[pulumi.Input[str]]]]=None):
        """
        The managed identity of a resource.
        :param pulumi.Input[Union[str, 'IdentityType']] type: The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Dictionary of user assigned identities.
        """
        if type is not None:
            pulumi.set(__self__, 'type', type)
        if user_assigned_identities is not None:
            pulumi.set(__self__, 'user_assigned_identities',
                user_assigned_identities)

    @property
    @pulumi.getter
    def type(self) ->Optional[pulumi.Input[Union[str, 'IdentityType']]]:
        """
        The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        """
        return pulumi.get(self, 'type')

    @type.setter
    def type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]):
        pulumi.set(self, 'type', value)

    @property
    @pulumi.getter(name='userAssignedIdentities')
    def user_assigned_identities(self) ->Optional[pulumi.Input[Sequence[
        pulumi.Input[str]]]]:
        """
        Dictionary of user assigned identities.
        """
        return pulumi.get(self, 'user_assigned_identities')

    @user_assigned_identities.setter
    def user_assigned_identities(self, value: Optional[pulumi.Input[
        Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, 'user_assigned_identities', value)


@pulumi.input_type
class ResourceSkuArgs:

    def __init__(__self__, *, name: pulumi.Input[str]):
        pulumi.set(__self__, 'name', name)

    @property
    @pulumi.getter
    def name(self) ->pulumi.Input[str]:
        return pulumi.get(self, 'name')

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, 'name', value)

<mask token>
__all__ = ['ManagedGrafanaPropertiesArgs', 'ManagedIdentityArgs',
    'ResourceSkuArgs']


@pulumi.input_type
class ManagedGrafanaPropertiesArgs:

    def __init__(__self__, *, auto_generated_domain_name_label_scope:
        Optional[pulumi.Input[Union[str,
        'AutoGeneratedDomainNameLabelScope']]]=None, provisioning_state:
        Optional[pulumi.Input[Union[str, 'ProvisioningState']]]=None,
        zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']
        ]]=None):
        """
        Properties specific to the grafana resource.
        :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: Provisioning state of the resource.
        """
        if auto_generated_domain_name_label_scope is not None:
            pulumi.set(__self__, 'auto_generated_domain_name_label_scope',
                auto_generated_domain_name_label_scope)
        if provisioning_state is not None:
            pulumi.set(__self__, 'provisioning_state', provisioning_state)
        if zone_redundancy is not None:
            pulumi.set(__self__, 'zone_redundancy', zone_redundancy)

    @property
    @pulumi.getter(name='autoGeneratedDomainNameLabelScope')
    def auto_generated_domain_name_label_scope(self) ->Optional[pulumi.
        Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
        return pulumi.get(self, 'auto_generated_domain_name_label_scope')

    @auto_generated_domain_name_label_scope.setter
    def auto_generated_domain_name_label_scope(self, value: Optional[pulumi
        .Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
        pulumi.set(self, 'auto_generated_domain_name_label_scope', value)

    @property
    @pulumi.getter(name='provisioningState')
    def provisioning_state(self) ->Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]:
        """
        Provisioning state of the resource.
        """
        return pulumi.get(self, 'provisioning_state')

    @provisioning_state.setter
    def provisioning_state(self, value: Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]):
        pulumi.set(self, 'provisioning_state', value)

    @property
    @pulumi.getter(name='zoneRedundancy')
    def zone_redundancy(self) ->Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]:
        return pulumi.get(self, 'zone_redundancy')

    @zone_redundancy.setter
    def zone_redundancy(self, value: Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]):
        pulumi.set(self, 'zone_redundancy', value)


@pulumi.input_type
class ManagedIdentityArgs:

    def __init__(__self__, *, type: Optional[pulumi.Input[Union[str,
        'IdentityType']]]=None, user_assigned_identities: Optional[pulumi.
        Input[Sequence[pulumi.Input[str]]]]=None):
        """
        The managed identity of a resource.
        :param pulumi.Input[Union[str, 'IdentityType']] type: The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Dictionary of user assigned identities.
        """
        if type is not None:
            pulumi.set(__self__, 'type', type)
        if user_assigned_identities is not None:
            pulumi.set(__self__, 'user_assigned_identities',
                user_assigned_identities)

    @property
    @pulumi.getter
    def type(self) ->Optional[pulumi.Input[Union[str, 'IdentityType']]]:
        """
        The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        """
        return pulumi.get(self, 'type')

    @type.setter
    def type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]):
        pulumi.set(self, 'type', value)

    @property
    @pulumi.getter(name='userAssignedIdentities')
    def user_assigned_identities(self) ->Optional[pulumi.Input[Sequence[
        pulumi.Input[str]]]]:
        """
        Dictionary of user assigned identities.
        """
        return pulumi.get(self, 'user_assigned_identities')

    @user_assigned_identities.setter
    def user_assigned_identities(self, value: Optional[pulumi.Input[
        Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, 'user_assigned_identities', value)


@pulumi.input_type
class ResourceSkuArgs:

    def __init__(__self__, *, name: pulumi.Input[str]):
        pulumi.set(__self__, 'name', name)

    @property
    @pulumi.getter
    def name(self) ->pulumi.Input[str]:
        return pulumi.get(self, 'name')

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, 'name', value)

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from ... import _utilities
from ._enums import *
__all__ = ['ManagedGrafanaPropertiesArgs', 'ManagedIdentityArgs',
    'ResourceSkuArgs']


@pulumi.input_type
class ManagedGrafanaPropertiesArgs:

    def __init__(__self__, *, auto_generated_domain_name_label_scope:
        Optional[pulumi.Input[Union[str,
        'AutoGeneratedDomainNameLabelScope']]]=None, provisioning_state:
        Optional[pulumi.Input[Union[str, 'ProvisioningState']]]=None,
        zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']
        ]]=None):
        """
        Properties specific to the grafana resource.
        :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: Provisioning state of the resource.
        """
        if auto_generated_domain_name_label_scope is not None:
            pulumi.set(__self__, 'auto_generated_domain_name_label_scope',
                auto_generated_domain_name_label_scope)
        if provisioning_state is not None:
            pulumi.set(__self__, 'provisioning_state', provisioning_state)
        if zone_redundancy is not None:
            pulumi.set(__self__, 'zone_redundancy', zone_redundancy)

    @property
    @pulumi.getter(name='autoGeneratedDomainNameLabelScope')
    def auto_generated_domain_name_label_scope(self) ->Optional[pulumi.
        Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
        return pulumi.get(self, 'auto_generated_domain_name_label_scope')

    @auto_generated_domain_name_label_scope.setter
    def auto_generated_domain_name_label_scope(self, value: Optional[pulumi
        .Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
        pulumi.set(self, 'auto_generated_domain_name_label_scope', value)

    @property
    @pulumi.getter(name='provisioningState')
    def provisioning_state(self) ->Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]:
        """
        Provisioning state of the resource.
        """
        return pulumi.get(self, 'provisioning_state')

    @provisioning_state.setter
    def provisioning_state(self, value: Optional[pulumi.Input[Union[str,
        'ProvisioningState']]]):
        pulumi.set(self, 'provisioning_state', value)

    @property
    @pulumi.getter(name='zoneRedundancy')
    def zone_redundancy(self) ->Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]:
        return pulumi.get(self, 'zone_redundancy')

    @zone_redundancy.setter
    def zone_redundancy(self, value: Optional[pulumi.Input[Union[str,
        'ZoneRedundancy']]]):
        pulumi.set(self, 'zone_redundancy', value)


@pulumi.input_type
class ManagedIdentityArgs:

    def __init__(__self__, *, type: Optional[pulumi.Input[Union[str,
        'IdentityType']]]=None, user_assigned_identities: Optional[pulumi.
        Input[Sequence[pulumi.Input[str]]]]=None):
        """
        The managed identity of a resource.
        :param pulumi.Input[Union[str, 'IdentityType']] type: The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Dictionary of user assigned identities.
        """
        if type is not None:
            pulumi.set(__self__, 'type', type)
        if user_assigned_identities is not None:
            pulumi.set(__self__, 'user_assigned_identities',
                user_assigned_identities)

    @property
    @pulumi.getter
    def type(self) ->Optional[pulumi.Input[Union[str, 'IdentityType']]]:
        """
        The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        """
        return pulumi.get(self, 'type')

    @type.setter
    def type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]):
        pulumi.set(self, 'type', value)

    @property
    @pulumi.getter(name='userAssignedIdentities')
    def user_assigned_identities(self) ->Optional[pulumi.Input[Sequence[
        pulumi.Input[str]]]]:
        """
        Dictionary of user assigned identities.
        """
        return pulumi.get(self, 'user_assigned_identities')

    @user_assigned_identities.setter
    def user_assigned_identities(self, value: Optional[pulumi.Input[
        Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, 'user_assigned_identities', value)


@pulumi.input_type
class ResourceSkuArgs:

    def __init__(__self__, *, name: pulumi.Input[str]):
        pulumi.set(__self__, 'name', name)

    @property
    @pulumi.getter
    def name(self) ->pulumi.Input[str]:
        return pulumi.get(self, 'name')

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, 'name', value)

# coding=utf-8
# *** WARNING: this file was generated by pulumi. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

import copy
import warnings
import pulumi
import pulumi.runtime
from typing import Any, Mapping, Optional, Sequence, Union, overload
from ... import _utilities
from ._enums import *

__all__ = [
    'ManagedGrafanaPropertiesArgs',
    'ManagedIdentityArgs',
    'ResourceSkuArgs',
]

@pulumi.input_type
class ManagedGrafanaPropertiesArgs:
    def __init__(__self__, *,
                 auto_generated_domain_name_label_scope: Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]] = None,
                 provisioning_state: Optional[pulumi.Input[Union[str, 'ProvisioningState']]] = None,
                 zone_redundancy: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]] = None):
        """
        Properties specific to the grafana resource.
        :param pulumi.Input[Union[str, 'ProvisioningState']] provisioning_state: Provisioning state of the resource.
        """
        if auto_generated_domain_name_label_scope is not None:
            pulumi.set(__self__, "auto_generated_domain_name_label_scope", auto_generated_domain_name_label_scope)
        if provisioning_state is not None:
            pulumi.set(__self__, "provisioning_state", provisioning_state)
        if zone_redundancy is not None:
            pulumi.set(__self__, "zone_redundancy", zone_redundancy)

    @property
    @pulumi.getter(name="autoGeneratedDomainNameLabelScope")
    def auto_generated_domain_name_label_scope(self) -> Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]:
        return pulumi.get(self, "auto_generated_domain_name_label_scope")

    @auto_generated_domain_name_label_scope.setter
    def auto_generated_domain_name_label_scope(self, value: Optional[pulumi.Input[Union[str, 'AutoGeneratedDomainNameLabelScope']]]):
        pulumi.set(self, "auto_generated_domain_name_label_scope", value)

    @property
    @pulumi.getter(name="provisioningState")
    def provisioning_state(self) -> Optional[pulumi.Input[Union[str, 'ProvisioningState']]]:
        """
        Provisioning state of the resource.
        """
        return pulumi.get(self, "provisioning_state")

    @provisioning_state.setter
    def provisioning_state(self, value: Optional[pulumi.Input[Union[str, 'ProvisioningState']]]):
        pulumi.set(self, "provisioning_state", value)

    @property
    @pulumi.getter(name="zoneRedundancy")
    def zone_redundancy(self) -> Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]]:
        return pulumi.get(self, "zone_redundancy")

    @zone_redundancy.setter
    def zone_redundancy(self, value: Optional[pulumi.Input[Union[str, 'ZoneRedundancy']]]):
        pulumi.set(self, "zone_redundancy", value)


@pulumi.input_type
class ManagedIdentityArgs:
    def __init__(__self__, *,
                 type: Optional[pulumi.Input[Union[str, 'IdentityType']]] = None,
                 user_assigned_identities: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
        """
        The managed identity of a resource.
        :param pulumi.Input[Union[str, 'IdentityType']] type: The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        :param pulumi.Input[Sequence[pulumi.Input[str]]] user_assigned_identities: Dictionary of user assigned identities.
        """
        if type is not None:
            pulumi.set(__self__, "type", type)
        if user_assigned_identities is not None:
            pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)

    @property
    @pulumi.getter
    def type(self) -> Optional[pulumi.Input[Union[str, 'IdentityType']]]:
        """
        The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the resource.
        """
        return pulumi.get(self, "type")

    @type.setter
    def type(self, value: Optional[pulumi.Input[Union[str, 'IdentityType']]]):
        pulumi.set(self, "type", value)

    @property
    @pulumi.getter(name="userAssignedIdentities")
    def user_assigned_identities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
        """
        Dictionary of user assigned identities.
        """
        return pulumi.get(self, "user_assigned_identities")

    @user_assigned_identities.setter
    def user_assigned_identities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
        pulumi.set(self, "user_assigned_identities", value)


@pulumi.input_type
class ResourceSkuArgs:
    def __init__(__self__, *,
                 name: pulumi.Input[str]):
        pulumi.set(__self__, "name", name)

    @property
    @pulumi.getter
    def name(self) -> pulumi.Input[str]:
        return pulumi.get(self, "name")

    @name.setter
    def name(self, value: pulumi.Input[str]):
        pulumi.set(self, "name", value)


