{
  "swagger" : "2.0",
  "basePath" : "/",
  "tags" : [ {
    "name" : "PdpGroup Query"
  } ],
  "schemes" : [ "http", "https" ],
  "consumes" : [ "application/json" ],
  "produces" : [ "application/json" ],
  "paths" : {
    "/policy/pap/v1/pdps" : {
      "get" : {
        "tags" : [ "PdpGroup Query" ],
        "summary" : "Query details of all PDP groups",
        "description" : "Queries details of all PDP groups, returning all group details",
        "operationId" : "queryGroupDetails",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "X-ONAP-RequestID",
          "in" : "header",
          "description" : "RequestID for http transaction",
          "required" : false,
          "type" : "string",
          "format" : "uuid"
        } ],
        "responses" : {
          "200" : {
            "description" : "successful operation",
            "headers" : {
              "X-MinorVersion" : {
                "type" : "string",
                "description" : "Used to request or communicate a MINOR version back from the client to the server, and from the server back to the client"
              },
              "X-PatchVersion" : {
                "type" : "string",
                "description" : "Used only to communicate a PATCH version in a response for troubleshooting purposes only, and will not be provided by the client on request"
              },
              "X-LatestVersion" : {
                "type" : "string",
                "description" : "Used only to communicate an API's latest version"
              },
              "X-ONAP-RequestID" : {
                "type" : "string",
                "format" : "uuid",
                "description" : "Used to track REST transactions for logging purpose"
              }
            },
            "schema" : {
              "$ref" : "#/definitions/PdpGroups"
            }
          },
          "401" : {
            "description" : "Authentication Error"
          },
          "403" : {
            "description" : "Authorization Error"
          },
          "500" : {
            "description" : "Internal Server Error"
          }
        },
        "security" : [ {
          "basicAuth" : [ ]
        } ],
        "x-interface info" : {
          "api-version" : "1.0.0",
          "last-mod-release" : "Dublin"
        }
      }
    }
  },
  "securityDefinitions" : {
    "basicAuth" : {
      "description" : "",
      "type" : "basic"
    }
  },
  "definitions" : {
    "Pdp" : {
      "type" : "object",
      "properties" : {
        "instanceId" : {
          "type" : "string"
        },
        "pdpState" : {
          "type" : "string",
          "enum" : [ "PASSIVE", "SAFE", "TEST", "ACTIVE", "TERMINATED" ]
        },
        "healthy" : {
          "type" : "string",
          "enum" : [ "HEALTHY", "NOT_HEALTHY", "TEST_IN_PROGRESS", "UNKNOWN" ]
        },
        "message" : {
          "type" : "string"
        }
      }
    },
    "PdpGroup" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "description" : {
          "type" : "string"
        },
        "pdpGroupState" : {
          "type" : "string",
          "enum" : [ "PASSIVE", "SAFE", "TEST", "ACTIVE", "TERMINATED" ]
        },
        "properties" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "pdpSubgroups" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PdpSubGroup"
          }
        }
      }
    },
    "PdpGroups" : {
      "type" : "object",
      "properties" : {
        "groups" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/PdpGroup"
          }
        }
      }
    },
    "PdpSubGroup" : {
      "type" : "object",
      "properties" : {
        "pdpType" : {
          "type" : "string"
        },
        "supportedPolicyTypes" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ToscaPolicyTypeIdentifier"
          }
        },
        "policies" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/ToscaPolicyIdentifier"
          }
        },
        "currentInstanceCount" : {
          "type" : "integer",
          "format" : "int32"
        },
        "desiredInstanceCount" : {
          "type" : "integer",
          "format" : "int32"
        },
        "properties" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "string"
          }
        },
        "pdpInstances" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/definitions/Pdp"
          }
        }
      }
    },
    "ToscaPolicyIdentifier" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "version" : {
          "type" : "string"
        }
      }
    },
    "ToscaPolicyTypeIdentifier" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "version" : {
          "type" : "string"
        }
      }
    },
    "ToscaPolicyIdentifierOptVersion" : {
      "type" : "object",
      "properties" : {
        "name" : {
          "type" : "string"
        },
        "version" : {
          "type" : "string"
        }
      }
    }
  }
}