# --------------------------------------------------------------------------
# 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.
# --------------------------------------------------------------------------
# pylint: disable=too-many-lines

from knack.help_files import helps


helps['dedicated-hsm'] = """
    type: group
    short-summary: Manage dedicated hsm with hardware security modules
"""

helps['dedicated-hsm list'] = """
    type: command
    short-summary: "The List operation gets information about the dedicated hsms associated with the subscription and \
within the specified resource group. And The List operation gets information about the dedicated HSMs associated with \
the subscription."
    examples:
      - name: List dedicated HSM devices in a resource group
        text: |-
               az dedicated-hsm list --resource-group "hsm-group"
      - name: List dedicated HSM devices in a resource group including payment HSM
        text: |-
               az dedicated-hsm list --resource-group "hsm-group"
      - name: List dedicated HSM devices in a subscription
        text: |-
               az dedicated-hsm list
      - name: List dedicated HSM devices in a subscription including payment HSM
        text: |-
               az dedicated-hsm list
"""

helps['dedicated-hsm show'] = """
    type: command
    short-summary: "Gets the specified Azure dedicated HSM."
    examples:
      - name: Get a dedicated HSM
        text: |-
               az dedicated-hsm show --name "hsm1" --resource-group "hsm-group"
      - name: Get a payment HSM
        text: |-
               az dedicated-hsm show --name "hsm1" --resource-group "hsm-group"
      - name: Get a payment HSM with 2018-10-31Preview api version
        text: |-
               az dedicated-hsm show --name "hsm1" --resource-group "hsm-group"
"""

helps['dedicated-hsm create'] = """
    type: command
    short-summary: "Create a dedicated HSM in the specified subscription."
    parameters:
      - name: --subnet
        short-summary: "Specifies the identifier of the subnet."
        long-summary: |
            Usage: --subnet id=XX

            id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/.\
..
      - name: --network-interfaces -i
        short-summary: "Specifies the list of resource Ids for the network interfaces associated with the dedicated \
HSM."
        long-summary: |
            Usage: --network-interfaces private-ip-address=XX

            private-ip-address: Private Ip address of the interface

            Multiple actions can be specified by using more than one --network-interfaces argument.
      - name: --mgmt-network-subnet
        short-summary: "Specifies the identifier of the subnet."
        long-summary: |
            Usage: --mgmt-network-subnet id=XX

            id: The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/.\
..
      - name: --mgmt-network-interfaces -m
        short-summary: "Specifies the list of resource Ids for the network interfaces associated with the dedicated \
HSM."
        long-summary: |
            Usage: --mgmt-network-interfaces private-ip-address=XX

            private-ip-address: Private Ip address of the interface

            Multiple actions can be specified by using more than one --mgmt-network-interfaces argument.
    examples:
      - name: Create a new or update an existing dedicated HSM
        text: |-
               az dedicated-hsm create --name "hsm1" --location "westus" \
--network-interfaces private-ip-address="1.0.0.1" --subnet \
id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.Network/virtualNet\
works/stamp01/subnets/stamp01" --stamp-id "stamp01" --sku "SafeNet Luna Network HSM A790" --tags Dept="hsm" \
Environment="dogfood" --resource-group "hsm-group"
      - name: Create a new or update an existing payment HSM
        text: |-
               az dedicated-hsm create --name "hsm1" --location "westus" \
--mgmt-network-interfaces private-ip-address="1.0.0.1" --mgmt-network-subnet \
id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.Network/virtualNet\
works/stamp01/subnets/stamp01" --stamp-id "stamp01" --sku "payShield10K_LMK1_CPS60" --tags Dept="hsm" \
Environment="dogfood" --resource-group "hsm-group"
      - name: Create a new or update an existing payment HSM with management profile
        text: |-
               az dedicated-hsm create --name "hsm1" --location "westus" \
--network-interfaces private-ip-address="1.0.0.2" --subnet id="/subscriptions/00000000-0000-0000-0000-000000000000/reso\
urceGroups/hsm-group/providers/Microsoft.Network/virtualNetworks/stamp01/subnets/stamp01" \
--mgmt-network-interfaces private-ip-address="1.0.0.1" --mgmt-network-subnet \
id="/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.Network/virtualNet\
works/stamp01/subnets/stamp01" --stamp-id "stamp02" --sku "payShield10K_LMK1_CPS60" --tags Dept="hsm" \
Environment="dogfood" --resource-group "hsm-group"
"""

helps['dedicated-hsm update'] = """
    type: command
    short-summary: "Update a dedicated HSM in the specified subscription."
    examples:
      - name: Update an existing dedicated HSM
        text: |-
               az dedicated-hsm update --name "hsm1" --tags Dept="hsm" Environment="dogfood" \
Slice="A" --resource-group "hsm-group"
      - name: Update an existing payment HSM
        text: |-
               az dedicated-hsm update --name "hsm1" --tags Dept="hsm" Environment="dogfood" \
Slice="A" --resource-group "hsm-group"
"""

helps['dedicated-hsm delete'] = """
    type: command
    short-summary: "Deletes the specified Azure Dedicated HSM."
    examples:
      - name: Delete a dedicated HSM
        text: |-
               az dedicated-hsm delete --name "hsm1" --resource-group "hsm-group"
"""

helps['dedicated-hsm list-outbound-network-dependency-endpoint'] = """
    type: command
    short-summary: "Gets a list of egress endpoints (network endpoints of all outbound dependencies) in the specified \
dedicated hsm resource. The operation returns properties of each egress endpoint."
    examples:
      - name: List OutboundNetworkDependenciesEndpoints by Managed Cluster
        text: |-
               az dedicated-hsm list-outbound-network-dependency-endpoint --name "hsm1" \
--resource-group "hsm-group"
"""

helps['dedicated-hsm wait'] = """
    type: command
    short-summary: Place the CLI in a waiting state until a condition of the dedicated-hsm \
is met.
    examples:
      - name: Pause executing next line of CLI script until the dedicated-hsm is \
successfully created.
        text: |-
               az dedicated-hsm wait --name "hsm1" --resource-group "hsm-group" --created
      - name: Pause executing next line of CLI script until the dedicated-hsm is \
successfully updated.
        text: |-
               az dedicated-hsm wait --name "hsm1" --resource-group "hsm-group" --updated
      - name: Pause executing next line of CLI script until the dedicated-hsm is \
successfully deleted.
        text: |-
               az dedicated-hsm wait --name "hsm1" --resource-group "hsm-group" --deleted
"""
