/
api_op_CreateStreamProcessor.go
164 lines (145 loc) · 5.57 KB
/
api_op_CreateStreamProcessor.go
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
// Code generated by smithy-go-codegen DO NOT EDIT.
package rekognition
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/rekognition/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Creates an Amazon Rekognition stream processor that you can use to detect and
// recognize faces in a streaming video. Amazon Rekognition Video is a consumer of
// live video from Amazon Kinesis Video Streams. Amazon Rekognition Video sends
// analysis results to Amazon Kinesis Data Streams. You provide as input a Kinesis
// video stream (Input) and a Kinesis data stream (Output) stream. You also specify
// the face recognition criteria in Settings. For example, the collection
// containing faces that you want to recognize. Use Name to assign an identifier
// for the stream processor. You use Name to manage the stream processor. For
// example, you can start processing the source video by calling
// StartStreamProcessor with the Name field. After you have finished analyzing a
// streaming video, use StopStreamProcessor to stop processing. You can delete the
// stream processor by calling DeleteStreamProcessor. This operation requires
// permissions to perform the rekognition:CreateStreamProcessor action. If you want
// to tag your stream processor, you also require permission to perform the
// rekognition:TagResource operation.
func (c *Client) CreateStreamProcessor(ctx context.Context, params *CreateStreamProcessorInput, optFns ...func(*Options)) (*CreateStreamProcessorOutput, error) {
if params == nil {
params = &CreateStreamProcessorInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateStreamProcessor", params, optFns, c.addOperationCreateStreamProcessorMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateStreamProcessorOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateStreamProcessorInput struct {
// Kinesis video stream stream that provides the source streaming video. If you are
// using the AWS CLI, the parameter name is StreamProcessorInput.
//
// This member is required.
Input *types.StreamProcessorInput
// An identifier you assign to the stream processor. You can use Name to manage the
// stream processor. For example, you can get the current status of the stream
// processor by calling DescribeStreamProcessor. Name is idempotent.
//
// This member is required.
Name *string
// Kinesis data stream stream to which Amazon Rekognition Video puts the analysis
// results. If you are using the AWS CLI, the parameter name is
// StreamProcessorOutput.
//
// This member is required.
Output *types.StreamProcessorOutput
// ARN of the IAM role that allows access to the stream processor.
//
// This member is required.
RoleArn *string
// Face recognition input parameters to be used by the stream processor. Includes
// the collection to use for face recognition and the face attributes to detect.
//
// This member is required.
Settings *types.StreamProcessorSettings
// A set of tags (key-value pairs) that you want to attach to the stream processor.
Tags map[string]string
noSmithyDocumentSerde
}
type CreateStreamProcessorOutput struct {
// ARN for the newly create stream processor.
StreamProcessorArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateStreamProcessorMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateStreamProcessor{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateStreamProcessor{}, 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 = addOpCreateStreamProcessorValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateStreamProcessor(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_opCreateStreamProcessor(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "rekognition",
OperationName: "CreateStreamProcessor",
}
}