The example follows. However, I think I'm okay now. If I proactively reformatted the YAML so that there are no objects defined within another object without using a reference to a stand-alone definition. Doing this I can make sure that all of my definition names are compliant. It fixed it for me; although, it is a little strange that the download button produces different JSON then the integration. Thanks!
For example:
The following JSON:
"Color": {
"type": "object",
"properties": {
"rgb": {
"type": "string",
"description": "Red, Green, and Blue color definition (e.g., \"R 167 / G 213 / B 0\")"
},
"w3c": {
"type": "object",
"properties": {
"hex": {
"type": "string",
"description": "(e.g., \"#696969\")"
},
"name": {
"type": "string",
"description": "(e.g., DimGray)"
}
}
},
}
Will be reformatted as:
"Color" : {
"type" : "object",
"properties" : {
"rgb": {
"type": "string",
"description": "Red, Green, and Blue color definition (e.g., \"R 167 / G 213 / B 0\")"
},
"w3c" : {
"$ref" : "#/definitions/Color_w3c"
},
}
},
With a reference to this newly created definition that fails the AWS API Gateway import because of the underscore:
"Color_w3c" : {
"properties" : {
"hex" : {
"type" : "string",
"description" : "(e.g., \"#696969\")"
},
"name" : {
"type" : "string",
"description" : "(e.g., DimGray)"
}
}
}