swagger: "2.0"
schemes:
  - https
host: management.azure.com
info:
  description: The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.
  title: NetworkManagementClient
  version: 2018-04-01
  x-apisguru-categories:
    - cloud
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png
  x-origin:
    - format: swagger
      url: https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-04-01/ddosProtectionPlan.json
      version: "2.0"
  x-preferred: false
  x-providerName: azure.com
  x-serviceName: network-ddosProtectionPlan
  x-tags:
    - Azure
    - Microsoft
consumes:
  - application/json
produces:
  - application/json
securityDefinitions:
  azure_auth:
    authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize
    description: Azure Active Directory OAuth2 Flow
    flow: implicit
    scopes:
      user_impersonation: impersonate your user account
    type: oauth2
security:
  - azure_auth:
      - user_impersonation
paths:
  "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans":
    get:
      description: Gets all DDoS protection plans in a subscription.
      operationId: DdosProtectionPlans_List
      parameters:
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of DDoS protection plan resources.
          schema:
            $ref: "#/definitions/DdosProtectionPlanListResult"
      tags:
        - DdosProtectionPlans
      x-ms-examples:
        List all DDoS protection plans:
          parameters:
            api-version: 2018-04-01
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1
                    location: westus
                    name: plan1
                    properties:
                      provisioningState: Succeeded
                      resourceGuid: 00000000-0000-0000-0000-000000000000
                      virtualNetworks:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet1
                    type: Microsoft.Network/ddosProtectionPlans
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2
                    location: westus
                    name: plan2
                    properties:
                      provisioningState: Succeeded
                      resourceGuid: 00000000-0000-0000-0000-000000000000
                      virtualNetworks:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet2
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet3
                    type: Microsoft.Network/ddosProtectionPlans
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans":
    get:
      description: Gets all the DDoS protection plans in a resource group.
      operationId: DdosProtectionPlans_ListByResourceGroup
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns a list of DDoS protection plan resources.
          schema:
            $ref: "#/definitions/DdosProtectionPlanListResult"
      tags:
        - DdosProtectionPlans
      x-ms-examples:
        List DDoS protection plans in resource group:
          parameters:
            api-version: 2018-04-01
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                value:
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan1
                    location: westus
                    name: plan1
                    properties:
                      provisioningState: Succeeded
                      resourceGuid: 00000000-0000-0000-0000-000000000000
                      virtualNetworks:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                    type: Microsoft.Network/ddosProtectionPlans
                  - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/plan2
                    location: westus
                    name: plan2
                    properties:
                      provisioningState: Succeeded
                      resourceGuid: 00000000-0000-0000-0000-000000000000
                      virtualNetworks:
                        - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                    type: Microsoft.Network/ddosProtectionPlans
      x-ms-pageable:
        nextLinkName: nextLink
  "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}":
    delete:
      description: Deletes the specified DDoS protection plan.
      operationId: DdosProtectionPlans_Delete
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DDoS protection plan.
          in: path
          name: ddosProtectionPlanName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Delete successful.
        "202":
          description: Accepted and the operation will complete asynchronously.
        "204":
          description: Request successful. Resource does not exist.
      tags:
        - DdosProtectionPlans
      x-ms-examples:
        Delete DDoS protection plan:
          parameters:
            api-version: 2018-04-01
            ddosProtectionPlanName: test-plan
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200": {}
            "202": {}
            "204": {}
      x-ms-long-running-operation: true
    get:
      description: Gets information about the specified DDoS protection plan.
      operationId: DdosProtectionPlans_Get
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DDoS protection plan.
          in: path
          name: ddosProtectionPlanName
          required: true
          type: string
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Request successful. The operation returns the specified DDoS protection plan resource.
          schema:
            $ref: "#/definitions/DdosProtectionPlan"
      tags:
        - DdosProtectionPlans
      x-ms-examples:
        Get DDoS protection plan:
          parameters:
            api-version: 2018-04-01
            ddosProtectionPlanName: test-plan
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan
                location: westus
                name: test-plan
                properties:
                  provisioningState: Succeeded
                  resourceGuid: 00000000-0000-0000-0000-000000000000
                  virtualNetworks:
                    - id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet
                type: Microsoft.Network/ddosProtectionPlans
    put:
      description: Creates or updates a DDoS protection plan.
      operationId: DdosProtectionPlans_CreateOrUpdate
      parameters:
        - description: The name of the resource group.
          in: path
          name: resourceGroupName
          required: true
          type: string
        - description: The name of the DDoS protection plan.
          in: path
          name: ddosProtectionPlanName
          required: true
          type: string
        - description: Parameters supplied to the create or update operation.
          in: body
          name: parameters
          required: true
          schema:
            $ref: "#/definitions/DdosProtectionPlan"
        - description: Client API version.
          in: query
          name: api-version
          required: true
          type: string
        - description: The subscription credentials which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.
          in: path
          name: subscriptionId
          required: true
          type: string
      responses:
        "200":
          description: Update successful. The operation returns the resulting DDoS protection plan resource.
          schema:
            $ref: "#/definitions/DdosProtectionPlan"
        "201":
          description: Create successful. The operation returns the resulting DDoS protection plan resource.
          schema:
            $ref: "#/definitions/DdosProtectionPlan"
      tags:
        - DdosProtectionPlans
      x-ms-examples:
        Create DDoS protection plan:
          parameters:
            api-version: 2018-04-01
            ddosProtectionPlanName: test-plan
            parameters:
              location: westus
              properties: {}
            resourceGroupName: rg1
            subscriptionId: subid
          responses:
            "200":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan
                location: westus
                name: test-plan
                properties:
                  provisioningState: Succeeded
                  resourceGuid: 00000000-0000-0000-0000-000000000000
                  virtualNetworks: []
                type: Microsoft.Network/ddosProtectionPlans
            "201":
              body:
                id: /subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ddosProtectionPlans/test-plan
                location: westus
                name: test-plan
                properties:
                  provisioningState: Succeeded
                  resourceGuid: 00000000-0000-0000-0000-000000000000
                  virtualNetworks: []
                type: Microsoft.Network/ddosProtectionPlans
      x-ms-long-running-operation: true
definitions:
  DdosProtectionPlan:
    description: A DDoS protection plan in a resource group.
    properties:
      etag:
        description: A unique read-only string that changes whenever the resource is updated.
        readOnly: true
        type: string
      id:
        description: Resource ID.
        readOnly: true
        type: string
      location:
        description: Resource location.
        type: string
      name:
        description: Resource name.
        readOnly: true
        type: string
      properties:
        $ref: "#/definitions/DdosProtectionPlanPropertiesFormat"
        description: Properties of the DDoS protection plan.
        x-ms-client-flatten: true
      tags:
        additionalProperties:
          type: string
        description: Resource tags.
        type: object
      type:
        description: Resource type.
        readOnly: true
        type: string
    x-ms-azure-resource: true
  DdosProtectionPlanListResult:
    description: A list of DDoS protection plans.
    properties:
      nextLink:
        description: The URL to get the next set of results.
        readOnly: true
        type: string
      value:
        description: A list of DDoS protection plans.
        items:
          $ref: "#/definitions/DdosProtectionPlan"
        type: array
  DdosProtectionPlanPropertiesFormat:
    description: DDoS protection plan properties.
    properties:
      provisioningState:
        description: "The provisioning state of the DDoS protection plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'."
        readOnly: true
        type: string
      resourceGuid:
        description: The resource GUID property of the DDoS protection plan resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups.
        readOnly: true
        type: string
      virtualNetworks:
        description: The list of virtual networks associated with the DDoS protection plan resource. This list is read-only.
        items:
          description: Reference to another subresource.
          properties:
            id:
              description: Resource ID.
              type: string
          x-ms-azure-resource: true
        readOnly: true
        type: array
