{
  "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": "2017-11-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/2017-11-01/routeFilter.json",
        "version": "2.0"
      }
    ],
    "x-preferred": false,
    "x-providerName": "azure.com",
    "x-serviceName": "network-routeFilter",
    "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/routeFilters": {
      "get": {
        "description": "Gets all route filters in a subscription.",
        "operationId": "RouteFilters_List",
        "parameters": [
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of Route Filter resources.",
            "schema": {
              "$ref": "#/definitions/RouteFilterListResult"
            }
          }
        },
        "tags": [
          "RouteFilters"
        ],
        "x-ms-examples": {
          "RouteFilterList": {
            "parameters": {
              "api-version": "2017-11-01",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
                      "location": "West US",
                      "name": "filterName",
                      "properties": {
                        "peerings": [],
                        "provisioningState": "Succeeded",
                        "rules": [
                          {
                            "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                            "name": "ruleName",
                            "properties": {
                              "access": "Allow",
                              "communities": [
                                "12076:5030",
                                "12076:5040"
                              ],
                              "provisioningState": "Succeeded",
                              "routeFilterRuleType": "Community"
                            }
                          }
                        ]
                      },
                      "tags": {
                        "key1": "value1"
                      },
                      "type": "Microsoft.Network/routeFilters"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters": {
      "get": {
        "description": "Gets all route filters in a resource group.",
        "operationId": "RouteFilters_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 Route Filter resources.",
            "schema": {
              "$ref": "#/definitions/RouteFilterListResult"
            }
          }
        },
        "tags": [
          "RouteFilters"
        ],
        "x-ms-examples": {
          "RouteFilterListByResourceGroup": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
                      "location": "West US",
                      "name": "filterName",
                      "properties": {
                        "peerings": [],
                        "provisioningState": "Succeeded",
                        "rules": [
                          {
                            "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                            "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                            "name": "ruleName",
                            "properties": {
                              "access": "Allow",
                              "communities": [
                                "12076:5030",
                                "12076:5040"
                              ],
                              "provisioningState": "Succeeded",
                              "routeFilterRuleType": "Community"
                            }
                          }
                        ]
                      },
                      "tags": {
                        "key1": "value1"
                      },
                      "type": "Microsoft.Network/routeFilters"
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}": {
      "delete": {
        "description": "Deletes the specified route filter.",
        "operationId": "RouteFilters_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "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": "Delete successful."
          }
        },
        "tags": [
          "RouteFilters"
        ],
        "x-ms-examples": {
          "RouteFilterDelete": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the specified route filter.",
        "operationId": "RouteFilters_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          },
          {
            "description": "Expands referenced express route bgp peering resources.",
            "in": "query",
            "name": "$expand",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting Route Filter resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilter"
            }
          }
        },
        "tags": [
          "RouteFilters"
        ],
        "x-ms-examples": {
          "RouteFilterGet": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
                  "location": "West US",
                  "name": "filterName",
                  "properties": {
                    "peerings": [],
                    "provisioningState": "Succeeded",
                    "rules": [
                      {
                        "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                        "name": "ruleName",
                        "properties": {
                          "access": "Allow",
                          "communities": [
                            "12076:5030",
                            "12076:5040"
                          ],
                          "provisioningState": "Succeeded",
                          "routeFilterRuleType": "Community"
                        }
                      }
                    ]
                  },
                  "tags": {
                    "key1": "value1"
                  },
                  "type": "Microsoft.Network/routeFilters"
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "Updates a route filter in a specified resource group.",
        "operationId": "RouteFilters_Update",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the update route filter operation.",
            "in": "body",
            "name": "routeFilterParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PatchRouteFilter"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting Route Filter resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilter"
            }
          }
        },
        "tags": [
          "RouteFilters"
        ],
        "x-ms-examples": {
          "RouteFilterUpdate": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "routeFilterParameters": {
                "properties": {
                  "rules": [
                    {
                      "name": "ruleName",
                      "properties": {
                        "access": "Allow",
                        "communities": [
                          "12076:5030"
                        ],
                        "routeFilterRuleType": "Community"
                      }
                    }
                  ]
                },
                "tags": {
                  "key1": "value1"
                }
              },
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
                  "location": "West US",
                  "name": "filterName",
                  "properties": {
                    "peerings": [],
                    "provisioningState": "Succeeded",
                    "rules": [
                      {
                        "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                        "name": "ruleName",
                        "properties": {
                          "access": "Allow",
                          "communities": [
                            "12076:5030"
                          ],
                          "provisioningState": "Succeeded",
                          "routeFilterRuleType": "Community"
                        }
                      }
                    ]
                  },
                  "tags": {
                    "key1": "value1"
                  },
                  "type": "Microsoft.Network/routeFilters"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "Creates or updates a route filter in a specified resource group.",
        "operationId": "RouteFilters_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update route filter operation.",
            "in": "body",
            "name": "routeFilterParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RouteFilter"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting Route Filter resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilter"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting Route Filter resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilter"
            }
          }
        },
        "tags": [
          "RouteFilters"
        ],
        "x-ms-examples": {
          "RouteFilterCreate": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "routeFilterParameters": {
                "location": "West US",
                "properties": {
                  "peerings": [],
                  "rules": [
                    {
                      "name": "ruleName",
                      "properties": {
                        "access": "Allow",
                        "communities": [
                          "12076:5030",
                          "12076:5040"
                        ],
                        "routeFilterRuleType": "Community"
                      }
                    }
                  ]
                },
                "tags": {
                  "key1": "value1"
                }
              },
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
                  "location": "West US",
                  "name": "filterName",
                  "properties": {
                    "peerings": [],
                    "provisioningState": "Succeeded",
                    "rules": [
                      {
                        "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                        "name": "ruleName",
                        "properties": {
                          "access": "Allow",
                          "communities": [
                            "12076:5030",
                            "12076:5040"
                          ],
                          "provisioningState": "Succeeded",
                          "routeFilterRuleType": "Community"
                        }
                      }
                    ]
                  },
                  "tags": {
                    "key1": "value1"
                  },
                  "type": "Microsoft.Network/routeFilters"
                }
              },
              "201": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName",
                  "location": "West US",
                  "name": "filterName",
                  "properties": {
                    "peerings": [],
                    "provisioningState": "Succeeded",
                    "rules": [
                      {
                        "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                        "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                        "name": "ruleName",
                        "properties": {
                          "access": "Allow",
                          "communities": [
                            "12076:5030",
                            "12076:5040"
                          ],
                          "provisioningState": "Succeeded",
                          "routeFilterRuleType": "Community"
                        }
                      }
                    ]
                  },
                  "tags": {
                    "key1": "value1"
                  },
                  "type": "Microsoft.Network/routeFilters"
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules": {
      "get": {
        "description": "Gets all RouteFilterRules in a route filter.",
        "operationId": "RouteFilterRules_ListByRouteFilter",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns a list of Route Filter Rule resources.",
            "schema": {
              "$ref": "#/definitions/RouteFilterRuleListResult"
            }
          }
        },
        "tags": [
          "RouteFilterRules"
        ],
        "x-ms-examples": {
          "RouteFilterRuleListByRouteFilter": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "value": [
                    {
                      "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                      "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                      "name": "ruleName",
                      "properties": {
                        "access": "Allow",
                        "communities": [
                          "12076:5030",
                          "12076:5040"
                        ],
                        "provisioningState": "Succeeded",
                        "routeFilterRuleType": "Community"
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "x-ms-pageable": {
          "nextLinkName": "nextLink"
        }
      }
    },
    "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}": {
      "delete": {
        "description": "Deletes the specified rule from a route filter.",
        "operationId": "RouteFilterRules_Delete",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the rule.",
            "in": "path",
            "name": "ruleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Accepted."
          },
          "202": {
            "description": "Accepted and the operation will complete asynchronously."
          },
          "204": {
            "description": "Rule was deleted or not found."
          }
        },
        "tags": [
          "RouteFilterRules"
        ],
        "x-ms-examples": {
          "RouteFilterRuleDelete": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "ruleName": "ruleName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {},
              "202": {},
              "204": {}
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "get": {
        "description": "Gets the specified rule from a route filter.",
        "operationId": "RouteFilterRules_Get",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the rule.",
            "in": "path",
            "name": "ruleName",
            "required": true,
            "type": "string"
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Request successful. The operation returns the resulting Route Filter Rule resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilterRule"
            }
          }
        },
        "tags": [
          "RouteFilterRules"
        ],
        "x-ms-examples": {
          "RouteFilterRuleGet": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "ruleName": "filterName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                  "name": "ruleName",
                  "properties": {
                    "access": "Allow",
                    "communities": [
                      "12076:5030",
                      "12076:5040"
                    ],
                    "provisioningState": "Succeeded",
                    "routeFilterRuleType": "Community"
                  }
                }
              }
            }
          }
        }
      },
      "patch": {
        "description": "Updates a route in the specified route filter.",
        "operationId": "RouteFilterRules_Update",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter rule.",
            "in": "path",
            "name": "ruleName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the update route filter rule operation.",
            "in": "body",
            "name": "routeFilterRuleParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PatchRouteFilterRule"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting Route Filter Rule resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilterRule"
            }
          }
        },
        "tags": [
          "RouteFilterRules"
        ],
        "x-ms-examples": {
          "RouteFilterRuleUpdate": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "routeFilterRuleParameters": {
                "properties": {
                  "access": "Allow",
                  "communities": [
                    "12076:5030",
                    "12076:5040"
                  ],
                  "routeFilterRuleType": "Community"
                }
              },
              "ruleName": "ruleName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                  "name": "ruleName",
                  "properties": {
                    "access": "Allow",
                    "communities": [
                      "12076:5030",
                      "12076:5040"
                    ],
                    "provisioningState": "Succeeded",
                    "routeFilterRuleType": "Community"
                  }
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      },
      "put": {
        "description": "Creates or updates a route in the specified route filter.",
        "operationId": "RouteFilterRules_CreateOrUpdate",
        "parameters": [
          {
            "description": "The name of the resource group.",
            "in": "path",
            "name": "resourceGroupName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter.",
            "in": "path",
            "name": "routeFilterName",
            "required": true,
            "type": "string"
          },
          {
            "description": "The name of the route filter rule.",
            "in": "path",
            "name": "ruleName",
            "required": true,
            "type": "string"
          },
          {
            "description": "Parameters supplied to the create or update route filter rule operation.",
            "in": "body",
            "name": "routeFilterRuleParameters",
            "required": true,
            "schema": {
              "$ref": "#/definitions/RouteFilterRule"
            }
          },
          {
            "$ref": "#/parameters/ApiVersionParameter"
          },
          {
            "$ref": "#/parameters/SubscriptionIdParameter"
          }
        ],
        "responses": {
          "200": {
            "description": "Update successful. The operation returns the resulting Route Filter Rule resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilterRule"
            }
          },
          "201": {
            "description": "Create successful. The operation returns the resulting Route Filter Rule resource.",
            "schema": {
              "$ref": "#/definitions/RouteFilterRule"
            }
          }
        },
        "tags": [
          "RouteFilterRules"
        ],
        "x-ms-examples": {
          "RouteFilterRuleCreate": {
            "parameters": {
              "api-version": "2017-11-01",
              "resourceGroupName": "rg1",
              "routeFilterName": "filterName",
              "routeFilterRuleParameters": {
                "properties": {
                  "access": "Allow",
                  "communities": [
                    "12076:5030",
                    "12076:5040"
                  ],
                  "routeFilterRuleType": "Community"
                }
              },
              "ruleName": "ruleName",
              "subscriptionId": "subid"
            },
            "responses": {
              "200": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                  "name": "ruleName",
                  "properties": {
                    "access": "Allow",
                    "communities": [
                      "12076:5030",
                      "12076:5040"
                    ],
                    "provisioningState": "Succeeded",
                    "routeFilterRuleType": "Community"
                  }
                }
              },
              "201": {
                "body": {
                  "etag": "w/\\00000000-0000-0000-0000-000000000000\\",
                  "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/routeFilters/filterName/routeFilterRules/ruleName",
                  "name": "ruleName",
                  "properties": {
                    "access": "Allow",
                    "communities": [
                      "12076:5030",
                      "12076:5040"
                    ],
                    "provisioningState": "Succeeded",
                    "routeFilterRuleType": "Community"
                  }
                }
              }
            }
          }
        },
        "x-ms-long-running-operation": true
      }
    }
  },
  "definitions": {
    "PatchRouteFilter": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Route Filter Resource.",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RouteFilterPropertiesFormat",
          "x-ms-client-flatten": true
        },
        "tags": {
          "additionalProperties": {
            "type": "string"
          },
          "description": "Resource tags.",
          "type": "object"
        },
        "type": {
          "description": "Resource type.",
          "readOnly": true,
          "type": "string"
        }
      }
    },
    "PatchRouteFilterRule": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Route Filter Rule Resource",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true,
          "type": "string"
        },
        "name": {
          "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RouteFilterRulePropertiesFormat",
          "x-ms-client-flatten": true
        }
      }
    },
    "RouteFilter": {
      "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": "Route Filter Resource.",
      "properties": {
        "etag": {
          "description": "Gets a unique read-only string that changes whenever the resource is updated.",
          "readOnly": true,
          "type": "string"
        },
        "properties": {
          "$ref": "#/definitions/RouteFilterPropertiesFormat",
          "x-ms-client-flatten": true
        }
      },
      "required": [
        "location"
      ]
    },
    "RouteFilterListResult": {
      "description": "Response for the ListRouteFilters API service call.",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of route filters in a resource group.",
          "items": {
            "$ref": "#/definitions/RouteFilter"
          },
          "type": "array"
        }
      }
    },
    "RouteFilterPropertiesFormat": {
      "description": "Route Filter Resource",
      "properties": {
        "peerings": {
          "description": "A collection of references to express route circuit peerings.",
          "items": {
            "$ref": "./expressRouteCircuit.json#/definitions/ExpressRouteCircuitPeering"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'.",
          "readOnly": true,
          "type": "string"
        },
        "rules": {
          "description": "Collection of RouteFilterRules contained within a route filter.",
          "items": {
            "allOf": [
              {
                "description": "Reference to another subresource.",
                "properties": {
                  "id": {
                    "description": "Resource ID.",
                    "type": "string"
                  }
                },
                "x-ms-azure-resource": true
              }
            ],
            "description": "Route Filter Rule Resource",
            "properties": {
              "etag": {
                "description": "A unique read-only string that changes whenever the resource is updated.",
                "readOnly": true,
                "type": "string"
              },
              "location": {
                "description": "Resource location.",
                "type": "string"
              },
              "name": {
                "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
                "type": "string"
              },
              "properties": {
                "description": "Route Filter Rule Resource",
                "properties": {
                  "access": {
                    "description": "The access type of the rule. Valid values are: 'Allow', 'Deny'",
                    "enum": [
                      "Allow",
                      "Deny"
                    ],
                    "type": "string",
                    "x-ms-enum": {
                      "modelAsString": true,
                      "name": "Access"
                    }
                  },
                  "communities": {
                    "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "provisioningState": {
                    "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'.",
                    "readOnly": true,
                    "type": "string"
                  },
                  "routeFilterRuleType": {
                    "description": "The rule type of the rule. Valid value is: 'Community'",
                    "enum": [
                      "Community"
                    ],
                    "type": "string",
                    "x-ms-enum": {
                      "modelAsString": true,
                      "name": "RouteFilterRuleType"
                    }
                  }
                },
                "required": [
                  "access",
                  "routeFilterRuleType",
                  "communities"
                ]
              }
            }
          },
          "type": "array"
        }
      }
    },
    "RouteFilterRule": {
      "allOf": [
        {
          "description": "Reference to another subresource.",
          "properties": {
            "id": {
              "description": "Resource ID.",
              "type": "string"
            }
          },
          "x-ms-azure-resource": true
        }
      ],
      "description": "Route Filter Rule Resource",
      "properties": {
        "etag": {
          "description": "A unique read-only string that changes whenever the resource is updated.",
          "readOnly": true,
          "type": "string"
        },
        "location": {
          "description": "Resource location.",
          "type": "string"
        },
        "name": {
          "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource.",
          "type": "string"
        },
        "properties": {
          "description": "Route Filter Rule Resource",
          "properties": {
            "access": {
              "description": "The access type of the rule. Valid values are: 'Allow', 'Deny'",
              "enum": [
                "Allow",
                "Deny"
              ],
              "type": "string",
              "x-ms-enum": {
                "modelAsString": true,
                "name": "Access"
              }
            },
            "communities": {
              "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']",
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "provisioningState": {
              "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'.",
              "readOnly": true,
              "type": "string"
            },
            "routeFilterRuleType": {
              "description": "The rule type of the rule. Valid value is: 'Community'",
              "enum": [
                "Community"
              ],
              "type": "string",
              "x-ms-enum": {
                "modelAsString": true,
                "name": "RouteFilterRuleType"
              }
            }
          },
          "required": [
            "access",
            "routeFilterRuleType",
            "communities"
          ]
        }
      }
    },
    "RouteFilterRuleListResult": {
      "description": "Response for the ListRouteFilterRules API service call",
      "properties": {
        "nextLink": {
          "description": "The URL to get the next set of results.",
          "type": "string"
        },
        "value": {
          "description": "Gets a list of RouteFilterRules in a resource group.",
          "items": {
            "$ref": "#/definitions/RouteFilterRule"
          },
          "type": "array"
        }
      }
    },
    "RouteFilterRulePropertiesFormat": {
      "description": "Route Filter Rule Resource",
      "properties": {
        "access": {
          "description": "The access type of the rule. Valid values are: 'Allow', 'Deny'",
          "enum": [
            "Allow",
            "Deny"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "Access"
          }
        },
        "communities": {
          "description": "The collection for bgp community values to filter on. e.g. ['12076:5010','12076:5020']",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "provisioningState": {
          "description": "The provisioning state of the resource. Possible values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'.",
          "readOnly": true,
          "type": "string"
        },
        "routeFilterRuleType": {
          "description": "The rule type of the rule. Valid value is: 'Community'",
          "enum": [
            "Community"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "RouteFilterRuleType"
          }
        }
      },
      "required": [
        "access",
        "routeFilterRuleType",
        "communities"
      ]
    }
  }
}