{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2013-04-01",
    "endpointPrefix": "route53",
    "globalEndpoint": "route53.amazonaws.com",
    "protocol": "rest-xml",
    "serviceAbbreviation": "Route 53",
    "serviceFullName": "Amazon Route 53",
    "signatureVersion": "v4",
    "uid": "route53-2013-04-01"
  },
  "operations": {
    "AssociateVPCWithHostedZone": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone/{Id}/associatevpc"
      },
      "input": {
        "locationName": "AssociateVPCWithHostedZoneRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HostedZoneId",
          "VPC"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "VPC": {
            "shape": "S3"
          },
          "Comment": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ChangeInfo"
        ],
        "members": {
          "ChangeInfo": {
            "shape": "S8"
          }
        }
      }
    },
    "ChangeResourceRecordSets": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone/{Id}/rrset/"
      },
      "input": {
        "locationName": "ChangeResourceRecordSetsRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HostedZoneId",
          "ChangeBatch"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "ChangeBatch": {
            "type": "structure",
            "required": [
              "Changes"
            ],
            "members": {
              "Comment": {},
              "Changes": {
                "type": "list",
                "member": {
                  "locationName": "Change",
                  "type": "structure",
                  "required": [
                    "Action",
                    "ResourceRecordSet"
                  ],
                  "members": {
                    "Action": {},
                    "ResourceRecordSet": {
                      "shape": "Sh"
                    }
                  }
                }
              }
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ChangeInfo"
        ],
        "members": {
          "ChangeInfo": {
            "shape": "S8"
          }
        }
      }
    },
    "ChangeTagsForResource": {
      "http": {
        "requestUri": "/2013-04-01/tags/{ResourceType}/{ResourceId}"
      },
      "input": {
        "locationName": "ChangeTagsForResourceRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "ResourceType",
          "ResourceId"
        ],
        "members": {
          "ResourceType": {
            "location": "uri",
            "locationName": "ResourceType"
          },
          "ResourceId": {
            "location": "uri",
            "locationName": "ResourceId"
          },
          "AddTags": {
            "shape": "S14"
          },
          "RemoveTagKeys": {
            "type": "list",
            "member": {
              "locationName": "Key"
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "CreateHealthCheck": {
      "http": {
        "requestUri": "/2013-04-01/healthcheck",
        "responseCode": 201
      },
      "input": {
        "locationName": "CreateHealthCheckRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "CallerReference",
          "HealthCheckConfig"
        ],
        "members": {
          "CallerReference": {},
          "HealthCheckConfig": {
            "shape": "S1c"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthCheck",
          "Location"
        ],
        "members": {
          "HealthCheck": {
            "shape": "S1x"
          },
          "Location": {
            "location": "header",
            "locationName": "Location"
          }
        }
      }
    },
    "CreateHostedZone": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone",
        "responseCode": 201
      },
      "input": {
        "locationName": "CreateHostedZoneRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "Name",
          "CallerReference"
        ],
        "members": {
          "Name": {},
          "VPC": {
            "shape": "S3"
          },
          "CallerReference": {},
          "HostedZoneConfig": {
            "shape": "S2d"
          },
          "DelegationSetId": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZone",
          "ChangeInfo",
          "DelegationSet",
          "Location"
        ],
        "members": {
          "HostedZone": {
            "shape": "S2g"
          },
          "ChangeInfo": {
            "shape": "S8"
          },
          "DelegationSet": {
            "shape": "S2i"
          },
          "VPC": {
            "shape": "S3"
          },
          "Location": {
            "location": "header",
            "locationName": "Location"
          }
        }
      }
    },
    "CreateReusableDelegationSet": {
      "http": {
        "requestUri": "/2013-04-01/delegationset",
        "responseCode": 201
      },
      "input": {
        "locationName": "CreateReusableDelegationSetRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "CallerReference"
        ],
        "members": {
          "CallerReference": {},
          "HostedZoneId": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "DelegationSet",
          "Location"
        ],
        "members": {
          "DelegationSet": {
            "shape": "S2i"
          },
          "Location": {
            "location": "header",
            "locationName": "Location"
          }
        }
      }
    },
    "CreateTrafficPolicy": {
      "http": {
        "requestUri": "/2013-04-01/trafficpolicy",
        "responseCode": 201
      },
      "input": {
        "locationName": "CreateTrafficPolicyRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "Name",
          "Document"
        ],
        "members": {
          "Name": {},
          "Document": {},
          "Comment": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicy",
          "Location"
        ],
        "members": {
          "TrafficPolicy": {
            "shape": "S2r"
          },
          "Location": {
            "location": "header",
            "locationName": "Location"
          }
        }
      }
    },
    "CreateTrafficPolicyInstance": {
      "http": {
        "requestUri": "/2013-04-01/trafficpolicyinstance",
        "responseCode": 201
      },
      "input": {
        "locationName": "CreateTrafficPolicyInstanceRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HostedZoneId",
          "Name",
          "TTL",
          "TrafficPolicyId",
          "TrafficPolicyVersion"
        ],
        "members": {
          "HostedZoneId": {},
          "Name": {},
          "TTL": {
            "type": "long"
          },
          "TrafficPolicyId": {},
          "TrafficPolicyVersion": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstance",
          "Location"
        ],
        "members": {
          "TrafficPolicyInstance": {
            "shape": "S2w"
          },
          "Location": {
            "location": "header",
            "locationName": "Location"
          }
        }
      }
    },
    "CreateTrafficPolicyVersion": {
      "http": {
        "requestUri": "/2013-04-01/trafficpolicy/{Id}",
        "responseCode": 201
      },
      "input": {
        "locationName": "CreateTrafficPolicyVersionRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "Id",
          "Document"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "Document": {},
          "Comment": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicy",
          "Location"
        ],
        "members": {
          "TrafficPolicy": {
            "shape": "S2r"
          },
          "Location": {
            "location": "header",
            "locationName": "Location"
          }
        }
      }
    },
    "CreateVPCAssociationAuthorization": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone/{Id}/authorizevpcassociation"
      },
      "input": {
        "locationName": "CreateVPCAssociationAuthorizationRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HostedZoneId",
          "VPC"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "VPC": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZoneId",
          "VPC"
        ],
        "members": {
          "HostedZoneId": {},
          "VPC": {
            "shape": "S3"
          }
        }
      }
    },
    "DeleteHealthCheck": {
      "http": {
        "method": "DELETE",
        "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "HealthCheckId"
        ],
        "members": {
          "HealthCheckId": {
            "location": "uri",
            "locationName": "HealthCheckId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteHostedZone": {
      "http": {
        "method": "DELETE",
        "requestUri": "/2013-04-01/hostedzone/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ChangeInfo"
        ],
        "members": {
          "ChangeInfo": {
            "shape": "S8"
          }
        }
      }
    },
    "DeleteReusableDelegationSet": {
      "http": {
        "method": "DELETE",
        "requestUri": "/2013-04-01/delegationset/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteTrafficPolicy": {
      "http": {
        "method": "DELETE",
        "requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id",
          "Version"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "Version": {
            "location": "uri",
            "locationName": "Version",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteTrafficPolicyInstance": {
      "http": {
        "method": "DELETE",
        "requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DeleteVPCAssociationAuthorization": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone/{Id}/deauthorizevpcassociation"
      },
      "input": {
        "locationName": "DeleteVPCAssociationAuthorizationRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HostedZoneId",
          "VPC"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "VPC": {
            "shape": "S3"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {}
      }
    },
    "DisassociateVPCFromHostedZone": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone/{Id}/disassociatevpc"
      },
      "input": {
        "locationName": "DisassociateVPCFromHostedZoneRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HostedZoneId",
          "VPC"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "VPC": {
            "shape": "S3"
          },
          "Comment": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ChangeInfo"
        ],
        "members": {
          "ChangeInfo": {
            "shape": "S8"
          }
        }
      }
    },
    "GetChange": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/change/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ChangeInfo"
        ],
        "members": {
          "ChangeInfo": {
            "shape": "S8"
          }
        }
      }
    },
    "GetCheckerIpRanges": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/checkeripranges"
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "required": [
          "CheckerIpRanges"
        ],
        "members": {
          "CheckerIpRanges": {
            "type": "list",
            "member": {}
          }
        }
      }
    },
    "GetGeoLocation": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/geolocation"
      },
      "input": {
        "type": "structure",
        "members": {
          "ContinentCode": {
            "location": "querystring",
            "locationName": "continentcode"
          },
          "CountryCode": {
            "location": "querystring",
            "locationName": "countrycode"
          },
          "SubdivisionCode": {
            "location": "querystring",
            "locationName": "subdivisioncode"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "GeoLocationDetails"
        ],
        "members": {
          "GeoLocationDetails": {
            "shape": "S3q"
          }
        }
      }
    },
    "GetHealthCheck": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "HealthCheckId"
        ],
        "members": {
          "HealthCheckId": {
            "location": "uri",
            "locationName": "HealthCheckId"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthCheck"
        ],
        "members": {
          "HealthCheck": {
            "shape": "S1x"
          }
        }
      }
    },
    "GetHealthCheckCount": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/healthcheckcount"
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthCheckCount"
        ],
        "members": {
          "HealthCheckCount": {
            "type": "long"
          }
        }
      }
    },
    "GetHealthCheckLastFailureReason": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}/lastfailurereason"
      },
      "input": {
        "type": "structure",
        "required": [
          "HealthCheckId"
        ],
        "members": {
          "HealthCheckId": {
            "location": "uri",
            "locationName": "HealthCheckId"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthCheckObservations"
        ],
        "members": {
          "HealthCheckObservations": {
            "shape": "S41"
          }
        }
      }
    },
    "GetHealthCheckStatus": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}/status"
      },
      "input": {
        "type": "structure",
        "required": [
          "HealthCheckId"
        ],
        "members": {
          "HealthCheckId": {
            "location": "uri",
            "locationName": "HealthCheckId"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthCheckObservations"
        ],
        "members": {
          "HealthCheckObservations": {
            "shape": "S41"
          }
        }
      }
    },
    "GetHostedZone": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/hostedzone/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZone"
        ],
        "members": {
          "HostedZone": {
            "shape": "S2g"
          },
          "DelegationSet": {
            "shape": "S2i"
          },
          "VPCs": {
            "shape": "S49"
          }
        }
      }
    },
    "GetHostedZoneCount": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/hostedzonecount"
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZoneCount"
        ],
        "members": {
          "HostedZoneCount": {
            "type": "long"
          }
        }
      }
    },
    "GetReusableDelegationSet": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/delegationset/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "DelegationSet"
        ],
        "members": {
          "DelegationSet": {
            "shape": "S2i"
          }
        }
      }
    },
    "GetTrafficPolicy": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id",
          "Version"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "Version": {
            "location": "uri",
            "locationName": "Version",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicy"
        ],
        "members": {
          "TrafficPolicy": {
            "shape": "S2r"
          }
        }
      }
    },
    "GetTrafficPolicyInstance": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstance"
        ],
        "members": {
          "TrafficPolicyInstance": {
            "shape": "S2w"
          }
        }
      }
    },
    "GetTrafficPolicyInstanceCount": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicyinstancecount"
      },
      "input": {
        "type": "structure",
        "members": {}
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstanceCount"
        ],
        "members": {
          "TrafficPolicyInstanceCount": {
            "type": "integer"
          }
        }
      }
    },
    "ListGeoLocations": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/geolocations"
      },
      "input": {
        "type": "structure",
        "members": {
          "StartContinentCode": {
            "location": "querystring",
            "locationName": "startcontinentcode"
          },
          "StartCountryCode": {
            "location": "querystring",
            "locationName": "startcountrycode"
          },
          "StartSubdivisionCode": {
            "location": "querystring",
            "locationName": "startsubdivisioncode"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "GeoLocationDetailsList",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "GeoLocationDetailsList": {
            "type": "list",
            "member": {
              "shape": "S3q",
              "locationName": "GeoLocationDetails"
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "NextContinentCode": {},
          "NextCountryCode": {},
          "NextSubdivisionCode": {},
          "MaxItems": {}
        }
      }
    },
    "ListHealthChecks": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/healthcheck"
      },
      "input": {
        "type": "structure",
        "members": {
          "Marker": {
            "location": "querystring",
            "locationName": "marker"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthChecks",
          "Marker",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "HealthChecks": {
            "type": "list",
            "member": {
              "shape": "S1x",
              "locationName": "HealthCheck"
            }
          },
          "Marker": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "NextMarker": {},
          "MaxItems": {}
        }
      }
    },
    "ListHostedZones": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/hostedzone"
      },
      "input": {
        "type": "structure",
        "members": {
          "Marker": {
            "location": "querystring",
            "locationName": "marker"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          },
          "DelegationSetId": {
            "location": "querystring",
            "locationName": "delegationsetid"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZones",
          "Marker",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "HostedZones": {
            "shape": "S4x"
          },
          "Marker": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "NextMarker": {},
          "MaxItems": {}
        }
      }
    },
    "ListHostedZonesByName": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/hostedzonesbyname"
      },
      "input": {
        "type": "structure",
        "members": {
          "DNSName": {
            "location": "querystring",
            "locationName": "dnsname"
          },
          "HostedZoneId": {
            "location": "querystring",
            "locationName": "hostedzoneid"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZones",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "HostedZones": {
            "shape": "S4x"
          },
          "DNSName": {},
          "HostedZoneId": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "NextDNSName": {},
          "NextHostedZoneId": {},
          "MaxItems": {}
        }
      }
    },
    "ListResourceRecordSets": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/hostedzone/{Id}/rrset"
      },
      "input": {
        "type": "structure",
        "required": [
          "HostedZoneId"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "StartRecordName": {
            "location": "querystring",
            "locationName": "name"
          },
          "StartRecordType": {
            "location": "querystring",
            "locationName": "type"
          },
          "StartRecordIdentifier": {
            "location": "querystring",
            "locationName": "identifier"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ResourceRecordSets",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "ResourceRecordSets": {
            "type": "list",
            "member": {
              "shape": "Sh",
              "locationName": "ResourceRecordSet"
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "NextRecordName": {},
          "NextRecordType": {},
          "NextRecordIdentifier": {},
          "MaxItems": {}
        }
      }
    },
    "ListReusableDelegationSets": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/delegationset"
      },
      "input": {
        "type": "structure",
        "members": {
          "Marker": {
            "location": "querystring",
            "locationName": "marker"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "DelegationSets",
          "Marker",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "DelegationSets": {
            "type": "list",
            "member": {
              "shape": "S2i",
              "locationName": "DelegationSet"
            }
          },
          "Marker": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "NextMarker": {},
          "MaxItems": {}
        }
      }
    },
    "ListTagsForResource": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/tags/{ResourceType}/{ResourceId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceType",
          "ResourceId"
        ],
        "members": {
          "ResourceType": {
            "location": "uri",
            "locationName": "ResourceType"
          },
          "ResourceId": {
            "location": "uri",
            "locationName": "ResourceId"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ResourceTagSet"
        ],
        "members": {
          "ResourceTagSet": {
            "shape": "S58"
          }
        }
      }
    },
    "ListTagsForResources": {
      "http": {
        "requestUri": "/2013-04-01/tags/{ResourceType}"
      },
      "input": {
        "locationName": "ListTagsForResourcesRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "ResourceType",
          "ResourceIds"
        ],
        "members": {
          "ResourceType": {
            "location": "uri",
            "locationName": "ResourceType"
          },
          "ResourceIds": {
            "type": "list",
            "member": {
              "locationName": "ResourceId"
            }
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "ResourceTagSets"
        ],
        "members": {
          "ResourceTagSets": {
            "type": "list",
            "member": {
              "shape": "S58",
              "locationName": "ResourceTagSet"
            }
          }
        }
      }
    },
    "ListTrafficPolicies": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicies"
      },
      "input": {
        "type": "structure",
        "members": {
          "TrafficPolicyIdMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyid"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicySummaries",
          "IsTruncated",
          "TrafficPolicyIdMarker",
          "MaxItems"
        ],
        "members": {
          "TrafficPolicySummaries": {
            "type": "list",
            "member": {
              "locationName": "TrafficPolicySummary",
              "type": "structure",
              "required": [
                "Id",
                "Name",
                "Type",
                "LatestVersion",
                "TrafficPolicyCount"
              ],
              "members": {
                "Id": {},
                "Name": {},
                "Type": {},
                "LatestVersion": {
                  "type": "integer"
                },
                "TrafficPolicyCount": {
                  "type": "integer"
                }
              }
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "TrafficPolicyIdMarker": {},
          "MaxItems": {}
        }
      }
    },
    "ListTrafficPolicyInstances": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicyinstances"
      },
      "input": {
        "type": "structure",
        "members": {
          "HostedZoneIdMarker": {
            "location": "querystring",
            "locationName": "hostedzoneid"
          },
          "TrafficPolicyInstanceNameMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyinstancename"
          },
          "TrafficPolicyInstanceTypeMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyinstancetype"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstances",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "TrafficPolicyInstances": {
            "shape": "S5j"
          },
          "HostedZoneIdMarker": {},
          "TrafficPolicyInstanceNameMarker": {},
          "TrafficPolicyInstanceTypeMarker": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "MaxItems": {}
        }
      }
    },
    "ListTrafficPolicyInstancesByHostedZone": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicyinstances/hostedzone"
      },
      "input": {
        "type": "structure",
        "required": [
          "HostedZoneId"
        ],
        "members": {
          "HostedZoneId": {
            "location": "querystring",
            "locationName": "id"
          },
          "TrafficPolicyInstanceNameMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyinstancename"
          },
          "TrafficPolicyInstanceTypeMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyinstancetype"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstances",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "TrafficPolicyInstances": {
            "shape": "S5j"
          },
          "TrafficPolicyInstanceNameMarker": {},
          "TrafficPolicyInstanceTypeMarker": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "MaxItems": {}
        }
      }
    },
    "ListTrafficPolicyInstancesByPolicy": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicyinstances/trafficpolicy"
      },
      "input": {
        "type": "structure",
        "required": [
          "TrafficPolicyId",
          "TrafficPolicyVersion"
        ],
        "members": {
          "TrafficPolicyId": {
            "location": "querystring",
            "locationName": "id"
          },
          "TrafficPolicyVersion": {
            "location": "querystring",
            "locationName": "version",
            "type": "integer"
          },
          "HostedZoneIdMarker": {
            "location": "querystring",
            "locationName": "hostedzoneid"
          },
          "TrafficPolicyInstanceNameMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyinstancename"
          },
          "TrafficPolicyInstanceTypeMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyinstancetype"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstances",
          "IsTruncated",
          "MaxItems"
        ],
        "members": {
          "TrafficPolicyInstances": {
            "shape": "S5j"
          },
          "HostedZoneIdMarker": {},
          "TrafficPolicyInstanceNameMarker": {},
          "TrafficPolicyInstanceTypeMarker": {},
          "IsTruncated": {
            "type": "boolean"
          },
          "MaxItems": {}
        }
      }
    },
    "ListTrafficPolicyVersions": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/trafficpolicies/{Id}/versions"
      },
      "input": {
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "TrafficPolicyVersionMarker": {
            "location": "querystring",
            "locationName": "trafficpolicyversion"
          },
          "MaxItems": {
            "location": "querystring",
            "locationName": "maxitems"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicies",
          "IsTruncated",
          "TrafficPolicyVersionMarker",
          "MaxItems"
        ],
        "members": {
          "TrafficPolicies": {
            "type": "list",
            "member": {
              "shape": "S2r",
              "locationName": "TrafficPolicy"
            }
          },
          "IsTruncated": {
            "type": "boolean"
          },
          "TrafficPolicyVersionMarker": {},
          "MaxItems": {}
        }
      }
    },
    "ListVPCAssociationAuthorizations": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/hostedzone/{Id}/authorizevpcassociation"
      },
      "input": {
        "type": "structure",
        "required": [
          "HostedZoneId"
        ],
        "members": {
          "HostedZoneId": {
            "location": "uri",
            "locationName": "Id"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nexttoken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxresults"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZoneId",
          "VPCs"
        ],
        "members": {
          "HostedZoneId": {},
          "NextToken": {},
          "VPCs": {
            "shape": "S49"
          }
        }
      }
    },
    "TestDNSAnswer": {
      "http": {
        "method": "GET",
        "requestUri": "/2013-04-01/testdnsanswer"
      },
      "input": {
        "type": "structure",
        "required": [
          "HostedZoneId",
          "RecordName",
          "RecordType"
        ],
        "members": {
          "HostedZoneId": {
            "location": "querystring",
            "locationName": "hostedzoneid"
          },
          "RecordName": {
            "location": "querystring",
            "locationName": "recordname"
          },
          "RecordType": {
            "location": "querystring",
            "locationName": "recordtype"
          },
          "ResolverIP": {
            "location": "querystring",
            "locationName": "resolverip"
          },
          "EDNS0ClientSubnetIP": {
            "location": "querystring",
            "locationName": "edns0clientsubnetip"
          },
          "EDNS0ClientSubnetMask": {
            "location": "querystring",
            "locationName": "edns0clientsubnetmask"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "Nameserver",
          "RecordName",
          "RecordType",
          "RecordData",
          "ResponseCode",
          "Protocol"
        ],
        "members": {
          "Nameserver": {},
          "RecordName": {},
          "RecordType": {},
          "RecordData": {
            "type": "list",
            "member": {
              "locationName": "RecordDataEntry"
            }
          },
          "ResponseCode": {},
          "Protocol": {}
        }
      }
    },
    "UpdateHealthCheck": {
      "http": {
        "requestUri": "/2013-04-01/healthcheck/{HealthCheckId}"
      },
      "input": {
        "locationName": "UpdateHealthCheckRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "HealthCheckId"
        ],
        "members": {
          "HealthCheckId": {
            "location": "uri",
            "locationName": "HealthCheckId"
          },
          "HealthCheckVersion": {
            "type": "long"
          },
          "IPAddress": {},
          "Port": {
            "type": "integer"
          },
          "ResourcePath": {},
          "FullyQualifiedDomainName": {},
          "SearchString": {},
          "FailureThreshold": {
            "type": "integer"
          },
          "Inverted": {
            "type": "boolean"
          },
          "HealthThreshold": {
            "type": "integer"
          },
          "ChildHealthChecks": {
            "shape": "S1o"
          },
          "EnableSNI": {
            "type": "boolean"
          },
          "Regions": {
            "shape": "S1q"
          },
          "AlarmIdentifier": {
            "shape": "S1s"
          },
          "InsufficientDataHealthStatus": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HealthCheck"
        ],
        "members": {
          "HealthCheck": {
            "shape": "S1x"
          }
        }
      }
    },
    "UpdateHostedZoneComment": {
      "http": {
        "requestUri": "/2013-04-01/hostedzone/{Id}"
      },
      "input": {
        "locationName": "UpdateHostedZoneCommentRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "Id"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "Comment": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "HostedZone"
        ],
        "members": {
          "HostedZone": {
            "shape": "S2g"
          }
        }
      }
    },
    "UpdateTrafficPolicyComment": {
      "http": {
        "requestUri": "/2013-04-01/trafficpolicy/{Id}/{Version}"
      },
      "input": {
        "locationName": "UpdateTrafficPolicyCommentRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "Id",
          "Version",
          "Comment"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "Version": {
            "location": "uri",
            "locationName": "Version",
            "type": "integer"
          },
          "Comment": {}
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicy"
        ],
        "members": {
          "TrafficPolicy": {
            "shape": "S2r"
          }
        }
      }
    },
    "UpdateTrafficPolicyInstance": {
      "http": {
        "requestUri": "/2013-04-01/trafficpolicyinstance/{Id}"
      },
      "input": {
        "locationName": "UpdateTrafficPolicyInstanceRequest",
        "xmlNamespace": {
          "uri": "https://route53.amazonaws.com/doc/2013-04-01/"
        },
        "type": "structure",
        "required": [
          "Id",
          "TTL",
          "TrafficPolicyId",
          "TrafficPolicyVersion"
        ],
        "members": {
          "Id": {
            "location": "uri",
            "locationName": "Id"
          },
          "TTL": {
            "type": "long"
          },
          "TrafficPolicyId": {},
          "TrafficPolicyVersion": {
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "required": [
          "TrafficPolicyInstance"
        ],
        "members": {
          "TrafficPolicyInstance": {
            "shape": "S2w"
          }
        }
      }
    }
  },
  "shapes": {
    "S3": {
      "type": "structure",
      "members": {
        "VPCRegion": {},
        "VPCId": {}
      }
    },
    "S8": {
      "type": "structure",
      "required": [
        "Id",
        "Status",
        "SubmittedAt"
      ],
      "members": {
        "Id": {},
        "Status": {},
        "SubmittedAt": {
          "type": "timestamp"
        },
        "Comment": {}
      }
    },
    "Sh": {
      "type": "structure",
      "required": [
        "Name",
        "Type"
      ],
      "members": {
        "Name": {},
        "Type": {},
        "SetIdentifier": {},
        "Weight": {
          "type": "long"
        },
        "Region": {},
        "GeoLocation": {
          "type": "structure",
          "members": {
            "ContinentCode": {},
            "CountryCode": {},
            "SubdivisionCode": {}
          }
        },
        "Failover": {},
        "TTL": {
          "type": "long"
        },
        "ResourceRecords": {
          "type": "list",
          "member": {
            "locationName": "ResourceRecord",
            "type": "structure",
            "required": [
              "Value"
            ],
            "members": {
              "Value": {}
            }
          }
        },
        "AliasTarget": {
          "type": "structure",
          "required": [
            "HostedZoneId",
            "DNSName",
            "EvaluateTargetHealth"
          ],
          "members": {
            "HostedZoneId": {},
            "DNSName": {},
            "EvaluateTargetHealth": {
              "type": "boolean"
            }
          }
        },
        "HealthCheckId": {},
        "TrafficPolicyInstanceId": {}
      }
    },
    "S14": {
      "type": "list",
      "member": {
        "locationName": "Tag",
        "type": "structure",
        "members": {
          "Key": {},
          "Value": {}
        }
      }
    },
    "S1c": {
      "type": "structure",
      "required": [
        "Type"
      ],
      "members": {
        "IPAddress": {},
        "Port": {
          "type": "integer"
        },
        "Type": {},
        "ResourcePath": {},
        "FullyQualifiedDomainName": {},
        "SearchString": {},
        "RequestInterval": {
          "type": "integer"
        },
        "FailureThreshold": {
          "type": "integer"
        },
        "MeasureLatency": {
          "type": "boolean"
        },
        "Inverted": {
          "type": "boolean"
        },
        "HealthThreshold": {
          "type": "integer"
        },
        "ChildHealthChecks": {
          "shape": "S1o"
        },
        "EnableSNI": {
          "type": "boolean"
        },
        "Regions": {
          "shape": "S1q"
        },
        "AlarmIdentifier": {
          "shape": "S1s"
        },
        "InsufficientDataHealthStatus": {}
      }
    },
    "S1o": {
      "type": "list",
      "member": {
        "locationName": "ChildHealthCheck"
      }
    },
    "S1q": {
      "type": "list",
      "member": {
        "locationName": "Region"
      }
    },
    "S1s": {
      "type": "structure",
      "required": [
        "Region",
        "Name"
      ],
      "members": {
        "Region": {},
        "Name": {}
      }
    },
    "S1x": {
      "type": "structure",
      "required": [
        "Id",
        "CallerReference",
        "HealthCheckConfig",
        "HealthCheckVersion"
      ],
      "members": {
        "Id": {},
        "CallerReference": {},
        "HealthCheckConfig": {
          "shape": "S1c"
        },
        "HealthCheckVersion": {
          "type": "long"
        },
        "CloudWatchAlarmConfiguration": {
          "type": "structure",
          "required": [
            "EvaluationPeriods",
            "Threshold",
            "ComparisonOperator",
            "Period",
            "MetricName",
            "Namespace",
            "Statistic"
          ],
          "members": {
            "EvaluationPeriods": {
              "type": "integer"
            },
            "Threshold": {
              "type": "double"
            },
            "ComparisonOperator": {},
            "Period": {
              "type": "integer"
            },
            "MetricName": {},
            "Namespace": {},
            "Statistic": {},
            "Dimensions": {
              "type": "list",
              "member": {
                "locationName": "Dimension",
                "type": "structure",
                "required": [
                  "Name",
                  "Value"
                ],
                "members": {
                  "Name": {},
                  "Value": {}
                }
              }
            }
          }
        }
      }
    },
    "S2d": {
      "type": "structure",
      "members": {
        "Comment": {},
        "PrivateZone": {
          "type": "boolean"
        }
      }
    },
    "S2g": {
      "type": "structure",
      "required": [
        "Id",
        "Name",
        "CallerReference"
      ],
      "members": {
        "Id": {},
        "Name": {},
        "CallerReference": {},
        "Config": {
          "shape": "S2d"
        },
        "ResourceRecordSetCount": {
          "type": "long"
        }
      }
    },
    "S2i": {
      "type": "structure",
      "required": [
        "NameServers"
      ],
      "members": {
        "Id": {},
        "CallerReference": {},
        "NameServers": {
          "type": "list",
          "member": {
            "locationName": "NameServer"
          }
        }
      }
    },
    "S2r": {
      "type": "structure",
      "required": [
        "Id",
        "Version",
        "Name",
        "Type",
        "Document"
      ],
      "members": {
        "Id": {},
        "Version": {
          "type": "integer"
        },
        "Name": {},
        "Type": {},
        "Document": {},
        "Comment": {}
      }
    },
    "S2w": {
      "type": "structure",
      "required": [
        "Id",
        "HostedZoneId",
        "Name",
        "TTL",
        "State",
        "Message",
        "TrafficPolicyId",
        "TrafficPolicyVersion",
        "TrafficPolicyType"
      ],
      "members": {
        "Id": {},
        "HostedZoneId": {},
        "Name": {},
        "TTL": {
          "type": "long"
        },
        "State": {},
        "Message": {},
        "TrafficPolicyId": {},
        "TrafficPolicyVersion": {
          "type": "integer"
        },
        "TrafficPolicyType": {}
      }
    },
    "S3q": {
      "type": "structure",
      "members": {
        "ContinentCode": {},
        "ContinentName": {},
        "CountryCode": {},
        "CountryName": {},
        "SubdivisionCode": {},
        "SubdivisionName": {}
      }
    },
    "S41": {
      "type": "list",
      "member": {
        "locationName": "HealthCheckObservation",
        "type": "structure",
        "members": {
          "Region": {},
          "IPAddress": {},
          "StatusReport": {
            "type": "structure",
            "members": {
              "Status": {},
              "CheckedTime": {
                "type": "timestamp"
              }
            }
          }
        }
      }
    },
    "S49": {
      "type": "list",
      "member": {
        "shape": "S3",
        "locationName": "VPC"
      }
    },
    "S4x": {
      "type": "list",
      "member": {
        "shape": "S2g",
        "locationName": "HostedZone"
      }
    },
    "S58": {
      "type": "structure",
      "members": {
        "ResourceType": {},
        "ResourceId": {},
        "Tags": {
          "shape": "S14"
        }
      }
    },
    "S5j": {
      "type": "list",
      "member": {
        "shape": "S2w",
        "locationName": "TrafficPolicyInstance"
      }
    }
  }
}