1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package kinesisvideoarchivedmedia
import (
"context"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Returns a list of Fragment objects from the specified stream and timestamp range
// within the archived data. Listing fragments is eventually consistent. This means
// that even if the producer receives an acknowledgment that a fragment is
// persisted, the result might not be returned immediately from a request to
// ListFragments. However, results are typically available in less than one second.
// You must first call the GetDataEndpoint API to get an endpoint. Then send the
// ListFragments requests to this endpoint using the --endpoint-url parameter
// (https://docs.aws.amazon.com/cli/latest/reference/). If an error is thrown after
// invoking a Kinesis Video Streams archived media API, in addition to the HTTP
// status code and the response body, it includes the following pieces of
// information:
//
// * x-amz-ErrorType HTTP header – contains a more specific error
// type in addition to what the HTTP status code provides.
//
// * x-amz-RequestId HTTP
// header – if you want to report an issue to AWS, the support team can better
// diagnose the problem if given the Request Id.
//
// Both the HTTP status code and the
// ErrorType header can be utilized to make programmatic decisions about whether
// errors are retry-able and under what conditions, as well as provide information
// on what actions the client programmer might need to take in order to
// successfully try again. For more information, see the Errors section at the
// bottom of this topic, as well as Common Errors
// (https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html).
func (c *Client) ListFragments(ctx context.Context, params *ListFragmentsInput, optFns ...func(*Options)) (*ListFragmentsOutput, error) {
if params == nil {
params = &ListFragmentsInput{}
}
result, metadata, err := c.invokeOperation(ctx, "ListFragments", params, optFns, c.addOperationListFragmentsMiddlewares)
if err != nil {
return nil, err
}
out := result.(*ListFragmentsOutput)
out.ResultMetadata = metadata
return out, nil
}
type ListFragmentsInput struct {
// Describes the timestamp range and timestamp origin for the range of fragments to
// return.
FragmentSelector *types.FragmentSelector
// The total number of fragments to return. If the total number of fragments
// available is more than the value specified in max-results, then a
// ListFragmentsOutput$NextToken is provided in the output that you can use to
// resume pagination.
MaxResults *int64
// A token to specify where to start paginating. This is the
// ListFragmentsOutput$NextToken from a previously truncated response.
NextToken *string
// The Amazon Resource Name (ARN) of the stream from which to retrieve a fragment
// list. Specify either this parameter or the StreamName parameter.
StreamARN *string
// The name of the stream from which to retrieve a fragment list. Specify either
// this parameter or the StreamARN parameter.
StreamName *string
noSmithyDocumentSerde
}
type ListFragmentsOutput struct {
// A list of archived Fragment objects from the stream that meet the selector
// criteria. Results are in no specific order, even across pages.
Fragments []types.Fragment
// If the returned list is truncated, the operation returns this token to use to
// retrieve the next page of results. This value is null when there are no more
// results to return.
NextToken *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationListFragmentsMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestjson1_serializeOpListFragments{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListFragments{}, middleware.After)
if err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = addHTTPSignerV4Middleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addOpListFragmentsValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListFragments(options.Region), middleware.Before); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opListFragments(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "kinesisvideo",
OperationName: "ListFragments",
}
}
|