aws-sdk-kinesisvideomedia 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: e2fe24eaae846525e25174355d1552d60d2dd9f4
4
+ data.tar.gz: e6746992735607cdfc0e6e17fb641613faa64eea
5
+ SHA512:
6
+ metadata.gz: 50d62ad19bbc73345d9c0beec96aaccc3105955c5feeff9d3174b74763ea673edca1eebe75851d1fe03e050730332ea049bf893f3f5c0f146effc77368860910
7
+ data.tar.gz: f3cdce76cd65d98346783d5451d353bb53d584689bee76e1fb2d92a57813d712899c0c05e27a248ef8976855370b2d16d07158481edd75b08626421587a7e00f
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-kinesisvideomedia/types'
12
+ require_relative 'aws-sdk-kinesisvideomedia/client_api'
13
+ require_relative 'aws-sdk-kinesisvideomedia/client'
14
+ require_relative 'aws-sdk-kinesisvideomedia/errors'
15
+ require_relative 'aws-sdk-kinesisvideomedia/resource'
16
+ require_relative 'aws-sdk-kinesisvideomedia/customizations'
17
+
18
+ # This module provides support for Amazon Kinesis Video Streams Media. This module is available in the
19
+ # `aws-sdk-kinesisvideomedia` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon Kinesis Video Streams Media all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::KinesisVideoMedia::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::KinesisVideoMedia
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,251 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:kinesisvideomedia)
26
+
27
+ module Aws::KinesisVideoMedia
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :kinesisvideomedia
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestJson)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Integer] :retry_limit (3)
119
+ # The maximum number of times to retry failed requests. Only
120
+ # ~ 500 level server errors and certain ~ 400 level client errors
121
+ # are retried. Generally, these are throttling errors, data
122
+ # checksum errors, networking errors, timeout errors and auth
123
+ # errors from expired credentials.
124
+ #
125
+ # @option options [String] :secret_access_key
126
+ #
127
+ # @option options [String] :session_token
128
+ #
129
+ # @option options [Boolean] :stub_responses (false)
130
+ # Causes the client to return stubbed responses. By default
131
+ # fake responses are generated and returned. You can specify
132
+ # the response data to return or errors to raise by calling
133
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
134
+ #
135
+ # ** Please note ** When response stubbing is enabled, no HTTP
136
+ # requests are made, and retries are disabled.
137
+ #
138
+ # @option options [Boolean] :validate_params (true)
139
+ # When `true`, request parameters are validated before
140
+ # sending the request.
141
+ #
142
+ def initialize(*args)
143
+ super
144
+ end
145
+
146
+ # @!group API Operations
147
+
148
+ # Use this API to retrieve media content from a Kinesis video stream. In
149
+ # the request, you identify stream name or stream Amazon Resource Name
150
+ # (ARN), and the starting chunk. Kinesis Video Streams then returns a
151
+ # stream of chunks in order by fragment number.
152
+ #
153
+ # <note markdown="1"> You must first call the `GetDataEndpoint` API to get an endpoint to
154
+ # which you can then send the `GetMedia` requests.
155
+ #
156
+ # </note>
157
+ #
158
+ # When you put media data (fragments) on a stream, Kinesis Video Streams
159
+ # stores each incoming fragment and related metadata in what is called a
160
+ # "chunk." For more information, see . The `GetMedia` API returns a
161
+ # stream of these chunks starting from the chunk that you specify in the
162
+ # request.
163
+ #
164
+ # The following limits apply when using the `GetMedia` API:
165
+ #
166
+ # * A client can call `GetMedia` up to five times per second per stream.
167
+ #
168
+ # * Kinesis Video Streams sends media data at a rate of up to 25
169
+ # megabytes per second (or 200 megabits per second) during a
170
+ # `GetMedia` session.
171
+ #
172
+ # @option params [String] :stream_name
173
+ # The Kinesis video stream name from where you want to get the media
174
+ # content. If you don't specify the `streamName`, you must specify the
175
+ # `streamARN`.
176
+ #
177
+ # @option params [String] :stream_arn
178
+ # The ARN of the stream from where you want to get the media content. If
179
+ # you don't specify the `streamARN`, you must specify the `streamName`.
180
+ #
181
+ # @option params [required, Types::StartSelector] :start_selector
182
+ # Identifies the starting chunk to get from the specified stream.
183
+ #
184
+ # @return [Types::GetMediaOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
185
+ #
186
+ # * {Types::GetMediaOutput#content_type #content_type} => String
187
+ # * {Types::GetMediaOutput#payload #payload} => IO
188
+ #
189
+ # @example Request syntax with placeholder values
190
+ #
191
+ # resp = client.get_media({
192
+ # stream_name: "StreamName",
193
+ # stream_arn: "ResourceARN",
194
+ # start_selector: { # required
195
+ # start_selector_type: "FRAGMENT_NUMBER", # required, accepts FRAGMENT_NUMBER, SERVER_TIMESTAMP, PRODUCER_TIMESTAMP, NOW, EARLIEST, CONTINUATION_TOKEN
196
+ # after_fragment_number: "FragmentNumberString",
197
+ # start_timestamp: Time.now,
198
+ # continuation_token: "ContinuationToken",
199
+ # },
200
+ # })
201
+ #
202
+ # @example Response structure
203
+ #
204
+ # resp.content_type #=> String
205
+ # resp.payload #=> IO
206
+ #
207
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-media-2017-09-30/GetMedia AWS API Documentation
208
+ #
209
+ # @overload get_media(params = {})
210
+ # @param [Hash] params ({})
211
+ def get_media(params = {}, options = {}, &block)
212
+ req = build_request(:get_media, params)
213
+ req.send_request(options, &block)
214
+ end
215
+
216
+ # @!endgroup
217
+
218
+ # @param params ({})
219
+ # @api private
220
+ def build_request(operation_name, params = {})
221
+ handlers = @handlers.for(operation_name)
222
+ context = Seahorse::Client::RequestContext.new(
223
+ operation_name: operation_name,
224
+ operation: config.api.operation(operation_name),
225
+ client: self,
226
+ params: params,
227
+ config: config)
228
+ context[:gem_name] = 'aws-sdk-kinesisvideomedia'
229
+ context[:gem_version] = '1.0.0'
230
+ Seahorse::Client::Request.new(handlers, context)
231
+ end
232
+
233
+ # @api private
234
+ # @deprecated
235
+ def waiter_names
236
+ []
237
+ end
238
+
239
+ class << self
240
+
241
+ # @api private
242
+ attr_reader :identifier
243
+
244
+ # @api private
245
+ def errors_module
246
+ Errors
247
+ end
248
+
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,79 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::KinesisVideoMedia
9
+ # @api private
10
+ module ClientApi
11
+
12
+ include Seahorse::Model
13
+
14
+ ClientLimitExceededException = Shapes::StructureShape.new(name: 'ClientLimitExceededException')
15
+ ConnectionLimitExceededException = Shapes::StructureShape.new(name: 'ConnectionLimitExceededException')
16
+ ContentType = Shapes::StringShape.new(name: 'ContentType')
17
+ ContinuationToken = Shapes::StringShape.new(name: 'ContinuationToken')
18
+ ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
19
+ FragmentNumberString = Shapes::StringShape.new(name: 'FragmentNumberString')
20
+ GetMediaInput = Shapes::StructureShape.new(name: 'GetMediaInput')
21
+ GetMediaOutput = Shapes::StructureShape.new(name: 'GetMediaOutput')
22
+ InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
23
+ InvalidEndpointException = Shapes::StructureShape.new(name: 'InvalidEndpointException')
24
+ NotAuthorizedException = Shapes::StructureShape.new(name: 'NotAuthorizedException')
25
+ Payload = Shapes::BlobShape.new(name: 'Payload')
26
+ ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
27
+ ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
28
+ StartSelector = Shapes::StructureShape.new(name: 'StartSelector')
29
+ StartSelectorType = Shapes::StringShape.new(name: 'StartSelectorType')
30
+ StreamName = Shapes::StringShape.new(name: 'StreamName')
31
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
32
+
33
+ GetMediaInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
34
+ GetMediaInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
35
+ GetMediaInput.add_member(:start_selector, Shapes::ShapeRef.new(shape: StartSelector, required: true, location_name: "StartSelector"))
36
+ GetMediaInput.struct_class = Types::GetMediaInput
37
+
38
+ GetMediaOutput.add_member(:content_type, Shapes::ShapeRef.new(shape: ContentType, location: "header", location_name: "Content-Type"))
39
+ GetMediaOutput.add_member(:payload, Shapes::ShapeRef.new(shape: Payload, location_name: "Payload"))
40
+ GetMediaOutput.struct_class = Types::GetMediaOutput
41
+ GetMediaOutput[:payload] = :payload
42
+ GetMediaOutput[:payload_member] = GetMediaOutput.member(:payload)
43
+
44
+ StartSelector.add_member(:start_selector_type, Shapes::ShapeRef.new(shape: StartSelectorType, required: true, location_name: "StartSelectorType"))
45
+ StartSelector.add_member(:after_fragment_number, Shapes::ShapeRef.new(shape: FragmentNumberString, location_name: "AfterFragmentNumber"))
46
+ StartSelector.add_member(:start_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTimestamp"))
47
+ StartSelector.add_member(:continuation_token, Shapes::ShapeRef.new(shape: ContinuationToken, location_name: "ContinuationToken"))
48
+ StartSelector.struct_class = Types::StartSelector
49
+
50
+
51
+ # @api private
52
+ API = Seahorse::Model::Api.new.tap do |api|
53
+
54
+ api.version = "2017-09-30"
55
+
56
+ api.metadata = {
57
+ "endpointPrefix" => "kinesisvideo",
58
+ "protocol" => "rest-json",
59
+ "serviceFullName" => "Amazon Kinesis Video Streams Media",
60
+ "signatureVersion" => "v4",
61
+ }
62
+
63
+ api.add_operation(:get_media, Seahorse::Model::Operation.new.tap do |o|
64
+ o.name = "GetMedia"
65
+ o.http_method = "POST"
66
+ o.http_request_uri = "/getMedia"
67
+ o.input = Shapes::ShapeRef.new(shape: GetMediaInput)
68
+ o.output = Shapes::ShapeRef.new(shape: GetMediaOutput)
69
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
70
+ o.errors << Shapes::ShapeRef.new(shape: NotAuthorizedException)
71
+ o.errors << Shapes::ShapeRef.new(shape: InvalidEndpointException)
72
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
73
+ o.errors << Shapes::ShapeRef.new(shape: ConnectionLimitExceededException)
74
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
75
+ end)
76
+ end
77
+
78
+ end
79
+ end
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::KinesisVideoMedia
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::KinesisVideoMedia
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,195 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::KinesisVideoMedia
9
+ module Types
10
+
11
+ # @note When making an API call, you may pass GetMediaInput
12
+ # data as a hash:
13
+ #
14
+ # {
15
+ # stream_name: "StreamName",
16
+ # stream_arn: "ResourceARN",
17
+ # start_selector: { # required
18
+ # start_selector_type: "FRAGMENT_NUMBER", # required, accepts FRAGMENT_NUMBER, SERVER_TIMESTAMP, PRODUCER_TIMESTAMP, NOW, EARLIEST, CONTINUATION_TOKEN
19
+ # after_fragment_number: "FragmentNumberString",
20
+ # start_timestamp: Time.now,
21
+ # continuation_token: "ContinuationToken",
22
+ # },
23
+ # }
24
+ #
25
+ # @!attribute [rw] stream_name
26
+ # The Kinesis video stream name from where you want to get the media
27
+ # content. If you don't specify the `streamName`, you must specify
28
+ # the `streamARN`.
29
+ # @return [String]
30
+ #
31
+ # @!attribute [rw] stream_arn
32
+ # The ARN of the stream from where you want to get the media content.
33
+ # If you don't specify the `streamARN`, you must specify the
34
+ # `streamName`.
35
+ # @return [String]
36
+ #
37
+ # @!attribute [rw] start_selector
38
+ # Identifies the starting chunk to get from the specified stream.
39
+ # @return [Types::StartSelector]
40
+ #
41
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-media-2017-09-30/GetMediaInput AWS API Documentation
42
+ #
43
+ class GetMediaInput < Struct.new(
44
+ :stream_name,
45
+ :stream_arn,
46
+ :start_selector)
47
+ include Aws::Structure
48
+ end
49
+
50
+ # @!attribute [rw] content_type
51
+ # The content type of the requested media.
52
+ # @return [String]
53
+ #
54
+ # @!attribute [rw] payload
55
+ # The payload Kinesis Video Streams returns is a sequence of chunks
56
+ # from the specified stream. For information about the chunks, see .
57
+ # The chunks that Kinesis Video Streams returns in the `GetMedia` call
58
+ # also include the following additional Matroska (MKV) tags:
59
+ #
60
+ # * AWS\_KINESISVIDEO\_CONTINUATION\_TOKEN (UTF-8 string) - In the
61
+ # event your `GetMedia` call terminates, you can use this
62
+ # continuation token in your next request to get the next chunk
63
+ # where the last request terminated.
64
+ #
65
+ # * AWS\_KINESISVIDEO\_MILLIS\_BEHIND\_NOW (UTF-8 string) - Client
66
+ # applications can use this tag value to determine how far behind
67
+ # the chunk returned in the response is from the latest chunk on the
68
+ # stream.
69
+ #
70
+ # * AWS\_KINESISVIDEO\_FRAGMENT\_NUMBER - Fragment number returned in
71
+ # the chunk.
72
+ #
73
+ # * AWS\_KINESISVIDEO\_SERVER\_TIMESTAMP - Server time stamp of the
74
+ # fragment.
75
+ #
76
+ # * AWS\_KINESISVIDEO\_PRODUCER\_TIMESTAMP - Producer time stamp of
77
+ # the fragment.
78
+ #
79
+ # The following tags will be present if an error occurs:
80
+ #
81
+ # * AWS\_KINESISVIDEO\_ERROR\_CODE - String description of an error
82
+ # that caused GetMedia to stop.
83
+ #
84
+ # * AWS\_KINESISVIDEO\_ERROR\_ID: Integer code of the error.
85
+ #
86
+ # The error codes are as follows:
87
+ #
88
+ # * 3002 - Error writing to the stream
89
+ #
90
+ # * 4000 - Requested fragment is not found
91
+ #
92
+ # * 4500 - Access denied for the stream's KMS key
93
+ #
94
+ # * 4501 - Stream's KMS key is disabled
95
+ #
96
+ # * 4502 - Validation error on the Stream's KMS key
97
+ #
98
+ # * 4503 - KMS key specified in the stream is unavailable
99
+ #
100
+ # * 4504 - Invalid usage of the KMS key specified in the stream
101
+ #
102
+ # * 4505 - Invalid state of the KMS key specified in the stream
103
+ #
104
+ # * 4506 - Unable to find the KMS key specified in the stream
105
+ #
106
+ # * 5000 - Internal error
107
+ # @return [IO]
108
+ #
109
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-media-2017-09-30/GetMediaOutput AWS API Documentation
110
+ #
111
+ class GetMediaOutput < Struct.new(
112
+ :content_type,
113
+ :payload)
114
+ include Aws::Structure
115
+ end
116
+
117
+ # Identifies the chunk on the Kinesis video stream where you want the
118
+ # `GetMedia` API to start returning media data. You have the following
119
+ # options to identify the starting chunk:
120
+ #
121
+ # * Choose the latest (or oldest) chunk.
122
+ #
123
+ # * Identify a specific chunk. You can identify a specific chunk either
124
+ # by providing a fragment number or time stamp (server or producer).
125
+ #
126
+ # * Each chunk's metadata includes a continuation token as a Matroska
127
+ # (MKV) tag (`AWS_KINESISVIDEO_CONTINUATION_TOKEN`). If your previous
128
+ # `GetMedia` request terminated, you can use this tag value in your
129
+ # next `GetMedia` request. The API then starts returning chunks
130
+ # starting where the last API ended.
131
+ #
132
+ # @note When making an API call, you may pass StartSelector
133
+ # data as a hash:
134
+ #
135
+ # {
136
+ # start_selector_type: "FRAGMENT_NUMBER", # required, accepts FRAGMENT_NUMBER, SERVER_TIMESTAMP, PRODUCER_TIMESTAMP, NOW, EARLIEST, CONTINUATION_TOKEN
137
+ # after_fragment_number: "FragmentNumberString",
138
+ # start_timestamp: Time.now,
139
+ # continuation_token: "ContinuationToken",
140
+ # }
141
+ #
142
+ # @!attribute [rw] start_selector_type
143
+ # Identifies the fragment on the Kinesis video stream where you want
144
+ # to start getting the data from.
145
+ #
146
+ # * NOW - Start with the latest chunk on the stream.
147
+ #
148
+ # * EARLIEST - Start with earliest available chunk on the stream.
149
+ #
150
+ # * FRAGMENT\_NUMBER - Start with the chunk containing the specific
151
+ # fragment. You must also specify the `StartFragmentNumber`.
152
+ #
153
+ # * PRODUCER\_TIMESTAMP or SERVER\_TIMESTAMP - Start with the chunk
154
+ # containing a fragment with the specified producer or server time
155
+ # stamp. You specify the time stamp by adding `StartTimestamp`.
156
+ #
157
+ # * CONTINUATION\_TOKEN - Read using the specified continuation token.
158
+ #
159
+ # <note markdown="1"> If you choose the NOW, EARLIEST, or CONTINUATION\_TOKEN as the
160
+ # `startSelectorType`, you don't provide any additional information
161
+ # in the `startSelector`.
162
+ #
163
+ # </note>
164
+ # @return [String]
165
+ #
166
+ # @!attribute [rw] after_fragment_number
167
+ # Specifies the fragment number from where you want the `GetMedia` API
168
+ # to start returning the fragments.
169
+ # @return [String]
170
+ #
171
+ # @!attribute [rw] start_timestamp
172
+ # A time stamp value. This value is required if you choose the
173
+ # PRODUCER\_TIMESTAMP or the SERVER\_TIMESTAMP as the
174
+ # `startSelectorType`. The `GetMedia` API then starts with the chunk
175
+ # containing the fragment that has the specified time stamp.
176
+ # @return [Time]
177
+ #
178
+ # @!attribute [rw] continuation_token
179
+ # Continuation token that Kinesis Video Streams returned in the
180
+ # previous `GetMedia` response. The `GetMedia` API then starts with
181
+ # the chunk identified by the continuation token.
182
+ # @return [String]
183
+ #
184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-video-media-2017-09-30/StartSelector AWS API Documentation
185
+ #
186
+ class StartSelector < Struct.new(
187
+ :start_selector_type,
188
+ :after_fragment_number,
189
+ :start_timestamp,
190
+ :continuation_token)
191
+ include Aws::Structure
192
+ end
193
+
194
+ end
195
+ end
metadata ADDED
@@ -0,0 +1,82 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: aws-sdk-kinesisvideomedia
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Amazon Web Services
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-11-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: aws-sdk-core
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: aws-sigv4
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.0'
41
+ description: Official AWS Ruby gem for Amazon Kinesis Video Streams Media (Kinesis
42
+ Video Media). This gem is part of the AWS SDK for Ruby.
43
+ email:
44
+ - trevrowe@amazon.com
45
+ executables: []
46
+ extensions: []
47
+ extra_rdoc_files: []
48
+ files:
49
+ - lib/aws-sdk-kinesisvideomedia.rb
50
+ - lib/aws-sdk-kinesisvideomedia/client.rb
51
+ - lib/aws-sdk-kinesisvideomedia/client_api.rb
52
+ - lib/aws-sdk-kinesisvideomedia/customizations.rb
53
+ - lib/aws-sdk-kinesisvideomedia/errors.rb
54
+ - lib/aws-sdk-kinesisvideomedia/resource.rb
55
+ - lib/aws-sdk-kinesisvideomedia/types.rb
56
+ homepage: http://github.com/aws/aws-sdk-ruby
57
+ licenses:
58
+ - Apache-2.0
59
+ metadata:
60
+ source_code_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-kinesisvideomedia
61
+ changelog_uri: https://github.com/aws/aws-sdk-ruby/tree/master/gems/aws-sdk-kinesisvideomedia/CHANGELOG.md
62
+ post_install_message:
63
+ rdoc_options: []
64
+ require_paths:
65
+ - lib
66
+ required_ruby_version: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ required_rubygems_version: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ requirements: []
77
+ rubyforge_project:
78
+ rubygems_version: 2.5.1
79
+ signing_key:
80
+ specification_version: 4
81
+ summary: AWS SDK for Ruby - Kinesis Video Media
82
+ test_files: []