Skip to content
v2.274.0

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#
formatoptionalstringformatoptionalstrformatoptionalStringFormatoptionalstringFormatoptional*string#
idoptionalstringidoptionalstridoptionalStringIdoptionalstringIdoptional*string#
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#
refoptionalstringrefoptionalstrrefoptionalStringRefoptionalstringRefoptional*string#
requiredoptionalstring[]requiredoptionaltyping.List[str]requiredoptionalList<String>Requiredoptionalstring[]Requiredoptional*[]*string#
schemaoptionalJsonSchemaVersionschemaoptionalJsonSchemaVersionschemaoptionalJsonSchemaVersionSchemaoptionalJsonSchemaVersionSchemaoptionalJsonSchemaVersion#
titleoptionalstringtitleoptionalstrtitleoptionalStringTitleoptionalstringTitleoptional*string#
typeoptionalJsonSchemaType | JsonSchemaType[]typeoptionaltyping.Union[JsonSchemaType, typing.List[JsonSchemaType]]typeoptionalJsonSchemaTypeTypeoptionalJsonSchemaTypeTypeoptionalinterface{}#
uniqueItemsoptionalbooleanunique_itemsoptionalbooluniqueItemsoptionalBooleanUniqueItemsoptionalboolUniqueItemsoptional*bool#