# --------------------------------------------------------------------------
# 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['swiftlet vm'] = """
    type: group
    short-summary: swiftlet vm
"""

helps['swiftlet vm list'] = """
    type: command
    short-summary: "List all of the virtual machines in the specified subscription. Use the nextLink property in the \
response to get the next page of virtual machines."
    examples:
      - name: List all virtual machines in a resource group.
        text: |-
               az swiftlet vm list --resource-group "myResourceGroup"
"""

helps['swiftlet vm show'] = """
    type: command
    short-summary: "Get information about the virtual machine."
    examples:
      - name: Get a virtual machine.
        text: |-
               az swiftlet vm show --resource-group "myResourceGroup" --name "myVirtualMachine"
"""

helps['swiftlet vm create'] = """
    type: command
    short-summary: "Create or update a virtual machine."
    parameters:
      - name: --ports
        short-summary: "The ports on which inbound traffic will be allowed."
        long-summary: |
            Usage: --ports port-range=XX protocol=XX

            port-range: The port(s) that will be open to traffic. This will be a string that can indicate a single \
port, a range (i.e. 50-60), or "*" to indicate all ports.
            protocol: The type of traffic to allow on this port. Allowed values are "TCP", "UDP", "ICMP", and "\ *" \
(indicates all supported protocol types allowed). If not specified, it will be default to "*\ ".

            Multiple actions can be specified by using more than one --ports argument.
    examples:
      - name: Create a virtual machine with password authentication.
        text: |-
               az swiftlet vm create --location "westus" --password "{your-password}," --ports \
port-range="3389" protocol="*" --startup-script "{inline startup script}" --swiftlet-bundle-sku "Windows_1" \
--swiftlet-image-id "windows-2019-datacenter" --username "SwiftletUser" --tags key1="value1" key2="value2" \
--resource-group "myResourceGroup" --name "myVirtualMachine"
      - name: Create a virtual machine with ssh authentication.
        text: |-
               az swiftlet vm create --location "westus" --ports port-range="22" protocol="*" \
--ssh-public-key "ssh-rsa {SSH_KEY}" --startup-script "{inline startup script}" --swiftlet-bundle-sku "Linux_1" \
--swiftlet-image-id "ubuntu-18.04-lts" --username "SwiftletUser" --tags key1="value1" key2="value2" --resource-group \
"myResourceGroup" --name "myVirtualMachine"
"""

helps['swiftlet vm update'] = """
    type: command
    short-summary: "Update a virtual machine."
    parameters:
      - name: --ports
        short-summary: "Specifies the list of ports to be opened."
        long-summary: |
            Usage: --ports port-range=XX protocol=XX

            port-range: The port(s) that will be open to traffic. This will be a string that can indicate a single \
port, a range (i.e. 50-60), or "*" to indicate all ports.
            protocol: The type of traffic to allow on this port. Allowed values are "TCP", "UDP", "ICMP", and "\ *" \
(indicates all supported protocol types allowed). If not specified, it will be default to "*\ ".

            Multiple actions can be specified by using more than one --ports argument.
    examples:
      - name: Update tags of a virtual machine.
        text: |-
               az swiftlet vm update --ports port-range="80" protocol="TCP" --ports port-range="50-60" \
protocol="UDP" --tags key3="value3" --resource-group "myResourceGroup" --name "myVirtualMachine"
"""

helps['swiftlet vm delete'] = """
    type: command
    short-summary: "Delete a virtual machine."
    examples:
      - name: Delete a virtual machine.
        text: |-
               az swiftlet vm delete --resource-group "myResourceGroup" --name "myVirtualMachine"
"""

helps['swiftlet vm list-bundle'] = """
    type: command
    short-summary: "List all Swiftlet bundles available for the specified subscription and Azure location."
    examples:
      - name: List available Swiftlet bundles
        text: |-
               az swiftlet vm list-bundle --location "westus"
"""

helps['swiftlet vm list-image'] = """
    type: command
    short-summary: "List all Swiftlet images available for the specified subscription and Azure location."
    examples:
      - name: List available Swiftlet images
        text: |-
               az swiftlet vm list-image --location "westus"
"""

helps['swiftlet vm start'] = """
    type: command
    short-summary: "Start a specified virtual machine."
    examples:
      - name: Start a virtual machine.
        text: |-
               az swiftlet vm start --resource-group "myResourceGroup" --name "myVirtualMachine"
"""

helps['swiftlet vm stop'] = """
    type: command
    short-summary: "Stop a specified virtual machine."
    examples:
      - name: Stop a virtual machine.
        text: |-
               az swiftlet vm stop --resource-group "myResourceGroup" --name "myVirtualMachine"
"""

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