{
  "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-02-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-02-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"
      ]
    }
  ],
  "parameters": {
    "ApiVersionParameter": {
      "description": "Client API version.",
      "in": "query",
      "name": "api-version",
      "required": true,
      "type": "string"
    },
    "SubscriptionIdParameter": {
      "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"
    }
  },
  "paths": {
    "/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans": {
      "get": {
        "description": "Gets all DDoS protection plans in a subscription.",
        "operationId": "DdosProtectionPlans_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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-02-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"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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-02-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"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "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-02-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": {
      "allOf": [
        {
          "description": "Common resource representation.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            },
            "location": {
              "description": "Resource location.",
              "type": "string"
            },
            "name": {
              "description": "Resource name.",
              "readOnly": true,
              "type": "string"
            },
            "tags": {
              "additionalProperties": {
                "type": "string"
              },
              "description": "Resource tags.",
              "type": "object"
            },
            "type": {
              "description": "Resource type.",
              "readOnly": true,
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "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"
        },
        "properties": {
          "$ref": "#/definitions/DdosProtectionPlanPropertiesFormat",
          "description": "Properties of the DDoS protection plan.",
          "x-ms-client-flatten": 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"
        }
      }
    }
  }
}