123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977 |
- // THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT.
- // Package dynamodbstreams provides a client for Amazon DynamoDB Streams.
- package dynamodbstreams
- import (
- "time"
- "github.com/aws/aws-sdk-go/aws/awsutil"
- "github.com/aws/aws-sdk-go/aws/request"
- "github.com/aws/aws-sdk-go/service/dynamodb"
- )
- const opDescribeStream = "DescribeStream"
- // DescribeStreamRequest generates a "aws/request.Request" representing the
- // client's request for the DescribeStream operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See DescribeStream for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the DescribeStream method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the DescribeStreamRequest method.
- // req, resp := client.DescribeStreamRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *DynamoDBStreams) DescribeStreamRequest(input *DescribeStreamInput) (req *request.Request, output *DescribeStreamOutput) {
- op := &request.Operation{
- Name: opDescribeStream,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &DescribeStreamInput{}
- }
- req = c.newRequest(op, input, output)
- output = &DescribeStreamOutput{}
- req.Data = output
- return
- }
- // DescribeStream API operation for Amazon DynamoDB Streams.
- //
- // Returns information about a stream, including the current status of the stream,
- // its Amazon Resource Name (ARN), the composition of its shards, and its corresponding
- // DynamoDB table.
- //
- // You can call DescribeStream at a maximum rate of 10 times per second.
- //
- // Each shard in the stream has a SequenceNumberRange associated with it. If
- // the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber,
- // then the shard is still open (able to receive more stream records). If both
- // StartingSequenceNumber and EndingSequenceNumber are present, then that shard
- // is closed and can no longer receive more data.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB Streams's
- // API operation DescribeStream for usage and error information.
- //
- // Returned Error Codes:
- // * ResourceNotFoundException
- // The operation tried to access a nonexistent stream.
- //
- // * InternalServerError
- // An error occurred on the server side.
- //
- func (c *DynamoDBStreams) DescribeStream(input *DescribeStreamInput) (*DescribeStreamOutput, error) {
- req, out := c.DescribeStreamRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetRecords = "GetRecords"
- // GetRecordsRequest generates a "aws/request.Request" representing the
- // client's request for the GetRecords operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetRecords for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetRecords method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetRecordsRequest method.
- // req, resp := client.GetRecordsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *DynamoDBStreams) GetRecordsRequest(input *GetRecordsInput) (req *request.Request, output *GetRecordsOutput) {
- op := &request.Operation{
- Name: opGetRecords,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetRecordsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetRecordsOutput{}
- req.Data = output
- return
- }
- // GetRecords API operation for Amazon DynamoDB Streams.
- //
- // Retrieves the stream records from a given shard.
- //
- // Specify a shard iterator using the ShardIterator parameter. The shard iterator
- // specifies the position in the shard from which you want to start reading
- // stream records sequentially. If there are no stream records available in
- // the portion of the shard that the iterator points to, GetRecords returns
- // an empty list. Note that it might take multiple calls to get to a portion
- // of the shard that contains stream records.
- //
- // GetRecords can retrieve a maximum of 1 MB of data or 1000 stream records,
- // whichever comes first.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB Streams's
- // API operation GetRecords for usage and error information.
- //
- // Returned Error Codes:
- // * ResourceNotFoundException
- // The operation tried to access a nonexistent stream.
- //
- // * LimitExceededException
- // Your request rate is too high. The AWS SDKs for DynamoDB automatically retry
- // requests that receive this exception. Your request is eventually successful,
- // unless your retry queue is too large to finish. Reduce the frequency of requests
- // and use exponential backoff. For more information, go to Error Retries and
- // Exponential Backoff (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ErrorHandling.html#APIRetries)
- // in the Amazon DynamoDB Developer Guide.
- //
- // * InternalServerError
- // An error occurred on the server side.
- //
- // * ExpiredIteratorException
- // The shard iterator has expired and can no longer be used to retrieve stream
- // records. A shard iterator expires 15 minutes after it is retrieved using
- // the GetShardIterator action.
- //
- // * TrimmedDataAccessException
- // The operation attempted to read past the oldest stream record in a shard.
- //
- // In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records
- // whose age exceeds this limit are subject to removal (trimming) from the stream.
- // You might receive a TrimmedDataAccessException if:
- //
- // * You request a shard iterator with a sequence number older than the trim
- // point (24 hours).
- //
- // * You obtain a shard iterator, but before you use the iterator in a GetRecords
- // request, a stream record in the shard exceeds the 24 hour period and is
- // trimmed. This causes the iterator to access a record that no longer exists.
- //
- func (c *DynamoDBStreams) GetRecords(input *GetRecordsInput) (*GetRecordsOutput, error) {
- req, out := c.GetRecordsRequest(input)
- err := req.Send()
- return out, err
- }
- const opGetShardIterator = "GetShardIterator"
- // GetShardIteratorRequest generates a "aws/request.Request" representing the
- // client's request for the GetShardIterator operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See GetShardIterator for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the GetShardIterator method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the GetShardIteratorRequest method.
- // req, resp := client.GetShardIteratorRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *DynamoDBStreams) GetShardIteratorRequest(input *GetShardIteratorInput) (req *request.Request, output *GetShardIteratorOutput) {
- op := &request.Operation{
- Name: opGetShardIterator,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &GetShardIteratorInput{}
- }
- req = c.newRequest(op, input, output)
- output = &GetShardIteratorOutput{}
- req.Data = output
- return
- }
- // GetShardIterator API operation for Amazon DynamoDB Streams.
- //
- // Returns a shard iterator. A shard iterator provides information about how
- // to retrieve the stream records from within a shard. Use the shard iterator
- // in a subsequent GetRecords request to read the stream records from the shard.
- //
- // A shard iterator expires 15 minutes after it is returned to the requester.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB Streams's
- // API operation GetShardIterator for usage and error information.
- //
- // Returned Error Codes:
- // * ResourceNotFoundException
- // The operation tried to access a nonexistent stream.
- //
- // * InternalServerError
- // An error occurred on the server side.
- //
- // * TrimmedDataAccessException
- // The operation attempted to read past the oldest stream record in a shard.
- //
- // In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records
- // whose age exceeds this limit are subject to removal (trimming) from the stream.
- // You might receive a TrimmedDataAccessException if:
- //
- // * You request a shard iterator with a sequence number older than the trim
- // point (24 hours).
- //
- // * You obtain a shard iterator, but before you use the iterator in a GetRecords
- // request, a stream record in the shard exceeds the 24 hour period and is
- // trimmed. This causes the iterator to access a record that no longer exists.
- //
- func (c *DynamoDBStreams) GetShardIterator(input *GetShardIteratorInput) (*GetShardIteratorOutput, error) {
- req, out := c.GetShardIteratorRequest(input)
- err := req.Send()
- return out, err
- }
- const opListStreams = "ListStreams"
- // ListStreamsRequest generates a "aws/request.Request" representing the
- // client's request for the ListStreams operation. The "output" return
- // value can be used to capture response data after the request's "Send" method
- // is called.
- //
- // See ListStreams for usage and error information.
- //
- // Creating a request object using this method should be used when you want to inject
- // custom logic into the request's lifecycle using a custom handler, or if you want to
- // access properties on the request object before or after sending the request. If
- // you just want the service response, call the ListStreams method directly
- // instead.
- //
- // Note: You must call the "Send" method on the returned request object in order
- // to execute the request.
- //
- // // Example sending a request using the ListStreamsRequest method.
- // req, resp := client.ListStreamsRequest(params)
- //
- // err := req.Send()
- // if err == nil { // resp is now filled
- // fmt.Println(resp)
- // }
- //
- func (c *DynamoDBStreams) ListStreamsRequest(input *ListStreamsInput) (req *request.Request, output *ListStreamsOutput) {
- op := &request.Operation{
- Name: opListStreams,
- HTTPMethod: "POST",
- HTTPPath: "/",
- }
- if input == nil {
- input = &ListStreamsInput{}
- }
- req = c.newRequest(op, input, output)
- output = &ListStreamsOutput{}
- req.Data = output
- return
- }
- // ListStreams API operation for Amazon DynamoDB Streams.
- //
- // Returns an array of stream ARNs associated with the current account and endpoint.
- // If the TableName parameter is present, then ListStreams will return only
- // the streams ARNs for that table.
- //
- // You can call ListStreams at a maximum rate of 5 times per second.
- //
- // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
- // with awserr.Error's Code and Message methods to get detailed information about
- // the error.
- //
- // See the AWS API reference guide for Amazon DynamoDB Streams's
- // API operation ListStreams for usage and error information.
- //
- // Returned Error Codes:
- // * ResourceNotFoundException
- // The operation tried to access a nonexistent stream.
- //
- // * InternalServerError
- // An error occurred on the server side.
- //
- func (c *DynamoDBStreams) ListStreams(input *ListStreamsInput) (*ListStreamsOutput, error) {
- req, out := c.ListStreamsRequest(input)
- err := req.Send()
- return out, err
- }
- // Represents the input of a DescribeStream operation.
- type DescribeStreamInput struct {
- _ struct{} `type:"structure"`
- // The shard ID of the first item that this operation will evaluate. Use the
- // value that was returned for LastEvaluatedShardId in the previous operation.
- ExclusiveStartShardId *string `min:"28" type:"string"`
- // The maximum number of shard objects to return. The upper limit is 100.
- Limit *int64 `min:"1" type:"integer"`
- // The Amazon Resource Name (ARN) for the stream.
- //
- // StreamArn is a required field
- StreamArn *string `min:"37" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s DescribeStreamInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeStreamInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *DescribeStreamInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "DescribeStreamInput"}
- if s.ExclusiveStartShardId != nil && len(*s.ExclusiveStartShardId) < 28 {
- invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartShardId", 28))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.StreamArn == nil {
- invalidParams.Add(request.NewErrParamRequired("StreamArn"))
- }
- if s.StreamArn != nil && len(*s.StreamArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("StreamArn", 37))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Represents the output of a DescribeStream operation.
- type DescribeStreamOutput struct {
- _ struct{} `type:"structure"`
- // A complete description of the stream, including its creation date and time,
- // the DynamoDB table associated with the stream, the shard IDs within the stream,
- // and the beginning and ending sequence numbers of stream records within the
- // shards.
- StreamDescription *StreamDescription `type:"structure"`
- }
- // String returns the string representation
- func (s DescribeStreamOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s DescribeStreamOutput) GoString() string {
- return s.String()
- }
- // Represents the input of a GetRecords operation.
- type GetRecordsInput struct {
- _ struct{} `type:"structure"`
- // The maximum number of records to return from the shard. The upper limit is
- // 1000.
- Limit *int64 `min:"1" type:"integer"`
- // A shard iterator that was retrieved from a previous GetShardIterator operation.
- // This iterator can be used to access the stream records in this shard.
- //
- // ShardIterator is a required field
- ShardIterator *string `min:"1" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetRecordsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetRecordsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetRecordsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetRecordsInput"}
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.ShardIterator == nil {
- invalidParams.Add(request.NewErrParamRequired("ShardIterator"))
- }
- if s.ShardIterator != nil && len(*s.ShardIterator) < 1 {
- invalidParams.Add(request.NewErrParamMinLen("ShardIterator", 1))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Represents the output of a GetRecords operation.
- type GetRecordsOutput struct {
- _ struct{} `type:"structure"`
- // The next position in the shard from which to start sequentially reading stream
- // records. If set to null, the shard has been closed and the requested iterator
- // will not return any more data.
- NextShardIterator *string `min:"1" type:"string"`
- // The stream records from the shard, which were retrieved using the shard iterator.
- Records []*Record `type:"list"`
- }
- // String returns the string representation
- func (s GetRecordsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetRecordsOutput) GoString() string {
- return s.String()
- }
- // Represents the input of a GetShardIterator operation.
- type GetShardIteratorInput struct {
- _ struct{} `type:"structure"`
- // The sequence number of a stream record in the shard from which to start reading.
- SequenceNumber *string `min:"21" type:"string"`
- // The identifier of the shard. The iterator will be returned for this shard
- // ID.
- //
- // ShardId is a required field
- ShardId *string `min:"28" type:"string" required:"true"`
- // Determines how the shard iterator is used to start reading stream records
- // from the shard:
- //
- // * AT_SEQUENCE_NUMBER - Start reading exactly from the position denoted
- // by a specific sequence number.
- //
- // * AFTER_SEQUENCE_NUMBER - Start reading right after the position denoted
- // by a specific sequence number.
- //
- // * TRIM_HORIZON - Start reading at the last (untrimmed) stream record,
- // which is the oldest record in the shard. In DynamoDB Streams, there is
- // a 24 hour limit on data retention. Stream records whose age exceeds this
- // limit are subject to removal (trimming) from the stream.
- //
- // * LATEST - Start reading just after the most recent stream record in the
- // shard, so that you always read the most recent data in the shard.
- //
- // ShardIteratorType is a required field
- ShardIteratorType *string `type:"string" required:"true" enum:"ShardIteratorType"`
- // The Amazon Resource Name (ARN) for the stream.
- //
- // StreamArn is a required field
- StreamArn *string `min:"37" type:"string" required:"true"`
- }
- // String returns the string representation
- func (s GetShardIteratorInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetShardIteratorInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *GetShardIteratorInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "GetShardIteratorInput"}
- if s.SequenceNumber != nil && len(*s.SequenceNumber) < 21 {
- invalidParams.Add(request.NewErrParamMinLen("SequenceNumber", 21))
- }
- if s.ShardId == nil {
- invalidParams.Add(request.NewErrParamRequired("ShardId"))
- }
- if s.ShardId != nil && len(*s.ShardId) < 28 {
- invalidParams.Add(request.NewErrParamMinLen("ShardId", 28))
- }
- if s.ShardIteratorType == nil {
- invalidParams.Add(request.NewErrParamRequired("ShardIteratorType"))
- }
- if s.StreamArn == nil {
- invalidParams.Add(request.NewErrParamRequired("StreamArn"))
- }
- if s.StreamArn != nil && len(*s.StreamArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("StreamArn", 37))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Represents the output of a GetShardIterator operation.
- type GetShardIteratorOutput struct {
- _ struct{} `type:"structure"`
- // The position in the shard from which to start reading stream records sequentially.
- // A shard iterator specifies this position using the sequence number of a stream
- // record in a shard.
- ShardIterator *string `min:"1" type:"string"`
- }
- // String returns the string representation
- func (s GetShardIteratorOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s GetShardIteratorOutput) GoString() string {
- return s.String()
- }
- // Represents the input of a ListStreams operation.
- type ListStreamsInput struct {
- _ struct{} `type:"structure"`
- // The ARN (Amazon Resource Name) of the first item that this operation will
- // evaluate. Use the value that was returned for LastEvaluatedStreamArn in the
- // previous operation.
- ExclusiveStartStreamArn *string `min:"37" type:"string"`
- // The maximum number of streams to return. The upper limit is 100.
- Limit *int64 `min:"1" type:"integer"`
- // If this parameter is provided, then only the streams associated with this
- // table name are returned.
- TableName *string `min:"3" type:"string"`
- }
- // String returns the string representation
- func (s ListStreamsInput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListStreamsInput) GoString() string {
- return s.String()
- }
- // Validate inspects the fields of the type to determine if they are valid.
- func (s *ListStreamsInput) Validate() error {
- invalidParams := request.ErrInvalidParams{Context: "ListStreamsInput"}
- if s.ExclusiveStartStreamArn != nil && len(*s.ExclusiveStartStreamArn) < 37 {
- invalidParams.Add(request.NewErrParamMinLen("ExclusiveStartStreamArn", 37))
- }
- if s.Limit != nil && *s.Limit < 1 {
- invalidParams.Add(request.NewErrParamMinValue("Limit", 1))
- }
- if s.TableName != nil && len(*s.TableName) < 3 {
- invalidParams.Add(request.NewErrParamMinLen("TableName", 3))
- }
- if invalidParams.Len() > 0 {
- return invalidParams
- }
- return nil
- }
- // Represents the output of a ListStreams operation.
- type ListStreamsOutput struct {
- _ struct{} `type:"structure"`
- // The stream ARN of the item where the operation stopped, inclusive of the
- // previous result set. Use this value to start a new operation, excluding this
- // value in the new request.
- //
- // If LastEvaluatedStreamArn is empty, then the "last page" of results has been
- // processed and there is no more data to be retrieved.
- //
- // If LastEvaluatedStreamArn is not empty, it does not necessarily mean that
- // there is more data in the result set. The only way to know when you have
- // reached the end of the result set is when LastEvaluatedStreamArn is empty.
- LastEvaluatedStreamArn *string `min:"37" type:"string"`
- // A list of stream descriptors associated with the current account and endpoint.
- Streams []*Stream `type:"list"`
- }
- // String returns the string representation
- func (s ListStreamsOutput) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s ListStreamsOutput) GoString() string {
- return s.String()
- }
- // A description of a unique event within a stream.
- type Record struct {
- _ struct{} `type:"structure"`
- // The region in which the GetRecords request was received.
- AwsRegion *string `locationName:"awsRegion" type:"string"`
- // The main body of the stream record, containing all of the DynamoDB-specific
- // fields.
- Dynamodb *StreamRecord `locationName:"dynamodb" type:"structure"`
- // A globally unique identifier for the event that was recorded in this stream
- // record.
- EventID *string `locationName:"eventID" type:"string"`
- // The type of data modification that was performed on the DynamoDB table:
- //
- // * INSERT - a new item was added to the table.
- //
- // * MODIFY - one or more of an existing item's attributes were modified.
- //
- // * REMOVE - the item was deleted from the table
- EventName *string `locationName:"eventName" type:"string" enum:"OperationType"`
- // The AWS service from which the stream record originated. For DynamoDB Streams,
- // this is aws:dynamodb.
- EventSource *string `locationName:"eventSource" type:"string"`
- // The version number of the stream record format. This number is updated whenever
- // the structure of Record is modified.
- //
- // Client applications must not assume that eventVersion will remain at a particular
- // value, as this number is subject to change at any time. In general, eventVersion
- // will only increase as the low-level DynamoDB Streams API evolves.
- EventVersion *string `locationName:"eventVersion" type:"string"`
- }
- // String returns the string representation
- func (s Record) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Record) GoString() string {
- return s.String()
- }
- // The beginning and ending sequence numbers for the stream records contained
- // within a shard.
- type SequenceNumberRange struct {
- _ struct{} `type:"structure"`
- // The last sequence number.
- EndingSequenceNumber *string `min:"21" type:"string"`
- // The first sequence number.
- StartingSequenceNumber *string `min:"21" type:"string"`
- }
- // String returns the string representation
- func (s SequenceNumberRange) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s SequenceNumberRange) GoString() string {
- return s.String()
- }
- // A uniquely identified group of stream records within a stream.
- type Shard struct {
- _ struct{} `type:"structure"`
- // The shard ID of the current shard's parent.
- ParentShardId *string `min:"28" type:"string"`
- // The range of possible sequence numbers for the shard.
- SequenceNumberRange *SequenceNumberRange `type:"structure"`
- // The system-generated identifier for this shard.
- ShardId *string `min:"28" type:"string"`
- }
- // String returns the string representation
- func (s Shard) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Shard) GoString() string {
- return s.String()
- }
- // Represents all of the data describing a particular stream.
- type Stream struct {
- _ struct{} `type:"structure"`
- // The Amazon Resource Name (ARN) for the stream.
- StreamArn *string `min:"37" type:"string"`
- // A timestamp, in ISO 8601 format, for this stream.
- //
- // Note that LatestStreamLabel is not a unique identifier for the stream, because
- // it is possible that a stream from another table might have the same timestamp.
- // However, the combination of the following three elements is guaranteed to
- // be unique:
- //
- // * the AWS customer ID.
- //
- // * the table name
- //
- // * the StreamLabel
- StreamLabel *string `type:"string"`
- // The DynamoDB table with which the stream is associated.
- TableName *string `min:"3" type:"string"`
- }
- // String returns the string representation
- func (s Stream) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s Stream) GoString() string {
- return s.String()
- }
- // Represents all of the data describing a particular stream.
- type StreamDescription struct {
- _ struct{} `type:"structure"`
- // The date and time when the request to create this stream was issued.
- CreationRequestDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The key attribute(s) of the stream's DynamoDB table.
- KeySchema []*dynamodb.KeySchemaElement `min:"1" type:"list"`
- // The shard ID of the item where the operation stopped, inclusive of the previous
- // result set. Use this value to start a new operation, excluding this value
- // in the new request.
- //
- // If LastEvaluatedShardId is empty, then the "last page" of results has been
- // processed and there is currently no more data to be retrieved.
- //
- // If LastEvaluatedShardId is not empty, it does not necessarily mean that there
- // is more data in the result set. The only way to know when you have reached
- // the end of the result set is when LastEvaluatedShardId is empty.
- LastEvaluatedShardId *string `min:"28" type:"string"`
- // The shards that comprise the stream.
- Shards []*Shard `type:"list"`
- // The Amazon Resource Name (ARN) for the stream.
- StreamArn *string `min:"37" type:"string"`
- // A timestamp, in ISO 8601 format, for this stream.
- //
- // Note that LatestStreamLabel is not a unique identifier for the stream, because
- // it is possible that a stream from another table might have the same timestamp.
- // However, the combination of the following three elements is guaranteed to
- // be unique:
- //
- // * the AWS customer ID.
- //
- // * the table name
- //
- // * the StreamLabel
- StreamLabel *string `type:"string"`
- // Indicates the current status of the stream:
- //
- // * ENABLING - Streams is currently being enabled on the DynamoDB table.
- //
- // * ENABLED - the stream is enabled.
- //
- // * DISABLING - Streams is currently being disabled on the DynamoDB table.
- //
- // * DISABLED - the stream is disabled.
- StreamStatus *string `type:"string" enum:"StreamStatus"`
- // Indicates the format of the records within this stream:
- //
- // * KEYS_ONLY - only the key attributes of items that were modified in the
- // DynamoDB table.
- //
- // * NEW_IMAGE - entire items from the table, as they appeared after they
- // were modified.
- //
- // * OLD_IMAGE - entire items from the table, as they appeared before they
- // were modified.
- //
- // * NEW_AND_OLD_IMAGES - both the new and the old images of the items from
- // the table.
- StreamViewType *string `type:"string" enum:"StreamViewType"`
- // The DynamoDB table with which the stream is associated.
- TableName *string `min:"3" type:"string"`
- }
- // String returns the string representation
- func (s StreamDescription) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamDescription) GoString() string {
- return s.String()
- }
- // A description of a single data modification that was performed on an item
- // in a DynamoDB table.
- type StreamRecord struct {
- _ struct{} `type:"structure"`
- // The approximate date and time when the stream record was created, in UNIX
- // epoch time (http://www.epochconverter.com/) format.
- ApproximateCreationDateTime *time.Time `type:"timestamp" timestampFormat:"unix"`
- // The primary key attribute(s) for the DynamoDB item that was modified.
- Keys map[string]*dynamodb.AttributeValue `type:"map"`
- // The item in the DynamoDB table as it appeared after it was modified.
- NewImage map[string]*dynamodb.AttributeValue `type:"map"`
- // The item in the DynamoDB table as it appeared before it was modified.
- OldImage map[string]*dynamodb.AttributeValue `type:"map"`
- // The sequence number of the stream record.
- SequenceNumber *string `min:"21" type:"string"`
- // The size of the stream record, in bytes.
- SizeBytes *int64 `min:"1" type:"long"`
- // The type of data from the modified DynamoDB item that was captured in this
- // stream record:
- //
- // * KEYS_ONLY - only the key attributes of the modified item.
- //
- // * NEW_IMAGE - the entire item, as it appeared after it was modified.
- //
- // * OLD_IMAGE - the entire item, as it appeared before it was modified.
- //
- // * NEW_AND_OLD_IMAGES - both the new and the old item images of the item.
- StreamViewType *string `type:"string" enum:"StreamViewType"`
- }
- // String returns the string representation
- func (s StreamRecord) String() string {
- return awsutil.Prettify(s)
- }
- // GoString returns the string representation
- func (s StreamRecord) GoString() string {
- return s.String()
- }
- const (
- // KeyTypeHash is a KeyType enum value
- KeyTypeHash = "HASH"
- // KeyTypeRange is a KeyType enum value
- KeyTypeRange = "RANGE"
- )
- const (
- // OperationTypeInsert is a OperationType enum value
- OperationTypeInsert = "INSERT"
- // OperationTypeModify is a OperationType enum value
- OperationTypeModify = "MODIFY"
- // OperationTypeRemove is a OperationType enum value
- OperationTypeRemove = "REMOVE"
- )
- const (
- // ShardIteratorTypeTrimHorizon is a ShardIteratorType enum value
- ShardIteratorTypeTrimHorizon = "TRIM_HORIZON"
- // ShardIteratorTypeLatest is a ShardIteratorType enum value
- ShardIteratorTypeLatest = "LATEST"
- // ShardIteratorTypeAtSequenceNumber is a ShardIteratorType enum value
- ShardIteratorTypeAtSequenceNumber = "AT_SEQUENCE_NUMBER"
- // ShardIteratorTypeAfterSequenceNumber is a ShardIteratorType enum value
- ShardIteratorTypeAfterSequenceNumber = "AFTER_SEQUENCE_NUMBER"
- )
- const (
- // StreamStatusEnabling is a StreamStatus enum value
- StreamStatusEnabling = "ENABLING"
- // StreamStatusEnabled is a StreamStatus enum value
- StreamStatusEnabled = "ENABLED"
- // StreamStatusDisabling is a StreamStatus enum value
- StreamStatusDisabling = "DISABLING"
- // StreamStatusDisabled is a StreamStatus enum value
- StreamStatusDisabled = "DISABLED"
- )
- const (
- // StreamViewTypeNewImage is a StreamViewType enum value
- StreamViewTypeNewImage = "NEW_IMAGE"
- // StreamViewTypeOldImage is a StreamViewType enum value
- StreamViewTypeOldImage = "OLD_IMAGE"
- // StreamViewTypeNewAndOldImages is a StreamViewType enum value
- StreamViewTypeNewAndOldImages = "NEW_AND_OLD_IMAGES"
- // StreamViewTypeKeysOnly is a StreamViewType enum value
- StreamViewTypeKeysOnly = "KEYS_ONLY"
- )
|