{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2012-08-10",
    "endpointPrefix":"ed_required",
    "jsonVersion":"1.0",
    "protocol":"json",
    "serviceAbbreviation":"EDRequired",
    "serviceFullName":"Endpoint Discovery Required",
    "serviceId":"EDRequired",
    "signatureVersion":"v4",
    "targetPrefix":"EDRequired_20200525",
    "uid":"ed_required-2020-05-25"
  },
  "operations":{
    "DescribeEndpoints":{
      "name":"DescribeEndpoints",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"DescribeEndpointsRequest"},
      "output":{"shape":"DescribeEndpointsResponse"},
      "endpointoperation":true
    },
    "RequiredOp":{
      "name":"RequiredOp",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GenericRequest"},
      "output":{"shape":"GenericResponse"},
      "errors":[],
      "endpointdiscovery":{
        "required":true
      }
    },
    "OptionalOp":{
      "name":"OptionalOp",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GenericRequest"},
      "output":{"shape":"GenericResponse"},
      "errors":[],
      "endpointdiscovery":{
      }
    },
    "UnsupportedOp":{
      "name":"UnsupportedOp",
      "http":{
        "method":"POST",
        "requestUri":"/"
      },
      "input":{"shape":"GenericRequest"},
      "output":{"shape":"GenericResponse"},
      "errors":[]
    }
  },
  "shapes":{
    "DescribeEndpointsRequest":{
      "type":"structure",
      "members":{
      }
    },
    "DescribeEndpointsResponse":{
      "type":"structure",
      "required":["Endpoints"],
      "members":{
        "Endpoints":{"shape":"Endpoints"}
      }
    },
    "Endpoint":{
      "type":"structure",
      "required":[
        "Address",
        "CachePeriodInMinutes"
      ],
      "members":{
        "Address":{"shape":"String"},
        "CachePeriodInMinutes":{"shape":"Long"}
      }
    },
    "Endpoints":{
      "type":"list",
      "member":{"shape":"Endpoint"}
    },
    "GenericRequest":{
      "type":"structure",
      "members":{
        "GenericInput": {"shape":"String"}
      }
    },
    "GenericResponse":{
      "type":"structure",
      "members":{
        "GenericOutput": {"shape":"String"}
      }
    },
    "Long":{"type":"long"},
    "String":{"type":"string"}
  }
}
