github.com/aavshr/aws-sdk-go@v1.41.3/models/apis/kinesis/2013-12-02/api-2.json (about)

     1  {
     2    "version":"2.0",
     3    "metadata":{
     4      "apiVersion":"2013-12-02",
     5      "endpointPrefix":"kinesis",
     6      "jsonVersion":"1.1",
     7      "protocol":"json",
     8      "protocolSettings":{"h2":"eventstream"},
     9      "serviceAbbreviation":"Kinesis",
    10      "serviceFullName":"Amazon Kinesis",
    11      "serviceId":"Kinesis",
    12      "signatureVersion":"v4",
    13      "targetPrefix":"Kinesis_20131202",
    14      "uid":"kinesis-2013-12-02"
    15    },
    16    "operations":{
    17      "AddTagsToStream":{
    18        "name":"AddTagsToStream",
    19        "http":{
    20          "method":"POST",
    21          "requestUri":"/"
    22        },
    23        "input":{"shape":"AddTagsToStreamInput"},
    24        "errors":[
    25          {"shape":"ResourceNotFoundException"},
    26          {"shape":"ResourceInUseException"},
    27          {"shape":"InvalidArgumentException"},
    28          {"shape":"LimitExceededException"}
    29        ]
    30      },
    31      "CreateStream":{
    32        "name":"CreateStream",
    33        "http":{
    34          "method":"POST",
    35          "requestUri":"/"
    36        },
    37        "input":{"shape":"CreateStreamInput"},
    38        "errors":[
    39          {"shape":"ResourceInUseException"},
    40          {"shape":"LimitExceededException"},
    41          {"shape":"InvalidArgumentException"}
    42        ]
    43      },
    44      "DecreaseStreamRetentionPeriod":{
    45        "name":"DecreaseStreamRetentionPeriod",
    46        "http":{
    47          "method":"POST",
    48          "requestUri":"/"
    49        },
    50        "input":{"shape":"DecreaseStreamRetentionPeriodInput"},
    51        "errors":[
    52          {"shape":"ResourceInUseException"},
    53          {"shape":"ResourceNotFoundException"},
    54          {"shape":"LimitExceededException"},
    55          {"shape":"InvalidArgumentException"}
    56        ]
    57      },
    58      "DeleteStream":{
    59        "name":"DeleteStream",
    60        "http":{
    61          "method":"POST",
    62          "requestUri":"/"
    63        },
    64        "input":{"shape":"DeleteStreamInput"},
    65        "errors":[
    66          {"shape":"ResourceNotFoundException"},
    67          {"shape":"LimitExceededException"},
    68          {"shape":"ResourceInUseException"}
    69        ]
    70      },
    71      "DeregisterStreamConsumer":{
    72        "name":"DeregisterStreamConsumer",
    73        "http":{
    74          "method":"POST",
    75          "requestUri":"/"
    76        },
    77        "input":{"shape":"DeregisterStreamConsumerInput"},
    78        "errors":[
    79          {"shape":"LimitExceededException"},
    80          {"shape":"ResourceNotFoundException"},
    81          {"shape":"InvalidArgumentException"}
    82        ]
    83      },
    84      "DescribeLimits":{
    85        "name":"DescribeLimits",
    86        "http":{
    87          "method":"POST",
    88          "requestUri":"/"
    89        },
    90        "input":{"shape":"DescribeLimitsInput"},
    91        "output":{"shape":"DescribeLimitsOutput"},
    92        "errors":[
    93          {"shape":"LimitExceededException"}
    94        ]
    95      },
    96      "DescribeStream":{
    97        "name":"DescribeStream",
    98        "http":{
    99          "method":"POST",
   100          "requestUri":"/"
   101        },
   102        "input":{"shape":"DescribeStreamInput"},
   103        "output":{"shape":"DescribeStreamOutput"},
   104        "errors":[
   105          {"shape":"ResourceNotFoundException"},
   106          {"shape":"LimitExceededException"}
   107        ]
   108      },
   109      "DescribeStreamConsumer":{
   110        "name":"DescribeStreamConsumer",
   111        "http":{
   112          "method":"POST",
   113          "requestUri":"/"
   114        },
   115        "input":{"shape":"DescribeStreamConsumerInput"},
   116        "output":{"shape":"DescribeStreamConsumerOutput"},
   117        "errors":[
   118          {"shape":"LimitExceededException"},
   119          {"shape":"ResourceNotFoundException"},
   120          {"shape":"InvalidArgumentException"}
   121        ]
   122      },
   123      "DescribeStreamSummary":{
   124        "name":"DescribeStreamSummary",
   125        "http":{
   126          "method":"POST",
   127          "requestUri":"/"
   128        },
   129        "input":{"shape":"DescribeStreamSummaryInput"},
   130        "output":{"shape":"DescribeStreamSummaryOutput"},
   131        "errors":[
   132          {"shape":"ResourceNotFoundException"},
   133          {"shape":"LimitExceededException"}
   134        ]
   135      },
   136      "DisableEnhancedMonitoring":{
   137        "name":"DisableEnhancedMonitoring",
   138        "http":{
   139          "method":"POST",
   140          "requestUri":"/"
   141        },
   142        "input":{"shape":"DisableEnhancedMonitoringInput"},
   143        "output":{"shape":"EnhancedMonitoringOutput"},
   144        "errors":[
   145          {"shape":"InvalidArgumentException"},
   146          {"shape":"LimitExceededException"},
   147          {"shape":"ResourceInUseException"},
   148          {"shape":"ResourceNotFoundException"}
   149        ]
   150      },
   151      "EnableEnhancedMonitoring":{
   152        "name":"EnableEnhancedMonitoring",
   153        "http":{
   154          "method":"POST",
   155          "requestUri":"/"
   156        },
   157        "input":{"shape":"EnableEnhancedMonitoringInput"},
   158        "output":{"shape":"EnhancedMonitoringOutput"},
   159        "errors":[
   160          {"shape":"InvalidArgumentException"},
   161          {"shape":"LimitExceededException"},
   162          {"shape":"ResourceInUseException"},
   163          {"shape":"ResourceNotFoundException"}
   164        ]
   165      },
   166      "GetRecords":{
   167        "name":"GetRecords",
   168        "http":{
   169          "method":"POST",
   170          "requestUri":"/"
   171        },
   172        "input":{"shape":"GetRecordsInput"},
   173        "output":{"shape":"GetRecordsOutput"},
   174        "errors":[
   175          {"shape":"ResourceNotFoundException"},
   176          {"shape":"InvalidArgumentException"},
   177          {"shape":"ProvisionedThroughputExceededException"},
   178          {"shape":"ExpiredIteratorException"},
   179          {"shape":"KMSDisabledException"},
   180          {"shape":"KMSInvalidStateException"},
   181          {"shape":"KMSAccessDeniedException"},
   182          {"shape":"KMSNotFoundException"},
   183          {"shape":"KMSOptInRequired"},
   184          {"shape":"KMSThrottlingException"}
   185        ]
   186      },
   187      "GetShardIterator":{
   188        "name":"GetShardIterator",
   189        "http":{
   190          "method":"POST",
   191          "requestUri":"/"
   192        },
   193        "input":{"shape":"GetShardIteratorInput"},
   194        "output":{"shape":"GetShardIteratorOutput"},
   195        "errors":[
   196          {"shape":"ResourceNotFoundException"},
   197          {"shape":"InvalidArgumentException"},
   198          {"shape":"ProvisionedThroughputExceededException"}
   199        ]
   200      },
   201      "IncreaseStreamRetentionPeriod":{
   202        "name":"IncreaseStreamRetentionPeriod",
   203        "http":{
   204          "method":"POST",
   205          "requestUri":"/"
   206        },
   207        "input":{"shape":"IncreaseStreamRetentionPeriodInput"},
   208        "errors":[
   209          {"shape":"ResourceInUseException"},
   210          {"shape":"ResourceNotFoundException"},
   211          {"shape":"LimitExceededException"},
   212          {"shape":"InvalidArgumentException"}
   213        ]
   214      },
   215      "ListShards":{
   216        "name":"ListShards",
   217        "http":{
   218          "method":"POST",
   219          "requestUri":"/"
   220        },
   221        "input":{"shape":"ListShardsInput"},
   222        "output":{"shape":"ListShardsOutput"},
   223        "errors":[
   224          {"shape":"ResourceNotFoundException"},
   225          {"shape":"InvalidArgumentException"},
   226          {"shape":"LimitExceededException"},
   227          {"shape":"ExpiredNextTokenException"},
   228          {"shape":"ResourceInUseException"}
   229        ]
   230      },
   231      "ListStreamConsumers":{
   232        "name":"ListStreamConsumers",
   233        "http":{
   234          "method":"POST",
   235          "requestUri":"/"
   236        },
   237        "input":{"shape":"ListStreamConsumersInput"},
   238        "output":{"shape":"ListStreamConsumersOutput"},
   239        "errors":[
   240          {"shape":"ResourceNotFoundException"},
   241          {"shape":"InvalidArgumentException"},
   242          {"shape":"LimitExceededException"},
   243          {"shape":"ExpiredNextTokenException"},
   244          {"shape":"ResourceInUseException"}
   245        ]
   246      },
   247      "ListStreams":{
   248        "name":"ListStreams",
   249        "http":{
   250          "method":"POST",
   251          "requestUri":"/"
   252        },
   253        "input":{"shape":"ListStreamsInput"},
   254        "output":{"shape":"ListStreamsOutput"},
   255        "errors":[
   256          {"shape":"LimitExceededException"}
   257        ]
   258      },
   259      "ListTagsForStream":{
   260        "name":"ListTagsForStream",
   261        "http":{
   262          "method":"POST",
   263          "requestUri":"/"
   264        },
   265        "input":{"shape":"ListTagsForStreamInput"},
   266        "output":{"shape":"ListTagsForStreamOutput"},
   267        "errors":[
   268          {"shape":"ResourceNotFoundException"},
   269          {"shape":"InvalidArgumentException"},
   270          {"shape":"LimitExceededException"}
   271        ]
   272      },
   273      "MergeShards":{
   274        "name":"MergeShards",
   275        "http":{
   276          "method":"POST",
   277          "requestUri":"/"
   278        },
   279        "input":{"shape":"MergeShardsInput"},
   280        "errors":[
   281          {"shape":"ResourceNotFoundException"},
   282          {"shape":"ResourceInUseException"},
   283          {"shape":"InvalidArgumentException"},
   284          {"shape":"LimitExceededException"}
   285        ]
   286      },
   287      "PutRecord":{
   288        "name":"PutRecord",
   289        "http":{
   290          "method":"POST",
   291          "requestUri":"/"
   292        },
   293        "input":{"shape":"PutRecordInput"},
   294        "output":{"shape":"PutRecordOutput"},
   295        "errors":[
   296          {"shape":"ResourceNotFoundException"},
   297          {"shape":"InvalidArgumentException"},
   298          {"shape":"ProvisionedThroughputExceededException"},
   299          {"shape":"KMSDisabledException"},
   300          {"shape":"KMSInvalidStateException"},
   301          {"shape":"KMSAccessDeniedException"},
   302          {"shape":"KMSNotFoundException"},
   303          {"shape":"KMSOptInRequired"},
   304          {"shape":"KMSThrottlingException"}
   305        ]
   306      },
   307      "PutRecords":{
   308        "name":"PutRecords",
   309        "http":{
   310          "method":"POST",
   311          "requestUri":"/"
   312        },
   313        "input":{"shape":"PutRecordsInput"},
   314        "output":{"shape":"PutRecordsOutput"},
   315        "errors":[
   316          {"shape":"ResourceNotFoundException"},
   317          {"shape":"InvalidArgumentException"},
   318          {"shape":"ProvisionedThroughputExceededException"},
   319          {"shape":"KMSDisabledException"},
   320          {"shape":"KMSInvalidStateException"},
   321          {"shape":"KMSAccessDeniedException"},
   322          {"shape":"KMSNotFoundException"},
   323          {"shape":"KMSOptInRequired"},
   324          {"shape":"KMSThrottlingException"}
   325        ]
   326      },
   327      "RegisterStreamConsumer":{
   328        "name":"RegisterStreamConsumer",
   329        "http":{
   330          "method":"POST",
   331          "requestUri":"/"
   332        },
   333        "input":{"shape":"RegisterStreamConsumerInput"},
   334        "output":{"shape":"RegisterStreamConsumerOutput"},
   335        "errors":[
   336          {"shape":"InvalidArgumentException"},
   337          {"shape":"LimitExceededException"},
   338          {"shape":"ResourceInUseException"},
   339          {"shape":"ResourceNotFoundException"}
   340        ]
   341      },
   342      "RemoveTagsFromStream":{
   343        "name":"RemoveTagsFromStream",
   344        "http":{
   345          "method":"POST",
   346          "requestUri":"/"
   347        },
   348        "input":{"shape":"RemoveTagsFromStreamInput"},
   349        "errors":[
   350          {"shape":"ResourceNotFoundException"},
   351          {"shape":"ResourceInUseException"},
   352          {"shape":"InvalidArgumentException"},
   353          {"shape":"LimitExceededException"}
   354        ]
   355      },
   356      "SplitShard":{
   357        "name":"SplitShard",
   358        "http":{
   359          "method":"POST",
   360          "requestUri":"/"
   361        },
   362        "input":{"shape":"SplitShardInput"},
   363        "errors":[
   364          {"shape":"ResourceNotFoundException"},
   365          {"shape":"ResourceInUseException"},
   366          {"shape":"InvalidArgumentException"},
   367          {"shape":"LimitExceededException"}
   368        ]
   369      },
   370      "StartStreamEncryption":{
   371        "name":"StartStreamEncryption",
   372        "http":{
   373          "method":"POST",
   374          "requestUri":"/"
   375        },
   376        "input":{"shape":"StartStreamEncryptionInput"},
   377        "errors":[
   378          {"shape":"InvalidArgumentException"},
   379          {"shape":"LimitExceededException"},
   380          {"shape":"ResourceInUseException"},
   381          {"shape":"ResourceNotFoundException"},
   382          {"shape":"KMSDisabledException"},
   383          {"shape":"KMSInvalidStateException"},
   384          {"shape":"KMSAccessDeniedException"},
   385          {"shape":"KMSNotFoundException"},
   386          {"shape":"KMSOptInRequired"},
   387          {"shape":"KMSThrottlingException"}
   388        ]
   389      },
   390      "StopStreamEncryption":{
   391        "name":"StopStreamEncryption",
   392        "http":{
   393          "method":"POST",
   394          "requestUri":"/"
   395        },
   396        "input":{"shape":"StopStreamEncryptionInput"},
   397        "errors":[
   398          {"shape":"InvalidArgumentException"},
   399          {"shape":"LimitExceededException"},
   400          {"shape":"ResourceInUseException"},
   401          {"shape":"ResourceNotFoundException"}
   402        ]
   403      },
   404      "SubscribeToShard":{
   405        "name":"SubscribeToShard",
   406        "http":{
   407          "method":"POST",
   408          "requestUri":"/"
   409        },
   410        "input":{"shape":"SubscribeToShardInput"},
   411        "output":{"shape":"SubscribeToShardOutput"},
   412        "errors":[
   413          {"shape":"ResourceNotFoundException"},
   414          {"shape":"InvalidArgumentException"},
   415          {"shape":"ResourceInUseException"},
   416          {"shape":"LimitExceededException"}
   417        ]
   418      },
   419      "UpdateShardCount":{
   420        "name":"UpdateShardCount",
   421        "http":{
   422          "method":"POST",
   423          "requestUri":"/"
   424        },
   425        "input":{"shape":"UpdateShardCountInput"},
   426        "output":{"shape":"UpdateShardCountOutput"},
   427        "errors":[
   428          {"shape":"InvalidArgumentException"},
   429          {"shape":"LimitExceededException"},
   430          {"shape":"ResourceInUseException"},
   431          {"shape":"ResourceNotFoundException"}
   432        ]
   433      }
   434    },
   435    "shapes":{
   436      "AddTagsToStreamInput":{
   437        "type":"structure",
   438        "required":[
   439          "StreamName",
   440          "Tags"
   441        ],
   442        "members":{
   443          "StreamName":{"shape":"StreamName"},
   444          "Tags":{"shape":"TagMap"}
   445        }
   446      },
   447      "BooleanObject":{"type":"boolean"},
   448      "ChildShard":{
   449        "type":"structure",
   450        "required":[
   451          "ShardId",
   452          "ParentShards",
   453          "HashKeyRange"
   454        ],
   455        "members":{
   456          "ShardId":{"shape":"ShardId"},
   457          "ParentShards":{"shape":"ShardIdList"},
   458          "HashKeyRange":{"shape":"HashKeyRange"}
   459        }
   460      },
   461      "ChildShardList":{
   462        "type":"list",
   463        "member":{"shape":"ChildShard"}
   464      },
   465      "Consumer":{
   466        "type":"structure",
   467        "required":[
   468          "ConsumerName",
   469          "ConsumerARN",
   470          "ConsumerStatus",
   471          "ConsumerCreationTimestamp"
   472        ],
   473        "members":{
   474          "ConsumerName":{"shape":"ConsumerName"},
   475          "ConsumerARN":{"shape":"ConsumerARN"},
   476          "ConsumerStatus":{"shape":"ConsumerStatus"},
   477          "ConsumerCreationTimestamp":{"shape":"Timestamp"}
   478        }
   479      },
   480      "ConsumerARN":{
   481        "type":"string",
   482        "max":2048,
   483        "min":1,
   484        "pattern":"^(arn):aws.*:kinesis:.*:\\d{12}:.*stream\\/[a-zA-Z0-9_.-]+\\/consumer\\/[a-zA-Z0-9_.-]+:[0-9]+"
   485      },
   486      "ConsumerCountObject":{
   487        "type":"integer",
   488        "max":1000000,
   489        "min":0
   490      },
   491      "ConsumerDescription":{
   492        "type":"structure",
   493        "required":[
   494          "ConsumerName",
   495          "ConsumerARN",
   496          "ConsumerStatus",
   497          "ConsumerCreationTimestamp",
   498          "StreamARN"
   499        ],
   500        "members":{
   501          "ConsumerName":{"shape":"ConsumerName"},
   502          "ConsumerARN":{"shape":"ConsumerARN"},
   503          "ConsumerStatus":{"shape":"ConsumerStatus"},
   504          "ConsumerCreationTimestamp":{"shape":"Timestamp"},
   505          "StreamARN":{"shape":"StreamARN"}
   506        }
   507      },
   508      "ConsumerList":{
   509        "type":"list",
   510        "member":{"shape":"Consumer"}
   511      },
   512      "ConsumerName":{
   513        "type":"string",
   514        "max":128,
   515        "min":1,
   516        "pattern":"[a-zA-Z0-9_.-]+"
   517      },
   518      "ConsumerStatus":{
   519        "type":"string",
   520        "enum":[
   521          "CREATING",
   522          "DELETING",
   523          "ACTIVE"
   524        ]
   525      },
   526      "CreateStreamInput":{
   527        "type":"structure",
   528        "required":[
   529          "StreamName",
   530          "ShardCount"
   531        ],
   532        "members":{
   533          "StreamName":{"shape":"StreamName"},
   534          "ShardCount":{"shape":"PositiveIntegerObject"}
   535        }
   536      },
   537      "Data":{
   538        "type":"blob",
   539        "max":1048576,
   540        "min":0
   541      },
   542      "DecreaseStreamRetentionPeriodInput":{
   543        "type":"structure",
   544        "required":[
   545          "StreamName",
   546          "RetentionPeriodHours"
   547        ],
   548        "members":{
   549          "StreamName":{"shape":"StreamName"},
   550          "RetentionPeriodHours":{"shape":"RetentionPeriodHours"}
   551        }
   552      },
   553      "DeleteStreamInput":{
   554        "type":"structure",
   555        "required":["StreamName"],
   556        "members":{
   557          "StreamName":{"shape":"StreamName"},
   558          "EnforceConsumerDeletion":{"shape":"BooleanObject"}
   559        }
   560      },
   561      "DeregisterStreamConsumerInput":{
   562        "type":"structure",
   563        "members":{
   564          "StreamARN":{"shape":"StreamARN"},
   565          "ConsumerName":{"shape":"ConsumerName"},
   566          "ConsumerARN":{"shape":"ConsumerARN"}
   567        }
   568      },
   569      "DescribeLimitsInput":{
   570        "type":"structure",
   571        "members":{
   572        }
   573      },
   574      "DescribeLimitsOutput":{
   575        "type":"structure",
   576        "required":[
   577          "ShardLimit",
   578          "OpenShardCount"
   579        ],
   580        "members":{
   581          "ShardLimit":{"shape":"ShardCountObject"},
   582          "OpenShardCount":{"shape":"ShardCountObject"}
   583        }
   584      },
   585      "DescribeStreamConsumerInput":{
   586        "type":"structure",
   587        "members":{
   588          "StreamARN":{"shape":"StreamARN"},
   589          "ConsumerName":{"shape":"ConsumerName"},
   590          "ConsumerARN":{"shape":"ConsumerARN"}
   591        }
   592      },
   593      "DescribeStreamConsumerOutput":{
   594        "type":"structure",
   595        "required":["ConsumerDescription"],
   596        "members":{
   597          "ConsumerDescription":{"shape":"ConsumerDescription"}
   598        }
   599      },
   600      "DescribeStreamInput":{
   601        "type":"structure",
   602        "required":["StreamName"],
   603        "members":{
   604          "StreamName":{"shape":"StreamName"},
   605          "Limit":{"shape":"DescribeStreamInputLimit"},
   606          "ExclusiveStartShardId":{"shape":"ShardId"}
   607        }
   608      },
   609      "DescribeStreamInputLimit":{
   610        "type":"integer",
   611        "max":10000,
   612        "min":1
   613      },
   614      "DescribeStreamOutput":{
   615        "type":"structure",
   616        "required":["StreamDescription"],
   617        "members":{
   618          "StreamDescription":{"shape":"StreamDescription"}
   619        }
   620      },
   621      "DescribeStreamSummaryInput":{
   622        "type":"structure",
   623        "required":["StreamName"],
   624        "members":{
   625          "StreamName":{"shape":"StreamName"}
   626        }
   627      },
   628      "DescribeStreamSummaryOutput":{
   629        "type":"structure",
   630        "required":["StreamDescriptionSummary"],
   631        "members":{
   632          "StreamDescriptionSummary":{"shape":"StreamDescriptionSummary"}
   633        }
   634      },
   635      "DisableEnhancedMonitoringInput":{
   636        "type":"structure",
   637        "required":[
   638          "StreamName",
   639          "ShardLevelMetrics"
   640        ],
   641        "members":{
   642          "StreamName":{"shape":"StreamName"},
   643          "ShardLevelMetrics":{"shape":"MetricsNameList"}
   644        }
   645      },
   646      "EnableEnhancedMonitoringInput":{
   647        "type":"structure",
   648        "required":[
   649          "StreamName",
   650          "ShardLevelMetrics"
   651        ],
   652        "members":{
   653          "StreamName":{"shape":"StreamName"},
   654          "ShardLevelMetrics":{"shape":"MetricsNameList"}
   655        }
   656      },
   657      "EncryptionType":{
   658        "type":"string",
   659        "enum":[
   660          "NONE",
   661          "KMS"
   662        ]
   663      },
   664      "EnhancedMetrics":{
   665        "type":"structure",
   666        "members":{
   667          "ShardLevelMetrics":{"shape":"MetricsNameList"}
   668        }
   669      },
   670      "EnhancedMonitoringList":{
   671        "type":"list",
   672        "member":{"shape":"EnhancedMetrics"}
   673      },
   674      "EnhancedMonitoringOutput":{
   675        "type":"structure",
   676        "members":{
   677          "StreamName":{"shape":"StreamName"},
   678          "CurrentShardLevelMetrics":{"shape":"MetricsNameList"},
   679          "DesiredShardLevelMetrics":{"shape":"MetricsNameList"}
   680        }
   681      },
   682      "ErrorCode":{"type":"string"},
   683      "ErrorMessage":{"type":"string"},
   684      "ExpiredIteratorException":{
   685        "type":"structure",
   686        "members":{
   687          "message":{"shape":"ErrorMessage"}
   688        },
   689        "exception":true
   690      },
   691      "ExpiredNextTokenException":{
   692        "type":"structure",
   693        "members":{
   694          "message":{"shape":"ErrorMessage"}
   695        },
   696        "exception":true
   697      },
   698      "GetRecordsInput":{
   699        "type":"structure",
   700        "required":["ShardIterator"],
   701        "members":{
   702          "ShardIterator":{"shape":"ShardIterator"},
   703          "Limit":{"shape":"GetRecordsInputLimit"}
   704        }
   705      },
   706      "GetRecordsInputLimit":{
   707        "type":"integer",
   708        "max":10000,
   709        "min":1
   710      },
   711      "GetRecordsOutput":{
   712        "type":"structure",
   713        "required":["Records"],
   714        "members":{
   715          "Records":{"shape":"RecordList"},
   716          "NextShardIterator":{"shape":"ShardIterator"},
   717          "MillisBehindLatest":{"shape":"MillisBehindLatest"},
   718          "ChildShards":{"shape":"ChildShardList"}
   719        }
   720      },
   721      "GetShardIteratorInput":{
   722        "type":"structure",
   723        "required":[
   724          "StreamName",
   725          "ShardId",
   726          "ShardIteratorType"
   727        ],
   728        "members":{
   729          "StreamName":{"shape":"StreamName"},
   730          "ShardId":{"shape":"ShardId"},
   731          "ShardIteratorType":{"shape":"ShardIteratorType"},
   732          "StartingSequenceNumber":{"shape":"SequenceNumber"},
   733          "Timestamp":{"shape":"Timestamp"}
   734        }
   735      },
   736      "GetShardIteratorOutput":{
   737        "type":"structure",
   738        "members":{
   739          "ShardIterator":{"shape":"ShardIterator"}
   740        }
   741      },
   742      "HashKey":{
   743        "type":"string",
   744        "pattern":"0|([1-9]\\d{0,38})"
   745      },
   746      "HashKeyRange":{
   747        "type":"structure",
   748        "required":[
   749          "StartingHashKey",
   750          "EndingHashKey"
   751        ],
   752        "members":{
   753          "StartingHashKey":{"shape":"HashKey"},
   754          "EndingHashKey":{"shape":"HashKey"}
   755        }
   756      },
   757      "IncreaseStreamRetentionPeriodInput":{
   758        "type":"structure",
   759        "required":[
   760          "StreamName",
   761          "RetentionPeriodHours"
   762        ],
   763        "members":{
   764          "StreamName":{"shape":"StreamName"},
   765          "RetentionPeriodHours":{"shape":"RetentionPeriodHours"}
   766        }
   767      },
   768      "InternalFailureException":{
   769        "type":"structure",
   770        "members":{
   771          "message":{"shape":"ErrorMessage"}
   772        },
   773        "exception":true,
   774        "fault":true
   775      },
   776      "InvalidArgumentException":{
   777        "type":"structure",
   778        "members":{
   779          "message":{"shape":"ErrorMessage"}
   780        },
   781        "exception":true
   782      },
   783      "KMSAccessDeniedException":{
   784        "type":"structure",
   785        "members":{
   786          "message":{"shape":"ErrorMessage"}
   787        },
   788        "exception":true
   789      },
   790      "KMSDisabledException":{
   791        "type":"structure",
   792        "members":{
   793          "message":{"shape":"ErrorMessage"}
   794        },
   795        "exception":true
   796      },
   797      "KMSInvalidStateException":{
   798        "type":"structure",
   799        "members":{
   800          "message":{"shape":"ErrorMessage"}
   801        },
   802        "exception":true
   803      },
   804      "KMSNotFoundException":{
   805        "type":"structure",
   806        "members":{
   807          "message":{"shape":"ErrorMessage"}
   808        },
   809        "exception":true
   810      },
   811      "KMSOptInRequired":{
   812        "type":"structure",
   813        "members":{
   814          "message":{"shape":"ErrorMessage"}
   815        },
   816        "exception":true
   817      },
   818      "KMSThrottlingException":{
   819        "type":"structure",
   820        "members":{
   821          "message":{"shape":"ErrorMessage"}
   822        },
   823        "exception":true
   824      },
   825      "KeyId":{
   826        "type":"string",
   827        "max":2048,
   828        "min":1
   829      },
   830      "LimitExceededException":{
   831        "type":"structure",
   832        "members":{
   833          "message":{"shape":"ErrorMessage"}
   834        },
   835        "exception":true
   836      },
   837      "ListShardsInput":{
   838        "type":"structure",
   839        "members":{
   840          "StreamName":{"shape":"StreamName"},
   841          "NextToken":{"shape":"NextToken"},
   842          "ExclusiveStartShardId":{"shape":"ShardId"},
   843          "MaxResults":{"shape":"ListShardsInputLimit"},
   844          "StreamCreationTimestamp":{"shape":"Timestamp"},
   845          "ShardFilter":{"shape":"ShardFilter"}
   846        }
   847      },
   848      "ListShardsInputLimit":{
   849        "type":"integer",
   850        "max":10000,
   851        "min":1
   852      },
   853      "ListShardsOutput":{
   854        "type":"structure",
   855        "members":{
   856          "Shards":{"shape":"ShardList"},
   857          "NextToken":{"shape":"NextToken"}
   858        }
   859      },
   860      "ListStreamConsumersInput":{
   861        "type":"structure",
   862        "required":["StreamARN"],
   863        "members":{
   864          "StreamARN":{"shape":"StreamARN"},
   865          "NextToken":{"shape":"NextToken"},
   866          "MaxResults":{"shape":"ListStreamConsumersInputLimit"},
   867          "StreamCreationTimestamp":{"shape":"Timestamp"}
   868        }
   869      },
   870      "ListStreamConsumersInputLimit":{
   871        "type":"integer",
   872        "max":10000,
   873        "min":1
   874      },
   875      "ListStreamConsumersOutput":{
   876        "type":"structure",
   877        "members":{
   878          "Consumers":{"shape":"ConsumerList"},
   879          "NextToken":{"shape":"NextToken"}
   880        }
   881      },
   882      "ListStreamsInput":{
   883        "type":"structure",
   884        "members":{
   885          "Limit":{"shape":"ListStreamsInputLimit"},
   886          "ExclusiveStartStreamName":{"shape":"StreamName"}
   887        }
   888      },
   889      "ListStreamsInputLimit":{
   890        "type":"integer",
   891        "max":10000,
   892        "min":1
   893      },
   894      "ListStreamsOutput":{
   895        "type":"structure",
   896        "required":[
   897          "StreamNames",
   898          "HasMoreStreams"
   899        ],
   900        "members":{
   901          "StreamNames":{"shape":"StreamNameList"},
   902          "HasMoreStreams":{"shape":"BooleanObject"}
   903        }
   904      },
   905      "ListTagsForStreamInput":{
   906        "type":"structure",
   907        "required":["StreamName"],
   908        "members":{
   909          "StreamName":{"shape":"StreamName"},
   910          "ExclusiveStartTagKey":{"shape":"TagKey"},
   911          "Limit":{"shape":"ListTagsForStreamInputLimit"}
   912        }
   913      },
   914      "ListTagsForStreamInputLimit":{
   915        "type":"integer",
   916        "max":50,
   917        "min":1
   918      },
   919      "ListTagsForStreamOutput":{
   920        "type":"structure",
   921        "required":[
   922          "Tags",
   923          "HasMoreTags"
   924        ],
   925        "members":{
   926          "Tags":{"shape":"TagList"},
   927          "HasMoreTags":{"shape":"BooleanObject"}
   928        }
   929      },
   930      "MergeShardsInput":{
   931        "type":"structure",
   932        "required":[
   933          "StreamName",
   934          "ShardToMerge",
   935          "AdjacentShardToMerge"
   936        ],
   937        "members":{
   938          "StreamName":{"shape":"StreamName"},
   939          "ShardToMerge":{"shape":"ShardId"},
   940          "AdjacentShardToMerge":{"shape":"ShardId"}
   941        }
   942      },
   943      "MetricsName":{
   944        "type":"string",
   945        "enum":[
   946          "IncomingBytes",
   947          "IncomingRecords",
   948          "OutgoingBytes",
   949          "OutgoingRecords",
   950          "WriteProvisionedThroughputExceeded",
   951          "ReadProvisionedThroughputExceeded",
   952          "IteratorAgeMilliseconds",
   953          "ALL"
   954        ]
   955      },
   956      "MetricsNameList":{
   957        "type":"list",
   958        "member":{"shape":"MetricsName"},
   959        "max":7,
   960        "min":1
   961      },
   962      "MillisBehindLatest":{
   963        "type":"long",
   964        "min":0
   965      },
   966      "NextToken":{
   967        "type":"string",
   968        "max":1048576,
   969        "min":1
   970      },
   971      "PartitionKey":{
   972        "type":"string",
   973        "max":256,
   974        "min":1
   975      },
   976      "PositiveIntegerObject":{
   977        "type":"integer",
   978        "min":1
   979      },
   980      "ProvisionedThroughputExceededException":{
   981        "type":"structure",
   982        "members":{
   983          "message":{"shape":"ErrorMessage"}
   984        },
   985        "exception":true
   986      },
   987      "PutRecordInput":{
   988        "type":"structure",
   989        "required":[
   990          "StreamName",
   991          "Data",
   992          "PartitionKey"
   993        ],
   994        "members":{
   995          "StreamName":{"shape":"StreamName"},
   996          "Data":{"shape":"Data"},
   997          "PartitionKey":{"shape":"PartitionKey"},
   998          "ExplicitHashKey":{"shape":"HashKey"},
   999          "SequenceNumberForOrdering":{"shape":"SequenceNumber"}
  1000        }
  1001      },
  1002      "PutRecordOutput":{
  1003        "type":"structure",
  1004        "required":[
  1005          "ShardId",
  1006          "SequenceNumber"
  1007        ],
  1008        "members":{
  1009          "ShardId":{"shape":"ShardId"},
  1010          "SequenceNumber":{"shape":"SequenceNumber"},
  1011          "EncryptionType":{"shape":"EncryptionType"}
  1012        }
  1013      },
  1014      "PutRecordsInput":{
  1015        "type":"structure",
  1016        "required":[
  1017          "Records",
  1018          "StreamName"
  1019        ],
  1020        "members":{
  1021          "Records":{"shape":"PutRecordsRequestEntryList"},
  1022          "StreamName":{"shape":"StreamName"}
  1023        }
  1024      },
  1025      "PutRecordsOutput":{
  1026        "type":"structure",
  1027        "required":["Records"],
  1028        "members":{
  1029          "FailedRecordCount":{"shape":"PositiveIntegerObject"},
  1030          "Records":{"shape":"PutRecordsResultEntryList"},
  1031          "EncryptionType":{"shape":"EncryptionType"}
  1032        }
  1033      },
  1034      "PutRecordsRequestEntry":{
  1035        "type":"structure",
  1036        "required":[
  1037          "Data",
  1038          "PartitionKey"
  1039        ],
  1040        "members":{
  1041          "Data":{"shape":"Data"},
  1042          "ExplicitHashKey":{"shape":"HashKey"},
  1043          "PartitionKey":{"shape":"PartitionKey"}
  1044        }
  1045      },
  1046      "PutRecordsRequestEntryList":{
  1047        "type":"list",
  1048        "member":{"shape":"PutRecordsRequestEntry"},
  1049        "max":500,
  1050        "min":1
  1051      },
  1052      "PutRecordsResultEntry":{
  1053        "type":"structure",
  1054        "members":{
  1055          "SequenceNumber":{"shape":"SequenceNumber"},
  1056          "ShardId":{"shape":"ShardId"},
  1057          "ErrorCode":{"shape":"ErrorCode"},
  1058          "ErrorMessage":{"shape":"ErrorMessage"}
  1059        }
  1060      },
  1061      "PutRecordsResultEntryList":{
  1062        "type":"list",
  1063        "member":{"shape":"PutRecordsResultEntry"},
  1064        "max":500,
  1065        "min":1
  1066      },
  1067      "Record":{
  1068        "type":"structure",
  1069        "required":[
  1070          "SequenceNumber",
  1071          "Data",
  1072          "PartitionKey"
  1073        ],
  1074        "members":{
  1075          "SequenceNumber":{"shape":"SequenceNumber"},
  1076          "ApproximateArrivalTimestamp":{"shape":"Timestamp"},
  1077          "Data":{"shape":"Data"},
  1078          "PartitionKey":{"shape":"PartitionKey"},
  1079          "EncryptionType":{"shape":"EncryptionType"}
  1080        }
  1081      },
  1082      "RecordList":{
  1083        "type":"list",
  1084        "member":{"shape":"Record"}
  1085      },
  1086      "RegisterStreamConsumerInput":{
  1087        "type":"structure",
  1088        "required":[
  1089          "StreamARN",
  1090          "ConsumerName"
  1091        ],
  1092        "members":{
  1093          "StreamARN":{"shape":"StreamARN"},
  1094          "ConsumerName":{"shape":"ConsumerName"}
  1095        }
  1096      },
  1097      "RegisterStreamConsumerOutput":{
  1098        "type":"structure",
  1099        "required":["Consumer"],
  1100        "members":{
  1101          "Consumer":{"shape":"Consumer"}
  1102        }
  1103      },
  1104      "RemoveTagsFromStreamInput":{
  1105        "type":"structure",
  1106        "required":[
  1107          "StreamName",
  1108          "TagKeys"
  1109        ],
  1110        "members":{
  1111          "StreamName":{"shape":"StreamName"},
  1112          "TagKeys":{"shape":"TagKeyList"}
  1113        }
  1114      },
  1115      "ResourceInUseException":{
  1116        "type":"structure",
  1117        "members":{
  1118          "message":{"shape":"ErrorMessage"}
  1119        },
  1120        "exception":true
  1121      },
  1122      "ResourceNotFoundException":{
  1123        "type":"structure",
  1124        "members":{
  1125          "message":{"shape":"ErrorMessage"}
  1126        },
  1127        "exception":true
  1128      },
  1129      "RetentionPeriodHours":{"type":"integer"},
  1130      "ScalingType":{
  1131        "type":"string",
  1132        "enum":["UNIFORM_SCALING"]
  1133      },
  1134      "SequenceNumber":{
  1135        "type":"string",
  1136        "pattern":"0|([1-9]\\d{0,128})"
  1137      },
  1138      "SequenceNumberRange":{
  1139        "type":"structure",
  1140        "required":["StartingSequenceNumber"],
  1141        "members":{
  1142          "StartingSequenceNumber":{"shape":"SequenceNumber"},
  1143          "EndingSequenceNumber":{"shape":"SequenceNumber"}
  1144        }
  1145      },
  1146      "Shard":{
  1147        "type":"structure",
  1148        "required":[
  1149          "ShardId",
  1150          "HashKeyRange",
  1151          "SequenceNumberRange"
  1152        ],
  1153        "members":{
  1154          "ShardId":{"shape":"ShardId"},
  1155          "ParentShardId":{"shape":"ShardId"},
  1156          "AdjacentParentShardId":{"shape":"ShardId"},
  1157          "HashKeyRange":{"shape":"HashKeyRange"},
  1158          "SequenceNumberRange":{"shape":"SequenceNumberRange"}
  1159        }
  1160      },
  1161      "ShardCountObject":{
  1162        "type":"integer",
  1163        "max":1000000,
  1164        "min":0
  1165      },
  1166      "ShardFilter":{
  1167        "type":"structure",
  1168        "required":["Type"],
  1169        "members":{
  1170          "Type":{"shape":"ShardFilterType"},
  1171          "ShardId":{"shape":"ShardId"},
  1172          "Timestamp":{"shape":"Timestamp"}
  1173        }
  1174      },
  1175      "ShardFilterType":{
  1176        "type":"string",
  1177        "enum":[
  1178          "AFTER_SHARD_ID",
  1179          "AT_TRIM_HORIZON",
  1180          "FROM_TRIM_HORIZON",
  1181          "AT_LATEST",
  1182          "AT_TIMESTAMP",
  1183          "FROM_TIMESTAMP"
  1184        ]
  1185      },
  1186      "ShardId":{
  1187        "type":"string",
  1188        "max":128,
  1189        "min":1,
  1190        "pattern":"[a-zA-Z0-9_.-]+"
  1191      },
  1192      "ShardIdList":{
  1193        "type":"list",
  1194        "member":{"shape":"ShardId"}
  1195      },
  1196      "ShardIterator":{
  1197        "type":"string",
  1198        "max":512,
  1199        "min":1
  1200      },
  1201      "ShardIteratorType":{
  1202        "type":"string",
  1203        "enum":[
  1204          "AT_SEQUENCE_NUMBER",
  1205          "AFTER_SEQUENCE_NUMBER",
  1206          "TRIM_HORIZON",
  1207          "LATEST",
  1208          "AT_TIMESTAMP"
  1209        ]
  1210      },
  1211      "ShardList":{
  1212        "type":"list",
  1213        "member":{"shape":"Shard"}
  1214      },
  1215      "SplitShardInput":{
  1216        "type":"structure",
  1217        "required":[
  1218          "StreamName",
  1219          "ShardToSplit",
  1220          "NewStartingHashKey"
  1221        ],
  1222        "members":{
  1223          "StreamName":{"shape":"StreamName"},
  1224          "ShardToSplit":{"shape":"ShardId"},
  1225          "NewStartingHashKey":{"shape":"HashKey"}
  1226        }
  1227      },
  1228      "StartStreamEncryptionInput":{
  1229        "type":"structure",
  1230        "required":[
  1231          "StreamName",
  1232          "EncryptionType",
  1233          "KeyId"
  1234        ],
  1235        "members":{
  1236          "StreamName":{"shape":"StreamName"},
  1237          "EncryptionType":{"shape":"EncryptionType"},
  1238          "KeyId":{"shape":"KeyId"}
  1239        }
  1240      },
  1241      "StartingPosition":{
  1242        "type":"structure",
  1243        "required":["Type"],
  1244        "members":{
  1245          "Type":{"shape":"ShardIteratorType"},
  1246          "SequenceNumber":{"shape":"SequenceNumber"},
  1247          "Timestamp":{"shape":"Timestamp"}
  1248        }
  1249      },
  1250      "StopStreamEncryptionInput":{
  1251        "type":"structure",
  1252        "required":[
  1253          "StreamName",
  1254          "EncryptionType",
  1255          "KeyId"
  1256        ],
  1257        "members":{
  1258          "StreamName":{"shape":"StreamName"},
  1259          "EncryptionType":{"shape":"EncryptionType"},
  1260          "KeyId":{"shape":"KeyId"}
  1261        }
  1262      },
  1263      "StreamARN":{
  1264        "type":"string",
  1265        "max":2048,
  1266        "min":1,
  1267        "pattern":"arn:aws.*:kinesis:.*:\\d{12}:stream/.+"
  1268      },
  1269      "StreamDescription":{
  1270        "type":"structure",
  1271        "required":[
  1272          "StreamName",
  1273          "StreamARN",
  1274          "StreamStatus",
  1275          "Shards",
  1276          "HasMoreShards",
  1277          "RetentionPeriodHours",
  1278          "StreamCreationTimestamp",
  1279          "EnhancedMonitoring"
  1280        ],
  1281        "members":{
  1282          "StreamName":{"shape":"StreamName"},
  1283          "StreamARN":{"shape":"StreamARN"},
  1284          "StreamStatus":{"shape":"StreamStatus"},
  1285          "Shards":{"shape":"ShardList"},
  1286          "HasMoreShards":{"shape":"BooleanObject"},
  1287          "RetentionPeriodHours":{"shape":"RetentionPeriodHours"},
  1288          "StreamCreationTimestamp":{"shape":"Timestamp"},
  1289          "EnhancedMonitoring":{"shape":"EnhancedMonitoringList"},
  1290          "EncryptionType":{"shape":"EncryptionType"},
  1291          "KeyId":{"shape":"KeyId"}
  1292        }
  1293      },
  1294      "StreamDescriptionSummary":{
  1295        "type":"structure",
  1296        "required":[
  1297          "StreamName",
  1298          "StreamARN",
  1299          "StreamStatus",
  1300          "RetentionPeriodHours",
  1301          "StreamCreationTimestamp",
  1302          "EnhancedMonitoring",
  1303          "OpenShardCount"
  1304        ],
  1305        "members":{
  1306          "StreamName":{"shape":"StreamName"},
  1307          "StreamARN":{"shape":"StreamARN"},
  1308          "StreamStatus":{"shape":"StreamStatus"},
  1309          "RetentionPeriodHours":{"shape":"RetentionPeriodHours"},
  1310          "StreamCreationTimestamp":{"shape":"Timestamp"},
  1311          "EnhancedMonitoring":{"shape":"EnhancedMonitoringList"},
  1312          "EncryptionType":{"shape":"EncryptionType"},
  1313          "KeyId":{"shape":"KeyId"},
  1314          "OpenShardCount":{"shape":"ShardCountObject"},
  1315          "ConsumerCount":{"shape":"ConsumerCountObject"}
  1316        }
  1317      },
  1318      "StreamName":{
  1319        "type":"string",
  1320        "max":128,
  1321        "min":1,
  1322        "pattern":"[a-zA-Z0-9_.-]+"
  1323      },
  1324      "StreamNameList":{
  1325        "type":"list",
  1326        "member":{"shape":"StreamName"}
  1327      },
  1328      "StreamStatus":{
  1329        "type":"string",
  1330        "enum":[
  1331          "CREATING",
  1332          "DELETING",
  1333          "ACTIVE",
  1334          "UPDATING"
  1335        ]
  1336      },
  1337      "SubscribeToShardEvent":{
  1338        "type":"structure",
  1339        "required":[
  1340          "Records",
  1341          "ContinuationSequenceNumber",
  1342          "MillisBehindLatest"
  1343        ],
  1344        "members":{
  1345          "Records":{"shape":"RecordList"},
  1346          "ContinuationSequenceNumber":{"shape":"SequenceNumber"},
  1347          "MillisBehindLatest":{"shape":"MillisBehindLatest"},
  1348          "ChildShards":{"shape":"ChildShardList"}
  1349        },
  1350        "event":true
  1351      },
  1352      "SubscribeToShardEventStream":{
  1353        "type":"structure",
  1354        "required":["SubscribeToShardEvent"],
  1355        "members":{
  1356          "SubscribeToShardEvent":{"shape":"SubscribeToShardEvent"},
  1357          "ResourceNotFoundException":{"shape":"ResourceNotFoundException"},
  1358          "ResourceInUseException":{"shape":"ResourceInUseException"},
  1359          "KMSDisabledException":{"shape":"KMSDisabledException"},
  1360          "KMSInvalidStateException":{"shape":"KMSInvalidStateException"},
  1361          "KMSAccessDeniedException":{"shape":"KMSAccessDeniedException"},
  1362          "KMSNotFoundException":{"shape":"KMSNotFoundException"},
  1363          "KMSOptInRequired":{"shape":"KMSOptInRequired"},
  1364          "KMSThrottlingException":{"shape":"KMSThrottlingException"},
  1365          "InternalFailureException":{"shape":"InternalFailureException"}
  1366        },
  1367        "eventstream":true
  1368      },
  1369      "SubscribeToShardInput":{
  1370        "type":"structure",
  1371        "required":[
  1372          "ConsumerARN",
  1373          "ShardId",
  1374          "StartingPosition"
  1375        ],
  1376        "members":{
  1377          "ConsumerARN":{"shape":"ConsumerARN"},
  1378          "ShardId":{"shape":"ShardId"},
  1379          "StartingPosition":{"shape":"StartingPosition"}
  1380        }
  1381      },
  1382      "SubscribeToShardOutput":{
  1383        "type":"structure",
  1384        "required":["EventStream"],
  1385        "members":{
  1386          "EventStream":{"shape":"SubscribeToShardEventStream"}
  1387        }
  1388      },
  1389      "Tag":{
  1390        "type":"structure",
  1391        "required":["Key"],
  1392        "members":{
  1393          "Key":{"shape":"TagKey"},
  1394          "Value":{"shape":"TagValue"}
  1395        }
  1396      },
  1397      "TagKey":{
  1398        "type":"string",
  1399        "max":128,
  1400        "min":1
  1401      },
  1402      "TagKeyList":{
  1403        "type":"list",
  1404        "member":{"shape":"TagKey"},
  1405        "max":50,
  1406        "min":1
  1407      },
  1408      "TagList":{
  1409        "type":"list",
  1410        "member":{"shape":"Tag"},
  1411        "max":200,
  1412        "min":0
  1413      },
  1414      "TagMap":{
  1415        "type":"map",
  1416        "key":{"shape":"TagKey"},
  1417        "value":{"shape":"TagValue"},
  1418        "max":200,
  1419        "min":1
  1420      },
  1421      "TagValue":{
  1422        "type":"string",
  1423        "max":256,
  1424        "min":0
  1425      },
  1426      "Timestamp":{"type":"timestamp"},
  1427      "UpdateShardCountInput":{
  1428        "type":"structure",
  1429        "required":[
  1430          "StreamName",
  1431          "TargetShardCount",
  1432          "ScalingType"
  1433        ],
  1434        "members":{
  1435          "StreamName":{"shape":"StreamName"},
  1436          "TargetShardCount":{"shape":"PositiveIntegerObject"},
  1437          "ScalingType":{"shape":"ScalingType"}
  1438        }
  1439      },
  1440      "UpdateShardCountOutput":{
  1441        "type":"structure",
  1442        "members":{
  1443          "StreamName":{"shape":"StreamName"},
  1444          "CurrentShardCount":{"shape":"PositiveIntegerObject"},
  1445          "TargetShardCount":{"shape":"PositiveIntegerObject"}
  1446        }
  1447      }
  1448    }
  1449  }