# --------------------------------------------------------------------------
# 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['network manager create'] = """
    type: command
    short-summary: "Create a Network Manager."
    parameters:
      - name: --network-manager-scopes
        short-summary: "Scope of Network Manager."
        long-summary: |
            Usage: --network-manager-scopes management-groups=XX subscriptions=XX

            management-groups: List of management groups.
            subscriptions: List of subscriptions.
    examples:
      - name: Create/Update Azure Virtual Network Manager
        text: |-
               az network manager create --name "TestNetworkManager" -l eastus2euap --description "My Test Network Manager" \
--scope-accesses "SecurityAdmin" "Connectivity" \
--network-manager-scopes management-groups="/providers/Microsoft.Management/testmg" subscriptions="/subscriptions/00000000-0000-0\
000-0000-000000000000" --resource-group "rg1"
"""

helps['network manager update'] = """
    type: command
    short-summary: "Update a Network Manager."
    parameters:
      - name: --network-manager-scopes
        short-summary: "Scope of Network Manager."
        long-summary: |
            Usage: --network-manager-scopes management-groups=XX subscriptions=XX

            management-groups: List of management groups.
            subscriptions: List of subscriptions.
"""

helps['network manager connect-config create'] = """
    type: command
    short-summary: "Create a new network manager connectivity configuration."
    parameters:
      - name: --applies-to-groups
        short-summary: "Groups for configuration"
        long-summary: |
            Usage: --applies-to-groups network-group-id=XX use-hub-gateway=XX is-global=XX group-connectivity=XX

            network-group-id: Network group Id.
            use-hub-gateway: Flag if need to use hub gateway.
            is-global: Flag if global is supported.
            group-connectivity: Group connectivity type. Allowed values: None, DirectlyConnected

            Multiple actions can be specified by using more than one --applies-to-groups argument.
      - name: --hub
        short-summary: "The hub vnets"
        long-summary: |
            Usage: --hub resource-id=XX resource-type=XX

            resource-id: Resource ID
            resource-type: Resource Type

    examples:
      - name: Create/Update Azure Virtual Network Manager Connectivity Configuration
        text: |-
               az network manager connect-config create --configuration-name "myTestConnectivityConfig" --description \
"Sample Configuration" --applies-to-groups group-connectivity="None" is-global=false \
network-group-id="subscriptions/subscriptionA/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkManager\
s/testNetworkManager/networkManagerGroups/group1" use-hub-gateway=true --connectivity-topology "HubAndSpoke" \
--delete-existing-peering true --hub resource-id="subscriptions/subscriptionA/resource\
Groups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myTestConnectivityConfig" resource-type="Microsoft.Network/virtualNetworks" \
--is-global true --network-manager-name "testNetworkManager" --resource-group "myResourceGroup"
"""

helps['network manager connect-config update'] = """
    type: command
    short-summary: "Update a new network manager connectivity configuration."
    parameters:
      - name: --applies-to-groups
        short-summary: "Groups for configuration"
        long-summary: |
            Usage: --applies-to-groups network-group-id=XX use-hub-gateway=XX is-global=XX group-connectivity=XX

            network-group-id: Network group Id.
            use-hub-gateway: Flag if need to use hub gateway.
            is-global: Flag if global is supported.
            group-connectivity: Group connectivity type. Allowed values: None, DirectlyConnected

            Multiple actions can be specified by using more than one --applies-to-groups argument.
      - name: --hub
        short-summary: "The hub vnets"
        long-summary: |
            Usage: --hub resource-id=XX resource-type=XX

            resource-id: Resource ID
            resource-type: Resource Type
"""

helps['network manager security-admin-config rule-collection create'] = """
    type: command
    short-summary: "Create a network manager security configuration admin rule collection."
    examples:
      - name: Create security admin rule collections
        text: |-
               az network manager security-admin-config rule-collection create --configuration-name "myTestSecurityConfig" --network-manager-name "testNetworkManager"  -g "rg1" \
--rule-collection-name "myTestCollection" --description "A sample description" \
--applies-to-groups  network-group-id="/subscriptions/sub_id/resourceGroups/rgid/providers/Microsoft.Network/networkManagers/TestNetworkManager/networkGroups/TestNetworkGroup"
"""

helps['network manager security-admin-config rule-collection update'] = """
    type: command
    short-summary: "Update a network manager security configuration admin rule collection in a subscription."
    examples:
      - name: Update security admin rule collection
        text: |-
               az network manager security-admin-config rule-collection update --configuration-name "myTestSecurityConfig" --network-manager-name \
"testNetworkManager" --resource-group "rg1" --rule-collection-name "myTestCollection"
"""

helps['network manager security-admin-config rule-collection rule create'] = """
    type: command
    short-summary: "Create a network manager security configuration admin rule."
    parameters:
      - name: --sources
        short-summary: "The CIDR or source IP ranges."
        long-summary: |
            Usage: --sources address-prefix=XX address-prefix-type=XX

            address-prefix: Address prefix.
            address-prefix-type: Address prefix type. Address prefix type is an enum with values IPPrefix or ServiceTag.

            Multiple actions can be specified by using more than one --sources argument.
      - name: --destinations
        short-summary: "The destination address prefixes. CIDR or destination IP ranges."
        long-summary: |
            Usage: --destination address-prefix=XX address-prefix-type=XX

            address-prefix: Address prefix.
            address-prefix-type: Address prefix type. Address prefix type is an enum with values IPPrefix or ServiceTag.

            Multiple actions can be specified by using more than one --destination argument.
    examples:
      - name: Create security admin rules
        text: |-
               az network manager security-admin-config rule-collection rule create --configuration-name "myTestSecurityConfig" --network-manager-name "testNetworkManager" \
--resource-group "rg1" --rule-collection-name "myTestCollection" --rule-name "SampleAdminRule" \
--kind "Custom" --protocol "Tcp" --access "Allow" --priority 32 --direction "Inbound" \
--destinations address-prefix="*" address-prefix-type="IPPrefix"  --dest-port-ranges 22
"""

helps['network manager security-admin-config rule-collection rule update'] = """
    type: command
    short-summary: "Update a network manager security configuration admin rule in a subscription."
    parameters:
      - name: --sources
        short-summary: "The CIDR or source IP ranges."
        long-summary: |
            Usage: --sources address-prefix=XX address-prefix-type=XX

            address-prefix: Address prefix.
            address-prefix-type: Address prefix type.

            Multiple actions can be specified by using more than one --sources argument.
      - name: --destinations
        short-summary: "The destination address prefixes. CIDR or destination IP ranges."
        long-summary: |
            Usage: --destination address-prefix=XX address-prefix-type=XX

            address-prefix: Address prefix.
            address-prefix-type: Address prefix type.

            Multiple actions can be specified by using more than one --destination argument.
    examples:
      - name: Update security admin rule
        text: |-
               az network manager security-admin-config rule-collection rule update --configuration-name "myTestSecurityConfig" --network-manager-name \
"testNetworkManager" --resource-group "rg1" --rule-collection-name "myTestCollection" --rule-name "SampleAdminRule" --access "Deny"
"""
