ModelOptions

class aws_cdk.aws_apigateway.ModelOptions(*, content_type=None, description=None, model_name=None, schema)

Bases: object

Parameters
  • content_type (Optional[str]) – The content type for the model. You can also force a content type in the request or response model mapping. Default: ‘application/json’

  • description (Optional[str]) – A description that identifies this model. Default: None

  • model_name (Optional[str]) – A name for the model. Important If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. Default: If you don’t specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name. For more information, see Name Type.

  • schema (JsonSchema) – The schema to use to transform data to one or more output formats. Specify null ({}) if you don’t want to specify a schema.

Example:

# api is of type RestApi


# We define the JSON Schema for the transformed valid response
response_model = api.add_model("ResponseModel",
    content_type="application/json",
    model_name="ResponseModel",
    schema=apigateway.JsonSchema(
        schema=apigateway.JsonSchemaVersion.DRAFT4,
        title="pollResponse",
        type=apigateway.JsonSchemaType.OBJECT,
        properties={
            "state": apigateway.JsonSchema(type=apigateway.JsonSchemaType.STRING),
            "greeting": apigateway.JsonSchema(type=apigateway.JsonSchemaType.STRING)
        }
    )
)

# We define the JSON Schema for the transformed error response
error_response_model = api.add_model("ErrorResponseModel",
    content_type="application/json",
    model_name="ErrorResponseModel",
    schema=apigateway.JsonSchema(
        schema=apigateway.JsonSchemaVersion.DRAFT4,
        title="errorResponse",
        type=apigateway.JsonSchemaType.OBJECT,
        properties={
            "state": apigateway.JsonSchema(type=apigateway.JsonSchemaType.STRING),
            "message": apigateway.JsonSchema(type=apigateway.JsonSchemaType.STRING)
        }
    )
)

Attributes

content_type

The content type for the model.

You can also force a content type in the request or response model mapping.

Default

‘application/json’

Return type

Optional[str]

description

A description that identifies this model.

Default

None

Return type

Optional[str]

model_name

A name for the model.

Important If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.

Default

If you don’t specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the model name. For more information, see Name Type.

Return type

Optional[str]

schema

The schema to use to transform data to one or more output formats.

Specify null ({}) if you don’t want to specify a schema.

Return type

JsonSchema