ModelArgs

data class ModelArgs(val apiId: Output<String>? = null, val contentType: Output<String>? = null, val description: Output<String>? = null, val name: Output<String>? = null, val schema: Output<String>? = null) : ConvertibleToJava<ModelArgs>

Manages an Amazon API Gateway Version 2 model.

Example Usage

Basic

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = new aws.apigatewayv2.Model("example", {
apiId: exampleAwsApigatewayv2Api.id,
contentType: "application/json",
name: "example",
schema: JSON.stringify({
$schema: "http://json-schema.org/draft-04/schema#",
title: "ExampleModel",
type: "object",
properties: {
id: {
type: "string",
},
},
}),
});
import pulumi
import json
import pulumi_aws as aws
example = aws.apigatewayv2.Model("example",
api_id=example_aws_apigatewayv2_api["id"],
content_type="application/json",
name="example",
schema=json.dumps({
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ExampleModel",
"type": "object",
"properties": {
"id": {
"type": "string",
},
},
}))
using System.Collections.Generic;
using System.Linq;
using System.Text.Json;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = new Aws.ApiGatewayV2.Model("example", new()
{
ApiId = exampleAwsApigatewayv2Api.Id,
ContentType = "application/json",
Name = "example",
Schema = JsonSerializer.Serialize(new Dictionary<string, object?>
{
["$schema"] = "http://json-schema.org/draft-04/schema#",
["title"] = "ExampleModel",
["type"] = "object",
["properties"] = new Dictionary<string, object?>
{
["id"] = new Dictionary<string, object?>
{
["type"] = "string",
},
},
}),
});
});
package main
import (
"encoding/json"
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigatewayv2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tmpJSON0, err := json.Marshal(map[string]interface{}{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "ExampleModel",
"type": "object",
"properties": map[string]interface{}{
"id": map[string]interface{}{
"type": "string",
},
},
})
if err != nil {
return err
}
json0 := string(tmpJSON0)
_, err = apigatewayv2.NewModel(ctx, "example", &apigatewayv2.ModelArgs{
ApiId: pulumi.Any(exampleAwsApigatewayv2Api.Id),
ContentType: pulumi.String("application/json"),
Name: pulumi.String("example"),
Schema: pulumi.String(json0),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigatewayv2.Model;
import com.pulumi.aws.apigatewayv2.ModelArgs;
import static com.pulumi.codegen.internal.Serialization.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new Model("example", ModelArgs.builder()
.apiId(exampleAwsApigatewayv2Api.id())
.contentType("application/json")
.name("example")
.schema(serializeJson(
jsonObject(
jsonProperty("$schema", "http://json-schema.org/draft-04/schema#"),
jsonProperty("title", "ExampleModel"),
jsonProperty("type", "object"),
jsonProperty("properties", jsonObject(
jsonProperty("id", jsonObject(
jsonProperty("type", "string")
))
))
)))
.build());
}
}
resources:
example:
type: aws:apigatewayv2:Model
properties:
apiId: ${exampleAwsApigatewayv2Api.id}
contentType: application/json
name: example
schema:
fn::toJSON:
$schema: http://json-schema.org/draft-04/schema#
title: ExampleModel
type: object
properties:
id:
type: string

Import

Using pulumi import, import aws_apigatewayv2_model using the API identifier and model identifier. For example:

$ pulumi import aws:apigatewayv2/model:Model example aabbccddee/1122334

Constructors

Link copied to clipboard
constructor(apiId: Output<String>? = null, contentType: Output<String>? = null, description: Output<String>? = null, name: Output<String>? = null, schema: Output<String>? = null)

Properties

Link copied to clipboard
val apiId: Output<String>? = null

API identifier.

Link copied to clipboard
val contentType: Output<String>? = null

The content-type for the model, for example, application/json. Must be between 1 and 256 characters in length.

Link copied to clipboard
val description: Output<String>? = null

Description of the model. Must be between 1 and 128 characters in length.

Link copied to clipboard
val name: Output<String>? = null

Name of the model. Must be alphanumeric. Must be between 1 and 128 characters in length.

Link copied to clipboard
val schema: Output<String>? = null

Schema for the model. This should be a JSON schema draft 4 model. Must be less than or equal to 32768 characters in length.

Functions

Link copied to clipboard
open override fun toJava(): ModelArgs