aws-sdk-kinesisvideomedia 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: []