JsonSchema Struct
Represents a JSON schema definition of the structure of a REST API model.
Copied from npm module jsonschema.
Example
ts
declare const api: apigateway.RestApi;
// We define the JSON Schema for the transformed valid response
const responseModel = api.addModel('ResponseModel', {
contentType: 'application/json',
modelName: 'ResponseModel',
schema: {
schema: apigateway.JsonSchemaVersion.DRAFT4,
title: 'pollResponse',
type: apigateway.JsonSchemaType.OBJECT,
properties: {
state: { type: apigateway.JsonSchemaType.STRING },
greeting: { type: apigateway.JsonSchemaType.STRING }
}
}
});
// We define the JSON Schema for the transformed error response
const errorResponseModel = api.addModel('ErrorResponseModel', {
contentType: 'application/json',
modelName: 'ErrorResponseModel',
schema: {
schema: apigateway.JsonSchemaVersion.DRAFT4,
title: 'errorResponse',
type: apigateway.JsonSchemaType.OBJECT,
properties: {
state: { type: apigateway.JsonSchemaType.STRING },
message: { type: apigateway.JsonSchemaType.STRING }
}
}
});
Properties
additionalItemsoptionalboolean | JsonSchemaadditional_itemsoptionaltyping.Union[bool, JsonSchema]additionalItemsoptionalBooleanAdditionalItemsoptionalboolAdditionalItemsoptionalinterface{}#additionalPropertiesoptionalboolean | JsonSchemaadditional_propertiesoptionaltyping.Union[bool, JsonSchema]additionalPropertiesoptionalBooleanAdditionalPropertiesoptionalboolAdditionalPropertiesoptionalinterface{}#allOfoptionalJsonSchema[]all_ofoptionaltyping.List[JsonSchema]allOfoptionalList<JsonSchema>AllOfoptionalJsonSchema[]AllOfoptional*[]JsonSchema#anyOfoptionalJsonSchema[]any_ofoptionaltyping.List[JsonSchema]anyOfoptionalList<JsonSchema>AnyOfoptionalJsonSchema[]AnyOfoptional*[]JsonSchema#containsoptionalJsonSchema | JsonSchema[]containsoptionaltyping.Union[JsonSchema, typing.List[JsonSchema]]containsoptionalJsonSchemaContainsoptionalJsonSchemaContainsoptionalinterface{}#defaultoptionalanydefaultoptionalAnydefaultoptionalObjectDefaultoptionalobjectDefaultoptionalinterface{}#The default value if you use an enum.
Default: not set
definitionsoptional{ [key: string]: JsonSchema }definitionsoptionaltyping.Mapping[str, JsonSchema]definitionsoptionalMap<String, JsonSchema>DefinitionsoptionalIDictionary<string, JsonSchema>Definitionsoptional*map[string]JsonSchema#dependenciesoptional{ [key: string]: string[] | JsonSchema }dependenciesoptionaltyping.Mapping[str, typing.Union[typing.List[str], JsonSchema]]dependenciesoptionalMap<String, List<String>>DependenciesoptionalIDictionary<string, string[]>Dependenciesoptional*map[string]interface{}#descriptionoptionalstringdescriptionoptionalstrdescriptionoptionalStringDescriptionoptionalstringDescriptionoptional*string#enumoptionalany[]enumoptionaltyping.List[Any]enumoptionalList<Object>Enumoptionalobject[]Enumoptional*[]interface{}#exclusiveMaximumoptionalbooleanexclusive_maximumoptionalboolexclusiveMaximumoptionalBooleanExclusiveMaximumoptionalboolExclusiveMaximumoptional*bool#exclusiveMinimumoptionalbooleanexclusive_minimumoptionalboolexclusiveMinimumoptionalBooleanExclusiveMinimumoptionalboolExclusiveMinimumoptional*bool#itemsoptionalJsonSchema | JsonSchema[]itemsoptionaltyping.Union[JsonSchema, typing.List[JsonSchema]]itemsoptionalJsonSchemaItemsoptionalJsonSchemaItemsoptionalinterface{}#maximumoptionalnumbermaximumoptionalint | floatmaximumoptionalNumberMaximumoptionaldoubleMaximumoptional*float64#maxItemsoptionalnumbermax_itemsoptionalint | floatmaxItemsoptionalNumberMaxItemsoptionaldoubleMaxItemsoptional*float64#maxLengthoptionalnumbermax_lengthoptionalint | floatmaxLengthoptionalNumberMaxLengthoptionaldoubleMaxLengthoptional*float64#maxPropertiesoptionalnumbermax_propertiesoptionalint | floatmaxPropertiesoptionalNumberMaxPropertiesoptionaldoubleMaxPropertiesoptional*float64#minimumoptionalnumberminimumoptionalint | floatminimumoptionalNumberMinimumoptionaldoubleMinimumoptional*float64#minItemsoptionalnumbermin_itemsoptionalint | floatminItemsoptionalNumberMinItemsoptionaldoubleMinItemsoptional*float64#minLengthoptionalnumbermin_lengthoptionalint | floatminLengthoptionalNumberMinLengthoptionaldoubleMinLengthoptional*float64#minPropertiesoptionalnumbermin_propertiesoptionalint | floatminPropertiesoptionalNumberMinPropertiesoptionaldoubleMinPropertiesoptional*float64#multipleOfoptionalnumbermultiple_ofoptionalint | floatmultipleOfoptionalNumberMultipleOfoptionaldoubleMultipleOfoptional*float64#notoptionalJsonSchemanotoptionalJsonSchemanotoptionalJsonSchemaNotoptionalJsonSchemaNotoptionalJsonSchema#oneOfoptionalJsonSchema[]one_ofoptionaltyping.List[JsonSchema]oneOfoptionalList<JsonSchema>OneOfoptionalJsonSchema[]OneOfoptional*[]JsonSchema#patternoptionalstringpatternoptionalstrpatternoptionalStringPatternoptionalstringPatternoptional*string#patternPropertiesoptional{ [key: string]: JsonSchema }pattern_propertiesoptionaltyping.Mapping[str, JsonSchema]patternPropertiesoptionalMap<String, JsonSchema>PatternPropertiesoptionalIDictionary<string, JsonSchema>PatternPropertiesoptional*map[string]JsonSchema#propertiesoptional{ [key: string]: JsonSchema }propertiesoptionaltyping.Mapping[str, JsonSchema]propertiesoptionalMap<String, JsonSchema>PropertiesoptionalIDictionary<string, JsonSchema>Propertiesoptional*map[string]JsonSchema#propertyNamesoptionalJsonSchemaproperty_namesoptionalJsonSchemapropertyNamesoptionalJsonSchemaPropertyNamesoptionalJsonSchemaPropertyNamesoptionalJsonSchema#requiredoptionalstring[]requiredoptionaltyping.List[str]requiredoptionalList<String>Requiredoptionalstring[]Requiredoptional*[]*string#schemaoptionalJsonSchemaVersionschemaoptionalJsonSchemaVersionschemaoptionalJsonSchemaVersionSchemaoptionalJsonSchemaVersionSchemaoptionalJsonSchemaVersion#typeoptionalJsonSchemaType | JsonSchemaType[]typeoptionaltyping.Union[JsonSchemaType, typing.List[JsonSchemaType]]typeoptionalJsonSchemaTypeTypeoptionalJsonSchemaTypeTypeoptionalinterface{}#uniqueItemsoptionalbooleanunique_itemsoptionalbooluniqueItemsoptionalBooleanUniqueItemsoptionalboolUniqueItemsoptional*bool#