# --------------------------------------------------------------------------------------------
# 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 aaz-dev-tools
# --------------------------------------------------------------------------------------------

# pylint: skip-file
# flake8: noqa

from azure.cli.core.aaz import *


@register_command_group(
    "monitor sli",
    is_preview=True,
)
class __CMDGroup(AAZCommandGroup):
    """Manage Service Level Indicators (SLIs) in Azure Monitor.

    Identity model: SLIs only support user-assigned managed identities (UAMIs).
    System-assigned identity is not supported by the service. A UAMI must be
    referenced in three places that the service keeps in sync:

      1. The ARM identity block (`identity.userAssignedIdentities`).
      2. Each destination AMW (`properties.destinationAmwAccounts[].identity`).
      3. Each signal source (`properties.sliProperties.{signals|goodSignals|
         totalSignals}.signalSources[].sourceAmwAccountManagedIdentity`).

    The service rejects PUTs where these three sets disagree. To rotate a UAMI,
    update all three surfaces in a single `az monitor sli update` call so the
    PUT is atomic. See `az monitor sli update --help` for worked rotation
    examples. Run `az monitor sli show` first to confirm the actual indices
    and which signal slot (`signals` for window-based, `goodSignals` +
    `totalSignals` for request-based) is populated.
    """
    pass


__all__ = ["__CMDGroup"]
