github.com/aavshr/aws-sdk-go@v1.41.3/models/protocol_tests/input/json.json (about)

     1  [
     2    {
     3      "description": "Scalar members",
     4      "metadata": {
     5        "protocol": "json",
     6        "jsonVersion": "1.1",
     7        "targetPrefix": "com.amazonaws.foo"
     8      },
     9      "shapes": {
    10        "InputShape": {
    11          "type": "structure",
    12          "members": {
    13            "Name": {
    14              "shape": "StringType"
    15            }
    16          }
    17        },
    18        "StringType": {
    19          "type": "string"
    20        }
    21      },
    22      "cases": [
    23        {
    24          "given": {
    25            "input": {
    26              "shape": "InputShape"
    27            },
    28            "name": "OperationName",
    29            "http": {
    30              "method": "POST"
    31            }
    32          },
    33          "params": {
    34            "Name": "myname"
    35          },
    36          "serialized": {
    37            "body": "{\"Name\": \"myname\"}",
    38            "headers": {
    39              "X-Amz-Target": "com.amazonaws.foo.OperationName",
    40              "Content-Type": "application/x-amz-json-1.1"
    41            },
    42            "uri": "/"
    43          }
    44        }
    45      ]
    46    },
    47    {
    48      "description": "Timestamp values",
    49      "metadata": {
    50        "protocol": "json",
    51        "jsonVersion": "1.1",
    52        "targetPrefix": "com.amazonaws.foo"
    53      },
    54      "shapes": {
    55        "InputShape": {
    56          "type": "structure",
    57          "members": {
    58            "TimeArg": {
    59              "shape": "TimestampType"
    60            },
    61            "TimeCustom": {
    62              "timestampFormat": "rfc822",
    63              "shape": "TimestampType"
    64            },
    65            "TimeFormat": {
    66              "shape": "TimestampFormatType"
    67            }
    68          }
    69        },
    70        "TimestampFormatType": {
    71          "timestampFormat": "rfc822",
    72          "type": "timestamp"
    73        },
    74        "TimestampType": {
    75          "type": "timestamp"
    76        }
    77      },
    78      "cases": [
    79        {
    80          "given": {
    81            "input": {
    82              "shape": "InputShape"
    83            },
    84            "name": "OperationName"
    85          },
    86          "params": {
    87            "TimeArg": 1422172800,
    88            "TimeCustom": 1422172800,
    89            "TimeFormat": 1422172800
    90          },
    91          "serialized": {
    92            "body": "{\"TimeArg\": 1422172800, \"TimeCustom\": \"Sun, 25 Jan 2015 08:00:00 GMT\", \"TimeFormat\": \"Sun, 25 Jan 2015 08:00:00 GMT\"}",
    93            "headers": {
    94              "X-Amz-Target": "com.amazonaws.foo.OperationName",
    95              "Content-Type": "application/x-amz-json-1.1"
    96            },
    97            "uri": "/"
    98          }
    99        }
   100      ]
   101    },
   102    {
   103      "description": "Base64 encoded Blobs",
   104      "metadata": {
   105        "protocol": "json",
   106        "jsonVersion": "1.1",
   107        "targetPrefix": "com.amazonaws.foo"
   108      },
   109      "shapes": {
   110        "InputShape": {
   111          "type": "structure",
   112          "members": {
   113            "BlobArg": {
   114              "shape": "BlobType"
   115            },
   116            "BlobMap": {
   117              "shape": "BlobMapType"
   118            }
   119          }
   120        },
   121        "BlobType": {
   122          "type": "blob"
   123        },
   124        "BlobMapType": {
   125          "type": "map",
   126          "key": {"shape": "StringType"},
   127          "value": {"shape": "BlobType"}
   128        },
   129        "StringType": {
   130          "type": "string"
   131        }
   132      },
   133      "cases": [
   134        {
   135          "given": {
   136            "input": {
   137              "shape": "InputShape"
   138            },
   139            "name": "OperationName"
   140          },
   141          "params": {
   142            "BlobArg": "foo"
   143          },
   144          "serialized": {
   145            "body": "{\"BlobArg\": \"Zm9v\"}",
   146            "headers": {
   147              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   148              "Content-Type": "application/x-amz-json-1.1"
   149            },
   150            "uri": "/"
   151          }
   152        },
   153        {
   154          "given": {
   155            "input": {
   156              "shape": "InputShape"
   157            },
   158            "name": "OperationName"
   159          },
   160          "params": {
   161            "BlobMap": {
   162              "key1": "foo",
   163              "key2": "bar"
   164            }
   165          },
   166          "serialized": {
   167            "body": "{\"BlobMap\": {\"key1\": \"Zm9v\", \"key2\": \"YmFy\"}}",
   168            "headers": {
   169              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   170              "Content-Type": "application/x-amz-json-1.1"
   171            },
   172            "uri": "/"
   173          }
   174        }
   175      ]
   176    },
   177    {
   178      "description": "Nested blobs",
   179      "metadata": {
   180        "protocol": "json",
   181        "jsonVersion": "1.1",
   182        "targetPrefix": "com.amazonaws.foo"
   183      },
   184      "shapes": {
   185        "InputShape": {
   186          "type": "structure",
   187          "members": {
   188            "ListParam": {
   189              "shape": "ListOfStructures"
   190            }
   191          }
   192        },
   193        "ListOfStructures": {
   194          "type": "list",
   195          "member": {
   196            "shape": "BlobType"
   197          }
   198        },
   199        "BlobType": {
   200          "type": "blob"
   201        }
   202      },
   203      "cases": [
   204        {
   205          "given": {
   206            "http": {
   207              "method": "POST"
   208            },
   209            "input": {
   210              "shape": "InputShape"
   211            },
   212            "name": "OperationName"
   213          },
   214          "params": {
   215            "ListParam": ["foo", "bar"]
   216          },
   217          "serialized": {
   218            "body": "{\"ListParam\": [\"Zm9v\", \"YmFy\"]}",
   219            "uri": "/",
   220            "headers": {
   221              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   222              "Content-Type": "application/x-amz-json-1.1"
   223            }
   224          }
   225        }
   226      ]
   227    },
   228    {
   229      "description": "Recursive shapes",
   230      "metadata": {
   231        "protocol": "json",
   232        "jsonVersion": "1.1",
   233        "targetPrefix": "com.amazonaws.foo"
   234      },
   235      "shapes": {
   236        "InputShape": {
   237          "type": "structure",
   238          "members": {
   239            "RecursiveStruct": {
   240              "shape": "RecursiveStructType"
   241            }
   242          }
   243        },
   244        "RecursiveStructType": {
   245          "type": "structure",
   246          "members": {
   247            "NoRecurse": {
   248              "shape": "StringType"
   249            },
   250            "RecursiveStruct": {
   251              "shape": "RecursiveStructType"
   252            },
   253            "RecursiveList": {
   254              "shape": "RecursiveListType"
   255            },
   256            "RecursiveMap": {
   257              "shape": "RecursiveMapType"
   258            }
   259          }
   260        },
   261        "RecursiveListType": {
   262          "type": "list",
   263          "member": {
   264            "shape": "RecursiveStructType"
   265          }
   266        },
   267        "RecursiveMapType": {
   268          "type": "map",
   269          "key": {
   270            "shape": "StringType"
   271          },
   272          "value": {
   273            "shape": "RecursiveStructType"
   274          }
   275        },
   276        "StringType": {
   277          "type": "string"
   278        }
   279      },
   280      "cases": [
   281        {
   282          "given": {
   283            "input": {
   284              "shape": "InputShape"
   285            },
   286            "name": "OperationName"
   287          },
   288          "params": {
   289            "RecursiveStruct": {
   290              "NoRecurse": "foo"
   291            }
   292          },
   293          "serialized": {
   294            "uri": "/",
   295            "headers": {
   296              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   297              "Content-Type": "application/x-amz-json-1.1"
   298            },
   299            "body": "{\"RecursiveStruct\": {\"NoRecurse\": \"foo\"}}"
   300          }
   301        },
   302        {
   303          "given": {
   304            "input": {
   305              "shape": "InputShape"
   306            },
   307            "name": "OperationName"
   308          },
   309          "params": {
   310            "RecursiveStruct": {
   311              "RecursiveStruct": {
   312                "NoRecurse": "foo"
   313              }
   314            }
   315          },
   316          "serialized": {
   317            "uri": "/",
   318            "headers": {
   319              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   320              "Content-Type": "application/x-amz-json-1.1"
   321            },
   322            "body": "{\"RecursiveStruct\": {\"RecursiveStruct\": {\"NoRecurse\": \"foo\"}}}"
   323          }
   324        },
   325        {
   326          "given": {
   327            "input": {
   328              "shape": "InputShape"
   329            },
   330            "name": "OperationName"
   331          },
   332          "params": {
   333            "RecursiveStruct": {
   334              "RecursiveStruct": {
   335                "RecursiveStruct": {
   336                  "RecursiveStruct": {
   337                    "NoRecurse": "foo"
   338                  }
   339                }
   340              }
   341            }
   342          },
   343          "serialized": {
   344            "uri": "/",
   345            "headers": {
   346              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   347              "Content-Type": "application/x-amz-json-1.1"
   348            },
   349            "body": "{\"RecursiveStruct\": {\"RecursiveStruct\": {\"RecursiveStruct\": {\"RecursiveStruct\": {\"NoRecurse\": \"foo\"}}}}}"
   350          }
   351        },
   352        {
   353          "given": {
   354            "input": {
   355              "shape": "InputShape"
   356            },
   357            "name": "OperationName"
   358          },
   359          "params": {
   360            "RecursiveStruct": {
   361              "RecursiveList": [
   362                {
   363                  "NoRecurse": "foo"
   364                },
   365                {
   366                  "NoRecurse": "bar"
   367                }
   368              ]
   369            }
   370          },
   371          "serialized": {
   372            "uri": "/",
   373            "headers": {
   374              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   375              "Content-Type": "application/x-amz-json-1.1"
   376            },
   377            "body": "{\"RecursiveStruct\": {\"RecursiveList\": [{\"NoRecurse\": \"foo\"}, {\"NoRecurse\": \"bar\"}]}}"
   378          }
   379        },
   380        {
   381          "given": {
   382            "input": {
   383              "shape": "InputShape"
   384            },
   385            "name": "OperationName"
   386          },
   387          "params": {
   388            "RecursiveStruct": {
   389              "RecursiveList": [
   390                {
   391                  "NoRecurse": "foo"
   392                },
   393                {
   394                  "RecursiveStruct": {
   395                    "NoRecurse": "bar"
   396                  }
   397                }
   398              ]
   399            }
   400          },
   401          "serialized": {
   402            "uri": "/",
   403            "headers": {
   404              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   405              "Content-Type": "application/x-amz-json-1.1"
   406            },
   407            "body": "{\"RecursiveStruct\": {\"RecursiveList\": [{\"NoRecurse\": \"foo\"}, {\"RecursiveStruct\": {\"NoRecurse\": \"bar\"}}]}}"
   408          }
   409        },
   410        {
   411          "given": {
   412            "input": {
   413              "shape": "InputShape"
   414            },
   415            "name": "OperationName"
   416          },
   417          "params": {
   418            "RecursiveStruct": {
   419              "RecursiveMap": {
   420                "foo": {
   421                  "NoRecurse": "foo"
   422                },
   423                "bar": {
   424                  "NoRecurse": "bar"
   425                }
   426              }
   427            }
   428          },
   429          "serialized": {
   430            "uri": "/",
   431            "headers": {
   432              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   433              "Content-Type": "application/x-amz-json-1.1"
   434            },
   435            "body": "{\"RecursiveStruct\": {\"RecursiveMap\": {\"foo\": {\"NoRecurse\": \"foo\"}, \"bar\": {\"NoRecurse\": \"bar\"}}}}"
   436          }
   437        }
   438      ]
   439    },
   440    {
   441      "description": "Empty maps",
   442      "metadata": {
   443        "protocol": "json",
   444        "jsonVersion": "1.1",
   445        "targetPrefix": "com.amazonaws.foo"
   446      },
   447      "shapes": {
   448        "InputShape": {
   449          "type": "structure",
   450          "members": {
   451            "Map": {
   452              "shape": "MapType"
   453            }
   454          }
   455        },
   456        "MapType": {
   457          "type": "map",
   458          "key": {
   459            "shape": "StringType"
   460          },
   461          "value": {
   462            "shape": "StringType"
   463          }
   464        },
   465        "StringType": {
   466          "type": "string"
   467        }
   468      },
   469      "cases": [
   470        {
   471          "given": {
   472            "input": {
   473              "shape": "InputShape"
   474            },
   475            "name": "OperationName",
   476            "http": {
   477              "method": "POST"
   478            }
   479          },
   480          "params": {
   481            "Map": {}
   482          },
   483          "serialized": {
   484            "body": "{\"Map\": {}}",
   485            "headers": {
   486              "X-Amz-Target": "com.amazonaws.foo.OperationName",
   487              "Content-Type": "application/x-amz-json-1.1"
   488            },
   489            "uri": "/"
   490          }
   491        }
   492      ]
   493    },
   494    {
   495      "description": "Idempotency token auto fill",
   496      "metadata": {
   497        "protocol": "json",
   498        "apiVersion": "2014-01-01"
   499      },
   500      "shapes": {
   501        "InputShape": {
   502          "type": "structure",
   503          "members": {
   504            "Token": {
   505              "shape": "StringType",
   506              "idempotencyToken": true
   507            }
   508          }
   509        },
   510        "StringType": {
   511          "type": "string"
   512        }
   513      },
   514      "cases": [
   515        {
   516          "given": {
   517            "input": {
   518              "shape": "InputShape"
   519            },
   520            "http": {
   521              "method": "POST"
   522            },
   523            "name": "OperationName"
   524          },
   525          "params": {
   526            "Token": "abc123"
   527          },
   528          "serialized": {
   529            "uri": "/",
   530            "headers": {},
   531            "body": "{\"Token\": \"abc123\"}"
   532          }
   533        },
   534        {
   535          "given": {
   536            "input": {
   537              "shape": "InputShape"
   538            },
   539            "http": {
   540              "method": "POST"
   541            },
   542            "name": "OperationName"
   543          },
   544          "params": {
   545          },
   546          "serialized": {
   547            "uri": "/",
   548            "headers": {},
   549            "body": "{\"Token\": \"00000000-0000-4000-8000-000000000000\"}"
   550          }
   551        }
   552      ]
   553    },
   554    {
   555      "description": "Enum",
   556      "metadata": {
   557        "protocol": "json",
   558        "apiVersion": "2014-01-01"
   559      },
   560      "shapes": {
   561        "InputShape": {
   562          "type": "structure",
   563          "members": {
   564            "FooEnum": {
   565              "shape": "EnumType"
   566            },
   567            "ListEnums": {
   568              "shape": "EnumList"
   569            }
   570          }
   571        },
   572        "EnumType":{
   573          "type":"string",
   574          "enum":[
   575            "foo",
   576            "bar"
   577          ]
   578        },
   579        "EnumList":{
   580          "type":"list",
   581          "member": {"shape": "EnumType"}
   582        }
   583      },
   584      "cases": [
   585        {
   586          "given": {
   587            "input": {
   588              "shape": "InputShape"
   589            },
   590            "http": {
   591              "method": "POST"
   592            },
   593            "name": "OperationName"
   594          },
   595          "params": {
   596            "FooEnum": "foo",
   597            "ListEnums": ["foo", "", "bar"]
   598          },
   599          "serialized": {
   600            "uri": "/",
   601            "headers": {},
   602            "body": "{\"FooEnum\": \"foo\", \"ListEnums\": [\"foo\", \"\", \"bar\"]}"
   603          }
   604        },
   605        {
   606          "given": {
   607            "input": {
   608              "shape": "InputShape"
   609            },
   610            "http": {
   611              "method": "POST"
   612            },
   613            "name": "OperationName"
   614          },
   615          "params": {
   616          },
   617          "serialized": {
   618            "uri": "/",
   619            "headers": {}
   620          }
   621        }
   622      ]
   623    },
   624    {
   625      "description": "Endpoint host trait static prefix",
   626      "metadata": {
   627        "protocol": "json",
   628        "jsonVersion": "1.1",
   629        "targetPrefix": "com.amazonaws.foo"
   630      },
   631      "clientEndpoint": "https://service.region.amazonaws.com",
   632      "shapes": {
   633        "StaticInputShape": {
   634          "type": "structure",
   635          "members": {
   636            "Name": {
   637              "shape": "StringType"
   638            }
   639          }
   640        },
   641        "MemberRefInputShape": {
   642          "type": "structure",
   643          "members": {
   644            "Name": {
   645              "shape": "StringType",
   646              "hostLabel": true
   647            }
   648          }
   649        },
   650        "StringType": {
   651          "type": "string"
   652        }
   653      },
   654      "cases": [
   655        {
   656          "given": {
   657            "name": "StaticOp",
   658            "input": {
   659              "shape": "StaticInputShape"
   660            },
   661            "http": {
   662              "method": "POST"
   663            },
   664            "endpoint":{
   665                "hostPrefix": "data-"
   666            }
   667          },
   668          "params": {
   669            "Name": "myname"
   670          },
   671          "serialized": {
   672            "headers": {
   673              "X-Amz-Target": "com.amazonaws.foo.StaticOp",
   674              "Content-Type": "application/x-amz-json-1.1"
   675            },
   676            "uri": "/",
   677            "body": "{\"Name\": \"myname\"}",
   678            "host": "data-service.region.amazonaws.com"
   679          }
   680        },
   681        {
   682          "given": {
   683            "name": "MemberRefOp",
   684            "input": {
   685              "shape": "MemberRefInputShape"
   686            },
   687            "http": {
   688              "method": "POST"
   689            },
   690            "endpoint":{
   691                "hostPrefix": "foo-{Name}."
   692            }
   693          },
   694          "params": {
   695            "Name": "myname"
   696          },
   697          "serialized": {
   698            "headers": {
   699              "X-Amz-Target": "com.amazonaws.foo.MemberRefOp",
   700              "Content-Type": "application/x-amz-json-1.1"
   701            },
   702            "uri": "/",
   703            "body": "{\"Name\": \"myname\"}",
   704            "host": "foo-myname.service.region.amazonaws.com"
   705          }
   706        }
   707      ]
   708    }
   709  ]