aws-sdk-kinesisvideo 1.42.0 → 1.44.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37b15a6a5e103f647a447918dcca1dbea04af6cb4b59a93eadeb619823ea384d
4
- data.tar.gz: b3136ea4288365d281afc30c9fe537f081bc4f0470a65e5f84adc6048400ea8e
3
+ metadata.gz: ca1533e1296d690b1e1c8aa14f50ffeee67187d490cc0c6c52a0fa9017f69552
4
+ data.tar.gz: d70d1f5a003b1b7ec20727204972a9f13a942dd39d682aa749836ad73433b457
5
5
  SHA512:
6
- metadata.gz: 5c347ea27526bac42519027f72cf6fa35c63119ae48e353ad1b7a440f1424d520ee6f5cba0f80ddcc1a08eb1c193bf12ce0ba3756c4adeeea32aefce4ee33c93
7
- data.tar.gz: 0a44a6e0c03a3b049449981a89ec6fe4da4046015a1e04aaeae9a839f9244c5541781ac5491131b7b937d1fb525399d2cfdc555acfe95e70c59db0976647a733
6
+ metadata.gz: 522053cfb4a8aa651157da1449edcef69fd8251b3fe0e725a361fff71034a47cb5ef0992b1efd9d6a527195da9ce789a48459f96784dc65306a121eb03c01aef
7
+ data.tar.gz: 8fa3049ae9d0e29e6c101f63e845b090797f5f38c786bc6c96f47229e4c6fc9062294b063dc3c96cf8ab71cbbd200f4eea4cd9a4c6d8192af287263f5454f9ff
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.44.0 (2022-12-12)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for public preview of Kinesis Video Stream at Edge enabling customers to provide configuration for the Kinesis Video Stream EdgeAgent running on an on-premise IoT device. Customers can now locally record from cameras and stream videos to the cloud on configured schedule.
8
+
9
+ 1.43.0 (2022-10-25)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
4
14
  1.42.0 (2022-05-03)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.42.0
1
+ 1.44.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:kinesisvideo)
@@ -79,8 +79,9 @@ module Aws::KinesisVideo
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::KinesisVideo::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::KinesisVideo
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::KinesisVideo
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::KinesisVideo::EndpointProvider] :endpoint_provider
318
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::KinesisVideo::EndpointParameters`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -591,6 +608,64 @@ module Aws::KinesisVideo
591
608
  req.send_request(options)
592
609
  end
593
610
 
611
+ # Describes a stream’s edge configuration that was set using the
612
+ # `StartEdgeConfigurationUpdate` API. Use this API to get the status of
613
+ # the configuration if the configuration is in sync with the Edge Agent.
614
+ #
615
+ # @option params [String] :stream_name
616
+ # The name of the stream whose edge configuration you want to update.
617
+ # Specify either the `StreamName` or the `StreamARN`.
618
+ #
619
+ # @option params [String] :stream_arn
620
+ # The Amazon Resource Name (ARN) of the stream. Specify either the
621
+ # `StreamName`or the `StreamARN`.
622
+ #
623
+ # @return [Types::DescribeEdgeConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
624
+ #
625
+ # * {Types::DescribeEdgeConfigurationOutput#stream_name #stream_name} => String
626
+ # * {Types::DescribeEdgeConfigurationOutput#stream_arn #stream_arn} => String
627
+ # * {Types::DescribeEdgeConfigurationOutput#creation_time #creation_time} => Time
628
+ # * {Types::DescribeEdgeConfigurationOutput#last_updated_time #last_updated_time} => Time
629
+ # * {Types::DescribeEdgeConfigurationOutput#sync_status #sync_status} => String
630
+ # * {Types::DescribeEdgeConfigurationOutput#failed_status_details #failed_status_details} => String
631
+ # * {Types::DescribeEdgeConfigurationOutput#edge_config #edge_config} => Types::EdgeConfig
632
+ #
633
+ # @example Request syntax with placeholder values
634
+ #
635
+ # resp = client.describe_edge_configuration({
636
+ # stream_name: "StreamName",
637
+ # stream_arn: "ResourceARN",
638
+ # })
639
+ #
640
+ # @example Response structure
641
+ #
642
+ # resp.stream_name #=> String
643
+ # resp.stream_arn #=> String
644
+ # resp.creation_time #=> Time
645
+ # resp.last_updated_time #=> Time
646
+ # resp.sync_status #=> String, one of "SYNCING", "ACKNOWLEDGED", "IN_SYNC", "SYNC_FAILED", "DELETING", "DELETE_FAILED"
647
+ # resp.failed_status_details #=> String
648
+ # resp.edge_config.hub_device_arn #=> String
649
+ # resp.edge_config.recorder_config.media_source_config.media_uri_secret_arn #=> String
650
+ # resp.edge_config.recorder_config.media_source_config.media_uri_type #=> String, one of "RTSP_URI", "FILE_URI"
651
+ # resp.edge_config.recorder_config.schedule_config.schedule_expression #=> String
652
+ # resp.edge_config.recorder_config.schedule_config.duration_in_seconds #=> Integer
653
+ # resp.edge_config.uploader_config.schedule_config.schedule_expression #=> String
654
+ # resp.edge_config.uploader_config.schedule_config.duration_in_seconds #=> Integer
655
+ # resp.edge_config.deletion_config.edge_retention_in_hours #=> Integer
656
+ # resp.edge_config.deletion_config.local_size_config.max_local_media_size_in_mb #=> Integer
657
+ # resp.edge_config.deletion_config.local_size_config.strategy_on_full_size #=> String, one of "DELETE_OLDEST_MEDIA", "DENY_NEW_MEDIA"
658
+ # resp.edge_config.deletion_config.delete_after_upload #=> Boolean
659
+ #
660
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/DescribeEdgeConfiguration AWS API Documentation
661
+ #
662
+ # @overload describe_edge_configuration(params = {})
663
+ # @param [Hash] params ({})
664
+ def describe_edge_configuration(params = {}, options = {})
665
+ req = build_request(:describe_edge_configuration, params)
666
+ req.send_request(options)
667
+ end
668
+
594
669
  # Gets the `ImageGenerationConfiguration` for a given Kinesis video
595
670
  # stream.
596
671
  #
@@ -1058,6 +1133,110 @@ module Aws::KinesisVideo
1058
1133
  req.send_request(options)
1059
1134
  end
1060
1135
 
1136
+ # An asynchronous API that updates a stream’s existing edge
1137
+ # configuration. If this API is invoked for the first time, a new edge
1138
+ # configuration will be created for the stream, and the sync status will
1139
+ # be set to `SYNCING`.
1140
+ #
1141
+ # The Kinesis Video Stream will sync the stream’s edge configuration
1142
+ # with the Edge Agent IoT Greengrass component that runs on an IoT Hub
1143
+ # Device setup at your premise. The time to sync can vary and depends on
1144
+ # the connectivity of the Hub Device. The `SyncStatus` will be updated
1145
+ # as the edge configuration is acknowledged, and synced with the Edge
1146
+ # Agent. You will have to wait for the sync status to reach a terminal
1147
+ # state such as: `IN_SYNC` and `SYNC_FAILED`, before using this API
1148
+ # again.
1149
+ #
1150
+ # If you invoke this API during the syncing process, a
1151
+ # `ResourceInUseException` will be thrown. The connectivity of the
1152
+ # stream's edge configuration and the Edge Agent will be retried for 15
1153
+ # minutes. After 15 minutes, the status will transition into the
1154
+ # `SYNC_FAILED` state.
1155
+ #
1156
+ # @option params [String] :stream_name
1157
+ # The name of the stream whose edge configuration you want to update.
1158
+ # Specify either the `StreamName` or the `StreamARN`.
1159
+ #
1160
+ # @option params [String] :stream_arn
1161
+ # The Amazon Resource Name (ARN) of the stream. Specify either the
1162
+ # `StreamName` or the `StreamARN`.
1163
+ #
1164
+ # @option params [required, Types::EdgeConfig] :edge_config
1165
+ # The edge configuration details required to invoke the update process.
1166
+ #
1167
+ # @return [Types::StartEdgeConfigurationUpdateOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1168
+ #
1169
+ # * {Types::StartEdgeConfigurationUpdateOutput#stream_name #stream_name} => String
1170
+ # * {Types::StartEdgeConfigurationUpdateOutput#stream_arn #stream_arn} => String
1171
+ # * {Types::StartEdgeConfigurationUpdateOutput#creation_time #creation_time} => Time
1172
+ # * {Types::StartEdgeConfigurationUpdateOutput#last_updated_time #last_updated_time} => Time
1173
+ # * {Types::StartEdgeConfigurationUpdateOutput#sync_status #sync_status} => String
1174
+ # * {Types::StartEdgeConfigurationUpdateOutput#failed_status_details #failed_status_details} => String
1175
+ # * {Types::StartEdgeConfigurationUpdateOutput#edge_config #edge_config} => Types::EdgeConfig
1176
+ #
1177
+ # @example Request syntax with placeholder values
1178
+ #
1179
+ # resp = client.start_edge_configuration_update({
1180
+ # stream_name: "StreamName",
1181
+ # stream_arn: "ResourceARN",
1182
+ # edge_config: { # required
1183
+ # hub_device_arn: "HubDeviceArn", # required
1184
+ # recorder_config: { # required
1185
+ # media_source_config: { # required
1186
+ # media_uri_secret_arn: "MediaUriSecretArn", # required
1187
+ # media_uri_type: "RTSP_URI", # required, accepts RTSP_URI, FILE_URI
1188
+ # },
1189
+ # schedule_config: {
1190
+ # schedule_expression: "ScheduleExpression", # required
1191
+ # duration_in_seconds: 1, # required
1192
+ # },
1193
+ # },
1194
+ # uploader_config: {
1195
+ # schedule_config: { # required
1196
+ # schedule_expression: "ScheduleExpression", # required
1197
+ # duration_in_seconds: 1, # required
1198
+ # },
1199
+ # },
1200
+ # deletion_config: {
1201
+ # edge_retention_in_hours: 1,
1202
+ # local_size_config: {
1203
+ # max_local_media_size_in_mb: 1,
1204
+ # strategy_on_full_size: "DELETE_OLDEST_MEDIA", # accepts DELETE_OLDEST_MEDIA, DENY_NEW_MEDIA
1205
+ # },
1206
+ # delete_after_upload: false,
1207
+ # },
1208
+ # },
1209
+ # })
1210
+ #
1211
+ # @example Response structure
1212
+ #
1213
+ # resp.stream_name #=> String
1214
+ # resp.stream_arn #=> String
1215
+ # resp.creation_time #=> Time
1216
+ # resp.last_updated_time #=> Time
1217
+ # resp.sync_status #=> String, one of "SYNCING", "ACKNOWLEDGED", "IN_SYNC", "SYNC_FAILED", "DELETING", "DELETE_FAILED"
1218
+ # resp.failed_status_details #=> String
1219
+ # resp.edge_config.hub_device_arn #=> String
1220
+ # resp.edge_config.recorder_config.media_source_config.media_uri_secret_arn #=> String
1221
+ # resp.edge_config.recorder_config.media_source_config.media_uri_type #=> String, one of "RTSP_URI", "FILE_URI"
1222
+ # resp.edge_config.recorder_config.schedule_config.schedule_expression #=> String
1223
+ # resp.edge_config.recorder_config.schedule_config.duration_in_seconds #=> Integer
1224
+ # resp.edge_config.uploader_config.schedule_config.schedule_expression #=> String
1225
+ # resp.edge_config.uploader_config.schedule_config.duration_in_seconds #=> Integer
1226
+ # resp.edge_config.deletion_config.edge_retention_in_hours #=> Integer
1227
+ # resp.edge_config.deletion_config.local_size_config.max_local_media_size_in_mb #=> Integer
1228
+ # resp.edge_config.deletion_config.local_size_config.strategy_on_full_size #=> String, one of "DELETE_OLDEST_MEDIA", "DENY_NEW_MEDIA"
1229
+ # resp.edge_config.deletion_config.delete_after_upload #=> Boolean
1230
+ #
1231
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/StartEdgeConfigurationUpdate AWS API Documentation
1232
+ #
1233
+ # @overload start_edge_configuration_update(params = {})
1234
+ # @param [Hash] params ({})
1235
+ def start_edge_configuration_update(params = {}, options = {})
1236
+ req = build_request(:start_edge_configuration_update, params)
1237
+ req.send_request(options)
1238
+ end
1239
+
1061
1240
  # Adds one or more tags to a signaling channel. A *tag* is a key-value
1062
1241
  # pair (the value is optional) that you can define and assign to Amazon
1063
1242
  # Web Services resources. If you specify a tag that already exists, the
@@ -1497,7 +1676,7 @@ module Aws::KinesisVideo
1497
1676
  params: params,
1498
1677
  config: config)
1499
1678
  context[:gem_name] = 'aws-sdk-kinesisvideo'
1500
- context[:gem_version] = '1.42.0'
1679
+ context[:gem_version] = '1.44.0'
1501
1680
  Seahorse::Client::Request.new(handlers, context)
1502
1681
  end
1503
1682
 
@@ -34,10 +34,14 @@ module Aws::KinesisVideo
34
34
  DataEndpoint = Shapes::StringShape.new(name: 'DataEndpoint')
35
35
  DataRetentionChangeInHours = Shapes::IntegerShape.new(name: 'DataRetentionChangeInHours')
36
36
  DataRetentionInHours = Shapes::IntegerShape.new(name: 'DataRetentionInHours')
37
+ DeleteAfterUpload = Shapes::BooleanShape.new(name: 'DeleteAfterUpload')
37
38
  DeleteSignalingChannelInput = Shapes::StructureShape.new(name: 'DeleteSignalingChannelInput')
38
39
  DeleteSignalingChannelOutput = Shapes::StructureShape.new(name: 'DeleteSignalingChannelOutput')
39
40
  DeleteStreamInput = Shapes::StructureShape.new(name: 'DeleteStreamInput')
40
41
  DeleteStreamOutput = Shapes::StructureShape.new(name: 'DeleteStreamOutput')
42
+ DeletionConfig = Shapes::StructureShape.new(name: 'DeletionConfig')
43
+ DescribeEdgeConfigurationInput = Shapes::StructureShape.new(name: 'DescribeEdgeConfigurationInput')
44
+ DescribeEdgeConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeEdgeConfigurationOutput')
41
45
  DescribeImageGenerationConfigurationInput = Shapes::StructureShape.new(name: 'DescribeImageGenerationConfigurationInput')
42
46
  DescribeImageGenerationConfigurationOutput = Shapes::StructureShape.new(name: 'DescribeImageGenerationConfigurationOutput')
43
47
  DescribeNotificationConfigurationInput = Shapes::StructureShape.new(name: 'DescribeNotificationConfigurationInput')
@@ -50,7 +54,11 @@ module Aws::KinesisVideo
50
54
  DestinationUri = Shapes::StringShape.new(name: 'DestinationUri')
51
55
  DeviceName = Shapes::StringShape.new(name: 'DeviceName')
52
56
  DeviceStreamLimitExceededException = Shapes::StructureShape.new(name: 'DeviceStreamLimitExceededException')
57
+ DurationInSeconds = Shapes::IntegerShape.new(name: 'DurationInSeconds')
58
+ EdgeConfig = Shapes::StructureShape.new(name: 'EdgeConfig')
59
+ EdgeRetentionInHours = Shapes::IntegerShape.new(name: 'EdgeRetentionInHours')
53
60
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
61
+ FailedStatusDetails = Shapes::StringShape.new(name: 'FailedStatusDetails')
54
62
  Format = Shapes::StringShape.new(name: 'Format')
55
63
  FormatConfig = Shapes::MapShape.new(name: 'FormatConfig')
56
64
  FormatConfigKey = Shapes::StringShape.new(name: 'FormatConfigKey')
@@ -60,6 +68,7 @@ module Aws::KinesisVideo
60
68
  GetSignalingChannelEndpointInput = Shapes::StructureShape.new(name: 'GetSignalingChannelEndpointInput')
61
69
  GetSignalingChannelEndpointOutput = Shapes::StructureShape.new(name: 'GetSignalingChannelEndpointOutput')
62
70
  HeightPixels = Shapes::IntegerShape.new(name: 'HeightPixels')
71
+ HubDeviceArn = Shapes::StringShape.new(name: 'HubDeviceArn')
63
72
  ImageGenerationConfiguration = Shapes::StructureShape.new(name: 'ImageGenerationConfiguration')
64
73
  ImageGenerationDestinationConfig = Shapes::StructureShape.new(name: 'ImageGenerationDestinationConfig')
65
74
  ImageSelectorType = Shapes::StringShape.new(name: 'ImageSelectorType')
@@ -77,13 +86,19 @@ module Aws::KinesisVideo
77
86
  ListTagsForResourceOutput = Shapes::StructureShape.new(name: 'ListTagsForResourceOutput')
78
87
  ListTagsForStreamInput = Shapes::StructureShape.new(name: 'ListTagsForStreamInput')
79
88
  ListTagsForStreamOutput = Shapes::StructureShape.new(name: 'ListTagsForStreamOutput')
89
+ LocalSizeConfig = Shapes::StructureShape.new(name: 'LocalSizeConfig')
90
+ MaxLocalMediaSizeInMB = Shapes::IntegerShape.new(name: 'MaxLocalMediaSizeInMB')
91
+ MediaSourceConfig = Shapes::StructureShape.new(name: 'MediaSourceConfig')
80
92
  MediaType = Shapes::StringShape.new(name: 'MediaType')
93
+ MediaUriSecretArn = Shapes::StringShape.new(name: 'MediaUriSecretArn')
94
+ MediaUriType = Shapes::StringShape.new(name: 'MediaUriType')
81
95
  MessageTtlSeconds = Shapes::IntegerShape.new(name: 'MessageTtlSeconds')
82
96
  NextToken = Shapes::StringShape.new(name: 'NextToken')
83
97
  NoDataRetentionException = Shapes::StructureShape.new(name: 'NoDataRetentionException')
84
98
  NotAuthorizedException = Shapes::StructureShape.new(name: 'NotAuthorizedException')
85
99
  NotificationConfiguration = Shapes::StructureShape.new(name: 'NotificationConfiguration')
86
100
  NotificationDestinationConfig = Shapes::StructureShape.new(name: 'NotificationDestinationConfig')
101
+ RecorderConfig = Shapes::StructureShape.new(name: 'RecorderConfig')
87
102
  ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
88
103
  ResourceEndpoint = Shapes::StringShape.new(name: 'ResourceEndpoint')
89
104
  ResourceEndpointList = Shapes::ListShape.new(name: 'ResourceEndpointList')
@@ -92,13 +107,20 @@ module Aws::KinesisVideo
92
107
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
93
108
  ResourceTags = Shapes::MapShape.new(name: 'ResourceTags')
94
109
  SamplingInterval = Shapes::IntegerShape.new(name: 'SamplingInterval')
110
+ ScheduleConfig = Shapes::StructureShape.new(name: 'ScheduleConfig')
111
+ ScheduleExpression = Shapes::StringShape.new(name: 'ScheduleExpression')
95
112
  SingleMasterChannelEndpointConfiguration = Shapes::StructureShape.new(name: 'SingleMasterChannelEndpointConfiguration')
96
113
  SingleMasterConfiguration = Shapes::StructureShape.new(name: 'SingleMasterConfiguration')
114
+ StartEdgeConfigurationUpdateInput = Shapes::StructureShape.new(name: 'StartEdgeConfigurationUpdateInput')
115
+ StartEdgeConfigurationUpdateOutput = Shapes::StructureShape.new(name: 'StartEdgeConfigurationUpdateOutput')
97
116
  Status = Shapes::StringShape.new(name: 'Status')
117
+ StrategyOnFullSize = Shapes::StringShape.new(name: 'StrategyOnFullSize')
118
+ StreamEdgeConfigurationNotFoundException = Shapes::StructureShape.new(name: 'StreamEdgeConfigurationNotFoundException')
98
119
  StreamInfo = Shapes::StructureShape.new(name: 'StreamInfo')
99
120
  StreamInfoList = Shapes::ListShape.new(name: 'StreamInfoList')
100
121
  StreamName = Shapes::StringShape.new(name: 'StreamName')
101
122
  StreamNameCondition = Shapes::StructureShape.new(name: 'StreamNameCondition')
123
+ SyncStatus = Shapes::StringShape.new(name: 'SyncStatus')
102
124
  Tag = Shapes::StructureShape.new(name: 'Tag')
103
125
  TagKey = Shapes::StringShape.new(name: 'TagKey')
104
126
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
@@ -126,6 +148,7 @@ module Aws::KinesisVideo
126
148
  UpdateSignalingChannelOutput = Shapes::StructureShape.new(name: 'UpdateSignalingChannelOutput')
127
149
  UpdateStreamInput = Shapes::StructureShape.new(name: 'UpdateStreamInput')
128
150
  UpdateStreamOutput = Shapes::StructureShape.new(name: 'UpdateStreamOutput')
151
+ UploaderConfig = Shapes::StructureShape.new(name: 'UploaderConfig')
129
152
  Version = Shapes::StringShape.new(name: 'Version')
130
153
  VersionMismatchException = Shapes::StructureShape.new(name: 'VersionMismatchException')
131
154
  WidthPixels = Shapes::IntegerShape.new(name: 'WidthPixels')
@@ -189,6 +212,24 @@ module Aws::KinesisVideo
189
212
 
190
213
  DeleteStreamOutput.struct_class = Types::DeleteStreamOutput
191
214
 
215
+ DeletionConfig.add_member(:edge_retention_in_hours, Shapes::ShapeRef.new(shape: EdgeRetentionInHours, location_name: "EdgeRetentionInHours"))
216
+ DeletionConfig.add_member(:local_size_config, Shapes::ShapeRef.new(shape: LocalSizeConfig, location_name: "LocalSizeConfig"))
217
+ DeletionConfig.add_member(:delete_after_upload, Shapes::ShapeRef.new(shape: DeleteAfterUpload, location_name: "DeleteAfterUpload"))
218
+ DeletionConfig.struct_class = Types::DeletionConfig
219
+
220
+ DescribeEdgeConfigurationInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
221
+ DescribeEdgeConfigurationInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
222
+ DescribeEdgeConfigurationInput.struct_class = Types::DescribeEdgeConfigurationInput
223
+
224
+ DescribeEdgeConfigurationOutput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
225
+ DescribeEdgeConfigurationOutput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
226
+ DescribeEdgeConfigurationOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationTime"))
227
+ DescribeEdgeConfigurationOutput.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedTime"))
228
+ DescribeEdgeConfigurationOutput.add_member(:sync_status, Shapes::ShapeRef.new(shape: SyncStatus, location_name: "SyncStatus"))
229
+ DescribeEdgeConfigurationOutput.add_member(:failed_status_details, Shapes::ShapeRef.new(shape: FailedStatusDetails, location_name: "FailedStatusDetails"))
230
+ DescribeEdgeConfigurationOutput.add_member(:edge_config, Shapes::ShapeRef.new(shape: EdgeConfig, location_name: "EdgeConfig"))
231
+ DescribeEdgeConfigurationOutput.struct_class = Types::DescribeEdgeConfigurationOutput
232
+
192
233
  DescribeImageGenerationConfigurationInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
193
234
  DescribeImageGenerationConfigurationInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
194
235
  DescribeImageGenerationConfigurationInput.struct_class = Types::DescribeImageGenerationConfigurationInput
@@ -220,6 +261,12 @@ module Aws::KinesisVideo
220
261
  DeviceStreamLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
221
262
  DeviceStreamLimitExceededException.struct_class = Types::DeviceStreamLimitExceededException
222
263
 
264
+ EdgeConfig.add_member(:hub_device_arn, Shapes::ShapeRef.new(shape: HubDeviceArn, required: true, location_name: "HubDeviceArn"))
265
+ EdgeConfig.add_member(:recorder_config, Shapes::ShapeRef.new(shape: RecorderConfig, required: true, location_name: "RecorderConfig"))
266
+ EdgeConfig.add_member(:uploader_config, Shapes::ShapeRef.new(shape: UploaderConfig, location_name: "UploaderConfig"))
267
+ EdgeConfig.add_member(:deletion_config, Shapes::ShapeRef.new(shape: DeletionConfig, location_name: "DeletionConfig"))
268
+ EdgeConfig.struct_class = Types::EdgeConfig
269
+
223
270
  FormatConfig.key = Shapes::ShapeRef.new(shape: FormatConfigKey)
224
271
  FormatConfig.value = Shapes::ShapeRef.new(shape: FormatConfigValue)
225
272
 
@@ -298,6 +345,14 @@ module Aws::KinesisVideo
298
345
  ListTagsForStreamOutput.add_member(:tags, Shapes::ShapeRef.new(shape: ResourceTags, location_name: "Tags"))
299
346
  ListTagsForStreamOutput.struct_class = Types::ListTagsForStreamOutput
300
347
 
348
+ LocalSizeConfig.add_member(:max_local_media_size_in_mb, Shapes::ShapeRef.new(shape: MaxLocalMediaSizeInMB, location_name: "MaxLocalMediaSizeInMB"))
349
+ LocalSizeConfig.add_member(:strategy_on_full_size, Shapes::ShapeRef.new(shape: StrategyOnFullSize, location_name: "StrategyOnFullSize"))
350
+ LocalSizeConfig.struct_class = Types::LocalSizeConfig
351
+
352
+ MediaSourceConfig.add_member(:media_uri_secret_arn, Shapes::ShapeRef.new(shape: MediaUriSecretArn, required: true, location_name: "MediaUriSecretArn"))
353
+ MediaSourceConfig.add_member(:media_uri_type, Shapes::ShapeRef.new(shape: MediaUriType, required: true, location_name: "MediaUriType"))
354
+ MediaSourceConfig.struct_class = Types::MediaSourceConfig
355
+
301
356
  NoDataRetentionException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
302
357
  NoDataRetentionException.struct_class = Types::NoDataRetentionException
303
358
 
@@ -311,6 +366,10 @@ module Aws::KinesisVideo
311
366
  NotificationDestinationConfig.add_member(:uri, Shapes::ShapeRef.new(shape: DestinationUri, required: true, location_name: "Uri"))
312
367
  NotificationDestinationConfig.struct_class = Types::NotificationDestinationConfig
313
368
 
369
+ RecorderConfig.add_member(:media_source_config, Shapes::ShapeRef.new(shape: MediaSourceConfig, required: true, location_name: "MediaSourceConfig"))
370
+ RecorderConfig.add_member(:schedule_config, Shapes::ShapeRef.new(shape: ScheduleConfig, location_name: "ScheduleConfig"))
371
+ RecorderConfig.struct_class = Types::RecorderConfig
372
+
314
373
  ResourceEndpointList.member = Shapes::ShapeRef.new(shape: ResourceEndpointListItem)
315
374
 
316
375
  ResourceEndpointListItem.add_member(:protocol, Shapes::ShapeRef.new(shape: ChannelProtocol, location_name: "Protocol"))
@@ -326,6 +385,10 @@ module Aws::KinesisVideo
326
385
  ResourceTags.key = Shapes::ShapeRef.new(shape: TagKey)
327
386
  ResourceTags.value = Shapes::ShapeRef.new(shape: TagValue)
328
387
 
388
+ ScheduleConfig.add_member(:schedule_expression, Shapes::ShapeRef.new(shape: ScheduleExpression, required: true, location_name: "ScheduleExpression"))
389
+ ScheduleConfig.add_member(:duration_in_seconds, Shapes::ShapeRef.new(shape: DurationInSeconds, required: true, location_name: "DurationInSeconds"))
390
+ ScheduleConfig.struct_class = Types::ScheduleConfig
391
+
329
392
  SingleMasterChannelEndpointConfiguration.add_member(:protocols, Shapes::ShapeRef.new(shape: ListOfProtocols, location_name: "Protocols"))
330
393
  SingleMasterChannelEndpointConfiguration.add_member(:role, Shapes::ShapeRef.new(shape: ChannelRole, location_name: "Role"))
331
394
  SingleMasterChannelEndpointConfiguration.struct_class = Types::SingleMasterChannelEndpointConfiguration
@@ -333,6 +396,23 @@ module Aws::KinesisVideo
333
396
  SingleMasterConfiguration.add_member(:message_ttl_seconds, Shapes::ShapeRef.new(shape: MessageTtlSeconds, location_name: "MessageTtlSeconds"))
334
397
  SingleMasterConfiguration.struct_class = Types::SingleMasterConfiguration
335
398
 
399
+ StartEdgeConfigurationUpdateInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
400
+ StartEdgeConfigurationUpdateInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
401
+ StartEdgeConfigurationUpdateInput.add_member(:edge_config, Shapes::ShapeRef.new(shape: EdgeConfig, required: true, location_name: "EdgeConfig"))
402
+ StartEdgeConfigurationUpdateInput.struct_class = Types::StartEdgeConfigurationUpdateInput
403
+
404
+ StartEdgeConfigurationUpdateOutput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
405
+ StartEdgeConfigurationUpdateOutput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
406
+ StartEdgeConfigurationUpdateOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreationTime"))
407
+ StartEdgeConfigurationUpdateOutput.add_member(:last_updated_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdatedTime"))
408
+ StartEdgeConfigurationUpdateOutput.add_member(:sync_status, Shapes::ShapeRef.new(shape: SyncStatus, location_name: "SyncStatus"))
409
+ StartEdgeConfigurationUpdateOutput.add_member(:failed_status_details, Shapes::ShapeRef.new(shape: FailedStatusDetails, location_name: "FailedStatusDetails"))
410
+ StartEdgeConfigurationUpdateOutput.add_member(:edge_config, Shapes::ShapeRef.new(shape: EdgeConfig, location_name: "EdgeConfig"))
411
+ StartEdgeConfigurationUpdateOutput.struct_class = Types::StartEdgeConfigurationUpdateOutput
412
+
413
+ StreamEdgeConfigurationNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
414
+ StreamEdgeConfigurationNotFoundException.struct_class = Types::StreamEdgeConfigurationNotFoundException
415
+
336
416
  StreamInfo.add_member(:device_name, Shapes::ShapeRef.new(shape: DeviceName, location_name: "DeviceName"))
337
417
  StreamInfo.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "StreamName"))
338
418
  StreamInfo.add_member(:stream_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "StreamARN"))
@@ -428,6 +508,9 @@ module Aws::KinesisVideo
428
508
 
429
509
  UpdateStreamOutput.struct_class = Types::UpdateStreamOutput
430
510
 
511
+ UploaderConfig.add_member(:schedule_config, Shapes::ShapeRef.new(shape: ScheduleConfig, required: true, location_name: "ScheduleConfig"))
512
+ UploaderConfig.struct_class = Types::UploaderConfig
513
+
431
514
  VersionMismatchException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
432
515
  VersionMismatchException.struct_class = Types::VersionMismatchException
433
516
 
@@ -505,6 +588,19 @@ module Aws::KinesisVideo
505
588
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
506
589
  end)
507
590
 
591
+ api.add_operation(:describe_edge_configuration, Seahorse::Model::Operation.new.tap do |o|
592
+ o.name = "DescribeEdgeConfiguration"
593
+ o.http_method = "POST"
594
+ o.http_request_uri = "/describeEdgeConfiguration"
595
+ o.input = Shapes::ShapeRef.new(shape: DescribeEdgeConfigurationInput)
596
+ o.output = Shapes::ShapeRef.new(shape: DescribeEdgeConfigurationOutput)
597
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
598
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
599
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
600
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
601
+ o.errors << Shapes::ShapeRef.new(shape: StreamEdgeConfigurationNotFoundException)
602
+ end)
603
+
508
604
  api.add_operation(:describe_image_generation_configuration, Seahorse::Model::Operation.new.tap do |o|
509
605
  o.name = "DescribeImageGenerationConfiguration"
510
606
  o.http_method = "POST"
@@ -636,6 +732,20 @@ module Aws::KinesisVideo
636
732
  o.errors << Shapes::ShapeRef.new(shape: InvalidResourceFormatException)
637
733
  end)
638
734
 
735
+ api.add_operation(:start_edge_configuration_update, Seahorse::Model::Operation.new.tap do |o|
736
+ o.name = "StartEdgeConfigurationUpdate"
737
+ o.http_method = "POST"
738
+ o.http_request_uri = "/startEdgeConfigurationUpdate"
739
+ o.input = Shapes::ShapeRef.new(shape: StartEdgeConfigurationUpdateInput)
740
+ o.output = Shapes::ShapeRef.new(shape: StartEdgeConfigurationUpdateOutput)
741
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
742
+ o.errors << Shapes::ShapeRef.new(shape: ClientLimitExceededException)
743
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
744
+ o.errors << Shapes::ShapeRef.new(shape: NoDataRetentionException)
745
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
746
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
747
+ end)
748
+
639
749
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
640
750
  o.name = "TagResource"
641
751
  o.http_method = "POST"
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::KinesisVideo
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ if self[:region].nil?
54
+ raise ArgumentError, "Missing required EndpointParameter: :region"
55
+ end
56
+ self[:use_dual_stack] = options[:use_dual_stack]
57
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
58
+ if self[:use_dual_stack].nil?
59
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
60
+ end
61
+ self[:use_fips] = options[:use_fips]
62
+ self[:use_fips] = false if self[:use_fips].nil?
63
+ if self[:use_fips].nil?
64
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
65
+ end
66
+ self[:endpoint] = options[:endpoint]
67
+ end
68
+ end
69
+ end