1// Code generated by smithy-go-codegen DO NOT EDIT.
2
3package document
4
5import (
6	internaldocument "github.com/aws/aws-sdk-go-v2/internal/protocoltest/awsrestjson/internal/document"
7)
8
9// Interface defines a document which is a protocol-agnostic type which supports a
10// JSON-like data-model. You can use this type to send UTF-8 strings, arbitrary
11// precision numbers, booleans, nulls, a list of these values, and a map of UTF-8
12// strings to these values.
13//
14// You create a document type using the NewLazyDocument function and passing it the
15// Go type to marshal. When receiving a document in an API response, you use the
16// document's UnmarshalSmithyDocument function to decode the response to your
17// desired Go type. Unless documented specifically generated structure types in
18// client packages or client types packages are not supported at this time. Such
19// types embed a noSmithyDocumentSerde and will cause an error to be returned when
20// attempting to send an API request.
21//
22// For more information see the accompanying package documentation and linked
23// references.
24type Interface = internaldocument.Interface
25
26// You create document type using the NewLazyDocument function and passing it the
27// Go type to be marshaled and sent to the service. The document marshaler supports
28// semantics similar to the encoding/json Go standard library.
29//
30// For more information see the accompanying package documentation and linked
31// references.
32func NewLazyDocument(v interface{}) Interface {
33	return internaldocument.NewDocumentMarshaler(v)
34}
35